KR20040068771A - 소프트 복조 방법 및 소프트 복조 장치 - Google Patents

소프트 복조 방법 및 소프트 복조 장치 Download PDF

Info

Publication number
KR20040068771A
KR20040068771A KR1020030005305A KR20030005305A KR20040068771A KR 20040068771 A KR20040068771 A KR 20040068771A KR 1020030005305 A KR1020030005305 A KR 1020030005305A KR 20030005305 A KR20030005305 A KR 20030005305A KR 20040068771 A KR20040068771 A KR 20040068771A
Authority
KR
South Korea
Prior art keywords
entry
bits
subtotal
value
predetermined number
Prior art date
Application number
KR1020030005305A
Other languages
English (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 KR1020030005305A priority Critical patent/KR20040068771A/ko
Priority to TW093101491A priority patent/TWI281792B/zh
Priority to JP2004014594A priority patent/JP2004227761A/ja
Priority to US10/763,381 priority patent/US7369615B2/en
Priority to CNB2004100058121A priority patent/CN100380816C/zh
Publication of KR20040068771A publication Critical patent/KR20040068771A/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10009Improvement or modification of read or write signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/06Dc level restoring means; Bias distortion correction ; Decision circuits providing symbol by symbol detection
    • H04L25/067Dc level restoring means; Bias distortion correction ; Decision circuits providing symbol by symbol detection providing soft decisions, i.e. decisions together with an estimate of reliability

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Power Engineering (AREA)
  • Error Detection And Correction (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명에 따라 소프트 복조 방법 및 소프트 복조 장치가 개시된다.
상기 본 발명에 따른 소프트 복조 방법은, a) 채널로부터 수신된 코드 워드를 소정수의 비트 단위마다 부분합을 계산하는 단계와, b) 디코딩 테이블의 각 엔트리값 계산시 상기 각 엔트리를 상기 소정수의 비트 단위로 분할하여 상기 분할된 소정수의 비트 단위에 대응하는 상기 부분합을 참조하여 엔트리값들을 계산하는 단계와, c) 상기 엔트리 값들로부터 최대값을 검출하고 LLR 값을 계산하는 단계를 포함한다. 이상과 같은 본 발명에 의하면, 채널의 출력신호로부터 코드의 소프트 복조 수행시 필요한 계산량과 복잡도를 상당히 감소시킬 수 있다.

Description

소프트 복조 방법 및 소프트 복조 장치{A soft demodulation method and a soft demodulation apparatus}
본 발명은 데이터 복호화에 관한 것으로, 좀더 구체적으로는 소프트 복조 방법 및 소프트 복조 장치에 관한 것이다.
일반적으로 데이터의 심볼간 간섭(ISI: Inter Symbol Interference)이 존재하는 환경, 예컨대 고밀도 광 기록매체에서 ISI에 의한 문제를 고려하여 런길이 제한(run-length limited: RLL) 코드를 사용하여 데이터를 변조한다.
종래의 RLL 코드를 복호화하는 경우를 보면 채널 복조기, 예컨대 비터비 복호기에서 채널을 통해 입력된 신호로부터 코드워드들을 검출하고, RLL 복호기에서 디코딩 테이블을 이용하여 코드워드들을 데이터 워드들로 복호화한다.
최근에는 소프트 복조기 및 소프트 복호기가 사용되고 있다. 상술한 비터비 복호기의 출력은 에러를 포함하는 코드워드 자체가 되어 "1" 또는 "-1"의 값만 가진다. 이러한 방식을 하드 복조라고 할 때 이에 대응하여 소프트 복조 방식에서는 소프트 복조기가 채널 신호를 입력받아 코드워드의 확률값을 출력한다. 즉, "1" 또는 "-1" 이 아닌 "0.8", "-0.8" 등의 아날로그적인 값을 가지며 그 자체에 코드값이 "1" 또는 "-1"이 될 확률이 내포된다. 소프트 복조기는 이러한 코드워드의 확률값을 나타내는 데이터를 입력받아 데이터 워드의 확률값을 출력하고, 터보 복호기와 같은 소프트 복호기에서 데이터 워드의 확률값을 입력받아 최종적으로 데이터 워드로 복호화한다.
소프트 변조를 필요로 하는 터보 디코딩에 관한 참조 문헌으로는 Laura L.McPheters and Steven W. McLaughlin,"Turbo-Coded Optical Recording Channels with DVD Minimum Mark Size",IEEE Transactions on Magnetics, vol.38, no. 1, January pp 298-302이 있다.
도 1에 종래기술에 따른 부호화/복호화 장치가 도시되어 있다.
상기 부호화/복호화 장치(100)는 터보/LDPC 부호화부(110)와, 변조부(120)와, 기록/독출부(130)와, 소프트 복조부(150)와, 터보/LDPC 복호화부(160)를 포함한다.
터보/LDPC 부호화부(110)는 입력되는 데이터를 에러 정정을 수행하기 위한 소정의 부호화 방식, 예를 들어, LDPC(Low Density Parity Check Code) 부호화 방식이나 터보 부호화 방식과 같은 소프트 부호화 방식을 이용하여 부호화한다.
변조부(120)는 상기 터보/LDPC 부호화(110)로부터 출력된 데이터를 소정의 방법, 예를 들어, RLL 코드 등을 이용하여 변조한다.
기록/독출부(130)는 이와 같이 변조된 데이터를 기록 매체에 기록하고, 기록 매체에 기록된 데이터를 독출한다.
소프트 복조부(150)는 코드워드의 확률값을 나타내는 데이터를 기록/독출부(130)로부터 입력받아 데이터 워드를 구성하는 각각의 비트의 확률을 나타내는 값인 LLR(Log Likelihood Ratio)을 출력한다.
터보/LDPC 복호화부(160)는 소프트 복조부(150)로부터 출력된 데이터를 수신하여 소정의 부호화 방식에 대응하여 소프트 복호화를 수행하고 복호화된 데이터를 출력한다.
상기 소프트 복조부(150)는 LLR 값을 구하기 위해 APP(A Posteriori Probability)(dk=1)과 APP(dk=0)을 각각 계산한다.
APP(dk=1)은 복조된 데이터가 "1"일 확률을 나타내는 값이며, APP(dk=0)은 복조된 데이터가 "0"일 확률을 나타내는 값으로, 이 값은 다음과 같은 방법으로 구한다. 만일 데이터 워드를 결정하기 위한 코드워드의 길이가 N 비트 라면, 데이터 워드의 1 비트가 1이 되도록 하는 코드워드에 대해 각 비트별로 (rm-(2*cm-1))2의 값을 구하여 더한다. 여기서 m=1,...N의 값이다. 이 값들을 상술한 데이터 워드의 1 비트가 1이 되도록 하는 모든 코드워드 M개에 대해 지수(exponential)값을 취하여 더하면 APP(dk=1)의 값이 구해진다. 이를 식으로 나타내면 아래와 같다.
여기서, j는 j번째 데이터 워드가 1이 된다는 의미이다.
APP(dk=0)에 대해서도 마찬가지 방법으로 구하는 데 즉, 아래 수학식 2에 도시된 바와 같다.
LLR(dk)는 수신된 코드워드에서 복조될 데이터 워드 dk의 1비트가 0인 확률과1인 확률의 비에 대해 지수를 취한 값이므로 다음과 같이 나타낼 수 있으며, 이 값을 소프트 복조부의 출력으로 사용한다.
그러나, 지수 계산이 복잡할 때는 APP 계산시 지수 계산을 하지 않고 최대값을 취하여 LLR을 계산하는 방법이 있다. 즉, 수학식 3에서 표현된 제산 연산 대신 APP(dk=1)-APP(dk=0)의 값을 계산해서 LLR(dk)를 구한다. 이와 같이 최대값 계산에 의한 소프트 복조부(150)의 구체적인 구성이 도 2에 도시되어 있다.
상기 소프트 복조부(150)는 디코딩 테이블(151)과, 연산부(152)와, 최대값 검출부(153)와, LLR 계산부(154)를 포함한다.
디코딩 테이블(151)은 도 3에 도시된 바와 같다.
연산부(152)는 도 4에 도시된 방법에 의해 디코딩 테이블(151)로부터 출력되는 테이블 엔트리를 이용하여 계산을 한다. 수신된 코드신호(410)의 각 데이터와 테이블 엔트리(420)의 각 비트를 대응시켜, 대응되는 테이블 엔트리의 비트가 0이면 수신된 코드신호에 -1을 곱하고, 대응되는 테이블 엔트리의 비트가 1이면 +1을 곱하여 모두 합한 계산 결과(430)를 출력한다.
예를 들어, 도 4에서 채널로부터 수신된 코드신호(410)가 r0,r1,...r17 이고, 디코딩 테이블(151)로부터의 테이블 엔트리가 "000101...100"인 경우, 테이블 엔트리의 4번째, 6번째, 9번째, 11번째, 14번째, 16번째 비트가 1이고, 나머지 비트들은 모두 0이다. 그러므로, 수신된 코드신호 r3, r5, r8, r10, r13, r15에는 각각 +1을 곱하고, 그 외 나머지 코드신호에 대해서는 각각 -1을 곱하여 더하면 도 4에 도시된 바와 같은 계산결과(430)가 나온다. 연산부는 이와 같은 계산을 디코딩 테이블에 속한 테이블 엔트리의 수만큼 행한다.
최대값 검출부(153)는 연산부(152)로부터의 테이블 엔트리의 수만큼의 계산결과를 수신하여 그 값들중에서 최대값을 검출한다.
LLR 계산부(154)는 다음 식과 같이 최대값 검출부(153)로부터 전송되는 0에 대한 최대값과 1에 대한 최대값을 수신하여 1에 대한 최대값에서 0에 대한 최대값을 빼는 연산을 수행하여 LLR을 계산하고 이러한 LLR 값을 출력한다.
또한, LLR(dk+1)은 수학식4에 표시된 LLR(dk)에서 k 대신 k+1을 대입하면 된다. 즉,
여기서, S0(k+1)은 도 3에 도시된 바와 같은 디코딩 테이블의 엔트리들의 집합이고, S1(k+1)은 도시하지 않았지만 도 3에 도시된 바와 유사한 디코딩 테이블의 엔트리들의 집합이다.
도 1에 도시된 바와 같은 테이블을 참조하여 계산하면, 덧셈 또는 뺄셈이 17(각 테이블 엔트리에 속한 비트에 관한 덧셈 또는 뺄셈의 수)*5000(테이블 엔트리의 수) = 85000 번이 필요하다.
상술한 바와 같이, 종래에는 소프트 복조기에 사용되는 APP 디코딩 테이블의 사이즈가 커지면 LLR을 계산하는데 계산 시간이 늘어나고, 디코딩 테이블의 복잡도가 크게 증가하는 문제점이 있다.
본 발명은 상기와 같은 과제를 해결하여 소프트 복조 수행시 디코딩 테이블의 복잡도 및 계산량을 감소시킬 수 있는 소프트 복조 방법 및 소프트 복조 장치를 제공하는 것을 목적으로 한다.
도 1은 종래기술에 따른 데이터 부호화/복호화 장치의 개략적인 블럭도,
도 2는 도 1에 도시된 소프트 복조부의 구체적인 구성을 도시하는 도면,
도 3은 도 2에 도시된 디코딩 테이블의 일 예를 도시한 도면,
도 4는 도 2에 도시된 연산부에서의 연산 과정의 일부를 보여주는 도면,
도 5는 본 발명에 따른 소프트 복조 과정의 제1실시예를 설명하는 흐름도,
도 6은 도 5에 도시된 제1실시예에 따른 소프트 복조 장치 구성의 일 예를 나타내는 블럭도,
도 7은 도 6에 도시된 기준 엔트리를 설명하기 위한 도면,
도 8은 도 6에 도시된 부분합 테이블의 일 예를 도시한 도면,
도 9는 도 6에 도시된 부분합 테이블의 다른 예를 도시한 도면,
도 10은 도 6에 도시된 부분합 테이블이 또다른 예를 도시한 도면,
도 11은 본 발명에 따른 소프트 복조 과정의 제2실시예를 설명하는 흐름도,
도 12는 도 11에 도시된 제2실시예에 따른 소프트 복조 장치 구성의 일 예를 나타내는 블럭도.
상기와 같은 과제를 해결하기 위해 본 발명이 착안한 것은 하는 것이다.
상기와 같은 과제를 해결하기 위한 본 발명의 하나의 특징은, 소프트 복조 방법에 있어서, a) 채널로부터 수신된 코드 워드를 소정수의 비트 단위마다 부분합을 계산하는 단계와, b) 디코딩 테이블의 각 엔트리값 계산시 상기 각 엔트리를 상기 소정수의 비트 단위로 분할하여 상기 분할된 소정수의 비트 단위에 대응하는 상기 부분합을 참조하여 엔트리값들을 계산하는 단계와, c) 상기 엔트리 값들로부터 최대값을 검출하고 LLR 값을 계산하는 단계를 포함하는 것이다.
여기서, 바람직하게는, 상기 a) 단계는, 디코딩 테이블의 엔트리에서 소정수의 비트단위마다 나타날 수 있는 비트 조합으로 이루어진 기준 엔트리를 참조하여상기 채널로부터 수신된 코드워드를 소정수의 비트 단위마다 부분합을 계산한다.
또한, 바람직하게는, 상기 b) 단계는, b1) 디코딩 테이블의 각 엔트리를 상기 소정수의 비트 단위로 분할하는 단계와, b2) 상기 분할된 소정수의 비트 단위마다 그에 대응하는 부분합을 가져와서 단위당 부분합을 모두 더하는 단계를 포함한다.
또한, 바람직하게는, 상기 b) 단계는, 디코딩 테이블의 엔트리값 계산시, 상기 대응하는 부분합이 소정의 임계치를 초과하지 않는 경우에 그 엔트리값은 계산하지 않는다.
본 발명의 다른 특징은, 소프트 복조 장치에 있어서, 채널로부터 수신된 코드 워드를 소정수의 비트 단위마다 부분합을 계산하는 부분합 계산부와, 디코딩 테이블의 각 엔트리값 계산시 상기 각 엔트리를 상기 소정수의 비트 단위로 분할하여 상기 분할된 소정수의 비트 단위에 대응하는 상기 부분합을 참조하여 엔트리값들을 계산하는 엔트리 계산부와, 상기 엔트리 값들로부터 최대값을 검출하는 최대값 검출부와, 상기 검출된 최대값을 이용하여 LLR 값을 계산하는 LLR 계산부를 포함한다.
이제, 첨부된 도면을 참조하여 본 발명을 상세히 설명한다.
도 5는 본 발명에 따른 소프트 복조 과정의 제1실시예를 설명하는 흐름도이다.
먼저, 채널로부터 코드 신호를 수신한다.
다음, 기준 엔트리를 참조하여 상기 수신된 코드신호에 대한 부분합을 계산한다.
기준 엔트리라는 것은 디코딩 테이블의 각 엔트리에 포함된 비트들중 소정 개수의 비트로 이루어질 수 있는 가지 수를 나타내는 단위 엔트리를 말한다. 디코딩 테이블의 엔트리는 도 3에 도시된 바와 같은 형태 즉, 각 엔트리는 18개의 비트로 이루어지는 형태를 가지지만, 각 엔트리가 218개의 비트 조합을 가지는 것은 아니고, 18개의 비트는 3비트 단위로 쪼개져서, 각 3비트 단위 엔트리는 "000", "001", "010", "100", "101" 의 5가지의 값만을 가질 수 있다. 이하에서는 상기 "000", "001", "010", "100", "101" 을 기준 엔트리라 부르기로 한다.
다음, 수신된 코드신호를 3비트 단위로 상기 기준 엔트리를 참조하여 연산을 하여 부분합을 계산한다. 예를 들어, 처음 3비트 r0,r1,r2에 대해서 상기 기준 엔트리 "000", "001", "010", "100", "101"를 적용하여 연산을 하면, "000"에 대한 부분합 -r0-r1-r2"001"에 대한 부분합 -r0-r1+r2, "010"에 대한 부분합 -r0+r1-r2, "100"에 대한 부분합 +r0-r1-r2, "101"에 대한 부분합 +r0-r1+r25개가 계산된다. 그리고, 다음 3비트 r3,r4,r5에 대해서 부분합 -r3-r4-r5, -r3-r4+r5, -r3+r4-r5, +r3-r4-r5, +r3-r4+r55개가 계산된다. 이러한 방법으로 수신된 코드신호 18비트에 대해서 각 3비트 단위로 5개의 부분합을 계산한다.
다음, 디코딩 테이블의 엔트리를 참조하여 상기 계산된 부분합으로부터 각 엔트리 값들을 계산한다. 즉, 디코딩 테이블의 엔트리가 000 101 001 010 010 100이면, 상기 엔트리의 3비트 단위 엔트리씩 검색을 하여 그에 대응하여 계산된 부분합을 가져와서 전체 엔트리 합을 계산한다. 다시말하면, 상기 디코딩 테이블의 엔트리의 처음 3비트가 000 이므로 계산된 부분합 -r0-r1-r2을 가져오고, 다음 3비트 엔트리가 101이므로 계산된 부분합 +r3-r4+r5를 가져오고,... 이런 방식으로 18비트에 대해서 3비트씩 계산된 부분합 6개를 가져와서 모두 더하면 엔트리값이 되는 것이다. 이러한 방식으로 5000개의 엔트리값을 모두 계산한다.
다음, 계산된 엔트리 값들중에서 최대값을 검출한다.
그리고나서, LLR값을 계산하고 출력한다.
이와 같은 방법에 의하면, 예를 들어, 디코딩 테이블에 5000개의 엔트리가 있고, 부분합 테이블을 6개 생성하는 경우, 5(부분합 테이블의 엔트리 개수)*6(부분합 테이블의 수)*2(각 엔트리마다 수행되는 연산의 개수)+5000(디코딩 테이블의 엔트리 수)*5(하나의 엔트리값 계산시 더해져야 하는 부분합 값의 연산 수)= 25060이 된다.
도 5에 도시된 제1실시예에 따른 소프트 복조 장치 구성의 일 예가 도 6에 도시되어 있다.
상기 소프트 복조 장치(600)는 기준 엔트리(610)와, 부분합 계산부(620)와, 부분합 테이블(630)과, 엔트리 계산부(640)와, 최대값 검출부(650)와, LLR 계산부(660)와, 디코딩 테이블(670)을 포함한다.
기준 엔트리(610)는 도 7에 도시된 바와 같은 엔트리를 가진다. 즉, 기준엔트리는 5개의 값 "000"(611), "001"(612), "010"(613), "100"(614), "101"(615) 형태를 가진다.
부분합 계산부(620)는 기준 엔트리(610)로부터 하나의 엔트리씩 그리고 채널로부터 독출된 코드신호를 3비트씩 수신하여, 3비트 단위로 부분합을 계산한다. 즉, 채널로부터 독출된 코드신호가 r0, r1, r2이고 수신된 기준 엔트리가 "000"이면, 부분합 엔트리 -r0- r1- r2를 계산하고, 다음 기준 엔트리 "001"에 대해 부분합 엔트리는 -r0+r1+ r2를 게산하고, 다음 기준 엔트리 "010"에 대해서 부분합 엔트리 -r0+ r1- r2를 계산하고, 다음 기준 엔트리 "100"에 대해서 부분합 엔트리 +r0- r1- r2를 계산하고, 다음 기준 엔트리 "101"에 대해서 부분합 엔트리 +r0- r1+ r2를 계산한다.
부분합 계산부(620)가 이와 같은 부분합 엔트리 계산을 r0, r1, r2부터 r15, r16, r17까지 수행하면, 예를 들어, 도 8에 도시된 바와 같은 부분합 테이블(800)이 완성된다.
테이블(800)은 8개의 부분합 테이블(810,820,830,840,850,860)을 포함하며, 각 부분합 테이블은 5개의 엔트리를 포함한다.
엔트리 계산부(640)는 디코딩 테이블(670)의 테이블 엔트리값을 계산하는데, 부분합 테이블(630)에 저장된 계산된 부분합을 이용하여 엔트리값을 계산한다. 즉, 디코딩 테이블(670)의 첫 번째 엔트리가 "000 101 001 010 010 100"이면, 3 비트씩 참조하여 그 3비트 엔트리에 해당하는 값을 부분합 테이블(630)에서 검색하고 검색된 값을 가져와서 합연산을 수행한다.
예를 들어, 도 8에 도시된 부분합 테이블을 참조하면, 상기 첫 번째 엔트리에서 처음 3비트 "000"에 대한 부분합 -r0- r1- r2(811)을 부분합 테이블(810)에서 찾고, 다음 3비트 "101"에 대한 부분합 +r3- r4+ r5(825)을 부분합 테이블(820)에서 찾고, 이런 방법으로 상기 첫 번째 엔트리의 3비트 마다의 부분합을 부분합 테이블에서 찾으면 다음과 같은 값이 될 수 있다.
디코딩 테이블 엔트리 부분합 테이블 엔트리
000 - r0- r1- r2
101 + r3- r4+ r5
001 + r6- r6+ r8
010 + r9- r10+ r11
010 + r12- r13+ r14
100 + r15- r16+ r17
그리고, 상기 찾아진 부분합 테이블 엔트리를 모두 더하면 첫 번째 엔트리에 대한 엔트리값이 된다. 이와 같은 엔트리값 계산을 테이블 엔트리에 포함된 5000개의 엔트리들에 대해서 모두 수행하면 5000 개의 엔트리값들을 얻을 수 있다.
최대값 검출부(650)는 상기 엔트리 계산부(640)에 의해 구해진 엔트리값들로부터 최대값을 검출한다.
LLR 계산부(660)는 상기 최대값 검출부(650)로부터 출력된 최대값으로부터 LLR을 계산하여 출력한다.
도 9는 도 6에 도시된 부분합 테이블의 다른 예를 도시한다.
도 9에 도시된 부분합 테이블(900)은 도 8에 도시된 6개의 부분합 테이블을각 두 개씩 짝을 지어 하나의 테이블로 만든 것이다. 테이블(810)과 테이블(820)의 엔트리를 조합하여 하나의 테이블(910)을 만들고, 테이블(830)과 테이블(840)의 엔트리를 조합하여 하나의 테이블(920)을 만들고, 테이블(850)과 테이블(860)의 엔트리를 조합하여 하나의 테이블(930)을 만든다. 이와 같이 하여 생성된 각 테이블 (910), (920), (930)은 5개의 엔트리와 5개의 엔트리의 조합인 25개의 엔트리를 가진다.
이러한 경우의 총 계산량은,
30*2(6개의 부분합 테이블을 만드는데 필요한 계산량)
+ 3*25(6개의 테이블을 묶어서 3개의 부분합 테이블을 만드는데 필요한 계산량)
+ 5000*2(최종 엔트리값을 계산하는데 드는 계산량)
= 10135 가 된다.
도 10은 도 6에 도시된 부분합 테이블의 또다른 예를 도시한다.
도 10에 도시된 부분합 테이블(1000)은 도 8에 도시된 6개의 부분합 테이블을 각 세 개씩 짝을 지어 하나의 테이블로 만든 것이다. 테이블(810), 테이블(820), 테이블(830)의 엔트리를 조합하여 하나의 테이블(1010)을 만들고, 테이블(840), 테이블(850), 테이블(860)의 엔트리를 조합하여 하나의 테이블(1020)을 만든다. 이와 같이 하여 생성된 테이블 (1010), (1020) 각각은 5*5*5의 조합인 125개의 엔트리를 가진다.
이러한 경우의 총 계산량은,
30*2(6개의 부분합 테이블을 만드는데 필요한 계산량)
+ 2*125(6개의 부분합 테이블을 묶어서 2개의 부분합 테이블을 만드는데 필요한 계산량)
+ 5000*1(최종 엔트리값을 계산하는데 드는 계산량)
= 5310 이 된다.
도 11은 본 발명에 따른 소프트 복조 과정의 제2실시예를 나타낸다.
제2실시예에 의한 소프트 복조 방법은 상기 제1실시예에 의한 소프트 복조 수행시에 부분합이 일정값(임계치) 미만이면, 엔트리 계산시에 계산하지 않고 무시함으로써 무용한 계산량의 낭비를 감소시키는 것이다.
예를 들어, 임계치를 0 이라고 설정하였다고 가정하자. 도 3의 첫 번째 엔트리의 원소가 000 101 001 010 010 100 이다. 부분합 테이블이 도 10에 도시된 바와 같이 2블럭으로 이루어져 있다고 가정할 때, 저장된 메모리의 첫 번째 블럭(1010)에서 r0+r1+r2+r3+r4+r5+r6+r7+r8와, 두 번째 블럭(1020)에서 r9+r10+r11+r12+r13+r14+r15+r16+r17를 더하는데, 만일 첫 번째 또는 두 번째 값이 임계치 0보다 작다면 첫 번째 값과 두 번째 값을 더하는 과정을 무시하고 다음 엔트리 계산으로 넘어간다. 즉, 임계치가 0 이상인 값만 덧셈을 실행하여 맥스 함수의 입력으로 사용한다. 임계치는 채널의 상황에 따라서 달라질 수 있으며, 만일 임계치를 만족하는 값이 없다면 임계치의 값을 낮추어서 다시 계산한다.
채널로부터 코드 신호를 수신한다.
다음, 기준 엔트리를 참조하여 부분합을 계산한다. 기준 엔트리를 참조하여 부분합을 계산하는 과정은 제1실시예에서와 동일한 방법에 의한다.
다음, 엔트리값을 계산할 때, 엔트리값을 모두 더하는 연산을 수행하기 전에 각 부분합이 임계치를 초과하는지 판단한다.
판단결과, 엔트리값을 계산하기 위한 부분합이 임계치를 초과하지 않는 경우에는 해당 엔트리값을 계산하지 않고 그대로 무시하며, 초과하는 경우에 상기 계산된 부분합을 참조하여 디코딩 테이블의 엔트리값들을 계산한다.
다음, 계산된 엔트리값들중에서 최대값을 검출한다.
다음, 검출된 최대값을 이용하여 LLR을 계산한다.
이와 같이 제2실시예에 의한 소프트 복조 방법은, 제1실시예에 따른 소프트 복조 방법에 의한 계산량 감소외에 임계치를 초과하지 않는 부분합에 대해서는 엔트리 값 계산 자체를 하지 않음으로써, 최대값으로 검출될 확률이 낮은 엔트리들에 대한 무용한 계산량을 더 감소시킬 수 있다.
도 12는 도 11에 도시된 제2실시예에 따른 소프트 복조 장치 구성의 일 예를 나타낸다.
상기 소프트 복조 장치(1200)는 기준 엔트리(1210)와, 부분합 계산부(1220)와, 부분합 테이블(1230)과, 임계치 판단부(1240)와, 엔트리 계산부(1250)와, 최대값 검출부(1260)와, LLR 계산부(1270)와, 디코딩 테이블(1280)을 포함한다.
도 6에 도시된 소프트 복조 장치(600)와 임계치 판단부(1240)의 구성을 제외하고 다른 구성은 모두 동일하다.
즉, 기준 엔트리(1210)는 도 7에 도시된 바와 같은 기준 엔트리를 가지며, 부분합 계산부(1220)는 상기 기준 엔트리(1210)를 참조하여 부분합을 계산하고, 부분합 테이블(1230)은 상기 부분합 계산부(1220)에 의해 계산된 부분합을 저장한다.
그러면, 엔트리 계산부가 디코딩 테이블(1280)을 참조하여 엔트리값을 계산할 때, 무조건 부분합 테이블(1230)로부터 해당 부분합을 찾아서 엔트리값 계산에 이용하는 것이 아니라, 임계치 판단부(1240)가 먼저 찾아진 부분합을 소정의 임계치와 비교한다.
이와 같은 임계치 판단부(1240)의 비교에 의해 임계치를 초과한 부분합에 대해서만 엔트리 계산부(1250)는 엔트리값을 계산하고, 초과하지 않는 부분합에 대해서는 그대로 폐기하여 해당 엔트리 값을 계산하지 않고 다음 엔트리값 계산으로 넘어간다.
이와 같이 함으로써 최대값으로 검출될 확률이 낮은 엔트리에 대해서는 그 엔트리값 계산 자체를 수행하지 않음으로써 무용한 계산량의 낭비를 줄일 수 있다.
이상과 같은 본 발명에 의하면, 채널의 출력신호로부터 RLL 코드의 소프트 복조 수행시 필요한 계산량과 복잡도를 상당히 감소시킬 수 있다.

Claims (10)

  1. 소프트 복조 방법에 있어서,
    a) 채널로부터 수신된 코드 워드를 소정수의 비트 단위마다 부분합을 계산하는 단계와,
    b) 디코딩 테이블의 각 엔트리값 계산시 상기 각 엔트리를 상기 소정수의 비트 단위로 분할하여 상기 분할된 소정수의 비트 단위에 대응하는 상기 부분합을 참조하여 엔트리값들을 계산하는 단계와,
    c) 상기 엔트리 값들로부터 최대값을 검출하고 LLR 값을 계산하는 단계를 포함하는 것을 특징으로 하는 소프트 복조 방법.
  2. 제1항에 있어서,
    상기 a) 단계는,
    디코딩 테이블의 엔트리에서 소정수의 비트단위마다 나타날 수 있는 비트 조합으로 이루어진 기준 엔트리를 참조하여 상기 채널로부터 수신된 코드워드를 소정수의 비트 단위마다 부분합을 계산하는 것을 특징으로 하는 소프트 복조 방법.
  3. 제1항에 있어서,
    상기 b) 단계는,
    b1) 디코딩 테이블의 각 엔트리를 상기 소정수의 비트 단위로 분할하는 단계와,
    b2) 상기 분할된 소정수의 비트 단위마다 그에 대응하는 부분합을 가져와서 단위당 부분합을 모두 더하는 단계를 포함하는 것을 특징으로 하는 소프트 복조 방법.
  4. 제3항에 있어서,
    상기 소정수의 비트는 3 비트, 6 비트, 9 비트를 포함하는 것을 특징으로 하는 소프트 복조 방법.
  5. 제2항에 있어서,
    상기 기준 엔트리는 000, 001, 010, 100, 101 를 포함하는 것을 특징으로 하는 소프트 복조 방법.
  6. 제1항에 있어서,
    상기 b) 단계는,
    디코딩 테이블의 엔트리값 계산시, 상기 대응하는 부분합이 소정의 임계치를 초과하지 않는 경우에 그 엔트리값은 계산하지 않는 것을 특징으로 하는 소프트 복조 방법.
  7. 소프트 복조 장치에 있어서,
    채널로부터 수신된 코드 워드를 소정수의 비트 단위마다 부분합을 계산하는 부분합 계산부와,
    디코딩 테이블의 각 엔트리값 계산시 상기 각 엔트리를 상기 소정수의 비트 단위로 분할하여 상기 분할된 소정수의 비트 단위에 대응하는 상기 부분합을 참조하여 엔트리값들을 계산하는 엔트리 계산부와,
    상기 엔트리 값들로부터 최대값을 검출하는 최대값 검출부와,
    상기 검출된 최대값을 이용하여 LLR 값을 계산하는 LLR 계산부를 포함하는 것을 특징으로 하는 소프트 복조 장치.
  8. 제7항에 있어서,
    상기 부분합 계산부는,
    디코딩 테이블의 엔트리에서 소정수의 비트단위마다 나타날 수 있는 비트 조합으로 이루어진 기준 엔트리를 참조하여 상기 채널로부터 수신된 코드워드를 소정수의 비트 단위마다 부분합을 계산하는 것을 특징으로 하는 소프트 복조 장치.
  9. 제7항에 있어서,
    상기 엔트리 계산부는,
    디코딩 테이블의 각 엔트리를 상기 소정수의 비트 단위로 분할하고, 상기 분할된 소정수의 비트 단위마다 그에 대응하는 부분합을 가져와서 단위당 부분합을 모두 더하는 연산을 수행하는 것을 특징으로 하는 소프트 복조 장치.
  10. 제7항에 있어서,
    디코딩 테이블의 엔트리값 계산시, 상기 대응하는 부분합이 소정의 임계치를 초과하는지를 판단하는 임계치 판단부를 더 포함하고,
    상기 임계치 판단부의 판단 결과, 상기 대응하는 부분합이 소정의 임계치를 초과하지 않는 경우에 상기 엔트리 계산부는 그 엔트리값은 계산하지 않는 것을 특징으로 하는 소프트 복조 장치.
KR1020030005305A 2003-01-27 2003-01-27 소프트 복조 방법 및 소프트 복조 장치 KR20040068771A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020030005305A KR20040068771A (ko) 2003-01-27 2003-01-27 소프트 복조 방법 및 소프트 복조 장치
TW093101491A TWI281792B (en) 2003-01-27 2004-01-20 Soft demodulation method and apparatus
JP2004014594A JP2004227761A (ja) 2003-01-27 2004-01-22 ソフト復調方法及びソフト復調装置
US10/763,381 US7369615B2 (en) 2003-01-27 2004-01-26 Soft demodulation method and apparatus
CNB2004100058121A CN100380816C (zh) 2003-01-27 2004-01-27 软解调方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030005305A KR20040068771A (ko) 2003-01-27 2003-01-27 소프트 복조 방법 및 소프트 복조 장치

Publications (1)

Publication Number Publication Date
KR20040068771A true KR20040068771A (ko) 2004-08-02

Family

ID=32906518

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030005305A KR20040068771A (ko) 2003-01-27 2003-01-27 소프트 복조 방법 및 소프트 복조 장치

Country Status (5)

Country Link
US (1) US7369615B2 (ko)
JP (1) JP2004227761A (ko)
KR (1) KR20040068771A (ko)
CN (1) CN100380816C (ko)
TW (1) TWI281792B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011052821A1 (ko) * 2009-10-28 2011-05-05 강릉원주대학교산학협력단 대수우도비를 산출하는 방법 및 복조 장치

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040068771A (ko) 2003-01-27 2004-08-02 삼성전자주식회사 소프트 복조 방법 및 소프트 복조 장치
US7590920B2 (en) * 2005-08-05 2009-09-15 Hitachi Global Storage Technologies Netherlands, B.V. Reduced complexity error correction encoding techniques
US7725800B2 (en) * 2005-08-05 2010-05-25 Hitachi Global Stroage Technologies Netherlands, B.V. Decoding techniques for correcting errors using soft information
KR100706618B1 (ko) * 2005-12-09 2007-04-12 한국전자통신연구원 반복 복호기를 위한 고차변조 방식에 적합한 연판정 디매핑방법 및 그를 이용한 오류 정정 장치
KR101282568B1 (ko) 2006-08-08 2013-07-04 삼성전자주식회사 통신 시스템에서의 로그 우도율 연산 장치 및 방법
JP5197544B2 (ja) 2009-10-05 2013-05-15 株式会社東芝 メモリシステム
US9197267B2 (en) * 2013-04-09 2015-11-24 Qualcomm Incorporated Methods and apparatus for joint demodulation with max-log MAP (MLM)
WO2015024062A1 (en) * 2013-08-23 2015-02-26 University Of South Australia Enhanced automatic identification system
GB2543272B (en) * 2015-10-12 2018-04-18 Advanced Risc Mach Ltd An apparatus and method for processing a received input signal containing a sequence of data blocks
CN112286720B (zh) * 2020-10-28 2023-08-01 四川效率源信息安全技术股份有限公司 Sm2246en主控的固态硬盘启用trim命令后提取被删除数据的方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2901896B2 (ja) 1994-05-10 1999-06-07 松下電器産業株式会社 直交変換プロセッサ
JP3745502B2 (ja) * 1997-06-24 2006-02-15 ソニー株式会社 受信装置及び送受信装置並びに通信方法
DE19836966A1 (de) * 1998-08-14 2000-02-17 Bosch Gmbh Robert Verfahren und Datenempfänger zum Empfang von Korrekturdaten enthaltenden Funksignalen für ein Global Navigation Satellite System
US6434203B1 (en) * 1999-02-26 2002-08-13 Qualcomm, Incorporated Memory architecture for map decoder
US6662331B1 (en) * 2000-10-27 2003-12-09 Qualcomm Inc. Space-efficient turbo decoder
JP4191393B2 (ja) 2001-06-11 2008-12-03 富士通株式会社 情報記録再生装置及び方法並びに信号復号回路
US6961921B2 (en) * 2001-09-06 2005-11-01 Interdigital Technology Corporation Pipeline architecture for maximum a posteriori (MAP) decoders
KR20040068771A (ko) 2003-01-27 2004-08-02 삼성전자주식회사 소프트 복조 방법 및 소프트 복조 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011052821A1 (ko) * 2009-10-28 2011-05-05 강릉원주대학교산학협력단 대수우도비를 산출하는 방법 및 복조 장치

Also Published As

Publication number Publication date
US20040201503A1 (en) 2004-10-14
JP2004227761A (ja) 2004-08-12
CN100380816C (zh) 2008-04-09
US7369615B2 (en) 2008-05-06
TW200418273A (en) 2004-09-16
TWI281792B (en) 2007-05-21
CN1543077A (zh) 2004-11-03

Similar Documents

Publication Publication Date Title
US7319726B1 (en) Soft-output decoding method and apparatus for controlled intersymbol interference channels
JP3822249B2 (ja) 不均一エラー保護を有する通信信号の検出方法および手段
JP2006508577A5 (ko)
CN1819047B (zh) 对调制码进行编码和解码的方法和设备
EP0333321A2 (en) Even mark modulation coding
US7392461B2 (en) Decoding for algebraic geometric code associated with a fiber product
KR20070025145A (ko) 소프트 복호화 방법 및 장치, 에러 정정 방법 및 장치,소프트 출력 방법 및 장치
US20090132897A1 (en) Reduced State Soft Output Processing
US7307556B2 (en) Error correction for RLL channel bits in demodulation rules
US7479904B1 (en) Filter driven DC-free code
US7164374B2 (en) Demodulation apparatus and method using code table that decreases complexity
CN101192834A (zh) 纠错装置和纠错方法
KR20040068771A (ko) 소프트 복조 방법 및 소프트 복조 장치
JP2001035086A (ja) 信号処理装置及びその信号処理方法
US6661356B1 (en) Method and apparatus for DC-level constrained coding
JP3658395B2 (ja) 信号復調装置及び方法
US20100037125A1 (en) System for providing running digital sum control in a precoded bit stream
JPH09139678A (ja) 最尤復号化器および情報再生装置
JP3537722B2 (ja) 記録再生装置
US7286065B1 (en) Method and apparatus for DC-level constrained coding
JP3151958B2 (ja) 再生データ検出方式
JP3229047B2 (ja) ビタビ復号器
Dorfman et al. Postprocessing using a single-parity interleaved block code for a Viterbi detector
JP2600589B2 (ja) 再生データ検出装置
JPH05175940A (ja) 誤り訂正方式

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid