KR20010088471A - 다수준 격자부호변조방식의 복호 방법 및 장치 - Google Patents

다수준 격자부호변조방식의 복호 방법 및 장치 Download PDF

Info

Publication number
KR20010088471A
KR20010088471A KR1020010043596A KR20010043596A KR20010088471A KR 20010088471 A KR20010088471 A KR 20010088471A KR 1020010043596 A KR1020010043596 A KR 1020010043596A KR 20010043596 A KR20010043596 A KR 20010043596A KR 20010088471 A KR20010088471 A KR 20010088471A
Authority
KR
South Korea
Prior art keywords
state
scale
memory device
minimum
value
Prior art date
Application number
KR1020010043596A
Other languages
English (en)
Other versions
KR100437697B1 (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 KR10-2001-0043596A priority Critical patent/KR100437697B1/ko
Priority to US10/484,183 priority patent/US20040243916A1/en
Priority to PCT/KR2001/001349 priority patent/WO2003009480A2/en
Publication of KR20010088471A publication Critical patent/KR20010088471A/ko
Application granted granted Critical
Publication of KR100437697B1 publication Critical patent/KR100437697B1/ko

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/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
    • 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/0059Convolutional codes
    • H04L1/006Trellis-coded modulation
    • 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/256Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with trellis coding, e.g. with convolutional codes and TCM
    • 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/3961Arrangements of methods for branch or transition metric calculation
    • 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/3988Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes for rate k/n convolutional codes, with k>1, obtained by convolutional encoders with k inputs and n outputs
    • 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/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4107Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
    • 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/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • H03M13/4169Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using traceback
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 다수준 격자부호변조 복호시 병렬처리를 통해 성능이 향상된 다수준 격자부호변조의 복호 방법 및 장치에 관한 것이다. 본 발명에 따른 방법 및 장치는 현재상태에서 다음상태로 분지되는 가지들 중 공통성을 이용하여 다음상태를 갖는 가지들을 주기적으로 나누며, 부호율과 구속장의 크기에 따라 가산비교선택부를 이주기성에 입각하여 병렬처리 함으로써 복호기의 성능을 향상시킨다. 또한, 병렬 가산비교선택부의 동작에서 나오는 자료들은 직렬 처리를 가능하도록 구성함으로써 복호기를 대규모 집적회로로 구현할 때 하드웨어 간략화 및 구현상의 용이성을 지니는 것을 특징으로 한다.

Description

다수준 격자부호변조방식의 복호 방법 및 장치{METHOD AND APPARATUS FOR DECODING MULTI-LEVEL TRELLIS CODED MODULATION}
무선통신에서는 다경로페이딩과 같은 통신채널의 특성으로 인해 전송데이터 신호에 오류가 발생하는 경우가 있다. 이렇게 전송도중 발생하는 오류 데이터를 정정하기 위하여 디지털 데이터를 소정 방식으로 부호화하여 전송하게된다.
대표적인 부호화방식으로 현재의 데이터 비트들만을 참조하여 송신정보 비트를 생성하는 블록부호 방법이나 이전의 정보 비트들과 현재 부호 비트를 참조하여 송신 정보비트를 생성하는 길쌈부호(convolutional code)방식이 사용된다. 블록부호는 블록단위의 오류에 강한 장점이 있고, 길쌈부호는 비트 단위의 오류에 강한 장점이 있으며, 길쌈부호의 복호에는 비터비(Viterbi) 알고리즘이 사용된다.
상기 채널코딩인 길쌈부호에 다수준 디지털 변조방식, 예를 들어 M-PSK(M-ary Phase Shift Keying) 또는 M-QAM(M-ary Quadrature Amplitude Modulation)을 결합한 변조방식이 있는데, 이를 격자부호변조라 한다. 상기 격자부호변조 방식은 길쌈부호만으로 구성된 변조방식에 비하여 약 3∼6dB 정도의 부호이득을 얻을 수 있는 것으로 알려져 있으며, 대역폭이나 전력이 제한된 채널에 대하여 특히 유용하기 때문에 최근의 디지털 통신방식에서 주로 채택하고 있다. 고속유선 모뎀, 디지털 텔레비젼이나 비대칭 가입자 선로(ADSL) 모뎀 등의 적용이 그 예이다.
그러나, 격자부호변조의 복호 방식은 비터비 알고리즘의 구현시, 각 상태에서 분기하는 가지의 수가 길쌈부호에 비하여 현저하게 많아져 가산비교선택부의 연산수가 증가되기 때문에, 고성능 하드웨어 구현의 제약사항으로 작용하여 대부분 구속장(constraint length)이 작은 경우만이 구현되고 있다.
또한, 다수준 격자부호변조에서는 각 상태에서 분기하는 가지의 수가 입력부호비트와 상태 레지스터의 수에 지수적으로 비례하여 증가함으로써 가산비교선택부의 연산단계에서 심각한 병목현상을 가져온다. 그렇기 때문에 여러 가지의 계산량 감소 알고리즘에도 불구하고, 이를 해결하기 위한 새로운 하드웨어 구조의 개발이 필요하다.
이러한 문제점을 해결할 목적으로 제안된, 천공(Punchuring)기법을 이용한 프래그매틱(Pragmatic) TCM(PTCM) 구조가 미합중국특허 US5,469,452에 게시되어 있으며, 이는 기본적으로 길쌈부호기로 동작하며, 전송율을 높이기 위해 격자부호변조 모드로 동작할때 8-PSK, 16-PSK 등에서 부호율이 1/2 또는 1/3인 길쌈부호를 천공해서 사용하고, 복호기는 3개의 래딕스(Radix)-2 구조를 갖는 병렬 비터비 복호기를 사용하는 것이다.
그러나 이 방법은 천공기법을 적용함으로 인한 성능저하를 피할 수 없으며, 다른 형태의 다수준변조, 예를들어 16-QAM 등에는 적용할 수가 없다는 문제점을 지니고있다.
다른 예로써 가산비교선택부를 병렬처리한 다수준 격자부호변조 복호기의 복호방법으로 대한민국 특허출원번호 0-2000-002/439의 구조는 홀수차상태/짝수차상태별로 분해되는 구조를 이용하여 2m+r개 또는 그 배수개의 가산비교선택 연산을 병렬처리하고, 이때, 2m+r개 또는 그 배수개의 입출력포트를 갖는 다중포트 기억장치로 생존경로척도기억장치를 구현하여 2m+r개 또는 그 배수개의 상태에 대한 생존경로 척도값이 동시 입출력되도록 하는 방법이다.
그러나 이 방법 또한 가산비교선택부와 생존경로척도기억장치 사이의 빈번한 자료입출력에 대한 부담이 있으며, 동시에 여러개의 자료를 읽고 쓰기 위한 다중포트 기억장치 구현에 있어 각 상태를 구분할 수 있는 스위치구조가 필요하여 다중포트의 수가 많을 경우 스위치에서 발생하는 지연 및 하드웨어의 부담을 가지고 있다.
본 발명은 전술한 종래의 문제점을 해결하기 위한 목적으로 고안된 것으로서, 그 방법은 부호율과 구속장의 크기에 따라 주기성을 이용하여 다수준 격자부호변조 복호기의 가산비교선택부를 다중화하고, 주기단위로 다중화되는 특징을 이용하여 주변장치들을 직렬로 처리함으로써 병렬 및 직렬처리 구조를 혼합하여 설계하는 것이다. 그 결과 가산비교선택부의 병렬처리를 통해 복호기의 성능을 향상시키며, 직렬처리 구조를 이용해 하드웨어 면적을 줄일 수 있어 성능이 향상된 다수준 격자부호변조 복호 방법 및 장치를 제공한다.
도 1은 본 발명의 격자부호변조 복호기의 블록도를 나타낸다.
도 2는 격자부호변조 복호기의 블록도를 나타낸다.
도 3은 격자부호변조 부호기의 블록도를 나타낸다.
도 4는 래딕스 구조를 이용한 주기 구성 방법을 나타낸다.
도 5는 부호율 3/4, 구속장이 5인 격자부호변조 부호기의 블록도를 나타낸다.
도 6은 가산비교선택부의 가지척도임시기억장치를 나타내는 블록도이다.
도 7은 가지척도임시기억장치 내부의 위치변환기를 나타내는 블록도이다.
도 8은 가산비교선택부와 경로척도기억장치간의 동작을 나타내는 블록도이다.
도 9는 단일 가산비교선택부의 블록도를 나타낸다.
도 10은 병렬 가산비교선택부의 블록도를 나타낸다.
도 11은 병렬 가산비교선택부와 단일포트기억장치를 이용한 경로척도기억장치간의 동작을 나타내는 블록도이다.
도 12는 단일포트기억장치를 이용한 역추적기억장치의 블록도를 나타낸다.
도 13는 주기를 이용한 병렬구조에 사용되는 최소값탐색장치의 블록도를 나타낸다.
도 14는 임시번지를 원래의 번지로 변환해주는 번지복호기의 블록도를 나타낸다.
도 15는 역추적부의 블록도를 나타낸다.
도 16는 디매핑부의 블록도를 나타낸다.
*도면의 주요 부분에 대한 부호의 설명*
10 : 격자부호변조(TCM : Trellis Coded Modulation) 복호기
11 : 가지척도계산부(BMC : Branch Metric Calculator)
12 : 가산비교선택부(ACS : Add-Compare-Select)
12a : 가지척도임시기억장치(BMB : Branch Metric Buffer)
12b : 가산비교선택부(ACS : Add-Compare-Select)
12c : 경로척도임시기억장치(PMB : Path Metric Buffer)
12d : 역추적임시기억장치(TBB : Trace Back Buffer)
13 : 경로척도기억장치(PMM : Path Metric Memory)
13a : 현재상태경로척도기억장치(CPMM : Current Path Metric Memory)
13b : 다음상태경로척도기억장치(NPMM : Next Path Metric Memory)
14 : 역추적 및 디매핑부(TBD : Trace Back and Demapping)
15 : 역추적기억장치(TBM : Trace Back Memory)
16 : 제어부(Control)
상술한 본 발명의 목적을 달성하기 위한 구성수단으로, 본 발명은 부호율이 m/(m+1)이며, 구속장이 K인 다수준 격자부호 변조된 신호를 복호하는데 있어, 부호율과 구속장의 크기에 따라 주기성을 이용하여 다수준 격자부호변조 복호기의 가산비교선택부를 다중화하고, 주기단위로 다중화되는 특징을 이용하여 주변장치들을 직렬로 처리함으로써 병렬 및 직렬처리 구조를 혼합하여 설계할 수 있다.
이하, 첨부한 도면을 참조하여 본 발명에 따른 다수준 격자부호변조방식의 복호 장치 및 방법에 대하여 상세하게 설명한다.
본 발명에 따른 m비트 입력에 대하여 m+1비트의 출력을 갖는 격자부호변조로 변조된 신호를 복호하는 장치(10)는
잡음이 포함된 수신신호와 부호어(code word) 사이의 거리척도를 계산하는 가지척도계산부(11);
기지척도계산기(11)의 계산결과를 현재상태경로척도기억장치(13a)의 주기변화에 따라 가지의 위치를 바꾸어 2m×2(((K-3)/2)-1)개씩 동시에 가산비교선택부(12b)에 전달하는 가지척도임시기억장치(12a);
2m×2(((K-3)/2)-1)개의 가지척도임시기억장치(12a)에서 입력되는 거리척도값과 현재상태값을 더한 후 다음상태값과 비교하여 작은 상태값을 선택하여 최소상태값과 최소상태정보를 동시에 2m×2(((K-3)/2)-1)개씩 계산하는 가산비교선택부(12b);
가산비교선택부(12b)에서 계산된 한주기 동안의 최소상태값을 임시저장하고, 다음 주기의 가산비교선택연산을 수행하는 동안 최소상태값을 다음상태경로척도기억장치(13b)에 순차적으로 전달하는 경로척도임시기억장치(12c);
한 주기의 최소상태정보를 임시저장하고, 다음 주기의 가산비교선택연산을수행하는 동안 최소상태정보를 역추적기억장치(15)에 순차적으로 전달하는 역추적임시기억장치(12d);
가산비교선택부(12b)에 현재상태값을 제공하며, 2(((K-3)/2)-1)개의 단일포트기억장치로 구성된 현재상태경로척도기억장치(13a);
경로척도임시기억장치(12c)에서 저장되어진 한 주기의 최소상태값을 순차적으로 저장하며, 모든 주기의 가산비교선택연산이 끝나면 다음상태값을 현재상태경로 척도기억장치에 전달하는 2(((K-3)/2)-1)개의 단일포트기억장치로 구성된 다음상태경로 척도기억장치(13b);
역추적임시기억장치(12d)에 저장된 최소상태정보를 원래의 상태정보로 복원하여 역추적기억장치(15)에 전달하며, 역추적을 위한 시작번지를 최소값탐색장치에서 구하여, 소정 기간 동안의 역추적기억장치(15)에 기억된 누적경로를 역으로 추적하여 원래 신호값과 가까운 상태정보를 구하고 디매핑 과정을 거쳐 원래의 신호를 구하는 역추적부(14);
역추적임시기억장치(12d)에 저장되어진 최소상태정보를 역추적(14)부에서 원래의 상태정보로 변환하여 저장하는 2(((K-3)/2)-1)개의 단일포트기억장치로 구성된 역추적기억장치(15);
상기 각 장치들의 동작을 제어하는 제어부(16);로 이루어지는 것을 특징으로 한다.
도 2는 격자부호변조 복호기(20)의 전체 개략적인 구조를 보인 것으로, 여기에서 I(In-phase)채널과 Q(Quadrature-phase)채널의 입력신호는 잡음이 포함된 수신신호를 표시하고, 21은 가지척도계산부(21)로서, 수신신호와 부호어(code word) 사이의 유크리드거리(Euclidean Distance)를 계산하는데 이 거리의 척도는 해밍거리를 사용하는 경판정 길쌈부호와는 달리 유클리드거리를 사용하는 연판정복호가 수행된다. 22는 상기와 같이 가지척도계산부(21)에서 계산된 거리척도를 기준으로 현재상태값을 더하고 다음상태값과 비교(compare)하여 큰 값은 생존경로에서 제거하고 작은상태값을 선택함으로써 최소상태를 계산하는 가산비교선택부(22)이고, 23a는 현재 상태값을 저장하는 현재상태경로척도기억장치(23a)이고, 23b는 다음상태값을 저장하는 다음상태경로척도기억장치(23b)이며, 24는 일정기간동안의 누적경로를 역으로 추적하여 원래 신호값에 가까운 상태정보를 구하고 이 상태정보로부터 디매핑하여 원신호를 구하는 역추적 및 디매핑부(24)이고, 25는 상기 가산비교선택부(22)에서 계산된 상태정보를 기억하는 역추적기억장치(25)이며, 26은 상기 각 구성 수단의 동작을 제어하는 제어부(26)이다.
상기와 같은 구성의 복호기(20)는 잡음이 포함된 수신신호 I채널과 Q채널의 입력신호를 입력받아, 가지척도계산부(21)는 현재상태경로척도기억장치(23a)에 기억된 현재상태값에 상기 가지척도계산부(21)에서 계산된 거리척도를 더하고, 이를 다음상태경로척도기억장치(23b)에 기억된 다음상태값을 비교하여, 큰 상태값은 생존경로에서 제거하고 작은상태값을 선택하여 다음상태경로척도기억장치(23b)에 기억시킨다. 가산비교선택부(22)의 연산이 끝나면 상기 다음상태경로척도기억장치(23a)에서는 현재상태값이 더 이상 필요 없게되므로 다음상태값을 현재상태경로척도기억장치(23a)에 기억시키고, 다음상태경로척도기억장치(23b)에는 큰 값을 기억시켜 다음 가산비교선택연산에서 교환이 이루어지도록 하며, 다시 수신신호를 입력받아 위 과정을 반복한다. 가산비교선택부(22)에서 출력되는 최소 상태의 생존경로는 역추적기억장치(25)에 기억되고, 역추적 및 디매핑부(24)에 의해서 일정기간(대개 구속장 K의 4∼6배)동안의 누적 경로를 역으로 추적하여 원래 신호값과 가장 가까운 상태정보가 구해진다. 마지막으로 역추적과정에 의해 구해진 현재상태와 현재상태에 이르는 과거상태부터 디매핑(demapping)과정을 거쳐 원신호를 구하게 된다.
이때, 상기 가산비교선택부(22)에서의 병목현상을 제거하기 위한 본 발명에 따른 병렬처리방법을 설명하면 다음과 같다.
도 3은 TCM 부호기(encoder)의 구조를 나타낸 블록도로서, 상기 TCM 부호기는 전체 m비트의 입력을 부호율 m/(m+1)인 길쌈부호기(31)에 의해 부호화하여 m+1비트의 출력코드를 생성하고, 신호사상기에서 사상시켜 출력하므로, 각각의 상태에서 분기 가능한 가지의 수는 2m개이다.
구속장이 K인 길쌈부호기는 2(K-1)개의 상태를 갖고, 부호율 m/(m+1)이면, 전체상태는 2m+(K-1)개의 분기를 갖는다. 복호시 이 분기되는 가지들 중에서 가산비교선택부의 연산을 통해 생존 가능성이 있는 경로(survivor path)는 살려두고 생존 가능성이 없는 경로는 제거한다.
예를들어, 가산비교선택부에서 2m+(K-1)의 분기를 단일 비교가산선택기로 직렬처리 할 때, 부호율이 3/4이고 구속장이 7인 복호기의 가산비교선택부의 연산은 2(3+(7-1))= 2048번을 수행하여야만 하나의 심볼을 복호 할 수 있어 고속처리를 한다해도 실시간 처리가 어려워 이를 해결하기 위한 가산비교선택부의 병렬처리가 필요하다.
본 발명에서는 현재상태에서 다음상태로 분지되는 2m개의 가지들 중 공통된 다음상태를 갖는 가지들을 이용하여 주기를 나누게 된다. 먼저 하나의 현재상태에서는 2m개의 다음상태로 분지하며, 역으로 2m개의 현재상태에서 하나의 다음상태로 분지되어진다. 이를 분석해 보면, 2m개의 서로 다른 현재상태는 2m개의 같은 다음상태로 분지되는 특징을 가진다.
따라서, 이와 같은 특징을 이용하여 공통된 다음상태로 분지하는 2m개의 현재상태와 2m개의 공통된 다음상태들을 하나의 주기라 하여, 전체 2(K-1)개의 상태를 한주기 2m개의 상태로 나누면 전체 주기의 수가 된다.
각각의 주기를 구성하는 상태들은 독립적이며, 각각의 상태들은 오직 하나의 주기에만 속한다. 같은 주기를 이루는 상태들은 모두 하나의 공통점을 갖는다. 현재상태 주기를 구성하는 각각의 상태들은 모두 같은 다음상태로 분지되는 특징을 갖고, 다음상태 주기를 구성하는 각각의 상태들은 모두 현재상태에서 공통적으로분지되어지는 상태를 나타낸다. 따라서, 현재상태 주기와 다음상태 주기는 항상 짝을 이루어 가산비교선택연산을 하게된다.
본 발명에서의 현재상태 주기들은 현재상태경로척도기억장치의 상태들을 나타내며, 다음상태 주기들은 다음상태경로척도기억장치의 상태들를 나타낸다.
하나의 주기를 구성하는 상태들은 부호율의 입력되는 신호의 수(m)에 의해 2m개로 구성되고, 전체 상태의 주기는 부호율의 입력되는 신호의 수(m)와 구속장(K)에 의해 2(K-1)/2m개를 갖는다. 위의 주기들은 모두 래딕스-2m의 구조를 갖으며, 또한 각 주기들은 상호 배타적이어서 서로의 연산에 영향을 주지 않는다.
예를들어, 부호율이 1/2, 2/3, 3/4이며 구속장이 3, 4, 5인 경우 각각의 총 상태 수는 구속장 K에 의해 22-1, 24-1, 25-1개가되며, 분지되는 가지의 수는 부호율의 입력비트 m에 의해 21, 22, 23이 된다. 이를 본 발명에서의 주기단위로 나누어 보면 각각 22/23=2, 23/22=2, 24/23=2개로 모두 2개의 주기로 분해된다. 이들을 도 4의 상태도로 나타내었다. 40a는 부호율이 1/2이고 구속장이 3인 상태도로 주기를 나눔에 있어 래딕스-2 구조를 가지며, 40b는 부호율이 2/3이고 구속장이 4인 상태도로 래딕스-4 구조로 주기를 나누며, 40c는 부호율이 3/4이고 구속장이 5인 상태도로 주기를 구성함에 있어 래딕스-8의 구조로 주기를 나눌 수 있다.
위와 같은 특징을 이용하여 가산비교선택부에서는 부호율과 구속장에 따라병렬처리를 수행한다. 가산비교선택부는 총 2(K-1)/2m개의 주기 중 2(((K-1)/2)-1)개의 주기를 동시에 계산하게 된다. 따라서 가산비교선택부는 2(((K-3)/2)-1)개의 주기(2m×2(((K-3)/2)-1)개의 상태)를 동시에 계산한다.
예를들어, 부호율 3/4이며, 구속장이 5인 경우, 현재 상태에서 다음상태로 분지되는 가지는 23=8개이며, 총 2(5-1)/23=2개의 주기로 이루어져, 가산비교선택부는 2(((5-3)/2)-1)=1개의 주기(23×2(((5-3)/2)-1)=8개의 상태)를 동시에 계산한다.
표 1은 도 5에 나타낸 8진수로 표현된 패리티 체크 다항식(parity check polynomial)이 37, 32, 23, 21인 부호기를 이용하여 부호화할 경우 복호기에서 적용할 수 있는 현재상태 주기와 다음상태 주기의 상태를 나타내는 표이다.
또 하나의 예로써, 부호율 3/4이며, 구속장 7인 경우, 한 주기는 23=8개의 상태를 가지며, 총 2(7-1)/23=8개의 주기로 이루어져, 가산비교선택부는 23×2(((7-3)/2)-1)=16개의 상태를 동시에 계산한다. 따라서, 가산비교선택부는 동시에 2(((7-3)/2)-1)=2개의 주기를 동시에 계산할 수 있다.
표 2는 8진수로 표현된 패리티 체크 다항식(parity check polynomial)이 175, 157, 153, 105인 부호기를 이용하여 부호화 할 경우 복호기에서 적용할 수 있는 현재상태 주기와 다음상태 주기의 상태를 나타내는 표이다.
위 표 1과 2의 현재상태는 현재상태경로척도기억장치(13a)의 주소를 나타내고, 다음상태는 다음상태경로척도기억장치(13b)의 주소를 나타낸다.
주기를 이용한 가산비교선택부(12)를 효과적으로 구현하기 위해서는 도 1과 같이 가산비교선택부(12b) 이외 3가지 장치들이 더 필요하다. 3가지 장치에는 가지척도임시기억장치(12a), 경로척도임시기억장치(12c)와 역추적임시기억장치(12d)가 있다.
가지척도임시기억장치(60)는 가지척도계산부(11)에서 직렬이나 병렬로 계산되어져 나오는 가지척도값을 임시저장장치(62)에 저장한다. 직렬처리일 경우 도 6과 같이 디먹스(Demux)(61)를 이용하여 가지척도값을 임시기억장치(62)에 분배하여 임시기억장치(62)에서 저장하고 병렬처리를 할 경우 디먹스(61)를 사용하지 않고 바로 임시기억장치(62)에 저장한다. 가지척도값은 2m×2(((K-3)/2)-1)개씩 동시에 가산비교선택부(12b)에 전달되며, 전달시에는 현재상태 주기의 상태에 맞추어 가지들의 위치가 변한다. 가지들의 위치는 주기를 구성하는 상태의 수만큼, 즉, 2m번 가지의 위치가 변한다. 현재 상태의 각 주기들은 모두 동일하게 위치 변화가 이루어짐으로 가지의 위치를 변화시켜주는 위치변환기(63)를 모든 주기에 똑같이 적용한다.
예를들어, 도 5의 부호기를 이용하여 부호화할 경우 다수준 격자부호변조 복호기(10)의 구현에 있어 가지척도임시기억장치(12a)의 위치변화는 표 3과 같고, 이를 이용한 위치변환기(70)는 신호를 분배하는 신호분배기(71), 8개의 분배된 신호 중 오직 하나의 위치만을 결정하는 8:1 신호선택기(72)와 선택기의 선택 신호를 발생하는 선택신호발생기(73)로 구성되어 표 3과 같이 신호들의 위치를 변화시켜준다.
도 8은 가지척도임시기억장치(70)에서 위치 변환된 가지척도값을 입력받은 가산비교선택부(80)와 주변장치들과의 동작을 나타낸다. 가산비교선택부(80)는 위치변환된 가지척도값과 현재상태경로척도기억장치(84a)의 현재상태값을 가산기(81)에서 더한 후 비교선택기(82)를 이용하여 다음상태경로척도기억장치(84b)의 다음상태값을 대신하는 경로척도임시기억장치(83a)의 다음상태값과 비교하며, 그 값중 최소값만이 살아남아 다시 경로척도임시기억장치(83a)에 저장되고, 상태정보는 역추적임시기억장치(83b)에 저장된다. 경로척도임시기억장치(83a)에 저장된 값들은 한 주기동안 계속 비교되어 그 주기의 최소상태값을 저장하고, 역추적임시기억장치(83b)에 상태정보를 저장한다. 경로척도임시기억장치(83a)에 저장된 최소상태값들은 다음주기의 가산비교선택연산에서 다음경로척도기억장치(84b)에 순차적으로 저장되고, 역추적임시기억장치의(83b)의 상태정보도 역추적기억장치에 순처적으로 저장된다. 마지막으로 모든 주기의 가산비교선택연산이 끝났을 경우 현재상태경로척도기억장치(84a)의 값은 더 이상 필요 없으므로, 다음상태경로척도기억장치(84b)의 최소상태값을 입력받아 현재상태값를 갱신하여 다음 심볼에 대한 가산비교선택연산의 준비를 한다.
도 9는 단일 가산비교선택기(90)의 블록도이다. 먼저 가산기(91)에서 가지척도임시기억장치의 위치변환된 가지척도값을 전달받아 현재상태값과 더한 후 비교선택기(92)를 이용하여 다음상태와 비교하며, 최소상태값을 결정하여 그 때의 상태정보를 상태정보계산기(93)에 입력하여 상태정보계산기(93)의 제어신호로 작용하여 상태의 위치를 계산한다. 상태정보계산기(93)는 카운터로 구현할 수 있으며, 가산비교선택기(90)가 동작하면 그때마다 1씩 증가하여, 선택 신호가 입력될 때 역추적을 위한 상태정보는 아니지만 최소상태값의 상태정보인 그 때의 위치정보를 계산한다. 이 위치정보들은 역추적부의 번지복호기에서 역추적을 위한 상태정보로 바뀌어 역추적기억장치에 입력된다. 비교선택기(92)에서 선택된 최소상태값은 경로척도임시기억장치에 저장되며, 다음의 최소상태를 결정하기 위해 비교선택기(92)에 다음 상태값으로 입력되어 최소상태값을 결정한다. 이 과정을 한 주기 동안 반복하여 한 주기가 끝나면 그 주기의 최소상태값을 저장한다. 역추적임시기억장치(95)는 상태정보계산기(93)의 상태정보들을 저장한다.
도 10는 도 8에서의 동작을 주기단위로 병렬 처리할 경우의 블록도이다. 한주기는 2m개의 상태로 구성되므로, 2m개의 상태를 병렬 처리하는 구조를 가지는 가산비교선택기(100)를 설계할 수 있다. 먼저 가지척도임시기억장치(101)에서 위치변환된 가지척도값 2m개를 전달받아 현재상태 주기를 구성하는 2m개의 상태 중 하나의 상태와 더한 후 다음상태 주기의 2m개의 상태와 비교한 후 작은상태값을 선택하여 최소상태값과 최소상태정보를 계산하는 가지척도계산기(102)와 2m개의 자료를 임시저장하고 저장된 값을 다음에 계산되는 현재상태값과 가지척도값을 더한 값과 비교하여 한 주기 동안 이 과정을 반복하면, 다음상태경로척도기억장치를 사용하지 않고도 주기를 구성하는 상태들의 최소상태값과 상태정보를 계산할 수 있다. 경로척도임시기억장치(103)는 한 주기(2m)동안 최소상태값을 임시기억장치(103a)에 저장하여 다음 주기의 가산비교선택 연산을 시작할 때 병렬/직렬 변환기(103b)에 전달하여 최소값탐색장치와 다음상태경로척도기억장치에 직렬로 최소상태값을 전달한다. 역추적임시기억장치(104)는 최소상태값의 상태정보를 임시기억장치(104a)에 저장하는 것을 제외하고는 경로척도임시기억장치(103)의 동작과 동일하다.
표 1과 3을 이용하여 예를 들면, 가지척도임시기억장치(101)와 가사비교선택기(102)의 동작을 보며, 표 1의 0주기의 첫 번째 현재상태 0의 상태값은 표 3의 0번째 위치변화된 가지척도값과 더해져 표 1의 0주기의 다음상태 {0, 1, 2, 3, 4, 5, 6, 7}의 상태값과 비교하여 작은상태값을 선택하고, 선택된 상태값을 다시 다음상태 {0, 1, 2, 3, 4, 5, 6, 7}에 저장한다. 표 1의 0주기의 현재상태 2, 4, 6, 8,10, 12, 14의 순서로 현재상태가 변화하면, 가지척도값은 1, 2, 3, 4, 5, 6, 7 순으로 위치 변화하여, 두 값을 더하고 다음상태 {0, 1, 2, 3, 4, 5, 6, 7}의 상태값과 비교해 주기 중 가장 작은 상태값을 선택하여 저장한다. 주기 중 모든 상태가 가산비교선택연산에 참여하면 한주기의 가산비교선택연산이 완료되며, 나머지 주기도 위와 같은 계산을 반복한다.
도 11은 주기단위(2m×2(((K-3)/2)-1)개 상태)로 병렬 처리할 수 있는 가산비교선택부(111)와 주기단위로 계산되는 자료를 읽고 쓸수 있는 경로척도기억장치(112)들 간의 상호 작용을 나타낸다. 경로척도임시기억장치(112b)에서는 가산비교선택부(111)의 다음 주기 연산을 수행하는 동안 저장되어진 한 주기의 최소상태값들을 병렬/직렬 변환기에서 단일포트기억장치인 2(((K-3)/2)-1)개의 다음상태경로척도기억장치(112b)에 직렬로 쓰게 되고 모든 주기의 상태값을 저장하게 된다. 다음상태경로척도기억장치(112b)의 상태값을 현재상태경로척도기억장치(112a)에 직렬로 전달하여 현재상태의 값을 갱신하며, 경로척도기억장치(112)를 구성하는 하나의 단일포트기억장치는 2m×2((K-3)/2)개의 상태를 기억한다.
다음상태경로척도기억장치(112b)에서 현재상태경로척도기억장치(111a)로 전달하는 과정에 스위치(113)를 통과하여 현재상태경로척도기억장치(112a)를 구성하고 있는 단일포트기억장치 중 하나의 단일포트기억장치로 저장되며, 여기에 대한 제어는 제어부(16)의 번지발생기와 제어신호발생기에서 제어하게 된다.
도 11과 같이 가산비교선택부(111)와 경로척도기억장치(112)와의 접촉이 주기단위로 이루어져, 기억장치의 입출력에 소요되는 시간을 최소화할 수 있고, 경로척도기억장치들을 단일 포트기억장치로 구현할 수 있어 하드웨어 면적이 감소한다.
도 12의 역추적기억장치(120)도 마찬가지로 병렬/직렬 변환기를 거쳐 역추적임시기억장치(12d)에 저장된 최소상태정보를 단일포트기억장치로 구성된 2(((K-3)/2)-1)개의 역추적기억장치(122)에 분산 저장함으로써 기억장치와의 접촉을 최소한으로 하였고, 기억장치를 분할하여 상태정보를 기다림 없이 연속적으로 저장할 수 있다. 여기에서 스위치(121)는 가산비교선택부나 역추적부에서 입력되는 상태정보를 분할되어진 역추적기억장치(122)에 전달하며, 역추적기억장치(122)는 역추적깊이×총상태수×자료넓이의 크기를 갖는 역추적기억장치를 2(((K-3)/2)-1)개로 나누어 읽고 쓸 수 있으며, 선택기(123)는 분할되어진 역추적기억장치(122)로부터 전달받은 자료 중 현재 역추적에서 필요한 자료를 선택한다.
도 13은 역추적의 시작번지를 찾는 최소값탐색장치(130)로써 주기단위로 최소값을 찾기 위해 2(((K-3)/2)-1)개로 나누었으며, 가산비교선택부(12)에서 다음주기를 처리하는 동안 최소값을 순차적으로 찾는다.
도 14는 역추적임시기억장치(12d)에서 역추적기억장치(15)로 입력되는 자료들을 원래의 자료로 변환해 주는 번지복호기가 있다. 역추적임시기억장치(12d)에 기억되어 있는 상태정보는 카운터를 이용한 상태의 위치정보이다. 따라서, 가산비교선택부(12b)에서 계산되어져 나오는 상태정보들을 원래 번지로 변환해주는 번지복호기(140)가 필요 하며, 최소값탐색장치(120)에서도 마찬가지로 최소상태값의 계산순서만을 찾을 뿐 원래의 번지는 찾지 못하므로, 위와 같은 번지복호기(133)를 이용하여 원래의 번지로 변환하여 이를 역추적의 시작번지로 사용한다. 주기들의 계산순서는 표 1이나 표 2와 같은 미리 계산되어진 표를 참조해서 구성할 수 있어 하드웨어 구현시 하드와이어드(Hardwired) 로직으로 쉽게 구현할 수 있다.
도 15는 최소값탐색장치(151)에서 찾은 최소값의 상태정보를 이용하여 역추적깊이(즉, K의 4∼6)만큼 누적한 후 역추적을 하여 현재상태와 현재상태에 이르는 과거상태를 추정한다. 추정된 현재상태와 현재상태에 이르는 과거상태를 이용하여 디매핑과정을 거쳐 원신호를 복원한다.
도 16은 디매핑부(160)로서 현재상태와 현재상태에 이르는 과거상태를 추정하여, 두 상태의 배타적논리합(161) 연산에 의해 최종 신호를 복호한다.
제어부(16)은 각 블록들의 제어신호를 발생함과 동시에 각각의 기억장치에 입력될 번지들을 생성한다. 각각의 번지들을 표를 참조하여 미리 알 수 있으므로, 미리 번지복호기(140)와 같은 하드와이어드 로직을 이용하여 구현할 수 있다.
상기의 예에서 언급한 특정 부호율과 구속장을 가지는 주기표와 주기표를 이용한 장치들의 블록도는 본 발명에서 사용된 주기와 주기를 이용한 응용장치들의 이해를 돕기 위한 것으로, 본 발명을 제한하려는 것이 아니라 예시하려는 것이다. 본 발명이 속하는 분야의 숙련자는 이 발명의 기술사항을 벗어남이 없이 위 실시예에 대한 다양한 변화나 변경 또는 조절이 가능할 것이다. 그러므로, 본 발명의 보호범위는 첨부된 청구범위에 의해서만 한정될 것이며, 위와 같은 변화예나 변경에 또는 조절예를 모두 포함하는 것으로 해석되어야 할 것이다.
상기와 같이 개별적으로 설명한 바를 정리하면, 본 발명은 부호율이 m/(m+1)이며 구속장이 K인 다수준 격자부호변조 복호시 병렬처리를 통해 성능이 향상된 다수준 격자부호변조 방식의 복호방법 및 장치에 관한 것으로, 본 발명에 따른 방법 및 장치는 부호율과 구속장의 크기에 따라 가산비교선택부를 병렬처리 함에 있어 현재상태에서 다음상태로 분지되는 가지들 중 공통된 다음상태를 갖는 가지들을 이용하여 2(K-1)/2m개의 주기로 나누었다. 가산비교선택부에서는 2(((K-3)/2)-1)개의 주기를 동시에 처리하도록 하였으며, 2(((K-3)/2)-1)개의 단일포트기억장치를 이용해 경로척도기억장치 및 역추적기억장치를 구현하여 자료를 직렬로 읽고 쓴다. 주기 단위로 병렬처리하는 가산비교선택부는 가지척도임시기억장치와 경로척도임시기억장치를 이용하여 주기의 상태에 따라 가지척도임시기억장치에서 가지의 위치들을 변화시켜주고 가산비교선택연산 이후 경로척도임시기억장치를 이용하여 한주기 동안 최소상태값을 연속적으로 갱신한 후 다음주기의 가산비교선택연산 동안 직렬로 2(((K-3)/2)-1)개의 경로척도기억장치에 최소상태값을 전달할 수 있고, 2(((K-3)/2)-1)개의 역추적기억장치는 역추적임시기억장치를 이용하여 직렬로 상태정보를 받을 수 있다. 역추적부에서는 2(((K-3)/2)-1)개의 최소값탐색장치를 이용하여 역추적의 시작번지를 찾으며, 역추적부와 최소값탐색장치에는 계산순서번지를 주기번지로 변환해주는 번지변환기가 있고, 제어부에서는 번지변환기와 동일한 구조를 갖는 번지발생기가 있어 기억장치에 입력되는 번지들을 공급한다.
본 발명에 따른 방법 및 장치는 현재상태에서 다음상태로 분지되는 가지들 중 공통된 다음상태를 갖는 가지들을 이용하여 주기를 나누며, 부호율과 구속장(K)의 크기에 따라 주기들을 가산비교선택부에서 병렬처리 하도록 하였다. 주기를 이용한 병렬 가산비교선택부에서 발생하는 자료들은 주변장치들에게 직렬로 전달하며, 이 동작은 가산비교선택부가 다음 주기를 계산할 때 이루어져 복호기의 고속화가 가능하며, 주변장치들을 직렬처리함으로 대규모의 집적회로 구현이 용이하다.

Claims (16)

  1. m비트 입력에 대해m+1비트 출력을 갖으며, 구속장 K를 갖는 다수준 격자부호변조된 신호의 복호방법에 있어서,
    부호율과 구속장의 크기에 따라 가산비교선택부를 병렬처리 함에 있어 현재상태에서 다음상태로 분지되는 가지들 중 공통된 다음상태를 갖는 가지들을 이용하여 2(K-1)/2m개의 주기로 나누어 가산비교선택부(12)에서 2m×2(((K-3)/2)-1)개의 상태나 혹은 2(((K-3)/2)-1)개의 주기를 동시에 처리하는 특징을 가지며, 주기를 이용하여 가산비교선택부(12)에서 병렬 처리된 자료들을 주변장치에서 직렬 처리하는 것을 특징으로 하는 다수준 격자부호변조방식의 복호 방법.
  2. 제 1항에 있어서, 부호율과 구속장의 크기에 따라 현재상태에서 다음상태로 분지되는 가지들 중 공통된 다음상태를 갖는 가지들을 이용하여 한 주기는 2m개의 상태를 갖고, 전체 상태는 2(K-1)/2m개의 주기로 구성되며, 각 주기들은 래딕스-2m의 구조를 갖는 것을 특징으로 하는 주기 구성방법.
  3. 제 1항에 있어서, 상기 가산비교선택부(12)는,
    가지척도계산기(11)의 계산결과를 현재상태경로척도기억장치(13a)의 주기변화에 따라 가지의 위치를 바꾸어 2m×2(((K-3)/2)-1)개씩 동시에 가산비교선택부(12b)에 전달하는 가지척도임시기억장치(12a);
    2m×2(((K-3)/2)-1)개의 가지척도임시기억장치(12a)에서 입력되는 거리척도값과 현재상태값을 더한 후 다음상태값과 비교하여 작은 상태값을 선택하여 최소상태값과 최소상태정보를 동시에 2m×2(((K-3)/2)-1)개씩 계산하는 가산비교선택부(12b);
    최소상태값을 한 주기의 가산비교선택부(12b)의 연산이 끝날 때까지 임시저장하고 그 값들을 비교하여 한 주기의 최소값을 저장하여 다음 주기의 가산비교선택부(12b)의 연산에서 다음상태경로척도기억장치(13b)에 직렬로 전달하는 경로척도임시기억장치(12c);
    최소상태정보를 한 주기가 끝날 때까지 임시저장하여 한 주기의 최소상태정보를 역추적기억장치(15)에 직렬로 전달하는 역추적임시기억장치(12d); 로 이루어지는 것을 특징으로 하는 다수준 격자부호변조방식의 복호 장치.
  4. 제 3항에 있어서, 상기 가지척도임시기억장치(12a)는,
    가지척도계산부(11)에서 직렬이나 병렬로 계산되어져 나오는 가지척도값을 저장하는 임시저장장치(62);
    직렬처리일 경우 가지척도값을 임시기억장치(62)에 분배하여 임시기억장치(62)에서 저장하는 디먹스(61);
    병렬처리일 경우 디먹스(61)를 사용하지 않고 바로 저장하는임시기억장치(62);
    임시저장된 가지척도값을 2m×2(((K-3)/2)-1)개씩 동시에 가산비교선택부(12b)에 전달하며, 현재상태 주기의 상태에 맞추어 가지들의 위치가 변화하고, 주기를 구성하는 상태의 수 2m만큼 주기의 변화가 일어나는 위치변환장치(63); 로 구성되는 것을 특징으로 하는 가지척도임시기억장치.
  5. 제 4항에 있어, 상기 가지척도임시기억장치(60)는
    표 3과 같은 위치변환 주기표를 이용하여 위치변환기의 신호를 분배하는 신호 분배기에서 2m개의 신호를 동시에 분배하며, 분배된 신호 중 오직 하나의 위치만을 결정하는 2m:1 신호선택기와 선택기의 선택 신호를 발생하는 선택신호발생기를 이용하여 위치변환 주기표에 맞추어 주기를 변화시키는 것을 특징으로 하는 가지척도임시기억장치.
  6. 제 3항에 있어서, 상기 병렬 가산비교선택기(12b)는,
    가지척도임시기억장치(101)에서 위치변환된 가지척도값 2m×2(((K-3)/2)-1)개를 전달받아 현재상태 주기의 하나의 상태와 더한 후 다음상태 주기의 2m개의 상태와 비교한 후 작은상태값을 선택하여 최소상태값과 최소상태정보를 계산하는 가지척도계산기(102)와 2m×2(((K-3)/2)-1)개의 자료를 임시저장하고 저장된값을 다음에 계산되어지는 현재상태값과 가지척도값을 더한값과 비교하며, 한 주기 동안 이 과정을 반복하면, 다음상태경로척도기억장치를 사용하지 않고도 주기를 구성하는 상태들의 최소상태값과 상태정보를 계산할 수 있는 것을 특징으로 하는 가산비교선택장치.
  7. 제 6항에 있어서, 상기 가산비교선택기(90)는,
    가지척도임시기억장치(12a)의 위치변환된 가지척도값을 전달받아 현재상태값과 더하는 가산기(91);
    가산기의 결과값과 다음상태값을 비교하여 최소상태값을 결정하고, 그때의 상태정보를 상태정보계산기(93)의 선택 신호로 사용하는 비교선택기(92);
    카운터로 구현할 수 있으며 가산비교선택기(90)가 동작하면 그때마다 1씩 증가하여 선택 신호가 입력되면 역추적을 위한 상태정보는 아니지만 최소상태값의 상태정보인 그 때의 위치정보를 계산하는 상태정보계산기(93);로 이루어지는 것을 특징으로 하는 가산비교선택장치.
  8. 제 3항에 있어서, 상기 경로척도임시기억장치(12c)는,
    한 주기(2m) 동안 최소상태값을 임시기억장치(103a)에 저장하여 다음 주기의 가산비교선택연산이 시작할 때 병렬/직렬 변환기(103b)에 전달하여 최소값탐색장치와 다음상태경로척도기억장치에 직렬로 최소상태값을 전달하는 것을 특징으로하는경로척도임시기억장치.
  9. 제 3항에 있어서, 상기 역추적임시기억장치(12d)는,
    한 주기(2m) 동안 최소상태값의 상태정보를 임시기억장치(103a)에 저장하여 다음 주기의 가산비교선택 연산을 시작할 때 병렬/직렬 변환기(103b)에 전달하여 역추적기억장치에 직렬로 최소상태값을 전달하는 것을 특징으로 하는 역추적임시기억장치.
  10. 제 1항에 있어서, 경로척도기억장치(13) 및 역추적기억장치(15)는,
    주기를 이용하여 가산비교선택부에서 병렬 처리된 자료들은 경로척도임시기억장치(12c)와 역추적임시기억장치(12d)를 이용하여 주변장치에 직렬로 전달함으로, 기억장치들은 2(((K-3)/2)-1)개의 단일포트기억장치를 이용하여 구현할 수 있고, 자료를 직렬로 처리하는 특징을 갖는 기억장치.
  11. 제 10항에 있어서, 경로척도기억장치(13)는,
    2(((K-3)/2)-1)개의 단일포트기억장치로 구현할 수 있으며, 모든 자료를 직렬로 처리하게 되고 모든 주기의 상태값을 저장하며, 다음상태경로척도기억장치(112b)의 상태값을 현재상태경로척도기억장치(112a)에 직렬로 전달하여 현재상태의 값을 갱신하며, 경로척도기억장치(112)를 구성하는 하나의 단일포트기억장치는 2m×2((K-3)/2)개의 상태를 기억하게되며, 다음상태경로척도기억장치(112b)에서 현재상태경로척도기억장치(111a)로 전달하는 과정에 스위치(113)를 통과하여 현재상태경로척도기억장치(112a)를 구성하고 있는 단일포트기억장치 중 하나로 저장되는 것을 특징으로 하는 경로척도기억장치.
  12. 제 10항에 있어서, 역추적기억장치(15)는,
    역추적임시기억장치(12d)에 저장되어진 최소상태정보를 병렬/직렬 변환기를 거쳐 단일포트기억장치로 구성된 2(((K-3)/2)-1)개의 역추적기억장치(122)에 저장하고, 스위치(121)를 이용하여 가산비교선택부나 역추적부에서 입력되는 상태정보를 분할된 역추적기억장치(122)에 전달하며, 역추적기억장치(122)는 역추적깊이×총상태수×자료넓이의 크기를 갖는 역추적기억장치를 2(((K-3)/2)-1)개로 나누어 읽고 쓰도록 하며, 선택기(123)를 이용하여 분할되어진 역추적기억장치(122)로부터 전달받은 자료 중 현재 역추적에서 필요한 자료를 선택하는 특징을 갖는 역추적기억장치.
  13. m비트 입력에 대해m+1비트 출력을 갖으며, 구속장 K를 갖는 다수준 격자부호변조된 신호의 복호방법에 있어서,
    역추적부(14)는 역추적임시기억장치(12d)에 기억되어 있는 상태정보을 주기의 원래 번지로 변환해주는 번지복호기(140)를 이용하여 변환하며,최소값탐색장치(120)에서도 마찬가지로 최소상태값의 계산순서만을 찾을 뿐 원래의 번지는 찾지 못함으로, 위와 같은 번지복호기(133)를 이용하여 원래의 번지로 변환하여 이를 시작번지로 사용하며, 역추적기억장치(15)에서 역추적 깊이(즉, K의 4∼6)만큼 누적한후 시작번지를 기점으로 역추적을 하여 현재상태와 현재상태에 이르는 과거상태를 추정하여 디매핑과정을 거쳐 원신호를 복원하는 것을 특징으로 하는 역추적부.
  14. 제 13항에 있어서, 번지복호기(140)는,
    주기들의 계산순서를 표 1이나 표 2와 같은 미리 계산할 수 있으므로, 하드웨어 구현 시 하드와이어드 로직으로 미리 구현하는 것을 특징으로 하는 번지복호장치.
  15. 제 13항에 있어서, 최소값탐색장치(140)는,
    주기에 맞추어 2(((K-3)/2)-1)개로 나누어져 있으며, 직렬로 처리되어지고, 다음상태경로척도기억장치(13b)에 입력되는 자료를 입력 받아 2(((K-3)/2)-1)개의 최소값탐색장치(130)를 동시에 수행하여 최소값을 찾으므로, 직렬처리를 이용한 최소값탐색장치를 사용하여도 별도의 시간이 필요없이 최소값을 찾을 수 있는 것을 특징으로 하는 최소값탐색장치.
  16. 제 13항에 있어서, 디매핑부(160)는,
    현재상태와 과거상태 정보로부터 배타적논리합(161) 연산만을 이용하여 원 신호를 복호하는 것을 특징으로 하는 디매핑 장치.
KR10-2001-0043596A 2001-07-19 2001-07-19 다수준 격자부호변조방식의 복호 방법 및 장치 KR100437697B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR10-2001-0043596A KR100437697B1 (ko) 2001-07-19 2001-07-19 다수준 격자부호변조방식의 복호 방법 및 장치
US10/484,183 US20040243916A1 (en) 2001-07-19 2001-08-08 Method and apparatus for decoding multi-level trellis coded modulation
PCT/KR2001/001349 WO2003009480A2 (en) 2001-07-19 2001-08-08 Method and apparatus for decoding multi-level trellis coded modulation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0043596A KR100437697B1 (ko) 2001-07-19 2001-07-19 다수준 격자부호변조방식의 복호 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20010088471A true KR20010088471A (ko) 2001-09-28
KR100437697B1 KR100437697B1 (ko) 2004-06-26

Family

ID=19712320

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0043596A KR100437697B1 (ko) 2001-07-19 2001-07-19 다수준 격자부호변조방식의 복호 방법 및 장치

Country Status (3)

Country Link
US (1) US20040243916A1 (ko)
KR (1) KR100437697B1 (ko)
WO (1) WO2003009480A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100899736B1 (ko) * 2002-05-25 2009-05-27 삼성전자주식회사 무선 패킷 데이터 채널 수신장치 및 방법

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7403981B2 (en) 2002-01-04 2008-07-22 Quicksilver Technology, Inc. Apparatus and method for adaptive multimedia reception and transmission in communication environments
US8205145B2 (en) * 2002-12-18 2012-06-19 Texas Instruments Incorporated High-speed add-compare-select (ACS) circuit
US7331013B2 (en) * 2004-02-18 2008-02-12 Nvidia Corporation Viterbi decoder with survivor bits stored to support look-ahead addressing
US7458008B2 (en) * 2004-12-30 2008-11-25 Freescale Semiconductor, Inc. Decision voting in a parallel decoder
US20070113161A1 (en) * 2005-11-14 2007-05-17 Texas Instruments Incorporated Cascaded radix architecture for high-speed viterbi decoder
US20070266303A1 (en) * 2006-04-27 2007-11-15 Qualcomm Incorporated Viterbi decoding apparatus and techniques
US8718202B2 (en) * 2008-08-11 2014-05-06 Texas Instruments Incorporated Reduced complexity viterbi decoding
US20130028312A1 (en) * 2011-07-26 2013-01-31 Himax Media Solutions, Inc. Joint decision feedback equalizer and trellis decoder
US20130311753A1 (en) * 2012-05-19 2013-11-21 Venu Kandadai Method and device (universal multifunction accelerator) for accelerating computations by parallel computations of middle stratum operations
KR101711452B1 (ko) 2015-11-24 2017-03-02 국방과학연구소 교차형 직교-진폭 변조 성상을 갖는 실용적 격자부호 변조기 및 복조기
TWI729755B (zh) * 2020-04-01 2021-06-01 智原科技股份有限公司 接收器與應用在接收器中的交織碼調變解碼器及相關的解碼方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10107651A (ja) * 1996-09-27 1998-04-24 Nec Corp ビタビ復号装置
US6094739A (en) * 1997-09-24 2000-07-25 Lucent Technologies, Inc. Trellis decoder for real-time video rate decoding and de-interleaving
US6128765A (en) * 1998-08-20 2000-10-03 General Electric Company Maximum A posterior estimator with fast sigma calculator
US6654929B1 (en) * 1999-10-01 2003-11-25 Matsushita Electric Industrial Co., Ltd. Viterbi decoder and Viterbi decoding method
US6333954B1 (en) * 1999-10-21 2001-12-25 Qualcomm Incorporated High-speed ACS for Viterbi decoder implementations
US6757864B1 (en) * 2000-04-06 2004-06-29 Qualcomm, Incorporated Method and apparatus for efficiently reading and storing state metrics in memory for high-speed ACS viterbi decoder implementations
US7020827B2 (en) * 2001-06-08 2006-03-28 Texas Instruments Incorporated Cascade map decoder and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100899736B1 (ko) * 2002-05-25 2009-05-27 삼성전자주식회사 무선 패킷 데이터 채널 수신장치 및 방법

Also Published As

Publication number Publication date
US20040243916A1 (en) 2004-12-02
KR100437697B1 (ko) 2004-06-26
WO2003009480A2 (en) 2003-01-30

Similar Documents

Publication Publication Date Title
JP3604955B2 (ja) 畳込み復号装置
US4583078A (en) Serial Viterbi decoder
US5457705A (en) Method of and system for data transmission employing trellis coded modulation
KR100437697B1 (ko) 다수준 격자부호변조방식의 복호 방법 및 장치
EP2011239A2 (en) Radix-4 viterbi decoding
KR100346529B1 (ko) 디지탈신호프로세서
JPH0722967A (ja) ビタビ復号器の経路記憶装置
US5594742A (en) Bidirectional trellis coding
KR20020048975A (ko) 비터비 디코더 용 고속 acs 유닛
US8009773B1 (en) Low complexity implementation of a Viterbi decoder with near optimal performance
WO2005011129A1 (ja) ビタビ復号器
JP3699344B2 (ja) 復号器
KR20020030169A (ko) 터보 디코딩 방법
KR101212856B1 (ko) 통신 시스템에서 데이터를 복호하는 방법 및 장치
US7035356B1 (en) Efficient method for traceback decoding of trellis (Viterbi) codes
KR100340222B1 (ko) 다수준 격자부호변조방식의 복호화방법 및 장치
WO2006073697A2 (en) Parallel decoder for ultrawide bandwidth receiver
US20050138535A1 (en) Method and system for branch metric calculation in a viterbi decoder
JP2000224054A (ja) ビタビデコ―ディングの速度を増大させる方法と装置
KR20000049852A (ko) 비터비복호기
Schuh et al. Punctured trellis-coded modulation
Chandel et al. Viterbi decoder plain sailing design for TCM decoders
Schuh et al. Punctured vs. multidimensional TCM—A comparison wrt complexity
JP2012182559A (ja) 復号装置
KR100333336B1 (ko) 비터비 복호기의 역추적 방법

Legal Events

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

Payment date: 20080530

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee