Quality calculator for viterbi-decoded data using zerostate metrics

Abstract: A quality calculator for Viterbi-decoded data, using zero-state metrics, is provided. The quality calculator for the Viterbi-decoded data includes: a Viterbi decoder (20) which outputs zero-state metrics of input demodulated data, according to four possible transmission rates including a nominal FULL transmission rate and rates of a HALF, a QUARTER and 1/8 of the nominal FULL rate; a register (22) which stores respective zero-state metrics output from the Viterbi decoder (20); and a quality evaluation unit (24) which reads the zero-state metrics stored in the register (22), to evaluate the Viterbi-decoded data based on the zero-state metrics, and which determines the actual transmission rate to be the one among the possible transmission rates which has the least zero-state metrics. Therefore, the zero-state metrics of the demodulated data input to the Viterbi decoder (20) are used as a quality evaluation parameter, so that the quality evaluation can be correctly achieved to avoid errors in the determination of the transmission rate, compared to a quality calculator using a bit error ratio as the quality evaluation parameter.

Description: The present invention relates to a quality calculator for data decoded by a Viterbi decoder using an encoder tail bit in a convolutional coding system, and more particularly, to a quality calculator for Viterbi-decoded data using zero-state metrics(ZSM) among state metrics obtained through the operation of an add-compare-select unit of the Viterbi decoder. In a general communication system, error correction coding is used to keep the level of error below a predetermined level, by correcting errors caused when a signal passes through a transmission channel contaminated by noise, and by other factors which prevent reliable communication. The error correction coding is classified as one of two types: block coding for adding redundancy corresponding to a block of the data to be transmitted, and convolutional coding for encoding the sequentially input data according to a generation function of the encoding method. In a communication system adopting the convolutional coding, means for calculating communication quality is very important to reduce error in determination of transmission rate. The conference paper "Variable Data Rate Viterbi Decoder with Modified LOVA Algorithm" presented at the IEEE Region Ten International Conference on Microelectronics and VLSI, Hong Kong on 6 November 1995 describes the implementation of a Viterbi decoder with a modified list-of-two List Output Viterbi Algorithm (LOVA) which is used to decode variable data rate frames in Code Division Multiple Access (CDMA) mobile stations. Since the data rate is not known a priori to the receiver, the Viterbi decoder performs sequential decoding of all possible rates and then determines the current rate by evaluating the outer error correction code, the symbol error rate of the re-encoded bits and the relative size of the decoder's cumulative metrics. It is an aim of embodiments of the present invention to provide a quality calculator for Viterbi-decoded data, which decreases errors in the determination of the transmission rate. According to an aspect of the invention, there is provided a quality calculator for Viterbi-decoded data, using zero-state metrics, comprising: a Viterbi decoder which outputs zero-state metrics of input demodulated data, according to each of a number of different possible transmission rates; a register which stores respective zero-state metrics output from the Viterbi decoder; and a quality evaluation unit which reads the zero-state metrics stored in the register, to evaluate the Viterbi-decoded data based on the zero-state metrics, and which determines the actual transmission rate to be the one among the number of different possible transmission rates which has the least zero-state metrics; wherein the Viterbi decoder includes: a branch metrics calculator for calculating branches according to each of the four possible transmission rates, based on the input demodulated data and a state diagram due to a system configuration; a state metric storing portion for storing the state metric of previous survival paths; an add-compare-select unit for receiving the branch metrics output from the branch metrics calculator and the states stored in the state metric storing portion, adding the received branch metrics and state metrics according to the trellis diagram and comparing the added values to thereby output a path select signal whose state metrics is the lowest among the values compared and the state metrics of the selected path; and a path storing portion for storing the corresponding path indicated by the path select signal output from the add-compare-select unit. Preferably, the transmission rate include four rates of a nominal FULL transmission rate and rates of a HALF, a QUARTER and 1/8 of the nominal FULL transmission rate. Preferably, the quality evaluation unit is a digital signal processor. For a better understanding of the invention, and to show how embodiments of the same may be carried into effect, reference will now be made, by way of example, to the accompanying diagrammatic drawings, in which: Figure 1 is a block diagram of a quality calculator for Viterbi-decoded data, using a bit error ratio; Figure 2 is a block diagram of a quality calculator for Viterbi-decoded data, using zero-state metrics according to an embodiment of the present invention; and Figure 3 is a detailed block diagram of the Viterbi decoder of Figure 2. Digital cellular mobile communication and personal communications service (PCS) use a cyclic redundancy code (CRC) and a convolutional code for detecting and correcting a transmission error, and adopt a code division multiple access (CDMA) standard (IS-95 and J-STD-008). Referring to those fields, a method for measuring a bit error ratio (BER) using the CRC and the convolutional coding method will be described. According to the CDMA standard, the transmission rate of a voice signal is not fixed, but is varied between four rates using a voice signal activity detector for detecting the active state of the generated voice signal. Table 1 shows the transmission rates according to the CDMA standard (IS-95 and J-STD-008) which is the standard for a digital cellular mobile communication and PCS. In the cases of the CDMA cellular system and RATE SET1 of PCS, if a state where a voice signal is the most active is detected by a voice signal activity detector, the voice signal is transmitted at the maximum (or nominal FULL) rate of 9600bps. Also, if a state where the voice signal is the least active is detected, the voice signal is transmitted at the minimum rate of 1200bps (1/8 of the nominal FULL rate) which is the minimum level required for continuously maintaining a channel between a base station and a terminal. Also, when the voice signal changes from the most active state to the least-active state or from the least active state to the most active state, the voice signal is transmitted at an intermediate rate of 4800bps (one HALF of the nominal FULL rate) or 2400bps (one QUARTER of the nominal FULL rate). transmission rate IS-95 CDMA cellular PCS (J-STD-008) RATE SET1 RATE SET2 FULL 9600bps 9600bps 14400bps HALF 4800bps 4800bps 7200bps QUARTER 2400bps 2400bps 3600bps 1/8 1200bps 1200bps 1800bps Transmitting information at different transmission rates according to the degree of activity of the voice signal allows effective use of a required transmission power, by transmitting the minimum amount of information required for maintaining a communication channel between the base station and the terminal when only a small amount of information needs to be transmitted. Doing so reduces both the power consumption of the terminal, and also an interference signal affecting other users, to allow simultaneous use by many users. As described above, a frame quality indicator FQI data CRC is added to the information data, generated according to the transmission rate determined by the activity of the voice signal, in order to check whether a frame received by a receiver has any errors and to provide parameters required for determining the transmission rate of the received frame. In more detail, when the transmission rate is at 9600bps, a 12-bit CRC12 is added by considering 172 bits of information data as one block, and an 8-bit encoder tail bit sequence following the CRC12 is all set to "0", to constitute one frame including 192 bits. When the transmission rate is at 4800bps, an 8-bit CRC8 is added by considering 80 bits of information data as one block and an encoder tail bit sequence including only "0" bits is used, to constitute one frame including 96 bits. Also, when the transmission rate is at 1200bps and 2400bps, one frame is constituted by adding only the encoder tail bit sequence of "0" bits, without adding a CRC. According to the CDMA cellular system (IS-95), a convolutional coding method has been adopted, where the constraint length is set to 9 and the encoding rate is 1/3. The generation function of the convolutional coding is expressed by the octal numbers, for example, 557, 663 and 711. Also, whenever one bit is input, three encoded data bits are output. The data which has passed through a CRC generator and a convolutional encoder according to the CDMA standard is transmitted to a radio channel via a symbol repeater, a block interleaver, a 64-ary orthogonal modulator, a frequency spreader, a phase modulator, and an RF frequency portion. Meanwhile, the receiver performs a demodulation in the opposite sequence to that of the transmitter. The demodulated data is decoded by a Viterbi decoder, which is a maximum likelihood decoder. The demodulated data is decoded into the most likely original data, given the data received from the transmitter. The data decoded by the Viterbi decoder is used to check whether the frame transmitted together with the CRC added by the transmitter includes an error or not. In the CDMA system, information about the transmission rate determined by an audio activity detector of the transmitter is not transmitted, so that an actual transmission rate among four possible transmission rates is determined by using the frame error. Figure 1 is a block diagram showing the structure of a quality calculator for Viterbi-decoded data, using a bit error ratio. The quality calculator for the Viterbi-decoded data using a bit error ratio, of a communication system adopting a convolutional code, includes a Viterbi decoder 100, a convolutional re-encoder 102, a time delay 104, a data comparator 106, a bit error ratio (BER) calculator 108, a bit error ratio (BER) register 110 and a quality calculator 112. The Viterbi decoder 100 decodes the demodulated data using the maximum likelihood decoding method. The convolutional re-encoder 102 receives the decoded data from the Viterbi decoder 100 and performs the convolutional coding again by the same method as the convolutional coding method of the transmitter. The time delay 104 receives the demodulated data in order to compensate for the time delay caused when passing through the Viterbi decoder 100 and the convolutional re-encoder 102, and provides the same time delay as the above two elements. The data comparator 106 compares the re-encoded data output from the convolutional re-encoder 102 with the time delayed data output from the time delay 104. The BER calculator 108 calculates each bit error ratio using the error data output from the data comparator 106. The BER register 110 stores the bit error ratio of each of the four possible transmission rates, measured by the BER calculator 108. The quality calculator 112, which is embodied by a digital signal processor (DSP), reads the bit error ratios stored in the BER register 110, to determine which of the possible transmission rates gives the least error, and select that one as the actual transmission rate. Hereinafter, referring to Figure 1, the operation of the quality calculator using the bit error ratio, of the communication system adopting a convolutional coding method, will be described. Data demodulated by a demodulator of a receiver, consists of encoded symbols from the convolutional encoder of the transmitter. This data may include an error at each bit due to channel noise, a fading phenomenon, or an interference signal. While the demodulated data including errors passes through the Viterbi decoder 100, the errors thereof are corrected within a correctable range, and the demodulated data is decoded to data of the same frame type as that of the transmitter. The decoded data output from the Viterbi decoder 100 is re-encoded by the convolutional re-encoder 102 in units of one frame, in the same manner as the convolutional coding in the transmitter. Based on the fact that the decoded data output from the Viterbi decoder 100 includes less errors since the error of the demodulated data is corrected to below a predetermined level, the re-encoded data can be assumed to be the same as the original transmitted data, in a situation where the data encoded at the transmitter by the convolutional encoder is unknown. Thus, the data comparator 106 compares the re-encoded data, assumed to be the transmitted data, with the delayed demodulated data passed through the time delay 104, to generate error data. The BER calculator 108 classifies the error data bits output from the data comparator 106 as one of two: a bit without error and an erroneous bit. The BER calculator 108 calculates the ratio of the erroneous bits to the whole input data, resulting in a bit error ratio. Here, the BER calculator 108 calculates bit error ratio with respect to each of the four possible transmission rates from the input one frame of data. The bit error ratios calculated by the BER calculator 108 are each stored in an assigned portion of the bit error register 110. The quality calculator 112 reads the bit error ratios stored in the BER register 110 to determine which of the possible transmission rates gives the least bit error ratio, and select that one as the actual transmission rate. However, the above-described quality calculator calculates the bit error ratios under the assumption that the demodulated data is corrected to be the same as the transmitted data. However, if the errors of the demodulated data are not corrected completely by the Viterbi decoder, the bit error ratio is calculated based on data including error, where erroneous bits are mis-recognized as correctly received bits. Accordingly, the actual bit error ratio cannot be calculated correctly, so that the transmission rate of the transmitted data may be determined incorrectly. Referring to Figure 2, the quality calculator for the Viterbi-decoded data according to the preferred embodiment of the present invention includes a Viterbi decoder 20, a ZSM register 22 and a quality evaluator 24. The Viterbi decoder 20 outputs zero-state metrics of the input decoded data with respect to each of some possible transmission rates such as 9600bps, 4800bps, 2400bps and 1200bps. The ZSM register 22 stores each of the zero-state metrics output from the Viterbi decoder 20. The quality evaluator 24, which is embodied by a digital signal processor (DSP), reads the zero-state metrics stored in the register 22, and evaluates the quality of the Viterbi-decoded data to determine which of the possible transmission rates gives the minimum zero-state metrics and select that one as the actual transmission rate. Referring to Figure 3, the Viterbi decoder 20 from Figure 2 includes a branch metrics calculator 202, a state metrics storing portion 208, an add-compare-select (ACS) unit 204 and a path storing portion 206. Here, the data of the state metrics storing portion 208 is updated by new state metrics output from the add-compare-select unit 204. The branch metrics calculator 202 calculates branches according to each of the four possible transmission rates, based on the input demodulated data and a state diagram due to a system configuration. The state metric storing portion 208 stores the state metrics of previous survival paths. The add-compare-select unit 204 receives the branch metrics output from the branch metrics calculator 202 and the state metrics stored in the state metric storing portion 208, adds the received branch metrics and state metrics according to the trellis diagram, and compares the added values to thereby output a path select signal whose state metrics is the lowest among the values compared and the state metrics of the selected path. The path storing portion 206 stores the corresponding path indicated by the path select signal output from the add-compare-select unit 204. Hereinafter, the overall operation of the quality calculator according to the present invention will be described. The demodulated data is error-corrected within a correctable range by the Viterbi decoder 20 and decoded to data of a frame type, as constituted at the transmitter. Then, the Viterbi decoder 20 calculates zero-state metrics with respect to each of the four possible transmission rates. The zero-state metrics output from the Viterbi decoder 20 are each stored in a separate portion of the register 22. The quality evaluator 24 reads the zero-state metrics stored in the register 22 and evaluates the quality of the Viterbi-decoded data to determine which of the possible transmission rates has the minimum zero-state metric and select that one as the actual transmission rate. The quality calculator for the Viterbi-decoded data according to the embodiment of the present invention described herein can more reliably determine the transmission rate of the received data when the actual transmission rate is not known, as in the IS-95 cellular system and IS-95 based CDMA PCS (J-STD-008) system. In the above-described quality calculator for the Viterbi-decoded data, using the zero-state metrics, according to the present invention, the zero-state metrics of the demodulated data input to the Viterbi decoder are used as a quality evaluation parameter, so that the quality evaluation can be correctly achieved to avoid errors in the determination of the transmission rate, compared to the quality calculator using a bit error ratio as the quality evaluation parameter.

Claims: A quality calculator for viterbi-decoded data, using zero-state metrics, for a communication system adopting convolution coding, the quality calculator comprising: a Viterbi decoder (20) which outputs zero-state metrics of input demodulated data, according to each of a number of different possible transmission rates; a register (22) which stores respective zero-state metrics output from the Viterbi decoder (20); and a quality evaluation unit (24) which reads the zero-state metrics stored in the register (22), to evaluate the Viterbi-decoded data based on the zero-state metrics, and which determines the actual transmission rate to be the one among the possible number of different transmission rates which has the least zero-state metrics; wherein the Viterbi decoder (20) includes: a branch metrics calculator (202) for calculating branches according to each of four possible transmission rates, based on the input demodulated data and a state diagram due to a system configuration; a state metric storing portion (208) for storing the state metric of previous survival paths; an add-compare-select unit (204) for receiving the branch metrics output from the branch metrics calculator and the states stored in the state metric storing portion, adding the received branch metrics and state metrics according to the trellis diagram and comparing the added values to thereby output a path select signal whose state metrics is the lowest among the values compared and the state metrics of the selected path; and a path storing portion (206) for storing the corresponding path indicated by the path select signal output from the add-compare-select unit. The quality calculator of claim 1, wherein said transmission rates include four rates of a nominal FULL transmission rate and rates of a HALF, a QUARTER and 1/8 of the FULL transmission rate. The quality calculator of claim 1 or 2, wherein the quality evaluation unit (24) is a digital signal processor.

Inventors: CHOI SUNG-HAN, KONG JUN-JIN, CHOI, SUNG-HAN, KONG, JUN-JIN
Applicants: SAMSUNG ELECTRONICS CO LTD, SAMSUNG ELECTRONICS CO., LTD.
Application year: 1997
Main classification: H03M13
IPC codes: H03M13, H04L29