KR100490815B1 - 비터비 복호기 - Google Patents
비터비 복호기 Download PDFInfo
- Publication number
- KR100490815B1 KR100490815B1 KR10-2002-7004693A KR20027004693A KR100490815B1 KR 100490815 B1 KR100490815 B1 KR 100490815B1 KR 20027004693 A KR20027004693 A KR 20027004693A KR 100490815 B1 KR100490815 B1 KR 100490815B1
- Authority
- KR
- South Korea
- Prior art keywords
- path
- branch metric
- internal state
- metric
- bit
- Prior art date
Links
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/3961—Arrangements of methods for branch or transition metric calculation
-
- 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/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/4107—Sequence 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
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
비터비 복호기에서, 시스템 규모의 증대를 억제하면서, 에러 정정 특성을 향상시킬 수 있도록 한다.
따라서, 브랜치 메트릭 계산부(1)와 ACS부(2) 사이에, 브랜치 메트릭 계산부(1)에 의해 계산된 브랜치 메트릭 값의 비트 범위를 ACS부(2)에서 사용되는 계산 비트수에 적합하도록 변환을 행하는 비트 범위 변환부(11)를 설치하는 한편, 프레임이 완료되기까지의 동안, 수신 데이터의 판독을 행하여 브랜치 메트릭의 계산과, 브랜치 메트릭의 최적화와, 패스 메트릭의 변경과, 패스 메모리의 저장을 행하고, 프레임이 완료되었을 때, 백트레이스 처리에 의해 복호 결과를 출력한다.
Description
본 발명은 컨볼루션 부호를 수신하여 오류 정정을 행하는 비터비 복호기에 관한 것이다.
종래부터, 컨볼루션 부호를 최대 우도 복호(maximum likehood decoding)하는 비터비 복호 기술이 알려져 있으며, 이 비터비 복호 기술에서는, 비터비 알고리즘에 기초하여, 송신측 인코더에서 생성될 수 있는 부호 계열로부터 수신 부호 계열에 가장 가까운 계열을 선택하므로, 이 수신 부호에 오류가 있는 경우라도 정확하게 복호할 수 있다. 이와 같이, 이 비터비 복호 기술은, 통화로에 생기는 랜덤 오류에 대한 정정 능력이 높고, 특히 소프트 판정(soft-decision) 복조 방식과 조합하면, 큰 부호화 이득을 얻을 수 있기 때문에, 이동체 통신 시스템 등의 오류 정정 부호의 복호에 널리 비터비 복호기가 채용되고 있다.
우선, 이 비터비 알고리즘에 대하여 간단하게 설명한다. 여기서는, 생성 다항식이,
G1(D)=1+D2
G2(D)=1+D+D2
으로 주어지는 부호화율=1/2, 구속 길이 K=3의 컨볼루션 부호를 생각한다. 또한, 「D」는 데이터의 지연을, 또한 「+」는 1비트만의 가산을 나타낸다.
도 1은 이러한 컨볼루션 부호를 발생하는 비터비 복호기의 구성을 나타내는 블록도이다. 도 1에 도시한 바와 같이, 이 비터비 복호기는, 레지스터(101A, 101B)로 이루어지는 시프트 레지스터와, 모듈로-2의 가산을 행하는 가산기(102A, 102B, 102C)로 구성된다. 여기서, 이 복호기의 내부 상태 (b1, b2)는, 내부 상태 (0, 0), 내부 상태 (0, 1), 내부 상태 (1, 0) 또는 내부 상태 (1, 1)의 4가지의 내부 상태가 있고, 입력이 제공되었을 때에 천이할 수 있는 내부 상태는 항상 2가지이다.
즉, 도 2에 도시한 바와 같이, 내부 상태 (0, 0)인 경우에 있어서, 입력이 제로(0)일 때는 내부 상태 (0, 0)으로, 입력이 1일 때는 내부 상태 (0, 1)로 각각 천이하고, 또한 내부 상태 (0, 1)인 경우에 있어서, 입력이 0일 때는 내부 상태 (1, 0)으로, 입력이 1일 때는 내부 상태 (1, 1)로 각각 천이하며, 또한 내부 상태 (1, 0)인 경우에 있어서, 입력이 0일 때는 내부 상태 (0, 0)으로, 입력이 1일 때는 내부 상태 (0, 1)으로 각각 천이하고, 또한 내부 상태 (1, 1)인 경우에 있어서, 입력이 0일 때는 내부 상태 (1, 0)으로, 입력이 1일 때는 내부 상태 (1, 1)로 천이한다.
도 3은 이러한 내부 상태의 상태 천이를 나타내는 트렐리스(trellis) 선도로, 도 3에 도시한 실선의 브랜치는 입력이 「0」일 때의 천이를 나타내고, 또한 파선의 브랜치는 입력이 「1」일 때의 천이를 나타낸다. 또한, 브랜치에 부기한 숫자는 그 브랜치의 천이가 발생될 때에 출력되는 부호(G1, G2)로, 도 3에 도시한 바와 같이, 각 상태에서는 반드시 2개의 패스가 합류한다. 그리고, 비터비 복호 알고리즘에서는, 각 내부 상태에서 2개의 패스 중 최대 우도의 패스를 선택하고, 소정 길이까지 살아 남은 패스의 선택을 행했다면, 각 내부 상태에서 선택한 패스 중 최대 우도의 것을 검출하여 수신 부호를 복호하고 있다.
이 때, 최대 우도의 패스의 선택에는, 합류하는 패스 각각이 갖는 개연성(probability) 정보를 사용하고 있고, 하드 판정(hard-decision) 비터비 알고리즘에서는, 각 패스 비트 계열과 수신 비트 열과의 허밍 거리를 합산하여 패스의 개연성을 나타내며, 소프트 판정 비터비 알고리즘에서는, 각 패스 비트 계열과 수신 비트 열과의 유클리드 거리(Euclidean distance)의 제곱을 합산하여 패스의 개연성을 나타내고 있다.
이하의 설명에서는, 이 패스의 개연성을 나타내기 위한 값을 패스 메트릭으로 칭하고, 또한 각 수신 단위 시간마다의 개연성을 나타내기 위한 값을 브랜치 메트릭으로 칭한다. 환언하면, 이 패스 메트릭은 임의의 내부 상태로 천이하는 개연성의 합계이고, 또한, 브랜치 메트릭은 임의의 내부 상태로부터 다음의 내부 상태로 천이하는 경우의 각 비트의 개연성의 합계라고 할 수 있다.
또한, 유클리드 거리는 수신 데이터를 (r1, r2), 송신계로 작성한 데이터를 (s1, s2)로 한 2개의 데이터의 경우,
의 식으로 표현되며, 비터비 복호에서는 유클리드 거리의 제곱, 즉,
(s1-r1)2+(s2-r2)2
=s1
2-2*s1*r1+r1
2+s2
2-2*s2*r2+r2
2
의 식으로 표현되며, 이 식을 최소로 하는 (s1, s2)를 구한다.
여기서, 수신 데이터 (r1, r2)는 고정 값이기 때문에, r1과 r2는 (s1, s2)의 값에 상관없이 일정해지기 때문에, 식에서 생략할 수 있고, 또한 송신 데이터 (s1, s2)에 대해서는 그 요소 s1, s2에 대하여, 데이터가 「0」일 때는 s1
또는 s2를 「-1」로 하고, 데이터가 「1」일 때는 s1 또는 s2를 「1」로서 생각하면, s1
2와 s2
2는 (s1, s2)의 값에 상관없이 일정해지기 때문에, 식에서 생략할 수 있으며, 또한 상수 「2」로 제산하면,
=-s1*r1-s2*r2
의 식으로 표현된다.
그리고, 이 식을 고려하여 -s1*r1의 항에 대하여 설명하면, s1=-1이면 -s
1*r1은 r1로 되기 때문에, r1=-1이면 -1, r1=0이면 0, r1=1이면 「1」이 계산 결과로 되고, 또한 s1=1이면 -s1*r1은 -r1이 되기 때문에, r1=-1이면 「1」, r1=0이면 「0」, r1=-1이면 「1」이 계산 결과로 된다.
따라서, -s1*r1을 고려한 경우, s1=-1이면 계산 결과는 수신 데이터 r1(-1∼1)에 따라 0∼2로 선형적으로 변화하고, 또한 s1=1이면 계산 결과는 수신 데이터 r1(-1∼1)에 따라 2∼0으로 선형적으로 변화하기 때문에, 이 방법에 따라 도 4에 도시한 수신 데이터 r1의 분해능을 3비트로 한 경우에는, 도 5에 도시한 메트릭을 얻을 수 있다.
다음으로, 소프트 판정 처리에서의 연산에 대하여 설명한다. 하드 판정 처리가 「0」과 「1」의 2치 신호를 사용하는 데 반하여, 소프트 판정 처리는 다치 신호로서 판별하는 방법으로, 도 4 및 도 5에 도시한 바와 같은 3비트에서의 판정을 행하는 8치 소프트 판정에서는, 1비트만을 생각한 경우, 정보 비트가 「0」일 때, 수신 레벨이 「0」이면 브랜치 메트릭은 「0」, 수신 레벨이 「7」이면 브랜치 메트릭은 「7」이 되고, 정보 비트가 「1」일 때, 수신 레벨이 「0」이면 브랜치 메트릭은 「7」, 수신 레벨이 「7」이면 브랜치 메트릭은 「0」으로 된다. 또한, 이 브랜치 메트릭의 값은 작을 수록 높은 개연성을 나타내고 있다.
도 6은 소프트 판정 메트릭 처리예를 나타내는 트렐리스 선도로, 이러한 소프트 판정 메트릭 처리에서, 정보 계열이 「0110000」, 부호 계열이 「00」 「11」 「10」 「10」 「11」 「00」 「00」, 수신 계열이 「2」 「4」 「3」 「6」 「7」 「2」 「7」 「5」 「5」 「7」 「1」 「0」 「1」 「2」인 경우에는, 시점 「0」/내부 상태 「00」으로부터 시점 「1」/내부 상태 「00」으로 천이할 때는, 최초의 비트 「0」에 대한 개연성이 「2」인 것 및 2번째의 비트 「0」에 대한 개연성이 「4」이기 때문에 메트릭은 「2+4」로 「6」이 되고, 이하 마찬가지로 모든 패스에 대하여 브랜치 메트릭을 계산할 수 있다. 또한, 도 6에 도시한 선 위의 수치는 브랜치 메트릭을, 또한 각 시각에서의 내부 상태 위치에 있는 사선이 그어진 수치는 패스 메트릭을 각각 나타내는 것이다.
이 계산의 결과, 시점 「7」/내부 상태 「00」에 합류하는 패스는, 시점 「6」/내부 상태 「00」 또는 시점 「6」/내부 상태 「10」으로부터의 패스로 되지만, 시점 「6」/내부 상태 「00」으로부터의 패스에 관해서는, 시점 「6」/내부 상태 「00」에서의 패스 메트릭이 「21」인 것 및 시점 「6」/내부 상태 「00」으로부터 시점 「7」/내부 상태 「00」으로의 브랜치 메트릭이 「3」이기 때문에 패스의 개연성은 「24」로 되는 데 반하여, 시점 「6」/내부 상태「10」으로부터의 패스에 관해서는, 시점 「6」/내부 상태 「10」에서의 패스 메트릭이 「32」인 것 및 시점 「6」/내부 상태 「10」으로부터 시점 「7」/내부 상태 「00」으로의 브랜치 메트릭이 「11」이기 때문에 패스의 개연성은 「43」이 되므로, 시점 「7」/내부 상태 「00」에서의 패스 메트릭은「24」로 되며, 시점 「6」/내부 상태 「00」으로부터 시점 「7」/내부 상태 「00」으로의 패스를 선택한 것으로 된다. 또한, 도 6에 도시한 선 위에 표시된 「×」는 합류에 의해 각하(却下)된 패스를 나타내는 것이다.
그리고, 도 7에 도시한 바와 같이, 살아 남은 패스를 화살표로 나타내는 방향, 즉 수신 데이터의 역방향으로 진행함으로써, 복호 결과를 얻을 수 있다. 또한, 도 6에서, 수신 계열의 수치에서 밑줄이 그어져 있는 것은 전송 시의 에러 비트를 나타내는 것이지만, 이 복호 결과로부터 알 수 있는 바와 같이, 3비트의 에러가 발생한 경우에도, 원래의 정보 계열을 얻을 수 있다.
도 8은 이러한 비터비 알고리즘에 기초하여 컨볼루션 부호를 복호하는 비터비 복호기의 대표적인 구성예를 나타내는 것으로, 수신 계열과 각 브랜치 사이의 메트릭을 계산하는 브랜치 메트릭 계산부(1)와, 살아 남은 패스를 선택하여 살아 남은 패스의 패스 메트릭을 계산하는 ACS부(2)와, 각 내부 상태에서의 패스 메트릭의 값을 각각 기억하는 패스 메트릭 메모리(3)와, 선택한 패스의 추정 출력을 기억하는 패스 메모리(4)와, 최대 우도의 패스 메트릭의 어드레스를 검출하여 패스 메모리의 제어를 행하는 백트레이스 처리부(5)로 구성되어 있다.
그리고, 이와 같이 구성된 비터비 복호기는, 도 9의 흐름도로 도시한 바와 같이, 프레임이 완료되기까지의 동안, 수신 데이터의 판독을 행하여 브랜치 메트릭의 계산과 패스 메트릭의 갱신과 패스 메모리의 저장을 행하고(단계 S2∼S5), 프레임이 완료되었을 때(단계 S1), 백트레이스 처리에 의해 복호 결과를 출력하도록(단계 S6) 되어 있다.
또한, 이러한 비터비 복호기에서는, 계산 효율을 높이기 위한 각종 방법이 제안되어 있으며, 도 10에 도시한 바와 같이, 소프트 판정 데이터 변환 회로 A에 의해 입력 데이터를 상황에 따라 변환하여 브랜치 메트릭의 연산에 사용함으로써 입력 비트의 가중치를 변경하는 방법(특개소63-122323호 공보 참조)이나, 도 11에 도시한 바와 같이, 정규화 회로(최대 우도값 감산) B에 의해 브랜치 메트릭의 각 값으로부터 최대 우도값을 구하여 그 값을 감산하여 데이터 범위를 줄임으로써 브랜치 메트릭에서의 최대 우도값을 구하여 정규화를 행하는 방법(특개평7-245567호 공보 참조) 등이 제안되어 있다.
그런데, 비터비 알고리즘의 소프트 판정을 사용한 경우에는, 도 12의 BER 특성도에 도시한 바와 같이, 입력 데이터의 비트 정밀도(precision)를 향상시킬 수록, 에러 정정 특성을 향상시킬 수 있지만, 입력 데이터의 비트 정밀도를 향상시킴으로써 내부 연산부의 비트수가 증가되기 때문에, 시스템의 규모가 증대되는 문제점이 있고, 이들 문제점은 입력 비트의 가중치를 변경하는 방법이나 브랜치 메트릭에서의 최대 우도값을 구하여 정규화를 행하는 방법에서도 마찬가지로 발생하였다.
즉, 예를 들면, 도 12의 BER 특성도에 도시한 바와 같이, 구속 길이 「9」/부호화 레이트 「1/3」의 비터비 복호 처리를 대상으로 한 경우에 있어서, 입력 데이터의 비트 정밀도를 3비트로 하였을 때는, ACS부에서 적당한 정규화 처리를 행함으로써, 내부 연산 비트수는 6비트 이상이면 충분히 처리를 행할 수 있지만, 입력 비트의 비트 정밀도를 4비트로 하였을 때는, ACS부에서 적당한 정규화 처리를 행한다고 해도, 내부 연산 비트수는 통상 7비트 내지 8비트 이상 필요해지고, 내부 연산 비트 길이가 6비트 내지 8비트가 되면, 회로 규모도 마찬가지의 비율로 증가하여, 회로 규모는 약 1.3배의 규모로 된다.
본 발명은, 시스템 규모의 증대를 억제하면서, 에러 정정 특성을 향상시킬 수 있는 비터비 복호기를 제공하는 것을 목적으로 하는 것이다.
<발명의 개시>
본 발명은, 전술한 과제를 해결하기 위해 다음의 구성을 갖는다.
본 발명의 제1 요지는, 수신 계열에 기초하여 브랜치 메트릭 값을 산출하는 브랜치 메트릭 산출부와, 브랜치 메트릭 산출부에 의해 산출된 브랜치 메트릭 값의 비트 범위를 변환하는 비트 범위 변환부와, 비트 범위 변환부에 의해 비트 범위가 변환된 브랜치 메트릭 값에 기초하여 패스 메트릭 값을 산출하는 패스 메트릭 산출부와, 패스 메트릭 산출부에 의해 산출된 패스 메트릭 값에 기초하여 수신 부호를 복원하는 복호부를 설치한 비터비 복호기이다.
본 발명의 제2 요지는, 제1 요지에 기재된 비터비 복호기의 구성 외에 비트 범위 변환부가, 브랜치 메트릭 산출부에 의해 산출된 브랜치 메트릭 값의 하위 비트를 삭제함으로써 비트 범위를 변환하는 것이다.
본 발명의 제3 요지는, 수신 신호 열에 기초하여 브랜치 메트릭 값을 산출함과 함께, 브랜치 메트릭 값에 기초하여 패스 메트릭 값을 산출하고, 또한 패스 메트릭 값에 기초하여 수신 신호를 복원하는 비터비 복호 방법에 있어서, 브랜치 메트릭 값의 비트 범위를 변환하고, 그 비트 범위가 변환된 브랜치 메트릭 값에 기초하여 패스 메트릭 값의 산출을 행하는 것이다.
본 발명의 구성에 따르면, 이하의 효과가 얻어진다.
요지 1의 구성에 따르면, 브랜치 메트릭 산출부가 수신 계열에 기초하여 브랜치 메트릭 값을 산출하면, 비트 범위 변환부가 그 산출된 브랜치 메트릭 값의 비트 범위를 패스 메트릭 산출부에 의해 처리 가능한 비트 범위가 되도록 변환하고, 패스 메트릭 산출부가 그 비트 범위가 변환된 브랜치 메트릭 값에 기초하여 패스 메트릭 값을 산출함과 함께, 복호부가 그 산출된 패스 메트릭 값에 기초하여 수신 부호를 복호함으로써, 패스 메트릭 산출부에서의 내부 연산 비트수를 증가시키지 않고, 입력 데이터의 비트 정밀도를 향상시킬 수 있다.
요지 2의 구성에 따르면, 브랜치 메트릭 산출부가 수신 계열에 기초하여 브랜치 메트릭 값을 산출하면, 비트 범위 변환부가 그 산출된 브랜치 메트릭 값의 하위 비트를 삭제하여 패스 메트릭 산출부에 의해 처리 가능한 비트 범위가 되도록 변환하고, 패스 메트릭 산출부가 그 비트 범위가 변환된 브랜치 메트릭 값에 기초하여 패스 메트릭 값을 산출함과 함께, 복호부가 그 산출된 패스 메트릭 값에 기초하여 수신 부호를 복호함으로써, 패스 메트릭 산출부에서의 내부 연산 비트수를 증가시키지 않고, 입력 데이터의 비트 정밀도를 향상시킬 수 있다.
요지 3의 구성에 따르면, 수신 신호 열에 기초하여 브랜치 메트릭 값을 산출함과 함께, 그 브랜치 메트릭 값의 비트 범위를 변환하고, 그 비트 범위 변환 후의 브랜치 메트릭 값에 기초하여 패스 메트릭 값을 산출하며, 또한 그 패스 메트릭 값에 기초하여 수신 신호를 복원함으로써, 패스 메트릭 값의 산출을 행하는 연산 비트수를 증가시키지 않고, 입력 데이터의 비트 정밀도를 향상시킬 수 있다.
도 1은 종래예인 컨볼루션 부호기를 나타내는 블록도.
도 2는 동일 컨볼루션 부호기에서의 내부 상태 천이를 나타내는 설명도.
도 3은 동일 컨볼루션 부호기에서의 내부 상태 변화를 나타내는 트렐리스 선도.
도 4는 소프트 판정 신호의 일례를 나타내는 설명도.
도 5는 수신 비트 정밀도를 3비트로 한 경우의 정보 비트의 메트릭을 나타내는 설명도.
도 6은 종래예의 소프트 판정 처리에서의 내부 상태 변화를 나타내는 트렐리스 선도.
도 7은 동일 트렐리스 선도에서의 복호 처리를 나타내는 설명도.
도 8은 종래예인 비터비 복호기의 구성을 나타내는 블록도.
도 9는 동일 비터비 복호기에서의 비터비 복호 처리 수순을 나타내는 흐름도.
도 10은 종래예인 브랜치 메트릭 계산의 일례를 나타내는 블록도.
도 11은 종래예인 브랜치 메트릭 계산의 다른 예를 나타내는 블록도.
도 12는 종래예의 BER 특성을 나타내는 BER 특성도.
도 13은 본 발명의 일 실시예인 비터비 복호기의 구성을 나타내는 블록도.
도 14는 동일 비터비 복호기에서의 비터비 복호 처리 수순을 나타내는 흐름도.
도 15는 동일한 비터비 복호기를 이용한 소프트 판정 처리에서의 내부 상태 변화를 나타내는 트렐리스 선도.
도 16은 수신 비트 정밀도를 4비트로 한 경우의 정보 비트의 메트릭을 나타내는 설명도.
도 17은 종래예인 소프트 판정 처리에서 에러가 발생하는 경우를 나타내는 트렐리스 선도.
도 18은 동일 비터비 복호기에서의 BER 특성의 일례를 나타내는 BER 특성도.
도 19는 동일 BER 특성도에서의 주요부 확대도.
도 20은 브랜치 메트릭 계산부의 구체적인 구성의 일례를 나타내는 블록도.
도 21은 비트 범위 변환부의 구체적인 구성의 일례를 나타내는 블록도.
도 22는 비트 범위 변환부의 구체적인 구성의 다른 예를 나타내는 블록도.
도 23은 ACS부의 구체적인 구성의 일례를 나타내는 블록도.
도 24는 동일 비터비 복호기에서의 BER 특성의 다른 예를 나타내는 BER 특성도.
도 25는 동일 BER 특성도에서의 주요부 확대도.
<발명을 실시하기 위한 최량의 형태>
이하, 본 발명의 실시예에 대하여 도면을 참조하여 상세하게 설명한다.
도 13은 본 발명의 일 실시예인 비터비 복호기의 구성을 나타내는 블록도로, 수신 계열과 각 브랜치 사이의 메트릭을 계산하는 브랜치 메트릭 계산부(1)와, 브랜치 메트릭 계산부(1)에 의해 계산된 브랜치 메트릭 값의 비트 범위를 ACS부(2)에서 사용되는 계산 비트수에 적합하도록 변환을 행하는 비트 범위 변환부(11)와, 살아 남은 패스를 선택하여 살아 남은 패스의 패스 메트릭을 계산하는 ACS부(2)와, 각 내부 상태에서의 패스 메트릭의 값을 각각 기억하는 패스 메트릭 메모리(3)와, 선택한 패스의 추정 출력을 기억하는 패스 메모리(4)와, 최대 우도의 패스 메트릭의 어드레스를 검출하여 패스 메모리의 제어를 행하는 백트레이스 처리부(5)로 구성되어 있다.
그리고, 이와 같이 구성된 비터비 복호기는, 도 14의 흐름도로 도시한 바와 같이, 프레임이 완료되기까지의 동안, 수신 데이터의 판독을 행하여 브랜치 메트릭의 계산과 브랜치 메트릭의 최적화와 패스 메트릭의 갱신과 패스 메모리의 저장을 행하고(단계 S2∼S5, S11), 프레임이 완료되었을 때(단계 S1), 백트레이스 처리에 의해 복호 결과를 출력하도록(단계 S6) 되어 있다.
우선, 전술한 바와 같이 구성된 비터비 복호기에 대하여, 구속 길이(constraint length) 「3」/부호화 레이트 「1/2」를 사용한 경우에 대해 설명한다. 또한, 생성 다항식은,
G0=1+D2
G1=1+D+D2
을 이용한다.
도 15는 전술한 바와 같이 구성된 비터비 복호기에서, 입력 비트 정밀도를 「4」로 한 경우의 소프트 판정 메트릭 처리예를 나타내는 트렐리스 선도로, 이러한 소프트 판정 메트릭 처리에서, 정보 계열이 「0110000」, 부호 계열이 「00」 「11」 「10」 「10」 「11」 「00」 「00」, 수신 계열이 「7」 「8」 「5」 「13」 「10」 「4」 「12」 「3」 「3」 「9」 「5」「8」 「6」 「5」인 경우에는, 시점 「0」/내부 상태 「00」으로부터 시점 「1」/내부 상태 「00」으로 천이할 때는, 도 16의 메트릭 테이블에 도시한 바와 같이, 최초의 비트 「0」에 대한 개연성이 「7」인 것 및 2번째의 비트 「0」에 대한 개연성이 「8」이기 때문에 메트릭은 「7+8」로 「15」, 즉「1111」이 되고, 그 후, 비트 범위 변환부(11)에 의해 하위의 1비트가 삭제되어 「111」, 즉 「7」로 된다. 이하, 마찬가지로 모든 패스에 대하여 브랜치 메트릭을 계산할 수 있다. 또한, 도 15에 도시한 선 위의 수치는 브랜치 메트릭을, 또한 각 시각에서의 내부 상태 위치에 있는 사선이 그어진 수치는 패스 메트릭을 각각 나타내는 것이다.
이 계산의 결과, 시점 「7」/내부 상태 「00」에 합류하는 패스는, 시점 「6」/내부 상태 「00」 또는 시점 「6」/내부 상태 「10」으로부터의 패스가 되지만, 시점 「6」/내부 상태 「00」으로부터의 패스에 관해서는, 시점 「6」/내부 상태 「00」에서의 패스 메트릭이 「35」인 것 및 시점 「6」/내부 상태 「00」으로부터 시점 「7」/내부 상태 「00」으로의 브랜치 메트릭이 「5」이기 때문에 패스의 개연성은 「40」으로 되는 데 반하여, 시점 「6」/내부 상태 「10」으로부터 패스에 관해서는, 시점 「6」/내부 상태 「10」에서의 패스 메트릭이 「32」인 것 및 시점 「6」/내부 상태 「10」으로부터 시점 「7」/내부 상태 「00」으로의 브랜치 메트릭이 「9」이기 때문에 패스의 개연성은 「41」로 되므로, 시점 「7」/내부 상태 「00」에서의 패스 메트릭은 「40」이 되며, 시점 「6」/내부 상태 「00」으로부터 시점 「7」/내부 상태 「00」으로의 패스를 선택하게 된다. 또한, 도 15에 도시한 선 위에 표시된 「×」는 합류에 의해 각하된 패스를 나타내는 것이다.
그리고, 살아 남은 패스를 수신 데이터의 역방향으로 진행함으로써, 복호 결과를 얻을 수 있다. 또한, 도 15에서, 수신 계열의 수치에서 밑줄이 그어져 있는 것은 전송 시의 에러 비트를 나타내는 것이지만, 이 복호 결과로부터 알 수 있는 바와 같이, 4비트의 에러가 발생한 경우에도 원래의 정보 계열을 얻을 수 있다.
이에 대하여, 종래 기술에서 설명한 비터비 복호기에서, 동일한 수신 신호를, 입력 비트 정밀도를 「3」으로 하여 소프트 판정 메트릭 처리를 행한 경우에는, 도 17에 도시한 바와 같이, 수신 계열이 「3」 「4」 「2」 「6」 「5」 「2」 「6」「1」 「1」 「4」 「2」 「4」 「3」 「2」가 되고, 그 수신 계열에 기초하여 메트릭의 계산을 행하면, 시점 「7」/내부 상태 「00」에 합류하는 패스는, 시점 「6」/내부 상태 「00」 또는 시점 「6」/내부 상태 「10」으로부터의 패스가 되지만, 시점 「6」/내부 상태 「00」으로부터의 패스에 관해서는, 시점 「6」/내부 상태 「00」에서의 패스 메트릭이 「34」인 것 및 시점 「6」/내부 상태 「00」으로부터 시점 「7」/내부 상태 「00」으로의 브랜치 메트릭이 「5」이기 때문에 패스의 개연성은 「39」가 되는 데 반하여, 시점 「6」/내부 상태 「10」으로부터의 패스에 관해서는, 시점 「6」/내부 상태 「10」에서의 패스 메트릭이 「29」인 것 및 시점 「6」/내부 상태 「10」으로부터 시점 「7」/내부 상태 「00」으로의 브랜치 메트릭이 「9」이기 때문에 패스의 개연성은 「38」로 되기 때문에, 시점 「7」/내부 상태 「00」에서의 패스 메트릭은 「38」이 되며, 시점 「6」/내부 상태 「10」으로부터 시점 「7」/내부 상태 「00」으로의 패스를 선택하게 된다. 또한, 도 17에 도시한 선 위에 표시된 「×」는 합류에 의해 각하된 패스를 나타내는 것이다.
그리고, 살아 남은 패스를 수신 데이터의 역방향으로 진행함으로써, 복호 결과를 얻을 수 있지만, 이 복호 결과로부터 알 수 있는 바와 같이, 4비트의 에러가 발생한 경우에는, 시점 「6」/내부 상태 「10」으로부터 시점 「7」/내부 상태 「00」으로의 패스의 선택에서 실패가 발생하고, 정보 계열에서 에러가 발생하기 때문에, 원래의 정보 계열을 얻을 수 없다.
이와 같이, 본 실시예에 따르면, ACS부(3)에서의 연산 비트수를 「6」으로 억제하면서, 에러 정정 특성의 향상을 도모할 수 있다. 또한, 도 18은 본 실시예를 이용한 경우의 비트 에러율(BER) 특성(입력 비트 정밀도 「4」)과 종래예에서의 비트 에러율(BER) 특성(입력 비트 정밀도 「3」 및 입력 비트 정밀도 「4」)을 비교한 BER 특성도, 또한 도 19는 도 18의 주요부를 확대한 도면으로, 동 도면으로부터 분명해진 바와 같이, 입력 비트 정밀도 「4」로 풀 연산한 종래예와 비교한 경우에 있어서 다소의 열화가 생기지만, 입력 비트 정밀도 「3」으로 풀 연산한 종래예와 비교하여 특성의 개선이 인식된다.
다음으로, 전술한 바와 같이 구성된 비터비 복호기에 대하여, 구속 길이 「9」/부호화 레이트 「1/3」을 사용한 경우에 대해 설명한다. 또한, 생성 다항식은,
GO=1+D2+D3+D5+D6+D7+D8
G1=1+D+D3+D4+D7+D8
G2=1+D+D2+D5+D8
을 이용한다.
도 20은 전술한 바와 같이 구성된 비터비 복호기에서의 브랜치 메트릭 계산부(1)의 구성예를 나타내는 것으로, 트렐리스 제너레이터(Trellis generator; 21)와 셀렉터(22, 23, 24)와 6비트 가산기(25, 26)로 구성되어 있다.
그리고, 트렐리스 제너레이터(21)는, 정보 비트 「0」으로부터의 메트릭을 구할지, 정보 비트 「1」로부터의 메트릭을 구할지의 결정을 행하도록 되어 있고, 내부 상태 「01111000b(=078h)」에서의 계산예는, 입력 데이터 「0」에 대해서는,
G0=1+1+1=1
G1=1+1=0
G2=1=1
로 되고, 입력 데이터 「1」에 대해서는,
G0=1+1+1+1=0
G1=1+1+1=1
G2=1+1=0
으로 된다.
또한, 셀렉터(22, 23, 24)는 G0, G1, G2가 「0」인 경우에는, 데이터(Data) A, B, C의 수신 레벨에 대하여 정보 비트 「0」에 대한 메트릭을 각각 사용하고, G0, G1, G2가 「1」인 경우에는 데이터 A, B, C의 수신 레벨에 대하여 정보 비트 「0」에 대한 메트릭을 각각 사용하도록 되어 있으며, 이 셀렉터(22, 23, 24)의 각 출력이 가산기(25, 26)에서 가산되어, 브랜치 메트릭 값 Y1, Y2로서 출력되도록 되어 있다.
또한, 입력 비트 정밀도를 3비트로 한 경우에는, 셀렉터(22, 23, 24)의 각 출력 값에 대한 값의 범위가 0∼7이기 때문에, 브랜치 메트릭의 범위는 0∼21(2진수로 10101b)로 되며, 필요한 비트 정밀도는 5비트가 되고, 입력 비트 정밀도를 4비트로 한 경우에는, 셀렉터(2, 23, 24)의 각 출력 값에 대한 값의 범위가 0∼15이기 때문에, 브랜치 메트릭의 범위는 0∼45(2진수로 101101b)로 되며, 필요한 비트 정밀도는 6비트가 된다.
도 21은 전술한 바와 같이 구성된 비터비 복호기에서의 비트 범위 변환부(11)의 구성예를 나타내는 것으로, 하위 비트 삭제부(31, 32)로 구성되어 있다. 이 하위 비트 삭제부(31, 32)는 브랜치 메트릭 계산부(1)로부터 출력된 브랜치 메트릭 값 Y1, Y2의 하위 비트를 각각 삭제하도록 되어 있고, 이 하위 비트를 삭제한 값이 ACS부(2)에서 연산 처리 가능한 비트 길이의 브랜치 메트릭 값 Y1', Y2'로서 출력된다. 즉, 예를 들면, 입력 비트 정밀도가 4비트인 경우에는, 브랜치 메트릭의 최대 값을 고려하여 브랜치 메트릭 길이는 6비트로 되어 있기 때문에, 이 비트 길이를 ACS부(2)에서 연산 처리 가능한 비트수인 5비트로 변경한다.
또한, 도 22에 도시한 바와 같이, 6비트 가산기(33, 34)에 의해 브랜치 메트릭 계산부(1)로부터 출력된 브랜치 메트릭 값 Y1, Y2에 「1」을 가산함으로써, 사사오입을 행하고 나서 하위 비트 삭제부(31, 32)에 의해 하위 비트를 삭제하도록 해도 된다.
도 23은 전술한 바와 같이 구성된 비터비 복호기에서의 ACS부(2)의 구성예를 나타내는 것으로, 6비트 가산기(41∼44)와 비교기(45, 46)와 셀렉터(47, 48)로 구성되어 있다. 이 중, 가산기(41)는 패스 메트릭 메모리(3)로부터의 데이터 K1과 비트 범위 변환부(11)로부터의 데이터 Y1'을 가산하여 pt00으로 하고, 가산기(42)는 패스 메트릭 메모리(3)로부터의 데이터 K1과 비트 범위 변환부(11)로부터의 데이터 Y2'를 가산하여 pt01로 하며, 가산기(43)는 패스 메트릭 메모리(3)로부터의 데이터 K2와 비트 범위 변환부(11)로부터의 데이터 Y2'를 가산하여 pt10으로 하고, 가산기(42)는 패스 메트릭 메모리(3)로부터의 데이터 K2와 비트 범위 변환부(11)로부터의 데이터 Y1'을 가산하여 pt11로 한다.
비교기(45)는 pt00과 pt10을 비교하여, 그 결과를 패스 데이터 값으로서 R1로 출력하고, 셀렉터(47)는 비교기(45)의 결과에 따라, pt00≤pt10이면 pt00을 선택하고, 또는 pt00>pt10이면 pt10을 선택하여, 새로운 패스 메트릭 S1로 한다. 한편, 비교기(46)는 pt01과 pt11을 비교하여, 그 결과를 패스 데이터 값으로서 R2로 출력하고, 셀렉터(48)는 비교기(46)의 결과에 따라, pt01≤pt11이면 pt01을 선택하고, 또는 pt01> pt11이면 pt11을 선택하여, 새로운 패스 메트릭 S2로 한다. 또한, 새로운 패스 메트릭 S1, S2는 패스 메트릭 메모리(3)에 저장된다.
그리고, 이러한 구성예에 의해서, 비터비 알고리즘에 의한 처리를 실현한 경우에는, 도 24에 도시한 바와 같은 BER 특성이 얻어진다. 또한, 도 24에는 코딩을 행하지 않은 경우, 입력 비트 정밀도를 3비트로, 연산 비트 길이를 6비트로 한 경우, 입력 비트 정밀도를 4비트로, 연산 비트 길이를 6비트로 하여 본 실시예를 사용한 경우, 입력 비트 정밀도를 4비트로, 연산 비트 길이를 6비트로 하고 본 실시예를 사용하지 않은 경우, 입력 비트 정밀도를 4비트로, 연산 비트 길이를 8비트로 하고 본 실시예를 사용하지 않은 경우의 그래프를 나타내고, 또한 그 주요부의 확대도를 도 25에 도시한다.
그리고, 동 도면으로부터 알 수 있는 바와 같이, 입력 비트 정밀도를 4비트로 하고 있는 경우에 있어서 본 실시예를 사용한 경우, 즉 브랜치 메트릭 값을 6비트로부터 5비트로 변환하고, 내부 연산 비트수를 6비트로 처리하고 있는 경우의 BER 특성은, 입력 비트수를 4비트로 하여 연산 비트수를 충분히 취한 경우, 즉 브랜치 메트릭 값을 그대로하여 내부 연산 비트 길이를 8비트로 하는 경우와 비교하여 다소 열화되지만, 입력 비트 정밀도를 3비트로 하여 연산 비트수를 충분히 취한 경우, 즉 내부 연산을 위한 회로 규모가 본 실시예와 동일한 경우에 비해 특성을 개선할 수 있다.
이상과 같이, 제1 요지 내지 제3 요지 중 어느 하나에 기재된 발명에 따르면, 패스 메트릭을 산출할 때의 연산 비트수를 증가시키지 않고, 입력 데이터의 비트 정밀도를 향상시킬 수 있기 때문에, 시스템 규모의 증대를 억제하면서, 에러 정정 특성을 향상시킬 수 있다.
이상과 같이, 시스템 규모의 증대를 억제하면서, 에러 정정 특성을 향상시킬 수 있는 비터비 복호기에 이용하는 데 적합하다.
Claims (3)
- 수신 계열에 기초하여 브랜치 메트릭 값을 산출하는 브랜치 메트릭 산출부와,상기 브랜치 메트릭 산출부에 의해 산출된 브랜치 메트릭 값의 비트 범위를 변환하는 비트 범위 변환부와,상기 비트 범위 변환부에 의해 비트 범위가 변환된 브랜치 메트릭 값에 기초하여 패스 메트릭 값을 산출하는 패스 메트릭 산출부와,상기 패스 메트릭 산출부에 의해 산출된 패스 메트릭 값에 기초하여 수신 부호를 복원하는 복호부를 설치한 것을 특징으로 하는 비터비 복호기.
- 제1항에 있어서,상기 비트 범위 변환부는, 상기 브랜치 메트릭 산출부에 의해 산출된 브랜치 메트릭 값의 하위 비트를 삭제함으로써 비트 범위를 변환하는 것을 특징으로 하는 비터비 복호기.
- 수신 신호 열에 기초하여 브랜치 메트릭 값을 산출함과 함께, 상기 브랜치 메트릭 값에 기초하여 패스 메트릭 값을 산출하고, 또한 상기 패스 메트릭 값에 기초하여 수신 신호를 복원하는 비터비 복호 방법에 있어서,상기 브랜치 메트릭 값의 비트 범위를 변환하고, 상기 비트 범위가 변환된 브랜치 메트릭 값에 기초하여 패스 메트릭 값의 산출을 행하는 것을 특징으로 하는 비터비 복호 방법.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2000/001523 WO2001069796A1 (en) | 2000-03-14 | 2000-03-14 | Viterbi decoder |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020048963A KR20020048963A (ko) | 2002-06-24 |
KR100490815B1 true KR100490815B1 (ko) | 2005-05-24 |
Family
ID=11735790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-7004693A KR100490815B1 (ko) | 2000-03-14 | 2000-03-14 | 비터비 복호기 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1265367A4 (ko) |
KR (1) | KR100490815B1 (ko) |
CN (1) | CN1211933C (ko) |
AU (2) | AU2943900A (ko) |
WO (1) | WO2001069796A1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100429870C (zh) * | 2005-08-08 | 2008-10-29 | 北京大学深圳研究生院 | 一种维特比译码器以及决定其中加比选单元数据位宽的方法 |
US20110167323A1 (en) * | 2010-01-07 | 2011-07-07 | Mediatek Inc. | Error-Correcting Apparatus and Method Thereof |
CN102904667B (zh) * | 2011-07-27 | 2015-05-20 | 开曼晨星半导体公司 | 一种用于lte中pbch解码的咬尾卷积码译码方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06338808A (ja) * | 1993-05-28 | 1994-12-06 | Matsushita Electric Ind Co Ltd | 加算比較選択装置 |
US5471500A (en) * | 1994-03-08 | 1995-11-28 | At&T Ipm Corp. | Soft symbol decoding |
JPH0832633A (ja) * | 1994-07-20 | 1996-02-02 | Toshiba Corp | トレリス復号器 |
KR100256270B1 (ko) * | 1997-08-30 | 2000-05-15 | 김영환 | 최소의 변이 상태값을 이용한 비터비 복호기 및복호 방법 |
-
2000
- 2000-03-14 AU AU2943900A patent/AU2943900A/xx active Pending
- 2000-03-14 KR KR10-2002-7004693A patent/KR100490815B1/ko not_active IP Right Cessation
- 2000-03-14 CN CNB008172153A patent/CN1211933C/zh not_active Expired - Fee Related
- 2000-03-14 WO PCT/JP2000/001523 patent/WO2001069796A1/ja active IP Right Grant
- 2000-03-14 AU AU2000229439A patent/AU2000229439B2/en not_active Ceased
- 2000-03-14 EP EP00908047A patent/EP1265367A4/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
CN1409899A (zh) | 2003-04-09 |
CN1211933C (zh) | 2005-07-20 |
EP1265367A1 (en) | 2002-12-11 |
EP1265367A4 (en) | 2005-06-15 |
WO2001069796A1 (en) | 2001-09-20 |
AU2943900A (en) | 2001-09-24 |
AU2000229439B2 (en) | 2004-10-14 |
KR20020048963A (ko) | 2002-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5537444A (en) | Extended list output and soft symbol output viterbi algorithms | |
US6061823A (en) | Error correcting/decoding apparatus and error correcting/decoding method | |
KR100580160B1 (ko) | 변형된 역추적 방식의 2단 연출력 비터비 알고리즘 복호화기 | |
JP3154679B2 (ja) | 連接符号の誤り訂正復号装置及び復号方法 | |
US6788750B1 (en) | Trellis-based decoder with state and path purging | |
US6999531B2 (en) | Soft-decision decoding of convolutionally encoded codeword | |
US20070220409A1 (en) | Symbol-level soft output viterbi algorithm (sova) and a simplification on sova | |
JP3846527B2 (ja) | ターボ符号の誤り訂正復号器、ターボ符号の誤り訂正復号方法、ターボ符号の復号装置およびターボ符号の復号システム | |
US20070011594A1 (en) | Application of a Meta-Viterbi algorithm for communication systems without intersymbol interference | |
JP2008118327A (ja) | ビタビ復号方法 | |
KR100490815B1 (ko) | 비터비 복호기 | |
JP3497399B2 (ja) | ビタビ復号器 | |
JP3823731B2 (ja) | 誤り訂正復号器 | |
US20050050433A1 (en) | Method of decoding a data word | |
US7900123B2 (en) | Method for near maximum-likelihood sequential decoding | |
US7975212B2 (en) | Sequential decoding method and apparatus thereof | |
JPH06284018A (ja) | ビタビ復号方法および誤り訂正復号化装置 | |
EP0807336B1 (en) | Method for forming transition metrics and a receiver of a cellular radio system | |
KR101134806B1 (ko) | 부호 복호 방법 | |
US6580769B1 (en) | Method and apparatus for backward recursion next state generation in recursive convolutional decoding | |
KR100627714B1 (ko) | 연판정 출력 비터비 알고리즘을 이용한 반복 복호방법 | |
CN115987302B (zh) | 奇偶校验支持的动态串行抵消列表翻转译码方法及*** | |
JP2591332B2 (ja) | 誤り訂正復号装置 | |
Sidorenko | Calculation of reliability of information symbols in perforated codes | |
JP2023173224A (ja) | 誤り訂正装置、誤り訂正方法、及び、誤り訂正プログラム |
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: 20100512 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |