KR100737648B1 - 비터비 복호장치 및 비터비 복호방법 - Google Patents
비터비 복호장치 및 비터비 복호방법 Download PDFInfo
- Publication number
- KR100737648B1 KR100737648B1 KR1020000057591A KR20000057591A KR100737648B1 KR 100737648 B1 KR100737648 B1 KR 100737648B1 KR 1020000057591 A KR1020000057591 A KR 1020000057591A KR 20000057591 A KR20000057591 A KR 20000057591A KR 100737648 B1 KR100737648 B1 KR 100737648B1
- Authority
- KR
- South Korea
- Prior art keywords
- subset
- node
- selection signal
- path
- bits
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/25—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
- H03M13/4161—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
- H03M13/4169—Sequence 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
- H03M13/6505—Memory efficient implementations
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
트렐리스 부호화(trellis coding) 변조된 신호를 복호하기 위한 비터비 복호로서 패스메모리를 통상의 RAM으로 구성 가능하게 하여 회로 규모 및 소비전력을 삭감한다.
트레이스 백부(107)는 트레이스 백 메모리(106)에 기억된 패스 선택신호(PS0~PS7)를 소정 길이만큼 트레이스 백시킨다. 서브 셋 번호 생성부(108)는 트레이스 백에 의하여 얻어진 최우패스(maximum likelihood path)가 통과하는 노드번호(ND1)를 이용하여, 트렐리스선 도에 따라 당해 노드로의 천이에 관한 부호화 비트(CB) 및 서브 셋 번호(SSNO)를 출력한다. 선택회로(109)는 서브 셋 번호(SSNO)에 따라, 당해 노드로의 천이에 관한 비 부호화 비트(NCB)를 선택 출력한다.
Description
도 1은 본 발명의 실시예에 관한 비터비 복호장치의 구성을 나타내는 블록도.
도 2는 도 1의 구성에서의 트레이스 백 회로 및 서브 셋 번호 생성회로의 구성예를 나타내는 도면.
도 3은 도 2의 서브 셋 번호 생성회로에 저장된 테이블 데이터의 예로서, 도 11의 트렐리스 부호화기를 전제로 한 것을 나타내는 도면.
도 4는 트레이스 백 회로 및 서브 셋 번호 생성회로의 동작을 나타내는 흐름도.
도 5는 도 1 구성에서의 트레이스 백 회로 및 서브 셋 번호 생성회로 구성의 다른 예를 나타내는 도면.
도 6은 도 5에서의 연산기 구성예로서, 도 11의 트렐리스 부호화기를 전제로 한 것을 나타내는 도면.
도 7은 트렐리스 부호화기의 일례.
도 8은 도 7의 트렐리스 부호화기에 관한 트렐리스선(線) 도.
도 9는 도 2의 서브 셋 번호 생성회로에 저장된 테이블 데이터의 다른 예로 서, 도 7의 트렐리스 부호화기를 전제로 한 것을 나타내는 도면.
도 10은 도 5에서의 연산회로의 구성예로서, 도 7의 트렐리스 부호화기를 전제로 한 것을 나타내는 도면.
도 11은 트렐리스 부호화기의 일례.
도 12는 도 11의 트렐리스 부호화기에 관한 트렐리스선 도.
도 13은 종래의 비터비 복호장치 구성을 나타내는 블록도.
도 14는 ACS회로를 구성하는 기초 단위를 나타내는 도면.
도 15는 종래 패스 메모리회로의 구성을 나타내는 도면.
* 도면의 주요 부분에 대한 부호의 설명 *
100 : 서브 셋 선택회로(서브 셋 선택부)
103 : 지연기 104 : ACS회로(ACS부)
105 : 최우패스 판정회로(최우패스 판정부)
106 : 트레이스 백 메모리
107, 107A : 트레이스 백 회로(트레이스 백부)
108, 108A : 서브 셋 번호 생성회로(서브 셋 번호 생성부)
109 : 선택회로(선택부) 206 : ROM
300 : 연산기 Ich, Qch : 수신신호
BM0~BM7 : 분기메트릭 SSEL0~SSEL7 : 서브 셋 선택신호
PM0~PM7 : 패스메트릭 PS0~PS7, PS0'~PS7' : 패스 선택신호
ND1 : 제 1 노드번호 ND2 : 제 2 노드번호
PSS : 제 1 노드에 대응하는 패스 선택신호
SSNO : 서브 셋 번호 CB : 부호화 비트
NCB : 비 부호화 비트
본 발명은 트렐리스 부호화 변조된 신호를 복호하기 위한 비터비 복호에 관한 기술에 속한다.
트렐리스 부호화 변조된 신호를 복호하기 위한 종래의 구성으로서, 도 13에 도시한 바와 같은 비터비 복호장치가 제안되었다(일특개평 5-335972호 공보 참조).
도 11은 이 종래예가 대상으로 하는 트렐리스 부호화기를 나타내며, 도 12는 도 11의 트렐리스 부호화기에 관한 트렐리스선 도이다. 도 11은 비 부호화 비트 1비트를 포함하는 부호화율 3/4의 트렐리스 부호화기이며, 구속 길이는 4이다. 이를 위해 부호화기에는 2(4-1)=8 상태가 존재하며, 각 상태는 부호화기의 레지스터(D2, D1, D0)의 값 {D2, D1, D0}에 의하여, 각각 {000}, {001}, {010}, {011}, {100}, {101}, {110}, {111}로 표시된다. 또 부호화기의 출력 {y2, y1, y0}의 값에 의하여 이른바 서브 셋이 결정되고, 이 비트열을 그대로 2진수 표기로 한 값을 서브 셋 번호로 한다. 예를 들어 {y2, y1, y0}={1, 0, 1}일 때, 서브 셋 번호는 "5"가 되고, 이 서브 셋을 "서브 셋 s5"로 나타낸다. 여기서, 종래예에서는 서브 셋 s0~s7을 부분집합 A~H로 나타낸다.
도 13의 비터비 복호장치 동작을 설명하기로 한다.
분기메트릭 (branch metric) 발생기(601)는 수신신호와 각 송신심벌간의 유클리드 거리를 구하고, 이를 분기메트릭 (BMs)(s는 서브 셋 번호에서 0~7의 값)으로서 출력한다. 1개의 서브 셋에는 2개의 송신심벌 후보가 포함되므로, 송신심벌의 비 부호화 비트"0"에 대응하는 분기메트릭을 BMs0, "1"에 대응하는 분기메트릭을 BMs1로 한다.
부분집합 최우값(最尤値) 판정기(602)는, 서브 셋 내 2개의 송신심벌 후보 중 유클리드 거리가 작은 쪽의 분기메트릭을, 당해 서브 셋에 대한 분기메트릭 (BMs)으로서 선택 출력한다.
비 부호화 비트 판별기(603)는 부분집합 최우값 판정기(602)에서 출력된 선택정보로부터, 선택된 송신심벌 후보의 비 부호화 비트를 추출하여 출력한다. 출력된 비 부호화 비트는 j단 시프트 레지스터(604)에 의하여 패스메모리 회로(607)에서의 지연단수에 상당하는 j단만큼 지연된다.
ACS회로(605)는, 도 12에 도시하는 트렐리스선 도에 있어서, 시각(t) 각 상태에 대하여, 이것으로 천이하는 시각(t-1)에서 각 상태의 생존 패스의 패스메트릭에, 부분집합 최우값 판정기(602)로부터 출력된 분기메트릭을 가산하고 가산값 중에서 가장 우도가 높은 값을 생존 패스의 패스메트릭(PM0~PM7)으로서 선택한다. 동시에, 선택한 정보를 선택신호(PS0~PS7)로서 출력한다.
도 14는 ACS회로를 구성하는 기초단위를 나타내는 도면이다. 도 14에서는 설명을 간략하게 하기 위하여 상태번호(i)에 대응하는 기초단위를 도시한다. 이 종래예의 경우, 상태 수는 8개이므로, ACS회로(605)에는 도 14에 도시하는 기초단위가 8조 병렬로 배치된다.
가산기(700a~700d)에는 각각, 도 12의 트렐리스선 도에 따라, 패스메트릭(PMa~PMd)과 분기메트릭(BMa~BMd)이 입력되고, 각각의 가산결과가 비교기(701)에 입력된다. 비교기(701)는 가산결과(a~d)를 비교하여 가장 우도가 높은 값을 선택하고, 선택결과에 대응하는 선택신호(PSi)를 출력한다. 구체적으로는, 가산결과(a)를 선택했을 때는 0을 출력하고, 마찬가지로 가산결과(b, c, d)를 선택했을 때는 각각 1, 2, 3을 출력한다. 선택기(702)는 각 가산결과(a~d)를 입력으로 하고, 선택신호(PSi)에 따라 이에 대응하는 가산결과를 상태(i)에 대한 새로운 패스메트릭(PMi)으로서 레지스터(703)로 출력한다.
기초단위에 입력되는 {(PMa, BMa), (PMb, BMb), (PMc, BMc), (PMd, BMd)}의 입력순서는, 종래예에서는 각 상태별로 다음과 같이 설정된다. 즉,
<상태 0>
{(PM0, BM0), (PM2, BM4), (PM4, BM2), (PM6, BM6)}
<상태 1>
{(PM0, BM4), (PM2, BM0), (PM4, BM6), (PM6, BM2)}
<상태 2>
{(PM0, BM2), (PM2, BM6), (PM4, BM0), (PM6, BM4)}
<상태 3>
{(PM0, BM6), (PM2, BM2), (PM4, BM4), (PM6, BM0)}
<상태 4>
{(PM1, BM1), (PM3, BM5), (PM5, BM3), (PM7, BM7)}
<상태 5>
{(PM1, BM5), (PM3, BM1), (PM5, BM7), (PM7, BM3)}
<상태 6>
{(PM1, BM3), (PM3, BM7), (PM5, BM1), (PM7, BM5)}
<상태 7>
{(PM1, BM7), (PM3, BM3), (PM5, BM5), (PM7, BM1)}
ACS회로(605)로부터 출력된 패스 선택신호(PS0~PS7)는 패스 메모리(607)에 입력된다. 도 15는 패스 메모리(607)의 구성을 나타낸다. 여기서의 패스 메모리(607)는, 기본적으로는 트렐리스선 도에서의 각 노드로의 천이를 구현시킨 구성으로 이루어진다. 각 노드에 대응하는 위치에 배치된 레지스터에는, 그 앞단의 레지스터로부터의 출력 중 패스 선택신호(PS0~PS7)에 따라 선택된 것이 저장된다.
먼저, 제 1단에서는, 서브 셋 번호 그대로를 패스 선택신호(PSi)에 의하여 선택하므로, 도 12의 트렐리스선 도에서의 각 분기에서의 서브 셋 번호가 선택수단(800)으로 입력된다. 예를 들어 상태(0)에 대하여 패스 선택신호(PS0)가 0일 때는 (PM0+BM0)가 선택된 것이므로, 선택수단(800)은 서브 셋 번호 '0'을 출력하여 레지스터(801)에 저장한다. 마찬가지로 패스 선택신호(PS0)의 값이 1, 2, 3일 때는, 선택수단(800)은 서브 셋 번호로서 각각 '4', '2', '6'을 출력한다. 상 태(1~7)에 대해서도 마찬가지로, 선택수단(800)은 패스 선택신호(PS1~PS7)의 값에 대응하는 서브 셋 번호(x)를 출력하여 레지스터(801)에 저장한다.
제 2단에서는 제 1단에서의 노드번호에 대응하는 레지스터에 저장된 값을 선택한다. 예를 들어 상태(0)에 대하여 패스 선택신호(PS0)가 0일 때는 (PM0+BM0)이 선택된 것이므로, 선택수단(802)은 제 1단의 상태(0)에 대응하는 레지스터의 내용을 출력하여 레지스터(803)에 저장한다. 마찬가지로 패스 선택신호(PS0)의 값이 1, 2, 3일 때, 선택수단(802)은 제 1단의 레지스터(4, 2, 6)의 내용을 각각 출력한다. 상태(1~7)에 대해서도 마찬가지로, 선택수단(802)은 패스 선택신호(PS1~PS7)의 값에 따른 상태 번호(x)에 대응하는 제 1단의 레지스터(x)의 내용을 출력하여 레지스터(803)에 저장한다.
제 3단 이하는 제 2단과 동일한 구성이 제 j단까지 반복된다. 이와 같은 구성에 의하여, 제 1단부터 제 j단까지 j클록간에서 값이 시프트되어 감으로써 제 j단의 레지스터(n)에 저장되는 값은 상태(n)에서의 생존 패스가 j시점 과거에 통과한 상태에서의 서브 셋 번호가 된다. 최종 제 j단 레지스터의 출력은 선택기(608)에 입력된다.
최우패스 판정회로(606)는 ACS회로(605)의 각 기초단위에서의 레지스터(703) 출력(PM0~PM7)을 입력으로 하여 그 중에서 가장 우도가 높은 상태를 검출한다. 그리고 그 상태번호와, 대응하는 레지스터 출력을 출력한다. 이 레지스터 출력값은, 최우패스를 j단 거슬러 올라간 시각에서의 서브 셋 번호이다. 도 11의 부호화기의 경우, 서브 셋 번호의 상위 2비트는 그대로 입력정보의 부호화 비트로 되므로, 선 택기(608)로부터 출력된 서브 셋 번호의 상위 2비트가, 복호된 부호화 비트(x2, x1)로 된다. 또 선택기(608)로부터 출력된 복호 서브 셋 번호에 의하여, 선택기(609)는 j단 지연된 각 서브 셋 번호에 대한 비 부호화 비트(x3)를 선택한다. 이 비 부호화 비트(x3)가 부호화 비트(x2, x1)와 함께, 비터비 복호장치의 복호결과로서 출력된다.
그러나 종래의 구성으로는 다음과 같은 문제가 있다.
우선 종래에서는 도 15에 도시한 바와 같이 패스 메모리로서, 선택기와 레지스터의 조합으로 구성되는 트렐리스선 도 그 자체를 나타내는 구성이 채용되었다. 때문에 절단길이(상술한 예에서는 j단)가 증대하거나 부호화기의 상태 수가 증대하는 경우에는, 패스 메모리의 회로 규모가 매우 증대한다. 그 때문에 장치 전체의 회로면적의 증대나 소비전력의 증대가 현저하게 된다.
또 도 15에 도시한 바와 같은 패스 메모리에서는, 각 선택기로의 결선이 부호화기에 따라 고유의 것이 된다. 이로써 다른 부호화기에 대응 가능한 범용한 복호기를 구성하기가 매우 어렵다.
그리고 종래, 패스 메모리는 서브 셋 번호 그 자체를 저장하는 구성으로 되어 있다. 이 경우 예를 들어 부호의 비트 수를 3에서 4 또는 5라는 식으로 크게 하여 트렐리스 부호화기의 부호화율을 작게 했을 때는, 서브 셋 번호의 비트 수가 늘기 때문에 패스 메모리에 기억시키는 비트 수가 증대해 버린다. 이것도 역시 장치 전체의 회로면적의 증대를 초래하는 결과가 된다.
상기 문제에 감안하여 본 발명은, 트렐리스 부호화 변조된 신호를 복호하기 위한 비터비 복호로서, 패스 메모리를 통상 RAM으로 구성 가능하게 하고 회로규모 및 소비전력을 삭감하는 것을 과제로 한다.
상기 과제를 해결하기 위하여 본 발명이 강구한 제 1 해결수단은, 트렐리스 부호화 변조(trellis-coded modulated)된 신호를 복호하기 위한 비터비 복호장치로, 수신신호를 입력으로 하여, 각 서브 셋별로, 수신심벌 점(reception symbol point)과 가장 우도(likelihood)가 높은 송신심벌을 선택하고, 선택한 송신심벌에 대응하는 분기 메트릭(branch metric)과 선택한 송신심벌을 특정하기 위한 서브 셋 선택신호를 출력하는 서브 셋 선택부와, 상기 서브 셋 선택신호를 소정 시간 지연시키는 지연기와, 상기 분기 메트릭을 입력으로 하여, 트렐리스 선도(trellis diagram)에 따라서 패스 메트릭(path metric)을 연산하여, 가장 우도가 높은 패스(path)를 선택하는 패스 선택신호를 출력하는 ACS(Add Compare Select)부와, 상기 패스 선택신호를 기억하는 트레이스 백 메모리(trace-back memory)와, 상기 트레이스 백 메모리에 기억된 패스 선택신호를, 개시 노드 번호를 기점으로 하여 소정의 트레이스 백 길이(trace-back length) 만큼 트레이스 백 하는 트레이스 백부(trace-back section)와, 상기 트레이스 백부에 의하여 얻어진 최우 패스(most likely path)가 통과하는 제 1 노드의 번호를 이용하여, 트렐리스 선도에 따라서, 당해 제 1 노드로의 천이에 관한 부호화 비트 및 서브 셋 번호를 출력하는 서브 셋 번호 생성부와, 상기 서브 셋 번호와 상기 지연기로부터 출력된 서브 셋 선택신호를 입력으로 하여, 상기 제 1 노드로의 천이에 관한 비 부호화 비트를 출력하는 선택부를 구비하고, 상기 서브 셋 번호 생성부로부터 출력된 부호화 비트와 상기 선택부로부터 출력된 비 부호화 비트를 합쳐서 복호신호로서 생성하는 것이며, 상기 서브 셋 번호 생성부는, 상기 제 1 노드 번호와 이 제 1 노드의 1 시점 과거에 최우 패스가 통과한 제 2 노드 번호를 이용하여 상기 부호화 비트 및 서브 셋 번호를 생성하는 것이다.
삭제
삭제
또한 본 발명에서 상기 비터비 복호장치의 서브 셋 번호 생성부는, 상기 제 1 및 제 2 노드번호와, 상기 부호화 비트 및 서브 셋 번호의 관계를 나타내는 테이블 데이터를 갖는 것으로 한다.
삭제
본 발명이 강구한 제 2 해결수단은, 트렐리스 부호화 변조된 신호를 복호하기 위한 비터비 복호장치로, 수신신호를 입력으로 하여, 각 서브 셋별로, 수신심벌 점과 가장 우도가 높은 송신심벌을 선택하고, 선택한 송신심벌에 대응하는 분기 메트릭과 선택한 송신심벌을 특정하기 위한 서브 셋 선택신호를 출력하는 서브 셋 선택부와, 상기 서브 셋 선택신호를 소정 시간 지연시키는 지연기와, 상기 분기 메트릭을 입력으로 하여, 트렐리스 선도에 따라서 패스 메트릭을 연산하여 가장 우도가 높은 패스를 선택하는 패스 선택신호를 출력하는 ACS(Add Compare Select)부와, 상기 패스 선택신호를 기억하는 트레이스 백 메모리와, 상기 트레이스 백 메모리에 기억된 패스 선택신호를, 개시 노드 번호를 기점으로 하여 소정의 트레이스 백 길이 만큼 트레이스 백 하는 트레이스 백부와, 상기 트레이스 백부에 의하여 얻어진 최우 패스가 통과하는 제 1 노드의 번호를 이용하여, 트렐리스 선도에 따라서, 당해 제 1 노드로의 천이에 관한 부호화 비트 및 서브 셋 번호를 출력하는 서브 셋 번호 생성부와, 상기 서브 셋 번호와 상기 지연기로부터 출력된 서브 셋 선택신호를 입력으로 하여, 상기 제 1 노드로의 천이에 관한 비 부호화 비트를 출력하는 선택부를 구비하고, 상기 서브 셋 번호 생성부로부터 출력된 부호화 비트와 상기 선택부로부터 출력된 비 부호화 비트를 합쳐서 복호신호로서 생성하는 것이며, 상기 서브 셋 번호 생성부는, 상기 제 1 노드 번호와 이 제 1 노드에 대응하는 패스 선택신호를 이용하여 상기 부호화 비트 및 서브 셋 번호를 생성하는 것으로 한다.
또 본 발명에서 상기 비터비 복호장치의 서브 셋 번호 생성부는, 상기 제 1 노드 번호 및 패스 선택신호와, 상기 부호화 비트 및 서브 셋 번호와의 관계를 나타내는 테이블 데이터를 갖는 것으로 한다.
삭제
또 본 발명에서 상기 비터비 복호장치의 서브 셋 번호 생성부는, 부호화기의 생성 다항식에 기초하는 연산을 실행하는 연산기로 구성되는 것으로 한다.
삭제
본 발명이 강구한 제 3 해결수단은, 트렐리스 부호화 변조된 신호를 복호하기 위한 비터비 복호방법으로, 수신신호를 기초로, 각 서브 셋별로, 수신심벌 점과 가장 우도가 높은 송신심벌을 선택하고, 선택한 송신심벌에 대응하는 분기 메트릭과 선택한 송신심벌을 특정하기 위한 서브 셋 선택신호를 생성하는 단계와, 상기 서브 셋 선택신호를 소정 시간 지연시키는 단계와, 상기 분기 메트릭을 입력으로 하고, 트렐리스 선도에 따라서 패스 메트릭을 연산하여, 가장 우도가 높은 패스를 선택하는 패스 선택신호를 출력하는 ACS(Add Compare Select) 단계와, 상기 패스 선택신호를 트레이스 백 메모리에 기억시키는 단계와, 상기 트레이스 백 메모리에 기억된 패스 선택신호를, 개시 노드 번호를 기점으로 하여, 소정의 트레이스 백 길이 만큼 트레이스 백 하는 단계와, 상기 트레이스 백에 의하여 얻어진 최우 패스가 통과하는 제 1 노드의 번호를 이용하여, 트렐리스 선도에 따라서, 당해 제 1 노드로의 천이에 관한 부호화 비트 및 서브 셋 번호를 생성하는 단계와, 상기 서브 셋 번호와 상기 지연된 서브 셋 선택신호에 기초하여, 상기 제 1 노드로의 천이에 관한 비 부호화 비트를 선택하는 단계를 구비하며, 상기 부호화 비트와 상기 비 부호화 비트를 합쳐서 복호신호로서 생성하는 것이고, 상기 부호화 비트 및 서브 셋 번호의 생성을, 상기 제 1 노드의 번호와 이 제 1 노드의 1 시점 과거에 최우 패스가 통과한 제 2 노드의 번호를 이용하여 행하는 것으로 한다.
또, 본 발명이 강구한 제 4 해결수단은, 트렐리스 부호화 변조된 신호를 복호하기 위한 비터비 복호방법으로, 수신신호를 기초로, 각 서브 셋별로, 수신심벌 점과 가장 우도가 높은 송신심벌을 선택하고, 선택한 송신심벌에 대응하는 분기 메트릭과 선택한 송신심벌을 특정하기 위한 서브 셋 선택신호를 생성하는 단계와, 상기 서브 셋 선택신호를 소정 시간 지연시키는 단계와, 상기 분기 메트릭을 입력으로 하고, 트렐리스 선도에 따라서 패스 메트릭을 연산하여, 가장 우도가 높은 패스를 선택하는 패스 선택신호를 출력하는 ACS(Add Compare Select) 단계와, 상기 패스 선택신호를 트레이스 백 메모리에 기억시키는 단계와, 상기 트레이스 백 메모리에 기억된 패스 선택신호를, 개시 노드 번호를 기점으로 하여, 소정의 트레이스 백 길이 만큼 트레이스 백 하는 단계와, 상기 트레이스 백에 의하여 얻어진 최우 패스가 통과하는 제 1 노드의 번호를 이용하여, 트렐리스 선도에 따라서, 당해 제 1 노드로의 천이에 관한 부호화 비트 및 서브 셋 번호를 생성하는 단계와, 상기 서브 셋 번호와 상기 지연된 서브 셋 선택신호에 기초하여, 상기 제 1 노드로의 천이에 관한 비 부호화 비트를 선택하는 단계를 구비하며, 상기 부호화 비트와 상기 비 부호화 비트를 합쳐서 복호신호로서 생성하는 것이고, 상기 부호화 비트 및 서브 셋 번호의 생성을, 상기 제 1 노드의 번호와 이 제 1 노드에 대응하는 패스 선택신호를 이용하여 행하는 것으로 한다.
또, 본 발명이 강구한 제 4 해결수단은, 트렐리스 부호화 변조된 신호를 복호하기 위한 비터비 복호방법으로, 수신신호를 기초로, 각 서브 셋별로, 수신심벌 점과 가장 우도가 높은 송신심벌을 선택하고, 선택한 송신심벌에 대응하는 분기 메트릭과 선택한 송신심벌을 특정하기 위한 서브 셋 선택신호를 생성하는 단계와, 상기 서브 셋 선택신호를 소정 시간 지연시키는 단계와, 상기 분기 메트릭을 입력으로 하고, 트렐리스 선도에 따라서 패스 메트릭을 연산하여, 가장 우도가 높은 패스를 선택하는 패스 선택신호를 출력하는 ACS(Add Compare Select) 단계와, 상기 패스 선택신호를 트레이스 백 메모리에 기억시키는 단계와, 상기 트레이스 백 메모리에 기억된 패스 선택신호를, 개시 노드 번호를 기점으로 하여, 소정의 트레이스 백 길이 만큼 트레이스 백 하는 단계와, 상기 트레이스 백에 의하여 얻어진 최우 패스가 통과하는 제 1 노드의 번호를 이용하여, 트렐리스 선도에 따라서, 당해 제 1 노드로의 천이에 관한 부호화 비트 및 서브 셋 번호를 생성하는 단계와, 상기 서브 셋 번호와 상기 지연된 서브 셋 선택신호에 기초하여, 상기 제 1 노드로의 천이에 관한 비 부호화 비트를 선택하는 단계를 구비하며, 상기 부호화 비트와 상기 비 부호화 비트를 합쳐서 복호신호로서 생성하는 것이고, 상기 부호화 비트 및 서브 셋 번호의 생성을, 상기 제 1 노드의 번호와 이 제 1 노드에 대응하는 패스 선택신호를 이용하여 행하는 것으로 한다.
상술한 목적 및 기타의 목적과 본 발명의 특징 및 이점은 첨부 도면과 관련한 다음의 상세한 설명을 통해 보다 분명해 질 것이다.
(실시예)
이하 본 발명의 실시예에 대하여 도면을 참조하여 설명하기로 한다.
도 1은 본 발명의 실시예에 관한 비터비 복호장치의 구성을 도시한 블록도이다. 도 1의 비터비 복호장치는 트렐리스 부호화 변조된 신호를 복호하기 위한 것이다. 여기서는 설명을 간략하게 하기 위하여 도 11에 도시한 트렐리스 부호화기에 의하여 트렐리스 부호화 변조된 신호를 대상으로 한다. 즉 비 부호화 비트의 비트 수(k(=1)), 부호화율(m/n(=3/4))의 트렐리스 부호화기를 전제로 한다. 또 수신신호로서의 I채널 데이터(Ich) 및 Q채널 데이터(Qch)는 직교동기 검파된 2계열의 복조신호 각각의 진폭값을 양자화 한 것이다.
도 1에 있어서, 100은 서브 셋 선택회로이며, 분기메트릭 발생회로(101) 및 서브 셋 판정회로(102)를 구비한다. 서브 셋 선택회로(100)는 I채널 데이터(Ich) 및 Q채널 데이터(Qch)를 수취하여 2(n-k)(=2(4-1)=8) 종류의 서브 셋 별로 수신심벌점과 가장 우도가 높은 송신심벌을 선택하고, 선택한 송신심벌에 대응하는 분기메트릭(BM0~BM7)과, 선택한 송신심벌을 특정하기 위한 서브 셋 선택신호(SSEL0~SSEL7)를 출력한다.
103은 서브 셋 선택회로(100)로부터 출력된 서브 셋 선택신호(SSEL0~SSEL7) 를 소정 시간만큼 지연시키는 지연기, 104는 서브 셋 선택회로(100)로부터 출력된 분기메트릭(BM0~BM7)을 입력으로 하여 도 12에 도시한 트렐리스선 도를 따라 패스메트릭(PM0~PM7)을 연산하고, 우도가 높은 패스를 선택하는 패스 선택신호(PS0~PS7)를 출력하는 ACS회로, 106은 ACS회로(104)의 출력인 패스 선택신호(PS0~PS7)를 기억하는 트레이스 백 메모리이다. 트레이스 백 메모리(106)는 예를 들어 통상 RAM으로 구성된다.
107은 트레이스 백 메모리(106)에 기억된 패스 선택신호(PS0'~PS7')를, 개시 노드번호를 기점으로 하여 소정의 트레이스 백 길이만큼 트레이스 백시키는 트레이스 백 회로, 108은 트레이스 백 회로(107)에 의하여 얻어진 최우패스가 통과하는 제 1 노드번호(ND1)를 이용하여, 도 12에 도시한 트렐리스선 도에 따라 이 제 1 노드로의 천이에 관한 부호화 비트(CB{x1, x2}) 및 서브 셋 번호(SSNO)를 생성하는 서브 셋 번호 생성회로이다. 또 선택회로(109)는 서브 셋 번호 생성회로(108)로부터 출력된 서브 셋 번호(SSNO)와, 각 지연기(103)에 의하여 지연된 서브 셋 선택신호(SSEL0~SSEL7)로부터, 제 1 노드로의 천이에 관한 비 부호화 비트(NCB{x3})를 출력한다.
또한 최우패스 판정회로(105)는 ACS회로(104)에 의하여 연산된 패스메트릭(PM0~PM7)을 입력으로 하여, 이 패스메트릭(PM0~PM7)에서 가장 우도가 높은 패스를 검출하고 그 패스가 통과하는 노드번호(MND)를 출력한다. 트레이스 백 회로(107)는 최우패스 판정회로(105)로부터 출력된 노드번호(MND)를 기초로 하여 트레이스 백을 위한 개시 노드번호를 구한다.
이상과 같이 구성된 비터비 복호장치의 동작을 설명한다.
우선 서브 셋 선택회로(100)에 있어서, 분기메트릭 발생회로(101)는 종래예와 마찬가지로, 수신신호로부터 각 분기의 분기메트릭(BMs0, BMs1)을 생성한다(s는 서브 셋 번호로서 0에서 7까지의 정수). 여기서는 수신신호와 각 송신심벌 사이의 유클리드 거리를 분기메트릭으로서 이용하는 것으로 한다. 그리고 서브 셋 판정회로(102)는 각 서브 셋의 분기메트릭(BMs0, BMs1)을 비교하여 우도가 더 높은 쪽을 선택한다. 그리고 선택한 분기메트릭(BM0~BM7)을 ACS회로(104)로 출력함과 동시에 선택한 분기메트릭에 대응하는 서브 셋 선택신호(SSEL0~SSEL7)를 각 지연기(103)로 각각 출력한다.
여기서 서브 셋 선택회로(100)는 서브 셋 선택신호(SSEL0~SSEL7)를, 선택한 송신심벌에 대응하는 비 부호화 비트와 일치하도록 생성하는 것으로 한다. 이로써 서브 셋 선택신호(SSEL0~SSEL7)를 아무런 처리도 실시하지 않고 그대로 비 부호화 비트로서 이용할 수 있으므로 선택회로(109)의 구성이 간단해진다. 여기서는 각 서브 셋(s)에 대하여, 비 부호화 비트 '0'에 대한 분기메트릭을 BMs0, 비 부호화 비트 '1'에 대한 분기메트릭을 BMs1로 하므로, 서브 셋 선택신호(SSELs)로서 분기메트릭(BMs0)을 선택했을 때는 '0'을, 분기메트릭(BMs1)을 선택했을 때는 '1'을 부여하는 것으로 한다.
서브 셋 판정회로(102)로부터 출력된 서브 셋 선택신호(SSELs)는 지연기(103)에 의하여 소정 시간 지연된 후, 선택회로(109)로 출력된다. 지연기(103)에서의 지연시간은, ACS회로(104)에 분기메트릭(BM0~BM7)이 부여되고 나서 서브 셋 번호 생성회로(108)에 의하여 서브 셋 번호(SSNO)가 생성되기까지의 처리에 필요한 시간에 상당하는 것으로 한다.
ACS회로(104)는 서브 셋 판정회로(102)로부터 출력된 분기메트릭(BMs)을 이용하여 각 노드에 도달하는 패스를 선택하고, 그 패스 선택신호(PS0~PS7) 및 패스메트릭(PM0~PM7)을 갱신해 간다. ACS회로(104)의 내부 구성은 종래예와 거의 마찬가지이지만, 본 실시예에서는 도 14에 도시한 바와 같은 기초단위로 입력되는 {(PMa, BMa), (PMb, BMb), (PMc, BMc), (PMd, BMd)}의 입력순서를 종래예와 다른 순서로 한다. 구체적으로는 다음과 같이 설정한다.
<상태 0>
{(PM0, BM0), (PM4, BM2), (PM2, BM4), (PM6, BM6)}
<상태 1>
{(PM2, BM0), (PM6, BM2), (PM0, BM4), (PM4, BM6)}
<상태 2>
{(PM4, BM0), (PM0, BM2), (PM6, BM4), (PM2, BM6)}
<상태 3>
{(PM6, BM0), (PM2, BM2), (PM4, BM4), (PM0, BM6)}
<상태 4>
{(PM1, BM1), (PM5, BM3), (PM3, BM5), (PM7, BM7)}
<상태 5>
{(PM3, BM1), (PM7, BM3), (PM1, BM5), (PM5, BM7)}
<상태 6>
{(PM5, BM1), (PM1, BM3), (PM7, BM5), (PM3, BM7)}
<상태 7>
{(PM7, BM1), (PM3, BM3), (PM5, BM5), (PM1, BM7)}
즉 본 실시예에서는 각 패스 선택신호가, 선택한 패스의 천이 바꾸어 말하면 당해 패스 선택신호에 대응하는 노드로의 천이에 관한 부호화 비트 {x2, x1}과 일치하도록 ACS연산을 실행한다.
예를 들어 상태0의 경우, 기초단위로의 입력순서를 상술한 바와 같이 {(PM0, BM0), (PM4, BM2), (PM2, BM4), (PM6, BM6)}으로 한다. 이 때 기초단위가 (PMc, BMc)(=(PM2, BM4))를 선택했다고 하면, 패스 선택신호(PS0)는 '10'으로 된다. 이는 도 12에 도시한 트렐리스선 도에서 알 수 있는 바와 같이 노드번호 2({010})부터 노드번호 0({000})으로의 천이에 관한 부호화 비트 {x2, x1}={1, 0}과 같다. 또는 상태 4의 경우, 기초단위로의 입력순서를 상술한 바와 같이 {(PM1, BM1), (PM5, BM3), (PM3, BM5), (PM7, BM7)}로 한다. 이 때 기초단위가 (PMb, BMb)(=(PM5, BM3))를 선택했다고 하면, 패스 선택신호(PS4)는 '01'로 된다. 이는 노드번호 5({101})부터 노드번호 4({100})로의 천이에 관한 부호화 비트 {x2, x1}={0, 1}과 같다.
ACS회로(104)로부터 출력된 패스 선택신호(PS0~PS7)는 트레이스 백 메모리(106)에 저장된다.
도 2는 트레이스 백 회로(107) 및 서브 셋 번호 생성회로(108) 구성의 일례 를 도시한 도면이다. 도 2의 구성예에서, 서브 셋 번호 생성회로(108)는, 트레이스 백 회로(107)로부터 출력된 최우패스가 통과하는 제 1 노드번호(ND1)와, 이 제 1 노드의 1시점 과거에 최우패스가 통과한 제 2 노드번호(ND2)를 이용하여, 부호화 비트(CB) {x1, x2}와 서브 셋 번호(SSNO)를 생성한다. 이를 위하여 서브 셋 번호 생성회로(108)는 ROM(206)을 가지며, ROM(206)는 도 3에 도시한 바와 같은 제 1 및 제 2 노드번호(ND1, ND2)와, 부호화 비트(CB) {x1, x2} 및 서브 셋 번호(SSNO)와의 관계를 나타내는 테이블 데이터를 갖는다. 도 3에 도시하는 테이블 데이터는 도 12에 도시한 트렐리스선 도에서 쉽게 생성할 수 있다.
도 4는 트레이스 백 회로(107) 및 서브 셋 번호 생성회로(108)의 동작을 나타내는 흐름도이다. 우선, 최우패스 판정회로(105)로부터 출력된 최우패스의 노드번호(MND)가 개시 노드번호 생성회로(201)로 입력된다. 개시 노드번호 생성회로(201)는 노드번호(MND)를 기초로 트레이스 백을 개시하는 최초의 노드번호 즉 개시 노드번호를 결정하고, 제 2 선택회로(202)에 입력한다(S2). 제 2 선택회로(202)는 트레이스 백의 개시 시는 개시 노드번호 생성회로(201)의 출력을 선택하여 제 1 선택회로(203) 및 노드번호 연산회로(204)로 입력한다.
제 1 선택회로(203)는 트레이스 백 메모리(106)로부터 출력된 패스 선택신호(PS0'~PS7') 중에서, 제 2 선택회로(202)로부터 출력된 노드번호에 대응하는 패스 선택신호를 선택하여 노드번호 연산회로(204)로 출력한다(S3). 노드번호 연산회로(204)는 제 2 선택회로(202)로부터 출력된 현재의 노드번호와, 이에 대응하는 제 1 선택회로(203)로부터 출력된 패스 선택신호를 기초로 하여 1시점 과거의 노드번호를 연산한다(S4).
구체적으로는, 패스 선택신호는 그 천이에 관한 입력 부호화 비트 {x2, x1}과 일치하도록 생성되므로, 도 11에 도시하는 부호화기의 경우, 현재의 노드번호를 {D2, D1, D0}로 하면, 1시점 과거의 노드번호 {D2', D1', D0'}은 다음 수학식 1과 같이 된다. 여기서 ^는 배타적 논리합을 나타낸다. 이 1시점 과거의 노드번호 {D2', D1', D0'}이 노드번호 기억회로(205)에 새롭게 저장된다(S6).
마찬가지 처리를, 트레이스 회수가 소정의 트레이스 백 길이(L)에 도달하기까지 반복 실행한다(S1, S5, S7). 단, 제 2 선택회로(202)는 트레이스 백의 개시할 때 이외에는 현 시점의 노드번호가 저장된 노드번호 기억회로(205)의 출력을 선택한다.
그 결과, 트레이스 백 회로(107)로부터는 트레이스 백의 결과로 얻어진 최우패스의 L 시점 과거에서의 제 1 노드번호(ND1)와, 이보다 1시점 과거에 최우패스가 통과한 제 2 노드번호(ND2)가 출력된다. 서브 셋 번호 생성회로(108)는, 도 3에 도시하는 바와 같은, ROM(206)에 저장된 테이블 데이터를 참조하여, 노드번호(ND1, ND2)로부터 부호화 비트(CB) {x1, x2} 및 서브 셋 번호(SSNO)를 생성한다.
서브 셋 번호 생성회로(108)에 의하여 생성된 서브 셋 번호(SSNO)는 선택회로(109)에 입력된다. 선택회로(109)는 각 지연기(103)에 의하여 지연된 서브 셋 선택신호(SSELs)로부터, 서브 셋 번호(SSNO)에 대응하는 서브 셋 선택신호(SSELs) 를 선택하여 출력한다. 본 실시예에서 서브 셋 선택신호(SSELs)는 비 부호화 비트와 일치하도록 생성되므로, 선택회로(109)로부터는 비 부호화 비트(NCB) {x3}이 출력되게 된다. 서브 셋 번호 생성회로(108)로부터 출력된 부호화 비트(CB) {x1, x2}와, 선택회로(109)로부터 출력된 비 부호화 비트(NCB) {x3}을 합쳐져 복호신호{x1, x2, x3}이 생성된다.
이상과 같이 본 실시예에 의하면, 트렐리스 부호화 변조된 신호를 복호하기 위한 비터비 복호장치에 있어서, 트레이스 백 메모리를 통상의 RAM으로 구성하는 것이 가능해지고, 회로규모의 삭감 및 저소비전력화를 실현할 수 있다.
또 본 실시예에서는, 부호화기의 상태 수가 증대한 경우에도 트레이스 백 메모리를 구성하는 RAM의 비트 수를 증가시킴으로써, 회로화가 쉽게 가능하며 종래보다도 대폭으로 회로면적을 삭감할 수 있다.
또한 본 실시예에서, 트레이스 백 메모리에 저장하는 것은 패스 선택신호이며, 이는 부호화 비트에만 의존하기 때문에, 서브 셋 수가 증가한 경우에도 트레이스 백 메모리의 증가는 필요 없다. 따라서 서브 셋 번호를 노드별로 기억시키는 종래의 구성에서 생기는 회로규모의 증대를, 본 실시예에서는 회피할 수 있다.
도 5는 트레이스 백 회로 및 서브 셋 번호 생성회로의 다른 구성예를 나타낸 도면이다. 도 5에 있어서, 트레이스 백 회로(107A)는 도 2에 도시한 트레이스 백 회로(107)와 기본적인 구성은 공통이지만, 트레이스 백 종료 후에, 트레이스 백의 결과로 얻어진 최우패스의 L시점 과거에 있어서의 제 1 노드번호(ND1)와 함께, 이 제 1 노드에 대응하는 패스 선택신호(PSS)를 출력하는 점이 다르다. 그리고 서브 셋 번호 생성회로(108A)는 ROM 대신에 연산기(300)를 구비하며, 이 연산기(300)는 부호화기의 생성다항식에 기초하여 노드번호(ND1) 및 패스 선택신호(PSS)로부터 부호화 비트(CB) 및 서브 셋 번호(SSNO)를 생성하는 연산을 실행한다.
도 6은 연산기(300) 구성을 도시하는 도면이다. 패스 선택신호(PSS) {S2, S1}은 입력 부호화 비트 {x2, x1}과 일치하므로, 부호화 비트(CB) {x2, x1}로서는 패스 선택신호(PSS) {S2, S1}을 그대로 출력한다. 또 서브 셋 번호(SSNO)는 1시점 과거의 노드번호{D2', D1', D0'}를 이용하여 {x2, x1, D0'}로 표현할 수 있으므로, 상기 수학식 1의 관계에서, 서브 셋 번호(SSNO) {y2, y1,y0}으로서 {S2, S1, D2(=D0')}를 그대로 출력한다. 즉, 서브 셋 번호(SSNO)는 패스 선택신호(PSS)와 노드번호(ND1)를 바꾸는 단순한 연산에 의하여 구할 수 있다. 따라서 도 6에 도시한 바와 같이 매우 간단한 구성의 연산기로 서브 셋 번호 생성회로(108)를 실현할 수 있어 회로규모의 삭감이나 고속화가 가능해진다.
여기서, 도 2의 구성과 마찬가지로 연산기(300) 대신에 노드번호(ND1) 및 패스 선택신호(PSS)와, 부호화 비트(CB) 및 서브 셋 번호(SSNO)와의 관계를 나타내는 테이블 데이터를 저장한 ROM을, 서브 셋 번호 생성회로(108A)에 설치하여도 된다. 이 경우 회로규모는 연산기에 비하여 증가하지만, 서로 다른 부호화기에 대한 복호기 구성을 ROM 교환에 의하여 유연하게 바꿀 수가 있다.
도 7은 트렐리스 부호화기의 다른 예를 도시하며, 도 8은 도 7의 트렐리스 부호화기에 관한 트렐리스선 도이다. 도 7에 도시하는 트렐리스 부호화기에 있어서, 비 부호화 비트의 비트 수(k(=1)), 부호화 율(m/n)(=3/5)이며, 서브 셋 개수 는 16(=2(n-k)=2(5-1))이 된다. 도 7에 도시하는 트렐리스 부호화기에 의하여 트렐리스 부호화 변조된 신호를 대상으로 하는 경우라도, 도 2 또는 도 5에 도시한 바와 같이 트레이스 백 회로 및 서브 셋 번호 생성회로를 구성하면 된다. 단, ROM(206)에 저장된 테이블 데이터나, 연산기(300)의 내부구성은 트렐리스 부호화기의 구성에 따라 바꿀 필요가 있다.
도 9는 도 7에 도시하는 트렐리스 부호화기를 전제로 하는 경우의, 도 2 구성의 ROM(206)에 저장된 테이블 데이터의 일례를 나타내는 도면이다. 이 테이블 데이터는, 트레이스 백 회로(107)로부터 출력된, 최우패스가 통과하는 제 1 노드번호(ND1) 및 이 제 1 노드의 1시점 과거에 최우패스가 통과한 제 2 노드번호(ND2)와, 부호화 비트(CB) {x1, x2} 및 서브 셋 번호(SSNO(4비트를 10진수로 표시함))와의 관계를 나타낸다. 도 9에 도시하는 테이블 데이터는 도 8에 도시하는 트렐리스선 도로부터 쉽게 생성할 수 있다.
또 도 10은 도 7에 도시하는 트렐리스 부호화기를 전제로 한 경우의, 도 5 구성에서의 연산기(300) 내부 구성의 일례를 나타내는 도면이다. 이 연산기(300)는 트레이스 백 회로(107)로부터 출력된 최우패스가 통과하는 제 1 노드번호(ND1) 및 이 제 1 노드에 대응하는 패스 선택신호(PSS)로부터, 부호화 비트(CB) 및 서브 셋 번호(SSNO)(4비트)를 생성하는 연산을 실행한다. 즉, 이 경우에도 서브 셋 번호(SSNO)는, 패스 선택신호(PSS)와 노드번호(ND1)를 바꾸는 단순 연산에 의하여 구할 수 있다.
또한, 현재 노드번호 대신에 노드번호 연산회로의 출력인 1시점 과거의 노드 번호와 이에 대한 입력 부호화 비트를 이용하여, 부호화기와 마찬가지의 부호화 연산을 실행함으로써, 직접적으로 서브 셋 번호를 구해도 상관없다. 또 부호화 연산을 ROM에 저장한 테이블 데이터에 의하여 실현함으로써, 상술한 바와 같이 서로 다른 부호화기에 대한 복호기의 구성을 쉽게 실현할 수 있다.
여기서, 심벌 입력이 비교적 늦는 경우, 트레이스 백 처리는 1심벌마다 완료시킬 수 있다. 이 경우 개시 노드번호 생성회로(201)는 최우패스 판정회로(105)가 출력하는 현재 가장 우도가 높은 패스의 노드번호(MND)를 그대로 출력하는 것이 바람직하다. 또 심벌 입력이 고속으로 된 경우, 파이프라인 식의 트레이스 백이 효과적이다. 이 경우는 개시 노드번호 생성회로(201)로서, 예를 들어 일특개평9-191258호(미국특허 6,041,433호) 공보 기재의 구성을 취함으로써 트레이스 백 메모리의 대폭적인 삭감이 가능하다.
여기서 본 실시예에서는, 장치를 하드웨어적으로 구성한 예를 나타냈지만, 본 발명의 비터비 복호장치는 프로그램에 의하여 소프트웨어적으로 구성하여도 된다. 즉 비터비 복호장치로 하는 대신 본 발명에 관한 비터비 복호방법을 실현하는 소프트웨어의 알고리즘으로 하여도 된다.
본 발명에 관한 비터비 복호에 의하면, 패스 메모리를 통상의 RAM을 이용한 트레이스 백 메모리로 구성하는 것이 가능해지고, 회로면적의 삭감이나 장치의 저소비전력화가 가능해진다. 또 서로 다른 부호화기를 이용한 통신방식에 쉽게 대응할 수 있게 된다. 그리고 부호화 비트로부터 생성되는 서브 셋 수가 증대한 경우 에도 회로규모가 증가하는 일이 없다.
Claims (11)
- 삭제
- 삭제
- 트렐리스 부호화 변조(trellis-coded modulated)된 신호를 복호하기 위한 비터비 복호장치로,수신신호를 입력으로 하여, 각 서브 셋별로, 수신심벌 점(reception symbol point)과 가장 우도(likelihood)가 높은 송신심벌을 선택하고, 선택한 송신심벌에 대응하는 분기 메트릭(branch metric)과 선택한 송신심벌을 특정하기 위한 서브 셋 선택신호를 출력하는 서브 셋 선택부와,상기 서브 셋 선택신호를 소정 시간 지연시키는 지연기와,상기 분기 메트릭을 입력으로 하여, 트렐리스 선도(trellis diagram)에 따라서 패스 메트릭(path metric)을 연산하여, 가장 우도가 높은 패스(path)를 선택하는 패스 선택신호를 출력하는 ACS(Add Compare Select)부와,상기 패스 선택신호를 기억하는 트레이스 백 메모리(trace-back memory)와,상기 트레이스 백 메모리에 기억된 패스 선택신호를, 개시 노드 번호를 기점으로 하여 소정의 트레이스 백 길이(trace-back length) 만큼 트레이스 백 하는 트레이스 백부(trace-back section)와,상기 트레이스 백부에 의하여 얻어진 최우 패스(most likely path)가 통과하는 제 1 노드의 번호를 이용하여, 트렐리스 선도에 따라서, 당해 제 1 노드로의 천이에 관한 부호화 비트 및 서브 셋 번호를 출력하는 서브 셋 번호 생성부와,상기 서브 셋 번호와 상기 지연기로부터 출력된 서브 셋 선택신호를 입력으로 하여, 상기 제 1 노드로의 천이에 관한 비 부호화 비트를 출력하는 선택부를 구비하고,상기 서브 셋 번호 생성부로부터 출력된 부호화 비트와 상기 선택부로부터 출력된 비 부호화 비트를 합쳐서 복호신호로서 생성하는 것이며,상기 서브 셋 번호 생성부는,상기 제 1 노드 번호와 이 제 1 노드의 1 시점 과거에 최우 패스가 통과한 제 2 노드 번호를 이용하여 상기 부호화 비트 및 서브 셋 번호를 생성하는 것인 것을 특징으로 하는 비터비 복호장치.
- 제 3항에 있어서,상기 서브 셋 번호 생성부는,상기 제 1 및 제 2 노드번호와, 상기 부호화 비트 및 서브 셋 번호와의 관계를 나타내는 테이블 데이터를 갖는 것인 것을 특징으로 하는 비터비 복호장치.
- 트렐리스 부호화 변조된 신호를 복호하기 위한 비터비 복호장치로,수신신호를 입력으로 하여, 각 서브 셋별로, 수신심벌 점과 가장 우도가 높은 송신심벌을 선택하고, 선택한 송신심벌에 대응하는 분기 메트릭과 선택한 송신심벌을 특정하기 위한 서브 셋 선택신호를 출력하는 서브 셋 선택부와,상기 서브 셋 선택신호를 소정 시간 지연시키는 지연기와,상기 분기 메트릭을 입력으로 하여, 트렐리스 선도에 따라서 패스 메트릭을 연산하여 가장 우도가 높은 패스를 선택하는 패스 선택신호를 출력하는 ACS(Add Compare Select)부와,상기 패스 선택신호를 기억하는 트레이스 백 메모리와,상기 트레이스 백 메모리에 기억된 패스 선택신호를, 개시 노드 번호를 기점으로 하여 소정의 트레이스 백 길이 만큼 트레이스 백 하는 트레이스 백부와,상기 트레이스 백부에 의하여 얻어진 최우 패스가 통과하는 제 1 노드의 번호를 이용하여, 트렐리스 선도에 따라서, 당해 제 1 노드로의 천이에 관한 부호화 비트 및 서브 셋 번호를 출력하는 서브 셋 번호 생성부와,상기 서브 셋 번호와 상기 지연기로부터 출력된 서브 셋 선택신호를 입력으로 하여, 상기 제 1 노드로의 천이에 관한 비 부호화 비트를 출력하는 선택부를 구비하고,상기 서브 셋 번호 생성부로부터 출력된 부호화 비트와 상기 선택부로부터 출력된 비 부호화 비트를 합쳐서 복호신호로서 생성하는 것이며,상기 서브 셋 번호 생성부는,상기 제 1 노드 번호와 이 제 1 노드에 대응하는 패스 선택신호를 이용하여 상기 부호화 비트 및 서브 셋 번호를 생성하는 것인 것을 특징으로 하는 비터비 복호장치.
- 제 5항에 있어서,상기 서브 셋 번호 생성부는,상기 제 1 노드 번호 및 패스 선택신호와, 상기 부호화 비트 및 서브 셋 번호와의 관계를 나타내는 테이블 데이터를 갖는 것인 것을 특징으로 하는 비터비 복호장치.
- 제 3항 또는 제 5항에 있어서,상기 서브 셋 번호 생성부는,부호화기의 생성 다항식에 기초하는 연산을 실행하는 연산기로 구성되는 것을 특징으로 하는 비터비 복호장치.
- 삭제
- 삭제
- 트렐리스 부호화 변조된 신호를 복호하기 위한 비터비 복호방법으로,수신신호를 기초로, 각 서브 셋별로, 수신심벌 점과 가장 우도가 높은 송신심벌을 선택하고, 선택한 송신심벌에 대응하는 분기 메트릭과 선택한 송신심벌을 특정하기 위한 서브 셋 선택신호를 생성하는 단계와,상기 서브 셋 선택신호를 소정 시간 지연시키는 단계와,상기 분기 메트릭을 입력으로 하고, 트렐리스 선도에 따라서 패스 메트릭을 연산하여, 가장 우도가 높은 패스를 선택하는 패스 선택신호를 출력하는 ACS(Add Compare Select) 단계와,상기 패스 선택신호를 트레이스 백 메모리에 기억시키는 단계와,상기 트레이스 백 메모리에 기억된 패스 선택신호를, 개시 노드번호를 기점으로 하여, 소정의 트레이스 백 길이 만큼 트레이스 백 하는 단계와,상기 트레이스 백에 의하여 얻어진 최우 패스가 통과하는 제 1 노드의 번호를 이용하여, 트렐리스 선도에 따라서, 당해 제 1 노드로의 천이에 관한 부호화 비트 및 서브 셋 번호를 생성하는 단계와,상기 서브 셋 번호와 상기 지연된 서브 셋 선택신호에 기초하여, 상기 제 1 노드로의 천이에 관한 비 부호화 비트를 선택하는 단계를 구비하며,상기 부호화 비트와 상기 비 부호화 비트를 합쳐서 복호신호로서 생성하는 것이고,상기 부호화 비트 및 서브 셋 번호의 생성을, 상기 제 1 노드의 번호와 이 제 1 노드의 1 시점 과거에 최우 패스가 통과한 제 2 노드의 번호를 이용하여 행하는 것을 특징으로 하는 비터비 복호방법.
- 트렐리스 부호화 변조된 신호를 복호하기 위한 비터비 복호방법으로,수신신호를 기초로, 각 서브 셋별로, 수신심벌 점과 가장 우도가 높은 송신심벌을 선택하고, 선택한 송신심벌에 대응하는 분기 메트릭과 선택한 송신심벌을 특정하기 위한 서브 셋 선택신호를 생성하는 단계와,상기 서브 셋 선택신호를 소정 시간 지연시키는 단계와,상기 분기 메트릭을 입력으로 하고, 트렐리스 선도에 따라서 패스 메트릭을 연산하여, 가장 우도가 높은 패스를 선택하는 패스 선택신호를 출력하는 ACS(Add Compare Select) 단계와,상기 패스 선택신호를 트레이스 백 메모리에 기억시키는 단계와,상기 트레이스 백 메모리에 기억된 패스 선택신호를, 개시 노드 번호를 기점으로 하여, 소정의 트레이스 백 길이 만큼 트레이스 백 하는 단계와,상기 트레이스 백에 의하여 얻어진 최우 패스가 통과하는 제 1 노드의 번호를 이용하여, 트렐리스 선도에 따라서, 당해 제 1 노드로의 천이에 관한 부호화 비트 및 서브 셋 번호를 생성하는 단계와,상기 서브 셋 번호와 상기 지연된 서브 셋 선택신호에 기초하여, 상기 제 1 노드로의 천이에 관한 비 부호화 비트를 선택하는 단계를 구비하며,상기 부호화 비트와 상기 비 부호화 비트를 합쳐서 복호신호로서 생성하는 것이고,상기 부호화 비트 및 서브 셋 번호의 생성을, 상기 제 1 노드의 번호와 이 제 1 노드에 대응하는 패스 선택신호를 이용하여 행하는 것을 특징으로 하는 비터비 복호방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28130299 | 1999-10-01 | ||
JP???11-281302 | 1999-10-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010039957A KR20010039957A (ko) | 2001-05-15 |
KR100737648B1 true KR100737648B1 (ko) | 2007-07-09 |
Family
ID=17637191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020000057591A KR100737648B1 (ko) | 1999-10-01 | 2000-09-30 | 비터비 복호장치 및 비터비 복호방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6654929B1 (ko) |
EP (1) | EP1089441A3 (ko) |
KR (1) | KR100737648B1 (ko) |
TW (1) | TW486883B (ko) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW543301B (en) * | 2000-12-22 | 2003-07-21 | Mediatek Inc | Decoding circuit and method of Vieterbi decoder |
US20050264906A1 (en) * | 2004-05-25 | 2005-12-01 | Haratsch Erich F | Method and apparatus for reduced-state Viterbi detection in a read channel of a magnetic recording system |
KR100437697B1 (ko) * | 2001-07-19 | 2004-06-26 | 스프레드텔레콤(주) | 다수준 격자부호변조방식의 복호 방법 및 장치 |
US7248637B2 (en) * | 2003-06-11 | 2007-07-24 | Advanced Micro Devices, Inc. | Viterbi decoder utilizing partial backtracing |
US7359464B2 (en) * | 2003-12-31 | 2008-04-15 | Intel Corporation | Trellis decoder and method of decoding |
KR100732183B1 (ko) * | 2004-01-29 | 2007-06-25 | 김형복 | 트렐리스 다이아그램의 아날로그적 구현 및 순환적 연결에 의한 고속 비터비 디코딩 방법 |
TWI245496B (en) * | 2004-07-14 | 2005-12-11 | Lite On It Corp | Method for determining output signals of a Viterbi decoder |
US7733972B2 (en) * | 2004-10-26 | 2010-06-08 | Broadcom Corporation | Trellis decoder for decoding data stream including symbols coded with multiple convolutional codes |
US7430084B2 (en) * | 2004-12-03 | 2008-09-30 | International Business Machines Corporation | Magnetic tape read channel signal values developed employing intermediate bits of the path memory of a PRML viterbi detector |
US9407475B2 (en) * | 2014-02-03 | 2016-08-02 | Ceva D.S.P. Ltd. | System and method for tree-search enhancement by metric prediction based on incomplete paths in soft output MIMO decoder |
TWI729755B (zh) * | 2020-04-01 | 2021-06-01 | 智原科技股份有限公司 | 接收器與應用在接收器中的交織碼調變解碼器及相關的解碼方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0677964A2 (en) * | 1994-04-12 | 1995-10-18 | Lg Electronics Inc. | HDTV Viterbi decoder |
US5509021A (en) * | 1992-05-27 | 1996-04-16 | Nec Corporation | Viterbi decoder for decoding error-correcting encoded information symbol string |
WO1998036500A1 (en) * | 1997-02-14 | 1998-08-20 | Koninklijke Philips Electronics N.V. | Decoder for trellis encoded interleaved data stream and hdtv receiver including said decoder |
KR19980057719A (ko) * | 1996-12-30 | 1998-09-25 | 김광호 | 적응형 비터비 검출기 |
JPH11186919A (ja) * | 1997-12-19 | 1999-07-09 | Sony Corp | ビタビ復号装置 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4583078A (en) * | 1984-11-13 | 1986-04-15 | Communications Satellite Corporation | Serial Viterbi decoder |
CA1260143A (en) * | 1986-02-24 | 1989-09-26 | Atsushi Yamashita | Path trace viterbi decoder |
JPS62233933A (ja) * | 1986-04-03 | 1987-10-14 | Toshiba Corp | ヴイタビ復号法 |
KR940010435B1 (ko) * | 1992-08-31 | 1994-10-22 | 삼성전자 주식회사 | 비터비 복호기의 경로기억장치 |
JP2768169B2 (ja) | 1992-09-22 | 1998-06-25 | 日本電気株式会社 | データ伝送方式 |
US5390198A (en) * | 1993-05-26 | 1995-02-14 | The Boeing Company | Soft decision viterbi decoder for M-ary convolutional codes |
JP3241210B2 (ja) * | 1994-06-23 | 2001-12-25 | 沖電気工業株式会社 | ビタビ復号方法及びビタビ復号回路 |
JP2996615B2 (ja) | 1996-01-08 | 2000-01-11 | 松下電器産業株式会社 | ビタビ復号装置及びその方法 |
KR980006964A (ko) * | 1996-06-29 | 1998-03-30 | 김주용 | 격자복호기의 역추적장치 |
GB9622540D0 (en) * | 1996-10-30 | 1997-01-08 | Discovision Ass | Trackback for viterbi decoder |
KR100230911B1 (ko) * | 1997-01-20 | 1999-11-15 | 김영환 | 고화질 텔레비젼의 격자 복호기 |
KR100230275B1 (ko) * | 1997-02-21 | 1999-11-15 | 윤종용 | 고해상도 텔레비젼 수신기의 tcm 복호기 및 그 복호방법 |
JP3277856B2 (ja) * | 1997-08-29 | 2002-04-22 | 日本電気株式会社 | ビタビデコーダ |
US6094739A (en) * | 1997-09-24 | 2000-07-25 | Lucent Technologies, Inc. | Trellis decoder for real-time video rate decoding and de-interleaving |
US6477208B1 (en) * | 1997-10-30 | 2002-11-05 | Comtier | Composite trellis system and method |
JP3747604B2 (ja) | 1997-12-19 | 2006-02-22 | ソニー株式会社 | ビタビ復号装置 |
JPH11186915A (ja) | 1997-12-22 | 1999-07-09 | Sony Corp | ビタビ復号装置 |
US6452985B1 (en) * | 1998-03-18 | 2002-09-17 | Sony Corporation | Viterbi decoding apparatus and Viterbi decoding method |
US6269129B1 (en) * | 1998-04-24 | 2001-07-31 | Lsi Logic Corporation | 64/256 quadrature amplitude modulation trellis coded modulation decoder |
JPH11355150A (ja) * | 1998-06-09 | 1999-12-24 | Sony Corp | パンクチャドビタビ復号方法 |
US6477680B2 (en) * | 1998-06-26 | 2002-11-05 | Agere Systems Inc. | Area-efficient convolutional decoder |
JP3196835B2 (ja) * | 1998-07-17 | 2001-08-06 | 日本電気株式会社 | ビタビ復号法及びビタビ復号器 |
-
2000
- 2000-09-29 US US09/672,904 patent/US6654929B1/en not_active Expired - Fee Related
- 2000-09-30 KR KR1020000057591A patent/KR100737648B1/ko not_active IP Right Cessation
- 2000-10-02 TW TW089120507A patent/TW486883B/zh not_active IP Right Cessation
- 2000-10-02 EP EP00121599A patent/EP1089441A3/en not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5509021A (en) * | 1992-05-27 | 1996-04-16 | Nec Corporation | Viterbi decoder for decoding error-correcting encoded information symbol string |
EP0677964A2 (en) * | 1994-04-12 | 1995-10-18 | Lg Electronics Inc. | HDTV Viterbi decoder |
KR19980057719A (ko) * | 1996-12-30 | 1998-09-25 | 김광호 | 적응형 비터비 검출기 |
WO1998036500A1 (en) * | 1997-02-14 | 1998-08-20 | Koninklijke Philips Electronics N.V. | Decoder for trellis encoded interleaved data stream and hdtv receiver including said decoder |
JPH11186919A (ja) * | 1997-12-19 | 1999-07-09 | Sony Corp | ビタビ復号装置 |
Also Published As
Publication number | Publication date |
---|---|
TW486883B (en) | 2002-05-11 |
EP1089441A3 (en) | 2003-08-13 |
EP1089441A2 (en) | 2001-04-04 |
US6654929B1 (en) | 2003-11-25 |
KR20010039957A (ko) | 2001-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100580160B1 (ko) | 변형된 역추적 방식의 2단 연출력 비터비 알고리즘 복호화기 | |
US5881075A (en) | Viterbi decoder | |
KR100737648B1 (ko) | 비터비 복호장치 및 비터비 복호방법 | |
US7131055B2 (en) | Fast bit-parallel Viterbi decoder add-compare-select circuit | |
WO2005011129A1 (ja) | ビタビ復号器 | |
KR100437697B1 (ko) | 다수준 격자부호변조방식의 복호 방법 및 장치 | |
Suganya et al. | RTL design and VLSI implementation of an efficient convolutional encoder and adaptive Viterbi decoder | |
KR100387089B1 (ko) | 브랜치 메트릭 계산 처리에서 감소된 비트수를 갖는비터비 디코더 | |
US7225393B2 (en) | Viterbi decoder and Viterbi decoding method | |
US20070201586A1 (en) | Multi-rate viterbi decoder | |
FI100564B (fi) | Menetelmä transitiometriikan muodostamiseksi ja solukkoradiojärjestelm än vastaanotin | |
Arun et al. | Design and VLSI implementation of a Low Probability of Error Viterbi decoder | |
US20050138535A1 (en) | Method and system for branch metric calculation in a viterbi decoder | |
JP3348086B2 (ja) | ビタビ復号装置およびビタビ復号方法 | |
KR0180303B1 (ko) | 비터비 디코더의 정규화 방법 및 장치 | |
KR100531840B1 (ko) | 비터비 디코더의 가지 메트릭 계산 방법 및 그 회로 | |
US20200274557A1 (en) | Method of viterbi algorithm and receiving device | |
KR100359805B1 (ko) | 비터비 디코더 및 비터비 디코더의 디코딩 방법 | |
KR100333336B1 (ko) | 비터비 복호기의 역추적 방법 | |
YASMINE et al. | RTL Design and Implementation of TCM Decoders using Viterbi Decoder | |
Reddy et al. | High Speed Viterbi Decoder Design With A Rate Of ½ Convolution Code For Tcm Systems | |
KR100594214B1 (ko) | 저전력 비터비 복호기 | |
JP2004193892A (ja) | ビタビ復号器 | |
Made et al. | Implementation of Adaptive Viterbi Decoder | |
Soumya | Viterbi Decoder Plain Sailing Design for TCM Decoders |
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: 20100630 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |