KR100195745B1 - 비터비 복호화기의 가산 비교 선택 장치 - Google Patents

비터비 복호화기의 가산 비교 선택 장치 Download PDF

Info

Publication number
KR100195745B1
KR100195745B1 KR1019960035229A KR19960035229A KR100195745B1 KR 100195745 B1 KR100195745 B1 KR 100195745B1 KR 1019960035229 A KR1019960035229 A KR 1019960035229A KR 19960035229 A KR19960035229 A KR 19960035229A KR 100195745 B1 KR100195745 B1 KR 100195745B1
Authority
KR
South Korea
Prior art keywords
metrics
processing element
output
path
metric
Prior art date
Application number
KR1019960035229A
Other languages
English (en)
Other versions
KR19980015791A (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 KR1019960035229A priority Critical patent/KR100195745B1/ko
Priority to GB9717810A priority patent/GB2316587A/en
Priority to JP9226267A priority patent/JPH10200421A/ja
Priority to US08/916,665 priority patent/US5928378A/en
Priority to CN97116210A priority patent/CN1183681A/zh
Publication of KR19980015791A publication Critical patent/KR19980015791A/ko
Application granted granted Critical
Publication of KR100195745B1 publication Critical patent/KR100195745B1/ko

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

본 발명은 비터비 복호화기의 가산 비교 선택 장치에 관한 것으로서, 본 발명의 장치는 두 개의 경로 메트릭과 두 개의 브랜치 메트릭을 입력받아 두 개의 판정 비트와 두 개의 스테이트 메트릭을 출력하도록 되어진 프로세싱 엘리먼트가 다수개로 이루어져 있는 가산 비교 선택 장치에 있어서, N 개의 경로 메트릭을 입력받아 클럭 신호에 따라 두 개의 경로 메트릭을 선택하여 상기 프로세싱 엘리먼트(210)로 출력하는 다중화부(230)와; 상기 프로세싱 엘리먼트(210)로부터 출력된 두 개의 판정 비트를 입력받아 클럭 신호에 따라 N 개의 판정 비트로 역다중화하여 출력하는 제 1 역다중화부(250); 및 상기 프로세싱 엘리먼트(210)로부터 출력된 두 개의 스테이트 메트릭을 입력받아 클럭 신호에 따라 N 개의 스테이트 메트릭으로 역다중화하여 출력하는 제 2 역다중화부(270)를 더 구비하여 구성되어 있으며, 상기 본 발명에 따르면 동일한 프로세싱 엘리먼트로 처리하기 위해 동일한 브랜치 메트릭을 사용하는 다수의 스테이트들을 하나의 그룹으로 만들어 처리하므로써 하드웨어의 면적을 크게 감소시킬 수 있다.

Description

비터비 복호화기의 가산 비교 선택 장치
본 발명은 비터비 복호화기의 가산 비교 선택 장치에 관한 것으로서, 특히 비터비 복호화시 브랜치 메트릭(Branch metric)과 경로 메트릭(Path metric)을 입력받아 가산하고 비교하여 선택한 후, 판정 비트(decision bit)와 스테이트 메트릭(state metric)을 출력하는 가산 비교 선택부(ACSU: Adder Comparator Selector Unit)에 있어서 동일한 프로세싱 엘리먼트(processing element: PE)를 사용하게 될 다수의 스테이트(state)들을 그룹화하여 처리할 수 있도록 프로세싱 엘리먼트의 주변 회로를 더 구비하므로써 면적 효율을 증대시킨 비터비 복호화기의 가산 비교 선택 장치에 관한 것이다.
일반적으로 길쌈 부호화 방식에 의해 부호화된 부호어 시퀀스를 복호화하여 부호화되기 전의 비트 시퀀스, 즉 메세지 비트 시퀀스를 재생시키는 것을 길쌈 복호화(Convolution decoding)라고 말한다.
이와 같은 길쌈 복호화 방식에서는 최대 근사 복호화 방식(MLH: maximum likelihood decoding)을 이용하는데, 여기서 최대 근사 복호화 방식이라 함은 디지탈 신호가 전송중에 전송로상에서 오류가 발생한다는 가정하에 수신기에 수신된 부호어 시퀀스를 복호화하는 방식이다.
상기 최대 근사 복호화 방식을 기초로 해서 발전된 것이 바로 비터비 복호화(Viterbi decoding)방식이며, 이 방식은 최대 근사 복호화 방식의 복잡성을 매우 감소시킨 것으로 1967 년 비터비(Viterbi)에 의해 최초로 비터비 복호화 알고리즘이 개발, 분석되었고, 비터비 복호화에 대한 효율적이고 실제적인 기법은 헬러(Heller)에 의해 최초로 제시되었다.
비터비 복호화는 포워드 에러 정정(FEC: Forward Error Correcting) 길쌈 부호에 대한 최대 근사 복호화기법으로써, 통신 채널에서 높은 불규칙 에러(Random error) 정정 능력을 가지기 때문에 위성 통신에 적합한 방식이며, 이러한 비터비 복호기의 에러 정정은 부호기에서 출력된 모든 부호어 시퀀스에서 수신된 부호어에 가장 근접한 부호어를 선택하므로써 이루어진다.
즉, 비터비 복호화 알고리즘은 트렐리스도(Trellis diagram)를 사용하여 최대 근사 복호화를 수행하는 알고리즘으로 다이나믹 프로그래밍의 일종이라고 할 수 있는데, 비터비 복호화 알고리즘은 어느 시점에서 서로 다른 경로를 가진 2 개의 경로가 서로 만나면 이 2 개의 경로에 대한 경로 길이를 비교해서 경로 길이가 짧은, 즉 에러 발생 확률이 낮은 하나의 경로만 선택하고 이중 경로 길이가 긴 것은 경로 메모리(path memory)에서 지워버리는 것이다.
이때 남은 경로를 생존 경로(surviving path)라고 한다. 생존 경로의 결정은 매 시점에서 수행되는데 이때마다 경로 길이가 긴 경로는 삭제시킴으로써 복호화의 복잡성을 피하고 기억 용량의 증가를 방지할 수 있다.
도 1 의 (a)와 (b)는 비터비 복호화를 위한 트렐리스도를 나타낸 것으로서, 도 1 의 (a)에 도시된 바와 같이 유한 상태 장치(Finite state machine)는 트렐리스를 통해서 어떠한 경로를 선택하고, 관찰되는 상태의 천이로 인해 시간 간격 (k, k+1)의 브랜치 메트릭(branch metric:λ)이 계산된다. 이때 최대 근사 경로는 비터비 알고리즘에 의하여 반복적으로(recursive) 계산된다.
즉, 복호화시에는 수신 신호와 대응하는 브랜치의 코드간 거리, 즉 브랜치 메트릭(branch metric:λ)를 계산하게 되는데, 이 브랜치 메트릭(λ)은 신호 판별의 기준이 된다.이때, 상기 브랜치의 코드간 거리는 경판정(hard decision) 복호의 경우에는 해밍 거리(hamming distance)가 되고, 연판정(soft decision) 복호의 경우에는 유클리디안 거리(Euclidean distance)가 된다.
그리고, 상기와 같이 얻어진 브랜치 메트릭(λ)를 이용하여 시간 단계 k 의 각 노드들에 대한 최적 경로(optimum path)를 계산한다.
예를 들어, 시간 k+1 에서의 새로운 최적 경로는 시간 k 에서의 경로 메트릭(path metric: Υ)과 시간 간격 (k, k+1)의 브랜치 메트릭(λ)에 의해 계산된다.
도 1 의 (b) 에 도시된 바와 같이, 시간 k 의 노드 S1,k과 S2,k가 경로 메트릭 γ1,k, γ2,k를 각각 갖고 있다면, 노드 S1,k+1과 S2,k+1의 새로운 경로 메트릭 γ1,k+1, γ2,k+1은 다음 수학식 1 로부터 구해진다.
[수학식 1]
즉, 시간 단계 k+1 의 노드로 올 수 있는 경로의 종류는 시간 단계 k 의 상태(state) 변화에 따라 복수개가 존재하므로, 확률 정보(0 일 때 확률이 제일 높고, 크면 클수록 확률이 작음)인 브랜치 메트릭(λ)을 이용하여 확률적으로 가장 높은 것을 경로 메트릭(Υ)으로 찾는 것이다.
또한, 도 1 의 (b)에서 생존 깊이(survivor depth: D)는 경로들을 역추적(trace back)할 때, 매우 높은 확률로 합쳐지게(merge) 되는 시간 단계(time step)의 수를 의미하며, 이러한 생존 깊이(D)가 실제 구현시 비터비 알고리즘의 복호화 잠재력을 결정한다.
즉, 각 노드마다 상기 수학식 1 에 의해 경로 메트릭(Υ)을 갱신(update)하게 되면, 생존 깊이(D) 이전에 해당하는 각 경로의 스테이트(state)는 같게 되므로, 이처럼 같게 되는 정도까지 역추적하여 생존 깊이(D) 이전의 스테이트 변화를 출력하므로써 복호화하는 것이다.
한편, 도 2 는 일반적인 비터비 복호화기의 구성 블럭도로서, 일반적인 비터비 복호화기는 브랜치 메트릭 생성부(100: Branch Metrics Unit: BMU), 가산 비교 선택부(200: Adder Comparator Selector Unit: ACSU) 및 생존 메모리부(300: Survivor Memory Unit: SMU)로 구성된다.
여기서, 상기 브랜치 메트릭 생성부(100)는 수신 데이타를 입력받아 확률 정보에 해당하는 브랜치의 코드간의 거리인 브랜치 메트릭(λ)을 출력한다.
그리고, 상기 가산 비교 선택부(200)는 상기 브랜치 메트릭 생성부(100)로부터 브랜치 메트릭(branch metrics)을 입력받아 바로 전의 경로 메트릭에 가산하고 이때 서로 만나는 두개의 경로중에서 경로 메트릭이 긴 것을 삭제하고 나머지 경로 메트릭이 작은 것만 선택한 후, 그 선택된 새로운 경로 메트릭과 비교 결과인 판정 비트를 출력한다.
또한, 상기 생존 메모리부(300)는 상기 가산 비교 선택부(200)로부터 입력된 판정 비트를 저장한 다음, 그 판정 비트를 이용하여 원래의 정보 시퀀스를 찾아낸다.
상기와 같이 구성된 비터비 복호기에 대한 기본적인 동작 원리를 살펴보면 다음과 같다.
입력단으로 들어오는 데이타는 단계별로 연속해서 통과한다고 가정하자.
상기 브랜치 메트릭 생성부(100)는 입력 데이타를 받아서 각 브랜치에 대한 길이즉, 브랜치메트릭 λij,k를 계산하는데, 수신 부호어의 길이 즉, 부호기의 출력 부호어의 길이와 직접 관계가 있는 것으로 부호어의 구성 비트 수가 많을수록 회로가 복잡해진다. 예를 들면, 부호어가 2 비트로 구성되면 수신된 부호어 2 비트를 비교하기 위한 비교 부호어는 22개 즉, 4 개가 필요하고 4 번 비교하는데 대해 부호어가 3 비트로 구성되면 하나의 수신 부호어를 비교해서 브랜치 메트릭을 계산하는데는 23개 즉, 8 개의 비교 부호어가 필요하게 된다.
즉, 3 비트로 구성된 부호어가 전송중에 다른 부호어로 바뀔 가능성이 7 번 있으므로 하나의 부호어를 수신하는데 8 번 비교해야 한다.
또한, 부호어 길이가 길어지면 부호어 길이가 짧을 때보다 브랜치 메트릭의 결과 값이 커지게 되는데 결국, 브랜치 메트릭이 크다는 것은 이 브랜치 메트릭이 커진만큼 브랜치 메트릭을 기억하기 위한 기억 용량이 커져야 하므로 다음단의 가산 비교 선택부(200)가 복잡해지게 된다.
이어서, 상기 가산 비교 선택부(200)에서는 상기 브랜치 메트릭 생성부(100)로부터 브랜치 메트릭을 받아서 바로 전의 경로 메트릭에 더하고, 이때 서로 만나는 두개의 경로중에서 경로 메트릭이 긴 것을 삭제하고 나머지 경로 메트릭이 작은 것만 생존 경로로서 기억시킨다.
그리고, 상기 가산 비교 선택부(200)에서는 각 복호 사이클마다 상기 브랜치 메트릭 생성부(100)로부터 입력된 브랜치 메트릭을 이용하여 경로 메트릭을 갱신한 후 N 비트의 판정 비트를 다음단의 생존 메모리부(300)로 출력한다. 여기서, 상기 판정 비트는 가산 비교 선택부(200)내의 비교 동작에 의한 것으로, 각 상태(state)에서의 비교 결과를 말하며, 총 N 개의 상태로 이루어진 트렐리스도를 가정할 때 각 복호 사이클마다 N 비트를 얻게 된다. 이때 가산 비교 선택부(200)의 기능은 2k-1시프트 레지스터(도시하지 않음) 스테이트의 각각, 즉 각 노드(node)에서 행해지는데 복호화 속도가 높은 것이 요구될 때에는 가산 비교 선택부(200)를 2k-1개, 즉 각 노드마다 별도로 설치해야 하므로 복호화 속도가 높은 경우에는 가산 비교 선택부(200)가 복잡해진다.
따라서, 복호기를 간단히 하려면 가산 비교 선택부(200)를 구성하는 회로가 적정하게 설계되어야 한다.
이어서, 상기 생존 메모리부(300)는 상기 가산 비교 선택부(200)로부터 입력된 판정 비트를 저장하고, 이 저장된 판정 비트를 이용하여 원래의 정보 시퀀스를 찾아낸다.
도 3 은 도 2 에 도시된 가산 비교 선택부(200)를 구성하는 종래의 프로세싱 엘리먼트(processing element: PE)에 대한 블럭도로서, 종래의 프로세싱 엘리먼트(PE: 210)는 크게 제 1 처리부(220)와 제 2 처리부(240)로 나눌 수 있다.
상기 제 1 처리부(220)는 제 1-1 가산기(222), 제 1-2 가산기(224), 제 1 비교기(226) 및 제 1 선택기(228)로 구성되며, 상기 제 2 처리부(240)도 제 2-1 가산기(242), 제 2-2 가산기(244), 제 2 비교기(246) 및 제 2 선택기(248)로 구성된다.
도 3 을 참조하면, γX, γY는 프로세싱 엘리면트로 입력되는 6 비트 단위의 경로 메트릭을 나타내며, γX는 제 1 처리부(220)의 제 1-1 가산기(222)와 제 2 처리부(240)의 제 2-1 가산기(242)로 입력되고, γY는 제 1 처리부(220)의 제 1-2 가산기(224)와 제 2 처리부(240)의 제 2-2 가산기(244)로 입력된다.
그리고, λXY은 브랜치 메트릭 생성부(100: 도 2 참조)로부터 입력되는 4 비트 단위의 브랜치 메트릭을 나타내는 것으로, λX는 제 1 처리부(220)의 제 1-1 가산기(222)와 제 2 처리부(240)의 제 2-2 가산기(244)로 입력되고, λY는 제 1 처리부(220)의 제 1-2 가산기(224)와 제 2 처리부(240)의 제 2-1 가산기(242)로 입력된다.
한편, 제 1 처리부(220)의 제 1 비교기(226)와 제 2 처리부(240)의 제 2 비교기(246)로부터 출력된 제 1 판정 비트와 제 2 판정 비트는 다음단의 생존 메모리부(300: 도 2 참조)로 입력된다.
이어서, 도 3 을 참조하여 가산 비교 선택부(200)를 구성하는 한 개의 프로세싱 엘리먼트(210)에 대한 동작은 다음과 같다.
우선, 제 1 처리부(220)에 대해서 살펴보면, 경로 메트릭 γX와 브랜치 메트릭 λX 제 1-1 가산기(222)로 입력되어 가산된 후 그 가산치가 출력되고, 경로 메트릭 γY와 브랜치 메트릭 λY 제 1-2 가산기(224)로 입력되어 가산된 후 그 가산치가 출력된다.
상기 제 1-1 가산기(222)로부터의 가산치와 상기 제 1-2 가산기(224)로부터의 가산치는 제 1 비교기(226)로 입력되어 비교된다. 그 비교 결과, 상기 제 1-1 가산기(222)로부터의 가산치가 상기 제 1-2 가산기(224)로부터의 가산치보다 큰 경우에는 제 1 판정 비트가 0으로 출력되고, 반대의 경우에는 1로 출력된다.
상기 제 1 비교기(226)로부터의 제 1 판정 비트는 제 1 선택기(228)의 선택 신호로 사용되는데, 제 1 판정 비트가 0 으로 출력된 경우에는 상기 제 1-1 가산기(222)로부터의 가산치가 선택되어 스테이트 메트릭으로 출력되고, 제 1 판정 비트가 1 으로 출력된 경우에는 상기 제 1-2 가산기(224)로부터의 가산치가 선택되어 스테이트 메트릭으로 출력된다.
한편, 제 2 처리부(240)에 대해서 살펴보면, 경로 메트릭 γX와 브랜치 메트릭 λY 제 2-1 가산기(242)로 입력되어 가산된 후 그 가산치가 출력되고, 경로 메트릭 γY와 브랜치 메트릭 λX 제 2-2 가산기(244)로 입력되어 가산된 후 그 가산치가 출력된다.
상기 제 2-1 가산기(242)로부터의 가산치와 상기 제 2-2 가산기(244)로부터의 가산치는 제 2 비교기(246)로 입력되어 비교된다. 그 비교 결과, 상기 제 2-1 가산기(242)로부터의 가산치가 상기 제 2-2 가산기(244)로부터의 가산치보다 큰 경우에는 제 2 판정 비트가 0으로 출력되고, 반대의 경우에는 1로 출력된다.
상기 제 2 비교기(226)로부터의 제 2 판정 비트는 제 2 선택기(228)의 선택 신호로 사용되는데, 제 2 판정 비트가 0 으로 출력된 경우에는 상기 제 2-1 가산기(242)로부터의 가산치가 선택되어 스테이트 메트릭으로 출력되고, 제 2 판정 비트가 1 으로 출력된 경우에는 상기 제 2-2 가산기(244)로부터의 가산치가 선택되어 스테이트 메트릭으로 출력된다.
상술한 바와 같이 종래의 프로세싱 엘리먼트에서는 두 개의 스테이트를 그룹화하여 처리하도록 되어 있는데, 예를 들어 전체 스테이트의 수가 64 인 경우에는 도 3 에 도시된 종래의 프로세싱 엘리먼트(210)가 32 개(PE0∼PE31) 필요하다.
즉, 각 32 개의 프로세싱 엘리먼트는 입력값으로 두 개의 브랜치 메트릭(네가지 0, 1, 2, 3 네가지중 두 개)과 두 개의 경로 메트릭을 가지며, 출력값으로는 두 개의 판정 비트와 두 개의 스테이트 메트릭을 가진다.
0 번째 프로세싱 엘리먼트(PE0), 2 번째 프로세싱 엘리먼트(PE2), 12 번째 프로세싱 엘리먼트(PE12), 14 번째 프로세싱 엘리먼트(PE14), 21 번째 프로세싱 엘리먼트(PE21), 23 번째 프로세싱 엘리먼트(PE23), 25 번째 프로세싱 엘리먼트(PE25) 및 27 번째 프로세싱 엘리먼트(PE27)는 공통적으로 (0,3)을 브랜치 메트릭으로 사용하고 있다.
이때, 0 번째 프로세싱 엘리먼트(PE0)의 출력값중 하나의 스테이트 메트릭은 0 번째 프로세싱 엘리먼트(PE0)의 입력값중 하나의 경로 메트릭으로 입력되고, 출력값중 다른 하나의 스테이트 메트릭은 16 번째 프로세싱 엘리먼트(PE16)의 입력값중 하나의 경로 메트릭으로 입력된다.
그리고, 1 번째 프로세싱 엘리먼트(PE1)의 출력값중 하나의 스테이트 메트릭은 0 번째 프로세싱 엘리먼트(PE0)의 입력값중 다른 하나의 경로 메트릭으로 입력되고, 출력값중 다른 하나의 스테이트 메트릭은 16 번째 프로세싱 엘리먼트(PE16)의 입력값중 하나의 경로 메트릭으로 입력된다.
마찬가지로 나머지 프로세싱 엘리먼트(PE2∼PE31)들도 상기와 같이 서로 복잡하게 연결되어 있다.
상기와 같이 두 개의 스테이트를 처리하도록 구현된 프로세싱 엘리먼트는 한 개의 스테이트를 처리하도록 구현된 프로세싱 엘리먼트보다 개선된 것이기는 하나, 좀 더 개선할 필요가 있다.
즉, 최근 특정 용도 집적회로(ASIC: Application Specific Integrated Circuits) 또는 전용 집적회로 제조 기술이 급속히 발전되면서 두 개의 스테이트를 처리하도록 구현된 종래의 프로세싱 엘리먼트를 개선하여 다수개의 스테이트를 처리할 수 있도록 하드웨어를 구현함으로써 면적의 효율을 더욱 증대시킬 필요성이 제기된다.
따라서, 본 발명은 상기와 같은 요구를 충족하기 위하여 안출된 것으로서, 비터비 복호화시 가산 비교 선택 동작을 수행하는 경우, 동일한 프로세싱 엘리먼트를 사용하게 될 다수의 스테이트들을 그룹화하여 처리할 수 있도록 하기 위해 종래의 프로세싱 엘리먼트에다가 간단한 주변 회로를 더 구비하므로써 면적 효율을 더욱 증대시킨 비터비 복호화기의 가산 비교 선택 장치를 제공하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 비터비 복호화기의 가산 비교 선택장치는, 두 개의 경로 메트릭과 두 개의 브랜치 메트릭을 입력받아 두 개의 판정 비트와 두 개의 스테이트 메트릭을 출력하도록 되어진 프로세싱 엘리먼트가 다수개로 이루어져 있는 가산 비교 선택 장치에 있어서, N 개의 경로 메트릭을 입력받아 클럭 신호에 따라 두 개의 경로 메트릭을 선택하여 상기 프로세싱 엘리먼트로 출력하는 다중화부와; 상기 프로세싱 엘리먼트로부터 출력된 두 개의 판정 비트를 입력받아 클럭 신호에 따라 N 개의 판정 비트로 역다중화하여 출력하는 제 1 역다중화부; 및 상기 프로세싱 엘리먼트로부터 출력된 두 개의 스테이트 메트릭을 입력받아 클럭 신호에 따라 N 개의 스테이트 메트릭으로 역다중화하여 출력하는 제 2 역다중화부를 더 구비하여 구성된 것을 특징으로 한다.
상기 본 발명에 따르면 두 개의 경로 메트릭과 두 개의 브랜치 메트릭을 입력받아 두 개의 판정 비트와 두 개의 스테이트 메트릭을 출력하도록 되어진 종래의 프로세싱 엘리먼트에다가 동일한 프로세싱 엘리먼트로 처리할 다수의 스테이트들을 하나의 그룹으로 만들어 처리할 수 있도록 하기 위한 주변 회로를 간단하게 추가하므로써 하드웨어의 면적을 크게 감소시킬 수 있다.
도 1 의 (a)와 (b)는 비터비 복호화를 위한 트렐리스도,
도 2 는 일반적인 비터비 복호화기의 구성 블럭도,
도 3 은 도 2 에 도시된 가산 비교 선택부를 구성하는 종래의 프로세싱 엘리먼트에 대한 블럭도,
도 4 는 본 발명에 따른 비터비 복호화기의 가산 비교 선택 장치에 대한 부분 구성 블럭도이다.
* 도면의 주요부분에 대한 부호의 설명 *
100 ... 브랜치 메트릭 생성부 200 ... 가산 비교 선택부
210 ... 프로세싱 엘리먼트 230 ... 다중화부
250 ... 제 1 역다중화부 270 ... 제 2 역다중화부
300 ... 생존 메모리부
이하, 첨부된 도면을 참조하여 본 발명의 실시예에 대하여 상세히 설명하기로 한다.
도 4 는 본 발명에 따른 비터비 복호화기의 가산 비교 선택 장치에 대한 부분 구성 블럭도로서, 본 발명의 일실시예에 해당하는 가산 비교 선택 장치는 다수개의 프로세싱 엘리먼트로 구성되어 있으나 설명의 편의상 한 개의 프로세싱 엘리먼트에 대해서만 설명하기로 하고, 전체의 스테이트 수가 64 개인 경우에 대해서만 예를 들어 살펴보기로 한다. 여기서, PA0, PA1, PB0, PB1 는 다중화부(230)로 입력되는 6 비트 단위의 경로 메트릭이며, γX, γY는 다중화부(230)에서 출력되는 6 비트 단위의 경로 메트릭이고, λX, λY는 프로세싱 엘리먼트(210)로 입력되는 4 비트 단위의 브랜치 메트릭이며, DA0, DA1, DB0, DB1 는 제 1 역다중화부(250)로부터 출력되는 판정 비트이고, SA0, SA1, SB0, SB1 은 제 2 역다중화부(270)로부터 출력되는 6 비트 단위의 스테이트 메트릭이다.
도 4 에 도시된 바와 같이, 본 발명의 실시예는 4 개의 스테이트가 하나의 동일한 프로세싱 엘리먼트로 처리될 수 있도록 주변 회로를 구성하였다.
즉, 본 발명에 따른 비터비 복호화기의 가산 비교 선택 장치는 프로세싱 엘리먼트(210)와: 다중화부(230); 제 1 역다중화부(250); 및 제 2 역다중화부(270)로 구성되어 있다.
상기 프로세싱 엘리먼트(210)는 도 3 에 도시된 종래의 프로세싱 엘리먼트와 동일한 것으로서, 두 개의 경로 메트릭(γX, γY)과 두 개의 브랜치 메트릭(λX, λY)을 입력받아 두 개의 판정 비트(제 1 판정 비트, 제 2 판정 비트)와 두 개의 스테이트 메트릭을 출력한다. 좀 더 구체적인 언급은 종래 기술에서 이미 살펴보았으므로 여기서는 생략하기로 한다.
상기 다중화부(230)는 4 개의 경로 메트릭(PA0, PA1 과 PB0, PB1)을 입력받아 클럭 신호(clk)에 따라 두 개의 경로 메트릭(γX, γY= PA0, PA1 또는 PB0, PB1)을 선택하여 상기 프로세싱 엘리먼트(210)로 출력한다.
상기 제 1 역다중화부(250)는 상기 프로세싱 엘리먼트(210)로부터 출력된 두 개의 판정 비트(제 1 판정 비트, 제 2 판정 비트)를 입력받아 클럭 신호(clk)에 따라 4 개의 판정 비트(DA0, DA1, DB0, DB1)로 역다중화하여 출력한다.
상기 제 2 역다중화부(270)는 상기 프로세싱 엘리먼트(210)로부터 출력된 두 개의 스테이트 메트릭을 입력받아 클럭 신호(clk)에 따라 4 개의 스테이트 메트릭(SA0, SA1, SB0, SB1)으로 역다중화하여 출력한다.
이어서, 상기와 같이 구성되는 본 발명의 실시예에 대한 동작과 효과를 살펴보면 다음과 같다.
동일한 브랜치 메트릭을 사용하는 스테이트들은 시스템이 동작해야할 최고 속도와 ASIC 셀 라이브러리의 특성에 맞게 그 그룹의 크기를 결정하면 된다.
본 발명에서는 0.5 미크론의 기술을 이용하는 ASIC 셀 라이브러리를 사용하고, 유럽의 디지탈 화상 방송(DVB: Digital Video Broadcasting)의 규격상 80MHz 이상 동작을 하여야 하므로 동일한 브랜치 메트릭(즉, 0, 3)을 사용하는 스테이트가 0, 2, 12, 14, 21, 23, 25, 27, 36, 38, 40, 42 … 라고 할때 4 개의 스테이트 0, 2, 12, 14 를 하나의 그룹으로하여 동일한 프로세싱 엘리먼트를 사용하도록 하였다.
도 4 를 참조하면, 4 개의 6 비트 경로 메트릭 PA0, PA1, PB0, PB1 이 다중화부(230)로 입력되면 클럭 신호(clk)에 따라 경로 메트릭 PA0, PA1 이 선택되든지 경로 메트릭 PB0, PB1 이 선택된다. 즉, 클럭 신호(clk)는 상기 다중화부(230)의 선택 신호로서 동작하는데, 클럭(clk)이 하이 인 경우에는 경로 메트릭 PA0, PA1 이 선택되고, 클럭(clk)이 로우 인 경우에는 경로 메트릭 PB0, PB1 이 선택된다. 상기 다중화부(230)에서 선택된 경로 메트릭(γX, γY= PA0, PA1 또는 PB0, PB1)은 프로세싱 엘리먼트(210)로 입력되고, 또한 브랜치 메트릭 생성부(도 2 참조:100)로부터의 브랜치 메트릭(λX, λY)도 상기 프로세싱 엘리먼트(210)로 입력된다.
상기 프로세싱 엘리먼트(210)에서는 동일한 브랜치 메트릭을 사용하는 2 개의 스테이트를 처리하는 것이기 때문에 결과값이 각각 두 개씩 발생한다. 즉, 경로 메트릭 γX와 브랜치 메트릭 λX 가산된 후 그 가산치가 출력되고, 경로 메트릭 γY와 브랜치 메트릭 λY도 가산된 후 그 가산치가 출력된다. 한편, 경로 메트릭 γX와 브랜치 메트릭 λY 가산된 후 그 가산치가 출력되고, 경로 메트릭 γY와 브랜치 메트릭 λX도 가산된 후 그 가산치가 출력된다. 각각의 상기 두 가산치는 비교된 후 그 비교 결과에 따라 제 1 판정 비트와 제 2 판정 비트가 0 또는 1로 출력된다. 상기 제 1 판정 비트 또는 제 2 판정 비트는 각각의 상기 두 가산치중 한 가산치를 선택하는 신호로 사용되는데, 상기 제 1 판정 비트 또는 제 2 판정 비트에 따라 한 가산치가 선택되어 스테이트 메트릭으로 출력된다.
상기 프로세싱 엘리먼트(210)에서 출력된 제 1 판정 비트와 제 2 판정 비트는 제 1 역다중화부(250)로 입력되고, 클럭 신호(clk)에 따라 역다중화가 수행되어 4 개의 판정 비트(DA0, DA1, DB0, DB1)가 출력된다. 이때, 출력된 4 개의 판정 비트(DA0, DA1, DB0, DB1)는 다음단의 생존 메모리부(도 2 참조: 300)에 저장되고, 이 저장된 판정 비트를 이용하여 원래의 정보 시퀀스를 찾아낸다.
그리고, 상기 프로세싱 엘리먼트(210)에서 출력된 두 개의 스테이트 메트릭들은 제 2 역다중화부(270)로 입력되고, 클럭 신호(clk)에 따라 역다중화가 수행되어 4 개의 스테이트 메트릭(SA0, SA1, SB0, SB1)가 출력된다.
상기와 같이 본 발명은 클럭당 두 번의 동작을 하는 것이나, 보다 빠른 ASIC 셀 기술을 사용한다거나 또는 유럽의 디지탈 화상 방송(DVB) 규격의 80MHz 보다 낮은 주파수로 동작시킬 경우에는 두 번이 아닌 네 번 이상도 가능하게 된다.
결국, 전체 스테이트 수가 64 인 경우, 종래에는 동일한 브랜치 메트릭을 사용하는 2 개의 스테이트를 동일한 프로세싱 엘리먼트로 처리했기 때문에 32 개의 프로세싱 엘리먼트가 필요하나, 본 발명에서는 종래의 프로세싱 엘리먼트에 다중화부와 역다중화부를 추가하여 동일한 브랜치 메트릭을 사용하는 4 개의 스테이트를 동일한 프로세싱 엘리먼트로 처리하므로써 16 개의 프로세싱 엘리먼트만이 필요하게 되어 하드웨어의 면적을 50% 정도 감소시킬 수 있다. 이것은 단순히 프로세싱 엘리먼트의 갯수가 줄어들어서 면적이 줄어든 것이 아니다. 즉, ASIC 은 셀 영역(Cell area)과 커넥션 영역(Connection area)으로 구성되는데, 브랜치 메트릭의 공유(branch metric sharing)를 통해 커넥션 영역을 크게 줄인 것이다.
상기에서 서술된 실시예는 모든 점에서 예시에 불과한 것이고, 이를 한정적으로 해석해서는 안되며, 단지 본 발명의 진정한 정신 및 범위내에 존재하는 변형예는 모두 본 발명의 청구 범위에 속하는 것이다.
이상에서 서술한 바와 같이 본 발명에 따르면 동일한 프로세싱 엘리먼트로 처리하기 위해 동일한 브랜치 메트릭을 사용하는 다수의 스테이트들을 하나의 그룹으로 만들어 처리하므로써 하드웨어의 면적을 크게 감소시킬 수 있다는 데 그 효과가 있다.

Claims (1)

  1. 두 개의 경로 메트릭과 두 개의 브랜치 메트릭을 입력받아 두 개의 판정 비트와 두 개의 스테이트 메트릭을 출력하도록 되어진 프로세싱 엘리먼트가 다수개로 이루어져 있는 가산 비교 선택 장치에 있어서, N 개의 경로 메트릭을 입력받아 클럭 신호에 따라 두 개의 경로 메트릭을 선택하여 상기 프로세싱 엘리먼트로 출력하는 다중화부와; 상기 프로세싱 엘리먼트로부터 출력된 두 개의 판정 비트를 입력받아 클럭 신호에 따라 N 개의 판정 비트로 역다중화하여 출력하는 제 1 역다중화부; 및 상기 프로세싱 엘리먼트로부터 출력된 두 개의 스테이트 메트릭을 입력받아 클럭 신호에 따라 N 개의 스테이트 메트릭으로 역다중화하여 출력하는 제 2 역다중화부를 더 구비하여 구성된 것을 특징으로 하는 비터비 복호화기의 가산 비교 선택 장치.
KR1019960035229A 1996-08-23 1996-08-23 비터비 복호화기의 가산 비교 선택 장치 KR100195745B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1019960035229A KR100195745B1 (ko) 1996-08-23 1996-08-23 비터비 복호화기의 가산 비교 선택 장치
GB9717810A GB2316587A (en) 1996-08-23 1997-08-21 Multiplexing add-compare-select processors in Viterbi dedcoders
JP9226267A JPH10200421A (ja) 1996-08-23 1997-08-22 ビタビデコーダにおける加算/比較/選択処理器
US08/916,665 US5928378A (en) 1996-08-23 1997-08-22 Add-compare-select processor in Viterbi decoder
CN97116210A CN1183681A (zh) 1996-08-23 1997-08-25 韦特比解码器中的相加-比较-选择处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960035229A KR100195745B1 (ko) 1996-08-23 1996-08-23 비터비 복호화기의 가산 비교 선택 장치

Publications (2)

Publication Number Publication Date
KR19980015791A KR19980015791A (ko) 1998-05-25
KR100195745B1 true KR100195745B1 (ko) 1999-06-15

Family

ID=19470598

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960035229A KR100195745B1 (ko) 1996-08-23 1996-08-23 비터비 복호화기의 가산 비교 선택 장치

Country Status (5)

Country Link
US (1) US5928378A (ko)
JP (1) JPH10200421A (ko)
KR (1) KR100195745B1 (ko)
CN (1) CN1183681A (ko)
GB (1) GB2316587A (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69706639T2 (de) * 1996-12-24 2002-02-07 Matsushita Electric Ind Co Ltd Datenprozessor und Verfahren zur Datenverarbeitung
JP3338374B2 (ja) * 1997-06-30 2002-10-28 松下電器産業株式会社 演算処理方法および装置
US6070263A (en) * 1998-04-20 2000-05-30 Motorola, Inc. Circuit for use in a Viterbi decoder
US6219389B1 (en) * 1998-06-30 2001-04-17 Motorola, Inc. Receiver implemented decoding method of selectively processing channel state metrics to minimize power consumption and reduce computational complexity
ATE242945T1 (de) * 1998-12-18 2003-06-15 Ericsson Telefon Ab L M Verfahren und system zur schnellen maximale-a- posteriori-dekodierung
US6343368B1 (en) 1998-12-18 2002-01-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for fast maximum a posteriori decoding
DE19937506A1 (de) * 1999-08-09 2001-04-19 Infineon Technologies Ag ACS-Einheit für einen Viterbi-Decodierer
US6415415B1 (en) 1999-09-03 2002-07-02 Infineon Technologies North America Corp. Survival selection rule
US6333954B1 (en) * 1999-10-21 2001-12-25 Qualcomm Incorporated High-speed ACS for Viterbi decoder implementations
US6769090B1 (en) 2000-08-14 2004-07-27 Virata Corporation Unified technique for multi-rate trellis coding and decoding
EP1220455A1 (en) * 2000-12-29 2002-07-03 Motorola, Inc. Viterbi decoder, method and unit therefor
US6693975B2 (en) 2001-01-26 2004-02-17 Virata Corporation Low-order HDSL2 transmit filter
AU2002364572A1 (en) * 2001-12-18 2003-07-09 Globespan Virata Incorporated System and method for rate enhanced shdsl
US7127667B2 (en) * 2002-04-15 2006-10-24 Mediatek Inc. ACS circuit and viterbi decoder with the circuit
US7020223B2 (en) * 2002-04-16 2006-03-28 Intel Corporation Viterbi decoder and method using sequential two-way add-compare-select operations
GB2389020B (en) * 2002-05-23 2006-02-01 Ubinetics Ltd Blind transport format detection for transmission link
US7463702B2 (en) * 2002-11-12 2008-12-09 Agere Systems Inc. System and method for one-pass blind transport format detection
UA89024C2 (ru) * 2003-02-18 2009-12-25 Квелкомм Инкорпорейтед Способ и устройство для управления скоростью передачи обратной линии (варианты)
DE10310812B4 (de) * 2003-03-12 2007-11-22 Infineon Technologies Ag Dekodiervorrichtung, Trellis-Prozessor und Verfahren
US20040255230A1 (en) * 2003-06-10 2004-12-16 Inching Chen Configurable decoder
DE102004003096B3 (de) * 2004-01-21 2005-11-24 Infineon Technologies Ag Schaltung zur Durchführung der Add-Compare-Select-Operation mit darüber hinausgehender Funktionalität
US8185810B1 (en) * 2007-04-13 2012-05-22 Link—A—Media Devices Corporation Low power viterbi trace back architecture
US7847626B2 (en) * 2008-03-04 2010-12-07 Micron Technology, Inc. Structure and method for coupling signals to and/or from stacked semiconductor dies
CN101321035B (zh) * 2008-07-09 2012-03-21 上海华为技术有限公司 差值上限获取方法、定点方法及装置
TWI422165B (zh) * 2009-10-16 2014-01-01 Mstar Semiconductor Inc 解碼方法及其裝置
KR102025338B1 (ko) * 2011-12-28 2019-09-26 삼성전자 주식회사 신호 처리 장치, 이를 구비한 디스플레이 장치 및 신호 처리 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5291499A (en) * 1992-03-16 1994-03-01 Cirrus Logic, Inc. Method and apparatus for reduced-complexity viterbi-type sequence detectors
US5414738A (en) * 1993-11-09 1995-05-09 Motorola, Inc. Maximum likelihood paths comparison decoder
US5530707A (en) * 1994-03-09 1996-06-25 At&T Corp. Area-efficient decoders for rate-k/n convolutional codes and other high rate trellis codes

Also Published As

Publication number Publication date
CN1183681A (zh) 1998-06-03
US5928378A (en) 1999-07-27
GB2316587A (en) 1998-02-25
JPH10200421A (ja) 1998-07-31
KR19980015791A (ko) 1998-05-25
GB9717810D0 (en) 1997-10-29

Similar Documents

Publication Publication Date Title
KR100195745B1 (ko) 비터비 복호화기의 가산 비교 선택 장치
US4606027A (en) Error correction apparatus using a Viterbi decoder
EP0967730B1 (en) Convolutional decoder with modified metrics
US4583078A (en) Serial Viterbi decoder
JP5265083B2 (ja) 複数ステップ・トレリスを使用するソフト出力ビタビ検出の方法および装置
KR100212836B1 (ko) 비터비 디코더의 트레이스백 진행 구조
JPH07221655A (ja) 通信システムおよび情報処理方法
KR100779782B1 (ko) 비터비 디코더 용 고속 acs 유닛
KR100195741B1 (ko) 가변 레이트 비터비 복호화기
JP2000209106A (ja) 高速ビタビ復号器の最小量のメモリによる実現
KR100309517B1 (ko) 비타비복호장치
EP3996285A1 (en) Parallel backtracking in viterbi decoder
US8566683B2 (en) Power-reduced preliminary decoded bits in viterbi decoders
US6654929B1 (en) Viterbi decoder and Viterbi decoding method
JP3259725B2 (ja) ビタビ復号装置
US7225393B2 (en) Viterbi decoder and Viterbi decoding method
KR0169680B1 (ko) 비터비 복호기
KR0169681B1 (ko) 비터비 복호기
KR100359805B1 (ko) 비터비 디코더 및 비터비 디코더의 디코딩 방법
KR0169678B1 (ko) 비터비 복호기
KR100491016B1 (ko) 역방향 상태 천이의 연속적 제어에 의한 역추적 비터비복호기 및 그 방법
KR100192794B1 (ko) 비터비 디코더의 트레이스백 진행 구조
KR950010772B1 (ko) 비터비 복호기의 집적화 실현에 적합한 트레이스백 회로
JPH0697843A (ja) ビタビ復号回路
Sutagundar et al. CMOS implementation of Viterbi decoder

Legal Events

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

Payment date: 20110201

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee