KR20040065841A - Operation method for traceback of viterbi decoder - Google Patents

Operation method for traceback of viterbi decoder Download PDF

Info

Publication number
KR20040065841A
KR20040065841A KR1020030003031A KR20030003031A KR20040065841A KR 20040065841 A KR20040065841 A KR 20040065841A KR 1020030003031 A KR1020030003031 A KR 1020030003031A KR 20030003031 A KR20030003031 A KR 20030003031A KR 20040065841 A KR20040065841 A KR 20040065841A
Authority
KR
South Korea
Prior art keywords
traceback
memory
viterbi decoder
memories
data
Prior art date
Application number
KR1020030003031A
Other languages
Korean (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 KR1020030003031A priority Critical patent/KR20040065841A/en
Publication of KR20040065841A publication Critical patent/KR20040065841A/en

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
    • H03M13/4176Sequence 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 using a plurality of RAMs, e.g. for carrying out a plurality of traceback implementations simultaneously
    • 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

Landscapes

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

Abstract

PURPOSE: A method for calculating the traceback of a Viterbi decoder is provided to save the capacity of the memory in comparison with a conventional method without performance deterioration. CONSTITUTION: A method for calculating the traceback of a Viterbi decoder includes the steps of: a first step of constructing a traceback block by a predetermined number of memories with a capacity having a half of the conventional unit memory in the Viterbi decoder; and a second step of performing the traceback by two memories simultaneously when the Viterbi decoding is performed by using the memories.

Description

비터비 복호기의 트레이스백 연산방법{OPERATION METHOD FOR TRACEBACK OF VITERBI DECODER}OPERATION METHOD FOR TRACEBACK OF VITERBI DECODER}

본 발명은 비터비 복호기의 트레이스백(traceback)을 효율적으로 수행하는 기술에 관한 것으로, 특히 약간의 제어신호를 추가하여 일정 지연시간 동안 빈 상태로 유지되는 경로 메트릭 메모리를 사용하여 트레이스백에 사용되는 메모리 용량을 감소시킬 수 있도록 한 비터비 복호기의 트레이스백 연산방법에 관한 것이다.TECHNICAL FIELD The present invention relates to a technique for efficiently performing a traceback of a Viterbi decoder. In particular, the present invention relates to a traceback memory using a path metric memory which is kept empty for a certain delay by adding a few control signals. The present invention relates to a traceback calculation method of a Viterbi decoder to reduce memory capacity.

디지털 통신 시스템에서 데이터를 전송할 때 발생하는 오류를 수정해 주기 위하여 오류 정정 부호화(EEC: Error Correcting Coding)를 사용한다. 상기 오류 정정 부호화는 크게 데이터를 블록 단위로 부호화 및 복호화를 수행하는 블록 코드(block code)와, 일정 용량의 메모리를 이용하여 이전 데이터와 현재 데이터를 비교해서 부호화를 수행하는 컨볼루션 코드(convolutional code)로 분류된다.Error Correcting Coding (EEC) is used to correct an error that occurs when transmitting data in a digital communication system. The error correcting encoding is a block code that encodes and decodes data in block units, and a convolutional code that performs encoding by comparing old data with current data using a memory of a predetermined capacity. Are classified as).

상기 컨볼루션 코드는 k-비트 블록의 입력 메시지에 대하여 동일한 시간 단위에서 n-심벌 블록의 코드워드 메시지를 작성한다. k/n의 비(R)를 코드율이라 한다. 예를 들어, 광대역 CDMA에서 R=1/2 및 R=1/3이 주로 사용된다. 일반적으로 부호화 장치는 시프트 레지스터, 모듈로-2 가산기 및 다중화 장치를 사용하여 구현할 수 있다. 컨볼루션 코드는 세 가지 정수 n,k,K로 표현될 수 있으며, 정수 K는 구속장 길이(Constraint Length)라 칭하며, 부호화 장치의 시프트 레지스터에서 k-비트 블록의 입력 메시지의 단(stage)의 수를 나타낸다. 현재, 구속장 길이는 K=9까지 이용되며, K > 9 이상은 실제로는 이용되지 않는다. 실제로, 광대역 CDMA에서는 K=9인 구조가 사용되고 있다. 비터비(Viterbi) 알고리즘은 이러한 컨볼루션 코드를 복호하는데 가장 많이 사용되고 있는 방법 중 하나이다.The convolution code generates a codeword message of an n-symbol block in the same time unit for an input message of a k-bit block. The ratio R of k / n is called code rate. For example, R = 1/2 and R = 1/3 are mainly used in wideband CDMA. In general, an encoding apparatus may be implemented using a shift register, a modulo-2 adder, and a multiplexing apparatus. The convolutional code can be represented by three integers n, k, and K. The integer K is called the constraint length, and the stage of the input message of the k-bit block in the shift register of the encoding apparatus. Indicates a number. Currently, the constraint length is used up to K = 9, and more than K> 9 is not actually used. In practice, a structure in which K = 9 is used in wideband CDMA. The Viterbi algorithm is one of the most used methods for decoding such convolutional codes.

비터비 알고리즘은 입력 메시지가 주어진 트렐리스(trellis)를 통해 최단 경로를 발견하며, 각 노드는 주어진 이산시간의 상태(stste)에 대응한다. 트렐리스 노드에 접속하는 라인을 브렌치(branch)라 하는데, 이는 하나의 상태에서 또 다른 상태로의 천이(transition)에 대응한다. 트렐리스의 노드에 접속하는 브렌치는 메트릭에 할당되며, 이러한 메트릭은에 근사한 부 로그 우도 함수로 주어지는데, 여기서 r은 측정된 출력을 나타내는 신호이고, v는 상태 간의 전위를 위한 실제 출력을 나타내는 신호이다. 이렇게 각 단에서 계산된 브렌치 메트릭과 이전 단의 경로 메트릭을 더한 값을 비교하여 둘 중 작은 값이 다음 경로 메트릭 값을 결정하게 된다. 이렇게 연산된 경로 메트릭을 이용하여 복호 연산을 수행하기 위해서는 트렁케이션 깊이(truncation depth), L 이라고 정의되는 단의 수 동안의 경로 메트릭이 요구되며, 이 값은 일반적으로 K의 5배 이상의 값을 가진다. 단의 수가 L만큼 진행되면 입력 메시지가 복호화 되어 출력되기 시작하는데, 이 복호화 방식에 대표적으로 레지스터 교환(register exchange) 방식과 트레이스백 방식이 있다.The Viterbi algorithm finds the shortest path through the trellis given an input message, and each node corresponds to a given discrete time stste. A line connecting a trellis node is called a branch, which corresponds to a transition from one state to another. Branches that connect to nodes in Trellis are assigned to metrics, which are It is given by the negative log likelihood function, approximated by r, where r is the signal representing the measured output and v is the signal representing the actual output for the potential between states. By comparing the branch metric calculated in each stage and the path metric of the previous stage, the smaller of them determines the next route metric value. In order to perform the decoding operation using the calculated route metric, the route metric for the number of stages defined as truncation depth, L is required, and this value is generally 5 times or more of K. . When the number of stages advances by L, the input message is decoded and outputted. There are two types of decoding methods, a register exchange method and a traceback method.

비터비 알고리즘을 이용한 구조는 도 1에서와 같이, 현재의 상태와 다음 상태의 관계가 나비 모양과 같은 버터플라이 구조를 가지고 있다. 이는 새로운 브렌치 메트릭 값(BM)과 누적된 경로 메트릭 값(PM)을 각 천이마다 가산한 후 각 상태별로 비교하여 최적의 경로 메트릭 값을 갖는 생존 메트릭 값과 생존 경로를 출력하는 가산 비교 선택(Add-Compare-Selection) 장치로 구현된다. 가산 비교 선택 장치를 통해 선택된 생존 경로를 저장하여 단이 보통 K의 5배 이상 진행되면 복호화를 시작한다. 생존 경로를 역추적하려면 각각의 상태()가 트렁케이션 깊이(L) 만큼 데이터를 저장해야 한다. 그러므로, 저장에 필요한 면적은 대략로 K 값이 클수록 증가한다. 상기 K의 값이 작고 경로 메트릭의 값이 작은 경우 레지스터 교환 방식을 사용하면 제어가 간단하고 구현이 용이하지만, K가 크고 경로 메트릭의 값이 큰 경우에 레지스터 교환 방식을 사용하면 면적이 너무 넓어지고 전력 소모가 많은 단점이 있어 메모리를 사용하는 트레이스백 방식을 사용하는 것이 유리하다.In the structure using the Viterbi algorithm, as shown in FIG. 1, the relationship between the current state and the next state has a butterfly structure such as a butterfly shape. It adds the new branch metric value (BM) and the accumulated path metric value (PM) at each transition and compares them for each state, and adds an addition comparison selection that outputs the survival metric value and the survival path with the optimal path metric value (Add -Compare-Selection). The survival path selected by the addition comparison selection device is stored so that the decoding starts when the stage is usually 5 times larger than K. To trace back a survival path, each state ( ) Should store data as much as the depth of truncation (L). Therefore, the area required for storage is approximately As the value of K increases. When the value of K is small and the value of the path metric is small, the register exchange method is simple to control and is easy to implement. However, when the K is large and the value of the path metric is large, the area of the register is too large. There is a drawback in power consumption, so it is advantageous to use a traceback method that uses memory.

일반적으로, 트레이스백 방식을 사용하는 경우 도 2에서와 같이, 4개의 메모리(MEM0-MEM3)가 필요하다. 복호화된 데이터를 얻으려면 최소 트렁케이션 깊이(L) 만큼의 트레이스백을 걸어야 하기 때문에 처음 L 개의 입력 데이터를 첫 번째 메모리(MEM0)에 라이트한다. 이후, L 개의 데이터를 두 번째 메모리(MEM1)에 라이트하고, 상기 첫 번째 메모리(MEM0)에 입력된 데이터를 트레이스백한다. 그 다음 L 개는 세 번째 메모리(MEM2)에 라이트하고 동시에 두 번째 메모리(MEM1)에 입력된 데이터를 트레이스백하며, 이때 상기 첫 번째 메모리(MEM0)는 두 번째 메모리(MEM1)의 트레이스백이 완료될 때까지 동작하지 않고 대기(idle) 상태에 놓이게 된다. 다음 L 개의 데이터가 네 번째 메모리(MEM3)에 라이트되는 동안 상기 첫 번째 메모리(MEM0)에 대해서는 두 번째 메모리(MEM1)에서 트레이스백을 통해 수렴된 생존경로로부터 복호화를 시작한다.In general, when using the traceback method, as shown in FIG. 2, four memories MEM0-MEM3 are required. In order to obtain the decoded data, it is necessary to trace back the minimum truncation depth (L), so the first L input data is written to the first memory (MEM0). Thereafter, the L data are written to the second memory MEM1 and the data input to the first memory MEM0 is traced back. Then L writes to the third memory (MEM2) and simultaneously traces back the data input to the second memory (MEM1), where the first memory (MEM0) is the traceback of the second memory (MEM1) is completed It will not run until it is idle. While the next L data are written to the fourth memory MEM3, decoding is started from the survival path converged through traceback in the second memory MEM1 for the first memory MEM0.

복호화된 데이터는 입력된 순서와 반대로 진행되므로 일단 후입선출기(LIFO: Last Input First Output)에 저장된 후 상기 첫 번째 메모리(MEM0)의 데이터가 모두 복호화 되면 후입선출기(LIFO)에서 복호화된 데이터를 하나씩 출력한다. 상기 첫 번째 메모리(MEM0)와 네 번째 메모리(MEM3)가 상기와 같이 동작하는 동안 세 번째 메모리(MEM2)에 대해서는 트레이스백을 수행하고, 두 번째 메모리(MEM1)는 세 번째 메모리(MEM2)의 트레이스백이 수행되기를 기다린다. 상기 후입선출기(LIFO)에 복호화된 데이터가 저장되고 출력되는 과정을 도 3에 나타내었다. 후입선출기(LIFO)에 저장된 데이터가 출력되는 동안 다시 L의 데이터가 복호화 되므로 이를 저장하기 위한 후입선출기(LIFO)가 하나 더 필요하다. 따라서, 처음 입력된 L 개의 입력 메시지를 디코더(DEC)복호화하여 출력하는데, 총 4L 만큼의 지연시간(latency)이 필요하다.Since the decoded data proceeds in the reverse order of the input sequence, once the data is stored in the last input first output (LIFO) and the data in the first memory MEM0 are all decoded, the decoded data is decoded in the last-in-first-out (LIFO). Print one by one. While the first memory MEM0 and the fourth memory MEM3 operate as described above, the third memory MEM2 performs a traceback, and the second memory MEM1 traces the third memory MEM2. Wait for the back to run. 3 shows a process of storing and outputting the decoded data in the last-in, first-out (LIFO). Since the data of L is decoded again while the data stored in the last-in-first-out (LIFO) is output, one more last-in-first-out (LIFO) is required to store it. Therefore, in order to decode and output the first L input messages inputted to the decoder (DEC), a total delay of 4L is required.

비터비 복호기 구현시 저장 매체의 용량이 전체 용량의 60% 정도를 차지하므로 이 용량을 줄이는 것이 전체 로직의 면적을 줄이는데 큰 영향을 미친다.When implementing a Viterbi decoder, the storage medium occupies about 60% of the total capacity, so reducing this capacity greatly affects the area of the entire logic.

그러나, 종래 기술에 의한 비터비 복호기에 있어서는 트레이스백 메모리의 구조적인 특징으로 인하여 불필요하게 많은 용량의 메모리를 사용하게 되고, 이로 인하여 전체 로직의 면적이 넓어지고 원가가 상승되는 결함이 있었다.However, in the Viterbi decoder according to the prior art, due to the structural features of the traceback memory, a large amount of memory is used unnecessarily, and thus, the area of the entire logic is increased and the cost is increased.

따라서, 본 발명의 목적은 약간의 제어신호를 추가하여 일정 지연시간 동안 빈 상태로 유지되는 경로 메트릭 메모리를 사용하여 트레이스백에 사용되는 메모리 용량을 감소시킨 비터비 복호기의 트레이스백 연산방법을 제공함에 있다.Accordingly, an object of the present invention is to provide a traceback calculation method of a Viterbi decoder which reduces the memory capacity used for traceback by adding a little control signal and using a path metric memory that remains empty for a predetermined delay time. have.

도 1은 64-스테이지를 가진 비터비 복호기의 버터플라이 구조도.1 is a butterfly structure diagram of a Viterbi decoder having a 64-stage.

도 2는 종래 기술에 의한 비터비 복호기의 트레이스백 메모리 포맷도.2 is a traceback memory format diagram of a Viterbi decoder according to the prior art.

도 3은 일반적인 비터비 복호기의 후입선출 동작을 나타낸 설명도.3 is an explanatory diagram showing a last-in-first-out operation of a general Viterbi decoder.

도 4는 본 발명에 의한 비터비 복호기의 트레이스백 메모리 포맷도.4 is a traceback memory format diagram of a Viterbi decoder according to the present invention;

도 5는 본 발명에 의한 비터비 복호기의 또 다른 트레이스백 메모리의 포맷도.5 is a format diagram of another traceback memory of a Viterbi decoder according to the present invention;

***도면의 주요 부분에 대한 부호의 설명****** Description of the symbols for the main parts of the drawings ***

DEC : 복호기 LIFO : 후입선출기DEC: Decoder LIFO: Last-In First-Out

본 발명에 의한 비터비 복호기의 트레이스백 연산방법은, 데이터의 라이트, 트레이스백, 대기상태, 복호화 순서로 비터비 복호화를 수행하기 위하여, 통상의 단위 메모리 용량의 절반 용량을 갖는 소정 개수(예: 6개)의 메모리로 트레이스백 블록을 구축하는 제1과정과; 상기 메모리를 이용하여 비터비 복호화를 수행할 때 동시에 두 개의 메모리로 트레이스백을 수행하는 제2과정을 포함하여 이루어지는 것으로, 이와 같은 본 발명의 트레이스백 연산방법을 첨부한 도 4 및 도 5를 참조하여 상세히 설명하면 다음과 같다.The traceback calculation method of the Viterbi decoder according to the present invention includes a predetermined number having a half capacity of a typical unit memory capacity (eg, in order to perform Viterbi decoding in the order of data writing, traceback, standby state, and decoding). A first step of building a traceback block into six memories; When performing Viterbi decoding using the memory, a second process of performing traceback to two memories at the same time is included. Referring to FIGS. 4 and 5 to which the traceback calculation method of the present invention is attached. When described in detail as follows.

비터비 복호기에서 트레이스백을 위해 메모리에 저장되는 값은 가산 비교 선택(Add-compare-Selection) 장치를 통해 생존 메트릭이 결정될 때, 그 생존 메트릭이 이전 경로 메트릭 중에서 해당되는 상태 즉, '0'과 '1'을 이용하여 이전 경로의 상태를 구분하는 1 비트로 표현된 데이터이다.In Viterbi decoder, the value stored in memory for traceback is determined when the survival metric is determined by the Add-compare-Selection device. Data represented by 1 bit using '1' to distinguish the state of the previous path.

도 1에서 가산 비교 선택기는 PM(n) + BM00 값과 PM(n+1) + BM01 값을 비교하여 둘 중에서 작은 값을 다음 경로 메트릭인 PM_N(n)에 저장하게 된다. 이때, 경로 메트릭, PM(n)과 PM(n+1)의 상태를 나타내는 값의 LSB는 '0'과 '1'로서 이것을 트레이스백 메모리에 저장하면 다음 경로 메트릭, PM_N(n)의 경로의 상태를 추적할 수 있다.In FIG. 1, the addition comparison selector compares the PM (n) + BM00 value with the PM (n + 1) + BM01 value and stores the smaller of them in the next path metric PM_N (n). At this time, the LSBs of values representing the state of the path metric, PM (n) and PM (n + 1) are '0' and '1', and when they are stored in the traceback memory, the path of the next path metric, PM_N (n) You can track the status.

PM(n) + BM00와 PM(n+1) + BM01을 비교하여 PM(n) + BM00가 작으면 다음 경로 메트릭, PM_N(n)에 이 값이 저장되면서 트레이스백 메모리에는 '0'이 저장되지만, 반대의 경우에는 트레이스백 메모리에 '1'이 저장된다. 이렇게 저장된 데이터를 트레이스백할 때에는 현재 상태 값에서 MSB를 빼고 LSB에 트레이스백 메모리에 저장된 값을 이어 붙여 주면(concatenation) 이전 경로 메트릭을 추적할 수 있다. 왜냐하면, 비터비의 버터플라이 구조상 경로 메트릭의 상태 LSB를 알면 역추적시 상태값을 추정할 수 있기 때문이다.If PM (n) + BM00 is smaller than PM (n) + BM00 and PM (n + 1) + BM01, this value is stored in the next path metric, PM_N (n), and '0' is stored in traceback memory. In the opposite case, a '1' is stored in the traceback memory. When tracing back the stored data, the previous path metric can be tracked by subtracting the MSB from the current state value and concatenating the LSB stored value in the traceback memory. This is because, based on the Viterbi butterfly structure, if the state LSB of the path metric is known, the state value at the time of backtracking can be estimated.

기존의 방식대로 트레이스백 메모리를 사용할 경우, 상태 개수 ()에 트렁케이션 깊이 (L)을 곱한 용량()의 메모리 4개를 필요로 한다. 그러나, 절반 용량()의 메모리 6개를 사용하여 동일한 성능의 트레이스백 블록을 구현할수 있다. 예를 들어, 도 4에서와 같은 트레이스백 메모리 구조를 사용할 경우, 트레이스백에 사용되는 메모리의 전체 용량을 기존 방식의 1/4만큼 줄일 수 있다.If you use the traceback memory in the conventional manner, the number of states ( ) Multiplied by the truncation depth (L) ( 4 memories are required. However, half the capacity ( Using six memories, the same traceback block can be implemented. For example, when using the traceback memory structure as shown in FIG. 4, the total capacity of the memory used for the traceback can be reduced by 1/4 of the conventional method.

도 4에서 화살표는 각각의 메모리(MEM0-MEM5)가 액세스되는 진행 방향을 나타낸 것이다. 절반 용량의 메모리를 사용하는 대신 동시에 두 개의 메모리가 트레이스백(TB0),(TB1)을 수행하도록 하면 충분한 길이의 트렁케이션 깊이가 보장되므로 복호화 성능에 있어서도 기존의 방식과 별다른 차이가 없다. 도 4에서 표시된 메모리 액세스 방향에서 라이트와 디코딩이 서로 반대 방향으로 진행됨을 알 수 있다. 일단, 복호화되어 후입선출기(LIFO)에 데이터가 저장되고 나면 트레이스백 메모리에 저장된 내용은 쓸모가 없다는 점을 고려하면 복호화가 진행되는 동안 이미 복호화 된 데이터를 저장하고 있는 공간은 사용되지 않은 채로 남아 있게 된다.In FIG. 4, an arrow shows a progress direction in which each of the memories MEM0-MEM5 is accessed. Instead of using half the memory, having two memory tracebacks (TB0) and (TB1) at the same time ensures a sufficient depth of truncation, so there is no difference in decoding performance. In the memory access direction indicated in FIG. 4, it can be seen that writing and decoding proceed in opposite directions. Once the data is decoded and stored in the last-in-first-out (LIFO), the space that already stores the decoded data remains unused during decryption, considering that the contents stored in the traceback memory are useless. Will be.

이렇게 사용되지 않은 채로 남는 부분에 데이터를 라이트하면 트레이스백에 사용되는 메모리의 개수를 도 5와 같이 하나 더 줄일 수 있다. 도 5와 같이 복호화되는 방향과 동일한 방향으로 데이터를 라이트하면 이미 복호화가 완료되어 빈 메모리에 입력 데이터가 라이트된다. 이 경우 메모리의 액세스 진행 방향이 일정하지 않으므로 부가적으로 시작 메모리 어드레스를 가르키는 제어신호가 필요하며, 사용되는 메모리 구조가 듀얼 포트 램(Dual port RAM) 이어야 한다.If data is written to the portion left unused in this way, the number of memories used for the traceback can be further reduced as shown in FIG. When data is written in the same direction as the decoding direction as shown in FIG. 5, decoding is completed and input data is written to the empty memory. In this case, since the access progress direction of the memory is not constant, a control signal indicating the start memory address is additionally required, and the memory structure used must be a dual port RAM.

메모리 어드레스는 라이트할 때 'L/2-1'에서 '0' 방향으로 진행하고 나머지 경우는 '0'에서 'L/2-1' 방향으로 진행하는 것이 기본이나(도 4의 화살표 방향), 도 5의 트레리스백 메모리 구조를 사용할 경우에는 상황에 따라 메모리 어드레스에 대한 진행방향이 달라진다. 따라서, 이것을 제어해 주는 신호가 필요하다. 메모리어드레스 진행 방향은 도 5의 화살표 방향을 보면 상황에 따라 어떻게 달라지는지 알 수 있다.When the memory address is written, it proceeds from 'L / 2-1' to '0' direction, and in other cases, proceeds from '0' to 'L / 2-1' direction (arrow direction in FIG. 4). In the case of using the trellis-back memory structure of FIG. 5, the advancing direction of the memory address varies according to a situation. Therefore, a signal for controlling this is required. It can be seen how the memory address progress direction varies depending on the situation in the arrow direction of FIG. 5.

구속장 길이 K값의 증가에 따라 감소되는 트레이스백 메모리의 용량을 아래의 [표1]에 나타내었다. K가 클수록 메모리 용량이나 전력소모 측면에서 큰 이득을 볼 수 있다.The amount of traceback memory that decreases with increasing constraint length K is shown in Table 1 below. The larger K, the greater the gain in terms of memory capacity and power consumption.

이상에서 상세히 설명한 바와 같이 본 발명은 절반 용량의 메모리를 6개 사용하고, 트레이스백 방식으로 복호화 할 때 일정 지연시간 동안 빈 상태로 유지되는 경로 메트릭 메모리를 사용하도록 함으로써, 성능 저하 없이 메모리 용량을 종래에 비하여 1/4 이상 절약할 수 있는 효과가 있다.As described in detail above, the present invention uses six half-capacity memories and uses a path metric memory that remains empty for a predetermined delay time when decrypted by the traceback method, thereby improving memory capacity without degrading performance. Compared to the above, it can save more than 1/4.

Claims (3)

비터비 복호기에서 통상의 단위 메모리 용량의 절반 용량을 갖는 소정 개수의 메모리들로 트레이스백 블록을 구축하는 제1과정과; 상기 메모리들을 이용하여 비터비 복호화를 수행할 때 동시에 두 개의 메모리로 트레이스백을 수행하는 제2과정을 포함하여 이루어지는 것을 특징으로 하는 비터비 복호기의 트레이스백 연산방법.A first step of constructing a traceback block with a predetermined number of memories having a half capacity of a typical unit memory capacity in a Viterbi decoder; And a second step of performing a traceback to two memories at the same time when performing Viterbi decoding by using the memories. 제1항에 있어서, 트레이스백 블록은 6개의 메모리로 이루어진 것을 특징으로 하는 비터비 복호기의 트레이스백 연산방법.2. The method of claim 1, wherein the traceback block comprises six memories. 제1항 또는 제2항에 있어서, 트레이스백 블록은 데이터를 라이트하기 위한 메모리를 별도로 사용하지 않고, 복호화가 진행되는 동안 이미 복호화 된 데이터를 저장하고 있는 공간에 데이터를 라이트하는 방식을 채택하여 메모리 개수를 하나 더 줄인 것을 특징으로 하는 비터비 복호기의 트레이스백 연산방법.The memory of claim 1 or 2, wherein the traceback block does not use a memory for writing data separately, and employs a method of writing data in a space that stores already decoded data during decoding. A traceback calculation method of a Viterbi decoder, characterized in that the number is further reduced.
KR1020030003031A 2003-01-16 2003-01-16 Operation method for traceback of viterbi decoder KR20040065841A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030003031A KR20040065841A (en) 2003-01-16 2003-01-16 Operation method for traceback of viterbi decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030003031A KR20040065841A (en) 2003-01-16 2003-01-16 Operation method for traceback of viterbi decoder

Publications (1)

Publication Number Publication Date
KR20040065841A true KR20040065841A (en) 2004-07-23

Family

ID=37434379

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030003031A KR20040065841A (en) 2003-01-16 2003-01-16 Operation method for traceback of viterbi decoder

Country Status (1)

Country Link
KR (1) KR20040065841A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130073333A (en) * 2011-12-23 2013-07-03 한국전자통신연구원 Apparatus and method of traceback having minimized decoding delay time

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130073333A (en) * 2011-12-23 2013-07-03 한국전자통신연구원 Apparatus and method of traceback having minimized decoding delay time

Similar Documents

Publication Publication Date Title
US7765459B2 (en) Viterbi decoder and viterbi decoding method
KR100403035B1 (en) Viterbi decoding method and Viterbi decoding circuit
JP2001156651A (en) Viterbi decoder
JPH0722967A (en) Route storage device of viterbi decoder
US6272661B1 (en) Minimum memory implementation of high speed viterbi decoder
KR20020048975A (en) High-speed acs unit for a viterbi decoder
KR100390416B1 (en) Method for decoding Turbo
US8566683B2 (en) Power-reduced preliminary decoded bits in viterbi decoders
US7278088B2 (en) Configurable architecture and its implementation of viterbi decorder
KR100336246B1 (en) Integrated circuit with digital processor and co-processor
KR100437697B1 (en) Method and apparatus for decoding multi-level trellis coded modulation
US8401126B2 (en) Viterbi decoding apparatus
US20070201586A1 (en) Multi-rate viterbi decoder
KR20040065841A (en) Operation method for traceback of viterbi decoder
KR100262303B1 (en) Survivor path trace back method in decoding with viterbi algorithm and apparatus thereof
KR0155516B1 (en) Implementation method for state metric memory arrangement with one memory in viterbi decoder
KR100564757B1 (en) Low power Viterbi decoder and trace-back method
KR980006964A (en) Retracement device of lattice decoder
KR20040050754A (en) High speed viterbi decoder
JP3235333B2 (en) Viterbi decoding method and Viterbi decoding device
KR100195004B1 (en) Add / Compare / Select Array of Bit-Serial Viterbi Decoder
KR20000049852A (en) Viterbi decoder
KR0183115B1 (en) Control circuit of path memory of viterbi decoder
KR100301861B1 (en) Decoding time decrease method of viterbi decoder
KR100659777B1 (en) Systolic path memory, path memory using it, and viterbi detector thereof

Legal Events

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