KR20070098201A - 병렬 구조의 비터비 복호기 - Google Patents

병렬 구조의 비터비 복호기 Download PDF

Info

Publication number
KR20070098201A
KR20070098201A KR1020060029533A KR20060029533A KR20070098201A KR 20070098201 A KR20070098201 A KR 20070098201A KR 1020060029533 A KR1020060029533 A KR 1020060029533A KR 20060029533 A KR20060029533 A KR 20060029533A KR 20070098201 A KR20070098201 A KR 20070098201A
Authority
KR
South Korea
Prior art keywords
state
viterbi decoder
tbm
branch metric
parallel
Prior art date
Application number
KR1020060029533A
Other languages
English (en)
Inventor
신형식
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020060029533A priority Critical patent/KR20070098201A/ko
Publication of KR20070098201A publication Critical patent/KR20070098201A/ko

Links

Images

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/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
    • 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
    • H03M13/6505Memory efficient implementations
    • 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/6561Parallelized implementations

Landscapes

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

Abstract

본 발명은 비터비 복호기에 관한 것으로, 고속 무선랜 통신 시스템을 위한 병렬 구조의 비터비 복호기에 관한 것이다. 다중 반송파 방식 무선 LAN에서는 오류정정을 위해 구속장이 7인 64-state 길쌈 부호를 사용하고, 여기에 사용되는 복호기로서 비터비 복호기를 사용한다. 여기서, 고속의 비터비 복호기를 설계하기 위해서는 일반적으로 병렬 나비 구조의 ACS(가산 비교 선택부)를 필요로 하지만, 많은 ACS를 사용함으로써 하드웨어의 복잡도가 증가된다는 문제점이 있었다. 이에 대하여 본 발명은 병렬 구조의 비터비 복호기로서, 고속 저 전력 시스템에 용이한 브렌치 메트릭값 계산 방법을 사용하는 병렬 구조의 비터비 복호기를 제공한다.
비터비, 복호기, 브렌치, 메트릭

Description

병렬 구조의 비터비 복호기{Parallel Viterbi Decoder}
도 1은 IEEE 802.11a 무선랜 시스템을 나타낸 구성 블록도이다.
도 2는 일반적인 비터비 복호기의 구조를 나타낸 구성 블록도이다.
도 3은 본 발명의 바람직한 실시 예에 따른 병렬 구조의 비터비 복호기의 구성 블록도이다.
도 4는 도 3에서의 브렌치 메트릭 연산부(301)의 병렬 구조를 나타낸 기능 블록도이다.
도 5는 도 3에서의 가산 비교 선택부(302)의 병렬 구조를 나타낸 기능 블록도이다.
도 6은 도 3에서의 역추적 메모리(TBM)(305)의 동작 상태에 따른 메모리 영역을 나타낸 도면이다.
도 7은 도 3에서의 TBM(305)의 관리 구조를 나타낸 도면이다.
도 8은 도 3에서의 LIFO(307)의 구조를 나타낸 도면이다.
<도면의 주요 부분에 대한 부호의 설명>
100 : 전송단 110 : 수신단
201, 301 : BMC 202, 302 : ACS
203, 303, 304 : SM 205, 305 : TBM
204, 306 : MSG 206, 307 : LIFO
401 : STATE 402 : 코드워드 발생기
403 : 브렌치 메트릭 발생기 404 : D 플립플롭
501 : 가산 비교 선택부 502 : 제한기
본 발명은 병렬 구조의 비터비 복호기에 관한 것으로, 고속 무선랜 통신 시스템을 위한 병렬 구조의 비터비 복호기에 관한 것이다.
급증하는 정보통신 수요와 다양한 정보매체의 이용이 늘어남에 따라 고속 통신 시스템이 요구되고 있다. IEEE 802.11 표준화 그룹에서는 5GHz 대역에서 6-54Mbps의 데이터 전송이 가능한 OFDM 방식의 고속 무선 LAN 시스템 표준인 IEEE 802.11a를 확정하였다.
이 표준에서는 전송하고자 하는 데이터의 속도에 따라 변조방식과 부호율 등에 차이가 있는데, OFDM 전송 시스템 기저대역 모뎀에서 송수신 과정에서 발생되는 비트 오류율의 크기를 작게하기 위해 송신데이터는 우선 길쌈 부호화기에 의해 부호화 되고 수신단의 최종단에서 비터비 복호기을 이용하여 다시 복호화 된다.
도 1은 IEEE 802.11a 무선랜 시스템을 나타낸 구성 블록도이다.
도 1의 동작을 간단히 살펴보면, 송신단에서는 구속장 길이 7인 길쌈부호기(convolutional encoder)를 사용하고 채널 부호화를 수행하여 신호를 전송한다. 수 신단에서는 전송단(100)에서 채널 부호화가 수행된 상기 신호를 수신단(110)에서 복호하기 위해 최우(maximum likelihood) 복호기를 사용한다. 여기서, 최우 복호기의 알고리즘을 수행하여 수신된 부호열들을 탐색하고 송신된 부호열과 가장 유사성이 큰 부호열을 선택하여 원하는 부호열을 복호하는 비터비(Viterbi) 복호기를 사용한다.
도 2는 일반적인 비터비 복호기의 구조를 나타낸 구성 블록도이다.
도 2의 구성을 간단히 살펴보면, 비터비 복호기는 기본적으로 가지메트릭 연산부(BMC : branch metric calculation)(201), 가산 비교 선택부(ACS : add-compare-select)(202), 상태메트릭 메모리(SM : state metric memory)(203), 생존경로 메모리(SPM : survivor path memory)(미도시), 역추적 메모리(TBM : Trace Back Memory)(205), 그리고 출력부(LIFO)(206)로 구성된다.
동작을 간단히 살펴 보면, 두 개의 입력 데이터(R=1/2)로부터 코드워드(codeword)간의 유클리드 거리를 상기 BM 연산부(201)에서 구한 후 이를 상기 ACS부(202)에서 과거의 거리를 상기 SM(203)으로부터 읽어들여 더한 다음 가장 작은 누적치를 갖는 생존 경로를 상기 TBM(205)에 제공한다. 또한 누적치를 상태 메트릭으로 저장한다. 이때, 데이터가 모두 저장이 되면 가장 작은 상태 메트릭(MSG, SM)을 찾아 생존 경로의 시작점으로 정한다. 저장된 생존경로는 일정규칙에 의해 TB 제어부(205)에서 역추적하여 최종 복호(TB)하게 되고 이를 올바른 순서로 출력하기 위해 LIFO(Last Input First Out) 메모리가 출력부(207)로 사용된다. 그리고 전체적인 제어는 제어 모듈(미도시)이 수행하게 된다.
비터비 복호기는 가장 일반적인 길쌈부호기의 복호기로 사용되고 있다. 비터비 복호기는 상태수에 따라서 메모리의 개수가 지수적으로 증가하고 그에 따른 복호 지연도 증가하게 된다. 또한, 역추적 기법을 사용하기 때문에 복호화하는 데 있어서 시간적인 오버헤드를 갖게 된다.
특히, 무선랜은 고속의 동작을 하기 위해 복호화가 하나의 주기로 완성되어야 연속적인 데이터 통신이 가능하고 대량의 데이터를 통신하려면 높은 코드 레이트를 갖는 복조 기법을 사용하여야 한다. 그러므로, 기본적인 메모리 사용 블록인 인터리버/디인터리버나 FFT/IFFT와 같은 구성 블록의 지연 시간이 늘어난다는 문제점이 있었다.
또한, 전술한 비터비 복호기에 있어서는 트레이스백 메모리의 구조적인 특징으로 인하여 불필요하게 많은 용량의 메모리를 사용하게 되고, 이로 인하여 전체 로직의 면적이 커져 원가가 상승된다는 문제점이 있었다.
본 발명은 이상과 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 고속 동작이 가능한, 병렬 복호 구조로 구성되는 병렬 구조의 비터비 복호기를 제공하는 데 있다.
본 발명의 다른 목적은 메모리 사용 용량을 줄여 저전력으로 구동이 가능한 병렬 구조의 비터비 복호기를 제공하는 데 있다.
이상과 같은 목적을 달성하기 위한 본 발명에 따른 병렬 구조의 비터비 복호 기는 송신된 원래의 데이터를 역추적하여 복호하는 비터비 복호기에 있어서, 입력된 데이터에 근거하여 각 상태에 따른 브렌치 메트릭(Branch Metric)을 연산하는 병렬 구조의 브렌치 메트릭 연산부(BMC)와, 각 상태에 대해 경로 메트릭의 생존 경로에 대한 결정을 수행하는 병렬 구조의 가산 비교 선택부(ACS)와, ACS에서 결정된 생존 경로에 대한 정보가 뱅크 단위로 저장되는 역추적 메모리(TBM)를 포함하여 구성되는 것을 특징으로 한다.
여기서, BMC는 각 상태에 대한 코드워드를 생성하는 코드워드 발생기(CW_GEN)와, 코드워드 발생기에서 생성된 코드워드와 연판정된 복조기 출력 신호를 입력받고, Exclusive OR 연산하여 브렌치 메트릭 값을 생성하는 브렌치 메트릭 발생기(BM_GEN)가 병렬 연산 구조로 연결되고, ACS부는 BMC에서의 출력과 과거 누적된 상태 메트릭(SM)값을 더하는 가산기와, 각 상태 노드에 있는 두 경로의 생존 경로(SM)값을 비교하여 SM값이 작은 경로를 선택하는 비교선택기가 병렬 연산 구조로 연결되는 것이 바람직하다.
또한, TBM은 번지 단위의 idle 뱅크 4개, TB 뱅크 4개, DC(Decode) 뱅크 1개, WR(Write) 뱅크 1개로 10개의 뱅크로 구성되고, 이때 10개의 뱅크들은 병렬로 읽기 가능하고 12비트씩 복호화 처리하는 것이 바람직하며, 역추적 깊이는 48로 결정하여 역추적 주기당 12개의 복호화된 데이터가 출력되는 것을 특징으로 하는 병렬 구조의 비터비 복호기.
본 발명의 다른 목적, 특징 및 이점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예의 구성과 그 작용을 설명하며, 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 상기한 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
도 3은 본 발명의 바람직한 실시 예에 따른 병렬 구조의 비터비 복호기로서, 브렌치 메트릭 연산부(BMC0∼BMC31 : Branch Metric Calculator)(301), 가산 비교 선택부(ACS0∼ACS31 : Add Compare Selector)(302), 생존 경로 메모리(SM0∼SM1 : Survival path Memory), 역추적 메모리(TBM : Trace Back Memory)(305), 최소 상태 메트릭(MSM : Min State Metric)(306), 후입 선출 메모리(FIFO)(307)를 포함하여 구성된다.
동작을 간단히 살펴보면, 먼저, 연성 판정을 통하여 입력된 데이터를 이용하여 상기 브렌치 메트릭 연산부(301)에서 각 브렌치 메트릭값을 계산한다. 계산된 각 브렌치 메트릭값은 상기 가산 비교 선택부(302)에 연결되어 생존 경로를 결정하여 정보를 역추적 메모리(305)에 전달하고, 경로 값을 갱신하여 최소 상태 메트릭(MSG)(306)에 최소 상태값을 전달한다. 상기 역추적 메모리(305)에서는 상기 최소 상태 메트릭(306)에서 최소 상태값을 받아서 역추적한 후에 복호된 데이터를 얻는다. 그러나, 전술한 바와 같이 동작하는 비터비 복호기를 고속으로 동작시키기 위해서는 각 서브 블록들이 고속으로 동작할 수 있는 병렬 구조를 가져야 한다.
이하에 각 서브 블록들의 병렬 구조를 실시 예들의 상세한 설명과 함께 기술하도록 한다.
도 4는 도 3에서의 브렌치 메트릭 연산부(301)의 병렬 구조를 나타낸 기능 블록도로서, 각 상태값이 저장되는 스테이트부(401)와, 코드워드 발생기(CW_GEN)(402)와, 브렌치 메트릭 발생기(BM_GEN)(403)와, D 플립플롭(DFF)(404)으로 구성된다.
동작을 간단히 살펴보면, 상기 코드워드 발생기(402)는 스테이트부(401)에 저장되어 있는 상태값을 입력받아 각 상태에 대한 코드워드를 생성하고, 상기 브렌치 메트릭 발생기(402)는 상기 코드워드 발생기에서 생성된 코드워드를 입력받아 브렌치 메트릭을 생성하며, 이때 상기 코드워드 발생기(402)와 상기 브렌치 메트릭 발생기(402)는 병렬 연산 구조로 연결되어 고속 연산이 수행 가능하다.
또한, 여기서 수행되는 연산은 비터비 복호기의 입력 비트인 연판정(soft decision)된 복호기 출력신호인 입력값(D0, D1)과 코드워드(CW0∼CW32)가 갖는 32가지 값들 각각에 대해 브렌치 메트릭값을 Exclusive OR 연산을 수행하여 계산한다.
다음에, D 필립플롭(404)은 상기 브렌치 메트릭 발생기에서 생성된 브렌치 메트릭 값을 입력받아 클록 펄스의 시간 간격만큼 지연시켜 브렌치 메트릭 값을 출력한다.
도 5는 도 3에서의 가산 비교 선택부(302)(ACS0∼ACS32)의 병렬 구조를 나타낸 기능 블록도로서, 가산 비교 선택부(501)와 리미터(LIMITER)(502)로 구성된다.
동작을 간단히 살펴 보면, 상기 가산 비교 선택부(302)는 상기 브렌치 메트릭 연산부(301)에서 테이블 형태로 전달된 브렌치 메트릭 값들(BM0∼BM31)을 각 상 태에서 저장하고 있는 코드워드를 이용하여 그 상태에 대한 브렌치 메트릭 값들(BM0, BM1)을 선택한다. 브렌치 메트릭 값과 현재 상태값을 수학식 1을 이용하여 갱신된 새로운 상태값들은 "MSG"부(306)에서 최소 상태값을 구하여 TBM(305)부로 전달하게 된다. 그리고 각 상태를 나타내는 상태값 중 최상위 비트는 상기 TBM(305)부에서 역추적 과정을 위해 TBM(305)부로 또한 전달된다.
SM0X = min(SMX0+BM0, SMX1+BM1)
SM1X = min(SMX0+BM1, SMX1+BM0)
가산기(ADD)와 비교/선택기(COMP/SEL)는 도시된 바와 같이, 나비 구조로 구성되며, 상기 리미터(502)는 입력되는 상태값이 오버 플로우되는 것을 방지해준다.
그러나, 전술한 바와 같은 나비 구조 적용의 가산 비교 선택부(302)의 병렬 구조는 최소 상태값을 구하기 위한 단계는 필수적이다. 따라서, TBM(305)에 저장시 지연이 뒤따른다.
전술한 지연을 해결하기 위한 방안으로서, 도 3의 SM 블록(303, 304)은 최종적으로 갱신된 도 5의 SM 값이 저장된다. 설계시 고려사항은 한정되어 있는 SM 비트로 인해 발생하는 오버플로우를 막는 것이다. 본 발명에서는 SM의 최대값과 최소값의 차이가 시간에 관계없이 바운드(bound : 허용된 경계값 범위 내에 존재)된다는 사실을 이용하여 연산량을 감소시킨 리스컬링(Rescaling) 방식을 사용하였다. SM의 최대값과 최소값의 차이가 되는 Rmax는 수학식 2와 같이 bound된다. 이때 N은 상태의 개수이고 λmax는 트렐리스 부호 상에서 BM(브렌치 메트릭)의 최대값이다.
Figure 112006022865047-PAT00001
IEEE 802.11a 무선랜의 비터비 복호기는 구속장이 7이고 코드율 1/2에 4비트 연판정 방식이므로 λmax값은 2×15=30이 된다. 그러나 트렐리스 부호 상에서 선택되는 브랜치 메트릭의 최대값은 길쌈부호 최대거리 부호화 성질로 인해 λmax/2 = 15가 된다. 따라서 Rmax값은 90에 의해서 바운드되며, 이 범위의 값을 표현하는 데 7비트가 필요하다. 따라서 SM 비트를 8비트 할당하여 모든 SM의 MSB(최상위 비트)가 1이 되는 조건에서 모든 MSB를 0으로 만들어주는 방법을 사용하였다. 이 방법은 매번 최소 메트릭 값을 빼주는 방법에 비해서 연산량을 크게 감소시킬 수 있고, 필요한 SM 비트 사이즈를 최적화시킬 수 있다.
도 6은 도 3에서의 역추적 메모리(TBM)(305)의 동작 상태에 따른 메모리 영역을 나타낸 도면으로서, 크게 세가지 동작(Read, DC, Write)을 필요로 한다.
상기 Read는 TBM(305)에 기록되어 있는 경로 정보를 역방향 포인터로 해석하여 이전 단계의 상태를 계산하는 과정이고, DC(Decoded)는 Read 과정과 동일하지만 읽어낸 비트가 복호된 비트이다. 그리고 Write는 가산 비교 선택부(302)에서 출력되는 경로 정보를 상기 TBM(305)에 쓰는 과정이다.
비터비 복호기는 1비트 복호할 때마다 역추적 깊이(D : Decoding_Depth)만큼 역추적해야 하기 때문에 구속장이 클수록 D가 커져, 잦은 Read 동작으로 인해 전력 소모가 커지게 된다. 비터비 복호 구조를 보면 역추적 경로가 D 컬럼만큼 경로 정보를 누적시키고 역추적(Trace Back)하는데, 역추적 깊이(D)를 어느 정도 크게 하면 일치점(Merge Point)이 발생한다. 즉 어느 시점부터 어느 상태에서 역추적하여도 일치(merge)되는 영역인 DC 영역이 존재하기 때문에 이 DC 영역의 비트를 한꺼번에 복호할 수 있다. 이때 D의 최소값은 Dmin이면 TB 과정의 오버헤드를 분산시킬 수 있으며, 복호속도도 고속으로 구현 가능하다. 오버헤드를 분산시켜 처리하는 알고리즘에는 대표적으로 One Point 알고리즘과 k Point 알고리즘이 있다.
본 발명에서는 이러한 오버헤드를 없애기 위해 일정 깊이의 역추적을 거치면 일치점이 발생하여 중간에 들어온 최소 상태 주소값이 정확하지 않더라도 올바른 데이터를 복호할 수 있게 된다는 사실을 이용하였다.
일반적으로 역추적 깊이(D)=5~6*K(구속장 길이) 이상일 경우에 무한한 D를 갖는 이상적인 비터비의 성능에 근사하게 된다. 그래서 역추적깊이(D)를 48로 결정하였다. 다만 근사하다는 것은 그보다 약간의 성능의 하락이 있으므로 이를 보완하기 위해 최소상태 발생기에서 그 상태에서의 최소 상태인 최소상태 주소를 처음 역추적을 시작할 주소로 발생시킴으로써 성능향상을 얻을 수 있었다. 따라서, 한번의 역추적 주기당 12개의 복호된 데이터가 출력되므로, 과도한 Read를 배제시켰고 그에 따른 전력 소모를 줄일 수 있었다.
또한, 도 4에서의 D 플립플롭(404)의 레지스터형 저장 장소를 사용함으로써, 메모리 접근시간으로 인한 성능상 제약과 메모리 관리를 위한 복잡한 라우팅 구조를 개선하였다. 읽기 클록과 쓰기 클록이 같을 때 사용하는 방법으로 복호시 상기 TBM(305)을 여러개의 뱅크로 나누어 쓰는 동안 각 뱅크에서 병렬로 읽을 수 있기 때문에 고속처리가 가능하다.
더욱이, 무선랜의 제약을 만족시키기 위해, 12비트씩 복호할 수 있도록 10개의 뱅크를 사용하였다.
도 7은 도 3에서의 TBM(305)의 관리 구조를 나타낸 도면으로서, 요구되는 메모리량은 뱅크 수와 뱅크 크기의 곱이며 요구되는 뱅크 수는 2K이고 뱅크 크기는 D/(K-1)이다. 따라서 뱅크 수는 10개가 되고 뱅크 크기는 48/4=12가 된다. 따라서 TBM의 메모리 번지 0∼3D-1를 번지 단위의 10개의 뱅크(idle 뱅크 4개, TB 뱅크, 4개, DC 뱅크 1개, WR 뱅크 1개)로 분할하여 관리한다.
도 8은 도 3에서의 LIFO(Last Input First Output)(307)의 구조를 나타낸 도면으로서, TBM(305)에서 출력된 데이터는 비터비 복호기의 복호된 데이터이지만, 뱅크 크기만큼 그 순서가 반대로 되어 있으므로, 원래의 순서대로 수정을 가해줘야 한다. 따라서, 도시된 바와 같이, 양방향 이동 레지스터를 사용하여 전술한 TBM(305)에서 12 비트 단위로 복호화를 행하게 되므로, LIFO(307)에서도 12 클록을 주기로 방향을 바꾸어 줌으로써 입력 순서와 출력 순서를 일치시킨다.
이상, 전술한 본 발명의 바람직한 실시 예는 이상의 목적을 위해 개시된 것으로, 이러한 변경과 실시는 본 발명의 범위에 속하게 된다.
이상에서 설명한 바와 같은 본 발명에 따른 병렬 구조의 비터비 복호기는 고속화되어 무선 멀티미디어 전송시 고속 동작이 가능한, 무선랜 시스템을 지원할 수 있다는 효과가 있다.
또한, 메모리 사용 용량을 줄여 저전력으로 구동이 가능한 병렬 구조의 비터비 복호기를 제공할 수 있다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 이탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.
따라서, 본 발명의 기술적 범위는 실시 예에 기재된 내용으로 한정되는 것이 아니라 특허 청구 범위에 의하여 정해져야 한다.

Claims (6)

  1. 송신된 원래의 데이터를 역추적하여 복호하는 비터비 복호기에 있어서,
    입력된 데이터에 근거하여 각 상태에 따른 브렌치 메트릭(Branch Metric)을 연산하는 병렬 구조의 브렌치 메트릭 연산부(BMC);
    상기 각 상태에 대해 경로 메트릭의 생존 경로에 대한 결정을 수행하는 병렬 구조의 가산 비교 선택부(ACS);
    상기 ACS에서 결정된 생존 경로에 대한 정보가 뱅크 단위로 저장되는 역추적 메모리(TBM);를 포함하여 구성되는 것을 특징으로 하는 병렬 구조의 비터비 복호기.
  2. 제 1 항에 있어서, 상기 BMC는,
    상기 각 상태에 대한 코드워드를 생성하는 코드워드 발생기(CW_GEN)와,
    상기 코드워드 발생기에서 생성된 코드워드와 연판정된 복조기 출력 신호를 입력받고, Exclusive OR 연산하여 브렌치 메트릭 값을 생성하는 브렌치 메트릭 발생기(BM_GEN)가 병렬 연산 구조로 연결된 것을 특징으로 하는 병렬 구조의 비터비 복호기.
  3. 제 1 항에 있어서, 상기 ACS부는,
    상기 BMC에서의 출력과 과거 누적된 상태 메트릭(SM)값을 더하는 가산기와,
    각 상태 노드에 있는 두 경로의 생존 경로(SM)값을 비교하여 SM 값이 작은 경로를 선택하는 비교선택기가 병렬 연산 구조로 연결된 것을 특징으로 하는 병렬 구조의 비터비 복호기.
  4. 제 1 항에 있어서, 상기 TBM는,
    번지 단위의 idle 뱅크 4개, TB 뱅크 4개, DC(Decode) 뱅크 1개, WR(Write) 뱅크 1개로 10개의 뱅크로 구성되는 것을 특징으로 하는 병렬 구조의 비터비 복호기.
  5. 제 4 항에 있어서,
    상기 10개의 뱅크들은 병렬로 읽기 가능하고 12비트씩 복호화 처리하는 것을 특징으로 하는 병렬 구조의 비터비 복호기.
  6. 제 4 항에 있어서,
    상기 TBM에서의 역추적 깊이는 48로 결정하여 역추적 주기당 12개의 복호화된 데이터가 출력되는 것을 특징으로 하는 병렬 구조의 비터비 복호기.
KR1020060029533A 2006-03-31 2006-03-31 병렬 구조의 비터비 복호기 KR20070098201A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060029533A KR20070098201A (ko) 2006-03-31 2006-03-31 병렬 구조의 비터비 복호기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060029533A KR20070098201A (ko) 2006-03-31 2006-03-31 병렬 구조의 비터비 복호기

Publications (1)

Publication Number Publication Date
KR20070098201A true KR20070098201A (ko) 2007-10-05

Family

ID=38804290

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060029533A KR20070098201A (ko) 2006-03-31 2006-03-31 병렬 구조의 비터비 복호기

Country Status (1)

Country Link
KR (1) KR20070098201A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101024999B1 (ko) * 2008-05-30 2011-03-25 광운대학교 산학협력단 Dvb―h 대역의 내장형 이동통신단말기 안테나

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101024999B1 (ko) * 2008-05-30 2011-03-25 광운대학교 산학협력단 Dvb―h 대역의 내장형 이동통신단말기 안테나

Similar Documents

Publication Publication Date Title
US7765459B2 (en) Viterbi decoder and viterbi decoding method
US20070266303A1 (en) Viterbi decoding apparatus and techniques
EP2339757B1 (en) Power-reduced preliminary decoded bits in viterbi decoder
KR100437697B1 (ko) 다수준 격자부호변조방식의 복호 방법 및 장치
JP2001036418A (ja) ビタビ復号器および送信装置
JP3954347B2 (ja) ターボデコーディング方法
US11165446B1 (en) Parallel backtracking in Viterbi decoder
KR101212856B1 (ko) 통신 시스템에서 데이터를 복호하는 방법 및 장치
US7035356B1 (en) Efficient method for traceback decoding of trellis (Viterbi) codes
Cholan Design and implementation of low power high speed Viterbi decoder
CN100505557C (zh) 基于Viterbi译码的多路并行循环块回溯方法
KR20070098201A (ko) 병렬 구조의 비터비 복호기
CN103986477A (zh) 矢量viterbi译码指令及viterbi译码装置
KR20000049852A (ko) 비터비복호기
JP2010206570A (ja) 復号装置、復号方法
Chandel et al. Viterbi decoder plain sailing design for TCM decoders
Tadse et al. A Low Power Asynchronous Viterbi Decoder
KR100726171B1 (ko) 비터비 복호 장치 및 방법
KR101714009B1 (ko) 최소화된 복호 지연 시간을 갖는 역추적 장치 및 방법
Allan et al. A VLSI implementation of an adaptive-effort low-power Viterbi decoder for wireless communications
KR100340222B1 (ko) 다수준 격자부호변조방식의 복호화방법 및 장치
Thakre Design of T-Algorithm Based High-Speed Low-Power Viterbi Decoder for TCM Decoders
Haridas A low power Viterbi decoder design with minimum transition hybrid register exchange processing for wireless applications
KR100726170B1 (ko) 비터비 복호 장치 및 방법
YASMINE et al. RTL Design and Implementation of TCM Decoders using Viterbi Decoder

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination