KR19980075723A - 비터비 디코딩장치 - Google Patents

비터비 디코딩장치 Download PDF

Info

Publication number
KR19980075723A
KR19980075723A KR1019970011989A KR19970011989A KR19980075723A KR 19980075723 A KR19980075723 A KR 19980075723A KR 1019970011989 A KR1019970011989 A KR 1019970011989A KR 19970011989 A KR19970011989 A KR 19970011989A KR 19980075723 A KR19980075723 A KR 19980075723A
Authority
KR
South Korea
Prior art keywords
unit
state
value
ether
memory
Prior art date
Application number
KR1019970011989A
Other languages
English (en)
Other versions
KR100223925B1 (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 KR1019970011989A priority Critical patent/KR100223925B1/ko
Publication of KR19980075723A publication Critical patent/KR19980075723A/ko
Application granted granted Critical
Publication of KR100223925B1 publication Critical patent/KR100223925B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • 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

Landscapes

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

Abstract

본 발명은 소자의 사이즈를 최소화하고 고속의 디코딩동작을 수행하는데 적당한 비터비 디코딩장치에 관한것으로서 본 발명의 비터비 디코딩장치는 두개의 메모리부를 갖는 비터비 디코딩장치에 있어서, 입력되는 신호로부터 각 노드값을 계산하는 브렌치 메트릭부와, 상기 브렌치 메트릭부의 출력값과 상기 두 개의 메모리부중 일 메모리부에서 읽혀진 스테이트 값을 합산하는 제 1, 제 2 에더부와, 상기 제 1 에더부에서 출력되는 스테이트 합산값과 제 1 래치부를 통해 출력되는 스테이트 합산값을 비교하여 이중 하나를 선택하는 제 1 비교선택부와, 제 2 에더부에서 출력되는 스테이트 합산값과 제 2 래치부를 통해 출력되는 스테이트 합산값을 비교하여 이중 하나를 선택하는 제 2 비교선택부와, 제 1, 제 2 비교선택부에서 출력되는 스테이트 합산값중 하나를 선택적으로 출력하는 먹스부와, 상기 먹스부에서 출력되는 스테이트 합산값을 교번하여 저장하는 제 1, 제 2 메모리부를 포함하여 구성된다.

Description

비터비 디코딩장치
본 발명은 비터비 디코더에 관한 것으로 특히, 고속의 동작을 수행하는데 적당한 비터비 디코딩장치에 관한 것이다.
이하, 종래 비터비 디코딩장치를 첨부된 도면을 참조하여 설명하면 다음과 같다.
도 1은 종래 비터비 디코딩장치의 구성블록도이다.
도 1에 도시한 바와같이 종래에는 입력되는 신호로부터 각 노드(node)값을 을 계산하는 브랜치 메트릭(BM : Branch Metric)부(11)와, 상기 브랜치 메트릭부(11)에서 계산된 노드값과 현재 스테이트 노드값을 합산시키는 제 1, 제 2 에더부(13,15)와, 상기 제 1, 제 2 에더부(13,15)에서 출력되는 스테이트 노드값을 비교하여 이중 작은값을 선택하는 비교선택(CS : Compare and Select)부(17)와, 현재상태의 스테이트(state)합산값을 저장하는 제 1 메모리부(19)와, 다음 상태의 스테이트 합산값을 저장하는 제 2 메모리부(21)로 구성된다.
여기서, 상기 제 1 에더부(13) 및 제 2 에더부(15)와, 비교선택부(17)를 합하여 ACS(Add-Compare-Select)부라고 칭한다.
일반적으로 통신 시스템에서 데이타의 에러정정 및 디코딩을 위해서는 비터비 디코더가 필수적이다.
특히, 고속의 데이타처리를 위해서는 비터비 디코더의 구조를 병렬적으로 구성하여 사용하기도 한다.
하지만 병렬적구조의 비터비 디코더는 상기 ACS부가 스테이트의 수 만큼 필요하며 이는 칩 사이즈를 매우 크게한다.
예를들어 CDMA(Code Division Multi Access)휴대폰인 경우, K(contraint length)가 9이며 이때 스테이트 수는 2k-1=256개의 ACS부를 갖는 비터비 디코더가 요구된다.
이러한 병렬적 구조의 비터비 디코더는 그 사이즈가 매우 커지게 된다.
도 1은 직렬적 구조의 비터비 디코더를 나타낸 것으로서 사이즈면에서는 병렬적 구조에 비해 작지만 데이터처리 속도가 매우 낮아지게 된다.
이러한 직렬적 구조의 비터비 디코더는 각 스테이트의 값을 갱신시키기 위해서 많은 클럭 사이클을 요구한다.
도 1에 도시한 바와같이 직렬적구조의 비터비 디코더는 두개의 메모리를 사용하는데 제 1 메모리부(19)는 현재 상태의 스테이트 합산값을 저장하고 제 2 메모리부(21)는 다음 상태의 스테이트 합산값을 저장한다.
즉, 비교선택부(17)에서 선택된 현재 상태의 스테이트 합산값을 제 1 메모리부(19)에 저장한 후 제 1 메모리부(19)로부터 다시 리드하여 제 1, 제 2 에더부(13,15)에 의해 브랜치 메트릭부(11)의 값과 합산하게 된다.
그리고 다시 비교선택부(17)에 의해 선택된 값은 제 2 메모리부(21)로 저장된다.
이후, 제 2 메모리부(21)로부터 다시 리드하여 전술한 바와같이 입력되는 브렌치 메트릭부(11)의 값과 합산하는 과정을 수행한다.
일예로 한 스테이트의 값을 갱신시키기 위한 실행시간을 계산하면 다음과 같다.
① : 스테이트 매트릭 램(제 1 메모리부 또는 제 2 메모리부)으로부터 스테이트 합산값을 리드(Read)하는데 걸리는 시간 ×2
여기서 ×2는 한 스테이트 값을 얻기위해 두 개의 서로다른 스테이트가 필요하기 때문이다.
② : 에더부와 비교선택부의 실행시간
③ : 스테이트 매트릭 램(제 1 메모리부 또는 제 2 메모리부)에 스테이트 합산값을 라이트(Write)시간
따라서 한 스테이트의 값을 갱신시키기 위한 실행시간은 상기 ①+②+③의 시간이 요구된다.
그러나 이와같은 종래 비터비 디코딩장치는 다음과 같은 문제점이 있었다.
직렬 비터비 디코더는 사이즈는 작지만 고속의 데이타처리에 부적합하며 병렬 비터비 디코더는 고속의 데이타처리는 가능하지만 사이즈가 매우 커지게된다.
본 발명은 상기한 문제점을 해결하기 위해 안출한 것으로서 한 클럭 사이클에 하나의 스테이트 값을 갱신할 수 있도록 하여 고속의 데이타처리가 가능하고 아울러 사이즈를 최소화 하는데 적당한 비터비 디코딩장치를 제공하는데 그 목적이 있다.
도 1은 종래기술에 따른 비터비 디코딩장치의 구성블록도
도 2는 본 발명의 비터비 디코딩장치의 구성블록도
도 3은 본 발명의 비터비 디코딩장치에 따른 동작타이밍도
*도면의 주요부분에 대한 부호의 설명
11 : 브렌치 메트릭부13,15 : 제 1, 제 2 에더부
17,17a : 제 1, 제 2 비교선택부19,21 : 제 1, 제 2 메모리부
23 : 먹스부
31a,31b,31c,31d,31e,31f,31g : 제 1,2,3,4,5,6,7 래치부
상기의 목적을 달성하기 위한 본 발명의 비터비 디코딩장치는 두개의 메모리부를 갖는 비터비 디코딩장치에 있어서, 입력되는 신호로부터 각 노드값을 계산하는 브렌치 메트릭부와, 상기 브렌치 메트릭부의 출력값과 상기 두 개의 메모리부중 일 메모리부에서 읽혀진 스테이트 값을 합산하는 제 1, 제 2 에더부와, 상기 제 1 에더부에서 출력되는 스테이트 합산값과 제 1 래치부를 통해 출력되는 스테이트 합산값을 비교하여 이중 하나를 선택하는 제 1 비교선택부와, 제 2 에더부에서 출력되는 스테이트 합산값과 제 2 래치부를 통해 출력되는 스테이트 합산값을 비교하여 이중 하나를 선택하는 제 2 비교선택부와, 제 1, 제 2 비교선택부에서 출력되는 스테이트 합산값중 하나를 선택적으로 출력하는 먹스부와, 상기 먹스부에서 출력되는 스테이트 합산값을 교번하여 저장하는 제 1, 제 2 메모리부를 포함하여 구성된다.
이하, 본 발명의 비터비 디코딩장치를 첨부된 도면을 참조하여 설명하면 다음과 같다.
도 2는 본 발명의 비터비 디코딩장치의 구성블록도이다.
도 2에 도시한 바와같이 크게 입력되는 신호의 노드값을 계산하는 브랜치 메트릭(BM : Branch Metric)부(11)와, 브렌치 메트릭부(11)에서 계산된 값과 현재 상태의 스테이트값을 합산한 후 이중 하나를 선택적으로 출력하는 ACS부, 그리고 ACS부에서 출력하는 스테이트의 합산값을 교번하여 저장하는 제 1, 제 2 메모리부(19,21)를 포함하여 구성된다.
여기서 상기 ACS부는 제 1, 제 2 에더부(13,15)와, 제 1 에더부(13)의 출력값과 제 1 래치부(31a)에 의해 래치된 값을 비교하여 이중 하나를 선택하는 제 1 비교선택부(CS : Compare and Select)(17)와, 제 2 에더부(15)의 출력값과 제 2 래치부(31b)에 의해 래치된 값을 비교하여 이중 하나를 선택하는 제 2 비교선택부(17a)와, 상기 제 1 비교선택부(17)의 출력값과, 제 3 래치부(31c)를 통해 출력되는 제 2 비교선택부(17a)의 출력값을 입력하여 이중 하나를 선택적으로 출력하는 먹스(MUX)부(23)를 포함하여 구성된다.
그리고 상기 브렌치 메트릭부(11)와 제 1, 제 2 에더부(13,15)사이에는 상기 브렌치 메트릭부(11)의 출력값을 래치하여 제 1 에더부(13)로 출력하는 제 4 래치부(31d)와, 상기 제 1 메모리부(19)에서 리드한 값을 래치하여 제 1 에더부(13)로 출력하는 제 5 래치부(31e)가 구성된다.
또한 상기 브렌치 메트릭부(11)의 출력값을 래치하여 제 2 에더부(15)로 출력하는 제 6 래치부(31f)와, 상기 제 1 메모리부(19)에서 리드한 값을 래치하여 제 2 에더부(15)로 출력하는 제 7 래치부(31g)가 구성된다.
여기서 상기 각 래치부(31a,31b,31c,31d,31e,31f,31g)들은 플립플롭으로 구성된다.
상기 먹스부(23)는 제 1 비교선택부(17)의 출력값과 상기 제 7 래치부(31g)를 통해 출력되는 제 2 비교선택부(17a)의 출력값을 선택적으로 상기 제 1 메모리부(19) 또는 제 2 메모리부(21)로 저장한다.
이와같이 구성된 본 발명의 비터비 디코딩장치에 따른 동작설명은 다음과 같다.
도 3은 본 발명의 비터비 디코딩장치에 따른 동작을 설명하기 위한 타이밍도이다.
도 3에 도시한 바와같이 첫번째 클럭 사이클(C1)동안에 제 1 메모리부(19)에 저장된 현재 상태의 스테이트 합산값이 읽혀지며 이와 동시에 읽혀지는 스테이트에 해당하는 노드값이 브렌치 메트릭부(11)에서 계산된다.
두번째 클럭 사이클(C2)동안에는 첫번째 클럭 사이클(C1)동안에 구해진 스테이트값과 브렌치 메트릭부(11)에서 계산된 값을 이용하여 새로운 스테이트 합산값을 계산한다.
다시 말해서 도 2에 도시한 바와같이 제 1 메모리부(19)에서 읽혀진 값이 제 5 래치부(31e)를 통해 제 1 에더부(13)로 입력되고 동시에 브렌치 메트릭부(11)에서 계산된 값이 제 4 래치부(31d)를 통해 제 1 에더부(13)로 입력된다.
그리고 상기 제 1 메모리부(19)에서 읽혀진 값이 제 7 래치부(31g)를 통해 제 2 에더부(15)로 입력되고 동시에 브렌치 메트릭부(11)에서 계산된 값이 제 6 래치부(31f)를 통해 제 2 에더부(15)로 입력된다.
따라서 제 1, 제 2 에더부(13,15)는 입력되는 값을 서로 합산한 후 각각 제 1 비교선택부(17)와 제 2 비교선택부(17a)로 출력한다.
이때 제 1 비교선택부(17)는 제 1 래치부(31a)를 통해 입력되는 값과 제 1 에더부(13)로부터 입력되는 값을 비교하여 이중 하나을 선택하여 출력한다.
마찬가지로 제 2 비교선택부(17a)도 제 2 래치부(31b)를 통해 입력되는 값과 제 2 에더부(15)로부터 입력되는 값을 비교하여 이중 하나를 선택하여 출력한다.
즉, 두번째 클럭 사이클(C2)동안에 얻어진 새로운 스테이트 합산값과 첫번째 클럭 사이클(C1)동안에 계산된 스테이트의 합산값과 비교하여 작은 스테이트 합산값을 선택한다.
그리고 세번째 클럭 사이클(C3)동안에는 먹스부(23)에 선택신호를 출력하여 상기 선택신호에 따라 제 1 비교선택부(17)에서 출력되는 값과 상기 제 3 래치부(31c)를 통해 제 2 비교선택부(17a)에서 출력되는 값중 작은 값을 선택하여 이를 제 2 메모리부(23)로 저장한다.
이와같이 동작은 매 사이클동안에 수행되며 먹스부(23)의 선택신호는 한 클럭 사이클동안에 0 또는 1을 반복한다.
그리고 도 3에 도시한 바와같이 세번째 클럭 사이클(C3)부터는 상기와 같이 메모리리드 및 브렌치 메트릭계산 그리고 스테이트 값을 계산하고 이를 메모리에 저장하는 동작이 한 사이클동안에 이루어진다.
이러한 과정을 통해 모든 스테이트 값이 갱신되며 제 1 메모리부(19)와 제 2 메모리부(21)는 그 동작이 서로 바뀌게 된다.
최초에는 제 1 메모리부(19)에 저장된 값을 읽고 제 2 메모리부(21)에는 ACS부에서 결정된 스테이트 값을 저장하는데 그 다음에는 제 2 메모리부(21)에 저장된 값을 읽고 제 1 메모리부(19)에는 마찬가지로 ACS부에서 결정된 스테이트 값을 저장한다.
결과적으로 매 클럭 사이클동안에 선택적으로 제 1 메모리부(19) 또는 제 2 메모리부(21)에 하나의 스테이트 값을 저장하게 된다.
이상 상술한 바와같이 본 발명의 비터비 디코딩장치는 다음과 같은 효과가 있다.
소자의 사이즈를 최소화하고 매 클럭 사이클동안에 스테이트 값을 갱신하게 되므로 스테이트 값을 갱신시키는데 필요한 실행시간을 현저하게 감소시킨다.

Claims (5)

  1. 두개의 메모리부를 갖는 비터비 디코딩장치에 있어서,
    입력되는 신호로부터 각 노드값을 계산하는 브렌치 메트릭부와,
    상기 브렌치 메트릭부의 출력값과 상기 두 개의 메모리부중 일 메모리부에서 읽혀진 스테이트 값을 합산하는 제 1, 제 2 에더부와,
    상기 제 1 에더부에서 출력되는 스테이트 합산값과 제 1 래치부를 통해 출력되는 스테이트 합산값을 비교하여 이중 하나를 선택하는 제 1 비교선택부와,
    제 2 에더부에서 출력되는 스테이트 합산값과 제 2 래치부를 통해 출력되는 스테이트 합산값을 비교하여 이중 하나를 선택하는 제 2 비교선택부와,
    제 1, 제 2 비교선택부에서 출력되는 스테이트 합산값중 하나를 선택적으로 출력하는 먹스부와,
    상기 먹스부에서 출력되는 스테이트 합산값을 교번하여 저장하는 제 1, 제 2 메모리부를 포함하여 구성하는 것을 특징으로 하는 비터비 디코딩장치.
  2. 제 1 항에 있어서,
    상기 제 2 비교선택부와 먹스부 사이에는 제 3 래치부가 추가로 구성되는 것을 특징으로 하는 비터비 디코딩장치.
  3. 제 1 항에 있어서,
    상기 제 1 메모리부 및 제 2 메모리부 사이에는 각각의 메모리부로부터 읽혀진 값을 제 1 에더부 및 제 2 에더부로 전달하는 제 4, 제 6 래치부가 추가로 구성되는 것을 특징으로 하는 비터비 디코딩장치.
  4. 제 1 항에 있어서,
    상기 브렌치 메트릭부와 제 1, 제 2 에더부 사이에는 각각 제 5, 제 7 래치부가 추가로 구성되는 것을 특징으로 하는 비터비 디코딩장치.
  5. 제 1 항에 있어서,
    상기 각각의 래치부는 플립플롭으로 구성되는 것을 특징으로 하는 비터비 디코딩장치.
KR1019970011989A 1997-04-01 1997-04-01 비터비 디코딩장치 KR100223925B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970011989A KR100223925B1 (ko) 1997-04-01 1997-04-01 비터비 디코딩장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970011989A KR100223925B1 (ko) 1997-04-01 1997-04-01 비터비 디코딩장치

Publications (2)

Publication Number Publication Date
KR19980075723A true KR19980075723A (ko) 1998-11-16
KR100223925B1 KR100223925B1 (ko) 1999-10-15

Family

ID=19501699

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970011989A KR100223925B1 (ko) 1997-04-01 1997-04-01 비터비 디코딩장치

Country Status (1)

Country Link
KR (1) KR100223925B1 (ko)

Also Published As

Publication number Publication date
KR100223925B1 (ko) 1999-10-15

Similar Documents

Publication Publication Date Title
KR100426712B1 (ko) 비터비 복호기
EP0923197A1 (en) Processor and processing method
JPS62233933A (ja) ヴイタビ復号法
JPH10107651A (ja) ビタビ復号装置
US5559837A (en) Efficient utilization of present state/next state registers
JP3274668B2 (ja) 演算処理装置及び演算処理方法
US5619514A (en) In-place present state/next state registers
RU2002113295A (ru) Высокоскоростной модуль сложения /сравнения/ выбора для декодера витерби
JP3266182B2 (ja) ビタビ復号器
US5878060A (en) Viterbi decoding apparatus and viterbe decoding method
US6351839B1 (en) State metric memory of viterbi decoder and its decoding method
KR100223925B1 (ko) 비터비 디코딩장치
US6125153A (en) Data processor and data processing method
JPH04421B2 (ko)
RU2247471C2 (ru) Компонентный декодер и способ декодирования в системе мобильной связи
JPH0361375B2 (ko)
KR19990076528A (ko) 비터비 알고리즘 처리를 위한 가산 비교 선택 고속화 장치 및방법
KR20010054996A (ko) 비터비 디코더의 어드레스 발생기
JP2000196468A (ja) ビタビ復号化装置およびビタビ復号化方法
KR20040031323A (ko) 비터비 복호기의 경로 메트릭 저장 장치 및 방법
JPH11196007A (ja) ビタビ復号器
KR100259194B1 (ko) 비터비 디코더
JP2001024526A (ja) ビタビ復号装置
JPH04170227A (ja) ビタビ復号器
KR0148060B1 (ko) Viterbi 복호기의 ACS를 위한 메모리 최적 구조

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: 20050620

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee