KR101624145B1 - A method for error correction using Reed Solomon - Convolutional Concactenated Code and an apparatus - Google Patents

A method for error correction using Reed Solomon - Convolutional Concactenated Code and an apparatus Download PDF

Info

Publication number
KR101624145B1
KR101624145B1 KR1020090077995A KR20090077995A KR101624145B1 KR 101624145 B1 KR101624145 B1 KR 101624145B1 KR 1020090077995 A KR1020090077995 A KR 1020090077995A KR 20090077995 A KR20090077995 A KR 20090077995A KR 101624145 B1 KR101624145 B1 KR 101624145B1
Authority
KR
South Korea
Prior art keywords
frame
error
reliability
reed
erasure
Prior art date
Application number
KR1020090077995A
Other languages
Korean (ko)
Other versions
KR20110020397A (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 KR1020090077995A priority Critical patent/KR101624145B1/en
Publication of KR20110020397A publication Critical patent/KR20110020397A/en
Application granted granted Critical
Publication of KR101624145B1 publication Critical patent/KR101624145B1/en

Links

Images

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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • 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

Abstract

본 발명은 리드 솔로몬 컨벌루션 연접 코드 방식의 에러 정정 방법 및 장치에 관한 것으로, 이러한 본 발명은, 비터비 복호 결과, 시작 및 끝 스테이트의 불일치가 발생한 프레임 중 프레임 신뢰도가 낮은 순으로 2t 심벌 길이의 소거 위치를 찾는 과정과, 상기 소거 위치에 따라 정정할 위치 정보를 가지는 소거 위치 다항식을 생성하는 과정과, 상기 소거 위치 다항식을 이용하여, 리드 솔로몬 방식으로 에러 정정을 수행하는 과정을 포함하는 것을 특징으로 하는 리드 솔로몬 컨벌루션 연접 코드 방식의 에러 정정 방법 및 장치를 제공한다. The present invention relates to a method and apparatus for error correction of a Reed-Solomon convolutional code scheme. The present invention relates to a method and apparatus for error correction of a Reed-Solomon convolutional code scheme, Generating an erasure locator polynomial having positional information to be corrected according to the erasure position, and performing error correction using the erasure locator polynomial using the Reed Solomon method. And an error correction method and apparatus of the Reed-Solomon convolutional code system.

Reed Solomon, viterbi Reed Solomon, viterbi

Description

리드 솔로몬 및 컨벌루션 연접 코드 방식의 에러 정정 방법 및 장치{A method for error correction using Reed Solomon - Convolutional Concactenated Code and an apparatus}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an error correction method and apparatus for Reed Solomon and convolutional code,

본 발명은 리드 솔로몬 및 컨벌루션 연접 코드 방식의 에러 정정 방법 및 장치에 관한 것으로, 특히, 에러 정정 용량을 늘릴 수 있는 리드 솔로몬 및 컨벌루션 연접 코드 방식의 에러 정정 방법 및 장치에 관한 것이다. The present invention relates to a method and apparatus for error correction of Reed Solomon and convolutional code systems, and more particularly to a method and apparatus for error correction of Reed-Solomon and convolutional code systems that can increase the error correction capacity.

본 발명은 위성 및 이동통신 등의 통신 시스템과 디지털 저장 매체에서 순방향의 에러를 정정하는 기술(FEC : Forward Error Correction)로 널리 사용되고 있는 RS-CC 연접 코드의 채널 코딩 장치 및 방법에 관한 것이다. BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an apparatus and method for channel coding an RS-CC concatenated code widely used as a forward error correction (FEC) technique in a communication system such as satellite and mobile communication and a digital storage medium.

RS-CC 연접 코드(Reed Solomon Code - Convolutional Concactenated Code) 방식의 채널 코딩은 리드 솔로몬 코드(Reed Solomon Code)와 컨볼루션 코드(Convolutional Code)를 연접하여 사용하는 부호이다. Channel coding of the RS-CC concatenated code is a code that concatenates Reed Solomon code and Convolutional code.

비터비 복호기는 채널에서 발생하는 산발 에러(Scattered Error)에 대한 정정능력이 뛰어난 반면에 군집 에러(Burst Error)에 대한 정정능력이 부족하여, 이를 보완하기 위하여 리드 솔로몬 복호기를 사용하여 군집 에러를 처리하게 된다.The Viterbi decoder has excellent ability to correct for scattered errors occurring in the channel, but it has insufficient ability to correct for the burst error. To compensate for this error, the Reed Solomon decoder is used to process the cluster error .

비터비 복호기는 일반적으로 입력신호를 구속장 길이(Constraint length)의 5~8배 길이로 자른 프레임 단위로 복호를 수행한다. 또한, 비터비 복호기는 산발에러 정정능력을 높이기 위해서는 소프트 디시젼 디코딩(Soft Decision Decoding) 정정 방법을 사용한다.The Viterbi decoder generally decodes the input signal in units of frames, which are cut to a length of 5 to 8 times the constraint length. In addition, the Viterbi decoder uses a Soft Decision Decoding (AMC) correction method to improve the scatter error correction capability.

리드 솔로몬 코드부호는 비트가 아닌 N 비트의 심벌(Symbol)로 이루어져 있으며 K개의 Data 심벌에 2t 심벌 길이의 패리티 심벌을 더하여 N 심벌 데이터를 코드워드(Codeword)로 생성하여 전송한다. 리드 솔로몬 복호기는 1개의 코드워드 내에서 1t 심볼 길이 이내의 에러 심벌에 대하여는 항상 정정할 수 있는 특징을 가진다. The Reed-Solomon code code is composed of N bits of symbols, not a bit, and a parity symbol of 2t symbol length is added to K data symbols to generate N code data as a codeword, and the N code data is transmitted. The Reed-Solomon decoder has a characteristic that it can always correct for error symbols within 1 t symbol length in one code word.

RS-CC 연접 코드 복호기에서는 비터비 복호기로 산발 에러를 정정한 뒤, 리드 솔로몬 복호기로 군집에러를 정정한다. 리드 솔로몬 복호기의 입력 코드워드는 다수의 비터비 복호기의 출력 프레임으로 구성된다.In the RS-CC concatenated code decoder, the Viterbi decoder corrects the scatter error, and then the cluster error is corrected by the Reed Solomon decoder. The input codeword of the Reed-Solomon decoder is composed of output frames of a plurality of Viterbi decoders.

기존의 RS-CC 연접 코드 복호기에서는 군집 에러에 대한 정정 능력은 패리티 길이의 절반(1t 심벌 길이)에 의해서 제한된다. 코드워드 내에서 1t개 초과의 군집 에러가 발생할 경우 복호가 불가능하게 되어 CRC 에러를 나타내게 된다. In the conventional RS-CC concatenated code decoder, the correction capability for the cluster error is limited by half of the parity length (1 t symbol length). If a cluster error of more than 1t occurs in the codeword, decoding becomes impossible and a CRC error is indicated.

따라서 상술한 바와 같은 종래의 제약을 감안한 본 발명의 목적은 RS-CC 연접코드 채널 코딩 장치에서 사용하는 리드솔로몬 복호부에서 각각의 RS 코드워드에 대한 기존의 패리티 길이의 절반인 1t로 제한된 군집 에러의 정정 능력을 최대 2t개까지 향상 시키는 에러 정정 장치 및 방법을 제공함에 있다. SUMMARY OF THE INVENTION The present invention has been made in view of the above-mentioned problems, and it is therefore an object of the present invention to provide a RS decoder for RS- Of the present invention is improved to a maximum of 2t.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시 예에 따른 리드 솔로몬 컨벌루션 연접 코드 방식의 에러 정정 방법은, 비터비 복호 결과, 시작 및 끝 스테이트의 불일치가 발생한 프레임 중 프레임 신뢰도가 낮은 순으로 2t 심벌 길이의 소거 위치를 찾는 과정과, 상기 소거 위치에 따라 정정할 위치 정보를 가지는 소거 위치 다항식을 생성하는 과정과, 상기 소거 위치 다항식을 이용하여, 리드 솔로몬 방식으로 에러 정정을 수행하는 과정을 포함한다. According to another aspect of the present invention, there is provided a method of correcting an error of a Reed-Solomon convolutional code scheme, the method comprising the steps of: 2t symbol length, generating an erasure locator polynomial having positional information to be corrected according to the erasure position, and performing error correction using the erasure locator polynomial using the Reed Solomon method .

상기 에러 정정을 수행하는 과정은, 에러 위치 다항식에 상기 소거 위치 다항식을 곱한 값과, 에러 크기 다항식을 이용하여, 에러 크기 및 에러 위치를 산출하는 과정과, 상기 에러 크기 및 에러 위치를 이용하여 데이터를 정정하는 과정을 포함하는 것을 특징으로 한다. The step of performing the error correction includes the steps of calculating an error size and an error position using a value obtained by multiplying the error locator polynomial by the erasure locator polynomial and an error magnitude polynomial, And correcting the error signal.

상기 프레임 신뢰도는, 하나의 프레임에서, 프레임의 마지막 스테이트의 신뢰도, 프레임의 모든 스테이트 신뢰도의 합산, 및 프레임의 모든 스테이트 중 일부 스테이트 신뢰도의 합산 중 적어도 하나의 방법을 이용하여 산출하는 것을 특징으 로 한다. Wherein the frame reliability is calculated by using at least one of reliability of a last state of a frame, sum of all state reliability of a frame, and sum of some state reliability among all states of a frame in one frame do.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시 예에 따른 리드 솔로몬 컨벌루션 연접 코드 방식의 에러 정정 장치는, 비터비 복호 결과, 시작 및 끝 스테이트의 불일치가 발생한 복수개의 프레임 중 프레임 신뢰도가 낮은 순으로 2t 심벌 길이의 소거 위치를 찾는 비터비 복호부; 및 상기 소거 위치에 따라 정정할 위치 정보를 가지는 소거 위치 다항식을 생성하며, 상기 소거 위치 다항식을 이용하여, 리드 솔로몬 방식으로 에러 정정을 수행하는 리드 솔로몬 복호부;를 포함한다. According to another aspect of the present invention, there is provided an apparatus for correcting an error of a Reed-Solomon convolutional code system, the apparatus comprising: A Viterbi decoding unit for finding an erasure position of a 2t symbol length in order; And a Reed Solomon decoding unit which generates an erasure locator polynomial having positional information to be corrected according to the erasure position and performs error correction using the erasure locator polynomial using the Reed Solomon method.

상기 리드 솔로몬 복호부는, 상기 소거 위치를 이용하여 소거 위치 다항식을 생성하는 소거 위치 다항식 생성부; 상기 에러 정정을 수행하는 과정은, 에러 위치 다항식에 상기 소거 위치 다항식을 곱한 값과, 에러 크기 다항식을 이용하여, 에러 크기 및 에러 위치를 산출하는 패러티 연산부; 및 상기 에러 크기 및 에러 위치를 이용하여 데이터를 정정하는 에러 정정부;를 포함한다. Wherein the Reed-Solomon decoding unit comprises: an erasure locator polynomial generator for generating an erasure locator polynomial using the erasure locator; Wherein the step of performing the error correction includes: a parity operation unit for calculating an error size and an error position using a value obtained by multiplying an error locator polynomial by an erasure locator polynomial and an error magnitude polynomial; And an error correction unit for correcting the data using the error size and the error position.

상기 비터비 복호부는, 하나의 프레임에서, 프레임의 마지막 스테이트의 신뢰도, 프레임의 모든 스테이트 신뢰도의 합산, 및 프레임의 모든 스테이트 중 일부 스테이트 신뢰도의 합산 중 적어도 하나의 방법을 이용하여 프레임 신뢰도를 산출하는 프레임 신뢰도 산출부를 포함한다. The Viterbi decoding section calculates frame reliability using at least one of the reliability of the last state of the frame, the sum of all the state reliability of the frame, and the sum of some state reliability among all states of the frame in one frame And a frame reliability calculation unit.

본 발명에 따르면, 프레임 신뢰도를 이용하여 에러 위치를 찾아내되, 2t 개의 심벌 길이의 소거 위치를 찾아내어 이를 이용하여 에러 정정을 수행함으로써, 한 번에 수행할 수 있는 에러 정정의 용량을 늘릴 수 있다. 이에 따라, 에러 정정의 신뢰도를 향상시킬 수 있다. According to the present invention, the error position is found using the frame reliability, and the error correction is performed using the erasure position of 2t symbol lengths, thereby increasing the capacity of error correction that can be performed at one time . Thus, reliability of error correction can be improved.

이하, 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, only parts necessary for understanding the operation according to the present invention will be described, and the description of other parts will be omitted so as not to obscure the gist of the present invention.

도 1은 본 발명의 실시 예에 따른 RS-CC 부호 및 복호를 사용하는 무선 통신 시스템을 설명하기 위한 도면이다. FIG. 1 is a diagram for explaining a wireless communication system using RS-CC coding and decoding according to an embodiment of the present invention.

도 1을 참조하면, 송신측은 CRC 연산을 통해 CRC 코드를 부착하는 CRC(Cyclic Redundancy Check) 처리부(10), 리드 솔로몬(Reed Solomon) 부호화를 수행하는 리드 솔로몬(Reed Solomon) 부호부(20), 컨벌루션(Convolution) 부호화를 수행하는 길쌈 부호부(30), 및 변조를 수행하는 변조부(40)를 포함한다. 송신측에서 CRC 코드 부착, 리드 솔로몬 인코딩, 컨벌루션 인코딩 및 변조 과정을 거친 신호는 채널(1000)을 통해 수신측에 전송된다. Referring to FIG. 1, a transmitter includes a CRC (Cyclic Redundancy Check) processing unit 10 for attaching a CRC code through a CRC operation, a Reed Solomon code unit 20 for performing Reed Solomon encoding, A convolutional code unit 30 for performing convolutional coding, and a modulation unit 40 for performing modulation. Signals having undergone CRC code attachment, Reed Solomon encoding, convolutional encoding, and modulation on the transmitting side are transmitted to the receiving side through the channel 1000.

수신측은 수신된 신호를 복조하기 위한 복조부(100), 비터비(Viterbi) 복호화를 수행하는 비터비 복호부(200), 리드 솔로몬 복호화를 수행하는 리드 솔로몬 복호부(300) 및 CRC 검사를 수행하는 CRC 처리부(400)를 포함한다. The receiver includes a demodulator 100 for demodulating the received signal, a Viterbi decoder 200 for performing Viterbi decoding, a Reed-Solomon decoder 300 for performing Reed-Solomon decoding, and a CRC check And a CRC processing unit 400.

상술한 무선 통신 시스템에서 에러 정정 및 검증을 위한 구성인 비터비 복호부(200), 리드 솔로몬 복호부(300) 및 CRC 처리부(400)에 대해서 설명하기로 한다. 특히, 본 발명의 실시 예에 따른 비터비 복호부(200)는 연판정(Soft Decision) 방식 및 테일 바이팅(Tail Biting) 방식을 사용하며, 리드 솔로몬 복호부(300)는 소거(Erasure) 방식을 사용함을 예로 들어 설명하기로 한다. The Viterbi decoding unit 200, the Reed-Solomon decoding unit 300, and the CRC processing unit 400, which are components for error correction and verification in the above-described wireless communication system, will be described. In particular, the Viterbi decoding unit 200 according to the embodiment of the present invention uses a soft decision method and a tail biting method, and the Reed Solomon decoding unit 300 uses an erasure method Will be described as an example.

도 2는 본 발명의 실시 예에 따른 에러 정정 장치를 설명하기 위한 도면이다. 2 is a view for explaining an error correction apparatus according to an embodiment of the present invention.

본 발명의 실시 예에 따른 에러 정정 장치는 크게 비터비 복호부와(200), 리드 솔로몬 복호부(300) 및 CRC 처리부(400)를 포함한다. The error correction apparatus according to an embodiment of the present invention mainly includes a Viterbi decoding unit 200, a Reed Solomon decoding unit 300, and a CRC processing unit 400.

비터비 복호부(200)는 RS(Reed Solomon) 코드 워드(CW, CodeWord)를 출력함과 동시에, 출력하는 RS 코드 워드 중 발생할 수 있는 다수개의 에러 후보 프레임에서 프레임당 신뢰도가 낮은 순으로 2t 심벌 길이의 소거 위치(에러 위치)를 출력한다. The Viterbi decoding unit 200 outputs a Reed Solomon (RS) codeword (CW, CodeWord) and outputs a 2t symbol (CW, CodeWord) in descending order of reliability per frame in a plurality of error candidate frames, And outputs an erasure position (error position) of the length.

그러면, 리드 솔로몬 복호부(300)는 2t 심벌 길이의 소거 위치를 이용하여, 에러 위치 다항식을 생성하고, 생성한 다항식을 이용하여 에러를 정정한다. Then, the Reed-Solomon decoding unit 300 generates an error location polynomial using the erasure position of the 2t symbol length, and corrects the error using the generated polynomial.

CRC 처리부(400)는 에러 정정한 데이터에 CRC 연산을 통해 오류를 검출한다. The CRC processing unit 400 detects an error through CRC calculation on the error-corrected data.

종래에 RS 코드워드의 패러디에 수납되는 에러 위치가 1t 심볼 길이인 것을 감안하면, 본 발명은 한 번에 정정할 수 있는 에러 정정의 용량이 늘어난다. In view of the fact that the error position stored in the parody of the RS code word is 1t symbol length in the related art, the capacity of error correction that can be corrected at one time increases.

이하, 본 발명의 실시 예에 따른 비터비 복호부(200) 및 리드 솔로몬 복호부(300)에 대해서 각각 설명하기로 한다. Hereinafter, the Viterbi decoding unit 200 and the Reed Solomon decoding unit 300 according to the embodiment of the present invention will be described, respectively.

먼저, 비터비 복호부(200)에 대해서 설명한다. 도 3 및 도 4는 본 발명의 실시 예에 따른 비터비 복호부(200)를 설명하기 위한 도면이다. First, the Viterbi decoding unit 200 will be described. 3 and 4 are diagrams for explaining a Viterbi decoding unit 200 according to an embodiment of the present invention.

여기서, 도 3은 본 발명의 실시 예에 따른 프레임당 신뢰도를 검출하기 위한 트렐리스(trellis)를 도시한 도면이며, 도 4는 도 2에서 비터비 복호부를 발췌한 도면이다. FIG. 3 is a diagram illustrating a trellis for detecting per-frame reliability according to an embodiment of the present invention. FIG. 4 is a diagram illustrating a Viterbi decoding unit in FIG.

도 3의 도면 부호 (A) 및 (B)를 참조하면, 송신측의 길쌈 부호부(30)의 스테이트(memory state) 처리 방식은 테일 제로(tail zero) 방식(A)과 테일 바이팅(tail biting) 방식(B)으로 나누어 볼 수 있다. 테일 제로(tail zero) 방식(A)은 각 프레임(Frame) 마다 스테이트(state)를 0으로 초기화 한 후 정보(information)를 입력하여 부호화하고 마지막에 스테이트(state)를 0으로 만들어주는 테일 비트(tail bits)를 삽입한다. 한편, 테일 바이팅 방식(B)은, 테일 제로(tail zero) 방식(A)과 다르게 테일(tail)에서의 스테이트(state)에 대한 정보나 스테이트(state)를 제로(zero)로 만들어 주기 위한 작업을 수행하지 않는다. 본 발명에서는 테일 바이팅 방식(B)을 예로 들어 설명하기로 한다. Referring to FIGS. 3 (A) and 3 (B), the memory state processing method of the transmission side convolutional code unit 30 includes a tail zero method A and a tail- biting method (B). The tail zero method A initializes a state to 0 for each frame and inputs information bits and finally generates a tail bit that makes the state 0 tail bits. Meanwhile, the tail-biting method B is a method for making the information about the state in the tail different from zero in the state different from the tail zero method (A) Do not work. In the present invention, the tail-biting method (B) will be described as an example.

상술한 컨벌루션 부호화에 대응하는 비터비 복호 방식은 수신된 비트에 대하여 트렐리스 상에 존재하는 모든 가지 값(branch metric)을 계산하고, 그 가지 값에 따라 생성되는 경로 메트릭(path metric, 이하, "경로 값"과 혼용하여 사용)이 가장 적은 혹은 큰 경로를 따라 복호를 수행한다. 여기서 비터비 복호 방식은 경로 값(path metric)을 가장 큰 값을 선택하느냐 가장 적은 값을 선택하느냐는 메트릭(metric)을 어떻게 정의하여 사용하느냐에 따라 다르며, 유클리디언(Euclidean) 메트릭을 사용한다고 가정하면 가장 적은 값을 선택하여 사용한다. 여기서 설명되는 예에서는 모두 유클리디언 메트릭을 사용하는 가정하에 이루어질 것이다. The Viterbi decoding method corresponding to the convolutional coding described above calculates all branch metrics existing on the trellis with respect to the received bits and generates a path metric generated according to the branch value, "Path value") is used to perform decoding along the least or large path. Here, the Viterbi decoding method differs depending on whether the path metric is selected as the largest or the smallest metric, and it is assumed that the Euclidean metric is used. The lowest value is selected and used. The examples described here will all be based on the assumption that euclidean metrics are used.

연판정(soft decision) 출력 비터비 복호방식은 복호된 값이 0 또는 1의 경판정(hard decision) 값으로 출력되는 것이 아니라 어느 정도의 신뢰도를 가지고 0 또는 1의 값이 출력된다. The soft decision output Viterbi decoding scheme does not output the decoded value as a hard decision value of 0 or 1 but outputs a value of 0 or 1 with a certain degree of reliability.

연판정 출력 비터비 복호 알고리즘에서는 이러한 신뢰도를 임의의 스테이트(301)로 유입되는 여러 경로들 중 경로 값(path meteric)이 가장 작은 경로(303)와 경로 값이 가장 큰 경로(305)와의 차이로 정한다. 여기서 어느 하나의 스테이트로 유입되는 여러 경로 중 경로 값이 가장 우수하여 계속 존재하는 경로를 생존 경로(surviving path)(실선)라고하고, 경로 값이 불량하여 더 이상 고려되지 않고 무시되는 경로를 경쟁 경로(점선)라고 한다. In the soft decision output Viterbi decoding algorithm, this reliability is determined by the difference between the path 303 having the smallest path metric and the path 305 having the largest path value among the various paths introduced into the arbitrary state 301 I decide. In this case, among the various paths that flow into any one state, the surviving path (solid line) is the most excellent path value, and the path which is ignored because it is not considered anymore is referred to as a competition path (Dotted line).

그러면, 상술한 트렐리스를 참조하여, 본 발명의 실시 예에 따른 비터비 복호부(200)를 설명하기로 한다. Hereinafter, the Viterbi decoding unit 200 according to the embodiment of the present invention will be described with reference to the above-described trellis.

도 4를 참조하면, 본 발명의 실시 예에 따른 비터비 복호부(200)는, 가지값(branch metric) 연산부(201), ACS(Add-Compare-Select) 연산부(203), 역추적(trace-back)부(205), 및 출력부(207)를 통해 입력되는 신호의 산발 에러를 정정하여, 산발 에러가 정정된 신호를 리드 솔로몬 복호부(300)로 출력한다. 4, a Viterbi decoding unit 200 according to an embodiment of the present invention includes a branch metric calculation unit 201, an ACS (Add-Compare-Select) calculation unit 203, a trace -back unit 205 and the output unit 207 and outputs a corrected error-corrected signal to the Reed-Solomon decoding unit 300. The Reed-

또한, 비터비 복호부(200)는 스테이트 불일치 검출부(209), 및 후보 프레임 판단부(211)를 통해 오류가 발생할 가능성이 높은 후보 프레임들을 도출한다. 한편, 비터비 복호부(200)의 신뢰도 저장부(213), 스테이트 신뢰도 검출부(215), 프레임 신뢰도 산출부(217)는, 스테이트 신뢰도를 기반으로 프레임 신뢰도를 산출한다. Also, the Viterbi decoding unit 200 derives candidate frames that are likely to cause an error through the state mismatch detection unit 209 and the candidate frame determination unit 211. [ On the other hand, the reliability storage unit 213, the state reliability detection unit 215, and the frame reliability calculation unit 217 of the Viterbi decoding unit 200 calculate the frame reliability based on the state reliability.

이때, 소거 위치 지정부(219)는 후보 프레임들 중에서 프레임당 2t 심벌 길이의 소거 위치를 도출한다. At this time, the erasure position specification unit 219 derives the erasure position of the symbol length of 2t per frame from the candidate frames.

가지값 연산부(201)는 수신되는 비트가 확장된 비트 열과 송신단 길쌈 부호화기의 트렐리스(Trellis) 상의 부호화 비트(Branch Coded Word, 이하 BCW)와의 차이를 이용하여 트렐리스 상의 모든 가지에 대해 가지 값(branch metric)을 계산한다. 가지값 연산부(201)는 먼저, 입력 값과 대표 값과의 거리 값을 계산한다. 여기서, 거리 값은 유클리디안 거리 값임이 바람직하다. 그런 다음, 가지값 연산부(201)는 계산된 거리 값을 통해 상태 천이 과정에서 발생하는 모든 가지 값을 생성한다. 생성한 가지 값은 경로 값(path metric)을 계산을 위해 사용된다. The branch value operation unit 201 performs branch value operation on all branches on the trellis using the difference between the received bit stream and the branch coded word (BCW) on the Trellis of the transmitter convolutional encoder Compute the branch metric. The branch value operation unit 201 first calculates the distance value between the input value and the representative value. Here, the distance value is preferably an Euclidean distance value. Then, the branch value computing unit 201 generates all the branch values generated in the state transition process through the calculated distance value. The generated value is used to calculate the path metric.

ACS 연산부(203)는 가지값 연산부(201)에서 계산된 가지 값(branch metric)과 이전 상태의 경로 값(Path metric)을 더하여 현재 상태(301)에 이르는 각 가지로부터의 경로 값(Path metric)을 계산한다. 그리고 ACS 연산부(203)는 각 가지로부터의 경로 값을 비교하여 최소의 경로 값(303)을 찾고, 최소의 경로 값(303)을 갖는 생존 경로(Survivor path)를 선택한다. The ACS operation unit 203 adds a branch metric calculated in the branch value calculation unit 201 and a path metric of a previous state to obtain a path metric from each branch to the current state 301, . Then, the ACS operation unit 203 compares the path values from each branch, finds the minimum path value 303, and selects a survivor path having the minimum path value 303. [

ACS 연산부(203)는 현재 스테이트(301)에 이를 수 있는 이전 스테이트의 경로 값 2 개를 입력받고 최종적으로 현재 스테이트로 이르는 경로 값(303, 305) 중 최소의 경로 값(303)을 선택한다. 이와 같이, ACS 연산부(203)는 최소의 경로 값을 가지는 경로들을 연결하여 생존 경로(303)를 생성한다. The ACS operation unit 203 receives two path values of the previous state that can reach the current state 301 and finally selects the smallest path value 303 among the path values 303 and 305 reaching the current state. In this manner, the ACS operation unit 203 creates the survival path 303 by connecting the paths having the minimum path value.

이를 위하여, ACS 연산부(203)는 3 가지 동작을 수행한다. 이는 합산(ADD), 비교(COMPARE) 및 선택(SELECT)이다. For this, the ACS operation unit 203 performs three operations. These are sum (ADD), compare (COMPARE) and select (SELECT).

합산(ADD)은 이전 상태의 경로 값에 이전 상태에서 현재 상태로 이르는 가지의 가지 값을 더하여 각 가지로부터 현재 상태로 이르는 경로 값을 생성하는 것이다. 비교(COMPARE)는 생성된 각 가지로부터 현재 상태로 이르는 경로 값을 입력받아 뺄셈을 수행하여 그 결과 값을 출력한다. 출력하는 결과 값은 각 가지로부터 현재 상태로 이르는 경로 값 2개의 크기를 비교한 결과를 지시하는 정보이고, 또한 생존 경로를 지시하는 정보이다. 선택(SELECT)은 각 가지로부터 현재 상태로 이르는 경로값 중 작은 값을 선택하여 출력하는 것이다. 즉 생존 경로가 선택된다. 여기서, 유클리디안 메트릭에 따라 작은 값이 선택되는 것이며, 다른 메트릭을 사용하는 경우, 큰 값이 선택될 수 있다. The sum (ADD) is to add the branch values of the branch from the previous state to the current state to the path value of the previous state to generate a path value from each branch to the current state. COMPARE receives the path value from the generated branch to the current state, subtracts it, and outputs the result. The output value is information indicating a result of comparing two sizes of path values from each branch to the current state, and is information indicating a survival path. SELECT is to select and output the smaller of the path values from each branch to the current state. The survival path is selected. Here, a small value is selected according to the Euclidean metric, and when using another metric, a large value can be selected.

생성한 경로 값은 다음 상태의 경로 값을 생성하는데 다시 사용되기 위해 저장한다. The generated path value is stored for reuse to generate the path value of the next state.

상술한 합산(ADD), 비교(COMPARE) 및 선택(SELECT)을 수행하는 중, ACS 연산부(203)는 모든 경로에 대한 신뢰도를 신뢰도 저장부(213)로 출력하며, 신뢰도 저장부(213)는 모든 경로에 대한 신뢰도를 저장한다. The ACS operation unit 203 outputs the reliability for all the paths to the reliability storage unit 213 while the reliability storage unit 213 stores the reliability Stores reliability for all paths.

앞서 설명한 바와 같이, ACS 연산부(203)는 현재 상태(301)로 이르는 경로 값(303, 305) 중 최소의 경로 값(303)을 선택한다. 이때, 선택된 경로를 생존 경로(Survivor path)라 하며, 선택되지 않은 경로를 경쟁 경로(compete path)라고 한다. ACS 연산부(203)는 생존 경로의 경로 값과 경쟁 경로의 경로 값(path metric)의 차이인 신뢰도(Reliability)를 산출할 수 있다. 신뢰도의 값이 높은 경우 해당 비트(Bits)의 에러 정정의 신뢰도가 높으며, 신뢰도의 값이 낮은 경우 해당 비 트(Bits)의 에러 정정의 신뢰도가 낮게 나타난다. As described above, the ACS operation unit 203 selects the minimum path value 303 among the path values 303 and 305 reaching the current state 301. [ At this time, the selected path is called a survivor path, and the unselected path is called a compete path. The ACS operation unit 203 can calculate the reliability that is the difference between the path value of the survival path and the path metric of the competition path. When the reliability value is high, the reliability of the error correction of the bit is high, and when the reliability value is low, the reliability of the error correction of the bit is low.

역추적부(205)는 ACS 연산부(203)가 검출한 트렐리스 상의 생존 경로를 바탕으로 각 스테이트로 천이하는 과정에서 최소 경로를 선택하는 방식을 통하여 복호를 수행한다. The tracing unit 205 performs decoding based on the survivor path on the trellis detected by the ACS operation unit 203 through a method of selecting a minimum path in a process of transition to each state.

이러한 역추적 과정은, 테일 제로(tail zero) 방식의 경우, 스테이트 0으로 시작하여 스테이트 0으로 종료되며, 테일 바이팅(tail biting) 방식의 경우에는 임의의 스테이트에서 시작하여 동일한 스테이트에서 동작이 종료된다. This traceback process starts with state 0 and ends with state 0 in the case of a tail zero system, starts in any state in case of tail biting, and ends in operation in the same state. do.

이때, 시작 스테이트와 마지막 스테이트가 동일한 경우에 에러 정정이 바르게 이루어졌을 가능성이 높으며, 동일하지 않을 경우에는 에러 정정이 실패할 가능성이 높다. At this time, there is a high possibility that the error correction is correctly performed when the start state and the last state are the same, and if not, the error correction is likely to fail.

시작 스테이트와 마지막 스테이트가 동일하지 않은 경우를 "스테이트 불일치(stste mismatch)"라고 칭하기로 한다. 예컨대, 처음 스테이트는 00이었으나, 마지막 스테이트는 00이 아닌 경우를 말한다. The case where the start state and the last state are not the same will be referred to as "stste mismatch ". For example, the first state is 00, but the last state is not 00.

또한, 역추적부(205)는 생존 경로를 역추적함에 있어서, 현재 역추적하고 있는 스테이트를 스테이트 신뢰도 검출부(215)에 알린다. In addition, the backtrace unit 205 notifies the state reliability detection unit 215 of the state currently being traced back in tracking back the survival path.

한편, 역추적부(205)에서 비트(bit)별로 복호된 데이터는 출력부(207)에서 바이트(byte) 별로 출력된다. On the other hand, the data decoded for each bit in the backward tracing unit 205 is output by the output unit 207 in units of bytes.

스테이트 불일치 검출부(209)는, 시작 스테이트와 마지막 스테이트가 일치하지 않는 프레임, 즉, 스테이트 불일치 프레임을 역추적부(205)로터 검출하여 후보 프레임 판단부(211)에 알린다. The state mismatch detection unit 209 detects the frame in which the start state and the last state do not coincide with each other, that is, the state mismatch frame, and notifies the candidate frame determination unit 211 of the detection of the backtrace unit 205.

이때, 스테이트 불일치 검출부(209)는 역추적부(205)로터 해당 프레임의 시작 스테이트 및 마지막 스테이트를 검출한 뒤, 시작 및 마지막 스테이트가 일치하지 않은 프레임을 검출한다. At this time, the state mismatch detection unit 209 detects the start state and the last state of the rotor corresponding frame of the back tracking unit 205, and then detects the frames whose start and end states do not coincide with each other.

시작 스테이트와 마지막 스테이트가 동일한 경우에 에러 정정이 바르게 이루어졌을 가능성이 높으며, 동일하지 않을 경우에는 에러 정정이 실패할 가능성이 높다. 따라서 후보 프레임 판단부(211)는 스테이트 불일치가 발생한 프레임들을 에러 후보 프레임으로 판단하고, 소거 위치 지정부(219)에 알린다. There is a high possibility that the error correction is correctly performed when the start state and the last state are the same, and if not, the error correction is likely to fail. Therefore, the candidate frame determination unit 211 determines the frames in which state inconsistency has occurred as an error candidate frame, and notifies the erasure location specification unit 219 of the frames.

한편, 신뢰도 저장부(213)는 모든 경로에 따른 스테이트의 신뢰도를 저장하며, 앞서 설명한 바와 같이, ACS 연산부(203)의 연산 결과에 따라 스테이트의 신뢰도를 저장한다. On the other hand, the reliability storage unit 213 stores the reliability of the state according to all the paths, and stores the reliability of the state according to the operation result of the ACS operation unit 203, as described above.

스테이트 신뢰도 검출부(215)는 현재 역추적부(205)가 역추적하고 있는 스테이트를 인지하고, 해당 스테이트에 대한 신뢰도를 출력한다. 출력하는 스테이트의 신뢰도는 신뢰도 저장부(213)로부터 얻을 수 있다. The state reliability detection unit 215 recognizes the state that the current trailing unit 205 tracks backward and outputs the reliability for the current state. The reliability of the outputting state can be obtained from the reliability storage unit 213. [

프레임 신뢰도 산출부(217)는 각 프레임에서 현재 역추적부(205)가 추적하고 있는 스테이트의 신뢰도를 스테이트 신뢰도 검출부(215)로부터 수신하여 프레임 신뢰도(FQM, Frame Quality Metric)를 산출한다. The frame reliability calculation unit 217 receives the reliability of the state tracked by the current trailing unit 205 in each frame from the state reliability detection unit 215 and calculates the frame reliability (FQM, Frame Quality Metric).

각각의 프레임(Frame)의 에러 정정 결과의 신뢰도는 신뢰성(Reliability)을 이용하여 확인이 가능하다. 프레임의 신뢰도를 측정하는 방법에는 여러 가지 방법이 가능한데 리소스의 제한에 따라서 선택이 가능하다. Reliability of the error correction result of each frame can be confirmed by using reliability. There are several ways to measure the reliability of a frame, depending on the resource limitations.

즉, 프레임 신뢰도를 산출하는 방법은, 첫째, 프레임의 마지막 스테이 트(State)의 신뢰도를 사용하는 방법, 둘째, 프레임의 모든 스테이트 각각의 신뢰도를 합산하는 방법, 셋째, 프레임의 일부 스테이트 마다의 신뢰도를 합산하는 방법이 있으며, 상기한 3 가지 방법 중 적어도 하나의 방법을 이용한다. That is, the method for calculating the frame reliability includes a method of using the reliability of the last state of the frame, a method of summing the reliability of each state of each frame, and a method of calculating the reliability of each state of the frame , And at least one of the above three methods is used.

소거 위치 지정부(219)는 후보 프레임 판단부(211)로부터 수신한 후보 에러 프레임에서 프레임 신뢰도가 낮은 프레임을 소거 위치로 지정한다. The erasure position specification unit 219 designates a frame with low frame reliability as the erasure position in the candidate error frame received from the candidate frame determination unit 211. [

소거 위치 지정부(219)는 에러 위치 후보 프레임들 중 프레임 신뢰도(FQM)이 낮은 순의 프레임의 위치를 선택하되, 2t 심벌 길이만큼 선택한다. 이에 따라, 소거 위치 지정부(219)는 2t 심벌 길이의 소거 위치를 출력한다. The erasure position specification unit 219 selects a position of a frame in order of low frame reliability (FQM) among the error position candidate frames, and selects the position of the frame with the 2t symbol length. Accordingly, the erasure position specification part 219 outputs the erasure position of the 2t symbol length.

비터비 복호부(200)에서 처리하는 한 프레임을 32bit, 리드 솔로몬 코드워드의 1 심벌 길이가 8bit라고 가정하면, 리드 솔로몬 코드워드의 데이터는 255 심벌이며, 패터리는 32 심벌이 된다. 따라서 8 프레임 길이의 소거 위치를 지정할 수 있다. Assuming that one frame processed by the Viterbi decoding unit 200 is 32 bits and one symbol length of the Reed Solomon code word is 8 bits, the data of the Reed-Solomon codeword is 255 symbols, and the pattern becomes 32 symbols. Therefore, an erasure position of 8 frames can be designated.

상술한 바와 같이, 비터비 복호부(200)는 리드 솔로몬 방식의 복호를 수행함과 동시에, 스테이트 불일치가 발생한 프레임들 중 프레임당 신뢰도를 기반으로 2t 심벌 길이의 소거 위치를 지정하여 출력한다. As described above, the Viterbi decoding unit 200 performs the decoding of the Reed-Solomon scheme and designates and outputs the erasure position of the 2t symbol length based on the reliability per frame among the frames in which state inconsistency has occurred.

리드 솔로몬 복호부(300)는 (N, K, t)로 표현되는 RS 코드워드에서 심벌(Symbol) 단위로 에러 정정을 수행한다. 리드 솔로몬 부호의 코드 워드 구조는 입력 K개의 심벌(Symbol)에 2t 심벌(Symbol)의 패리티를 더한 N 심벌(Symbol)의 값을 하나의 코드워드(N = K +2t)로 한다. Reed Solomon decoding unit 300 performs error correction on a symbol basis in an RS code word expressed by (N, K, t). The codeword structure of the Reed-Solomon code is such that the value of the N symbol obtained by adding the parity of the 2t symbol to the input K symbols becomes one codeword (N = K + 2t).

비터비 복호부(200)가 2t 심벌 길이의 소거 위치(에러 위치)를 출력함에 따 라, 리드 솔로몬 복호부(300)는 기존의 1t 심벌 길이의 에러 위치를 통해 에러 정정을 수행하던 것에 비해 2t 심벌 길이의 에러 위치를 통해 에러 정정을 수행할 수 있다. 이러한 리드 솔로몬 복호부(300)에 대해서 설명하기로 한다. As the Viterbi decoding unit 200 outputs the erasure position (error position) of the 2t symbol length, the Reed Solomon decoding unit 300 performs error correction on the error position of the existing 1t symbol length, Error correction can be performed through the error position of the symbol length. Hereinafter, the Reed-Solomon decoding unit 300 will be described.

도 5는 본 발명의 실시 예에 따른 리드 솔로몬 복호부를 설명하기 위한 도면이다. 5 is a diagram for explaining a Reed Solomon decoding unit according to an embodiment of the present invention.

리드 솔로몬 복호부(300)는 버퍼부(401), 소거 위치 다항식 연산부(403), 신드롬 연산부(405), 제1 곱셈부(407), 에러 다항식 연산부(409), 제2 곱셈부(411), 패러티 연산부(413), 및 에러 정정부(415)를 포함한다. The Reed Solomon decoding unit 300 includes a buffer unit 401, an erasure position polynomial operation unit 403, a syndrome operation unit 405, a first multiplier 407, an error polynomial operation unit 409, a second multiplier unit 411, A parity calculation unit 413, and an error correction unit 415. [

버퍼부(401)는 입력되는 신호를 RS 코드 워드 단위로 일시 저장하고, 선입 선출(FIFO, First In First Out) 방식으로 에러 정정부(415)로 출력한다. The buffer unit 401 temporarily stores the input signal in units of RS codewords and outputs the signal to the error correction unit 415 in a first in first out (FIFO) manner.

소거 위치 다항식 연산부(403)는 소거 위치 지정부(219)의 2t 심벌 길이의 소거 위치(에러 위치)를 수신하여, 소거 위치 다항식을 생성한다. 소거 위치 다항식은 다음의 <수학식 1>과 같다. The erasure locator polynomial calculator 403 receives the erasure position (error position) of the 2t symbol length of the erasure locator designation 219 and generates an erasure locator polynomial. The erasure locator polynomial is given by Equation (1) below.

Figure 112009051488605-pat00001
Figure 112009051488605-pat00001

신드롬 연산부(405)는 입력되는 리드 솔로몬 부호어에서 2t 심벌 길이의 패러티 입력 심벌(Symbol)을 통하여 2t 심벌의 신드롬을 연산한 뒤, 출력한다. The syndrome operation unit 405 computes a syndrome of a 2t symbol through a parity input symbol having a length of 2t in the input Reed-Solomon codeword, and outputs the syndrome.

본 발명의 실시 예에서는, 신드롬 연산부(405)는 신드롬 연산 시 패러티의 에러 위치에 해당하는 부분의 입력값을 0으로 처리하여 연산한다. In the embodiment of the present invention, the syndrome operation unit 405 processes the input value of the portion corresponding to the error position of the parity in the syndrome operation by processing it as 0.

신드롬 연산 후, 제1 곱셈부(407)는 신드롬 다항식과, 소거 위치 다항식을 곱하여 출력한다. After the syndrome operation, the first multiplier 407 multiplies the syndrome polynomial by the erasure locator polynomial and outputs the result.

에러 다항식 연산부(409)는 신드롬 다항식 및 소거 위치 다항식이 곱해진 신호를 수정 유클리드 연산을 수행하여 1t 심벌 길이의 에러 위치와 1t 심벌 길이의 에러 크기를 나타내는 에러 위치 다항식과 에러 크기 다항식을 산출하고, 이를 출력한다. The error polynomial operation unit 409 performs a modified Euclidean operation on the signal multiplied by the syndrome polynomial and the erasure locus polynomial to calculate an error position polynomial and an error magnitude polynomial expressing the error position of the 1t symbol length and the error magnitude of the 1t symbol length, And outputs it.

이때, 제2 곱셈부(411)는 에러 위치 다항식과 소거 위치 다항식을 곱하여 패러티 연산부(413)에 입력한다. At this time, the second multiplier 411 multiplies the error locator polynomial by the erasure locator polynomial and inputs the result to the parity calculator 413. [

패러티 연산부(413)는 에러 위치 다항식과 소거 위치 다항식의 곱 및 에러 크기 다항식을 입력 받아, "Forney" 알고리즘을 통해 에러 크기를 산출하여 출력하고, "Chien search" 알고리즘을 통해 에러 위치를 산출하여 출력한다. 에러 위치 다항식 및 소거 위치 다항식을 그 입력으로 함에 따라, 패러티 연산부(413)는 2t 심볼 길이의 알려진 소거 위치(에러 위치)를 통해 보다 많은 수의 에러 위치를 알 수 있다. 이에 따라, 하여 패러티 연산부(413)는 보다 많은 양의 알려진 에러 위치를 통해 에러 위치를 출력할 수 있다. The parity calculator 413 receives the product of the error locator polynomial and the erasure locator polynomial and the error magnitude polynomial, calculates and outputs the error magnitude through the "Forney" algorithm, calculates the error location through the "Chien search & do. By taking the error locator polynomial and the erasure locator polynomial as its inputs, the parity operator 413 can know a larger number of error locations through known erasure locations (error locations) of 2 t symbol length. Accordingly, the parity calculating unit 413 can output the error position through a larger amount of known error positions.

에러 정정부(415)는 버퍼부(401)에 일시 저장된 RS 코드워드와 패러티 연산부(413)의 출력인, 에러 위치 및 에러 크기를 이용하여 RS 코드워드의 에러를 정정한다. The error correction unit 415 corrects the error of the RS code word by using the RS code word temporarily stored in the buffer unit 401 and the error position and the error size, which are the outputs of the parity operation unit 413.

다음으로, 상술한 본 발명의 실시 예에 따른 에러 정정 장치를 통한 에러 정정 방법에 대해서 설명하기로 한다. 도 6은 본 발명의 실시 예에 따른 에러 정정 방법을 설명하기 위한 도면이다. Next, an error correction method using the error correction apparatus according to the embodiment of the present invention will be described. 6 is a diagram for explaining an error correction method according to an embodiment of the present invention.

본 발명의 실시 예에 따르면, 2t개 심벌의 에러 위치(소거 위치)가 저장될 수 있다. 다만, 1t 심벌 길이의 에러 위치를 통해서도 충분히 정정할 수 있는 경우, 즉, 일반적인 경우, 에러 정정 장치는 S601, 및 S603 단계에서 비터비 복호를 수행하고, 1t 심볼 길이의 에러 위치를 통해 리드 솔로몬 복호를 수행하여 에러를 정정한다. 그런 다음, 에러 정정 장치는 S605 단계에서 CRC 검사를 통해 에러 정정 결과를 확인한다. According to the embodiment of the present invention, the error position (erase position) of 2t symbols can be stored. However, in a case where the error correction apparatus can sufficiently correct the error position through the error position of the 1t symbol length, that is, in general, the error correction apparatus performs Viterbi decoding in steps S601 and S603, To correct the error. Then, in step S605, the error correction apparatus checks the error correction result through the CRC check.

이때, CRC 검사 결과 성공(success)인 경우, S607 단계에서 0 내지 1t 심벌에 대해 에러 정정을 하였음을 확인하고 에러 정정 프로세스를 종료한다. 반면, S605 단계의 CRC 검사 결과 실패(fail)인 경우, 1t 심벌 길이 이상의 에러 위치(소거 위치)로 인한 실패일 수 있다. 따라서 에러 정정 장치는 S615 단계로 진행하여, 소거 위치 다항식을 이용한 리드 솔로몬 복호를 수행한다. At this time, if the CRC check result is success, it is confirmed in step S607 that the error correction is performed on the 0 to 1t symbols, and the error correction process is terminated. On the other hand, if the CRC check result in step S605 is a failure, it may be a failure due to an error position (erasure position) of 1 t symbol length or more. Therefore, the error correction apparatus proceeds to step S615 and performs the Reed Solomon decoding using the erasure locator polynomial.

소거 위치 다항식을 이용하기 위해서는 2t 심벌 길이의 소거 위치를 미리 알아야 한다. 이러한 이유로, 에러 정정 장치는 S601 단계의 비터비 복호가 시작되면, S609 단계에서 프레임 신뢰도를 산출하고, S611 단계에서 상태 불일치가 발생한 프레임을 검출하며, S613 단계에서 상태 불일치가 발생한 프레임 중 프레임 신뢰도에 따라 2t 심벌 길이의 소거 위치를 찾는다. 이에 따라, 에러 정정 장치는 S605 단계에서 CRC 오류가 발생한 경우, S613 단계에서 소거 위치 다항식을 이용한 리드 솔로몬 복호를 수행한다. 앞서 설명한 바와 같이, 소거 위치 다항식은 <수학식 1>과 같이 2t 심벌 길이의 소거 위치를 이용하여 생성한다. In order to use the erasure locator polynomial, the erasure position of the 2t symbol length must be known in advance. For this reason, when the Viterbi decoding in step S601 is started, the error correction apparatus calculates the frame reliability in step S609, detects a frame in which a state mismatch has occurred in step S611, and determines a frame reliability of frames in which state mismatch has occurred And finds the erasure position of the 2t symbol length. Accordingly, if a CRC error occurs in step S605, the error correction apparatus performs Reed Solomon decoding using the erasure locator polynomial in step S613. As described above, the erasure locator polynomial is generated using the erasure position of the 2t symbol length as shown in Equation (1).

이어서, 에러 정정 장치는 S617 단계에서 CRC 검사를 수행한다. S617 단계의 CRC 검사 결과 성공(success)한 경우, 에러 정정 장치는 S619 단계에서 t+1 내지 2t 개의 심벌에 대해 에러 정정을 하였음을 확인하고 에러 정정 프로세스를 종료한다. 그렇지 않은 경우(fail), 에러 정정 장치는 S621 단계에서 에러 정정에 실패하였음을 리턴하고 프로세스를 종료한다. Subsequently, the error correction apparatus performs a CRC check in step S617. If the CRC check result of step S617 is successful, the error correction device confirms that error correction has been performed for t + 1 to 2t symbols in step S619, and ends the error correction process. If not, the error correction device returns that the error correction has failed in step S621 and terminates the process.

리드 솔로몬 복호부는 t개 이하의 에러 심벌에 대하여는 항상 정정이 가능하며 t+1 ~ 2t개의 에러 심벌에 대하여는 에러의 존재 유무만 파악되며, 에러의 수정은 불가능하다. 단, 본 발명의 실시 예에 따르면, 최대 2t개의 에러 심벌의 위치(소거 위치)를 알고 있을 경우 2t개의 심벌까지의 정정이 항상 가능하다. 본 발명의 실시 예에 따르면, 소거 위치(에러 위치)를 2t 심벌 길이만큼 늘려 에러 정정을 수행함으로써, RS-CC 복호 장치의 군집에러 정정 능력이 최대 2배까지 증가될 수 있다. 또한, 1t 심벌 길이의 에러 위치를 이용하여 에러 정정을 수행하다가, 1t 심벌 길이의 에러 위치를 통해 정정이 불가능한 경우, 즉, CRC 에러가 발생한 경우에만 선택적으로 본 발명의 실시 예를 이용할 수도 있다. The Reed-Solomon decoding section can always correct for error symbols of less than or equal to t, and for error symbols of t + 1 to 2t, only the presence or absence of errors is known, and error correction is impossible. However, according to the embodiment of the present invention, correction of up to 2t symbols is always possible when the positions (erase positions) of up to 2t error symbols are known. According to the embodiment of the present invention, by performing error correction by increasing the erase position (error position) by 2t symbol length, the cluster error correction capability of the RS-CC decoding apparatus can be increased up to 2 times. In addition, it is possible to selectively use the embodiment of the present invention only when the error correction is performed using the error position of the 1 t symbol length, and the correction can not be performed through the error position of the 1 t symbol length, that is, when the CRC error occurs.

따라서 본 발명에서는 에러 정정이 실패할 경우 프레임 내에서 연속으로 에러 비트(Error Bits)를 발생시키는 비터비 복호부(200)의 특징을 이용한다. Therefore, in the present invention, when error correction fails, the feature of the Viterbi decoding unit 200 that generates error bits continuously in the frame is used.

즉, 비터비 복호부(200)에서 스테이트 불일치 및 스테이트 신뢰도를 이용하여 2t 심벌 길이의 소거 위치, 즉, 에러 프레임들을 찾아낸 후, 리드 솔로몬 복호부(300)에 적용하여 정정 능력이 향상될 수 있다. That is, after the erasure positions of the 2-t symbol length, that is, the error frames, are detected using the state mismatch and the state reliability in the Viterbi decoding section 200, the correcting ability can be improved by applying the error mismatching section 300 to the Reed- .

이상에서 살펴본 바와 같이, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가 지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다. While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, Therefore, the scope of the present invention should not be limited by the illustrated embodiments, but should be determined by the scope of the appended claims and equivalents thereof.

도 1은 본 발명의 실시 예에 따른 RS-CC 부호 및 복호를 사용하는 무선 통신 시스템을 설명하기 위한 도면. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a diagram for explaining a wireless communication system using an RS-CC code and decoding according to an embodiment of the present invention; FIG.

도 2는 본 발명의 실시 예에 따른 에러 정정 장치를 설명하기 위한 도면이다. 2 is a view for explaining an error correction apparatus according to an embodiment of the present invention.

도 3 및 도 4는 본 발명의 실시 예에 따른 비터비 복호부를 설명하기 위한 도면이다. 3 and 4 are views for explaining a Viterbi decoding unit according to an embodiment of the present invention.

도 5는 본 발명의 실시 예에 따른 리드 솔로몬 복호부를 설명하기 위한 도면이다. 5 is a diagram for explaining a Reed Solomon decoding unit according to an embodiment of the present invention.

도 6은 본 발명의 실시 예에 따른 에러 정정 방법을 설명하기 위한 도면이다. 6 is a diagram for explaining an error correction method according to an embodiment of the present invention.

Claims (8)

리드 솔로몬 컨벌루션 연접 코드 방식의 에러 정정 방법에 있어서, A method for error correction of a Reed Solomon convolutional joint code scheme, 비터비 복호 시 각 프레임 당 프레임 신뢰도를 산출하는 과정과,Calculating a frame reliability for each frame upon Viterbi decoding; 상기 비터비 복호 시, 시작 및 끝 스테이트의 불일치가 발생한 적어도 하나의 프레임을 검출하는 과정과,Detecting at least one frame in which mismatching between the start and end states occurs in the Viterbi decoding, 상기 비터비 복호 결과, 상기 검출된 적어도 하나의 프레임 중 상기 프레임 신뢰도가 낮은 순으로 2t 심벌 길이의 소거 위치를 출력하는 과정과, Outputting an erasure position of a symbol length of 2t in descending order of the frame reliability among the detected at least one frame as a result of the Viterbi decoding; 리드 솔로몬 복호 시, 상기 소거 위치에 따라 정정할 위치 정보를 가지는 소거 위치 다항식을 생성하는 과정과, Generating an erasure locator polynomial having positional information to be corrected according to the erasure position upon Reed-Solomon decoding; 상기 리드 솔로몬 복호 시, 상기 소거 위치 다항식을 이용하여 에러 정정을 수행하는 과정을 포함하는 것을 특징으로 하는 리드 솔로몬 컨벌루션 연접 코드 방식의 에러 정정 방법. And performing error correction using the erasure locator polynomial in the Reed-Solomon decoding of the Reed-Solomon convolutional code. 제1항에 있어서, The method according to claim 1, 상기 에러 정정을 수행하는 과정은, 에러 위치 다항식에 상기 소거 위치 다항식을 곱한 값과, 에러 크기 다항식을 이용하여, 에러 크기 및 에러 위치를 산출하는 과정과, 상기 에러 크기 및 에러 위치를 이용하여 데이터를 정정하는 과정을 포함하는 것을 특징으로 하는 리드 솔로몬 컨벌루션 연접 코드 방식의 에러 정정 방법. The step of performing the error correction includes the steps of calculating an error size and an error position using a value obtained by multiplying the error locator polynomial by the erasure locator polynomial and an error magnitude polynomial, And correcting the error of the Reed-Solomon convolutional code. 제1항에 있어서, The method according to claim 1, 상기 프레임 신뢰도는, 하나의 프레임에서, 프레임의 마지막 스테이트의 신 뢰도, 프레임의 모든 스테이트 신뢰도의 합산, 및 프레임의 모든 스테이트 중 일부 스테이트 신뢰도의 합산 중 적어도 하나의 방법을 이용하여 산출하는 것을 특징으로 하는 리드 솔로몬 컨벌루션 연접 코드 방식의 에러 정정 방법. Wherein the frame reliability is calculated using at least one of reliability of the last state of the frame in one frame, summation of all state reliability of the frame, and summation of some state reliability among all states of the frame A method for error correction of a Reed Solomon convolutional joint code scheme. 리드 솔로몬 컨벌루션 연접 코드 방식의 에러 정정 장치에 있어서, A Reed Solomon convolutional code code error correction apparatus, 각 프레임 당 프레임 신뢰도를 산출하고, 시작 및 끝 스테이트의 불일치가 발생한 적어도 하나의 프레임을 검출하며, 상기 검출된 적어도 하나의 프레임 중 상기 프레임 신뢰도가 낮은 순으로 2t 심벌 길이의 소거 위치를 출력하는 비터비 복호부;A frame reliability calculating unit for calculating a frame reliability for each frame and detecting at least one frame in which a mismatch between the start and end states occurs and for outputting an erasure position of a 2t symbol length in the order of decreasing the frame reliability among the detected at least one frame, Non-decoding unit; 상기 소거 위치에 따라 정정할 위치 정보를 가지는 소거 위치 다항식을 생성하며, 상기 소거 위치 다항식을 이용하여 에러 정정을 수행하는 리드 솔로몬 복호부;를 포함하는 것을 특징으로 하는 리드 솔로몬 컨벌루션 연접 코드 방식의 에러 정정 장치. And a Reed Solomon decoding unit for generating an erasure locator polynomial having positional information to be corrected according to the erasure position and performing error correction using the erasure locator polynomial. Correction device. 제4항에 있어서, 5. The method of claim 4, 상기 리드 솔로몬 복호부는, The Reed-Solomon decoding unit, 상기 소거 위치를 이용하여 소거 위치 다항식을 생성하는 소거 위치 다항식 생성부; An erasure locator polynomial generator for generating an erasure locator polynomial using the erasure locator; 에러 위치 다항식에 상기 소거 위치 다항식을 곱한 값과, 에러 크기 다항식을 이용하여, 에러 크기 및 에러 위치를 산출하는 패러티 연산부; 및 A parity operation unit for calculating an error size and an error position using a value obtained by multiplying the error locator polynomial by the erasure locator polynomial and an error magnitude polynomial; And 상기 에러 크기 및 에러 위치를 이용하여 데이터를 정정하는 에러 정정부;를 포함하는 것을 특징으로 하는 리드 솔로몬 컨벌루션 연접 코드 방식의 에러 정정 장치. And an error correcting unit correcting the data using the error size and the error position. 제4항에 있어서, 5. The method of claim 4, 상기 비터비 복호부는, Wherein the Viterbi decoder comprises: 하나의 프레임에서, 프레임의 마지막 스테이트의 신뢰도, 프레임의 모든 스테이트 신뢰도의 합산, 및 프레임의 모든 스테이트 중 일부 스테이트 신뢰도의 합산 중 적어도 하나의 방법을 이용하여 상기 프레임 신뢰도를 산출하는 프레임 신뢰도 산출부를 포함하는 것을 특징으로 하는 리드 솔로몬 컨벌루션 연접 코드 방식의 에러 정정 장치. In one frame, a frame reliability calculation section that calculates the frame reliability using at least one of a reliability of a last state of a frame, a sum of all state reliability of a frame, and a sum of some state reliability among all states of a frame And an error correcting unit of the Reed-Solomon convolutional code system. 삭제delete 삭제delete
KR1020090077995A 2009-08-24 2009-08-24 A method for error correction using Reed Solomon - Convolutional Concactenated Code and an apparatus KR101624145B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090077995A KR101624145B1 (en) 2009-08-24 2009-08-24 A method for error correction using Reed Solomon - Convolutional Concactenated Code and an apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090077995A KR101624145B1 (en) 2009-08-24 2009-08-24 A method for error correction using Reed Solomon - Convolutional Concactenated Code and an apparatus

Publications (2)

Publication Number Publication Date
KR20110020397A KR20110020397A (en) 2011-03-03
KR101624145B1 true KR101624145B1 (en) 2016-05-25

Family

ID=43929642

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090077995A KR101624145B1 (en) 2009-08-24 2009-08-24 A method for error correction using Reed Solomon - Convolutional Concactenated Code and an apparatus

Country Status (1)

Country Link
KR (1) KR101624145B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11323138B1 (en) 2020-10-29 2022-05-03 SK Hynix Inc. Reed-Solomon code soft-decision decoding method and device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200137184A (en) * 2019-05-29 2020-12-09 에스케이하이닉스 주식회사 Memory system and method of correcting errors in the memory system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050278610A1 (en) * 2002-07-31 2005-12-15 Banks David M Reed-solomon decoder and decoding method for errors and erasures decoding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050278610A1 (en) * 2002-07-31 2005-12-15 Banks David M Reed-solomon decoder and decoding method for errors and erasures decoding

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11323138B1 (en) 2020-10-29 2022-05-03 SK Hynix Inc. Reed-Solomon code soft-decision decoding method and device
KR20220057087A (en) 2020-10-29 2022-05-09 에스케이하이닉스 주식회사 Reed-solomon code soft-decision decoding method and device

Also Published As

Publication number Publication date
KR20110020397A (en) 2011-03-03

Similar Documents

Publication Publication Date Title
US8423873B2 (en) Decoding techniques for correcting errors using soft information
JP3310185B2 (en) Error correction device
US7047474B2 (en) Decoding concatenated codes via parity bit recycling
US8127216B2 (en) Reduced state soft output processing
US6484285B1 (en) Tailbiting decoder and method
US7480852B2 (en) Method and system for improving decoding efficiency in wireless receivers
EP2418796B1 (en) Bitwise reliability indicators from survivor bits in Viterbi decoders
US20090193313A1 (en) Method and apparatus for decoding concatenated code
KR101348428B1 (en) Hard-decision iteration decoding based on an error-correcting code with a low undetectable error probability
KR20010085425A (en) Data transmission method, data transmission system, sending device and receiving device
US20040194005A1 (en) Decoding a concatenated convolutional and block encoded signal
US8843811B2 (en) Apparatus and method for decoding in communication system
US6543025B2 (en) Transmission system with adaptive channel encoder and decoder
JP4758765B2 (en) Transport format detection apparatus and transport format detection method
KR101624145B1 (en) A method for error correction using Reed Solomon - Convolutional Concactenated Code and an apparatus
KR101609884B1 (en) Apparatus and method for diciding a reliability of decoded data in a communication system
KR101212856B1 (en) Method and apparatus for decoding data in communication system
US6304612B1 (en) Transmission system having a simplified channel decoder
Kim et al. A new list decoding algorithm for short-length TBCCs with CRC
JP4444755B2 (en) Concatenated code system, concatenated code processing method, and decoding apparatus
JP5370487B2 (en) Decoding method and decoding apparatus
JP2001024717A (en) Turbo decoding device and reiterative decoding method
JP5609250B2 (en) Viterbi decoding apparatus, decoding method thereof, and communication system
JP3445279B6 (en) Data transmission method, data transmission system, transmitter, receiver
KR20090061853A (en) Apparatus and method fo viterbi decoder using cable modem

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee