KR100317377B1 - Encoding and decoding apparatus for modulation and demodulation system - Google Patents

Encoding and decoding apparatus for modulation and demodulation system Download PDF

Info

Publication number
KR100317377B1
KR100317377B1 KR1019990050819A KR19990050819A KR100317377B1 KR 100317377 B1 KR100317377 B1 KR 100317377B1 KR 1019990050819 A KR1019990050819 A KR 1019990050819A KR 19990050819 A KR19990050819 A KR 19990050819A KR 100317377 B1 KR100317377 B1 KR 100317377B1
Authority
KR
South Korea
Prior art keywords
bit
bits
convolutional
encoder
tail
Prior art date
Application number
KR1019990050819A
Other languages
Korean (ko)
Other versions
KR20010046865A (en
Inventor
유철우
설지웅
Original Assignee
구자홍
엘지전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구자홍, 엘지전자주식회사 filed Critical 구자홍
Priority to KR1019990050819A priority Critical patent/KR100317377B1/en
Publication of KR20010046865A publication Critical patent/KR20010046865A/en
Application granted granted Critical
Publication of KR100317377B1 publication Critical patent/KR100317377B1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes

Abstract

본 발명은 서로 다른 두 종류 이상의 컨벌루션 부호를 동시에 사용하는 유무선의 통신 시스템에서 여분의 보류된 비트(Reserved bit)를 이용하여 테일 비트수의 차이를 일치시키고 동시에 부호화 성능을 향상시키는 기술에 관한 것이다.The present invention relates to a technique for matching the difference in the number of tail bits by using extra reserved bits in a wired / wireless communication system using two or more different convolutional codes at the same time and at the same time improving coding performance.

이러한 본 발명의 목적은, L비트로 이루어진 하나의 데이터 블록이 입력될 때 그 데이터블록에 (K-1)개의 테일비트를 삽입하는 테일비트 삽입부(12)와; 상기 테일비트 삽입부(12)의 출력신호에 대해 컨벌루션 부호화를 수행하는 하나의 컨벌루션 부호화기 또는 병렬 혹은 직렬 연쇄 컨벌루션 부호화기로 이루어진 엔코더(13)와; 상기 데이터블록이 입력될 때 그 데이터블록에 (K1-K2)개의 보류된 비트를 삽입하는 보류비트 삽입부(14)와; 상기 보류비트 삽입부(14)의 출력신호에 대해 (K2-1)개의 테일비트를 삽입하는 테일비트 삽입부(15)와; 상기 테일비트 삽입부(15)의 출력신호에 대해 컨벌루션 부호화를 수행함에 있어서 테일 비트의 관계가 K1>K2인 경우, 출력 비트수를 일치시키 위해 (K1-K2)개의 보류된 비트를 사용하는 하나의 컨벌루션 부호화기 또는 병렬 혹은 직렬 연쇄 컨벌루션 부호화기로 이루어진 엔코더(16)에 의해 달성된다.The object of the present invention includes a tail bit inserting unit 12 for inserting (K-1) tail bits into a data block when one data block composed of L bits is inputted; An encoder (13) comprising one convolutional encoder or a parallel or serial convolutional convolutional encoder for performing convolutional coding on the output signal of the tail bit inserter (12); A hold bit inserter (14) for inserting (K1-K2) reserved bits into the data block when the data block is input; A tail bit inserting unit (15) for inserting (K2-1) tail bits to the output signal of the hold bit inserting unit (14); One of using (K1-K2) reserved bits to match the number of output bits when the relation of tail bits is K1> K2 in performing convolutional coding on the output signal of the tail bit inserter 15 Is achieved by an encoder 16 consisting of a convolutional encoder or a parallel or serial convolutional encoder.

Description

변복조 시스템의 부호화 및 복호화 장치{ENCODING AND DECODING APPARATUS FOR MODULATION AND DEMODULATION SYSTEM}ENCODED AND DECODING APPARATUS FOR MODULATION AND DEMODULATION SYSTEM}

본 발명은 서로 다른 두 종류 이상의 컨벌루션 부호를 동시에 사용하는 유무선의 통신 시스템에서 테일 비트(Tail bit)를 일치시키는 기술에 관한 것으로, 특히 여분의 보류된 비트(Reserved bit)를 사용하여 테일 비트수를 일치시키고 동시에 부호화 성능을 향상시키는데 적당하도록한 변복조 시스템의 부호화 및 복호화 장치에 관한 것이다.The present invention relates to a technique for matching tail bits in a wired or wireless communication system using two or more different types of convolutional codes at the same time. Particularly, the number of tail bits is used by using an extra reserved bit. The present invention relates to an encoding and decoding apparatus of a modulation / demodulation system, which is adapted to match and at the same time improve coding performance.

차세대 이동통신 시스템에서는 다양한 전송 속도와 서비스 품질을 만족시킬 수 있도록 하기 위하여, 한 가지 이상의 오류정정 부호를 사용하는 추세에 있다. 특히 차세세 이동통신시스템(예: IMT-2000)들은 다음의 두 가지 컨벌루션 부호 즉, 기존의 컨벌루션 부호(Convolutional code)나, 병렬 연쇄(Parallel concatenated) 컨벌루션 부호(일명: Turbo code) 혹은 직렬 연쇄(Serially concatenated) 컨벌루션 부호를 사용하였다.In the next generation mobile communication systems, one or more error correction codes are used to satisfy various transmission speeds and quality of service. In particular, next-generation mobile communication systems (eg, IMT-2000) have two convolutional codes, namely, conventional convolutional code, parallel concatenated convolutional code (aka Turbo code) or serial concatenation ( Serially concatenated convolution codes are used.

이때, 사용된 컨벌루션 부호의 트렐리스를 한 데이터 블록 내에서 약정된 상태로 종료시키기 위하여 테일 비트들을 한 데이터 블록의 종단 부분에 사용하는 것이 일반적이며, 구속장이 K인 컨벌루션 부호의 경우 (K-1)개의 테일 비트를 필요로 한다. 그런데, 시스템의 성능과 복잡도들이 고려되어 선택된 다른 종류의 컨벌루션 부호들의 트렐리스를 종료시키기 위해 필요한 테일 비트의 수는 일반적으로 다르다.In this case, in order to end the trellis of the used convolutional code in a contracted state in one data block, it is common to use tail bits at an end portion of one data block. 1) tail bits are required. However, considering the performance and complexity of the system, the number of tail bits needed to terminate the trellis of the other convolutional codes selected is generally different.

그러나, 종래기술에 의한 부호화 기술에 있어서는 차이가 나는 테일 비트들의 수를 맞추어 주기 위해 여분의 보류된 비트들에 대해 무작위 데이터를 사용하게 되어 있어 그 여분의 보류된 비트들의 효율적인 사용을 기대할 수 없고, 부호화의 성능 향상에 기여하지 못하는 결함이 있었다.However, in the conventional coding technique, random data is used for the extra reserved bits in order to match the number of tail bits which are different from each other, so an efficient use of the extra reserved bits cannot be expected. There is a defect that does not contribute to the improvement of the encoding.

따라서, 본 발명의 목적은 서로 다른 두 종류 이상의 컨벌루션 부호를 동시에 사용하는 유무선의 통신 시스템에서 별다른 하드웨어의 추가 없이 여분의 보류된 비트들을 효율적으로 처리하여 부호/복호화 성능도 함께 향상시키는 변복조 시스템의 부호화 및 복호화 장치를 제공함에 있다.Accordingly, an object of the present invention is to encode a modulation and demodulation system that efficiently processes extra reserved bits without additional hardware in a wired or wireless communication system using two or more different convolutional codes at the same time, thereby improving the code / decoding performance. And a decoding apparatus.

도 1은 본 발명에 의한 변복조 시스템의 부호화 장치의 일실시 예시 블록도.1 is a block diagram of an embodiment of an encoding apparatus of a modulation and demodulation system according to the present invention;

도 2의 (a)-(d)는 K1>K2인 경우 데이터블록과 테일비트 사이의 보류비트 삽입예를 보인 데이터 포맷도.2 (a)-(d) are data format diagrams showing an example of inserting a retention bit between a data block and tail bits when K1> K2.

도 3의 (a)-(d)는 K1>K2인 경우 데이터블록 사이의 최적화된 위치에 보류된 비트가 삽입되는 예를 보인 데이터 포맷도.3 (a)-(d) are data format diagrams illustrating an example in which a reserved bit is inserted at an optimized position between data blocks when K1> K2.

도 4는 N개의 시스템적 컨벌루션 부호화 기능을 갖는 병렬 연쇄 부호화기의 블록도.4 is a block diagram of a parallel concatenated encoder with N systematic convolutional coding functions.

도 5는 두 개의 컨벌루션 부호화기를 갖는 직렬 연쇄 부호화기의 블록도.5 is a block diagram of a serial concatenation encoder with two convolutional encoders.

도 6은 6개의 테일 비트를 필요로 하는 병렬 연쇄 컨벌루션 부호화기의 블록도.6 is a block diagram of a parallel convolutional convolutional encoder requiring six tail bits.

도 7은 두 개의 컨벌루션 부호화 기능을 갖는 병렬 연쇄 부호화기의 블록도.7 is a block diagram of a parallel concatenated encoder with two convolutional coding functions.

도 8은 본 발명에 의한 변복조 시스템의 복호화 장치의 일실시 예시 블록도.8 is an exemplary block diagram of an apparatus for decoding a demodulation system according to the present invention.

도 9는 도 8에 대한 복호화 과정의 신호 흐름도.9 is a signal flowchart of a decoding process of FIG. 8;

도 10a-10f는 데이터 블록과 테일 비트 사이에 보류된 비트를 삽입하여 모의 실험을 한 결과를 나타낸 표.10A-10F are tables showing simulation results by inserting reserved bits between data blocks and tail bits.

도 11a-11f는 데이터 블록의 중간 위치에 보류된 비트를 삽입하여 모의 실험한 결과를 나타낸 표.11A-11F are tables showing simulation results by inserting a reserved bit at an intermediate position of a data block.

도 12는 도 10 및 도 11의 모의 실험을 위해 사용된 구속장 4인 엔코더의 블록도.12 is a block diagram of an encoder with constraint 4 used for the simulations of FIGS. 10 and 11.

***도면의 주요 부분에 대한 부호의 설명****** Description of the symbols for the main parts of the drawings ***

11 : 데이터블록 출력부 12,15 : 테일비트 삽입부11: Data block output section 12,15: Tail bit insertion section

13,16 : 엔코더 14 : 보류비트 삽입부13,16: encoder 14: hold bit insertion unit

81 : 디인터리버 82,84 : 인터리버81: deinterleaver 82,84: interleaver

83,85 : 디코더 86,88 : 램83,85 Decoder 86,88 RAM

87,89 : 롬87,89: Rom

본 발명의 제1특징에 따르면, 여분의 보류된 비트들의 활용 방안으로써 부호화기(Encoder)에서 여분의 보류된 비트들을 위하여 무작위 데이터가 아닌 약정된 비트들을 사용한다.According to a first aspect of the present invention, as a scheme for utilizing extra reserved bits, an encoder uses reserved bits rather than random data for extra reserved bits.

본 발명의 제2특징에 따르면, 상기 제1특징에 따른 보류된 비트들의 활용 방안으로써 부호화기에서 여분의 보류된 비트들의 사용 위치는, 데이터 블록과 테일 비트 사이이다.According to a second aspect of the present invention, the use position of extra reserved bits in the encoder as a method of utilizing the reserved bits according to the first characteristic is between the data block and the tail bits.

본 발명의 제3특징에 따르면, 상기 제1특징에 따른 보류된 비트들의 활용 방안으로써 부호화기에서 여분의 보류된 비트들의 사용 위치는, 비트 에러 레이트(BER: Bit Error Rate)나 프레임 에러 레이트(FER: Frame Error Rate) 관점에서 성능을 최적화 시키는 임의의 데이터 블록 사이이다.According to a third aspect of the present invention, as a method of utilizing reserved bits according to the first aspect, a position where an extra reserved bits are used in an encoder is a bit error rate (BER) or a frame error rate (FER). : It is between arbitrary data blocks that optimize performance in terms of Frame Error Rate.

본 발명의 제4특징에 따르면, 상기 제1특징에 따른 보류된 비트들의 활용 방안은,부호화기에서 이미 알려진 비트(약정된 비트)를 사용함으로써 여분의 보류된 비트들에 대하여 복호기가 미리 알게 되는 정보를 복호 과정에서 활용하는 것이다.According to a fourth aspect of the present invention, there is provided a method of utilizing reserved bits according to the first aspect, wherein information that the decoder knows in advance about extra reserved bits by using a previously known bit (committed bit) in the encoder. Is used in the decoding process.

본 발명의 제5특징에 따르면, 제1-4 특징에 따른 보류된 비트들의 활용 방안으로써 인터리버를 같이 사용하는 병렬 혹은 직렬 연쇄 컬벌루션 부호화기가 사용되는 시스템에 적용되는 경우, 복호기는 복호시에 미리 알게 된 정보를 반복적인 복호(Iterative decoding) 과정을 통해 더욱 더 효율적으로 사용하게 되는 것이다.According to a fifth aspect of the present invention, when applied to a system in which a parallel or serial convolutional coder using an interleaver is used as a method of utilizing reserved bits according to the features 1-4, the decoder is previously decoded. The learned information is used more efficiently through an iterative decoding process.

본 발명의 제6특징에 따르면, 상기 제5특징에 따른 보류된 비트들의 활용 방안으로써 인터리버를 같이 사용하는 병렬 혹은 직렬 연쇄 컨벌루션 부호화기가 사용되는 시스템에 적용되는 경우, 복호기는 반복적인 복호(Iterative decoding)를 수행할 때 미리 알려진 여분의 보류된 비트들에 대한 정보를 그 보류된 비트들의 발생 확률 비율을 근거로 반영하는 것이다.According to a sixth aspect of the present invention, when applied to a system in which a parallel or serial convolutional convolutional coder using an interleaver is used as a method of utilizing reserved bits according to the fifth aspect, the decoder performs iterative decoding. ) Is to reflect the information on the reserved bits reserved in advance based on the probability of occurrence of the reserved bits.

이하, 첨부한 도면을 참조하여 본 발명에 의한 부호 및 복호 장치의 구성 및 작용을 설명한다.EMBODIMENT OF THE INVENTION Hereinafter, the structure and operation | movement of the code | symbol and decoding apparatus by this invention are demonstrated with reference to attached drawing.

도 1은 본 발명의 목적을 달성하기 위한 변복조 시스템의 부호화 장치의 일실시 예시 블록도로서 이에 도시한 바와 같이, L비트로 이루어진 하나의 데이터 블록을 연속적으로 출력하는 데이터블록 출력부(11)와; 상기 데이터블록 출력부(11)에서 출력되는 데이터블록의 출력 경로를 절환하는 스위치(SW1)와; 상기 스위치(SW1)를 통해 데이터블록이 입력될 때 그 데이터블록에 (K-1)개의 테일비트를 삽입하는 테일비트 삽입부(12)와; 상기 테일비트 삽입부(12)의 출력신호에 대해 컨벌루션 부호화를 수행하는 하나의 컨벌루션 부호화기 또는 병렬 혹은 직렬 연쇄 컨벌루션 부호화기로이루어진 엔코더(13)와; 상기 스위치(SW1)를 통해 데이터블록이 입력될 때 그 데이터블록에 (K1-K2)개의 보류된 비트를 삽입하는 보류비트 삽입부(14)와; 상기 보류비트 삽입부(14)의 출력신호에 대해 (K2-1)개의 테일비트를 삽입하는 테일비트 삽입부(15)와; 상기 테일비트 삽입부(15)의 출력신호에 대해 컨벌루션 부호화를 수행함에 있어서 테일 비트의 관계가 K1>K2인 경우, 출력 비트수를 일치시키 위해 (K1-K2)개의 보류된 비트를 사용하는 하나의 컨벌루션 부호화기 또는 병렬 혹은 직렬 연쇄 컨벌루션 부호화기로 이루어진 엔코더(16)로 구성한 것으로, 이와 같이 구성한 본 발명의 작용을 첨부한 도 2 내지 도 12를 참조하여 상세히 설명하면 다음과 같다.1 is an exemplary block diagram of an encoding apparatus of a modulation / demodulation system for achieving an object of the present invention. As shown therein, a data block output unit 11 continuously outputs one data block composed of L bits; A switch SW1 for switching an output path of a data block output from the data block output unit 11; A tail bit inserting unit (12) for inserting (K-1) tail bits into the data block when the data block is input through the switch (SW1); An encoder (13) formed of one convolutional encoder or a parallel or serial convolutional convolutional encoder for performing convolutional coding on the output signal of the tail bit inserter (12); A hold bit inserter (14) for inserting (K1-K2) reserved bits into the data block when the data block is input through the switch (SW1); A tail bit inserting unit (15) for inserting (K2-1) tail bits to the output signal of the hold bit inserting unit (14); One of using (K1-K2) reserved bits to match the number of output bits when the relation of tail bits is K1> K2 in performing convolutional coding on the output signal of the tail bit inserter 15 It is composed of an encoder 16 consisting of a convolutional encoder or a parallel or serial convolutional coder, which will be described in detail with reference to FIGS. 2 to 12 attached to the operation of the present invention.

예를 들어, 엔코더(13)는 (K1-1)개의 테일 비트가 필요하고 엔코더(16)는 (K2-1)개의 테일 비트가 필요하며 그 테일 비트의 관계가 K1>K2인 경우, 두 엔코더(13),(16)의 출력 비트수를 일치시키 위해 그 엔코더(16)에서는 (K1-K2)개의 보류된 비트가 사용된다.For example, if the encoder 13 needs (K1-1) tail bits and the encoder 16 needs (K2-1) tail bits and the relationship of the tail bits is K1> K2, the two encoders In order to match the number of output bits of (13) and (16), (K1-K2) reserved bits are used in the encoder 16.

상기 엔코더(13)는 하나의 컨벌루션 부호화기로 구현될 수도 있고, 병렬 혹은 직렬 연쇄 컨벌루션 부호화기로 구현될 수도 있다. 이와 마찬가지로 또 다른 엔코더(16)도 하나의 컨벌루션 부호화기로 구현될 수도 있고, 병렬 혹은 직렬 연쇄 컨벌루션 부호화기로 구현될 수도 있다.The encoder 13 may be implemented by one convolutional encoder, or may be implemented by a parallel or serial convolutional convolutional encoder. Similarly, another encoder 16 may be implemented with one convolutional encoder, or may be implemented with a parallel or serial convolutional convolutional encoder.

상기의 설명에서와 같이 변복조 시스템에 병렬 연쇄 컨벌루션 부호화기가 사용될 경우 도 4에서와 같이 적어도 두 개 이상의 시스템적 부호화기(Systematic Convolutional Coder)(42A-42N)를 구비하게 된다. 또한, 상기 변복조 시스템에 직렬연쇄 컨벌루션 부호화기가 사용될 경우 도 5에서와 같이 두 개의 컨벌루션 부호화기(51),(54)를 구비하게 된다.When the parallel convolutional coder is used in the modulation / demodulation system as described above, at least two systemic coders 42A to 42N are provided as shown in FIG. 4. In addition, when the serial convolutional encoder is used in the modulation and demodulation system, two convolutional encoders 51 and 54 are provided as shown in FIG. 5.

데이터블록 출력부(11)에서 L비트 단위의 데이터 블록이 출력되는데, 그 L=376이고, 엔코더(13)는 8개의 테일 비트를 필요로 하는 컨벌루션 부호화기 이며, 엔코더(16)는 6개의 테일 비트를 필요로 하는 병렬 연쇄 컨벌루션 부호화기로 가정한다. 도 6은 6개의 테일 비트를 필요로 하는 연쇄 컨벌루션 부호화기의 일실시 구현 예를 보인 블록도이다. 이와 같은 경우 상기 엔코더(16)는 2개의 보류된 비트가 필요하다.The data block output unit 11 outputs a data block in units of L bits, in which L = 376, the encoder 13 is a convolutional encoder requiring 8 tail bits, and the encoder 16 has 6 tail bits. Assume that we have a parallel convolutional convolutional encoder that requires. 6 is a block diagram illustrating an embodiment of a convolutional convolutional encoder requiring six tail bits. In this case, the encoder 16 needs two reserved bits.

보류된 비트들이 삽입되는 위치를 도 2를 참조하여 설명하면 다음과 같다.스위치(SW1)가 고정단자(a)에 단락될 때 데이터블록 출력부(11)에서 출력되는 도 2의 (a)와 같은 L비트의 데이터가 그 스위치(SW1)를 통해 테일비트 삽입부(12)에 공급되어 도 2의 (b)와 같이 (K-1)개의 테일 비트들이 추가된 후 상기 엔코더(13)에 공급되어 부호화 처리된다.The position at which the reserved bits are inserted will be described with reference to FIG. 2 as shown in FIG. 2A and FIG. 2A output from the data block output unit 11 when the switch SW1 is shorted to the fixed terminal a. The same L bits of data are supplied to the tail bit inserting unit 12 through the switch SW1, and (K-1) tail bits are added to the encoder 13 as shown in FIG. And encoding processing.

또한, 상기 스위치(SW1)가 고정단자(b)에 단락될 때에는 상기 데이터블록 출력부(11)에서 출력되는 도 2의 (a)와 같은 L비트의 데이터가 그 스위치(SW1)를 통해 테일비트 삽입부(14)에 공급되어 도 2의 (c)와 같이 (K1-K2)개의 보류된 비트들이 추가되고, 이후 다음 단의 테일비트 삽입부(15)에 공급되어 도 2의 (d)와 같이 (K2-1)개의 테일 비트들이 추가된 다음 상기 엔코더(16)에 공급되어 부호화 처리된다.In addition, when the switch SW1 is short-circuited to the fixed terminal b, L-bit data such as (a) of FIG. 2 output from the data block output unit 11 is tail bit through the switch SW1. (K1-K2) reserved bits are added to the insertion section 14, as shown in (c) of FIG. 2, and then the tail bit insertion section 15 of the next stage is supplied to (d) of FIG. Similarly, (K2-1) tail bits are added and then supplied to the encoder 16 for encoding.

도 7은 상기 엔코더(16)와 관련하여 보류된 비트들이 삽입되는 과정을 나타낸 것이다. 즉, 도 1에서 스위치(SW1)가 고정단자(b)에 단락될 때, 데이터블록 출력부(11)에서 순차적으로 출력되는 데이터블록이 그 스위치(SW1)의 고정단자(b)를 통해 가산기(71)에 공급되어 보류된 2개의 비트가 부가된 후 한편으로는 가산기(72)에 공급되어 3개의 테일비트가 부가된 다음 시스템적 부호화기(73)를 통해 부호화 처리되고, 다른 한편으로는 인터리버(74)를 통해 가산기(75)에 공급되어 3개의 테일비트가 부가된 후 시스템적 부호화기(76)를 통해 부호화 처리된다. 이렇게 부호화된 각각의 데이터가 2단의 펑처링 패턴(77),(78)을 통해 펑쳐링되는데, 첫 번째의 펑처링 패턴(77)은 테일비트를 포함하지 않으며, 두 번째의 펑처링 패턴(78)는 테일비트를 위한 펑쳐링 패턴이다.7 illustrates a process of inserting reserved bits in relation to the encoder 16. That is, in FIG. 1, when the switch SW1 is shorted to the fixed terminal b, the data block sequentially output from the data block output unit 11 is added through the fixed terminal b of the switch SW1. After the two bits supplied and withheld to 71 are added, on the one hand, it is supplied to the adder 72, three tail bits are added, and then encoded through the system encoder 73, and on the other hand, the interleaver ( 74 is supplied to the adder 75, and three tail bits are added, and then encoded by the system encoder 76. Each of the encoded data is punctured through two levels of puncturing patterns 77 and 78. The first puncturing pattern 77 does not include tail bits, and the second puncturing pattern ( 78) is a puncturing pattern for tail bits.

도 3은 본 발명의 다른 실시 예를 보인 것으로, 이는 상기 도 2와 달리 보류된 비트들을 데이터 블록내 데이터 사이의 최적화된 위치에 삽입한다. 여기서, '최적화된 위치'란 비트 에러(Bit Error) 또는 프레임 에러(Frame Error)를 평균적으로 감소시키는 위치를 의미하며, 이러한 위치는 모의실험 결과를 근거로 한다.3 illustrates another embodiment of the present invention, which inserts reserved bits into an optimized position between data in a data block unlike FIG. Here, the 'optimized position' refers to a position in which bit errors or frame errors are reduced on average, and these positions are based on simulation results.

이와 같은 과정을 통해 생성된 부호들이 변조된 후 소정의 통신 채널을 통해 수신기측으로 전송되어 복호기에서 복호처리 된다.Codes generated through the above process are modulated and then transmitted to a receiver through a predetermined communication channel and decoded by a decoder.

복호화 과정에서는 '비터비 알고리즘' 형태의 최대 확률 복호 알고리즘이 사용되며, 연판정 출력값을 이용하는 반복적인 복호 알고리즘(Iterative decoding algorithm)을 사용하는 경우 효율성을 더욱 향상시킬 수 있다.In the decoding process, the maximum probability decoding algorithm of the 'Viterbi algorithm' type is used, and when the iterative decoding algorithm using the soft decision output value is used, the efficiency can be further improved.

사용될 수 있는 '비터비 알고리즘' 형태의 연판정 출력값을 이용하는 반복적인 복호 알고리즘의 예로써, Maximum a Posteriori (MAP) algorithm, Soft-Output Viterbialgorithm (SOVA), Max-Log-MAP algorithm 등이 있다.Examples of iterative decoding algorithms that use soft decision outputs in the form of a 'Viterbi algorithm' can be used: Maximum a Posteriori (MAP) algorithm, Soft-Output Viterbialgorithm (SOVA), Max-Log-MAP algorithm.

상기 비터비 알고리즘 형태의 연판정 출력값을 이용하는 반복적인 복호 알고리즘은 복호 과정에서 데이터 블록이 부호화되기 전의 신호의 발생 확률비를 사용한다. 예로써, 도 1의 데이터블록 출력부(11)에서 출력되는 데이터블록(P1)의 신호가 '1' 또는 '-1'인 이진 신호일 경우 다음의 (식1)의 확률비나 (식2)의 확률비의 로그값이 반복적인 복호 알고리즘에서 사용된다.The iterative decoding algorithm using the soft decision output value of the Viterbi algorithm type is a signal before the data block is encoded in the decoding process. The probability of occurrence of is used. For example, the signal of the data block P1 output from the data block output unit 11 of FIG. 1. If is a binary signal of '1' or '-1', the logarithm of the probability ratio of Equation 1 or Equation 2 is used in the iterative decoding algorithm.

--------------- (식1) --------------- (Equation 1)

--------------_--(식2) --------------_-- (Equation 2)

상기 연판정 출력값을 이용하는 반복적인 복호 알고리즘이 사용될 때, 보류된 비트들에 대하여 미리 알려진 사실을 상기 (식1)이나 (식2)에 의해 정의된 값에 반영하여 반복적인 복호 과정을 수행하게 된다.When an iterative decoding algorithm using the soft decision output value is used, an iterative decoding process is performed by reflecting a known fact about reserved bits to a value defined by Equation (1) or (2). .

즉, 상기 (식1)과 (식2)의 값을 다음의 (식3),(식4)와 같이 결정하여 보류된 비트들에 대하여 미리 복호기에 알려진 사실을 반영하게 된다.That is, the values of the expressions (1) and (2) are determined as shown in the following expressions (3) and (4) to reflect the facts previously known to the decoder for the reserved bits.

------------(식3) ------------ (Equation 3)

------------(식4) ------------ (Equation 4)

상기 (식3),(식4)에서은 엔코더(16)를 위한 2개의 보류된 비트들이다. 또한, 상기 (식3),(식4)에서 △는에 해당하는 전송 데이터를 복호 할 때 다른 데이터들의 영향에 의해 오류가 발생하지 않을 정도의 큰 값으로 설정된 양수이다. 참고로, 복조 시스템이 복호 알고리즘을 수행하는데 허락되는 최대의 양수값을 사용할 때 가장 이상적인 성능을 나타낸다.In formula (3), (formula 4) Is two reserved bits for encoder 16. Further, in the formulas (3) and (4),? It is a positive value set to a value large enough so that an error does not occur due to the influence of other data when decoding the corresponding transmission data. For reference, the demodulation system shows the most ideal performance when using the maximum positive value allowed to perform the decoding algorithm.

도 8은 상기 보류된 비트들에 대하여 알고 있는 정보를 상기 (식3)이나 (식4)에 의하여 활용하는 반복적인 복호 알고리즘을 사용하는 복호기의 일실시 구현예를 나타낸 것이다. 여기서, 두 디코더(83),(85)는 복호 알고리즘을 소정 횟수 동안 반복 수행함과 동시에 그때마다 갱신되는(또는) 값들을 저장하고 있는 램(86),(88)을 이용하게 된다.FIG. 8 illustrates an embodiment of a decoder using an iterative decoding algorithm utilizing information known to the reserved bits by Equation (3) or (4). Here, the two decoders 83 and 85 repeatedly perform the decoding algorithm for a predetermined number of times and are updated each time. Wow (or and ) Using RAMs 86 and 88 that store values.

이때,(또는) 값들은 반복적으로 수행되는 복호 알고리즘에 의해 계산된 값으로 갱신되지만,(혹은)의 값들은 상기 (식3)이나 (식4)에 의하여 정의된 값으로 상기 램(86),(88) 상의 정해진 위치에 반복적으로 기록된다.At this time, (or ) Values are updated with values calculated by the decoding algorithm performed repeatedly. and (or and ) Are repeatedly recorded at predetermined positions on the RAMs 86 and 88 with the values defined by Equation 3 or 4 above.

상기에서(혹은) 값들의 반복적인 기록과정을 도 9를 참조하여 설명하면 다음과 같다.From above and (or and Repeated recording of the values) will be described with reference to FIG.

예를 들어, 도 1의 엔코더(16)가 도 6에서와 같이 6개의 테일비트를 필요로 하는 병렬 연쇄 컨벌루션 부호화기로 구현되는 경우, 소정의 전송채널을 통해 그 엔코더(16)로부터 부호화 처리된 벡터신호가 입력되는데, 이때, 램(86)의 모든 값들을 σ으로 초기화 시키고, 롬(87)에서 선택된 값을 그 램(86)의 주소 중 보류된 비트(Reserved bit)의 해당 주소에 라이트(write)한다.(S1-S3)For example, when the encoder 16 of FIG. 1 is implemented with a parallel convolutional convolutional encoder requiring six tail bits as shown in FIG. 6, a vector encoded from the encoder 16 through a predetermined transport channel signal In this case, all values of the RAM 86 are initialized to σ, and the value selected in the ROM 87 is written to the corresponding address of the reserved bit among the addresses of the RAM 86. (S1-S3)

이때, 디코더(83)에서는 상기 램(86)에 라이트된 값을 이용하여 입력벡터신호를 디코딩하고, 이로부터 출력되는 신호가 인터리버(84)에 의해 인터리빙된 후 또 다른 램(88)에 라이트되고, 이때, 롬(89)에서 선택된 값을 그 램(88)의 주소 중 보류된 비트의 해당 주소에 라이트한다.(S4-S7)In this case, the decoder 83 uses the value written to the RAM 86 to input the input vector signal. Decode and output the signal from Is written to another RAM 88 after being interleaved by the interleaver 84, and at this time, the value selected in the ROM 89 is written to the corresponding address of the reserved bits in the address of the RAM 88. (S4 -S7)

디코더(85)에서는 상기 램(88)에 라이트된 값을 이용하여 입력신호를 디코딩하게 되는데, 이 입력신호란 상기 벡터신호가 인터리버(82)를 통해 인터리빙된 신호와 상기 인터리버(84)의 출력신호, 상기 벡터신호를 의미한다.(S8)The decoder 85 decodes an input signal using the value written to the RAM 88. The input signal is the vector signal. Is interleaved by the interleaver 82, the output signal of the interleaver 84, and the vector signal. (S8)

이와 같은 복호화 처리과정을 기 설정된 횟수만큼 반복적으로 수행하게 되는데, 아직 기 설정된 횟수에 도달되지 않은 경우 상기 디코더(85)의 출력신호를 디인터리버(81)를 통해 디인터리빙한 다음 상기 램(86)에 라이트하여 상기 제3스텝(S3)으로 복귀하여 상기의 과정을 반복 수행하게 된다.(S9-S11)The decoding process is repeatedly performed a predetermined number of times. If the predetermined number of times has not yet been reached, the output signal of the decoder 85 is deinterleaved through the deinterleaver 81 and then the RAM 86 is executed. The process returns to the third step S3 and repeats the above process (S9-S11).

그러나, 상기와 같은 복호화 처리과정이 기 설정된 횟수만큼 반복 수행된 경우(수행된 복호화 횟수=K)에는 결정 변수값( Decision variable)을 계산하고, 그 계산된 결과를 근거로 하여 변수값(예: +1 또는 -1)을 결정하게 된다.(S12,S13)However, when the above decoding process is repeatedly performed a predetermined number of times (the number of decryptions performed = K), a decision variable value is calculated, and a variable value (for example, based on the calculated result) is calculated. +1 or -1) (S12, S13).

한편, 도 10a-10f는 도 2와 같이 데이터 블록과 테일 비트 사이에 상기와 같은 과정을 통해 보류된 비트를 삽입하여 모의 실험을 한 결과를 나타낸 것으로, 보류된 비트를 각각 '00','01','10','11'로 할 때 프레임 에러 수와 비트 에러 수가 랜덤 비트를 사용하는 경우에 비하여 적게 나타남을 알 수 있다.Meanwhile, FIGS. 10A to 10F illustrate simulation results by inserting a reserved bit through the above process between the data block and the tail bit as shown in FIG. 2. When it is set to '00', '01', '10', and '11', it can be seen that the number of frame errors and the number of bit errors is smaller than that of using random bits.

또한, 도 11a-11f는 상기 도 3과 같이 데이터 블록의 중간 위치에 보류된 비트를 삽입하여 모의 실험한 결과를 나타낸 것이다. 이때, 보류된 비트들의 삽입 위치는 모의 실험 결과를 근거로 BER과 FER을 적절히 향상시킬 수 있는 최적화된 곳으로 선정하게 된다.11A and 11F illustrate simulation results by inserting a reserved bit in an intermediate position of the data block as shown in FIG. 3. At this time, the insertion position of the reserved bits is selected as an optimized place to properly improve the BER and FER based on the simulation results.

도 12는 상기 도 10 및 도 11의 모의 실험을 위해 사용된 구속장 4인 엔코더(Recursive convolutional encoder)를 나타낸 것이다.FIG. 12 illustrates an encoder having a constraint field 4 used for the simulation of FIGS. 10 and 11.

상기의 제1실시예에서 사용된 엔코더(16)의 병렬 연쇄 컨볼루션 부호화기 대신에 직렬 연쇄 부호화기가 사용하여도 동일하게 적용될 수 있다.The same applies to the use of a serial concatenation encoder instead of the parallel convolutional encoder of the encoder 16 used in the first embodiment.

상기 제1,2 실시예에서 사용된 반복적인 복호 알고리즘 대신 경판정 출력값을 갖는 비터비 알고리즘을 사용할 수 있다. 이와 같은 경우 상기(혹은) 값들의 기록은 복호를 시작하기 전에 한번만 수행된다.Instead of the iterative decoding algorithm used in the first and second embodiments, a Viterbi algorithm having a hard decision output value may be used. In such a case and (or and Recording of the values is performed only once before starting decoding.

이상에서 상세히 설명한 바와 같이 본 발명은, 서로 다른 두 종류 이상의 컨벌루션 부호를 동시에 사용하는 유무선의 통신 시스템에서 차이가 나는 테일 비트들의 수를 맞추어 주기 위해 보류된 비트들을 삽입할 때 데이터 블록과 테일비트 사이에 삽입하거나, 비트 에러율 또는 프레임 에러율 관점에서 성능을 최적화 시키는 데이터 블록의 사이에 삽입함으로써 부호화 성능을 함께 향상시킬 수 있는 효과가 있다. 또한, 복호화 과정에서는 약정된 보류 비트들을 활용함으로써 복호화 효율을 향상시킬 수 있는 효과가 있다. 또한, 인터리버를 같이 사용하는 병렬 혹은 직렬 연쇄 컨벌루션 부호화기가 사용되는 시스템에 적용되는 경우, 복호시 미리 알게 되는 정보를 반복적인 복호화 과정에 이용함으로써 복호화 성능이 더욱 향상되는 효과가 있다.As described in detail above, the present invention relates to a data block and tail bits when inserting reserved bits to match the number of tail bits that are different in wired and wireless communication systems using two or more different convolutional codes simultaneously. By inserting in the interpolation, or between data blocks that optimize performance in terms of bit error rate or frame error rate, encoding performance can be improved together. In addition, in the decoding process, the decoding efficiency may be improved by utilizing the reserved bits. In addition, when applied to a system using a parallel or serial convolutional encoder using the interleaver, the decoding performance is further improved by using information previously known in decoding in an iterative decoding process.

Claims (5)

서로 다른 종류의 컨벌루션 부호화기가 동시에 사용되는 부호화 장치에 있어서, 소정 비트의 데이터 블록에 대해 테일비트를 삽입하는 제1테일비트 삽입부와, 상기 제1테일비트 삽입부의 출력신호에 대해 컨벌루션 부호화를 수행하는 제1부호화기를 포함하는 제1부호화 수단과; 상기 소정 비트의 데이터 블록에 대해 상기 제1부호화 수단과의 출력 비트수를 일치시키기 위해 미리 약정되어진 보류된 비트를 삽입하는 보류비트 삽입부와, 상기 보류비트 삽입부의 출력신호에 대해 테일비트를 삽입하는 제2테일비트 삽입부와, 상기 제2테일비트 삽입부의 출력신호에 대해 컨벌루션 부호화를 수행하는 제2부호화기를 포함하는 제2부호화 수단으로 구성한 것을 특징으로 하는 변복조 시스템의 부호화 장치.An encoding apparatus in which different types of convolutional encoders are used simultaneously, wherein a convolutional encoding is performed on a first tail bit inserter for inserting tail bits into a data block of a predetermined bit and an output signal of the first tail bit inserter. First encoding means comprising a first encoder; A retention bit inserter for inserting a reserved bit previously reserved for matching the number of output bits with said first encoding means with respect to the data block of the predetermined bit, and a tail bit for the output signal of the reserved bit inserter; And a second encoding means including a second tail bit inserting unit and a second encoder for performing convolutional encoding on the output signal of the second tail bit inserting unit. 제1항에 있어서, 보류비트 삽입부는 보류된 비트를 데이터 블록 내의 데이터들 사이에 삽입하되, 비트 에러 또는 프레임 에러를 평균적으로 감소시키는 최적화 된 위치에 삽입하도록 구성한 것을 특징으로 하는 변복조 시스템의 부호화 장치.The apparatus of claim 1, wherein the reserved bit inserter inserts the reserved bit between the data in the data block and inserts the reserved bit at an optimized position that reduces bit error or frame error on average. . 제2항에 있어서, 최적화 된 위치는 모의실험에 의해 결정되는 것임을 특징으로 하는 변복조 시스템의 부호화 장치.The apparatus of claim 2, wherein the optimized position is determined by simulation. 제1항에 있어서, 제2부호화 수단은 순차적으로 입력되는 데이터블록에 대해 보류된소정 개수의 비트를 삽입하는 가산기(71)와; 상기 가산기(71)의 출력신호에 대해 일정 개수의 테일비트를 삽입하는 가산기(72)와; 상기 가산기(72)의 출력신호를 부호화 처리하는 시스템적 부호화기(73)와; 상기 순차적으로 입력되는 데이터블록을 인터리빙하는 인터리버(74)와; 상기 인터리버(74)의 출력신호에 대해 소정 개수의 테일비트를 삽입하는 가산기(75)와; 상기 가산기(75)의 출력신호를 부호화 처리하는 시스템적 부호화기(76)와; 상기 두 시스템적 부호화기(73),(75)의 출력신호를 펑쳐링하는 2단의 펑처링 패턴(77),(78)으로 구성된 일련의 병렬 연쇄 컨벌루션 부호화기임을 특징으로 하는 변복조 시스템의 부호화 장치.2. The apparatus of claim 1, wherein the second encoding means comprises: an adder (71) for inserting a predetermined number of bits reserved for sequentially input data blocks; An adder 72 for inserting a predetermined number of tail bits to the output signal of the adder 71; A system encoder (73) for encoding the output signal of the adder (72); An interleaver (74) for interleaving the sequentially input data blocks; An adder (75) for inserting a predetermined number of tail bits to the output signal of the interleaver (74); A system encoder (76) for encoding the output signal of the adder (75); And a series of parallel convolutional convolutional encoders consisting of two levels of puncturing patterns (77) and (78) puncturing the output signals of the two systemic encoders (73) and (75). 소정 개수의 테일비트를 필요로 하는 병렬 연쇄 컨벌루션 부호화기에 대응되는 복호화기를 구현함에 있어서, 전송 채널을 통해 상기 부호화기로부터 부호화 처리된 벡터신호가 입력될 때 기 저장된 모든 값들이 초기화 되고, 롬(87)에서 선택된 값이 보류된 비트의 해당 주소에 라이트되는 램(86)과; 상기 램(86)에 라이트된 값을 이용하여 상기 입력 벡터신호를 디코딩하는 디코더(83)와; 상기 디코더(83)의 출력신호를 인터리빙하는 인터리버(84)와; 상기 인터리빙된 신호가 라이트된 후 롬(89)에서 선택된 값이 보류된 비트의 해당 주소에 라이트되는 램(88)과; 상기 램(88)에 라이트된 값을 이용하여, 인터리빙된 벡터신호, 상기 인터리버(84)의 출력신호 및 벡터신호를 부호화 처리하는 디코더(85)와; 상기 디코더(85)의 출력신호를 디인터리빙한 다음 상기 램(86)에 라이트하는 디인터리버(81)를 통해 기 설정된 횟수만큼 부호화 과정을 수행한 다음 결정 변수값을 계산하도록 구성한 것을 변복조 시스템의 복호화 장치.In implementing a decoder corresponding to a parallel convolutional convolutional encoder requiring a predetermined number of tail bits, a vector signal encoded from the encoder through a transmission channel RAM 86 initializes all stored values when is inputted and writes the selected value in the ROM 87 to the corresponding address of the reserved bit; The input vector signal by using the value written to the RAM 86 A decoder (83) for decoding the; An interleaver (84) for interleaving an output signal of the decoder (83); A RAM 88 in which the value selected in the ROM 89 is written to the corresponding address of the reserved bit after the interleaved signal is written; The interleaved vector signal using the value written to the RAM 88 And an output signal and a vector signal of the interleaver 84 A decoder 85 for encoding the data; Decoding the demodulation system by deinterleaving the output signal of the decoder 85 and then performing the encoding process a predetermined number of times through the deinterleaver 81 which writes to the RAM 86 and then calculates the decision variable value. Device.
KR1019990050819A 1999-11-16 1999-11-16 Encoding and decoding apparatus for modulation and demodulation system KR100317377B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990050819A KR100317377B1 (en) 1999-11-16 1999-11-16 Encoding and decoding apparatus for modulation and demodulation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990050819A KR100317377B1 (en) 1999-11-16 1999-11-16 Encoding and decoding apparatus for modulation and demodulation system

Publications (2)

Publication Number Publication Date
KR20010046865A KR20010046865A (en) 2001-06-15
KR100317377B1 true KR100317377B1 (en) 2001-12-24

Family

ID=19620287

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990050819A KR100317377B1 (en) 1999-11-16 1999-11-16 Encoding and decoding apparatus for modulation and demodulation system

Country Status (1)

Country Link
KR (1) KR100317377B1 (en)

Also Published As

Publication number Publication date
KR20010046865A (en) 2001-06-15

Similar Documents

Publication Publication Date Title
CA2363410C (en) Highly parallel map decoder
US8443265B2 (en) Method and apparatus for map decoding and turbo decoder using the same
KR100708475B1 (en) Pre-Decoder for recovering a punctured turbo code and a method therefor
JP3492632B2 (en) Applicable channel coding method and apparatus
CA2317202A1 (en) Channel decoder and method of channel decoding
JP2002532938A (en) Encoding and decoding apparatus having a serial chain structure in a communication system
KR20010072498A (en) Partitioned deinterleaver memory for map decoder
US6434203B1 (en) Memory architecture for map decoder
US6487694B1 (en) Method and apparatus for turbo-code decoding a convolution encoded data frame using symbol-by-symbol traceback and HR-SOVA
US20130007568A1 (en) Error correcting code decoding device, error correcting code decoding method and error correcting code decoding program
KR101051933B1 (en) Metric Computation for Map Decoding Using Trellis' Butterfly Structure
US7873897B2 (en) Devices and methods for bit-level coding and decoding of turbo codes
KR100628201B1 (en) Method for Turbo Decoding
KR19990081470A (en) Method of terminating iterative decoding of turbo decoder and its decoder
KR100317377B1 (en) Encoding and decoding apparatus for modulation and demodulation system
US20100318755A1 (en) Reduced contention storage for channel coding
JP4116554B2 (en) Turbo decoding method and apparatus for wireless communication
US7096410B2 (en) Turbo-code decoding using variably set learning interval and sliding window
KR100305293B1 (en) Method of calculating log likelihood ratio using minimium memory in a turbo decoder
KR20010113792A (en) Method and apparatus for decoding recursive convolutional symbols
KR19990013245A (en) Adaptive channel coding method and apparatus
WO2000057560A2 (en) Improved turbo decoder 1
KR19990017546A (en) Decoder of turbo encoder
JP2006528849A (en) Method, encoder and communication device for individually encoding code block segments
Shamir et al. Universal source controlled channel decoding with nonsystematic quick-look-in turbo codes

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: 20121026

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20131024

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee