KR20010037341A - Puncturing pattern search method for convolution code - Google Patents

Puncturing pattern search method for convolution code Download PDF

Info

Publication number
KR20010037341A
KR20010037341A KR1019990044799A KR19990044799A KR20010037341A KR 20010037341 A KR20010037341 A KR 20010037341A KR 1019990044799 A KR1019990044799 A KR 1019990044799A KR 19990044799 A KR19990044799 A KR 19990044799A KR 20010037341 A KR20010037341 A KR 20010037341A
Authority
KR
South Korea
Prior art keywords
bit
puncturing
puncturing pattern
input
sequence
Prior art date
Application number
KR1019990044799A
Other languages
Korean (ko)
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 KR1019990044799A priority Critical patent/KR20010037341A/en
Publication of KR20010037341A publication Critical patent/KR20010037341A/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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing

Abstract

PURPOSE: A method for searching a puncturing pattern of a convolution code is provided to classify an input bit sequence into three parts, determine a wait distribution and find an optimal puncturing table using the determined result. CONSTITUTION: In a method for searching a puncturing pattern of a convolution code, an input bit sequence is consisted of a first interval having an error path by a bit value "1", a tail bit interval formed by "0" sequence making a zero state and an optional sequence interval located between the first interval and the tail bit interval. An input sequence and a puncturing pattern are loaded and a coding process is performed, while a wait distribution for the input bit sequence is determined. The determined wait value is applied in a particular formula and thereby an optimal puncturing pattern is obtained.

Description

콘벌루션 코드의 펑쳐링패턴 서치 방법{PUNCTURING PATTERN SEARCH METHOD FOR CONVOLUTION CODE}Punching pattern search method of convolution code {PUNCTURING PATTERN SEARCH METHOD FOR CONVOLUTION CODE}

본 발명은 무선 이동통신 시스템에서 채널의 환경이 유동적으로 변화되거나, 멀티 미디어 데이터 전송시 데이터율(Data rate)을 적절히 조정하는 기술에 관한 것으로, 특히 소정의 구속장 길이와 데이터 비율을 갖는 콘벌루션 코드를 사용할 때 다양한 데이터율을 얻기 위해 사용되는 최적의 펑쳐링 패턴을 제공하는데 적당하도록한 콘벌루션 코드의 펑쳐링패턴 서치 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to a technique for properly changing a channel environment in a wireless mobile communication system or to appropriately adjusting a data rate during multimedia data transmission. The present invention relates to a puncturing pattern search method of a convolutional code that is suitable for providing an optimal puncturing pattern used to obtain various data rates when using a code.

근래 들어, 무선 이동통신 시스템에서 정보의 신뢰도를 향상시키기 위한 다양한 기술이 개발되고 있다. 그 중에서 에러 정정기법의 하나로 비터비 알고리즘을 채택한 콘벌루션 코딩(Convolution coding) 방식의 경우 이미 많은 시스템에 적용되어 사용되고 있는 실정에 있다. 예를 들어 상기 코딩방식은 IS-95, GSM 등의 이동통신 시스템에 적용되어 사용되고 있으며, 앞으로 등장하게 될 이동통신 시스템(예: IMT-2000)에도 이미 채택되어 있다. 이와 같이 상기 콘벌루션 코딩방식이 널리 사용되고 있는 이유는 다른 부호화 방식에 비하여 상대적으로 간단한 복호 알고리즘을 사용하고도 높은 부호이득을 얻는 장점을 가지고 있기 때문이다.Recently, various techniques for improving the reliability of information in a wireless mobile communication system have been developed. Among them, the convolution coding method adopting the Viterbi algorithm as one of the error correction techniques has been applied to many systems. For example, the coding scheme is applied to and used in mobile communication systems such as IS-95 and GSM, and has already been adopted in mobile communication systems (eg, IMT-2000) that will be introduced in the future. The reason why the convolutional coding scheme is widely used is that it has the advantage of obtaining a high code gain even when using a relatively simple decoding algorithm compared to other coding schemes.

채널의 환경이 유동적으로 변화되거나 멀티 미디어 데이터를 전송하고자 하는 경우, 송신측에서 고정된 데이터율을 고수하는 것 보다 적절하게 변화시킴으로써 데이터 전송효율을 향상시킬 수 있게 된다.When the environment of the channel is flexibly changed or the multimedia data is to be transmitted, the data transmission efficiency can be improved by appropriately changing the transmission side rather than sticking to a fixed data rate.

이렇게 데이터율을 변화시키는 방법의 예로써 각각의 데이터율에 적합한 최적의 부호단과 복호단을 설계하는 방법을 들 수 있지만, 이 경우 각각의 데이터율에 해당하는 부호단과 복호단을 모두 포함하고 있어야 하므로 시스템이 너무 복잡해지는 문제점이 있다.An example of a method of changing the data rate is a method of designing an optimal code end and a decoding end suitable for each data rate, but in this case, it is necessary to include both the code end and the decoding end corresponding to each data rate. There is a problem that the system is too complicated.

데이터율을 변화시키는 다른 방법으로써 펑쳐링 테이블(Puncturing table)을 사용하는 것을 들 수 있는데, 이 방법을 사용하면 낮은 데이터율을 갖는 하나의 부호단과 복호단으로 다양한 데이터율을 얻을 수 있다. 이 경우 펑쳐링 패턴에 따라 성능에 커다란 차이를 나타내므로 최적의 펑쳐링 테이블은 데이터율을 변화시키는 콘벌루션 코드의 중요한 파라미터라 할 수 있다.Another method of changing the data rate is to use a puncturing table, which can be used to obtain a variety of data rates with one code and a decoding end having a low data rate. In this case, since the performance varies greatly depending on the puncturing pattern, the optimal puncturing table is an important parameter of the convolution code that changes the data rate.

현재 고정된 데이터율이 1/2인 콘벌루션 코드를 다양한 데이터율에 대응시키기 위한 테이블이 알려져 있지만 데이터율이 1/3인 콘벌루션 코드에 대한 펑쳐링 패턴에 대해서는 알려진 기술이 없다. 구속장의 길이가 9이고, 데이터율이 1/3인 콘벌루션 코드는 차세대 이동통신의 다양한 채널에 채택되어 있기 때문에 유동적인 데이터 서비스를 위해 데이터율을 변화시킬 때 펑쳐링 패턴은 중요한 문제가 된다.Currently, a table is known for mapping a convolutional code having a fixed data rate of 1/2 to various data rates, but there is no known technique for puncturing patterns for convolutional codes having a data rate of 1/3. Since convolutional codes of length 9 and data rate 1/3 are adopted in various channels of next-generation mobile communication, puncturing patterns become an important issue when changing data rates for flexible data services.

그러나, 종래의 컴퓨터 시물레이션에 의한 비터비 디코더의 펑쳐링 패턴 구축방법에 있어서는 디코더에 입력할 통상의 입력 비트열에 따라 웨이트 디스트리뷰션(Weight distribution)을 결정하고, 이를 이용하여 펑쳐링 테이블을 구축하게 되어 있어 최적의 성능율 유지하는데 어려움이 있었다.However, in the conventional Viterbi decoder puncturing pattern construction method according to the computer simulation, the weight distribution is determined according to a normal input bit string input to the decoder, and the puncturing table is constructed using the weight distribution pattern. Difficulties in maintaining optimal performance rates.

따라서, 본 발명의 목적은 입력 비트열이 펑쳐링 주기를 갖는 펑쳐링 테이블에 의해 펑쳐링되어 천공되는 것을 감안하여 입력 비트열을 세 부분으로 구분하여 웨이트 디스트리뷰션을 결정한 다음 그 결과를 이용하여 최적의 펑쳐링 테이블을 찾아내는 펑쳐링패턴 서치 방법을 제공함에 있다.Accordingly, an object of the present invention is to determine the weight distribution by dividing the input bit string into three parts in consideration of the fact that the input bit string is punctured and punctured by a puncturing table having a puncturing period. The present invention provides a method for searching a puncturing pattern to find a puncturing table.

도 1a는 본 발명에 적용되는 송신단의 블록도.Figure 1a is a block diagram of a transmitting end applied to the present invention.

도 1b는 본 발명에 적용되는 수신단의 블록도Figure 1b is a block diagram of the receiving end applied to the present invention

도 2는 도 1a에서 엔코더의 예시 블록도.2 is an exemplary block diagram of an encoder in FIG. 1A;

도 3은 본 발명에 의한 입력 비트열 발생 방법의 신호 흐름도.3 is a signal flowchart of an input bit string generation method according to the present invention;

도 4는 본 발명에 의한 입력 비트열의 분류 예시도.4 is a diagram illustrating classification of input bit strings according to the present invention;

도 5는 본 발명에 의한 웨이트 디스트리뷰션 발생 방법의 신호 흐름도.5 is a signal flowchart of a weight distribution generation method according to the present invention;

도 6은 최적의 펑쳐링 테이블에 대한 비트 오율 그래프.6 is a bit error rate graph for an optimal puncturing table.

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

11A : 엔코더 11B : 펑쳐링 테이블11A: Encoder 11B: Punching Table

12A : 디펑쳐링 테이블 12B : 디코더12A: Depunching Table 12B: Decoder

본 발명의 목적을 달성하기 위한 콘벌루션 코드의 펑쳐링패턴 서치 방법은, 비트값 ″1″에 의해 잘못된 경로를 갖는 구간, 제로 상태로 만들어 주는 ″0″ 시퀀스에 의해 이루어지는 테일비트 구간, 그 두 구간의 중간에 위치하는 임의의 시퀀스 구간으로 이루어지는 입력 비트열을 생성하는 제1과정과; 입력 시퀀스와 펑쳐링 패턴을 로딩하여 부호화 과정을 수행하면서 상기 입력 비트열에 대한 웨이트 디스트리뷰션을 결정하는 제2과정과; 상기 제2과정에 의해 얻어진 웨이트값을 특정의 식에 적용하여 최적의 펑쳐링 패턴을 찾아내는 제3과정으로 이루어진다.In order to achieve the object of the present invention, a convolutional code puncturing pattern search method includes a section having an incorrect path by a bit value ″ 1 ″, a tail bit section formed by a ″ 0 ″ sequence which makes the state zero. A first step of generating an input bit string consisting of an arbitrary sequence section located in the middle of the section; A second process of determining a weight distribution for the input bit string while performing an encoding process by loading an input sequence and a puncturing pattern; The third step is to find an optimal puncturing pattern by applying the weight value obtained by the second step to a specific equation.

도 1a는 본 발명에 적용되는 송신단의 블록도로서 이에 도시한 바와 같이, 일련의 비트 스티림을 부호화 처리하여 원래의 비트 스트림과 다른 형태로 출력하는 엔코더(11A)와; 상기 엔코더(11A)에서 출력되는 부호화된 비트열을 채널로 전송할 때, 밴드폭의 손실을 줄이기 위해 콘벌루션 코드를 펑쳐링 패턴에 따라 제거하기 위한 펑쳐링 테이블(11B)로 구성되었다.Fig. 1A is a block diagram of a transmitter according to the present invention, as shown therein, which encodes a series of bit streams and outputs them in a different form from the original bit stream; When transmitting the encoded bit stream output from the encoder 11A to the channel, the puncturing table 11B is configured to remove the convolution code according to the puncturing pattern in order to reduce the loss of the bandwidth.

도 1b는 본 발명에 적용되는 수신단의 블록도로서 이에 도시한 바와 같이, 송신단으로부터 송출된 후 채널을 통해 수신되는 데이터에 대해 펑쳐링된 부분에 데이터를 삽입하기 위한 디펑쳐링 테이블(12A)과; 상기 디펑쳐링 테이블(12A)에 의해 보상 처리된 비트열로부터 원래의 비트열을 복원해내는 디코더(12B)로 구성된 것으로, 이와 같이 구성한 본 발명의 작용을 첨부한 도 2 내지 도 6을 참조하여 상세히 설명하면 다음과 같다.1B is a block diagram of a receiver applied to the present invention, as shown therein, a depuncturing table 12A for inserting data into a punctured portion for data received through a channel after being sent from the transmitter; It is composed of a decoder 12B which recovers the original bit string from the bit string compensated by the depuncturing table 12A, and is described in detail with reference to FIGS. 2 to 6 attached to the operation of the present invention. The explanation is as follows.

콘벌루션 형태의 엔코더(11A)를 통해 출력되는 데이터의 량은 원래 전송하고자 데이터량에 비하여 많게 되는데, 그 이유는 그 출력 데이터가 원래의 비트 스트림과 다른 형태로 연속된 데이터의 히스토리 정보를 갖기 때문이다. 저속(Low-late)의 콘볼루션 코드의 경우 소스 코드보다 양적 리던던시를 가지게 된다.The amount of data output through the convolutional encoder 11A becomes larger than the data amount to be originally transmitted, because the output data has history information of data that is continuous in a different form from the original bit stream. to be. Low-late convolutional code has quantitative redundancy than source code.

이것은 비터비 디코더에서 소스 코드로 디코딩하는 단계에서 에러가 없는 코드를 디코딩할 수 있도록 해주지만, 코딩 게인 측면에서 보면 밴드폭이 커져 손실이 상당히 커지게 된다. 따라서, 이렇게 야기된 밴드폭의 손실(코딩 게인 손실)을 줄이기 위해 펑쳐링 테이블(11B)을 통해 펑쳐링 작업을 수행하게 된다.This allows the error-free code to be decoded in the Viterbi decoder when decoding to source code, but in terms of coding gain, the bandwidth is large, resulting in significant losses. Therefore, the puncturing operation is performed through the puncturing table 11B in order to reduce the loss of bandwidth (coding gain loss) caused thereby.

이때, 변화 대상 코드가 펑쳐드 콘벌루션 코드(Punctured convolutional code)인 경우, 고정된 낮은 데이터율 (1/N)을 갖는 콘벌루션 코드를 기본으로 주기 P를 갖는 펑쳐링 패턴을 이용하여 데이터율을 다양하게 변화시킬 수 있는데, 이렇게 변환된 데이터율 r은 다음의 (식1)로 표현된다.In this case, when the change target code is a punctured convolutional code, the data rate is adjusted using a puncturing pattern having a period P based on a convolution code having a fixed low data rate (1 / N). The data rate r converted in this way is expressed by the following expression (1).

----------------(식1) ---------------- (Eq. 1)

이때, 펑쳐링 패턴은 다음의 (식2)로 표현된다.At this time, the puncturing pattern is expressed by the following expression (2).

인 경우 부호화된 신호는 그대로 채널을 통해 전송되지만,인 경우에는 부호화된 신호를 없애기 때문에 채널로 전송되지 않는다. If is, the encoded signal is transmitted through the channel as it is. In the case of, since the coded signal is discarded, it is not transmitted through the channel.

한편, 수신단에서는 상기 펑쳐링으로 인하여 손실된 데이터를 복원하는 작업 즉, 비터비의 디코더(12B)로 데이터가 입력되기 전에 펑쳐링된 부분에 데이터를 삽입하는 작업이 필요한데, 이 작업이 디펑쳐링 테이블(12A)에 의해 수행된다.Meanwhile, the receiving end needs to restore data lost due to the puncturing, that is, insert data into the punctured portion before the data is input to the Viterbi decoder 12B, which is a depuncturing table. Performed by 12A.

부호의 펑쳐링 테이블(12A)에 대해 복호단에서 미리 알고 있을 때, 부호단에서 제거된 신호에 더미(dummy) 신호를 삽입하여 모 부호 1/N에 해당되는 복호 알고리즘을 이용한다. 이때, 적용할 수 있는 복호 알고리즘으로 구속장의 길이가 작을 때 사용하는 비터비 알고리즘과 비교적 구속장의 길이가 길 때 사용하는 순차 알고리즘이 있는데, 본 발명에서는 수학적으로 오율을 계산할 수 있는 비터비 알고리즘을 채택하였다.When the decoding stage knows the puncturing table 12A of the code in advance, a dummy signal is inserted into the signal removed from the code stage to use a decoding algorithm corresponding to the mother code 1 / N. At this time, the decoding algorithm is applicable to the Viterbi algorithm used when the length of the constraint field is small and the sequential algorithm used when the length of the constraint field is relatively long, the present invention adopts the Viterbi algorithm that can calculate the error rate mathematically It was.

본 발명의 실시예에 적용된 콘벌루션 코드(convolutional code)는 구속장의 길이가 9이고, 데이터율이 1/3이다. 그리고 부호화된 데이터를 만들어내는 생성다항식은 각각,,이다.The convolutional code applied to the embodiment of the present invention has a restriction length of 9 and a data rate of 1/3. And the generated polynomials that produce the encoded data , , to be.

결국, 도 2와 같은 엔코더(11A)를 통해 부호화된 비트{X(1), X(2),X(3)}가 펑쳐링 테이블(11B)에 절달되어 이의 펑쳐링 패턴에 따라 콘벌루션 코드가 제거된 후 채널을 통해 전송되고, 이렇게 채널을 통해 전송되어 온 신호는 디펑쳐링 테이블(12A)에 의해 제거된 비트가 다시 보상처리된 후 이를 대상으로 복호 알고리즘을 수행하게 된다.As a result, the bits {X (1), X (2), X (3)} encoded through the encoder 11A as shown in FIG. 2 are delivered to the puncturing table 11B, and the convolutional code according to the puncturing pattern thereof. Is removed and then transmitted through the channel, and the signal transmitted through the channel is then subjected to a decoding algorithm after the bits removed by the depuncturing table 12A are compensated again.

이하, 본 발명에 의해 최적의 펑쳐링 패턴을 획득하는 과정에 대해 상세히 설명한다.Hereinafter, a process of obtaining an optimal puncturing pattern according to the present invention will be described in detail.

본 발명에서는 최적의 펑쳐링 패턴을 얻기위해 이론적인 비트 오율을 최소화 시키는 펑쳐링 패턴을 제안한다. 연판정을 하는 비터비 알고리즘을 사용하여 콘벌루션 코드를 복호할 때, 비트 오율의 상한 경계값은 부호화된 비트열의 웨이트 디스트리뷰션을 이용하여 얻을 수 있으며, 이는 다음의 (식5)로 표현된다.The present invention proposes a puncturing pattern that minimizes the theoretical bit error rate in order to obtain an optimal puncturing pattern. When decoding the convolution code using the soft decision Viterbi algorithm, the upper bound of the bit error rate can be obtained by using the weight distribution of the encoded bit string, which is expressed by the following equation (5).

----------------------(식5) ---------------------- (Eq. 5)

이때,은 부호화된 비트열의 최소 거리(minimum distance)이고,는 비터비 알고리즘에서 잘못된 경로를 선택하였을 때 부호화된 비트열의 웨이트가 d인 경우의 개수이다. 가우시안 채널에서 하나의 비트에 대한 오율은 다음의 (식6)으로 표현되고, 부호화된 비트열에서 잘못된 비트들이 서로 영향을 주지 않는다고 하면 (식5)의는 다음의 (식7)로 표현할 수 있다.At this time, Is the minimum distance of the coded bit stream, Is the number of cases where the weight of the coded bit string is d when the wrong path is selected in the Viterbi algorithm. The error rate for one bit in a Gaussian channel is represented by the following equation (6), and if the wrong bits in the coded bit stream do not affect each other, Can be expressed by the following equation (7).

-------------------------(식6) ------------------------- (Equation 6)

여기서, E는 전송된 신호의 에너지,은 노이즈 분산을 의미한다.Where E is the energy of the transmitted signal, Means noise variance.

-------------------------(식7) ------------------------- (Eq. 7)

상기의 식을 이용하여 모든 경우의 펑쳐링 패턴에 해당하는 부호화된 비트열의 웨이트 디스트리뷰션을 얻을 수 있으며 비트 오율의 상한값를 최소화 하는 펑쳐링 패턴을 찾을 수 있다.Using the above equation, the weight distribution of the coded bit string corresponding to the puncturing pattern in all cases can be obtained and the upper limit of the bit error rate You can find a puncturing pattern that minimizes

여기서, 상기 엔코더(11A)에 입력할 비트열의 발생 방법을 도 3을 참조하여 설명하면 다음과 같다.A method of generating a bit string to be input to the encoder 11A will now be described with reference to FIG. 3.

기 설정된 정수 값(I)이 펑쳐링 주기에 도달될때까지 입력렬에 제로 비트 ″0″을 계속적으로 삽입하다가 그 정수 값 I가 펑쳐링 주기에 도달되면 비트값 ″1″을 삽입한다(SA1-SA5). 이어서, 랜덤한 비트값을 소정 횟수에 걸쳐 삽입하다가 테일(tail) 비트값을 소정 횟수에 걸쳐 삽입한다(SA6,SA7).The zero bit ″ 0 ″ is continuously inserted into the input string until the preset integer value I reaches the puncturing period, and the bit value ″ 1 ″ is inserted when the integer value I reaches the puncturing period (SA1-). SA5). Subsequently, random bit values are inserted over a predetermined number of times, and tail bit values are inserted over a predetermined number of times (SA6 and SA7).

상기 입력 비트열이 펑쳐링 주기를 갖는 펑쳐링 테이블에 의해 천공되기 때문에 다음의 알고리즘에 따라 입력 비트열을 발생할 필요가 있는데, 이러한 입력 비트열은 도 4에서와 같이 크게 3구간으로 나누어진다.Since the input bit string is punctured by a puncturing table having a puncturing period, it is necessary to generate an input bit string according to the following algorithm, which is divided into three sections as shown in FIG. 4.

첫 번째 구간은 비트값 ″1″에 의해 잘못된 경로를 갖는 구간이다. 그리고 제로 상태로 만들어 주는 ″0″ 시퀀스에 의해 이루어지는 테일비트 구간, 마지막으로 상기 두 구간의 중간에 위치하는 임의의 시퀀스 구간으로 이루어진다.The first section is a section having a wrong path by the bit value ″ 1 ″. And a tail bit section formed by a ″ 0 ″ sequence that makes zero, and finally, an arbitrary sequence section located in the middle of the two sections.

상기와 같은 입력 비트열을 도 5의 알고리즘에 따라 각 입력에 따르는 웨이트 디스트리뷰션을 결정하고, 그 결과값(웨이트값)을 상기의 (식5)에 적용하여 최적의 펑쳐링 테이블을 찾아내게 된다.The weight distribution according to each input is determined according to the algorithm of FIG. 5 using the input bit string as described above, and the resultant value (weight value) is applied to Equation 5 to find an optimal puncturing table.

즉, 웨이트 디스트리뷰션 발생과정은 도 5에서와 같이, 발생된 입력 시퀀스를 로드하고, 펑쳐링 패턴을 로드한다(SB1,SB2). 이후, 상기 엔코더(11A)로부터 출력되는 웨이트 디스트리뷰션을 저장한다(SB3,SB4).That is, the weight distribution generation process loads the generated input sequence and loads the puncturing pattern as shown in FIG. 5 (SB1 and SB2). Thereafter, the weight distribution output from the encoder 11A is stored (SB3 and SB4).

최적의 펑쳐링 테이블(11B)에 대한 비트 오율 그래프를 도 6에 나타내었다. 즉, 도 6에서는 신호대 잡음비(S/N)가 5dB에서 펑쳐링 주기가 각각 2,3,4,5,6일 때 상기 (식5)에 따르는 이론적인 상한 오율을 나타내고 있다.A bit error rate graph for the optimal puncturing table 11B is shown in FIG. 6. That is, FIG. 6 shows the theoretical upper limit error rate according to Equation 5 when the signal-to-noise ratio S / N is 5 dB and the puncturing periods are 2, 3, 4, 5, and 6, respectively.

결국, 본 발명에서는 상기와 같은 펑쳐링패턴 서치과정에 컴퓨터 시물레이션을 이용하였으며, 그 결과는 다음과 같다.As a result, in the present invention, computer simulation was used in the puncturing pattern search process as described above. The results are as follows.

이상에서 상세히 설명한 바와 같이 본 발명은 구속장의 길이가 9이고 1/3 콘벌루션 코드를 사용하는 통신 시스템에 있어서, 멀티미디어 서비스를 제공하기 위해 다양한 데이터율을 필요로 하거나, 채널의 상태를 연속적으로 재귀하여 정보를 얻는 송신단의 구조에서 입력 비트열을 세 부분으로 구분하여 웨이트 디스트리뷰션을 결정한 다음 그 결과를 이용하여 최적의 펑쳐링 테이블을 찾아냄으로써 최적의 펑쳐링 테이블을 구축하는 것이 가능하게 되고, 이에 의해 전송 성능이 최대한 향상되는 효과가 있다.As described in detail above, the present invention requires a variety of data rates in order to provide a multimedia service in a communication system using a constriction length of 9 and using a 1/3 convolution code, or continuously recursively adjusts channel states. In the structure of the transmitter that obtains the information, the input bit string is divided into three parts to determine the weight distribution, and then the optimal puncturing table can be found by using the result, thereby constructing the optimal puncturing table. The transmission performance is improved as much as possible.

Claims (5)

비트값 ″1″에 의해 잘못된 경로를 갖는 구간, ″0″ 시퀀스에 의해 이루어지는 테일비트 구간, 그 두 구간의 중간에 위치하는 임의의 시퀀스 구간으로 이루어지는 입력 비트열을 생성하는 제1과정과; 상기 입력 비트열에 대한 웨이트 디스트리뷰션을 결정하는 제2과정과; 상기 제2과정에 의해 얻어진 웨이트값을 하기의 식에 적용하여 최적의 펑쳐링 패턴을 도출하는 제3과정으로 이루어지는 것을 특징으로 하는 콘벌루션 코드의 펑쳐링패턴 서치 방법.A first step of generating an input bit string comprising a section having a wrong path by a bit value ″ 1 ″, a tail bit section made by a ″ 0 ″ sequence, and an arbitrary sequence section located between the two sections; Determining a weight distribution for the input bit stream; And a third process of deriving an optimal puncturing pattern by applying the weight value obtained by the second process to the following equation. : 비트 오율의 상한값 : Upper limit of bit error rate : 부호화된 비트열의 최소 거리 : Minimum distance of coded bit stream : 비터비 알고리즘에서 잘못된 경로를 선택하였을 때 부호화된 비트열의 웨이트가 d인 경우의 개수 The number of cases where the weight of the coded bit string is d when the wrong path is selected in the Viterbi algorithm. 제1항에 있어서, 제1과정은 기 설정된 정수 값이 펑쳐링 주기에 도달될때까지 입력렬에 제로 비트 ″0″을 계속적으로 삽입하다가 그 정수 값 I가 펑쳐링 주기에 도달되면 비트값 ″1″을 삽입하는 제1단계와; 랜덤한 비트값을 소정 횟수에 걸쳐 삽입하다가 테일 비트값을 소정 횟수에 걸쳐 삽입하는 제2단계로 이루어지는 것을 특징으로 하는 콘벌루션 코드의 펑쳐링패턴 서치 방법.The method of claim 1, wherein the first process continuously inserts a zero bit ″ 0 ″ into the input string until a predetermined integer value reaches a puncturing period, and when the integer value I reaches the puncturing period, the bit value ″ 1. Inserting " And a second step of inserting a random bit value over a predetermined number of times and then inserting the tail bit value over a predetermined number of times. 제1항에 있어서, 제2과정은 발생된 입력 시퀀스와 펑쳐링 패턴을 로딩하는 제1단계와; 부호화기로부터 출력되는 웨이트 디스트리뷰션을 저장하는 제2단계를 포함하여 이루어지는 것을 특징으로 하는 콘벌루션 코드의 펑쳐링패턴 서치 방법.The method of claim 1, wherein the second process comprises: a first step of loading the generated input sequence and puncturing pattern; And a second step of storing a weight distribution outputted from the encoder. 제1항에 있어서, 펑쳐링 패턴은 구속장의 k=9, 1/3 콘벌루션 코드를 사용하는 유무선 통신시스템에 적용되는 것을 특징으로 하는 콘벌루션 코드의 펑쳐링패턴 서치 방법.The method of claim 1, wherein the puncturing pattern is applied to a wired / wireless communication system using a k = 9, 1/3 convolutional code of constraint length. 제1항 또는 제4항에 있어서, 펑쳐링 패턴은 펑쳐링 주기가 2,3,4,5,6일 때 적용되는 것임을 특징으로 하는 콘벌루션 코드의 펑쳐링패턴 서치 방법.The method of claim 1 or 4, wherein the puncturing pattern is applied when the puncturing period is 2,3,4,5,6.
KR1019990044799A 1999-10-15 1999-10-15 Puncturing pattern search method for convolution code KR20010037341A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990044799A KR20010037341A (en) 1999-10-15 1999-10-15 Puncturing pattern search method for convolution code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990044799A KR20010037341A (en) 1999-10-15 1999-10-15 Puncturing pattern search method for convolution code

Publications (1)

Publication Number Publication Date
KR20010037341A true KR20010037341A (en) 2001-05-07

Family

ID=19615538

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990044799A KR20010037341A (en) 1999-10-15 1999-10-15 Puncturing pattern search method for convolution code

Country Status (1)

Country Link
KR (1) KR20010037341A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100379385B1 (en) * 1999-12-24 2003-04-10 엘지전자 주식회사 parameter determining method for fixed position rate matching in downlink
KR100856235B1 (en) * 2005-09-26 2008-09-03 삼성전자주식회사 Apparatus and method for encoding and decoding block low density parity check codes with a variable coding rate

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100379385B1 (en) * 1999-12-24 2003-04-10 엘지전자 주식회사 parameter determining method for fixed position rate matching in downlink
KR100856235B1 (en) * 2005-09-26 2008-09-03 삼성전자주식회사 Apparatus and method for encoding and decoding block low density parity check codes with a variable coding rate
US7802164B2 (en) 2005-09-26 2010-09-21 Samsung Electronics Co., Ltd Apparatus and method for encoding/decoding block low density parity check codes having variable coding rate

Similar Documents

Publication Publication Date Title
KR100566084B1 (en) Soft decision output decoder for decoding convolutionally encoded codewords
EP0927464B1 (en) Convolutional decoding with the ending state decided by crc bits selectively placed inside multiple coding bursts
CN101069355B (en) Puncturing/depuncturing using compressed differential puncturing pattern
KR20010052058A (en) Communications systems and methods employing parallel coding without interleaving
US10560123B2 (en) Method for generating a sequence for a pola code and medium therefor and method and apparatus for transmitting data using thereof
JPH0555932A (en) Error correction coding and decoding device
US6209116B1 (en) Adaptable overlays for forward error correction schemes based on trellis codes
JP2002534895A (en) Apparatus and method for processing convolutional code in digital system
US20020120904A1 (en) Transmission system with adaptive channel encoder and decoder
KR100445899B1 (en) A turbo code encoder and a code rate decreasing method thereof
KR20030027792A (en) Method of blind transport format detection
KR20070034532A (en) Extended Convolutional Encoder Devices, Wireless Systems, and Convolutional Code Extension Methods
CN100359833C (en) Method and arrangement for providing optimal bit protection against transmission errors
KR100710743B1 (en) Transmission system having a simplified channel decoder and operating method thereof
JP2715398B2 (en) Error correction codec
KR20010037341A (en) Puncturing pattern search method for convolution code
KR100387058B1 (en) Method and apparatus for flexible data rate matching by symbol insertion for a data communication system
US7225392B2 (en) Error correction trellis coding with periodically inserted known symbols
WO2004084417A1 (en) Method and device for building a variable-length error-correcting code
US20060200706A1 (en) Method and device for building a variable-length error-correcting code
US5666380A (en) Digital communication system and method of compressing information
KR0171383B1 (en) Decoding method of rotary convulutional code
KR100811376B1 (en) Method for coding and decoding in a communication system
KR100710348B1 (en) Flexible Rate Puncturing Method
CN112272923A (en) Constructing punctured polar codes

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Withdrawal due to no request for examination