KR100811376B1 - Method for coding and decoding in a communication system - Google Patents
Method for coding and decoding in a communication system Download PDFInfo
- Publication number
- KR100811376B1 KR100811376B1 KR1020010051600A KR20010051600A KR100811376B1 KR 100811376 B1 KR100811376 B1 KR 100811376B1 KR 1020010051600 A KR1020010051600 A KR 1020010051600A KR 20010051600 A KR20010051600 A KR 20010051600A KR 100811376 B1 KR100811376 B1 KR 100811376B1
- Authority
- KR
- South Korea
- Prior art keywords
- state
- value
- path
- information
- final
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/23—Error 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
- H03M13/235—Encoding of convolutional codes, e.g. methods or arrangements for parallel or block-wise encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0084—Formats for payload data
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
본 발명은 통신 시스템에서 데이터를 전송로를 통해 송수신시 발생하는 에러등에 대한 정정을 수행하는 부호화(coding)및 복호화(decoding)에 관한것이다.The present invention relates to encoding and decoding for correcting errors, etc., generated during transmission and reception of data in a communication system.
본 발명의 데이터의 부호화 방법은, 길쌈부호(convolutional code)에서 복수의 초기상태(initial state) 또는/ 및 복수의 최종상태(final state)를 구성하여 상기의 초기상태 또는/및 최종상태의 부분에 부가정보를 포함하여 전송하는것을 특징으로 한다.In the data encoding method of the present invention, a plurality of initial states and / or a plurality of final states are formed in convolutional code to be included in a portion of the initial state and / or the final state. It is characterized by the transmission including the additional information.
또한 또한 본 발명에서 복호화 방법은, 시간 t=0일때 초기상태를 부가적인 정보로 사용하는 경우의 PM값을 0으로 설정 또는/및 시간 t=0일때 사용하지 않는 초기상태의 PM값은 무한대로 설정하는 초기화 단계와; 시간 t를 증가하여 분기에 대해 BM값 및 경로에 대한 PM값을 계산하고, 상기 PM값을 비교하여 생존경로를 찾아 상기 PM값과 함께 저장하는 과정을 상기 시간 t가 복호윈도우 길이의 끝에 갈때까지 반복하는 단계와; 상기 시간 t가 복호윈도우 길이의 끝에 도달할때의 생존경로의 마지막 생존경로 선택은, 부가적인 정보로 사용하기로 정한 최종상태를 중에서 최소의 PM값을 갖는 경로를 생존경로로 선택하는 단계;를 포함하는것을 특징으로 한다.In addition, in the present invention, the decoding method may set the PM value of 0 when the initial state is used as additional information when time t = 0, and / or the PM value of the initial state which is not used when time t = 0 is infinite. An initialization step of setting; The time t is increased to calculate the BM value for the branch and the PM value for the path, and the PM value is compared and the survival path is found and stored with the PM value until the time t reaches the end of the decoding window length. Repeating; Selecting the last survival path of the survival path when the time t reaches the end of the decryption window length, selecting a path having the minimum PM value among the final state determined to use as additional information; It is characterized by including.
Description
도 1은 쉬프트레지스터를 포함하고 있는 콘볼루션코드의 부호화기(encoder)1 is an encoder of a convolution code including a shift register.
도 2는 초기상태와 최종상태가 모두 0인 일반적인 경우의 trellis diagram2 is a trellis diagram in a general case where both initial state and final state are 0
도 3은 프레임의 마지막에서 최종상태를 0으로 보내기 위한 tail bits(종지비트)를 붙인 프레임 구조3 is a frame structure with tail bits for sending the final state to zero at the end of the frame.
도 4는 tail bits에 추가적인 정보를 실어 보내는 tail biting convolutional code의 프레임 구조 4 is a frame structure of a tail biting convolutional code carrying additional information in tail bits
도 5는 본 발명에 대한 종래의 경우를 나타낸 것으로, 초기상태가 0 인경우의 다양한 예중 하나의 실시예를 나타낸 길쌈부호의 trellis diagram5 illustrates a conventional case of the present invention, and a trellis diagram of a convolutional code showing one embodiment of various examples when the initial state is 0 is illustrated.
도 6은 상기 도 5의 초기상태가 0인경우에서 시작하기 위해서 쉬프트 레지스터 (SR)값이 모두 0 (all zero)에서 시작함을 나타낸 도면FIG. 6 is a diagram illustrating shift register (SR) values starting at all zeros in order to start when the initial state of FIG. 5 is zero.
도 7은 본 발명의 초기상태가 복수인 경우의 trellis diagram를 나타낸 도면7 is a diagram illustrating a trellis diagram when the initial state of the present invention is plural.
도 8은 상기 도 7의 초기상태 즉, 초기상태가 모두 0 또는 모두 1인경우에서 시작하기 위한 쉬프트레지스터 상태를 나타낸 도면FIG. 8 is a diagram illustrating a shift register state for starting in the initial state of FIG. 7, that is, when the initial state is all 0 or all 1. FIG.
도 9는 본 발명에 대한 종래의 경우를 나타낸 것으로, 최종상태가 0 인경우의 다양한 예중 하나의 실시예를 나타낸 길쌈부호의 trellis diagram 9 illustrates a conventional case of the present invention, and a trellis diagram of a convolutional code showing one embodiment of various examples when the final state is 0
도 10은 상기 도 9의 최종상태가 0인경우에서 끝나기 위해서 테일비트(tail bits)값이 모두 0 (all zero)에서 끝남을 나타낸 도면FIG. 10 is a diagram illustrating that tail bits are all terminated at zero in order to end when the final state of FIG. 9 is zero.
도 11은 본 발명의 최종상태가 복수인 경우의 trellis diagram를 나타낸 도면11 is a diagram showing a trellis diagram when the final state of the present invention is plural;
도 12는 상기 도 11의 최종상태 즉, 최종상태가 모두 0 또는 모두 1인경우에서 끝나기 위한 테일 비트 상태를 나타낸 도면FIG. 12 illustrates a tail bit state for ending in the final state of FIG. 11, that is, when the final state is all zeros or all ones.
도 13은 길쌈부호의 상태구분과 각각의 상태(state)를 세팅하기 위한 방법을 정리한 표FIG. 13 is a table summarizing the state classification of convolutional codes and a method for setting each state. FIG.
도 14는 종래의 방법과 본 발명의 상태(state)차이를 정리한 표14 is a table summarizing the state differences between the conventional method and the present invention.
도 15는 상기 도 14에 의한 부가정보를 추가할 수 있는 비트를 나타낸 표FIG. 15 is a table showing bits to which additional information shown in FIG. 14 can be added. FIG.
도 16은 종래및 본 발명에 적용되는 일반적인 길쌈부호의 복호기인 비터비 복호기의 블럭도16 is a block diagram of a Viterbi decoder which is a conventional convolutional code decoder applied to the prior art and the present invention.
도 17은 시간관계까지 고려하여 한 프레임동안 반복적으로 수행되는 종래의 Viterbi Decoder의 복호과정을 나타낸 순서도17 is a flowchart illustrating a decoding process of a conventional Viterbi Decoder repeatedly performed for one frame in consideration of a time relationship.
도 18은 초기상태를 사용하는 길쌈부호 복호 순서도18 is a convolutional code decoding flowchart using an initial state
도 19는 최종상태를 사용하는 길쌈부호 복호 순서도19 is a convolutional code decoding flow chart using the final state
도 20은 초기상태와 최종상태를 모두 사용하는 길쌈부호 복호 순서도20 is a convolutional code decoding flowchart using both an initial state and a final state
도 21은 초기/최종상태의 상태쌍을 사용하는 길쌈부호에서 구분 복호 순서도
Fig. 21 is a flowchart of division decoding in convolutional codes using state pairs of initial and final states.
본 발명은 통신 시스템에서 데이터를 전송로를 통해 송수신시 발생하는 에러등에 대한 정정을 수행하는 부호화(coding)및 복호화(decoding)에 관한것으로, 특히 길쌈부호화(convolution coding)방법에서 쉬프트레지스터 상태값인 초기상태 또는 최종상태를 각각 복수의 경우로 설정하여 상기 초기상태 또는 최종상태값이 동일하게 설정되었을 경우, 한가지 정보만 보내는 형태가 되므로 잉여부분에 다른정보를 전송하여 시스템의 성능을 향상시키기 위한 길쌈부호방식을 이용한 채널 부호화 및 복호화 방법에 관한 것이다.The present invention relates to encoding and decoding for correcting an error occurring when a data is transmitted or received through a transmission line in a communication system. In particular, a shift register state value in a convolutional coding method is used. When the initial state or the final state is set to a plurality of cases, and the initial state or the final state value is set to be the same, only one piece of information is sent, so that other information is transmitted to the surplus portion to improve the performance of the system. A channel coding and decoding method using a coding method.
먼저, 부호화 방법에 대해 설명한다.First, the coding method will be described.
일반적으로 통신시스템에서 정보(데이터)가 전송로를 통해 전송도중 발생하는 에러등을 보정하기 위한 코딩방식인 길쌈부호화기(convolution coder)는, 입력되는 정보를 저장및 이동하는 쉬프트 레지스터(shift register)가 구성되어 있으며, 입력단쪽으로 데이터가 입력되고 상기 입력된 데이터는 클럭에 의해서 하나씩 쉬프트 레지스터를 옮겨가고, 입력되는 데이터와 각각의 쉬프트 레지스트의 출력을 이용하여 각 데이터를 합하여 출력데이터를 만들어 하나의 데이터가 입력될때 두개의 출력단자에서 두개의 비트가 출력된다.In general, a convolutional coder, a coding scheme for correcting errors occurring during transmission of information in a communication system, includes a shift register for storing and moving input information. The data is input to the input terminal, and the input data moves the shift registers one by one by a clock, and the output data is made by adding the input data and the respective data using the output of each shift register to produce one data. When input, two bits are output from the two output terminals.
또한 일반적으로 인코딩시는 State diagram, Tree Diagram, Trellis Diagram이 이용되고, 디코딩시는 Maximum Likelihood decoding, viterbi 알고리즘이 주로 사용된다.In general, State diagram, Tree Diagram, and Trellis Diagram are used for encoding, and Maximum Likelihood decoding and viterbi algorithms are used for decoding.
이하 종래 길쌈부호화의 구성 및 동작에 대해 설명한다.Hereinafter, the configuration and operation of the conventional convolutional encoding will be described.
종래 사용되고 있는 길쌈부호(convolutional code)는 한 프레임단위로 부호화(encoding)와 복호화(decoding)가 이루어진다. Conventional convolutional codes are encoded and decoded by one frame.
또한 부호화기(encoder)는 shift register로 구성되어 있다. 이때 shift register의 초기값(initial state)은 보통 모두 0(all zero)으로 맞추어 놓으며, shift register의 끝나는 상태를 일정하게 하기위하여 프레임의 끝에 특정한 비트열들을 넣게 된다. In addition, an encoder is composed of a shift register. At this time, the initial state of the shift register is normally set to all zeros, and specific bit strings are put at the end of the frame to make the shift register end state constant.
위와 같이 프레임의 끝에 넣는 특정한 비트열들을 tail bits라고 하며, convolutional code에서는 보통 모두 0(all zero)을 넣기만 하면 자동적으로 shift register가 0인 상태가 된다.As above, specific bit strings that are put at the end of the frame are called tail bits. In convolutional code, if all zeros are inserted, shift shift is automatically set to zero.
그러나 상기와 같은 방법을 사용하게 되면 tail bits에 해당하는 부분만큼은 정보를 전송하지 못하게 되어서 데이터 전송률 측면에서 낭비가 있게 된다. 따라서 위와 같은 점을 극복하기 위해서 제안된 방법으로는 tail biting convolutional code등이 있다. However, if the above method is used, the information corresponding to the tail bits cannot be transmitted, resulting in waste in terms of data rate. Therefore, the proposed method to overcome the above points is tail biting convolutional code.
상기 테일비팅콘볼루션코드(tail biting convolutional code)는 tail bits에 정보를 넣어서 보냄으로써 데이터 전송률을 높이는 장점이 있지만, 복호(decoding)시에 복호 회수가 증가하는 등의 부가적인 복호 방법들을 사용하여야 하므로 시스템의 성능이 나빠지는 단점이 있게 된다.The tail biting convolutional code has an advantage of increasing data rate by inserting information into tail bits, but additional decoding methods such as an increase in the number of decoding during decoding should be used. The disadvantage is that system performance is poor.
상기에서 설명한바와 같이, 콘볼루션코드의 부호화기(encoder)는 도 1과 같 이 쉬프트 레지스터(SR)(Shift Register)를 포함하고 있다.As described above, the encoder of the convolution code includes a shift register (SR) as shown in FIG. 1.
또한 codeword의 상태는 trellis diagram으로 나타낼 수 있으며, 도 2는 초기상태와 최종상태가 모두 0인 일반적인 경우의 trellis diagram이다.In addition, the state of the codeword may be represented by a trellis diagram. FIG. 2 is a trellis diagram in a general case in which both an initial state and a final state are zero.
도면에서 보는바와 같이, 도 1a는 부화율이 1/2이고 구속장길이(constraint length) K는 3인경우이며, 도 1b는 부호화율이 1/3이고 구속장길이(constraint length) K는 3인경우이다.As shown in the figure, FIG. 1A shows a case in which the hatching rate is 1/2 and the constraint length K is 3, while FIG. 1B shows a
여기에서 부호화율이란 원래의 비트 1비트에 대해 몇비트로 코딩하느냐를 나타내는것으로, 1/2부호화율은 원래비트 1비트를 2비트로 코딩한다는 의미이다.Here, the coding rate indicates how many bits are coded for one bit of the original bit, and the 1/2 coding rate means that one bit of the original bit is coded into two bits.
또한 구속장 K는 코딩특성을 나타내는 파라미터로 부호화기의 레지스터 숫자를 의미한다. 즉 레지스터갯수 + 1이 K를 나타낸다.In addition, the constraint length K is a parameter representing a coding characteristic and means a register number of an encoder. That is, the number of registers + 1 represents K.
상기의 trellis diagram은 길쌈부호를 해석하기 위해서 나타내는 여러가지 방법중의 하나이며, 인코딩 과정이 어떻게 되는지를 나타내기 위한 표현법이다.The trellis diagram above is one of several methods for interpreting convolutional codes, and it is an expression to show how the encoding process works.
또한 도 3은 프레임의 마지막에서 최종상태를 0으로 보내기 위한 tail bits(종지비트)를 붙인 프레임 구조이다.3 is a frame structure with tail bits for sending a final state to 0 at the end of a frame.
그러나 상기와 같은 종래의 convolutional code는 초기 시작 점을 고정하기 위하여 SR(shift register)의 초기 상태를 0으로 하며, 마지막 점을 고정시키기 위하여 tail bits를 붙여서 마지막 점을 고정시키면서 shift register의 상태를 0으로 되도록 한다. However, in the conventional convolutional code as described above, the initial state of the SR (shift register) is set to 0 to fix the initial start point, and the shift register is set to 0 while the last point is fixed by attaching tail bits to fix the last point. To be
그런데 상기의 종래의 방법으로는 전송되는 tail bits에 아무런 정보도 싣지 못하고 낭비하게 된다. However, the conventional method does not put any information on the transmitted tail bits and is wasted.
따라서 이러한 낭비를 막기 위하여 tail bits에 추가적인 정보를 실어 보내는 tail biting convolutional code가 도 4가 제안되었으나, 이러한 tail biting에서의 프레임 구조는 데이터 전송률 측면에서는 이득이 있게 되지만 복호기(decoder)에서 복호 회수가 증가하는 경우가 발생하고, 또한 메모리량과 복잡도도 증가하게 되는 단점을 가지고 있다.
Therefore, in order to prevent such waste, a tail biting convolutional code that carries additional information on tail bits is proposed in FIG. And the amount of memory and complexity also increases.
따라서 본 발명은 상기와 같은 종래의 문제점을 해결하기 위해, 길쌈부호(convolutional code)에서 복수의 초기상태(initial state) 또는/ 및 복수의 최종상태(final state)를 구성하여 상기 상태값이 동일한 경우에는 적어도 1비트이상에다 부가정보인 전력제어정보등을 전송할 수 있는 부호화 방법과을 제안히며, 또한 복호화 방법을 제안한다.
Therefore, in order to solve the above-mentioned conventional problem, the present invention configures a plurality of initial states and / or a plurality of final states in a convolutional code, where the state values are the same. The present invention proposes an encoding method capable of transmitting power control information, which is additional information, at least one bit or more, and a decoding method.
본 발명의 데이터의 부호화 방법은, 길쌈부호(convolutional code)에서 복수의 초기상태(initial state) 또는/ 및 복수의 최종상태(final state)를 구성하여 상기의 초기상태 또는/및 최종상태의 부분에 부가정보를 포함하여 전송하는것을 특징으로 한다.In the data encoding method of the present invention, a plurality of initial states and / or a plurality of final states are formed in convolutional code to be included in a portion of the initial state and / or the final state. It is characterized by the transmission including the additional information.
또한 본 발명의 길쌈부호에서 복수의 초기상태 또는 복수의 최종상태를 이용시, 부가적인 정보를 전송할 수 있도록 상기 상태에 해당하는 각각의 쉬프트 레 지스터값이 형성되는것을 특징으로 한다. In addition, when using a plurality of initial state or a plurality of final state in the convolutional code of the present invention, each shift register value corresponding to the state is formed so that additional information can be transmitted.
또한 본 발명에서 복호화 방법은, 시간 t=0일때 초기상태를 부가적인 정보로 사용하는 경우의 PM값을 0으로 설정 또는/및 시간 t=0일때 사용하지 않는 초기상태의 PM값은 무한대로 설정하는 초기화 단계와;Also, in the present invention, the decoding method may set the PM value of 0 when the initial state is used as additional information when time t = 0 and / or set the PM value of the initial state which is not used when time t = 0 is infinite. An initialization step of performing;
시간 t를 증가하여 분기에 대해 BM값 및 경로에 대한 PM값을 계산하고, 상기 PM값을 비교하여 생존경로를 찾아 상기 PM값과 함께 저장하는 과정을 상기 시간 t가 복호윈도우 길이의 끝에 갈때까지 반복하는 단계와;The time t is increased to calculate the BM value for the branch and the PM value for the path, and the PM value is compared and the survival path is found and stored with the PM value until the time t reaches the end of the decoding window length. Repeating;
상기 시간 t가 복호윈도우 길이의 끝에 도달할때의 생존경로의 마지막 생존경로 선택은, 부가적인 정보로 사용하기로 정한 최종상태를 중에서 최소의 PM값을 갖는 경로를 생존경로로 선택하는 단계;를 포함하는것을 특징으로 한다.Selecting the last survival path of the survival path when the time t reaches the end of the decryption window length, selecting a path having the minimum PM value among the final state determined to use as additional information; It is characterized by including.
또한 본 발명은 초기상태 또는/및 최종상태의 쉬프트레지스터값에 부가할 수 있는 정보는, 현재 전송되는 프레임의 프레임구조(frame format)의 정보를 제공하는 format indicator 또는 다른 채널의 프레임구조 정보를 제공하는 format indicator 또는 전력제어(power control)의 정보를 제공하는 power control indicator 또는 ACK/NACK을 정보를 제공하는 indicator 또는 채널 상태를 알려주기 위한 SIR(신호대 잡음비) 또는 선택가능한 변조/부호화방법을 나타내는 indicator를 적어도 하나이상 포함하는것을 특징으로 한다.In addition, the present invention provides information that can be added to the shift register value of the initial state and / or the final state, the format indicator for providing information of the frame format (frame format) of the currently transmitted frame or frame structure information of another channel A format indicator or a power control indicator that provides information of power control or an ACK / NACK indicator that provides information or an indicator indicating a signal-to-noise ratio (SIR) or a selectable modulation / coding method for indicating channel status. It characterized in that it comprises at least one.
본 발명의 다른 목적, 특징들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.Other objects and features of the present invention will become apparent from the detailed description of the embodiments with reference to the accompanying drawings.
이하 첨부된 도면을 참조하여 본 발명에 따른 부호화 및 복호화 방법을 설명 한다.Hereinafter, an encoding and decoding method according to the present invention will be described with reference to the accompanying drawings.
첫째로, 부호화 방법에 대해 설명하며, 본 발명에서는 초기상태를 사용하는 길쌈코드, 최종상태를 사용하는 길쌈코드 및 초기상태와 최종상태를 모두 사용하는 경우에서 각 초기/최종상태를 복수 상태인 경우로 나누어 본 발명의 목적인 부가정보를 실어 전송하기 위한 것이다.First, a coding method will be described. In the present invention, a convolutional code using an initial state, a convolutional code using a final state, and a case in which each initial / final state is plural in the case of using both an initial state and a final state Divided into to transmit additional information that is the object of the present invention.
도 5는 본 발명에 대한 종래의 경우를 나타낸 것으로, 초기상태가 0 인경우의 다양한 예중 하나의 실시예를 나타낸 길쌈부호의 trellis diagram으로, 상기 도 2의 하나의 다른 실시예이다.FIG. 5 illustrates a conventional case of the present invention, which is a trellis diagram of a convolutional code showing one embodiment of various examples when the initial state is 0, which is another embodiment of FIG. 2.
도 6은 상기 도 5의 초기상태가 0인경우에서 시작하기 위해서 쉬프트 레지스터 (SR)값이 모두 0 (all zero)에서 시작함을 나타낸 것이다.FIG. 6 illustrates that the shift registers SR all start at all zeros to start when the initial state of FIG. 5 is zero.
상기와 같은 종래의 도 5와 도6의 부호화방식은 부가적인 정보를 별도로 전송할수 없다는 단점이 있다.The conventional coding schemes of FIG. 5 and FIG. 6 have the disadvantage that additional information cannot be transmitted separately.
따라서, 도 7과 같이 초기상태가 복수인 경우의 trellis diagram를 제안한 것이다.Therefore, as shown in FIG. 7, the trellis diagram in the case where the initial state is plural is proposed.
즉, 초기상태를 하나의 상태로 고정시키지 않고, 여러 초기상태를 모두 사용하는 방법이다. 이때 사용하는 초기상태의 개수는 성능과 사용환경을 고려하여 결정하게 된다. That is, it is a method of using all the initial states without fixing the initial state to one state. In this case, the number of initial states to be used is determined in consideration of performance and environment of use.
이러한 초기상태를 사용하는 가장 간단한 예를 들면 초기상태가 모두 0인 경우와 초기상태가 모두 1인경우의 2가지를 사용하는 방법이다. 이때의 trellis diagram의 예들이 상기 도 7이다. The simplest example of using this initial state is to use two cases where the initial state is all zeros and the initial state is all ones. Examples of trellis diagrams at this time are shown in FIG. 7.
도 8은 상기 도 7의 초기상태 즉, 초기상태가 모두 0 또는 모두 1인경우에서 시작하기 위한 쉬프트레지스터 상태를 나타낸 도면이다.FIG. 8 is a diagram illustrating a shift register state for starting in the initial state of FIG. 7, that is, when the initial state is all zeros or all ones.
도면에서 보는바와 같이, 쉬프트 레지스터 초기값이 모두 0 또는 1에서 시작함을 알수 있다.As shown in the figure, it can be seen that the shift register initial values all start at 0 or 1.
만약 상기 도 7과 도8의 경우와는 달리, 3개이상의 초기상태를 사용하게 된다면 각각의 초기상태를 주기 위해서는 해당 3개이상의 초기상태로 shift register를 초기화 시켜주면 된다.Unlike the case of FIGS. 7 and 8, when three or more initial states are used, the shift register may be initialized to three or more initial states to give each initial state.
상기내용에 대해 좀 더 부연 설명한다.The above description is explained further.
본 발명에서, 상태(state)값이란 결국은 쉬프트레지스터안에 들어있는 각각의 값들을 한 비트씩 하여서 읽은 값에 해당된다.In the present invention, a state value eventually corresponds to a value read by one bit of each value contained in the shift register.
즉, 쉬프트레지스터가 현재 010110의 값을 갖고 있다면 현재 상태는 010110이고, 이때 초기상태는 이러한 쉬프트레지스터값의 제일 처음상태를 나타내고, 최종상태란 한 프레임의 끝에서의 쉬프트레지스터의 마지막 상태를 의미한다.That is, if the shift register currently has a value of 010110, the current state is 010110, where the initial state represents the first state of the shift register value, and the final state means the last state of the shift register at the end of one frame. .
따라서, 상태(state)값이란 인코더의 쉬프트레지스터들의 값을 의미한다. Thus, the state value means the values of the shift registers of the encoder.
따라서 초기상태가 00000에서 시작하고자 한다면 제일 처음의 쉬프트레지스터를 시작할 때 쉬프트레지스터가 00000의 값을 갖도록 해야 되며, 또한 만일 초기상태를 010010로 하고 싶다면 제일 처음의 쉬프트레지스터를 010010로 맞추면 된다.Therefore, if the initial state is to start at 00000, the shift register should have a value of 00000 when the first shift register is started, and if the initial state is to be set to 010010, the first shift register can be set to 010010.
일반적으로 초기상태의 가장 간단한 방식은 종래의 방법대로 모두0을 쓰는 방법이 있으며, 만약에 여러 초기상태를 쓴다면 수학적으로는 2쉬프트레지스터갯수 만큼의In general, the simplest way of initial state is to write all zeros according to the conventional method. If you use several initial states, mathematically, you can use as many as 2 shift registers .
초기상태가 가능하다.Initial state is possible.
또한 최종상태란 마지막 인코딩단계에서의 쉬프트레지스터값을 의미하는데, 최종상태를 맞추어 주기 위해서는 강제적으로 값을 집어 넣을 수 없으므로 프레임 끝에 tail bits를 넣어서 결국은 최종상태가 tail bits의 값으로 되도록 한다.In addition, the final state means the shift register value in the last encoding stage. In order to match the final state, the value cannot be forcibly inserted, so the tail bits are put at the end of the frame so that the final state becomes the value of the tail bits.
따라서 최종상태도 초기상태의 경우와 마찬가지로, 최종상태를 예를들어 001100으로 하고 싶다면 프레임의 제일 끝에 붙이는 tail bits를 001100으로 하면 된다.Therefore, as in the case of the initial state, if the final state is to be 001100, for example, the tail bits at the end of the frame may be 001100.
또한 blind rate detection이란 전송율의 종류가 여러개 있을때 송신측에서 보내는 전송율을 수신측에 알려주지 않는데도 수신측에서 스스로 전송율을 탐지하는것을 말한다.In addition, blind rate detection means that the receiver detects the transmission rate by itself, even when there are several types of transmission rates, even though the transmitting side does not inform the receiving side.
상기는 초기상태를 이용하는 부호화 방법을 설명하였고, 이하 최종상태를 사용하는 길쌈코드에 대해 설명한다.In the above, the encoding method using the initial state has been described, and convolutional code using the final state will be described below.
도 9는 본 발명에 대한 종래의 경우를 나타낸 것으로, 최종상태가 0 인경우의 다양한 예중 하나의 실시예를 나타낸 길쌈부호의 trellis diagram으로, 상기 도 2의 하나의 다른 실시예이다.FIG. 9 illustrates a conventional case of the present invention, which is a trellis diagram of a convolutional code showing one embodiment of various examples when the final state is 0, which is another embodiment of FIG.
도 10은 상기 도 9의 최종상태가 0인경우에서 끝나기 위해서 테일비트(tail bits)값이 모두 0 (all zero)에서 끝남을 나타낸 것이다.FIG. 10 illustrates that all tail bit values end at all zeros in order to end when the final state of FIG. 9 is zero.
상기와 같은 종래의 도 9와 도 10의 부호화방식은 부가적인 정보를 별도로 전송할수 없다는 단점이 있다.9 and 10 have a disadvantage in that additional information cannot be transmitted separately.
따라서, 도 11과 같이 최종상태가 복수인 경우의 trellis diagram를 제안한 것이다.Therefore, as shown in FIG. 11, the trellis diagram in the case where the final state is plural is proposed.
도 12는 상기 도 11의 최종상태 즉, 최종상태가 모두 0 또는 모두 1인경우에서 끝나기 위한 테일 비트 상태를 나타낸 도면이다.FIG. 12 is a diagram illustrating a tail bit state for ending in the final state of FIG. 11, that is, when the final state is all zeros or all ones.
도면에서 보는바와 같이, 데일 비트(tail bits) 상태가 모두 0 또는 1에서 끝남을 알수 있다.As can be seen in the figure, it can be seen that the tail bits state all ends at 0 or 1.
만약 상기 도 11과 도 12의 경우와는 달리, 3개이상의 최종상태를 사용하게 된다면 각각의 최종상태를 주기 위해서는 해당 3개이상의 최종상태로 테일 비트를 설정하면 된다.Unlike the case of FIGS. 11 and 12, when three or more final states are used, tail bits may be set to the corresponding three or more final states to give each final state.
이하 초기상태와 최종상태를 모두 사용하는 길쌈코드에 대해 설명한다.Hereinafter, convolutional code using both initial and final states will be described.
즉, 상기 도면 7,8인 상태와 도면 11,12상태를 모두 사용하는것으로 본 발명의 실시에서는 최소 4가지 경우가 발생할 수 있다.That is, at least four cases may occur in the embodiment of the present invention by using both the state of FIGS. 7, 8 and 11, 12.
이하 본 발명을 각각의 상태에 따라 정리한다.The present invention is summarized according to each state below.
도 13은 길쌈부호의 상태구분과 각각의 상태(state)를 세팅하기 위한 방법을 정리한 것이다.Fig. 13 summarizes the state classification of convolutional codes and a method for setting each state.
도면에서 보는바와 같이, 길쌈부호기의 쉬프트레지스터 상태는 초기상태(intial state)와 최종상태(final state)로 나누어 지며, 상기 각 상태를 세팅하는방법은 초기상태인경우는 쉬프트레지스터초기값을 세팅하고, 최종상태인 경우는 쉬프트레지스터의 테일비트를 세팅하는 방법을 사용한다. As shown in the figure, the shift register state of the convolutional encoder is divided into an initial state and a final state. The method of setting each state is to set an initial value of the shift register in the initial state. In the final state, the tail bit of the shift register is set.
도 14는 종래의 방법과 본 발명의 상태(state)차이를 정리한 것이다.Figure 14 summarizes the state differences between the conventional method and the present invention.
도면에서 보는바와 같이, 종래에는 쉬프트 레지스터의 초기상태 및 최종상태가 모두 0 또는 모두 1인 한가지 경우만의 상태값이 존재하였다. As shown in the figure, in the prior art, there was only one state value in which the initial state and the final state of the shift register were both zero or all ones.
그러나 본 발명에서는 최소 2개이상의 경우 (모두 0 또는 모두 1)이며, 2k-1 경우까지의 상태값이 존재할 수 있다.However, in the present invention, at least two cases (all 0's or all 1's) may exist and state values up to 2 k-1 cases may exist.
상기에서 k는 레지스터갯수인 구속장길이를 나타낸다.K denotes the constraint length which is the number of registers.
도 15는 상기 도 14에 의한 부가정보를 추가할 수 있는 비트를 나타낸 것이다.FIG. 15 illustrates bits for adding additional information shown in FIG. 14.
도면에서 보는바와 같이, 만약 초기상태와 최종상태만을 독립적으로 사용한다면, 최소 1비트 이상의 정보를 추가할 수 있으며, 만약 초기상태외 최종상태를 모두 사용한다면 최소 2비트 이상의 정보를 추가할 수 있다.As shown in the figure, if only the initial state and the final state are used independently, at least 1 bit of information can be added, and if all of the final state other than the initial state is used, at least 2 bits of information can be added.
상기 도 15의 추가할수 있는 정보에 대해 부연 설명한다.The additional information of FIG. 15 will be described in detail.
예를 들어 초기상태를 사용하는 경우에, 초기상태가 모두 0과 모두 1의 경우의 2가지 경우를 가질 수 있다고 가정할때, 수신측에서 2가지 초기상태중의 하나를 알아낼 수 있다면 한가지의 정보를 보낸 결과가 된다.For example, in the case of using the initial state, assuming that the initial state can have two cases of all 0's and all 1's, one piece of information if the receiver can figure out one of the two initial states. Is the result of sending.
상기에서 한가지 정보란 결국 1비트의 정보를 보낸 것을 의미하고, 마찬가지로 초기상태가 4가지의(도 7의 확장) 경우를 가질 수 있다고 할때, 상기 방법처럼 수신측에서 4가지 초기상태중의 2개를 알아낼 수 있다면 2가지의 정보를 보낸 결과가 된다. In the above, one piece of information means that one bit of information is eventually sent, and similarly, when the initial state may have four cases (extension of FIG. 7), two of four initial states on the receiving side as in the above method are used. If you can find a dog, you have two pieces of information.
따라서 2비트의 정보를 추가적으로 보낼수 있음을 의미한다. 이런 식으로 하면 여러 비트의 정보를 초기상태를 사용하여 보낼 수 있는 방법들을 생각해볼 수 있을 것이다.This means that two bits of additional information can be sent. This way, you can think of ways to send multiple bits of information using the initial state.
최종상태의 경우에도 초기상태와 동일한 예로써 적용 가능하다.The same applies to the initial state in the case of the final state.
한편, 초기/최종 상태를 모두 사용하는 경우에는 최소로 초기상태가 2가지 경우가 가능하고, 최종상태가 2가지 경우가 가능하다. 그러면 초기상태와 최종상태의 조합은 2*2=4로서 총4가지의 경우가 가능하다. On the other hand, in the case of using both the initial / final state, it is possible to at least two initial state, two final state is possible. Then, the combination of initial state and final state is 2 * 2 = 4, and there are four possible cases.
따라서 초기/최종 상태를 모두 사용하는 경우는 최소 2비트의 정보를 추가적으로 보낼 수 있게 된다.Therefore, when both initial and final states are used, at least 2 bits of information can be additionally sent.
둘째로, 복호화 방법에 대해 설명하며, 현재 사용되어지지 않고 고정되어 있는 초기상태와 최종상태를 이용하는 방법과, 초기/최종상태의 상태쌍을 사용하는 길쌈코드의 복호화에 관한 것이다.Secondly, the decoding method will be described. The present invention relates to a method of using an initial state and a final state that are not currently used and are fixed, and to decoding a convolutional code using state pairs of initial and final states.
상기 복호화 방법에 대해서는 종래발명및 본 발명을 함께 설명한다.The decoding method will be described together with the present invention and the present invention.
도 16은 종래및 본 발명에 적용되는 일반적인 길쌈부호의 복호기인 비터비 복호기의 블럭도를 나타낸 것이다.16 shows a block diagram of a Viterbi decoder, which is a conventional convolutional code decoder applied to the prior art and the present invention.
길쌈부호 디코딩방법은 최우도디코딩(MLD)(Maximum Likelihood Decoding)을 이용한다. 상기 MLD방식은 주어진 입력에 대해 가장 유사한 형식을 찾아 이를 디코딩하는 방식으로 최적의 디코딩 방식이며, 이런 MLD방법으로 비터비 알고리즘이 이용된다.The convolutional code decoding method uses Maximum Likelihood Decoding (MLD). The MLD method is an optimal decoding method that finds the most similar format for a given input and decodes it, and the Viterbi algorithm is used as the MLD method.
도면에서 보는바와 같이, 비터비 알고리즘은 수신된 데이터를 BM(Branch Metric), PM(Path Metric)이라는 변수를 통해 MLD를 수행한다.As shown in the figure, the Viterbi algorithm performs MLD on the received data through variables called BM (Bran Metric Metric) and PM (Path Metric).
BM은 상태천이도에 의해 생성된 기준 데이터와 송신된 데이터와의 차를 구하는 것으로 해밍거리로 정의된다.The BM is defined as the Hamming distance by obtaining the difference between the reference data generated by the state diagram and the transmitted data.
PM은 생존경로를 통해 전달된 연속적인 BM의 합을 저장한다.The PM stores the sum of consecutive BMs delivered through the survival pathway.
상기에서 생존경로란 최우도(ML)방법을 사용하여 복호한 복호결과를 생존경로라고 한다.In the above description, the survival path is referred to as the survival path by the decoding result decoded using the ML method.
디코딩과정은 상태천이도의 각 상태에 대해 PM과 BM을 더해서 작은값을 가지는 부분을 선택해 다시 PM에 저장하고 그 경로를 저장한다. (ACS)(Add-Compare-Select), (Storage of Survival Path), (PM Search).The decoding process adds PM and BM for each state of the state transition diagram, selects a portion having a small value, stores it in the PM, and stores the path. (ACS) (Add-Compare-Select), (Storage of Survival Path), (PM Search).
상기과정을 통해 모여진 경로데이터를 일정시간후부터 다시 거슬러 올라가(TB)(Trace Back) 최소경로를 찾아가게 된다.The route data collected through the above process is traced back after a certain time (TB) (Trace Back) to find the minimum route.
이때 선택된 경로가 디코딩 결과로 출력된다. (Decoded Data).At this time, the selected path is output as a decoding result. (Decoded Data).
종래의 Viterbi Decoder의 복호과정은 한 프레임동안 반복적으로 수행되며, 시간관계까지 고려하여 순서도를 도 17과 같이 나타내었다.The decoding process of the conventional Viterbi Decoder is repeatedly performed for one frame, and the flowchart is shown in FIG. 17 in consideration of the time relationship.
도면에서 보는바와 같이, 초기화, 반복 그리고 최종복호 순서로 진행된다.As shown in the figure, the process proceeds in the order of initialization, repetition and final decoding.
그러나 상기의 일반적인 길쌈부호는 도 16의 종래의 비터비 복호기가 최적의 복호기이다. 하지만 초기,최종상태를 사용하는 길쌈부호의 경우에는 종래의 비터비 복호기에 변화를 주어야 한다.However, the conventional convolutional code is a conventional Viterbi decoder of FIG. 16 is an optimal decoder. However, in the case of the convolutional code using the initial and final state, the conventional Viterbi decoder should be changed.
보통 길쌈부호의 한 프레임의 시작은 부호화(encoding) 시에 천이 레지스터(shift register)의 상태가 모두 0인 상태에서 시작하게 되어서, 처음 상 태는 0이 되게 된다. Normally, the start of one frame of convolutional code starts with the state of all shift registers being zero at the time of encoding, so the first state is zero.
따라서, 복호시의 초기화 과정에서 처음 상태가 0인 경우의 PM은 0으로, 그 이외의 0이 아닌 처음상태의 PM은 무한대로 두게 된다.Therefore, in the initialization process at the time of decoding, when the initial state is 0, the PM is 0 and other non-zero initial PMs are left at infinity.
또한 보통 길쌈부호는 한 프레임의 끝에 0의 값을 갖는 tail bits를 붙여서 최종 상태(final state)를 0으로 되게 한다. 이러한 경우는 보통 최종상태가 0에서 시작되는 경로를 생존경로로 선택하게 된다.Also, convolutional code usually appends tail bits with a value of zero to the end of a frame to bring the final state to zero. In these cases, the survival path is usually chosen as the path whose final state starts at zero.
하지만 초기, 최종상태를 사용하는 길쌈부호의 경우에는 초기상태(initial state)가 0뿐만 아니라 다른 상태를 갖는 것도 가능하다. 따라서, 처음상태가 0인 경우의 PM만 0으로 두는 것이 아니라, 가능한 다른 상태의 PM도 0으로 초기화 하여야 한다.However, in the case of convolutional codes using initial and final states, it is possible for the initial state to have a different state as well as zero. Therefore, not only PM when the initial state is 0, but also PMs of other states should be initialized to 0.
또한 초기, 최종상태를 사용하는 길쌈부호의 경우에는 최종상태(final state)가 0뿐만 아니라 다른 상태를 갖을 수도 있으므로, 마지막 생존경로 선택 시 최종상태가 0인 경로만 선택하는 것이 아니라, 가능한 다른 상태의 경로 중에서 가장 작은 PM을 갖는 경로를 선택하게 된다.Also, in the case of convolutional codes using initial and final states, the final state may have not only 0 but also other states. The path having the smallest PM is selected among the paths of.
이하 본 발명에 의한 복호화 방법을 설명한다.Hereinafter, the decoding method according to the present invention will be described.
1. 초기상태를 사용하는 길쌈부호 (도 18)1. Weaving code using the initial state (Fig. 18)
초기상태(initial state)를 사용하는 길쌈부호의 경우에는 초기상태가 0뿐만 아니라 부가적으로 사용하기로 정한 다른 상태도 초기상태로 가능하다. 이러한 경우의 복호방법은 종래의 일반적인 복호과정을 나타낸 도 17에서 초기화 부분만 변경되면 된다. In the case of convolutional codes that use the initial state, the initial state is not only 0, but other states that are additionally determined to be used as the initial state. In this case, the decoding method needs only to change the initialization part in FIG. 17 which shows a conventional general decoding process.
즉, 시간 t=0일때 초기상태를 부가적인 정보로 사용하는 경우의 PM값을 0으로 설정 또는/및 시간 t=0일때 사용하지 않는 초기상태의 PM값은 무한대로 설정하는 초기화 단계와; 시간 t를 증가하여 분기에 대해 BM값 및 경로에 대한 PM값을 계산하고, 상기 PM값을 비교하여 생존경로를 찾아 상기 PM값과 함께 저장하는 과정을 상기 시간 t가 복호윈도우 길이의 끝에 갈때까지 반복하는 단계와; 상기 시간 t가 복호윈도우 길이의 끝에 도달할때의 생존경로를 거슬러올라가(TB) 최소경로를 찾는 복호단계;로 이루어 진다.That is, an initialization step of setting the PM value in the case of using the initial state as additional information at time t = 0 and / or setting the PM value in the initial state not in use at time t = 0 to infinity; The time t is increased to calculate the BM value for the branch and the PM value for the path, and the PM value is compared and the survival path is found and stored with the PM value until the time t reaches the end of the decoding window length. Repeating; Decoding step (TB) looking up the survival path when the time t reaches the end of the decoding window length (TB) to find the minimum path.
또한 상기 도 18의 복호과정을 통해서 구하여진 생존경로(survival path)의 초기상태를 전송된 초기상태로 판단한다.
In addition, the initial state of the survival path obtained through the decoding process of FIG. 18 is determined as the transmitted initial state.
2. 최종상태를 사용하는 길쌈부호 (도 19)2. Weaving code using the final state (Fig. 19)
최종상태(final state)를 사용하는 길쌈부호의 경우에는 최종상태가 0뿐만 아니라 부가적으로 사용하기로 정한 다른 상태도 최종상태로 가능하다. 이러한 경우의 복호방법은 종래의 일반적인 복호과정을 나타낸 도 17에서 마지막 단계인 최종 복호방법만 변경하면 된다. In the case of convolutional codes using the final state, not only the final state is 0 but also other states which are additionally determined to be used as the final state. In this case, the decoding method needs only to change the final decoding method, which is the last step in FIG. 17, which shows a conventional general decoding process.
즉, 시간 t=0일때 초기상태를 부가적인 정보로 사용하는 경우의 PM값을 0으로 설정 또는/및 시간 t=0일때 사용하지 않는 초기상태의 PM값은 무한대로 설정하는 초기화 단계와; 시간 t를 증가하여 분기에 대해 BM값 및 경로에 대한 PM값을 계산하고, 상기 PM값을 비교하여 생존경로를 찾아 상기 PM값과 함께 저장하는 과정을 상기 시간 t가 복호윈도우 길이의 끝에 갈때까지 반복하는 단계와; 상기 시간 t가 복호윈도우 길이의 끝에 도달할때의 생존경로의 마지막 생존경로 선택은, 부가적인 정보로 사용하기로 정한 최종상태를 중에서 최소의 PM값을 갖는 경로를 생존경로로 선택하는 단계;로 이루어져 있다.That is, an initialization step of setting the PM value in the case of using the initial state as additional information at time t = 0 and / or setting the PM value in the initial state not in use at time t = 0 to infinity; The time t is increased to calculate the BM value for the branch and the PM value for the path, and the PM value is compared and the survival path is found and stored with the PM value until the time t reaches the end of the decoding window length. Repeating; Selecting the last survival path of the survival path when the time t reaches the end of the decryption window length includes selecting a path having a minimum PM value among the final states determined to be used as additional information; consist of.
또한 상기 도 19의 복호과정을 통해서 구하여진 생존경로(survival path)의 최종상태를 전송된 최종상태로 판단한다.
Also, the final state of the survival path obtained through the decoding process of FIG. 19 is determined as the transmitted final state.
3. 초기상태와 최종상태를 모두 사용하는 길쌈부호 (도 20)3. Convolutional code using both initial state and final state (FIG. 20)
상기 도 20은 초기 상태와 최종 상태를 모두 사용하는 경우의 복호방법으로 도 17의 종래의 일반적인 복호과정에서 초기화 과정과 최종 복호 과정 모두가 변화된다. 20 is a decoding method in which both an initial state and a final state are used. In the conventional general decoding process of FIG. 17, both an initialization process and a final decryption process are changed.
즉, 시간 t=0일때 초기상태를 부가적인 정보로 사용하는 경우의 PM값을 0으로 설정 또는/및 시간 t=0일때 사용하지 않는 초기상태의 PM값은 무한대로 설정하는 초기화 단계와; 시간 t를 증가하여 분기에 대해 BM값 및 경로에 대한 PM값을 계산하고, 상기 PM값을 비교하여 생존경로를 찾아 상기 PM값과 함께 저장하는 과정을 상기 시간 t가 복호윈도우 길이의 끝에 갈때까지 반복하는 단계와; 상기 시간 t가 복호윈도우 길이의 끝에 도달할때의 생존경로의 마지막 생존경로 선택은, 부가적인 정보로 사용하기로 정한 최종상태를 중에서 최소의 PM값을 갖는 경로를 생존경로로 선택하는 단계;로 이루어져 있다.That is, an initialization step of setting the PM value in the case of using the initial state as additional information at time t = 0 and / or setting the PM value in the initial state not in use at time t = 0 to infinity; The time t is increased to calculate the BM value for the branch and the PM value for the path, and the PM value is compared and the survival path is found and stored with the PM value until the time t reaches the end of the decoding window length. Repeating; Selecting the last survival path of the survival path when the time t reaches the end of the decryption window length includes selecting a path having a minimum PM value among the final states determined to be used as additional information; consist of.
또한 상기 도 20의 복호과정을 통해서 구하여진 생존경로(survival path)의 초기상태와 최종상태를 전송된 초기상태와 최종상태로 판단한다. In addition, the initial state and the final state of the survival path obtained through the decoding process of FIG. 20 are determined as the transmitted initial state and the final state.
4. 초기/최종상태의 상태쌍을 사용하는 길쌈부호에서 구분 복호 방법(도 21)4. Classification Decoding Method in Convolutional Codes Using State / End State Pairs (FIG. 21)
초기, 최종 상태를 상태쌍(state pair)으로 나누어 사용하는 경우에는 각 상태쌍(state pair)별로 각각 따로 복호하면서 각 상태쌍별 PM값을 구한다. 이들 PM값들 중에서 가장 최소인 상태쌍을 선택하고, 선택된 상태쌍을 기준으로 복호된 정보 비트들을 최종 복호된 데이터로 택한다. When the initial and final states are divided into state pairs and used, the PM values for each state pair are obtained by decoding each state pair separately. Among the PM values, the smallest state pair is selected, and information bits decoded based on the selected state pair are taken as the final decoded data.
상기의 초기, 최종 상태를 상태쌍(state pair)으로 나눈다는 의미는, (초기상태, 최종상태)와 같이 두 가지 상태의 조합을 하나의 쌍으로 하고, 이 한 개의 쌍에 한 개의 정보를 할당하는 방법으로 특별한 기준은 없다.The meaning of dividing the initial and final states into state pairs is to combine the two states into one pair, such as (initial state and final state), and assign one piece of information to this pair. There is no special standard.
예를 들면, 초기상태가 모두0 과 모두1이 가능하고, 최종상태도 모두0과 모두1이 가능하다고 가정할때, (초기상태,최종상태)=(모두0,모두0), (모두1,모두1), (모두0,모두1), (모두1, 모두0) 의 4가지가 가능하며, 그중에서 아무거나 쓰고 싶은대로 선택해서 사용하면 된다.For example, assuming that the initial states are all 0 and all 1, and the final states are all 0 and all 1, (initial state, final state) = (all 0, all 0), (all 1) , All 1), (All 0, All 1), (All 1, All 0) are available, and you can use any one of them.
즉, 추가적으로 필요한 비트수가 한가지라면 그냥 (모두0,모두0), (모두1, 모두1)의 2가지 상태쌍을 선택하면, 1비트 정보를 보낼 수 있게 된다.In other words, if there is one additional bit number, if you select two state pairs (all 0, all 0) and (all 1, all 1), 1-bit information can be sent.
또한 각 상태별로 PM을 구하는 방법은, 제일 처음에 PM의 초기값설정과 맨마지막의 생존경로 선택시 선택방법만 수정하면 된다. In addition, the method of calculating PMs for each state only needs to be modified at the beginning when setting the initial value of PM and selecting the last survival path.
예를 들어 기존의 길쌈부호는 초기상태가 모두0이고 최종상태가 모두0 이다.따라서, 종래의 비터비 복호기는 PM의 초기화시에 초기상태가 모두0인 PM만 0으로 하고, 다른 나머지 상태의 PM값들은 무한대로 설정한다. For example, a conventional convolutional code has an initial state of all zeros and a final state of all zeros. Thus, a conventional Viterbi decoder only sets PMs with zero initial states to zero at the time of PM initialization, PM values are set to infinity.
이렇게 되면 나중에 최소의 PM을 고를 때 무한대인 경우는 제외된다. This excludes infinite cases when choosing the minimum PM later.
또한 최종단에서 생존경로를 고를 때 최종상태가 모두0인 상태로 끝나는 경로를 선택하게 된다. In addition, when choosing the survival path at the final stage, the final state selects all paths ending in 0.
이렇게 초기상태와 최종상태에서의 동작이 고정되는 것은 초기상태와 최종상태가 특정한 값으로 정해져 있기 때문이며, 만일 어떤임의의 l 상태쌍의 PM을 구하기 위해서는 해당 상태쌍의 초기상태와 같은 PM값만 0으로 초기화하고, 다른 상태의 PM값의 초기화는 모두 무한대로 한다. The operation in the initial state and the final state is fixed because the initial state and the final state are fixed to a specific value, and to obtain a PM of any arbitrary state pair, only the PM value equal to the initial state of the corresponding state pair is zero. Initialize and initialize the PM values of other states to infinity.
또한 맨 마지막에서 생존경로선택시 해당상태쌍의 최종상태로 끝나는 경로를 생존경로로 선택하면 된다.In addition, when selecting the survival path at the end, the path ending with the final state of the corresponding state pair is selected as the survival path.
상기에서 최소의 PM값을 선택하는 것이 최적의 복호방법이다. 어쨌든 복호방법은 각각의 상태쌍들의 PM값을 구한후 가장 최소인 PM값을 택하고, 해당 상태쌍을 보내어진 상태쌍으로 판단하면 된다.Selecting the minimum PM value is the optimal decoding method. In any case, the decoding method is to obtain the PM value of each state pair, select the minimum PM value, and determine the state pair as the sent state pair.
이때의 복호과정을 일반화하여 나타내면 도 21과 같다.A general decoding process at this time is shown in FIG. 21.
즉, 초기상태와 최종상태을 이용하여 각각의 상태쌍으로 설정하는 제 1 단계와;That is, a first step of setting each state pair by using an initial state and a final state;
상기 초기상태와 최종상태중에서 아직 선택되지 않은 상태쌍을 선택하여 각각의 초기상태와 최종상태를 읽는(reading) 제 2 단계와;Selecting a state pair not yet selected among the initial state and the final state and reading respective initial state and final state;
시간 t=0일때 상태가 상기 단계 2에서 선택된 상태쌍의 초기상태와 같은경우 의 PM값을 0으로 설정 또는/및 시간 t=0일때 상태가 상기 단계 2에서 선택된 초기상태가 아닌 PM값은 무한대로 설정하는 제 3단계와;Set the PM value to 0 when the state is equal to the initial state of the state pair selected in step 2 when time t = 0 and / or the PM value other than the initial state selected in the step 2 when time t = 0 is infinite. Setting a third step;
시간 t를 증가하여 분기에 대해 BM값 및 경로에 대한 PM값을 계산하고, 상기 PM값을 비교하여 생존경로를 찾아 상기 PM값과 함께 저장하는 과정을 상기 시간 t가 복호윈도우 길이의 끝에 갈때까지 반복하는 제 4단계와;The time t is increased to calculate the BM value for the branch and the PM value for the path, and the PM value is compared and the survival path is found and stored with the PM value until the time t reaches the end of the decoding window length. Repeating the fourth step;
상기 시간 t가 복호윈도우 길이의 끝에 도달할때의 생존경로의 마지막 생존경로 선택은, 상기 단계 2에서 선택한 상태쌍에서의 최종상태들중에서 최소의 PM값을 갖는 경로를 생존경로로 선택하고, 생존경로를 거슬러올라가(TB)하면서 복호된 데이터와 생존경로의 PM값을 상기 단계 2에서 선택된 상태쌍별로 저장하는 제 5단계와; The last survival path selection of the survival path when the time t reaches the end of the decryption window length is selected as the survival path by selecting the path having the smallest PM value among the final states in the state pair selected in step 2, and surviving. A fifth step of storing the decoded data and the PM value of the survival path for each of the state pairs selected in step 2 while going back through the path (TB);
각 상태쌍의 PM값들을 비교하여 최소의 PM값을 선택하고, 상기 선택된 상태쌍에 대하여 저장된 데이터를 복호된 데이터로 판단하는 제 6단계;로 이루어져 있다.And comparing a PM value of each state pair to select a minimum PM value, and determining the stored data for the selected state pair as decoded data.
또한 상기 도 21의 복호과정을 통해서 구하여진 생존경로(survival path)의 초기상태와 최종상태의 상태쌍을 전송된 상태쌍으로 판단한다.In addition, the state pair of the initial state and the final state of the survival path obtained through the decoding process of FIG. 21 is determined as the transmitted state pair.
본 발명에서 부가되는 정보가 복호화되는 정보비트들의 오류를 검출하기 위한 오류검출부호(CRC: Cyclic Redundancy Check)의 부호어들로 제공되는 경우에, 부가된 오류검출부호를 통하여 전송된 정보비트들의 오류의 유무를 판단하기 위한 정보로 사용한다.In the case where the information added in the present invention is provided as code words of an error detection code (CRC: Cyclic Redundancy Check) for detecting an error of information bits to be decoded, an error of information bits transmitted through the added error detection code Use this information to determine the presence of
또한 본 발명에서 생존경로 선택시, 각 경로에 대하여 오류검출부호(CRC) 검사를 하여서 오류가 없는 것으로 판명된 경로들 중에서 최소의 PM값을 갖는 경로를 생존경로로 선택한다.In the present invention, when selecting a survival path, a path having a minimum PM value is selected as a survival path among the paths that are found to be error free by performing an error detection code (CRC) test on each path.
상기의 생존경로 선택시, 일단 최소의 PM값을 갖는 경로에 대하여 오류검출 부호(CRC) 검사를 하여서 오류가 없는 것으로 판명되면 생존경로로 선택하고, 만일 오류검출부호 검사에서 오류가 있는 것으로 판명되면 2번째로 최소의 PM값을 갖는 경로에 대하여 오류검출부호 검사를 하며, 이때 2번째로 최소의 PM값을 갖는 경로에 대하여 오류가 없는 것으로 판명되면 해당 경로를 생존경로로 선택하고, 만일 2번째로 최소의 PM값을 갖는 경로에 대하여 오류검출부호 검사결과 오류가 있는 것으로 판명되면 3번째로 최소의 PM값을 갖는 경로에 대하여 오류검출부호 검사를 하여, 오류검출부호 검사결과 오류가 없는 것으로 판명될 때까지 상기의 과정을 반복한다.When selecting the survival path, if the error detection code (CRC) test is found to be error-free for the path having the minimum PM value, the survival path is selected. If the error detection code is found to be error, Secondly, the error detection code is checked for the path with the smallest PM value. At this time, if it is found that there is no error for the path with the smallest PM value, the path is selected as the survival path. If the error detection code check result shows that there is an error for the path with the minimum PM value, the error detection code check is performed for the third path with the lowest PM value. Repeat the above process until
상기한 바와같이 본 발명에서는 길쌈부호화(convolution coding)방법에서 쉬프트레지스터 상태값인 초기상태 또는 최종상태를 각각 복수의 경우로 설정하여 상기 초기상태 또는 최종상태값이 동일하게 설정되었을 경우, 한가지 정보만 보내는 형태가 되므로 잉여부분에 다른정보를 전송하여 시스템의 성능을 향상시키기 위한 통신시스템에서의 부호화방법과, 또한 복호화 방법에 있어서도 초기상태/최종상태를 각각 사용하거나 함께 사용하는경우 및 초기/최종상태의 상태쌍을 사용하는 길쌈부호 복호 방법에관한 것이다.As described above, in the present invention, when the initial state or the final state value is set to the same state by setting the initial state or the final state, which are shift register state values, in a convolution coding method, only one piece of information is provided. In the transmission method, the encoding method in the communication system for improving the performance of the system by transmitting other information to the surplus portion, and also in the case of using the initial state / final state or the initial / final state, respectively, in the decoding method. Convolutional code decoding using state pairs.
이상에서 본 발명의 바람직한 실시예를 설명하였으나, 본 발명은 다양한 변화와 변경 및 균등물을 사용할 수 있다. 본 발명은 상기 실시예를 적절히 변형하여 동일하게 응용할 수 있음이 명확하다. Although the preferred embodiment of the present invention has been described above, the present invention may use various changes, modifications, and equivalents. It is clear that the present invention can be applied in the same manner by appropriately modifying the above embodiments.
따라서 상기 기재 내용은 하기 특허청구범위의 한계에 의해 정해지는 본 발명의 범위를 한정하는 것이 아니다. Accordingly, the above description does not limit the scope of the invention as defined by the limitations of the following claims.
따라서 본 발명에 의하면, 쉬프트레지스터 상태값인 초기상태 또는 최종상태를 각각 복수의 경우로 설정하여 상기 초기상태 또는 최종상태값이 동일하게 설정되었을 경우, 한가지 정보만 보내는 형태가 되므로 잉여부분에 최소 1개 또는 2개이상의 정보를 추가적으로 전송할 수 있으며, 또한 효과적으로 길쌈부호를 복호할수 있다.
Therefore, according to the present invention, when the initial state or the final state, which is the shift register state value, is set to a plurality of cases, respectively, and the initial state or the final state value is the same, only one piece of information is sent. It can additionally transmit two or more pieces of information, and can effectively decode convolutional codes.
Claims (22)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020010051600A KR100811376B1 (en) | 2001-08-25 | 2001-08-25 | Method for coding and decoding in a communication system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020010051600A KR100811376B1 (en) | 2001-08-25 | 2001-08-25 | Method for coding and decoding in a communication system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030017952A KR20030017952A (en) | 2003-03-04 |
KR100811376B1 true KR100811376B1 (en) | 2008-03-07 |
Family
ID=27720891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020010051600A KR100811376B1 (en) | 2001-08-25 | 2001-08-25 | Method for coding and decoding in a communication system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100811376B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100549870B1 (en) | 2004-07-09 | 2006-02-06 | 삼성전자주식회사 | Method for finding a last state in tail-biting and turbo encoder using the same |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62257237A (en) * | 1986-04-30 | 1987-11-09 | Fujitsu Ltd | Scramble transmission system |
KR980006956A (en) * | 1996-06-29 | 1998-03-30 | 김주용 | Method and apparatus for synchronous / asynchronous determination of Viterbi decoding signal |
KR0171383B1 (en) * | 1995-11-14 | 1999-03-30 | 양승택 | Decoding method of rotary convulutional code |
-
2001
- 2001-08-25 KR KR1020010051600A patent/KR100811376B1/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62257237A (en) * | 1986-04-30 | 1987-11-09 | Fujitsu Ltd | Scramble transmission system |
KR0171383B1 (en) * | 1995-11-14 | 1999-03-30 | 양승택 | Decoding method of rotary convulutional code |
KR980006956A (en) * | 1996-06-29 | 1998-03-30 | 김주용 | Method and apparatus for synchronous / asynchronous determination of Viterbi decoding signal |
Also Published As
Publication number | Publication date |
---|---|
KR20030017952A (en) | 2003-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100554322B1 (en) | Convolutional decoding with the ending state decided by crc bits placed inside multiple coding bursts | |
US6484285B1 (en) | Tailbiting decoder and method | |
US5436918A (en) | Convolutional encoding/decoding apparatus with fixed bit insertion | |
CA2068159A1 (en) | Generalized viterbi algorithm with tail-biting | |
KR19990044097A (en) | Data transmission method, data transmission system and transmitter and receiver | |
US7480852B2 (en) | Method and system for improving decoding efficiency in wireless receivers | |
US7716554B2 (en) | System and method for blind transport format detection with cyclic redundancy check | |
US7640478B2 (en) | Method for decoding tail-biting convolutional codes | |
KR100853139B1 (en) | Transport format detecting apparatus and method | |
US5822340A (en) | Method for decoding data signals using fixed-length decision window | |
US6363513B1 (en) | Transmission system with adaptive channel encoder and decoder | |
JPH0316046B2 (en) | ||
KR100277685B1 (en) | Complexity Reduction Method Using Statistics of Path Metric in Decryptor Using Trellis Decoding | |
CN114430279B (en) | List Viterbi decoding method, device, decoder and storage medium | |
KR100811376B1 (en) | Method for coding and decoding in a communication system | |
US7975212B2 (en) | Sequential decoding method and apparatus thereof | |
EP1008237A2 (en) | Transmission system having a simplified channel decoder | |
JPH06284018A (en) | Viterbi decoding method and error correcting and decoding device | |
KR100872266B1 (en) | Information transmission frame structure and decoding method thereof in mobile communication system | |
KR0170199B1 (en) | Viterbi decoder | |
KR100339855B1 (en) | A coded modulation system based on convolutional coding and constellation control and the coded modulation method | |
KR0144846B1 (en) | Convolution coding and decoding method | |
JP3445279B6 (en) | Data transmission method, data transmission system, transmitter, receiver | |
CN110768747A (en) | Convolutional code decoder and convolutional code decoding method | |
US20110090994A1 (en) | Decoding Method and Associated Apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
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: 20130128 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140124 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20150213 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |