KR100282070B1 - A method of encoding and decoding error detecting codes using convolutional codes - Google Patents

A method of encoding and decoding error detecting codes using convolutional codes Download PDF

Info

Publication number
KR100282070B1
KR100282070B1 KR1019980000607A KR19980000607A KR100282070B1 KR 100282070 B1 KR100282070 B1 KR 100282070B1 KR 1019980000607 A KR1019980000607 A KR 1019980000607A KR 19980000607 A KR19980000607 A KR 19980000607A KR 100282070 B1 KR100282070 B1 KR 100282070B1
Authority
KR
South Korea
Prior art keywords
convolutional
error
bits
detected
decoding
Prior art date
Application number
KR1019980000607A
Other languages
Korean (ko)
Other versions
KR19990065358A (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 KR1019980000607A priority Critical patent/KR100282070B1/en
Publication of KR19990065358A publication Critical patent/KR19990065358A/en
Application granted granted Critical
Publication of KR100282070B1 publication Critical patent/KR100282070B1/en

Links

Landscapes

  • Error Detection And Correction (AREA)

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야1. TECHNICAL FIELD OF THE INVENTION

본 발명은 오류 검출 부호의 길쌈 부호화 및 복호화 방법에 관한 것임.The present invention relates to a convolutional encoding and decoding method of an error detection code.

2. 발명이 해결하려고 하는 기술적 과제2. The technical problem to be solved by the invention

본 발명은 길쌈 부호화된 순환 여유 검사(CRC) 비트를 완전하게 모두 복호화하기 전에 길쌈 부호화된 오류 검출 부호의 순환 여유 검사(CRC)를 수행하여 오류 여부를 판단하므로써, 복호화 속도를 향상시켜 송신 메시지를 빠르게 전송할 수 있고, 길쌈 부호화 과정에서 테일 비트(tail bits)를 오류 검출 부호어의 끝에 부가하여 전송하는 과정을 생략하므로써, 오버헤드를 줄여 전송 효율을 향상시킨 오류 검출 부호의 길쌈 부호화 및 복호화 방법을 제공하는데 그 목적이 있음.The present invention performs a cyclic redundancy check (CRC) of a convolutional coded error detection code to determine whether there is an error before completely decoding all convolutional coded cyclic redundancy check (CRC) bits. The convolutional encoding and decoding method of the error detection code, which can be transmitted quickly and skips the process of adding tail bits to the end of the error detection codeword in the convolutional encoding process, improves transmission efficiency by reducing overhead. The purpose is to provide.

3. 발명의 해결방법의 요지3. Summary of Solution to Invention

본 발명은, 오류 검출 부호어를 테일 비트(tail bits)의 부가없이 길쌈 부호화하여 송신하는 제 1 단계; 길쌈 부호화된 오류 검출 부호를 복호화는 중에 상기 길쌈 복호화기의 레지스터 값을 이용하여 오류 검출 여부를 결정하는 제 2 단계; 및 오류 검출 여부가 결정된 시점까지 복호화한 메시지를 전달하는 제 3 단계를 포함한다.The present invention includes a first step of convolutionally encoding and transmitting an error detection codeword without addition of tail bits; Determining whether an error is detected by using a register value of the convolutional decoder while decoding the convolutional coded error detection code; And a third step of transmitting the decrypted message up to the point in time at which it is determined whether or not an error is detected.

4. 발명의 중요한 용도4. Important uses of the invention

본 발명은 길쌈 부호화기 및 길쌈 복호화기 등에 이용됨.The present invention is used for a convolutional encoder and a convolutional decoder.

Description

오류 검출 부호의 길쌈 부호화 및 복호화 방법{A METHOD OF ENCODING AND DECODING ERROR DETECTING CODES USING CONVOLUTIONAL CODES}Convolutional coding and decoding method of error detection code {A METHOD OF ENCODING AND DECODING ERROR DETECTING CODES USING CONVOLUTIONAL CODES}

본 발명은 오류 검출 부호의 길쌈 부호화 및 복호화 방법에 관한 것으로, 특히 오류 검출 부호를 길쌈 부호화 및 복호화하여 오류 정정과 오류 검출을 함께 수행할 수 있는 오류 검출 부호의 길쌈 부호화 및 복호화 방법에 관한 것이다.The present invention relates to a convolutional encoding and decoding method of an error detection code, and more particularly, to a convolutional encoding and decoding method of an error detection code capable of performing error correction and error detection by convolutionally encoding and decoding an error detection code.

도 1 은 일반적인 길쌈 부호화기의 구성예시도이고, 도 2 는 종래의 오류 검출 부호의 부호어를 길쌈 부호화하는 방법에 대한 설명도이다. 도 1 과 도 2 를 참조하여 종래의 길쌈 부호화 및 복호화 방법을 살펴보면 다음과 같다.FIG. 1 is a diagram illustrating a configuration of a general convolutional encoder, and FIG. 2 is an explanatory diagram of a method of convolutional coding a codeword of a conventional error detection code. A conventional convolutional encoding and decoding method will now be described with reference to FIGS. 1 and 2.

일반적으로 오류 검출 부호의 부호어를 길쌈 부호화할 때는, 오류 검출 부호화된 부호어(또는 길쌈 부호화기가 메시지를 나눌 때 나누어진 오류 검출 부호어)의 끝에 테일 비트(tail bits)라는, 길쌈 부호의 컨스트레인트 길이(constraint length)보다 하나 작은 수만큼의 '0'을 부가하고, 오류 검출 부호화된 부호어와 테일 비트(tail bits)를 함께 길쌈 부호화하는 방법을 사용하였다.In general, when convolutionally encoding a codeword of an error detection code, a convolution of a convolutional code called tail bits at the end of the error detection coded codeword (or an error detection codeword divided when the convolutional encoder divides a message). A method of adding a number '0' smaller than the constraint length and convolutional coding the error detection coded codeword and tail bits together is used.

그리고, 상기와 같이 길쌈 부호화된 부호어를 복호화할 때는, 시간에 따라 계속 생존 경로(survival path)를 구하고, 복호화 깊이(decoding depth)를 Γ라고 할 때, 시간 t 시점에서 그 시점의 생존 경로(survival path)에 해당하는 (t-Γ) 시점의 복호화된 비트 또는 비트 블록을 출력하고, 이와 같은 과정을 통해 오류 검출 부호어의 길이만큼의 복호화를 수행하여 오류 검출 부호어를 복호화하고, 이 복호화된 오류 검출 부호어를 순환 여유 검사(CRC : Cyclic Redundancy Check)하여 오류 여부를 판단하는 방법을 사용하였다.In decoding the convolutional coded codeword as described above, when the survival path is continuously obtained according to time, and the decoding depth is Γ, the survival path at that time at time t ( outputs a decoded bit or bit block corresponding to a (t-Γ) time point corresponding to a survival path, and decodes the error detection codeword by performing the decoding as much as the length of the error detection codeword through this process. The error detection codeword was used to determine an error by performing a cyclic redundancy check (CRC).

상기와 같은 종래의 부호화 방법을 예를 들어 설명하면 다음과 같다.Referring to the conventional coding method as described above as follows.

메시지 (110101)을 생성 다항식(generator polynomial)이 g(x)=x4+ x3+ x2+ x + 1인 CRC-4를 사용하여 CRC 부호로 오류 검출 부호화하면, 부호어 (1101011010)을 얻는다. 이 부호어를 도 1 과 같이 임펄스 응답(impulse response)이 g(10)= (111), g(1)= (101)인 길쌈 부호화기로 부호화하고자 하면, 이 길쌈 부호의 컨스트레인트 길이(constraint length)보다 하나 작은 값인 2개의 '0'을 테일 비트(tail bits)로 부가하여 (110101101000)을 길쌈 부호화기에 통과시키게 된다. 이때, 길쌈 부호화기의 출력으로는 (11,01,01,00,10,00,01,01,00,10,11,00)을 얻게 된다. 도 2 는 오류 검출 부호어 (1101011010)을 길쌈 부호화하는 과정을 보여준다.Generate message 110101 If the polynomial of the generator polynomial detects and encodes a CRC code using CRC-4 with g (x) = x 4 + x 3 + x 2 + x + 1, then codeword 1101011010 is encoded. Get If the codeword is to be encoded by a convolutional encoder having an impulse response of g (10) = (111) and g (1) = (101) as shown in Fig. 1, the constraint length of this convolutional code Two '0's, one less than length, are added as tail bits to pass 110101101000 to the convolutional encoder. At this time, as the output of the convolutional encoder, (11,01,01,00,10,00,01,01,00,10,11,00) is obtained. 2 illustrates a process of convolutionally encoding the error detection codeword 1101011010.

다음으로, 길쌈 복호화의 예로는 설명의 편의를 위해서 하드 디시젼(hard decision) 복호화 방법을 살펴보기로 한다.Next, as an example of convolutional decryption, a hard decision decoding method will be described for convenience of description.

위에서 길쌈 부호화된 길쌈 부호어 (11,01,01,00,10,00,01,01,00,10,11,00)의 4번째와 15번째 비트에 오류가 발생한 (11,00,01,00,10,00,01,11,00,10,11,00)을 복호화하는 과정을 트렐리스 다이아그램(trellis diagram)을 사용하여 도시하면 도 3 과 같다.An error occurs in the 4th and 15th bits of the convolutional codeword (11,01,01,00,10,00,01,01,00,10,11,00) convolutionally coded above (11,00,01, A process of decoding 00,10,00,01,11,00,10,11,00 is illustrated in FIG. 3 using a trellis diagram.

먼저, 시간 0(t=0)부터 복호화기에서 수신이 시작된다고 하고, 2비트만큼 수신되는 시간을 단위 시간으로 설정하고, 또한 복호화 깊이(decoding depth)는 4로 설정하기로 한다(Γ=4). 시간 k(t=k) 시점에서, 이 시점까지 계산한 생존 경로(survival path) 위의 (k-4) 시점의 값을 출력하게 된다. 이렇게 복호화를 진행하면 복호화된 부호어 (1101011010)을 얻게 된다. 이렇게 복호화된 오류 검출 부호어에 대해서 순환 여유 검사(CRC)를 하면 오류가 없다는 것을 알 수 있으므로, 복호화된 메시지로 순환 여유 검사(CRC) 비트를 제외한 (110101)을 얻을 수 있다. 도 3에서 점선 사각형안의 값은 부분 경로 메트릭(partial path metric) 값이고, 생존 경로(survival path)를 실선 대신 점선으로 나타낸 부분은 부분 경로 메트릭(partial path metric) 값이 같은 경로(path)가 두 개 이상 있어서 그 중 하나를 임의로 선택했다는 것을 보여준다.First, it is assumed that the reception is started by the decoder from time 0 (t = 0), the time received by 2 bits is set as the unit time, and the decoding depth is set to 4 (Γ = 4). ). At time k (t = k), the value of time point (k-4) above the survival path calculated up to this point is output. In this way, the decoded codeword 1101011010 is obtained. When the CRC is performed on the decoded error detection codeword, it can be seen that there is no error. Thus, (110101) except the CRC bit can be obtained as the decoded message. In FIG. 3, a value in a dotted rectangle is a partial path metric value, and a portion in which a survival path is represented by a dotted line instead of a solid line has two paths having the same partial path metric value. There are more than one, indicating that one of them was chosen at random.

상기와 같은 종래의 방법은, 오류 검출 부호의 순환 여유 검사(CRC) 부분이 사용자 정보를 포함하는 것이 아니고, 단지 사용자 정보의 오류 유무를 확인하기 위한 용도임에도 불구하고, 길쌈 부호화 및 복호화 과정에서 사용자 정보와 순환 여유 검사(CRC) 비트를 동일하게 취급하므로써, 길쌈 부호화된 순환 여유 검사(CRC) 비트를 사용자 정보와 같은 방법으로 완전하게 복호화한 후에 비로소 순환 여유 검사(CRC)를 하게 되어, 복호화 과정에 시간이 많이 걸려 송신 메시지의 전송이 지연되었으며, 또한 길쌈 부호화를 할때 테일 비트(tail bits)를 부가하게 되어, 오버헤드가 많아져 전송 효율이 떨어지는 문제점이 있었다.In the conventional method as described above, although the cyclic redundancy check (CRC) portion of the error detection code does not include the user information, but is merely used to confirm the presence or absence of an error of the user information, By treating the information and the cyclic margin check (CRC) bits identically, the cyclic margin check (CRC) bits are completely decoded by the same method as the user information, and then the cyclic margin check (CRC) is performed. The transmission of the transmission message was delayed due to a long time, and tail bits were added when the convolutional encoding was performed, resulting in a decrease in transmission efficiency due to a large overhead.

본 발명은, 상기 문제점을 해결하기 위하여 안출된 것으로, 길쌈 부호화된 순환 여유 검사(CRC) 비트를 완전하게 모두 복호화하기 전에 길쌈 부호화된 오류 검출 부호의 순환 여유 검사(CRC)를 수행하므로써, 복호화 속도를 향상시켜 송신 메시지를 빠르게 전송할 수 있는 오류 검출 부호의 길쌈 부호화 및 복호화 방법을 제공하는데 있다.In order to solve the above problems, the present invention provides a decoding rate by performing a cyclic margin check (CRC) of a convolutional coded error detection code before completely decoding all the convolutional coded cyclic margin check (CRC) bits. The present invention provides a convolutional encoding and decoding method of an error detection code capable of quickly transmitting a transmission message.

또한, 본 발명의 다른 목적은, 길쌈 부호화 과정에서 테일 비트(tail bits)를 오류 검출 부호어의 끝에 부가하여 전송하는 과정을 생략하므로써, 오버헤드를 줄여 전송 효율을 향상시킨 오류 검출 부호의 길쌈 부호화 및 복호화 방법을 제공하는데 있다.In addition, another object of the present invention, by omitting the transmission of the tail bits at the end of the error detection codeword in the convolutional coding process, convolutional coding of the error detection code to improve the transmission efficiency by reducing overhead And a decoding method.

도 1 은 일반적인 길쌈 부호화기의 구성예시도.1 is an exemplary configuration diagram of a general convolutional encoder.

도 2 는 종래의 오류 검출 부호의 부호어를 길쌈 부호화하는 방법에 대한 설명도.2 is an explanatory diagram of a method of convolutionally coding a codeword of a conventional error detection code.

도 3 은 본 발명에 따른 길쌈 부호화된 오류 검출 부호를 복호화하는 방법에 대한 설명도.3 is an explanatory diagram of a method of decoding a convolutional coded error detection code according to the present invention;

도 4 는 본 발명이 적용되는 길쌈부호 복호화기의 레지스터 내용에 대한 설명도.4 is an explanatory diagram of register contents of a convolutional code decoder to which the present invention is applied;

도 5 는 본 발명에 따른 길쌈 부호화 방법에 대한 흐름도.5 is a flowchart of a convolutional coding method according to the present invention;

도 6 은 본 발명에 따른 길쌈 복호화 방법에 대한 흐름도.6 is a flowchart of a convolutional decoding method according to the present invention;

상기 목적을 달성하기 위한 본 발명의 길쌈 부호화 및 복호화 방법은, 길쌈 부호화기 및 복호화기에 적용되는 길쌈 부호화 및 복호화 방법에 있어서, 오류 검출 부호어를 테일 비트(tail bits)의 부가없이 길쌈 부호화하여 송신하는 제 1 단계; 길쌈 부호화된 오류 검출 부호를 복호화는 중에 상기 길쌈 복호화기의 레지스터 값을 이용하여 오류 검출 여부를 결정하는 제 2 단계; 및 오류 검출 여부가 결정된 시점까지 복호화한 메시지를 전달하는 제 3 단계를 포함하는 것을 특징으로 한다.In the convolutional encoding and decoding method of the present invention for achieving the above object, in the convolutional encoding and decoding method applied to the convolutional encoder and decoder, convolutional encoding of the error detection codeword without addition of tail bits is transmitted. First step; Determining whether an error is detected by using a register value of the convolutional decoder while decoding the convolutional coded error detection code; And a third step of transmitting the decoded message up to a point in time at which it is determined whether or not an error is detected.

한편, 본 발명의 길쌈 복호화 방법은, 길쌈 복호화기에 적용되는 길쌈 복호화 방법에 있어서, 길쌈 부호어를 수신하면 순환 여유 검사 비트의 길이 m이 복호화 깊이 Γ보다 크거나 같은지를 판단하는 제 1 단계; 상기 제 1 단계의 판단 결과, 순환 여유 검사 비트의 길이 m이 복호화 깊이 Γ보다 크거나 같을 경우에는 상기 길쌈 복호화기에서 (n+m)-Γ 비트까지를 출력하고, 출력된 (n+m)-Γ 비트와 상기 길쌈 복호화기의 각 상태 레지스터에 있는 Γ 비트를 합해서 순환 여유 검사를 수행하는 제 2 단계; 상기 제 1 단계의 판단 결과, 순환 여유 검사 비트의 길이 m이 복호화 깊이 Γ보다 작을 경우에는 상기 길쌈 복호화기에서 n 비트까지를 출력하고, 출력된 n 비트와 상기 길삼 복호화기의 각 상태 레지스터에 있는 m 비트를 합해서 순환 여류 검사를 수행하는 제 3 단계; 및 순환 여유 검사를 수행한 후에 오류가 검출되지 않은 상태가 하나라도 있는지를 판단하여 오류가 검출되지 않은 상태가 하나라도 있으면 상기 길쌈 복호화기에서 출력된 처음 n 비트를 오류가 없는 메시지로 판단하여 전달하고, 오류가 검출되지 않은 상태가 하나도 없으면 메시지 오류가 검출되었다고 판정하는 제 4 단계를 포함하는 것을 특징으로 한다.Meanwhile, the convolutional decoding method of the present invention includes a convolutional decoding method applied to a convolutional decoder, comprising: a first step of determining whether a length m of a cyclic margin check bit is greater than or equal to a decoding depth Γ when a convolutional codeword is received; As a result of the determination in the first step, when the length m of the cyclic margin check bit is greater than or equal to the decoding depth Γ, the convolutional decoder outputs up to (n + m) -Γ bits, and outputs (n + m) A second step of performing a cyclic margin check by adding the Γ bits and the Γ bits in each state register of the convolutional decoder; As a result of the determination of the first step, when the length m of the cyclic margin check bit is smaller than the decoding depth Γ, the convolutional decoder outputs up to n bits, and outputs the n bits and the status registers of the length three decoders. a third step of performing a cyclic filter test by adding m bits; And after performing the cyclic margin check, determine whether there is any state in which no error is detected, and if there is any state in which no error is detected, determine that the first n bits output from the convolutional decoder are transmitted as an error-free message. And a fourth step of determining that no message error has been detected if none of the conditions have not been detected.

이하, 첨부된 도면을 참조하여 본 발명에 따른 일실시예를 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described an embodiment according to the present invention;

도 3 은 본 발명에 따른 길쌈 부호화된 오류 검출 부호를 복호화하는 방법에 대한 설명도로서, 본 발명에 따른 복호화의 예를 트렐리스 다이아그램(trellis diagram)을 이용하여 나타낸 것이다.3 is an explanatory diagram of a method of decoding a convolutional coded error detection code according to the present invention, and shows an example of decoding according to the present invention by using a trellis diagram.

본 발명의 일예에서는, 부호화기로 종래의 방법에서 설명한 예와 같은 부호화기를 사용하고, 복호화기로도 종래의 방법에서 설명한 예와 같이 복호화 깊이(decoding depth)가 4인 하드 디시젼(hard decision) 복호화기를 사용하기로 한다. 도 3 은 종래의 복호화 방법의 예를 설명할 때 사용한 도면이지만, 시간 t=10 시점까지는 본 발명에서도 종래의 방법과 같이 동작한다.In one embodiment of the present invention, a hard decision decoder having a decoding depth of 4 is used as an encoder as in the example described in the conventional method. I will use it. 3 is a diagram used to explain an example of a conventional decoding method, but the present invention operates in the same manner as the conventional method until the time t = 10.

도 4 는 본 발명이 적용되는 길쌈부호 복호화기의 레지스터 내용에 대한 설명도이다.4 is an explanatory diagram of register contents of a convolutional code decoder to which the present invention is applied.

도면에 도시된 바와 같이, 시간 t=10 까지 복호화된 출력은 11010이며, 이때 상태 S0, S1, S2, S3에 해당하는 레지스터에는 각각 0000,0001,1010,1111이 저장되어 있다.As shown in the figure, the output decoded until time t = 10 is 11010, in which 0000,0001,1010,1111 are stored in registers corresponding to states S 0 , S 1 , S 2 , and S 3 , respectively.

길쌈 부호화된 순환 여유 검사(CRC) 비트 부분까지도 완전하게 복호화한 다음에 오류 검출을 수행하던 종래의 방법에서는 시간 t=10 시점에서의 레지스터 값이 아무런 의미를 가지지 않는다. 하지만, 본 발명에서는 순환 여유 검사(CRC) 비트가 오류 검출을 위해서 사용되므로 완전하게 복호화할 필요가 없고 단지 오류 여부만을 판단하는데 사용된다는 점에 착안하여 레지스터의 내용을 이용하여 오류 검출을 수행한다.In the conventional method of completely decoding even convolutional coded cyclic redundancy check (CRC) bits, the register value at time t = 10 has no meaning. In the present invention, however, the cyclic redundancy check (CRC) bit is used for error detection. Therefore, the error detection is performed by using the contents of the register, since it is not necessary to completely decode the signal.

이때, 레지스터의 값을 이용하는 방법은 다음과 같다.At this time, the method of using the value of the register is as follows.

만일, 시간 t=14 까지 복호화가 수행된다고 가정할 때, 시간 t=10 일때의 상태 S0에 해당하는 생존 경로(survival path)가 선택될 경우에 복호화될 순환 여유 검사(CRC) 값은 시간 t=10 일때의 상태 S0의 레지스터 값인 0000이고, 시간 t=10 일때의 상태 S1에 해당하는 생존 경로(survival path)가 선택될 경우에 복호화될 순환 여유 검사(CRC) 값은 시간 t=10 일때의 상태 S1의 레지스터 값인 0001이고, 시간 t=10 일때의 상태 S2에 해당하는 생존 경로(survival path)가 선택될 경우에 복호화될 순환 여유 검사(CRC) 값은 시간 t=10 일때의 상태 S2의 레지스터 값인 1010이고, 시간 t=10 일때의 상태 S3에 해당하는 생존 경로(survival path)가 선택될 경우에 복호화될 순환 여유 검사(CRC) 값은 시간 t=10 일때의 상태 S3의 레지스터 값인 1111이다.Assuming that decoding is performed until time t = 14, when a survival path corresponding to state S 0 when time t = 10 is selected, a cyclic redundancy check (CRC) value to be decoded is time t. The cyclic redundancy check (CRC) value to be decoded when the survival path corresponding to the state S 1 when the state S 0 when = 0 and the time t = 10 is selected is time t = 10. When the surviving path corresponding to the state S 2 at the state S 1 is 0001 and the time t = 10 is selected, the cyclic redundancy check (CRC) value to be decoded is the time at the time t = 10. When the survival path corresponding to the state S 3 at the state S 2 is 1010 and the time t = 10 is selected, the cyclic redundancy check (CRC) value to be decoded is the state S at the time t = 10. The register value of 3 is 1111.

따라서, 시간 t=10 일때의 각 상태에 해당하는 생존 경로(survival path)로 복호화될 경우에 복호화되는 순환 여유 검사(CRC) 출력은 시간 t=10 일때의 각 상태의 레지스터의 내용과 같다는 것을 알 수 있다.Therefore, it can be seen that the cyclic redundancy check (CRC) output decoded when decrypted to the survival path corresponding to each state at time t = 10 is the same as the contents of the register of each state at time t = 10. Can be.

따라서, 시간 t=14 시점까지 복호화를 기다릴 것이 아니라 시간 t=10 시점에서 이때까지의 출력과 레지스터에 들어 있는 순환 여유 검사(CRC) 값을 이용하여 오류 검출을 수행할 수 있다. 이때, 각 상태에서 신드롬(syndrome) 계산 등의 방법으로 오류 검출을 수행하면 시간 t=10 일때의 상태 S2인 경우의 생존 경로(survival path)를 따라 복호화를 수행하면 오류가 없다는 것을 알 수 있으므로, 이때까지 복호화된 출력인 (11010)을 복호화된 메시지로 얻을 수 있다. 즉, 4가지 상태중 오류가 검출되지 않는 상태가 하나라도 있다면 복호화된 메시지를 내보내면 된다.(이 예의 경우에는 오류 검출 부호로 시스터매틱 부호(systematic code)를 사용했기 때문에 오류 여부가 결정된 시점에서 송신 메시지를 알 수 있는 경우이다. 오류 검출 시점에 송신 메시지를 알 수 없는 오류 검출 부호를 사용했을 경우에도 오류 검출 여부의 판단 시간은 빨라진다.)Therefore, instead of waiting for decoding until time t = 14, error detection may be performed by using a cyclic redundancy check (CRC) value included in the output and register until time t = 10. In this case, if the error detection is performed by a method such as syndrome calculation in each state, it can be seen that there is no error when decoding along the survival path when the state S 2 at the time t = 10. In this case, the decoded output 11010 may be obtained as a decoded message. In other words, if at least one of the four states is not detected, the decoded message can be sent. (In this case, since the systematic code is used as the error detection code, the error is determined. This is a case where the transmission message can be known, even if an error detection code for which the transmission message is unknown at the time of error detection is used, the time for determining whether the error is detected is shortened.)

상기와 같이 복호화기에서 시간 t=10 시점에서 오류 검출을 수행하고 전송된 메시지를 복호화할 수 있게 된다. 따라서, 길쌈 부호화기에서 신호를 송신할 때 오류 검출 부호어 (1101011010)만을 길쌈 부호화하여 (11,01,01,00,10,00,01,01,00,10)만을 송신하면, 복호화기에서 원래의 메시지 (110101)을 복호화할 수 있다. 즉, 길쌈 부호화 과정에서 테일 비트(tail bits)를 덧붙일 필요가 없으며, 이에 따라 송신하는 신호의 수도 줄어 전송 효율도 높일 수 있게 된다.As described above, the decoder can perform error detection at time t = 10 and decode the transmitted message. Therefore, when the convolutional encoder transmits a signal only by convolutionally encoding only the error detection codeword 1101011010 and transmitting only (11,01,01,00,10,00,01,01,00,10), the decoder Message 110101 may be decrypted. That is, it is not necessary to add tail bits in the convolutional encoding process, thereby reducing the number of signals to be transmitted, thereby increasing transmission efficiency.

상기와 같은 본 발명의 내용을 도 5 와 도 6 의 흐름도를 참조하여 상세히 살펴보면 다음과 같다.The contents of the present invention as described above will be described in detail with reference to the flowcharts of FIGS. 5 and 6.

도 5 는 본 발명에 따른 길쌈 부호화 방법에 대한 흐름도이다.5 is a flowchart of a convolutional coding method according to the present invention.

먼저, 전송하고자 하는 n 비트(n은 자연수)의 메시지가 준비되면(51), n 비트 메시지에 m 비트(m은 자연수)의 순환 여유 검사(CRC) 비트를 덧붙인 후에(52) 이들을 합한 (n+m) 비트의 오류 검출 부호어를 생성한 다음에(53) 생성된 오류 검출 부호어를 길쌈 부호화하여 송신한다(54).First, when n-bit (n is a natural number) message to be transmitted is prepared (51), m-bit (m is a natural number) cyclic redundancy check (CRC) bit is added to the n-bit message (52) and summed (n). + m) After generating a bit error detection codeword (53), the generated error detection codeword is convolutionally coded and transmitted (54).

이때, 종래의 길쌈 부호화 방법에서 오류 검출 부호어에 덧붙이던 길쌈 부호의 컨스트레인트 길이(constraint length)보다 하나 작은 비트 수의 테일 비트(tail bits)를 붙이지 않고, 오류 검출 부호어를 바로 길쌈 부호화하므로써 전송 효율을 높일 수 있게 된다.In this case, the convolutional encoding of the error detection codeword is directly performed without attaching tail bits of one bit smaller than the constraint length of the convolutional code added to the error detection codeword in the conventional convolutional coding method. As a result, the transmission efficiency can be increased.

도 6 은 본 발명에 따른 길쌈 복호화 방법에 대한 흐름도이다.6 is a flowchart of a convolutional decoding method according to the present invention.

먼저, 길쌈 부호어를 수신하면(61) 순환 여유 검사(CRC) 비트의 길이 m이 복호화 깊이(decoding depth) Γ보다 크거나 같은지를 판단하여(62) 순환 여유 검사 비트의 길이 m이 복호화 깊이 Γ보다 크거나 같을 경우에는 길쌈 부호의 복호화기에서 (n+m)-Γ 비트까지를 출력하고(63), 출력된 (n+m)-Γ 비트와 복호화기의 각 상태 레지스터에 있는 Γ 비트의 순환 여유 검사(CRC) 비트 부분(m 비트의 순환 여유 검사 비트중 끝의 Γ 비트)을 합해서 순환 여유 검사(CRC)를 한다(64). 이때, 순환 여유 검사를 하여 오류가 검출되지 않은 상태가 하나라도 있는지를 판단하여(65) 오류가 검출되지 않은 상태가 하나라도 있으면 복호화기에서 출력된 처음 n 비트를 오류가 없는 메시지로 판단하여 전달하고(66), 오류가 검출되지 않은 상태가 하나도 없으면 메시지 오류가 검출되었다고 판정한다(67).First, upon receiving the convolutional codeword (61), it is determined whether the length m of the cyclic redundancy check (CRC) bit is greater than or equal to the decoding depth Γ (62), and the length m of the cyclic redundancy check bit is the decoding depth Γ. If greater than or equal, the convolutional code decoder outputs up to (n + m) -Γ bits (63), and outputs (n + m) -Γ bits of the output and the Γ bits in each status register of the decoder. A cyclic margin check (CRC) is performed by adding the cyclic margin check (CRC) bit portions (? Bit at the end of the m bit cyclic margin check bits) (64). In this case, a cyclic margin check is performed to determine whether there is any state in which no error is detected (65). If there is any state in which no error is detected, the first n bits output from the decoder are judged as an error-free message and transmitted. If there is no state in which no error is detected (66), it is determined that a message error is detected (67).

한편, 순환 여유 검사 비트의 길이 m이 복호화 깊이 Γ보다 작을 경우에는 복호화기에서 n 비트까지를 출력하고(68), 출력된 n 비트와 복호화기의 각 상태 레지스터에 있는 Γ 비트중 마지막 m 비트를 합해서 순환 여류 검사(CRC)를 한다(69)(또는 처음 출력된 n+m-Γ 비트와 레지스터에 있는 Γ 비트를 합해서 순환 여유 검사(CRC)를 할 수도 있다). 이때, 순환 여유 검사를 하여 오류가 검출되지 않은 상태가 하나라도 있는지를 판단하여(65) 오류가 검출되지 않은 상태가 하나라도 있으면 복호화기에서 출력된 처음 n 비트를 오류가 없는 메시지로 판단하여 전달하고(66), 오류가 검출되지 않은 상태가 하나도 없으면 메시지 오류가 검출되었다고 판정한다(67).On the other hand, if the length m of the cyclic redundancy check bit is smaller than the decoding depth Γ, the decoder outputs up to n bits (68), and outputs the last m bits of the output n bits and the Γ bits in each state register of the decoder. Cyclic cyclic check (CRC) (69) (or the first output n + m-Γ bits and the Γ bits in the register may be combined to perform a cyclic margin check (CRC)). In this case, a cyclic margin check is performed to determine whether there is any state in which no error is detected (65). If there is any state in which no error is detected, the first n bits output from the decoder are judged as an error-free message and transmitted. If there is no state in which no error is detected (66), it is determined that a message error is detected (67).

상기와 같이 복호화를 수행하므로써, 종래의 방법에 비해 복호화 깊이(decoding depth) Γ 시간만큼 일찍(m〈Γ인 경우에는 순환 여유 검사 비트의 길이 m만큼 일찍) 복호화를 수행할 수 있다.By performing the decoding as described above, the decoding can be performed earlier by the decoding depth Γ time (when m <Γ by the length m of the cyclic redundancy check bit) compared with the conventional method.

상기와 같은 본 발명은, 설명의 편의를 위해 복호화기를 하드 디시젼(hard decision) 복호화로 하여 설명하였지만, 하드 디시젼(hard decision) 복호화 이외에도 소프트 디시젼(soft decision) 복호화에도 확대 적용할 수 있다.As described above, the present invention has been described with the hard decision decoding as a decoder for convenience of explanation. However, the present invention can be extended to soft decision decoding in addition to hard decision decoding. .

이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and various substitutions, modifications, and changes can be made in the art without departing from the technical spirit of the present invention. It will be apparent to those of ordinary knowledge.

상기와 같은 본 발명은, 길쌈 부호화된 순환 여유 검사(CRC) 비트를 완전하게 모두 복호화하기 전에 길쌈 부호화된 오류 검출 부호의 순환 여유 검사(CRC)를 수행하여 오류 여부를 판단하므로써, 복호화 속도를 향상시켜 송신 메시지를 빠르게 전송할 수 있으며, 길쌈 부호화 과정에서 테일 비트(tail bits)를 오류 검출 부호어의 끝에 부가하여 전송하는 과정을 생략하므로써, 오버헤드를 줄여 전송 효율을 향상시킬 수 있는 효과가 있다.As described above, the present invention improves the decoding speed by performing a cyclic redundancy check (CRC) of the convolutional coded error detection code before completely decoding all the convolutional coded cyclic redundancy check (CRC) bits. In this case, the transmission message can be transmitted quickly and the transmission process is omitted by adding tail bits to the end of the error detection codeword in the convolutional encoding process, thereby reducing overhead and improving transmission efficiency.

Claims (5)

길쌈 부호화기 및 복호화기에 적용되는 길쌈 부호화 및 복호화 방법에 있어서,In a convolutional coding and decoding method applied to a convolutional encoder and decoder, 오류 검출 부호어를 테일 비트(tail bits)의 부가없이 길쌈 부호화하여 송신하는 제 1 단계;A first step of convolutionally encoding and transmitting the error detection codeword without addition of tail bits; 길쌈 부호화된 오류 검출 부호를 복호화는 중에 상기 길쌈 복호화기의 레지스터 값을 이용하여 오류 검출 여부를 결정하는 제 2 단계; 및Determining whether an error is detected by using a register value of the convolutional decoder while decoding the convolutional coded error detection code; And 오류 검출 여부가 결정된 시점까지 복호화한 메시지를 전달하는 제 3 단계A third step of delivering the decrypted message until the time at which the error is detected 를 포함하는 길쌈 부호화 및 복호화 방법.Convolutional encoding and decoding method comprising a. 제 1 항에 있어서,The method of claim 1, 상기 길쌈 복호화기의 레지스터 값을 이용하여 오류 검출 여부를 결정하는 과정은,Determining whether an error is detected using a register value of the convolutional decoder, 상기 길쌈 복호화기의 각 레지스터의 각 상태중 오류가 검출되지 않은 상태가 하나 이상이면 오류가 없다고 결정하는 것을 특징으로 하는 길쌈 부호화 및 복호화 방법.The convolutional encoding and decoding method of claim 1, wherein if there is at least one state in which each error of each register of the convolutional decoder is not detected, there is no error. 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 상기 제 2 단계는,The second step, 길쌈 부호어를 수신하면 순환 여유 검사 비트의 길이 m이 복호화 깊이 Γ보다 크거나 같은지를 판단하는 제 4 단계;A fourth step of determining whether the length m of the cyclic margin check bit is greater than or equal to the decoding depth Γ when receiving the convolutional codeword; 상기 제 4 단계의 판단 결과, 순환 여유 검사 비트의 길이 m이 복호화 깊이 Γ보다 크거나 같을 경우에는 상기 길쌈 복호화기에서 (n+m)-Γ 비트까지를 출력하고, 출력된 (n+m)-Γ 비트와 상기 길쌈 복호화기의 각 상태 레지스터에 있는 Γ 비트를 합해서 순환 여유 검사를 수행하는 제 5 단계;As a result of the fourth step, when the length m of the cyclic margin check bit is greater than or equal to the decoding depth Γ, the convolutional decoder outputs up to (n + m) -Γ bits, and outputs (n + m) A fifth step of performing a cyclic margin check by adding the? Bit and the? Bit in each state register of the convolutional decoder; 상기 제 4 단계의 판단 결과, 순환 여유 검사 비트의 길이 m이 복호화 깊이 Γ보다 작을 경우에는 상기 길쌈 복호화기에서 n 비트까지를 출력하고, 출력된 n 비트와 상기 길쌈 복호화기의 각 상태 레지스터에 있는 m 비트를 합해서 순환 여류 검사를 수행하는 제 6 단계; 및As a result of the determination in the fourth step, when the length m of the cyclic margin check bit is smaller than the decoding depth Γ, the convolutional decoder outputs up to n bits, and outputs the n bits and the status registers of the convolutional decoder. a sixth step of performing a cyclic filter test by adding the m bits; And 순환 여유 검사를 수행한 후에 오류가 검출되지 않은 상태가 하나라도 있는지를 판단하여 오류가 검출되지 않은 상태가 하나라도 있으면 오류가 검출되지 않았다고 판정하고, 오류가 검출되지 않은 상태가 하나도 없으면 메시지 오류가 검출되었다고 판정하는 제 7 단계After performing a cyclic slack check, it is determined whether there is any state in which no error was detected, and if there was any state in which no error was detected, it was determined that no error was detected. Seventh Step Determining Detected 를 포함하는 길쌈 부호화 및 복호화 방법.Convolutional encoding and decoding method comprising a. 제 3 항에 있어서,The method of claim 3, wherein 상기 제 3 단계는,The third step, 상기 제 7 단계에서 오류가 검출되지 않았다고 판정되면, 상기 길쌈 복호화기에서 출력된 처음 n 비트를 오류가 없는 메시지로 판단하여 전달하는 것을 특징으로 하는 길쌈 부호화 및 복호화 방법.If it is determined that no error is detected in the seventh step, the convolutional encoding and decoding method according to the first n bits output from the convolutional decoder is determined as a message without error and transmitted. 길쌈 복호화기에 적용되는 길쌈 복호화 방법에 있어서,In the convolutional decoding method applied to the convolutional decoder, 길쌈 부호어를 수신하면 순환 여유 검사 비트의 길이 m이 복호화 깊이 Γ보다 크거나 같은지를 판단하는 제 1 단계;Receiving a convolutional codeword, determining whether the length m of the cyclic redundancy check bit is greater than or equal to the decoding depth Γ; 상기 제 1 단계의 판단 결과, 순환 여유 검사 비트의 길이 m이 복호화 깊이 Γ보다 크거나 같을 경우에는 상기 길쌈 복호화기에서 (n+m)-Γ 비트까지를 출력하고, 출력된 (n+m)-Γ 비트와 상기 길쌈 복호화기의 각 상태 레지스터에 있는 Γ 비트를 합해서 순환 여유 검사를 수행하는 제 2 단계;As a result of the determination in the first step, when the length m of the cyclic margin check bit is greater than or equal to the decoding depth Γ, the convolutional decoder outputs up to (n + m) -Γ bits, and outputs (n + m) A second step of performing a cyclic margin check by adding the Γ bits and the Γ bits in each state register of the convolutional decoder; 상기 제 1 단계의 판단 결과, 순환 여유 검사 비트의 길이 m이 복호화 깊이 Γ보다 작을 경우에는 상기 길쌈 복호화기에서 n 비트까지를 출력하고, 출력된 n 비트와 상기 길삼 복호화기의 각 상태 레지스터에 있는 m 비트를 합해서 순환 여류 검사를 수행하는 제 3 단계; 및As a result of the determination of the first step, when the length m of the cyclic margin check bit is smaller than the decoding depth Γ, the convolutional decoder outputs up to n bits, and outputs the n bits and the status registers of the length three decoders. a third step of performing a cyclic filter test by adding m bits; And 순환 여유 검사를 수행한 후에 오류가 검출되지 않은 상태가 하나라도 있는지를 판단하여 오류가 검출되지 않은 상태가 하나라도 있으면 상기 길쌈 복호화기에서 출력된 처음 n 비트를 오류가 없는 메시지로 판단하여 전달하고, 오류가 검출되지 않은 상태가 하나도 없으면 메시지 오류가 검출되었다고 판정하는 제 4 단계After performing the cyclic margin check, it is determined whether there is any state in which no error is detected. If there is any state in which no error is detected, the first n bits output from the convolutional decoder are judged as an error-free message, , Step 4 for determining that a message error has been detected if none of the conditions have not been detected 를 포함하는 길쌈 복호화 방법.Convolutional decoding method comprising a.
KR1019980000607A 1998-01-12 1998-01-12 A method of encoding and decoding error detecting codes using convolutional codes KR100282070B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980000607A KR100282070B1 (en) 1998-01-12 1998-01-12 A method of encoding and decoding error detecting codes using convolutional codes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980000607A KR100282070B1 (en) 1998-01-12 1998-01-12 A method of encoding and decoding error detecting codes using convolutional codes

Publications (2)

Publication Number Publication Date
KR19990065358A KR19990065358A (en) 1999-08-05
KR100282070B1 true KR100282070B1 (en) 2001-03-02

Family

ID=65728370

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980000607A KR100282070B1 (en) 1998-01-12 1998-01-12 A method of encoding and decoding error detecting codes using convolutional codes

Country Status (1)

Country Link
KR (1) KR100282070B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100320221B1 (en) * 2000-02-29 2002-01-10 구자홍 Serially concatenated convolution encoding apparatus and method
KR100888959B1 (en) * 2001-07-16 2009-03-17 엘지전자 주식회사 An Appratus and a Method for detecting an erroneous Cyclic Redundancy Code in a Receiver
KR100893053B1 (en) * 2001-10-26 2009-04-15 엘지전자 주식회사 The frame format and the error-detection method with convolutional codes

Also Published As

Publication number Publication date
KR19990065358A (en) 1999-08-05

Similar Documents

Publication Publication Date Title
US20020023246A1 (en) Combination reed-solomon and turbo coding
RU2216851C2 (en) Iterative decoder and iterative decoding method for communication system
WO1998016016A3 (en) Error correction with two block codes and error correction with transmission repetition
JP2001136079A (en) Multi-stage coding method, multi-stage decoding method, multi-stage encoder, multi-stage decoder and information transmission system using them
JPH0555932A (en) Error correction coding and decoding device
JP2022521487A (en) Multimode channel coding
US20080092025A1 (en) Method and System for Improving Decoding Efficiency in Wireless Receivers
JP3545623B2 (en) Decryption method
JPS60180222A (en) Code error correcting device
US5822340A (en) Method for decoding data signals using fixed-length decision window
JPH02195732A (en) Encoding system continuously connected to error correction
CA2116069C (en) Method and apparatus for error-control coding in a digital data communications system
KR100282070B1 (en) A method of encoding and decoding error detecting codes using convolutional codes
JPH06334697A (en) Error detection method
JPH05175852A (en) Error correction encoding/decording device
US6411663B1 (en) Convolutional coder and viterbi decoder
JPS61232726A (en) Error correcting device
KR0149298B1 (en) Reed-solomon decoder
JP2006345475A (en) Network data transmission error detection/correction architecture and method
JP3272173B2 (en) Error correction code / decoding device
KR100811376B1 (en) Method for coding and decoding in a communication system
JPH0255977B2 (en)
JPH05235784A (en) Error correction coding circuit
KR0143720B1 (en) Receiver of concatenated coding system
JPH1075186A (en) Decoding of signal for viterbi decoder based on manhattan or hamming metric scheme

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121023

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20131024

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20141022

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee