KR20020058757A - Decoding algorithm using map algorithm - Google Patents

Decoding algorithm using map algorithm Download PDF

Info

Publication number
KR20020058757A
KR20020058757A KR1020000086887A KR20000086887A KR20020058757A KR 20020058757 A KR20020058757 A KR 20020058757A KR 1020000086887 A KR1020000086887 A KR 1020000086887A KR 20000086887 A KR20000086887 A KR 20000086887A KR 20020058757 A KR20020058757 A KR 20020058757A
Authority
KR
South Korea
Prior art keywords
algorithm
decoding
decoder
map
equation
Prior art date
Application number
KR1020000086887A
Other languages
Korean (ko)
Inventor
유흥렬
우성식
이재진
이준
Original Assignee
이계철
주식회사 케이티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이계철, 주식회사 케이티 filed Critical 이계철
Priority to KR1020000086887A priority Critical patent/KR20020058757A/en
Publication of KR20020058757A publication Critical patent/KR20020058757A/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing

Abstract

PURPOSE: A decoding algorithm using a MAP(Maximum A Posteriori) algorithm is provided to improve a processing speed of data by using a decoding algorithm with a fast decoding speed. CONSTITUTION: A decoder receives an encoded signal and decodes the encoded signal by using a decoding algorithm. The decoder performs a decoding process by using the decoding algorithm including a MAP algorithm. The decoder includes a MAX function and a Viterbi algorithm. The decoder uses the Max function and the Viterbi algorithm in the decoding process when generating an output value to decode the encoded signal. The decoder generates the output value by using a natural log value when generating the output value to decode the encoded signal. The decoder uses an ACS(Add-Compare-Select) module in a forward metric recursion process a backward metric recursion process to generate the output value of the decoder.

Description

최대사후복호(MAP) 알고리즘을 이용한 복호 알고리즘{Decoding Algorithm using MAP Algorithm}Decoding Algorithm using MAP Algorithm

본 발명은 채널에 의해 발생하는 오류 정정을 위한 SISO 복호기(Soft-Input Soft-Output Decoder)에 사용되는 복호 알고리즘에 관한 것으로, 보다 상세하게는 시스템 구현의 복잡도를 줄이고 복호 속도를 높이는 MAP (Maximum A Posteriori : 이하 MAP이라 칭함) 알고리즘을 이용한 복호 알고리즘에 관한 것이다.The present invention relates to a decoding algorithm used in a SISO decoder (Soft-Input Soft-Output Decoder) for error correction caused by the channel, and more particularly to a MAP (Maximum A) that reduces the complexity of the system implementation and increases the decoding speed. Posteriori: hereinafter referred to as MAP) relates to a decoding algorithm using.

통신 시스템의 발전과 그 보급이 급증되면서, 통신 시스템의 채널 오류를 방지하기 위해 여러 가지 다양한 복호기와 복호 알고리즘에 개발되었다.As the development of communication systems and their proliferation have increased, various decoders and decoding algorithms have been developed to prevent channel errors in communication systems.

도 1은 종래의 터보 부호 부호기의 블록도로, N 정보 비트의 프레임(Frame)으로 이루어진 입력을 이용하여 패리티(parity) 심벌을 만드는 두 개의 RSC(Recursive Systematic Convolutional) 부호기를 병렬로 연결한 구조로 되어 있으며, 오류 정정(Error Correcting) 능력을 고려하여 원하는 크기로 구성할 수 있다.1 is a block diagram of a conventional turbo coder, in which two Recursive Systematic Convolutional (RSC) coders, which make a parity symbol using an input consisting of a frame of N information bits, are connected in parallel. It can be configured in a desired size in consideration of the error correcting ability.

상기 도 1은 정보 비트(Xk)(110)의 프레임(Frame)으로 이루어진 입력을 이용하여 패리티(parity) 심벌(Y1k, Y2k)(114, 120)을 만드는 RSC(Recursive Systematic Convolutional) 부호기(제 1 RSC부호기, 제 2 RSC부호기)(112, 118); 및1 is a Recursive Systematic Convolutional (RSC) coder that makes a parity symbol (Y 1k , Y 2k ) 114, 120 using an input consisting of a frame of information bits (X k ) 110. (First RSC encoder, second RSC encoder) 112, 118; And

상기 제 2 RSC부호기에 들어가는 데이터의 순서를 바꾸어 주어, 연속해서 발생하는 연집 오류(Burst error)를 비연속적으로 발생하는 임의 오류(Random error)로 처리하는 인터리버(Interleaver)(116)를 구비한다.An interleaver 116 is provided which reverses the order of data entered into the second RSC encoder, and treats burst errors that occur continuously as random errors that occur discontinuously.

상기 도 1에 도시된 터보 부호 부호화기에서 입력 데이터의 송신 과정은, 잡음이 더해진 정보 데이터 Xk(110)를 입력받아, Xk(110)를 하나의 출력으로 출력하는 Xk(110) 출력과정과;FIG transmission of the input data from the turbo code encoder shown in Figure 1 process, accepts noise plus input information data X k (110), X k (110) output process of outputting the X k (110) into one output and;

상기 정보 데이터 Xk(110)를 상기 제 1 RSC부호기(112)에 입력하고, 제 1 RSC부호화기(112)에서 잡음이 더해진 패리티 정보 Y1k(114)를 출력하는 Y1k(114) 출력과정; 및A Y 1k (114) output process of inputting the information data X k (110) to the first RSC encoder (112) and outputting parity information Y 1k (114) with noise added by the first RSC encoder (112); And

N 정보 비트의 프레임과 동일한 크기를 갖는 상기 인터리버(116)는 상기 정보 데이터 Xk(110)를 입력받고, 제 2 RSC부호화기(118)는 인터리버(116)의 출력 값을 입력받아 Y2k(120)를 출력하는 Y2k(120) 출력과정을 구비한다.The interleaver 116 having the same size as a frame of N information bits receives the information data X k 110, and the second RSC encoder 118 receives the output value of the interleaver 116 and receives Y 2k (120). Y 2k (120) outputting process is provided.

따라서, 상기 터보부호 부호기의 출력은 제 1 RSC부호기의 출력(Y1k)뿐만 아니라 상기 인터리버(116)를 통해 변형된 출력(Y2k)으로 인해 이중 패리티 정보를 지니게 되며, 상기 출력과정에 의해 출력된 Xk(110)과 Y1k(114) 및 Y2k(120)를 송신한다.Therefore, the output of the turbo encoder has dual parity information due to the output (Y 2k ) modified through the interleaver 116 as well as the output (Y 1k ) of the first RSC encoder, and is output by the output process The transmitted X k 110 and Y 1k 114 and Y 2k 120.

도 2는 종래의 터보 부호 복호기의 블록도로, 상기 도 1의 부호화 과정을 통해 터보부호로 부호화 된 수신신호 Xk(110)와 Y1k(114) 및 Y2k(120)를 복호 알고리즘을 이용하여 복호화(decoding)한다.FIG. 2 is a block diagram of a conventional turbo code decoder. The received signals X k 110, Y1 k 114, and Y 2k 120 encoded by turbo codes through the encoding process of FIG. 1 are decoded using a decoding algorithm. Decode

상기 도 2는 도 1의 부호화 과정을 통해 부호화 된 Xk(110)와 Y1k(114)를 입력받아, 복호 알고리즘을 이용하여 LLR(Log-Likelihood Ratio) 값으로(214)를 출력하는 제 1복호기(Decoder)(212)와;FIG. 2 receives X k 110 and Y 1k 114 encoded through the encoding process of FIG. 1 and uses a decoding algorithm to obtain a Log-Likelihood Ratio (LLR) value. A first decoder (212) outputting (214);

상기 제 1복호기(212)로부터(214)를 입력받아,(214)값을 인터리빙하여(220)을 출력하는 인터리버(216)와;From the first decoder 212 Input 214, By interleaving the value (214) An interleaver 216 for outputting 220;

상기 인터리버(216)로부터(220)와 Y2k(120)를 입력받아, 복호 알고리즘을 이용하여 LLR 값으로 LLR_2를 출력하는 제 2복호기(218)와;From the interleaver 216 A second decoder 218 receiving 220 and Y2k 120 and outputting LLR_2 as an LLR value using a decoding algorithm;

상기 제 2복호기(218)로부터 LLR_2를 입력받아 Zk(210)을 출력하는 제 1디인터리버(222); 및A first deinterleaver 222 that receives LLR_2 from the second decoder 218 and outputs Zk 210; And

상기 제 2복호기(218)로부터 LLR_2를 입력받아, 인터리빙된 데이터를 원래 상태로 만들어 복호 신호(Hard output)를 출력하는 제 2디인터리버(deinterleaver)(224)를 구비한다.And a second deinterleaver 224 that receives LLR_2 from the second decoder 218 and restores the interleaved data to its original state and outputs a decoded signal.

상기 도 2의 터보부호 복호기에 의한 복호화는, 반복 복호를 위해 상기 제 1디인터리버의 출력 값 Zk(210)와 상기 Xk(110) 및 Y1k(114)를 제 1 복호기(212)로 전송하여 다시 복호한다.In the decoding by the turbo code decoder of FIG. 2, the output values Z k 210 and the X k 110 and Y 1k 114 of the first deinterleaver are converted to the first decoder 212 for repeated decoding. Send and decode again.

상기 제 2디인터리버(224)는 LLR_2를 디인터리빙한 후 값들이 0보다 크면 1로, 그렇지 않으면 0으로 결정하므로써 하드아웃풋(Hard output)을 생성한다.The second deinterleaver 224 generates a hard output by deinterleaving the LLR_2 and determining that the values are 1 if the values are greater than 0 and 0 otherwise.

MAP 알고리즘은 1993년 Berrou (C. Berrou, A. Glavieux and P. Thitimajshima, 'Near shannon limit error-correcting coding and decoding : turbo codes 'Proceedings of ICC '93, Geneva, Switzerland, May 1993)에 의해 제안된 알고리즘으로, 모든 경로에 대한 확률 값들을 계산하여 정보 비트에 대한 연판정 데이터 값을 출력하는 알고리즘으로 정보 프레임의 크기에 따라서 변화하게 되는 복호 알고리즘이다.The MAP algorithm was proposed in 1993 by Berrou (C. Berrou, A. Glavieux and P. Thitimajshima, 'Near shannon limit error-correcting coding and decoding: turbo codes' Proceedings of ICC '93, Geneva, Switzerland, May 1993). An algorithm that calculates probability values for all paths and outputs soft decision data values for information bits. The decoding algorithm changes according to the size of an information frame.

도 3은 종래의 MAP 알고리즘에 대한 포워드 메트릭 확률 값 산출을 도시한 도면으로, MAP 알고리즘의 포워드 매트릭 확률 계산식은 하기에 기재한 식 1)과 같다.3 is a diagram illustrating calculation of a forward metric probability value for a conventional MAP algorithm, and a forward metric probability calculation equation of the MAP algorithm is shown in Equation 1) described below.

식 1)Equation 1)

상기 도 3의 MAP 알고리즘의 포워드 매트릭 확률 값 산출 과정을 보면, m 상태로 들어오는 가지(Branch)의 패스 매트릭을 모두 합하여, 포워드 매트릭 확률 값을 산출한다.In the process of calculating the forward metric probability value of the MAP algorithm of FIG. 3, the forward metric probability value is calculated by summing all the pass metrics of the branch coming into the m state.

도 4는 종래의 MAP 알고리즘에 대한 백워드 메트릭 확률 값 산출을 도시한 도면으로, 백워드 매트릭 확률 산출 식은 하기에 기재한 식 5)와 같다.FIG. 4 is a diagram illustrating calculation of a backward metric probability value for a conventional MAP algorithm, and the backward metric probability calculation equation is the same as Equation 5 described below.

식 2)Equation 2)

상기 도 4에 나타난 MAP 알고리즘의 벡워드 매트릭 확률 산출 과정은 상기 도 3의 포워드 메트릭 확률 산출 과정과 같이 SUM 연산을 이용한다.The back metric probability calculation process of the MAP algorithm shown in FIG. 4 uses a SUM operation as in the forward metric probability calculation process of FIG. 3.

이와 반면, SOVA(Soft-Output Viterbi Algorithm)는 경쟁 경로와의 관계를 통하여 연판정 데이터 값을 산출하는 것으로, 채널과 복호 과정에서의 지연을 고려하지 않는 전제하에서 복호 시 필요한 시간 지연은 구속장의 7∼9배 정도이며, MAP 알고리즘보다 복호 성능이 떨어진다.On the other hand, SOVA (Soft-Output Viterbi Algorithm) calculates the soft decision data value through the relationship with the competitive path, and the time delay required for decoding under the assumption that the delay in the channel and the decoding process is not considered is 7 It is about 9 times and is inferior to decoding performance compared with MAP algorithm.

이론적으로, MAP 알고리즘은 각각의 정보 비트에 대한 APP(A Posteriori Probability) 확률 값을 정확히 추정할 수 있다. 그러나 실제로 MAP 알고리즘은 매우 복잡한 연산량과 확률 값들의 동적 변화 범위가 매우 크기 때문에 정확한 확률값을 추정하는데 제한을 받게 된다.In theory, the MAP algorithm can accurately estimate the A Posteriori Probability (APP) probability value for each information bit. In practice, however, the MAP algorithm is limited in estimating the exact probability value because the dynamic range of very complex computational and probability values is very large.

이러한 문제점을 극복하기 위해 MAP 알고리즘의 복잡도를 줄이기 위한 것으로, 로그 영역에서 동작하는 Max-Log-MAP 알고리즘과 Log-MAP 알고리즘이 있다.To overcome this problem, to reduce the complexity of the MAP algorithm, there are Max-Log-MAP algorithm and Log-MAP algorithm operating in the log area.

Max-Log-MAP 알고리즘은 BM(Branch Metric)과 PM(Path Metric)이라는 변수를 통해 최대 유사 디코딩(Maximum Likelihood Decoding : MLD)을 수행하는 알고리즘인 비터비 알고리즘(Vierbi Algorithm)을 두 개 연결한 것과 비슷한 것으로, 출력 값 LLR(Log-Likelihood Ratio)은 두 과정의 결과 값을 적절히 이용함으로써 얻을 수 있고, Log-MAP 알고리즘은 Max-Log-MAP 알고리즘을 확장한 형태로 로그 영역에서 동작한다.The Max-Log-MAP algorithm is a combination of two Viterbi Algorithm algorithms that perform maximum likelihood decoding (MLD) through variables called Branch Metric (BM) and Path Metric (PM). Similarly, the output value LLR (Log-Likelihood Ratio) can be obtained by using the result value of the two processes properly, and the Log-MAP algorithm extends the Max-Log-MAP algorithm and operates in the log domain.

일반적으로 SOVA와 상기 Log-MAP 알고리즘 및 Max-Log-MAP 알고리즘은 그 구현의 복잡도가 유사하고, 많은 메모리가 필요로 되는 기존의 비터비 알고리즘에 비하여 약 2∼4배정도의 복잡도를 가지며, 상기 알고리즘들의 성능은 SOVA < Max-Log-MAP < Log-MAPMAP 순으로 나타난다.In general, the SOVA, the Log-MAP algorithm, and the Max-Log-MAP algorithm are similar in complexity to their implementation and have a complexity of about 2 to 4 times that of the conventional Viterbi algorithm, which requires a lot of memory. Performance of SOVA <Max-Log-MAP <Log-MAP Appears in MAP order.

이와 같이 상기 Log-MAP 알고리즘과 Max-Log-MAP 알고리즘은 그 성능면에서 보면 SOVA 알고리즘 보다 우수하고, MAP 알고리즘과는 유사한 장점이 있다.As such, the Log-MAP algorithm and the Max-Log-MAP algorithm are superior to the SOVA algorithm in terms of performance, and have similar advantages to the MAP algorithm.

그러나, 복잡도 측면에서 보면 MAP 알고리즘에 비해 복잡도가 줄었으나, 상기 비터비 알고리즘 보다는 복잡도가 높은 단점이 있다.However, in terms of complexity, the complexity is reduced compared to the MAP algorithm, but has a higher complexity than the Viterbi algorithm.

따라서 본 발명은 상술한 종래의 문제점을 감안하여 성능이 가장 우수한 MAP 알고리즘에 MAX 함수와 비터비 알고리즘을 적용하여 기존의 MAP 알고리즘과 성능은유사하나 구현 시 복잡성이 적고 복호 속도가 빠른 복호 알고리즘을 제공함으로써, 채널 오류 정정이 필요한 통신 시스템의 성능 향상과 데이터 처리 속도 개선 및 전체 회로 구현의 복잡성을 줄이는 MAP 알고리즘을 이용한 복호 알고리즘을 제공함에 목적이 있다.Accordingly, the present invention provides a decoding algorithm that is similar in performance to the existing MAP algorithm by applying the MAX function and the Viterbi algorithm to the MAP algorithm having the best performance in view of the above-described problems, but has a low complexity and a fast decoding speed when implemented. Accordingly, an object of the present invention is to provide a decoding algorithm using a MAP algorithm, which improves performance of a communication system requiring channel error correction, improves data processing speed, and reduces complexity of an entire circuit.

또한 기존의 Log-MAP 알고리즘과 성능이 유사하면서, 기존 Log-MAP 알고리즘의 각 메모리 상태 값 계산을 위한 모듈에 비해 더하기 연산이 반으로 줄도록 구현한 ACS(Add Compare and Select)모듈로 대체함으로써, 시스템 구현 시 복잡성을 줄이고 복호 속도가 빠른 MAP 알고리즘을 이용한 복호 알고리즘을 제공함에 그 목적이 있다.In addition, the performance is similar to that of the existing Log-MAP algorithm, and replaced with an ACS (Add Compare and Select) module that implements the addition operation in half compared to the module for calculating each memory state value of the existing Log-MAP algorithm. The purpose of the present invention is to provide a decoding algorithm using a MAP algorithm which reduces complexity in system implementation and has a fast decoding speed.

도 1은 종래의 터보 부호 부호기의 블록도.1 is a block diagram of a conventional turbo coder.

도 2는 종래의 적용되는 터보 부호 복호기의 블록도.2 is a block diagram of a conventional turbo code decoder.

도 3은 종래의 MAP 알고리즘에 대한 포워드 메트릭 확률 값 산출을 도시한 도면.3 illustrates the calculation of a forward metric probability value for a conventional MAP algorithm.

도 4는 종래의 MAP 알고리즘에 대한 백워드 메트릭 확률 값 산출을 도시한 도면.4 illustrates calculation of backward metric probability values for a conventional MAP algorithm.

도 5는 본 발명에 적용되는 SMAP 알고리즘의 포워드 메트릭 확률 값 산출을 도시한 도면.5 is a diagram illustrating calculation of a forward metric probability value of an SMAP algorithm applied to the present invention.

도 6은 본 발명에 적용되는 SMAP 알고리즘의 백워드 메트릭 확률 계산을 도시한 블록도.6 is a block diagram showing the backward metric probability calculation of the SMAP algorithm applied to the present invention.

도 7a는 종래의 MAP 알고리즘과 SMAP의 성능을 비교한 그래프를 도시한 도면으로, 데이터 전송률(R)은 1/3으로 프레임 사이즈는 1204바이트로 고정하고 반복 복호 횟수를 1회 또는 3회로 가변 시, MAP 알고리즘과 SMAP 알고리즘의 성능 비교 모의 실험의 결과 그래프를 나타낸 도면.7A shows a graph comparing the performance of the conventional MAP algorithm and SMAP. When the data rate R is 1/3 and the frame size is fixed at 1204 bytes, the number of repeated decoding times is changed once or three times. A graph showing the results of a simulation comparing the performance of the MAP and SMAP algorithms.

도 7b는 종래의 MAP 알고리즘과 SMAP의 성능을 비교한 그래프를 도시한 도면으로, 프레임 사이즈가 작을 때, MAP 알고리즘을 사용하는 시스템과 SMAP 알고리즘을 사용하는 시스템의 성능 비교 모의 실험의 결과를 나타낸 그래프를 도시한 도면.FIG. 7B is a graph illustrating performance comparison between a conventional MAP algorithm and a SMAP. FIG. 7B is a graph showing the results of a simulation comparing the performance of a system using the MAP algorithm and a system using the SMAP algorithm when the frame size is small. Figure.

도 7c는 종래의 MAP 알고리즘과 SMAP의 성능을 비교한 그래프를 도시한 도면으로, 전송률이 1/3에서 1/2로 증가 시 MAP 알고리즘과 SMAP 알고리즘의 성능비교 모의 실험 결과를 나타낸 도면.FIG. 7C is a graph illustrating performance comparison between a conventional MAP algorithm and a SMAP. FIG. 7C is a graph illustrating performance comparison simulation results of a MAP algorithm and a SMAP algorithm when a transmission rate is increased from 1/3 to 1/2.

< 도면의 주요부분에 대한 부호의 설명 ><Description of Symbols for Major Parts of Drawings>

100 : 터보 부호 부호기 110 : 정보 비트100: turbo coder 110: information bits

112, 118 : RSC 부호기 114, 120 : 패리티 비트112, 118: RSC encoder 114, 120: parity bit

116, 216 : 인터리버 200 : 터보 부호 복호기116, 216: interleaver 200: turbo code decoder

210 : 부가 정보 비트 212, 218 : 복호기210: additional information bits 212, 218: decoder

214, 220 : LLR 값 222, 224 : 디인터리버214, 220 LLR values 222, 224 deinterleaver

상기한 목적을 달성하기 위한 부호화된 부호 신호를 입력받아 복호화 하는 복호기의 복호 알고리즘에 있어서,In the decoding algorithm of the decoder to receive and decode the coded code signal for achieving the above object,

상기 복호기가 부호 신호를 복호화 하는 복호기의 출력 값 산출 시, MAP 알고리즘에 의한 복호화 과정에 MAX 함수 및 비터비 알고리즘을 구비하는 것을 특징으로 한다.When the decoder calculates an output value of a decoder for decoding a code signal, the decoder includes a MAX function and a Viterbi algorithm in a decoding process by the MAP algorithm.

또한 본 발명의 다른 실시예에 따르면, 발명의 복호 알고리즘은 상기 복호기가 부호 신호를 복호화 하는 복호기의 출력 값 산출 시, 자연 로그 함수를 이용하여 출력 값을 산출하는 것을 추가로 구비하는 것을 특징으로 한다.According to another embodiment of the present invention, the decoding algorithm of the present invention is further characterized by calculating the output value by using a natural logarithmic function when the decoder calculates an output value of a decoder that decodes a code signal. .

상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하 첨부된 도면을 참조하여 본 발명의 실시예를상세히 설명하면 다음과 같으며, 본 발명에 의한 복호 알고리즘인 SMAP 알고리즘과 SLMAP알고리즘은 상기 도 2에 도시된 터보 부호 복호기에 적용되는 것으로, 그 산출 과정은 도 5 ~ 도 6을 통해 설명한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings. The SMAP algorithm and the SLMAP algorithm, which are the decoding algorithm according to the present invention, are applied to the turbo code decoder shown in FIG. The process will be described with reference to FIGS. 5 to 6.

본 발명에 의한 복호 알고리즘은 상기 복호기(212)(218)에 적용하여 상기 부호어를 복호화하는데 사용되며, 상기 복호 알고리즘에 의해 출력되는 복호기의 출력 값 LLR은 포워드 메트릭 확률(Forward Metric Recursion)과 패스 매트릭 확률(Path Metric Recursion) 및 백워드 메트릭 확률(Backward Metric Recursion)에 의해 산출된다.The decoding algorithm according to the present invention is applied to the decoders 212 and 218 to decode the codeword, and the output value LLR of the decoder outputted by the decoding algorithm is a forward metric probability and a pass. Calculated by Path Metric Recursion and Backward Metric Recursion.

MAP 알고리즘의 주목적은 정보 비트가 1이 될 사후 확률에 대한 정보 비트가 0이 될 사후 확률의 LLR을 공급하는 것으로써, MAP 알고리즘의 LLR을 구하는 과정은 하기에 기재한 식 3)과 같다.The main purpose of the MAP algorithm is to supply the LLR of the posterior probability that the information bit becomes 0 with respect to the posterior probability that the information bit becomes 1, and the process of obtaining the LLR of the MAP algorithm is as shown in Equation 3 below.

식 3)Equation 3

상기 식 3)은 시간 k에서 메모리 상태를 m이라 하고, k-1의 메모리 상태를 m'라 할 때, m과 m'값은 0과 2M-1사이의 값을 가지며, M은 인코더의 메모리 개수이다.In Equation 3), when the memory state is m at time k, and the memory state of k-1 is m ', m and m' have a value between 0 and 2 M-1 , and M is the value of the encoder. The number of memories.

여기서로 수신 데이터를 의미한다.here Means received data.

본 발명의 바람직한 실시예에 의한 MAP 알고리즘을 이용한 복호 알고리즘인SMAP(Simplified MAP) 알고리즘의 LLR값은 상기 식 3)에 의해 하기에 기재한 식 4)와 같다.The LLR value of the SMAP (Simplified MAP) algorithm, which is a decoding algorithm using the MAP algorithm according to the preferred embodiment of the present invention, is represented by Equation 4) described below by Equation 3).

식 4)Equation 4

상기 식 4)에 나타난 SMAP 알고리즘의 LLR 값은 식 3)에 max 함수를 취하여 LLR을 산출한다.The LLR value of the SMAP algorithm shown in Equation 4) takes the max function in Equation 3) to calculate the LLR.

도 5는 본 발명에 적용되는 SMAP 알고리즘의 포워드 메트릭 확률 값 산출을 도시한 도면으로, 포워드 매트릭 산출 식은 하기에 기재한 식 5)와 같다.FIG. 5 is a diagram illustrating calculation of a forward metric probability value of an SMAP algorithm applied to the present invention, and a forward metric calculation equation is the same as Equation 5 described below.

식 5)Equation 5)

상기 식 1)과 식 5)는일 때이며,일 때으로 초기화된다.Equations 1) and 5) are when Is, when Is initialized to

상기 도 5의 SMAP 알고리즘의 포워드 매트릭 확률 값 산출과정을 보면, 상기 MAP 알고리즘은 SUM 연산을 이용하는 반면, SMAP 알고리즘은 ACS(Add Compare and Select) 모듈을 이용해 m 상태로 들어오는 가지(Branch)들의 패스 매트릭을 비교한 후 하나의 패스 매트릭 값을 선택함으로서 수행된다.Referring to the process of calculating the forward metric probability value of the SMAP algorithm of FIG. 5, the MAP algorithm uses a SUM operation, while the SMAP algorithm uses an Add Compare and Select (ACS) module to pass path matrices into branches. By comparing and then selecting one pass metric value.

도 6은 본 발명에 적용되는 SMAP 알고리즘의 벡워드 메트릭 확률 값 산출을 도시한 블록도로, 벡워드 매트릭 확률 산출 식은 하기에 기재한 식 6)과 같다.FIG. 6 is a block diagram illustrating the calculation of a backword metric probability value of an SMAP algorithm applied to the present invention, and the backward matrix probability calculation equation is the same as Equation 6) described below.

식 6)Equation 6

상기 도 6에 나타난 SMAP 알고리즘의 벡워드 매트릭 확률 산출 과정은 상기 도 4의 포워드 매트릭 산출 과정과 같이 ACS 모듈을 사용하며, 상기 식 2)와 식 6)은일 때이며,일 때으로 초기화된다.As for the process of calculating the back metric probability of the SMAP algorithm shown in FIG. 6, the ACS module is used as in the forward metric calculation process of FIG. 4. when Is, when Is initialized to

상기 식 5)와 식 6)을 통해 SMAP 알고리즘은 각 시간마다 메트릭 계산 시 더하기 연산이 2M+1에서 2M으로 줄어드는 것을 알 수 있으며, 가지(Branch) 천이 확률은 하기에 기재한 식 7)과 같다.Equations 5) and 6) show that the SMAP algorithm reduces the addition operation from 2 M + 1 to 2 M when calculating the metric for each time, and the branch transition probability is expressed by Equation 7 below. Same as

식 7)Equation 7

상기 식 7)의 우변 첫째 항은 채널 천이 확률을, 두 번째 항은 부호기에 의해 결정되는 확률을, 세 번째 항은 채널의 확률 밀도 함수를 이용해 구하는 상태 천이 확률을 표시한다.The first term on the right side of Equation 7) indicates the channel transition probability, the second term indicates the probability determined by the encoder, and the third term indicates the state transition probability obtained by using the probability density function of the channel.

도 7a ~ 도 7c는 종래의 MAP 알고리즘과 SMAP의 성능을 비교한 그래프를 도시한 도면으로, 상기 식으로 나타낸 MAP 알고리즘과 SMAP 알고리즘을 상기 도 1의 터보부호 부호기와 도 2의 터보부호 복호기에 적용하여, 모의 실험을 통한 두 알고리즘의 성능 비교를 보여준다.7A to 7C are graphs comparing performances of conventional MAP algorithms and SMAPs, and applying the MAP algorithm and SMAP algorithm represented by the above equation to the turbo code encoder of FIG. 1 and the turbo code decoder of FIG. 2. The simulations show the performance comparison of the two algorithms.

상기 도 7a ~ 도 7c는 복호기의 반복 복호(Iteration Decoding) 횟수를 나타내는 Iter과 전송률을 나타내는 R과 프레임(Frame) 사이즈를 나타내는 FS(Frame Size)와 신호대 잡음비(SNR) 및 비트 오류율(Bit error rate : BER)을 구비한다.7A to 7C illustrate an iter indicating the number of iteration decodings of an decoder, an R indicating a transmission rate, an FS indicating a frame size, a frame size (FS), a signal-to-noise ratio (SNR), and a bit error rate. : BER).

상기 도 7a ~ 도 7c는 Iter가 1일 때는 신호대 잡음비를 1dB씩 증가시켜 모의 실험을 실시하였고, Iter가 3회일 때 신호대 잡음비를 0.5dB씩 증가 시켜 모의실험을 했으며, 상기 모의 실험에 필요한 데이터를 인코딩하기 위해 필요한 생성다항식으로는 메모리 3개가 필요한 (17, 3) 코드를 사용하였다. 또한 Berrou의 논문(C. Berrou, A. Glavieux and P. Thitimajshima, 'Near shannon limit error-correcting coding and decoding : turbo codes 'Proceedings of ICC '93, Geneva, Switzerland, May 1993)처럼 프레임 사이즈를 65000 바이트 정도로 크게 하면 실제 시스템에 적용하기가 불가능하기 때문에, 상기 모의 실험에서는 프레임 사이즈를 1024 바이트(Byte) 또는 254 바이트로 고정하여 실시하였다.7A to 7C are simulations by increasing the signal-to-noise ratio by 1dB when iter is 1, and simulating by increasing the signal-to-noise ratio by 0.5dB when the iter is 3 times. As the polynomial required for encoding, we used (17, 3) code which requires 3 memories. Also, as in Berrou's paper (C. Berrou, A. Glavieux and P. Thitimajshima, 'Near shannon limit error-correcting coding and decoding: turbo codes' Proceedings of ICC '93, Geneva, Switzerland, May 1993) Since it is impossible to apply it to a real system when it is large enough, in the said simulation, the frame size was fixed to 1024 bytes or 254 bytes.

상기 도 7a ~ 도 7c의 모의 실험에서 반복 복호 횟수를 1회 또는 3회로 고정한 이유는, 반복 복호 횟수가 4회 이상일 경우 실시간으로 데이터의 복호 처리가 불가능하기 때문이며, 이론적으로 메모리 개수와 프레임 사이즈가 크고, 반복 복호 횟수가 증가하면 이론적인 비트 오류율(BNR) 산출 공식에 의해 성능이 좋아진다고 나와 있으나, 최적의 반복 혹호 횟수, 생성 다항식, 프레임 사이즈를 조사하는 것은 불가능하기 때문에 상기 모의 실험에서는 어느 정도 실현 가능한 크기를 선택하여 모의 실험을 실시하였다.The reason why the number of repeated decoding is fixed to one or three times in the simulations of FIGS. 7A to 7C is that data decoding is impossible in real time when the number of repeated decoding is four or more. Although large, increasing the number of iteration decodes shows that the performance is improved by the theoretical bit error rate (BNR) calculation formula, but it is impossible to investigate the optimal number of iterations, the generated polynomials, and the frame size. The simulation was performed by selecting a feasible size.

도 7a는 데이터 전송률(R)은 1/3으로 프레임 사이즈는 1204바이트로 고정하고 반복 복호 횟수를 1회 또는 3회로 가변 시, MAP 알고리즘과 SMAP 알고리즘의 성능 비교 모의 실험의 결과 그래프를 나타낸 도면이다.FIG. 7A is a graph showing the results of a simulation comparing the performance of the MAP algorithm and the SMAP algorithm when the data rate R is fixed at 1/3 and the frame size is fixed at 1204 bytes, and the number of repeated decoding is changed once or three times. FIG. .

상기 도 7a의 모의 실험 결과를 살펴보면, 반복 복호 횟수가 1회 또는 3회 일 때 MAP 알고리즘과 SMAP은 각각 신호대 잡음비 2dB, 4dB에서 대략 10^-5의 비트 오류율을 만족하는 것으로, MAP 알고리즘과 MAP 알고리즘 보다 복잡도가 간단한 SMAP 알고리즘의 성능이 거의 동일함을 보여준다.Referring to the simulation results of FIG. 7A, when the number of iterations is one or three times, the MAP algorithm and the SMAP satisfy a bit error rate of approximately 10 ^ -5 at a signal-to-noise ratio of 2 dB and 4 dB, respectively. The performance of the SMAP algorithm, which is simpler than the algorithm, is nearly identical.

도 7b는 프레임 사이즈가 작을 때, MAP 알고리즘을 사용하는 시스템과 SMAP 알고리즘을 사용하는 시스템의 성능 비교 모의 실험의 결과를 나타낸 그래프를 도시한 도면으로, 프레임 사이즈를 254 바이트로 고정하고 그 외의 실험 조건을 상기 도 7a에서의 조건과 동일하게 하여 모의 실험을 실시하였다.FIG. 7B is a graph showing the results of simulations comparing the performances of the system using the MAP algorithm and the system using the SMAP algorithm when the frame size is small. The frame size is fixed to 254 bytes and other experimental conditions. Was carried out under the same conditions as in FIG. 7A.

상기 도 7b의 모의 실험 결과를 살펴보면, 반복 복회 횟수가 1회 또는 3회 일 때 MAP 알고리즘과 SMAP 알고리즘은 각각 신호대 잡음비 3dB와 5dB에서 대략 10^-6의 비트 오류율을 만족하며, 반복 복호 횟수가 3회 일 때, SMAP 알고리즘을 이용한 터보부호 디코딩 방법이 MAP 알고리즘을 이용한 터보부호 디코딩 방법보다 0.5dB의 이득이 있다.Referring to the simulation results of FIG. 7B, when the number of iterations is one or three times, the MAP algorithm and the SMAP algorithm satisfy a bit error rate of approximately 10 ^ -6 at a signal-to-noise ratio of 3 dB and 5 dB, respectively. In the third time, the turbo code decoding method using the SMAP algorithm has a gain of 0.5dB over the turbo code decoding method using the MAP algorithm.

도 7c는 전송률이 1/3에서 1/2로 증가 시 MAP 알고리즘과 SMAP 알고리즘의 성능비교 모의 실험 결과를 나타낸 도면으로, 프레임 사이즈를 1024 바이트로 고정하고 반복 복호 횟수를 1회 또는 3회로 가변 하여 모의 실험을 실시하였으며, 그 결과 MAP 알고리즘과 SMAP 알고리즘의 성능이 거의 동일함을 보여준다.7c is a diagram showing the simulation results of the performance comparison between the MAP algorithm and the SMAP algorithm when the data rate is increased from 1/3 to 1/2. The frame size is fixed to 1024 bytes, and the number of repeated decoding times is changed once or three times. The simulations are performed and the results show that the performance of the MAP algorithm and the SMAP algorithm is almost the same.

본 발명의 또 다른 실시예에 의한 MAP 알고리즘을 이용한 복호 알고리즘인 SLMAP(Simplified Log-MAP) 알고리즘은 상기 SMAP 알고리즘에 자연 로그를 취하여유도한 알고리즘으로, 하기에 기재한 식 8)은 SMAP 알고리즘의 가지 천이 확률에 자연 로그를 취한 식이다.The SLMAP (Simplified Log-MAP) algorithm, which is a decoding algorithm using the MAP algorithm according to another embodiment of the present invention, is a natural algorithm derived from the SMAP algorithm, and Equation 8) described below is a branch of the SMAP algorithm. The natural logarithm to the probability of transition.

식 8)Equation 8

상기 식 8)의 마지막 항 지수는 상태 천이 확률로서, 부가 정보 L_a (d_k )를 이용하여, 하기에 기재 한 식 9)와 10)에 의해 계산되며 성능 향상에 가장 중요한 역할을 하는 부분이다.The last term exponent of Equation 8) is the state transition probability, which is calculated by Equations 9) and 10) described below using additional information L_a (d_k) and is the most important part for improving performance.

식 9)Equation 9

식 10)(10)

상기 SMAP의 포워드 매트릭 확률 산출 방법을 나타낸 상기 식 4)에 자연 로그를 취하면 하기에 기재한 식 11)과 같다.Taking natural logarithm to Equation 4) showing the forward metric probability calculation method of SMAP, Equation 11) is described below.

식 11)Equation 11

상기 식 11)은일 때 m=0 으로 초기화되고,일 때으로 초기화된다.Equation 11) When is initialized to m = 0, when Is initialized to

상기 SMAP 알고리즘의 벡워드 메트릭 산출 방법을 나타낸 상기 식 6)에 자연 로그를 취하면 하기에 기재한 식 12)와 같다.If the natural log is taken into Equation 6) showing the method for calculating the back metric of the SMAP algorithm, Equation 12) is described below.

식 12)Equation 12

상기 식 12)는일 때 m=0 으로 초기화되고,일 때으로 초기화된다.Equation 12) When is initialized to m = 0, when Is initialized to

상기 식 2)의 SMAP 알고리즘의 LLR 산출 방법은 하기에 기재된 식 13)과 같이 다시 쓸 수 있다.The LLR calculation method of the SMAP algorithm of Equation 2) can be rewritten as Equation 13) described below.

식 13)Equation 13

상기 식 11) ∼식 13)에서,In Formulas 11) to 13),

로 정의하면, SMAP 알고리즘의 LLR은 하기에 기재된 식 14)와 같다.In this case, the LLR of the SMAP algorithm is represented by the following equation (14).

식 14)Equation 14

SLMAP 알고리즘의 포워드 메트릭 확률 계산 방법은 하기에 기재된 식 15)와 같다.The forward metric probability calculation method of the SLMAP algorithm is as shown in Equation 15).

식 15)Equation 15

SLMAP 알고리즘의 벡워드 메트릭 확률 산출 방법은 하기에 기재된 식 16)과 같다.A backword metric probability calculation method of the SLMAP algorithm is as shown in Equation 16 below.

식 16)Equation 16

SLMAP 알고리즘을 유도하기 위한 수식 계산 시의 값은 하기에 기재된 식 17)에 의해 재귀적으로 계산된다.When calculating formulas to derive the SLMAP algorithm The value of is calculated recursively by Equation 17) described below.

식 17)(17)

상기 식 17)에서를,를 의미한다.In Equation 17) To, Means.

이상 설명한 바와 같이 본 발명에 의하면, 종래의 MAP 알고리즘에 MAX 함수와 로그 함수를 적용하여 MAP 알고리즘 보다 복잡도가 줄어들고 성능은 비슷한 SMAP 알고리즘과 SLMAP 알고리즘을 제공함으로써, IMT-2000 등의 통신 시스템의 데이터 처리 속도를 개선하고 전체 회로 구현의 복잡도를 줄이는 이점이 있다.As described above, according to the present invention, by applying the MAX function and the log function to the conventional MAP algorithm, by providing a SMAP algorithm and a SLMAP algorithm with similar complexity and performance than the MAP algorithm, data processing of a communication system such as IMT-2000 This has the advantage of improving speed and reducing the complexity of the overall circuit implementation.

또한 고밀도의 기록 시스템의 검출기에 적용함으로써 재생 시간의 단축 및 재생 데이터의 질을 향상시키는 이점이 있다,In addition, by applying to a detector of a high-density recording system, there is an advantage of shortening the reproduction time and improving the quality of the reproduction data.

아울러 본 발명의 바람직한 실시예들은 예시의 목적을 위해 개시된 것이며, 당업자라면 본 발명의 사상과 범위안에서 다양한 수정, 변경, 부가등이 가능할 것이며, 이러한 수정 변경 등은 이하의 특허 청구의 범위에 속하는 것으로 보아야 할 것이다.In addition, preferred embodiments of the present invention are disclosed for the purpose of illustration, those skilled in the art will be able to various modifications, changes, additions, etc. within the spirit and scope of the present invention, such modifications and modifications belong to the following claims You will have to look.

Claims (3)

부호화된 부호 신호를 입력받아 복호화 하는 복호기의 복호 알고리즘에 있어서,In the decoding algorithm of the decoder for receiving and decoding the coded code signal, 상기 복호기가 부호 신호를 복호화 하는 복호기의 출력 값 산출 시, MAP 알고리즘에 의한 복호화 과정에 MAX 함수 및 비터비 알고리즘을 구비하는 것을 특징으로 하는 최대사후복호(MAP) 알고리즘을 이용한 복호 알고리즘.And a maximum function and a Viterbi algorithm during decoding by the MAP algorithm when the decoder calculates an output value of the decoder for decoding a code signal. 상기 제 1 항에 있어서,The method of claim 1, 상기 복호기가 부호 신호를 복호화 하는 복호기의 출력 값 산출 시, 자연 로그 함수를 이용하여 출력 값을 산출하는 것을 추가로 구비하는 것을 특징으로 하는 최대사후복호(MAP) 알고리즘을 이용한 복호 알고리즘.And calculating the output value by using a natural logarithmic function when the decoder calculates an output value of the decoder that decodes a code signal. 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 상기 복호기의 출력 값을 산출하기 위한 포워드 메트릭 확률 및 벡워드 메트릭 확률 산출 과정에 합-비교-선택(Add Compare and Select) 모듈을 구비하는 것을 특징으로 하는 최대사후복호(MAP) 알고리즘을 이용한 복호 알고리즘.Decoding algorithm using a maximum post-decoding (MAP) algorithm, characterized in that it comprises an Add Compare and Select module for calculating the forward metric probability and the back metric probability for calculating the output value of the decoder. .
KR1020000086887A 2000-12-30 2000-12-30 Decoding algorithm using map algorithm KR20020058757A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000086887A KR20020058757A (en) 2000-12-30 2000-12-30 Decoding algorithm using map algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000086887A KR20020058757A (en) 2000-12-30 2000-12-30 Decoding algorithm using map algorithm

Publications (1)

Publication Number Publication Date
KR20020058757A true KR20020058757A (en) 2002-07-12

Family

ID=27689838

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000086887A KR20020058757A (en) 2000-12-30 2000-12-30 Decoding algorithm using map algorithm

Country Status (1)

Country Link
KR (1) KR20020058757A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG110006A1 (en) * 2002-12-05 2005-04-28 Oki Techno Ct Singapore Pte A method of calculating internal signals for use in a map algorithm

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG110006A1 (en) * 2002-12-05 2005-04-28 Oki Techno Ct Singapore Pte A method of calculating internal signals for use in a map algorithm

Similar Documents

Publication Publication Date Title
US6014411A (en) Repetitive turbo coding communication method
Berrou et al. Near Shannon limit error-correcting coding and decoding: Turbo-codes. 1
US6044116A (en) Error-floor mitigated and repetitive turbo coding communication system
KR100487183B1 (en) Decoding apparatus and method of turbo code
JP4709119B2 (en) Decoding device and decoding method
KR100512668B1 (en) Iteration terminating using quality index criteria of turbo codes
US6028897A (en) Error-floor mitigating turbo code communication method
JP2006115145A (en) Decoding device and decoding method
US6606724B1 (en) Method and apparatus for decoding of a serially concatenated block and convolutional code
US20100070819A1 (en) Channel adaptive iterative turbo decoder system and method
US20010021233A1 (en) Soft-decision decoding of convolutionally encoded codeword
WO2007068554A1 (en) Serial concatenation scheme and its iterative decoding using an inner ldpc and an outer bch code
US7886209B2 (en) Decoding device, decoding method, and receiving apparatus
US6807239B2 (en) Soft-in soft-out decoder used for an iterative error correction decoder
Kim et al. Reduction of the number of iterations in turbo decoding using extrinsic information
US7219290B2 (en) Turbo decoder and turbo decoding method and storage medium where the method is stored
US7552379B2 (en) Method for iterative decoding employing a look-up table
US6614858B1 (en) Limiting range of extrinsic information for iterative decoding
Devi et al. Performance analysis of sub-interleaver based turbo codes
US7143335B2 (en) Add-compare-select arithmetic unit for Viterbi decoder
KR20020058757A (en) Decoding algorithm using map algorithm
US7770092B2 (en) Method for iterative decoding in a digital system and apparatus implementing the method
KR100436434B1 (en) Turbo decoder that have a state metric, and Calculation method by Using it
Mathana et al. FPGA implementation of high speed architecture for Max Log Map turbo SISO decoder
Sah Iterative decoding of turbo codes

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application