KR100205547B1 - 비터비 디코더의 트레이스 백 장치 - Google Patents

비터비 디코더의 트레이스 백 장치 Download PDF

Info

Publication number
KR100205547B1
KR100205547B1 KR1019960018408A KR19960018408A KR100205547B1 KR 100205547 B1 KR100205547 B1 KR 100205547B1 KR 1019960018408 A KR1019960018408 A KR 1019960018408A KR 19960018408 A KR19960018408 A KR 19960018408A KR 100205547 B1 KR100205547 B1 KR 100205547B1
Authority
KR
South Korea
Prior art keywords
memory
survivor path
state vector
stored
path
Prior art date
Application number
KR1019960018408A
Other languages
English (en)
Other versions
KR970076281A (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 KR1019960018408A priority Critical patent/KR100205547B1/ko
Publication of KR970076281A publication Critical patent/KR970076281A/ko
Application granted granted Critical
Publication of KR100205547B1 publication Critical patent/KR100205547B1/ko

Links

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
    • H03M13/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • H03M13/4169Sequence 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
    • 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

Abstract

본 발명은 트레이스 백(Trace-Back) 메모리의 크기를 줄인 트레이스 백 장치에 관한 것이다.
본 발명은 서바이버 경로와 상태 벡터에 의해 계산된 상태 벡터 값을 다음 클럭에서 다음의 메모리로 서바이버 경로가 옮겨질때 그 다음의 사태 벡터를 저장하는 메모리에 저장한다.
따라서 본 발명은 트레이스 백 정보를 저장하기 위해 필요한 여분의 메모리가 불필요하게 되므로 필요한 메모리의 크기가 약 2ⁿ×2×d가 되어 메모리 크기를 반으로 줄일 수 있게 되고, 처리 속도가 빨라지는 효과가 있다.

Description

비터비 디코더의 트레이스 백 장치(Trace-back Device For Viterbi Decoder)
제1도는 트렐리스 다이어그램
제2도는 비터비 디코더의 개략적인 구성을 나타낸 블럭도.
제3도는 제2도의 SMU의 개략적인 구성을 나타낸 블럭도.
제4도는 서바이버 경로의 트렐리스 다이어그램.
제5도는 종래의 비터비 디코더의 트레이스 백 장치의 구성도.
제6도는 본 발명에 의한 비터비 디코더의 트레이스 백 장치의 구성도.
* 도면의 주요부분에 대한 부호의 설명*
11 : BMU 12 : ACS
13 : SMU 21 : 선택부
[산업상의 이용분야]
본 발명은 비터비 디코더에 관한 것으로, 특히 트레이스 백(Trace-Back)메모리의 크기를 줄인 트레이스 백 장치에 관한 것이다.
[종래 기술 및 그의 문제점]
제1도는 트렐리스 다이어그램이고, 제2도는 비터비 디코더의 개략적인 구성을 나타낸 블럭도이고,제3도는 제2도의 SMU의 개략적인 구성을 나타낸 블럭도이고, 제4도는 서바이버 경로의 트렐리스 다이어그램이고, 제5도는 종래의 비터비 디코더의 트레이스 백 장치의 구성도이다.
제1도의 콘볼루션얼 코드(Convolutional Code)의 트렐리스 다이어그램에서 t=j의 각 상태에서 t=j+1의 상태들로 전이하는 두 가지 중 위의 가지는 인코더에 '0' 이 입력되었을 경우의 가지이므로 디코더에서 '0'으로 복호되고, 아래 가지는 인코더에 '1'입력되었을 경우의 가지이므로 디코더에서 '1'로 복호된다.
따라서 t=j+1에서 t=j로 트레이스 백할때 상위 상태 00과 10에서 트레이스 백되는 가지는 모두 위의 가지이므로 디코더에서 '0'으로 복호화되고 하위 상태수 01과 11에서 트레이스 백되는 가지는 모두 아래 가지이므로 디코더에서 '1'로 복호된다.
비터비 디코더는 제2도에 도시한 바와 같이 브랜치 메트릭 유니트(Branch Metric Unit : BMU)(11)와 애드 컴패어 샐랙트 유니트(Add Compare-Select Unit : ACS)(12)와 서바이버 메모리 유니트(Survivor Memory Unit : SMU)(13)로 구성된다.
BMU(11)는 인코더에서 부호화되어 디코더로 입력된 정보와 이미 롬(ROM)에 저장된 모든 인코더 출력 코드를 비교하여 입력된 정보의 오차의 정도를 측정할 수 있는 브랜치 메트릭(Branch Metric)을 계산하여 출력한다.
ACS(12)는 BMU(11)로 부터 출력되는 계산된 브랜치 메트릭을 입력으로 받아 경로 메트릭(Path Metric)을 계산하고 이값을 비교하여 서바이버경로(Survivor Path)를 선택한다.
SMU(13)는 ACS(12)에서 선택된 서바이버 경로를 저장하고 트레이스 백 방법을 이용하여 원래의 신호를 복원하다.
현재의 경로 메트릭은 이전 상태의 경로 메트릭과 브랜치 메트릭을 더하여 발생된다.즉, 제1도에서 t=j+1의 00 상태의 경로메트릭은 각각 t=j의 00상태의 경로 메트릭과 t=j의 00상태에서 t=j+1의 00상태로 전이하는 브랜치 메트릭의 합과 t=j의 10상태의 경로 메트릭과 t=j의 10상태에서 t=j+1의 00상태로 전이하는 브랜치 매트릭의 합으로 이루어진다.
계산된 경로 메트릭은 한개의 상태에 두개씩 존재하므로 크기를 비교하여 작은 경로 메트릭을 선택하고 각각의 경로에 대해 그 경로가 온 이전 상태의 상태 수를 현재의 상태수를 어드레스로 갖는 메모리에 기억시킨다.
이 과정을 L-1번(여기서 L은트레이스 백의 깊이(Depth))반복하고 L번째 경로 메트릭을 계산한 후 모든 경로 메트릭을 비교하여 가장 적은 경로 메트릭을 갖는 상태수를 찾아낸다. 이 상태수로 트레이스 백을 시작하여 SMU(11)의 출력단으로 복호된 정보가 출력된다.
재3도에서는 일반적으로 사용되는 트레이스 백 방법을 보여주고 있다.
어드레스 값은 현재의 상태수를 나타내며 메모리에 기억된 값은 현재 상태로 오기전의 서바이버된 경로의 상태수이다.
메모리에 L-1번 정보가 입력되고 L번째 경로 메트릭을 계산했을 때 가장 작은 경로 매트릭을 갖는 상태의 상태수를 어드레스로 선택하여 첫번째 메모리를 트레이스 백하고 트레이스 백된 메모리의 데이타를 어드레스로 하여 두번째 메모리를 트레이스 백한다. 이런식으로 L-1번째 메모리까지 트레이스 백한다.데이타의 디코딩은 L번째 상태수와 L-1번째 상태수 사이의 서바이브된 가지가 인코딩시 0이 입력되어 분기된 가지이면 '0'으로 디코딩되고 인코딩시 '1'이 입력되어 분기된 가지이면 '1'로 디코딩된다.
제4도 및 제5도를 참조하여 서바이버 경로의 트레이스 백 알고리즘을 설명하면 다음과 같다.
경로 메트릭을 계산해 나가는 과정중에 트레이스 백 깊이에 도달했을 때 최소 경로 메트릭을 갖는 경로를 찾아내어 이 경로를 역 추적하면서 정보를 디코딩한다. 이러한 디코딩 방법을 트레이스 백 방법이라고 한다.
드레이스 백하기 위해서는 시간(j)의 상태에서 시간(j-1)의 상태로 트레이스할 수 있는 맵핑(Mapping)방법이 필요하다. 제4도의 서바이버 경로에서 다음의 맵핑 함수를 구할 수 있다.
aj-1 = bj
bj-1 = yj(mj)
위와 같이 yj(mj)를 정의하면 맵핑 함수는
f(aj,bj,yj(mj))=aj-1,bj-1)=(bj,yj(mj))
임을 알 수 있다. 즉, 시간(j)에서 시간(j-1)로 트레이스 백할때 시간(j-1)에서의 상태 벡터 mj-1=(aj-1,bj-1) 은 시간(j)에서의 상태 벡터 mj=(aj,bj)의 bj와 yj(mj)로 합성할 수 있다.따라서 서바이버 경로를 트레이스 백하기 위해서는 시간(j)에서 각 상태에 대한 yj(mj)를 저장해야 한다.저장된 y값과 m값은 매 클럭마다 다음 메모리로 옮겨진다.
이와 같은 방법으로 트레이스 백한후의 정보의 디코딩은 다음의 방법으로 해결된다.
z=aj (단, 시간(j)이 트레이스 백 깊이 이상일때)
즉, 시간(j-1)에서 시간(j)로 이동할때 정보 비트는 상태 벡터(aj,bj)의 aj에 저장되므로 시간이 트레이스 백 깊이 이상이 되면 aj를 출력하여 정보를 디코딩한다.
제5도에 도시한 바와 같이 비터비 디코더의 트레이스 백 장치는 서바이버 경로들을 선택하여 출력하는 선택부(21), 직렬 연결되어 선택부(21)로 부터 출력되는 서바이버 경로를 저장하고 매 클럭마다 쉬프트시키는 다수의 메모리(y0,y0',yl,yl',…,yd,yd'),및 직렬 연결되어 선택부(21)로부터 출력되는 상태 벡터를 저장하고 매 클럭마다 쉬프트시키는 다수의 메모리(m0,m1,m2,…,md,z)로 구성한다.
이때, 메모리(m0,m1,m2,…,md,z)는 트레이스 백 깊이에 해당하는 메모리(m0,m1,m2,…,md,z)에 하나의 메모리(z)를 포함하여 이루어진다.
또한 다수의 메모리(y0,y0',yl,yl',…,yd,yd')중에서 메모리(y0',yl',…,yd')는 트레이스 백할때 정보를 저장하기 위해 필요한 여분의 메모리로, 다수의 메모리(y0,y0',yl,yl',…,yd,yd')는 트레이스 백 깊이에 해당하는 갯수의 2배의 메모리가 된다.
따라서 이미 저장된 서바이버 경로를 트레이스 백하는데 필요한 트레이스 백 메모리의 크기는 일반적으로 2ⁿ×n×d가 된다. 여기서, n은 콘스트레인트 길이로 부터 '1'을 뺀 값(constraint length-1)이 되고, d는 트레이스 백 깊이(Trace-back Depth)가 된다.
따라서 종래의 비터비 디코더의 트레이스 백 장치는 메모리의 크기가 커지는 문제점이 있었다.
[발명의 목적]
상기 문제점을 개선하기 위한 본 발명은 메모리의 크기를 줄이면서 처리 속도를 개선하기 위한 비터비 디코더의 트레이스 백 장치를 제공함에 그 목적이 있다.
[발명의 구성]
상기 목적을 달성시키기 위한 본 발명에 의한 비터비 디코더의 트레이스 백 장치는 서바이버 경로와 상태 벡터를 선택하여 출력하는 선택부, 직렬 연결되어 상기 선택부로 부터 출력되는 서바이버 경로를 저장하고 매 클럭마다 쉬프트시키는 다수의 서바이버 경로 메모리, 및 상기 선택부로 부터 출력되는 상태 벡터와 상기 서바이버 경로 메모리에 저장된 서바이버 경로에 따라 계산된 상태 벡터를 순차적으로 저장하는 다수의 상태 벡터 메모리로 구성됨을 특징으로 한다.
[작용]
본 발명에 의한 비터비 디코더의 트레이스 백 장치는 서바이버 경로와 상태 벡터에 의해 계산된 상태 벡터 값을 다음 클럭에서 다음의 메모리로 서바이버 경로가 옮겨질때 그 다음의 상태 벡터를 저장하는 메모리에 저장한다.
[실시예]
제6도를 참조하면, 본 발명에 의한 신규한 비터비 디코더의 트레이스 백 장치는 트레이스 백 깊이(d)보다 '1' 큰수로 이루어지며 직렬 연결되어 선택부(21)로 부터 출력되는 서바이버 경로를 저장하고 매 클럭마다 쉬프트시키는 다수의 서바이버 경로 메모리(y0,yl,…,yd) 및 트레이스 백 깊이d보다 '1' 큰 수로 이루어지며 상기 선택부(21)로부터 출력되는 상태 벡터와 상기 서바이버 경로 메모리(y0,y1,…,yd)에 저장된 서바이버 경로에 따라 계산된 상태 벡터를 상기 서바이버 경로 메모리(yn)에 저장된 서바이버 경로가 클럭에 따라 다음의 서바이버 경로 메모리(yn+1) 에 저장될때 다음의 상태 벡터 메모리(mn+2)에 순차적으로 저장하는 다수의 상태 벡터 메모리(m0,m1,m2,…,md,z)로 구성된다.
이하 첨부한 도면을 참조하여 본 발명의 실시예를 상세히 설명한다.
제6도는 본 발명에 의한 비터비 디코더의 트레이스 백 장치의 구성도이다.
본 발명에 의한 트레이스 백 장치는 제6도에 도시한 바와 같이 선택부(21), 다수의 서바이버 경로 메모리(y0,yl,…,yd), 및 다수의 상태 벡터 메모리(m0,m1,m2,…,md)로 구성된다.
선택부(21)는 서바이버 경로와 상태 벡터를 선택하여 서바이버 경로 메모리와 상태 벡터 매모리로 출력한다.
서바이버 경로 메모리(yn, n=0,1,2,…,d)는 직렬 연결되어 선택부(21)로부터 출력되는 서바이버 경로를 저장하고 매 클럭마다 쉬프트시키는 것으로, 트레이스 백 깊이(d)보다 '1' 큰수로 이루어진다.
상태 벡터 메모리(mn,n=0,1,…,d)는 선택부(21)로 부터 출력되는 상태 벡터와 서바이버 경로 메모리(y0,yl,…,yd)에 저장된 서바이버 경로에 따라 계산된 상태 벡터를 순차적으로 저장하는 것으로, 트레이스 백 깊이(d)보다 '1' 큰 수로 이루어진다.
여기서, 계산된 상태 벡터는 서바이버 경로 메모리(yn)에 저장된 서바이버 경로가 클럭에 따라 다음의 서바이버 경로 메모리(yn+1)에 저장될 때 그 다음의 상태 벡터 메모리(mn+2)에 저장된다.
이와 같이 구성되는 본 발명에 의한 비터비 디코더의 트레이스 백 장치의 동작을 설명한다.
먼저 선택부(21)로 부터 출력되는 서바이버 경로와 상태 벡터는 클럭에 따라 서바이버 경로 메모리(y0)와 상태 메모리(m0)에 저장된다.
다음 클럭이 입력되면 다시 선택부(21)로 부터 서바이버 경로와 상태 벡터가 출력되고, 출력된 서바이버 경로와 상태 벡터는 클럭에 따라 서바이버 경로 메모리(y0)와 상태 벡터 메모리(m0)에 저장되면서, 이전에 서바이버 경로 메모리(y0)와 상태 벡터 메모리(m0)에 저장된 서바이버 경로와 상태 벡터는 다음의 서바이버 경로 메모리(y1)와 상태 벡터 메모리(n1)에 저장된다.
이때, 서바이버 경로 메모리(y0)에 저장된 서바이버 경로와 상태 메모리(m0)에 저장된 상태 벡터에 의해 계산된 상태 벡터는 클럭에 따라 서바이버 경로 메모리(y0)에 저장된 서바이버 경로가 서바이버 경로 메모리(y1)으로 옮겨질때 그 다음 상태 벡터 메모리(N2)에 저장된다.
그리고 나서 다음 클럭이 입력되면 다시 선택부(21)로 부터 서바이버 경로가 출력되고 출력된 서바이버 경로는 클럭에 따라 서바이버 경로 메모리(y0)에 저장되면서 이전에 저장된 서바이버 경로는 위에서 설명한 바와 같이 쉬프트된다.
즉, 서바이버 경로 메모리(y1)에 저장된 서바이버 경로는 쉬프트되어 다음의 서바이버 경로 메모리(y2)에 저장된다. 또한, 서바이버 경로 메모리(y2)에 저장된 서바이버 경로와 상태 벡터 메모리(m1)에 저장된 상태 벡터에 의해 계산된 상태 백터는 클럭에 따라 서바이버 경로 메모리(y1)에 저장된 서바이버 경로가 서바이버 경로 메모리(y2)으로 옮겨질때 그 다음 상태 벡터 메모리(m3)에 저장된다.
이와 같은 방법으로 상태 벡터 메모리(m3,m4,…,md)에 상태 벡터가 저장된다.
따라서 제5도의 종래의 트레이스 장치에서 트레이스 백할때 정보를 저장하기 위해 필요한 여분의 메모리(y0',y1',y2',…,yn')는 불필요하게 된다.
[효과]
이상에서 설명한 바와 같이 본 발명에 의한 비터비 디코더의 트레이스 백 장치는 종래의 트레이스 백 정보를 저장하기 위해 필요한 여분의 메모리가 불필요하게 되므로 필요한 메모리의 크기가 약 2n×2×d가 되어 메모리 크기를 반으로 줄일 수 있게되고, 처리속도가 빨라지는 효과가 있다.

Claims (2)

  1. 서바이버 경로와 상대 벡터를 선택하여 출력하는 선택부(21), 직렬 연결되어 상기 선택부(21)로부터 출력되는 서바이버 경로를 저장하고 매 클럭마다 쉬프트시키는 다수의 서바이버 경로 메모리(y0,y1,…,yd) 및 상기 선택부(21)로 부터 출력되는 상태 벡터와 상기 서바이버 경로 메모리(y0,y1,…,yd)에 저장된 서바이버 경로에 따라 계산된 상태 백터를 상기 클럭에 따라 순차적으로 저장하는 다수의 상태 벡터 메모리(m0,m1,m2,…,md)로 구성되되, 상기 계산된 상태 벡터는 상기 서바이버 경로 메모리(yn)에 저장된 서바이버 경로가 상기 클럭에 따라 다음의 서바이버 경로 메모리(yn+1)에 저장될때 그 다음의 상태 벡터 메모리(mn+2)에 저장됨을 특징으로 하는 비터비 디코더의 트레이스 백 장치.
  2. 제1항에 있어서, 상기 서바이버 경로 메모리(y0,y1,…,yd)와 상태 벡터 메모리(m0,m1,m2,…,md)는 트레이스 백 깊이(d)보다 '1'큰 수로 이루어지는 것을 특징으로 하는 비터비 디코더의 트레이스 백 장치.
KR1019960018408A 1996-05-29 1996-05-29 비터비 디코더의 트레이스 백 장치 KR100205547B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960018408A KR100205547B1 (ko) 1996-05-29 1996-05-29 비터비 디코더의 트레이스 백 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960018408A KR100205547B1 (ko) 1996-05-29 1996-05-29 비터비 디코더의 트레이스 백 장치

Publications (2)

Publication Number Publication Date
KR970076281A KR970076281A (ko) 1997-12-12
KR100205547B1 true KR100205547B1 (ko) 1999-07-01

Family

ID=19460005

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960018408A KR100205547B1 (ko) 1996-05-29 1996-05-29 비터비 디코더의 트레이스 백 장치

Country Status (1)

Country Link
KR (1) KR100205547B1 (ko)

Also Published As

Publication number Publication date
KR970076281A (ko) 1997-12-12

Similar Documents

Publication Publication Date Title
KR100580160B1 (ko) 변형된 역추적 방식의 2단 연출력 비터비 알고리즘 복호화기
KR100187964B1 (ko) 비터비 복호방법 및 비터비 복호장치
KR940010435B1 (ko) 비터비 복호기의 경로기억장치
EP1102408A2 (en) Viterbi decoder
GB2311447A (en) Viterbi decoder
US7277507B2 (en) Viterbi decoder
US6697442B1 (en) Viterbi decoding apparatus capable of shortening a decoding process time duration
US6601215B1 (en) Traceback buffer management for VLSI Viterbi decoders
KR100311504B1 (ko) 비터비디코더의스태이트메트릭메모리및이를이용한복호화방법
US5887007A (en) Viterbi decoding method and viterbi decoding circuit
US6792570B2 (en) Viterbi decoder with high speed processing function
KR100737648B1 (ko) 비터비 복호장치 및 비터비 복호방법
US20070201586A1 (en) Multi-rate viterbi decoder
KR100205547B1 (ko) 비터비 디코더의 트레이스 백 장치
KR100262303B1 (ko) 비터비알고리즘을적용하는복호과정에서의생존경로역추적방법및그장치
KR0180303B1 (ko) 비터비 디코더의 정규화 방법 및 장치
KR0180309B1 (ko) 비터비 디코더
JP2004153319A (ja) ビタビ復号装置
JP4729938B2 (ja) ビタビ復号器及びそれを用いる移動体通信装置、基地局装置、移動体通信端末
KR100564757B1 (ko) 저전력 비터비 복호기 및 역추적 방법
JPH0832456A (ja) ビタビ最尤復号装置
JPH0730438A (ja) ビタビ復号方法
JP3837913B2 (ja) ビタビ復号器
US20200274557A1 (en) Method of viterbi algorithm and receiving device
KR100195004B1 (ko) 비트시리얼 비터비 디코더의 가산/비교/선택 어레이

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

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee