KR100224567B1 - Apparatus and method of data transceiving using viterbi decoder - Google Patents
Apparatus and method of data transceiving using viterbi decoder Download PDFInfo
- Publication number
- KR100224567B1 KR100224567B1 KR1019970004576A KR19970004576A KR100224567B1 KR 100224567 B1 KR100224567 B1 KR 100224567B1 KR 1019970004576 A KR1019970004576 A KR 1019970004576A KR 19970004576 A KR19970004576 A KR 19970004576A KR 100224567 B1 KR100224567 B1 KR 100224567B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- block
- frame
- data rate
- vocoder
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6597—Implementations using analogue techniques for coding or decoding, e.g. analogue Viterbi decoder
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
본 발명은 비터비 디코더를 이용한 데이터 송수신 장치 및 데이터 송수신 방법에 관한 것으로, 송신부는 제1 프레임의 엔코딩된 보코더데이터와 후속하는 제2 프레임의 음성 에너지 레벨에 따른 데이터 비율 정보인 프리엠블데이터를 포함하여 전송하고, 수신부는 수신 채널을 통해 입력된 상기 제1 프레임의 엔코딩된 보코더데이터와 프리엠블데이터를 제공받고, 후속하는 제2 프레임의 엔코딩된 보코더 데이터를 상기 프리엠블데이터의 데이터 비율에 따라 디코딩을 수행한다.The present invention relates to a data transmission / reception apparatus and a data transmission / reception method using a Viterbi decoder, wherein the transmission unit includes encoded vocoder data of a first frame and preamble data that is data rate information according to voice energy levels of a subsequent second frame. The receiver receives the encoded vocoder data and the preamble data of the first frame input through the receiving channel, and decodes the encoded vocoder data of the subsequent second frame according to the data rate of the preamble data. Do this.
Description
본 발명은 데이터 송수신 장치 및 데이터 송수신 방법에 관한 것으로서, 구체적으로는 비터비 디코더를 이용한 데이터 송수신 장치 및 데이터 송수신 방법에 관한 것이다.The present invention relates to a data transmission and reception apparatus and a data transmission and reception method, and more particularly, to a data transmission and reception apparatus and a data transmission and reception method using a Viterbi decoder.
현재, 이동통신과 위성통신 분야에서 데이터 디코딩(data decoding)을 위해 비터비 디코더(Viterbi decoder)를 이용하고 있으며, 이러한 비터비 디코더는 개인 이동통신 분야에서도 사용되고 있다.Currently, a Viterbi decoder is used for data decoding in the mobile communication and satellite communication fields, and the Viterbi decoder is also used in the personal mobile communication field.
CDMA(code division multiple access)방식을 이용한 휴대용 전화의 경우 데이터의 전송률은 통상 9600bps, 4800bps, 2400bps, 1200bps의 4가지의 데이터 비율(data rate)을 사용하고 있다. 각 데이터 비율은 엔코딩(encoding)시에 매 프레임(frame)마다 결정되는데 이는 음성 활성도에 의해 이루어지며, 이 음성 활성도는 음성의 에너지값인 0차 자기상관계수(autocorrelation coefficient)에 의해 측정된다. 각각의 데이터 비율에 해당되는 데이터를 20msec 단위로 엔코딩을 하면 각각 384, 192, 96, 48 비트(bits)로 구성된다.In the case of a portable telephone using a code division multiple access (CDMA) method, data transmission rates typically use four data rates: 9600 bps, 4800 bps, 2400 bps, and 1200 bps. Each data rate is determined at every frame during encoding, which is determined by voice activity, which is measured by the zero-order autocorrelation coefficient, which is the energy value of the voice. When data corresponding to each data rate is encoded in 20msec units, it is composed of 384, 192, 96, and 48 bits, respectively.
한편, 이 데이터는 컴바이너(combiner)에서 다양성(diversity) 효과를 내기 위해 반복(repetition)을 수행한다. 그리고 채널(channel)을 통해서는 같은 데이터 비율로 전송되어야 하기 때문에 반복 알고리즘(repetition algorithm)을 이용하여 각각 같은 데이터를 2, 4, 8배 하여 최종 384개의 데이터를 만들어 내어 전송한다. 즉, 9600bps 데이터는 바로 전송하고 4800bps 데이터는 2배하고 2800bps 데이터는 4배하고 1200bps 데이터는 8배하여 최종적으로는 9600bps의 데이터 비율로 다중 비율(multi rate)을 갖는 데이터를 전송한다.On the other hand, this data performs repetition to produce a diversity effect in the combiner. And because the same data rate must be transmitted through the channel (repetition algorithm) using the repetition algorithm (repetition algorithm), each of the same data 2, 4, 8 times to create the final 384 data is transmitted. That is, 9600bps data is transmitted immediately, 4800bps data is doubled, 2800bps data is quadrupled, 1200bps data is eight times, and finally, data having a multi rate is transmitted at a data rate of 9600bps.
도 1은 종래의 비터비 디코더를 이용한 데이터 송수신 장치의 블록도이다.1 is a block diagram of a data transmission and reception apparatus using a conventional Viterbi decoder.
도 1에 도시된바와 같이, 종래의 비터비 디코더를 이용한 데이터 송수신 장치는 보코더블록(vocoder block, 110), CRC블록(CRC block, 130), 엔코더블록(encoder block, 150)을 포함하는 송신부(100)를 구비하고 있다. 비터비 디코딩을 수행하는 수신부(200)는 입력블록(input block, 210), 디코더메인블록(decoder main block, 230), 출력블록(output block, 250)을 포함하여 구성된다. 그리고 상기 출력블록(250)의 출력을 입력받아 해당 프레임의 데이터 비율을 결정하는 데이터비율결정블록(data rate decision block, 300)이 구비된다.As shown in FIG. 1, a conventional data transmission / reception apparatus using a Viterbi decoder includes a transmitter including a
도 1을 참조하여, 상기 송신부(100)는 상술한바와 같은 과정을 통해 다중 비율을 갖는 데이터를 송신하고 상기 수신부(200)는 이러한 다중 비율을 갖는 데이터를 수신하여 디코딩을 수행한다.Referring to FIG. 1, the
구체적으로, 다중비율에 따라서 데이터가 수신되면, 수신된 각각의 데이터는 상기 수신단(200)에서 각 데이터의 전송률에 따라 디코딩을 수행한 후 심볼에러비율(SER; Symbol Error Rate), CRC(Cyclic Redundancy Code), 특성정보비트(Quality information bit) 등이 계산된다. 그리고 이 정보는 데이터비율결정블록(300)의 마이크로프로세서(micro processor)로 제공된다. 상기 마이크로프로세서는 제공된 데이터를 근거로 하여 판단테이블(estimation table) 내의 조건을 가장 잘 만족시키는 데이터 비율을 결정한다.Specifically, when data is received according to the multi-rate, each received data is decoded according to the transmission rate of each data in the
다시, 채널을 통하여 다중 비율을 갖는 데이터가 수신되면 디모듈레이터(demodulator)와 디인터리버(deinterleaver)를 거쳐 상기 수신부(200)의 입력블록(210)으로 제공된다.When data having multiple ratios is received through the channel, the data is provided to the
도 2는 도 1에 도시된 수신부(200)에 구성된 각 블록의 상세 회로도이다.FIG. 2 is a detailed circuit diagram of each block configured in the
도 2에 도시된바와 같이, 상기 입력블록(210)은 메인메모리(main memory)로서 입력버퍼(211)와, 누산(accumulation)을 위한 보조메모리(memory)를 구비한 누산부(213)와, 심볼메트릭테이블(SMT; Symbol Metric Table, 215)로 구성된다.As shown in FIG. 2, the
상기 입력블록(210)으로 입력된 데이터는 먼저 상기 입력버퍼(211)로 입력된다. 이때, 데이터의 비율이 9600bps일 경우는 바로 상기 심볼메트릭테이블(215)로 제공된다. 그렇지 않을 경우는 다시 9600bps 데이터를 상기 누산부(213)를 이용하여 4800bps 데이터를 만들어 내고, 동시에 이 4800bps 데이터를 누산(accumulating)하여 2400bps 데이터를 만들어 낸다. 계속해서, 이 데이터는 다시 상기 심볼메트릭테이블(215)로 제공되고 동시에 2400bps 데이터를 누산하여 1200bps data를 만들어 낸다.Data input to the
이렇게 만들어진 데이터는 모두 상기 심볼메트릭테이블(215)을 통하여 일정한 데이터 비트(data bit)로 전환(conversion)된 후 각각의 전송률에 맞는 사인 매그니튜드(signed magnitude)값으로 변환(translation)되어 상기 디코더메인블록(230)으로 제공된다. 이상의 과정을 각각의 전송률마다 수행해야 하기 때문에 누산부(213)와 심볼메트릭테이블(215) 등의 추가적인 메모리가 필요하게 된다.The data thus produced are all converted to a constant data bit through the symbol metric table 215 and then converted into a signed magnitude value corresponding to each data rate so that the decoder main block Provided at 230. Since the above process must be performed for each transmission rate, additional memory such as an
상기 디코더메인블록(230)은 브랜치메트릭부(blanch matrix, 231), 가산비교선택부(add compare select, 233), 트래이스백부(trace back, 235)로 구성된다.The decoder
상기 입력블록(210)의 출력은 상기 브랜치메트릭부(231)로 입력되고, 상기 가산비교선택부(233)와 트래이스백부(235)를 통해 디코딩이 수행된다. 디코딩은 먼저 9600bps에서 1200bps까지 순차적으로 디코딩을 수행하여 상기 출력부(250)로 제공된다.The output of the
상기 출력블록(250)은 SER RAM(251), 재변환부(reconversion, 253), CRC체크부(CRC check, 255), 심볼에러율검출부(symbol error rate, 257), 출력버퍼(259)를 포함하여 구성된다. 상기 출력블록(250)은 심볼에러비율(SER), CRC에러, 특성정보비트 등을 구하여 상기 데이터비율결정블록(300)의 마이크로프로세서로 제공하며, 상기 마이크로프로세서는 제공된 정보를 가지고 가장 최적의 데이터 비율을 결정한다.The
상술한바와 같이, 다중 데이터 비율을 갖는 수신 데이터는 높은 데이터 비율에서 낮은 데이터 비율로 순차적으로 디코딩이 수행된다. 왜냐하면 디코딩을 수행하기 전에는 수신된 데이터의 데이터 비율을 알 수 없기 때문에 모든 데이터 비율에 대해서 디코딩을 수행해서 최적의 데이터 비율을 판단하게 된다. 그러므로 상기 입력블록(210)에 입력버퍼(211), 누산부(213), 심볼메트릭테이블(215)등에 메모리가 필요하게 된다.As described above, received data having multiple data rates is sequentially decoded from a high data rate to a low data rate. Because the data rate of the received data is not known until the decoding is performed, the optimal data rate is determined by decoding the data rate. Therefore, a memory is required for the
구체적으로, 상기 입력블록(210)은 각 데이터 비율에 대한 입력 데이터를 생성하고, 상기 디코더메인블록(230)은 이 데이터를 입력받아 각각의 데이터 비율에 대하여 모두 디코딩을 수행해야만 한다. 이러한 일련의 데이터 패스(data kpoh)를 거쳐야 하기 때문에 단일 데이터 비율로 고정되었을 때보다 많은 처리 시간(processing time)이 요구된다.Specifically, the
또한 상기 디코더메인블록(230)에서 각 데이터 비율에 해당되는 데이터에 대하여 모두 디코딩을 하므로 상기 출력블록(250)은 모든 데이터 비율에 따른 데이터를 저장해야 된다. 그러므로 해당되는 메모리의 사이즈(size)가 커지게 된다. 그리고 다중 데이터 비율에 따른 해당 레지스터들도 필요하게 된다.In addition, since the decoder
이상과 같이 종래의 비터비 디코더는 다중 데이터 비율로 전송되는 특성으로 인하여 해당되는 메모리, 레지스터의 사용이 불가피하고, 이러한 메모리로 인하여 전체적으로 사이즈가 커지는 문제점이 발생된다. 또한 각 데이터 비율에 따라 모든 단계의 디코딩을 수행하므로 디코딩에 따른 처리 시간이 많이 소요되는 문제점 또한 발생된다.As described above, in the conventional Viterbi decoder, the use of a corresponding memory and a register is inevitable due to the characteristic of being transmitted at multiple data rates, and the size of the entire Viterbi decoder is large due to this memory. In addition, since decoding of all steps is performed according to each data rate, a problem that requires a large amount of processing time due to decoding also occurs.
본 발명의 목적은 상술한 문제점을 해결하기 위해 제안된 것으로서, 비터비 디코더를 이용하는 데이터 송수신 장치에 사용되는 메모리의 사이즈를 감소하고, 고속의 데이터 처리가 가능한 비터비 디코더를 이용한 데이터 송수신 장치 및 데이터 송수신 방법을 제공하는데 있다.SUMMARY OF THE INVENTION An object of the present invention is to solve the above-described problem, and it is possible to reduce the size of a memory used in a data transmission / reception apparatus using a Viterbi decoder and to perform a data transmission / reception apparatus and data using a Viterbi decoder capable of high-speed data processing. The present invention provides a method for transmitting and receiving.
도 1은 종래의 비터비 디코더를 이용한 데이터 송수신 장치의 블록도,1 is a block diagram of a data transmission and reception apparatus using a conventional Viterbi decoder;
도 2는 도 1에 도시된 수신부에 구성된 각 블록의 상세 회로도,FIG. 2 is a detailed circuit diagram of each block configured in the receiver shown in FIG. 1;
도 3은 본 발명의 실시예에 따른 비터비 디코더를 이용한 데이터 송수신 장치의 블록도,3 is a block diagram of a data transmission and reception apparatus using a Viterbi decoder according to an embodiment of the present invention;
도 4는 도 3에 도시된 보코더 블록의 상세도,4 is a detailed view of the vocoder block shown in FIG. 3;
도 5는 각 전송률에 따른 피치서브프레임과 코드북서브프레임의 비트활당을 보여주는 도면.FIG. 5 is a diagram illustrating bit allocation of a pitch subframe and a codebook subframe according to each data rate. FIG.
도 6은6 is
*도면의 주요 부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *
100, 400 : 송신단110, 410 : 보코더블록100, 400:
130, 430 : CRC블록150, 450 : 엔코더블록130, 430:
200, 500 : 수신단210, 510 : 입력블록200, 500:
230, 530 : 디코더메인블록250, 550 : 출력블록230, 530: decoder
300 : 데이터비율결정블록470 : 데이터비율판단블록300: data rate determination block 470: data rate determination block
570 : 프리엠블데이터체크블록570 preamble data check block
(구성)(Configuration)
상술한 목적을 달성하기 위한 본 발명의 특징에 의하면, 비터비 디코더를 이용한 데이터 송수신 장치는 : 제1 프레임의 엔코딩된 보코더데이터와 후속하는 제2 프레임의 음성 에너지 레벨에 따른 데이터 비율 정보인 프리엠블데이터를 포함하여 전송하는 송신부와; 데이터 수신시 수신 채널을 통해 입력된 상기 제1 프레임의 엔코딩된 보코더데이터와 프리엠블데이터를 제공받고, 후속하는 제2 프레임의 엔코딩된 보코더 데이터를 상기 프리엠블데이터의 데이터 비율에 따라 디코딩하는 수신부를 포함한다.According to an aspect of the present invention for achieving the above object, a data transmission / reception apparatus using a Viterbi decoder includes: preamble which is data rate information according to encoded vocoder data of a first frame and voice energy levels of a subsequent second frame. A transmission unit including data and transmitting the data; Receiving unit for receiving the encoded vocoder data and the preamble data of the first frame input through the receiving channel when receiving data, and decoding the encoded vocoder data of the subsequent second frame according to the data rate of the preamble data Include.
이 실시예에 있어서, 상기 송신부는 상기 제1 프레임의 음성신호의 에너지 레벨에 따라 보코딩을 수행하여 보코더데이터를 출력하고, 후속하는 상기 제2 프레임의 음성신호의 에너지 레벨에 따른 해당 데이터비율정보를 출력하는 보코더블록과; 상기 보코더데이터를 입력받고 해당되는 CRC정보를 부가하여 출력하는 CRC블록과; 상기 CRC블록의 출력을 입력받아 엔코딩을 수행하여 출력하는 엔코딩블록과; 상기 엔코딩블록의 출력과, 상기 데이터비율정보를 입력받아 전송 채널로 출력하는 데이터비율판단블록을 포함한다.In this embodiment, the transmitter performs vocoding according to the energy level of the voice signal of the first frame to output vocoder data, and corresponding data rate information according to the energy level of the voice signal of the second frame. A vocoder block for outputting; A CRC block for receiving the vocoder data and adding and outputting corresponding CRC information; An encoding block which receives the output of the CRC block and performs encoding to output the encoded block; And an output of the encoding block and a data rate determination block that receives the data rate information and outputs the data rate to a transmission channel.
이 실시예에 있어서, 상기 수신부는, 수신 채널을 통해 수신된 데이터를 입력받는 입력블록과; 상기 입력블록으로부터 상기 프리엠블데이터를 제공받아 해당되는 데이터 비율을 판단하는 프리엠블데이터체크블록과; 상기 입력블록으로부터 후속하여 수신된 엔코딩된 보코더데이터를 제공받고, 상기 프리엠블데이터체크블록의 데이터 비율 판단 결과에 따라 디코딩을 수행하여 출력하는 디코더메인블록과; 상기 디코더메인블록의 출력을 입력받고, CRC 에러검사를 포함하는 소정의 데이터 처리 과정을 수행한 후 출력하는 출력블록을 포함한다.In this embodiment, the receiving unit comprises: an input block for receiving data received through a receiving channel; A preamble data check block receiving the preamble data from the input block and determining a corresponding data ratio; A decoder main block receiving encoded vocoder data subsequently received from the input block and decoding and outputting the encoded vocoder data according to a data rate determination result of the preamble data check block; And an output block for receiving the output of the decoder main block and performing a predetermined data processing process including CRC error checking.
본 발명의 다른 특징에 의하면, 비터비 디코더를 이용한 데이터 송수신 장치의 데이터 송수신 방법은 : 데이터 송신시, 제1 프레임의 데이터를 보코딩 및 엔코딩하고, 상기 제1 프레임에 후속하는 제2 프레임의 음성신호의 에너지 레벨에 따라 해당되는 데이터 비율을 판단하며, 상기 제1 프레임의 엔코딩된 보코더데이터와 상기 제2 프레임의 데이터 비율 정보인 프리엠블데이터를 포함하여 송신 채널을 통해 송신하고; 수신 채널을 통해 데이터 수신시, 수신된 제1 프레임에 포함된 프리엠블데이터의 데이터 비율에 따라 후속하는 상기 제2 프레임의 엔코딩된 보코더데이터를 디코딩한다.According to another aspect of the present invention, a data transmission / reception method of a data transmission / reception apparatus using a Viterbi decoder includes: during data transmission, vocoding and encoding data of a first frame, and voice of a second frame subsequent to the first frame. Determine a corresponding data rate according to an energy level of the signal, and transmit the data through a transmission channel including encoded vocoder data of the first frame and preamble data which is data rate information of the second frame; When receiving data through the reception channel, the encoded vocoder data of the subsequent second frame is decoded according to the data rate of the preamble data included in the received first frame.
(작용)(Action)
이상과 같은 본 발명에 의하면, 송신부에서 후속되는 프레임의 데이터비율정보를 현재 송신할 프레임 테이터에 부가하여 송신하고, 수신부는 이를 수신하여 해당되는 데이터비율정보에 따라 디코딩을 수행한다.According to the present invention as described above, the transmitter transmits the data rate information of the subsequent frame in addition to the frame data to be transmitted currently, and the receiver receives it and decodes according to the corresponding data rate information.
(실시예)(Example)
이하 본 발명의 실시예를 첨부된 도면에 의거하여 상세히 설명한다.DETAILED DESCRIPTION Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 3은 본 발명의 실시예에 따른 비터비 디코더를 이용한 데이터 송수신 장치의 블록도이고, 도 4는 도 3에 도시된 보코더 블록의 상세도이다. 도 3에서 도 1에 도시된 구성부분과 동일한 기능을 갖는 구성부분은 그 설명을 생략한다.3 is a block diagram of a data transmission and reception apparatus using a Viterbi decoder according to an embodiment of the present invention, Figure 4 is a detailed view of the vocoder block shown in FIG. In FIG. 3, components having the same functions as those illustrated in FIG. 1 will not be described.
도 3에 도시된바와 같이, 본 발명의 실시예에 따른 데이터 송수신 장치는 크게 보코더블록(410), CRC블록(430), 엔코더블록(450), 데이터비율판단블록(470)을 포함하여 송신부(400)가 구성된다. 그리고 수신부(500)로 입력블록(510), 프리엠블데이터체크블록(preamble data check block, 570), 디코더메인블록(530), 출력블록(550)을 포함하여 구성된다.As shown in FIG. 3, the apparatus for transmitting and receiving data according to an embodiment of the present invention includes a
도 4에 도시된바와 같이, 상기 보코더블록(400)은 음성신호를 입력받아 샘플링하는 샘플링부(sampling, 411)와, 오토코릴레이션부(autocorrelation, 412), LPC(Linear Predictive Code coefficient, 413), LSP(Line Spectrum Pair, 413), 피치코드북 파라매터 발생부(Pitch Codebook parameter, 415)를 포함하여 구성된다.As shown in FIG. 4, the
도 3을 참조하여, 상기 보코더블록(410)에서 현재 프레임의 보코더 데이터를 출력함과 동시에 다음 프레임의 데이터를 미리 예측하여 해당되는 데이터비율정보비트(data rate information bit)인 프리엠블데이터(preamble data)와 현재 프레임의 보코더 데이터가 출력된다.Referring to FIG. 3, the
상기 보코더 데이터는 상기 CRC블록(430)으로 제공되어 CRC정보가 부가되고 이어 상기 엔코더블록(450)으로 입력되어 엔코딩된다. 데이터비율정보비트는 엔코딩이 수행되지 않고 상기 데이터비율판단블록(470)으로 제공되며 상기 엔코딩된 데이터와 결합되어 송신되게 된다.The vocoder data is provided to the CRC block 430 to add CRC information, which is then input to the
한편, 상술한바와 같이 데이터비율정보비트를 포함하고 있는 데이터가 채널을 통해 수신부(500)에 수신되면, 이는 상기 입력블록(510)의 입력버퍼에 저장된다. 이어 상기 프리엠블데이터체크블록(570)에서 데이터비율정보비트를 제공받아 해당 데이터 비율을 결정하여 데이터비율정보를 상기 디코더메인블록(530)에 제공한다.On the other hand, when the data including the data rate information bits as described above is received by the
상기 디코더메인블록(530)은 이전 프레임의 데이터비율정보를 상기 프리엠블데이터체크블록(570)으로부터 해당 데이터비율정보를 제공받아 해당 데이터 비율로 현재 프레임의 데이터를 디코딩하여 상기 출력블록(550)으로 제공한다.The decoder
다시, 이상과 같은 본 발명의 실시예에 따른 비터비 디코더를 이용한 데이터 송수신 장치를 좀더 구체적으로 설명한다.Again, a data transmission and reception apparatus using a Viterbi decoder according to an embodiment of the present invention as described above will be described in more detail.
보코딩(vocoding)은 종래와 같이 통상 4개의 서로 다른 전송률을 사용하는 경우 각 전송률은 매 프레임마다 결정된다. 전송률의 결정은 음성 활성도에 의해 이루어지며 이 음성 활성도는 음성의 에너지값, 즉 0차 자기 상관 계수 Ri(0)에 의해 측정된다. 하나의 프레임에는 전송률에 따라 각기 다른 개수의 피치서브프레임(pitch subframe)과 코드북서브프레임(codebook subframe)으로 구성된다. 각 전송률에 따른 피치서브프레임과 코드북서브프레임의 비트활당을 첨부 도면 도 5에 도시하였다.In vocoding, conventionally, when using four different data rates, each data rate is determined every frame. The transmission rate is determined by the voice activity, which is measured by the energy value of the voice, that is, the zero-order autocorrelation coefficient Ri (0). One frame includes a different number of pitch subframes and codebook subframes according to the data rates. The bit allocation of the pitch subframe and the codebook subframe according to each data rate is shown in FIG. 5.
도 5를 참조하여, 전송률을 결정하기 위해 음성 활성도 Ri(0)는 3개의 임계치(threshold) T1(Bi), T2(Bi), T3(Bi)와 비교하여,Referring to FIG. 5, the voice activity Ri (0) is compared with three thresholds T1 (Bi), T2 (Bi), and T3 (Bi) to determine the transmission rate.
(1) 모든 T임계치보다 크면, RATE 1을 선택하고,(1) If greater than all T thresholds,
(2) 두 개의 T임계치보다 크면 RATE 1/2을 선택하고,(2) If it is greater than two T thresholds,
(3) 하나의 T임계치보다 크면 RATE 1/4을 선택하며(3) If it is bigger than one T threshold,
(4) 모든 T임계치보다 작으면 RATE 1/8을 선택한다.(4) If it is less than all T thresholds,
전송률을 선택할 때 한가지 제약 조건으로 전송률의 변화는 반드시 전 프레임의 전송률에 대해서 1이하로 변화한다. 즉, 전 프레임에서 RATE 1이 결정되었으면 현재의 프레임에서 RATE 1/4나 RATE 1/8로 데이터 비율이 결정되었다 하더라도 1만큼 변한 RATE 1/2를 선택해야 한다. 예를 들어, 이전 프레임이 RATE 1/8이고, 현재 프레임의 RATE이 1이거나 1/2이면 RATE 1/4을 선택해야 한다.As a constraint when selecting a data rate, the change in the data rate necessarily changes below 1 for the data rate of the entire frame. That is, if
3개의 임계치는 전송률이 결정 되기전 매 프레임마다 새로 계산된다. 먼저 백그라운드 노이즈 레벨(background noise level) Bi 값을 하기 수학식 1A와 같이 계산하고, 이 값을 이용하여 하기 수학식 1B와 같이 임계치를 계산한다.The three thresholds are newly calculated every frame before the rate is determined. First, a background noise level Bi value is calculated as shown in Equation 1A, and a threshold is calculated as shown in Equation 1B using this value.
[수학식 1A][Equation 1A]
[수학식 1B][Equation 1B]
백그라운드 노이즈란, 사람의 귀는 원래의 음성을 그대로 듣는 것보다 약간의 노이즈가 섞여 있는 것을 더 잘 인식 할 수 있고, 음성 데이터는 전송되는 동안 노이즈가 발생하기 때문에 미리 어느 정도의 노이즈를 발생시키는데 이 노이즈를 백그라운드 노이즈라 한다.Background noise is better for human ears to recognize that a little noise is mixed than it is to listen to the original voice, and to generate some noise in advance because voice data is generated during transmission. Noise is called background noise.
위와 같은 정보를 이용하면 종래와 같이 수신단에서 데이터 비율을 결정하기 위하여 각 데이터 비율에 대하여 모두 디코딩한 정보를 이용하여 데이터 비율을 결정하는 방식을 채택하지 않아도 간단히 다중 데이터 비율로 입력되는 수신 데이터를 디코딩 할 수 있다.Using the above information, the receiver simply decodes the received data input at the multiple data rates without adopting a method of determining the data rate using information decoded for each data rate in order to determine the data rate in the prior art. can do.
이상과 같이, 데이터 비율 결정을 수신부(500)에서 하는 것이 아니라 송신부(400)의 보코더블록(410)에서 결정하여 그 데이터비율정보비트를 송신하려는 데이터와 함께 전송한다. 그리고 수신부(500)에서 전송된 데이터비율정보비트를 이용하여 다음 프레임의 데이터 비율을 미리 결정하여 디코딩을 수행한다.As described above, the data rate is determined by the
구체적으로, 상기 보코더블록(410)에서 데이터 비율 판단의 기준은 프레임에서의 에너지(energy)와 임계치에 의하여 결정된다. 즉, 프레임에서의 에너지는 오토코릴레이션 계수(autocorrelation coefficient) Ri(0)에 의하여 측정되며 이는 하기 수학식 2와 같다.Specifically, the criterion of the data rate determination in the
[수학식 2][Equation 2]
그리고 임계치 값은 백그라운드 노이즈 레벨 Bi에 의하여 결정된다.The threshold value is determined by the background noise level Bi.
종래의 보코더 블록에서 데이터 비율을 결정하기 위해서는 현재 보내고자 하는 음성 데이터를 나타내는 압축 바이너리 코드 데이터(binary code data)와 그 음성 데이터의 에너지를 동시에 측정하여 데이터 비율을 결정한다. 결정된 데이터 비율에 맞게 데이터를 전송한다.In the conventional vocoder block, data rate is determined by simultaneously measuring compressed binary code data representing voice data to be sent and energy of the voice data. The data is transmitted at the determined data rate.
그러나 본 발명에서는 1프레임 단위의 음성 데이터를 측정하는 것이 아니라 2프레임 단위로 음성 데이터를 측정한다. 그리고 현재의 프레임에서는 음성 압축 바이너리 코드 데이터를 측정하고 동시에 다음 프레임의 에너지도 동시에 측정하여 그 프레임에 해당하는 데이터 비율을 판단하여 현재의 프레임의 맨 앞단에 삽입한다. 하기 표 1과 표 2에 각 블록에서 한 프레임에 들어가는 데이터 포맷을 종래의 경우와 비교하여 도시하였다.However, in the present invention, the voice data is not measured in units of one frame but is measured in units of two frames. In the current frame, the voice compression binary code data is measured, and at the same time, the energy of the next frame is measured at the same time to determine the data rate corresponding to the frame and inserted at the front end of the current frame. Tables 1 and 2 show the data formats included in one frame in each block as compared with the conventional case.
[표 1]TABLE 1
종래의 data formatConventional data format
[표 2]TABLE 2
본 발명의 실시예에 따른 data formatData format according to an embodiment of the present invention
상기 표 2에 도시한바와 같이, 종래의 경우와 달리 데이터 포맷에서 보코더 데이터가 감소된 이유는 데이터비율정보비트를 상기 엔코더블록(450) 후에 추가하기 위해서 이다. 상기 엔코더블록(470)을 통과한 한 프레임의 데이터 포맷은 상기 데이터비율판단블록(470)에서 하기 표 3과 같이 변화된다.As shown in Table 2, the reason why the vocoder data is reduced in the data format unlike the conventional case is to add a data rate information bit after the
[표 3]TABLE 3
그리고 상기 표 3과 같은 한 프레임의 데이터 포맷은 반복과정을 통하여 하기 표 4와 같이 변화된다.And the data format of one frame as shown in Table 3 is changed as shown in Table 4 through an iterative process.
[표 4]TABLE 4
최종적으로 상기 표 4의 데이터 포맷이 송신부(500)에서 출력되어 채널을 통하여 전송된다. 각각의 데이터 비율에 대한 한 프레임의 구조가 첨부도면 도 6에 도시되어 있다. 한 프레임의 구조는 보코더 데이터와 프리엠블 데이터로 구성된다.Finally, the data format of Table 4 is output from the
데이터 비율의 결정은 프리엠블 데이터를 이용하여 다음 조건에 따라 데이터비율이 결정된다.In determining the data rate, the data rate is determined using the preamble data according to the following conditions.
if(Ri(0)T1 Ri(0)T2 Ri(0)T3){P7=p6=p5=p4=p3=p2=p1=p0=0; // RATE 1elseif(Ri(0)T1 Ri(0)T2){p7=p5=p3=p1=0;p6=p4=p2=p0=1; // RATE 1/2}elseif(Ri(0)T1){p7=p5=p3=p1=1;p6=p4=p2=p0=0; // RATE 1/4}else {p7 = p5 = p3 = p1 = 1;p6 = p4 = p2 = p0 = 1; // RATE 1/8}}if (Ri (0) T1 Ri (0) T2 Ri (0) T3) {P7 = p6 = p5 = p4 = p3 = p2 = p1 = p0 = 0; // RATE 1elseif (Ri (0) T1 Ri (0) T2) {p7 = p5 = p3 = p1 = 0; p6 = p4 = p2 = p0 = 1; //
상기 송신부(400)에서 데이터비율정보가 상기와 같이 결정되어서 송신되면 수신단에서는 프리엠블 데이터를 체크하여 해당되는 데이터 비율을 결정한다. 예를 들어, 4개의 데이터 비율을 결정하는 정보가 반복되어 수신되어 들어오면 이 중에 3개의 데이터비율정보가 같은 데이터를 지정하면 데이터 비율은 3개의 데이터 비율이 나온 정보로 고정된다.When the data rate information is determined and transmitted by the
이상과 같은 본 발명에 의하면, 송신부의 보코더블록에서 음성을 처리하는 과정의 데이터를 이용하여 데이터 비율을 결정함으로 수신부의 입력블록에 구비되던 보조 메모리와, 심볼메트릭테이블의 메모리와, 출력블록의 메모리를 감소할 수 있다. 그리고 데이터 비율이 고정되어 있음으로 그 고정된 데이터 비율에 대하여 디코딩을 수행하므로 종래에 비하여 칩 사이즈와 처리 시간을 줄일 수 있는 효과가 있다.According to the present invention as described above, by determining the data rate by using the data of the process of processing the voice in the vocoder block of the transmitter, the auxiliary memory, the memory of the symbol metric table, and the memory of the output block provided in the input block of the receiver Can be reduced. In addition, since the data rate is fixed, decoding is performed on the fixed data rate, thereby reducing chip size and processing time, as compared with the related art.
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970004576A KR100224567B1 (en) | 1997-02-15 | 1997-02-15 | Apparatus and method of data transceiving using viterbi decoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970004576A KR100224567B1 (en) | 1997-02-15 | 1997-02-15 | Apparatus and method of data transceiving using viterbi decoder |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980068124A KR19980068124A (en) | 1998-10-15 |
KR100224567B1 true KR100224567B1 (en) | 1999-10-15 |
Family
ID=19497118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970004576A KR100224567B1 (en) | 1997-02-15 | 1997-02-15 | Apparatus and method of data transceiving using viterbi decoder |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100224567B1 (en) |
-
1997
- 1997-02-15 KR KR1019970004576A patent/KR100224567B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR19980068124A (en) | 1998-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5537410A (en) | Subsequent frame variable data rate indication method | |
KR100191295B1 (en) | Method and apparatus for determining data rate of transmitted variable rate data in a communication receiver | |
JP3169522B2 (en) | Data receiving device | |
CN100461785C (en) | Method and apparatus for determining the rate of received data in a variable rate communication a debit variable | |
RU2212100C2 (en) | Device and method for channel coding/decoding in communication system | |
EP1422900B1 (en) | Receiver and receiving method for cdma communication system | |
US6393074B1 (en) | Decoding system for variable-rate convolutionally-coded data sequence | |
EP0544101A1 (en) | Method and apparatus for the transmission of speech signals | |
JPH09501548A (en) | Method and apparatus for determining the data rate of a received signal | |
US20080140392A1 (en) | Codec mode decoding method and apparatus for adaptive multi-rate system | |
US6981060B2 (en) | Compression based on channel characteristics | |
CA2424155C (en) | Apparatus and method for detecting transmitting rate of turbo decoder | |
KR19990045616A (en) | Transmission rate determination method and apparatus | |
KR100444980B1 (en) | Method and apparatus for determining data rate of transmitted variable rate data | |
KR100224567B1 (en) | Apparatus and method of data transceiving using viterbi decoder | |
CA2116908C (en) | Speech decoding in a zero ber environment | |
KR100535783B1 (en) | Method for coding, decoding and transmitting information, signal processor and radio equipment | |
US7272131B2 (en) | TFCI decoding circuit and decoding method | |
US6651211B1 (en) | Method of mobile telecommunications | |
US6952463B2 (en) | Method of blind transport format detection based on power transition | |
CN100349395C (en) | Speech communication unit and method for error mitigation of speech frames | |
CN100431287C (en) | Speed detecting method for variable speed communication system | |
JP2001339466A (en) | Variable-rate code receiving device | |
JP2000244460A (en) | Transmission line error code addition and detecting device | |
WO2000008768A1 (en) | Viterbi decoder with reduced size path metric memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20070612 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |