KR100869347B1 - HIGH PERFORMANCE VITERBI DECODER SSTRUCTURE WITH 2 DIMENSIONAL ANALOG SIGNAL PROCESSING CELL ARRAY AND MULTIPLEXER and METHOD THEREOF - Google Patents
HIGH PERFORMANCE VITERBI DECODER SSTRUCTURE WITH 2 DIMENSIONAL ANALOG SIGNAL PROCESSING CELL ARRAY AND MULTIPLEXER and METHOD THEREOF Download PDFInfo
- Publication number
- KR100869347B1 KR100869347B1 KR1020060130010A KR20060130010A KR100869347B1 KR 100869347 B1 KR100869347 B1 KR 100869347B1 KR 1020060130010 A KR1020060130010 A KR 1020060130010A KR 20060130010 A KR20060130010 A KR 20060130010A KR 100869347 B1 KR100869347 B1 KR 100869347B1
- Authority
- KR
- South Korea
- Prior art keywords
- decoding
- signal
- stage
- output
- value
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6597—Implementations using analogue techniques for coding or decoding, e.g. analogue Viterbi decoder
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3905—Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0052—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
- H04L1/0053—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables specially adapted for power saving
Abstract
본 발명은 아나로그 신호처리 셀의 2 차원 배열과 멀티플렉서에 의한 고 효율 비터비 디코더 구조 및 디코딩 방법에 관한 것이다. 더욱 상세하게는 비터비 디코더의 트렐리스 다이아 그램을 구속장(constraint length)의 길이보다 1 혹은 2 단(stage)만큼 더 길게 아나로그 회로에 의해 구현하고, 입력신호 저장을 위해서 상기 아나로그 신호처리 셀의 2 차원 배열의 구현된 스테이지 수 만큼의 커패시터를 순환적으로 배치하여, 입력신호를 상기 커패시터들에 순차적으로 저장한 후, 멀티플렉서를 사용하여 가장 오래된 신호 순서에 따라 상기 아나로그 신호처리 셀의 2 차원 배열의 각 스테이지에 일시에 연결하여 디코딩을 수행하는 것을 특징으로 한다. The present invention relates to a high efficiency Viterbi decoder structure and decoding method using a two-dimensional array and multiplexer of an analog signal processing cell. More specifically, the trellis diagram of the Viterbi decoder is implemented by an analog circuit longer than the length of the constraint length by one or two stages, and the analog signal is stored for storing an input signal. By cyclically arranging as many capacitors as the number of stages implemented in a two-dimensional array of processing cells, sequentially storing an input signal in the capacitors, and then using a multiplexer in accordance with the oldest signal order in the analog signal processing cell. It is characterized by performing a decoding by connecting to each stage of the two-dimensional array at a time.
본 발명에 의하면, 디코딩은 하드웨어적으로 수행하게 되므로 디코딩 속도가 빠를 뿐 아니라, 디코딩을 위한 경로 메모리(Path Memory)도 불필요하며, A/D 변환기가 불필요 하므로 전력소모도 매우 작은 장점이 있다. According to the present invention, since decoding is performed in hardware, not only the decoding speed is fast, but also a path memory for decoding is unnecessary, and an A / D converter is not required, so power consumption is very small.
비터비 디코더, 아나로그 신호처리 셀, 멀티플렉서, 트렐리스 다이아그램 Viterbi decoder, analog signal processing cell, multiplexer, trellis diagram
Description
도 1은 일반적 비터비 디코더의 트렐리스 다이아그램 예시도.1 is an exemplary trellis diagram of a general Viterbi decoder.
도 2a 및 도 2b는 종래의 디지털 비터비 디코더와 아날로그 비터비 디코더의 개략 구조도.2A and 2B are schematic structural diagrams of a conventional digital Viterbi decoder and an analog Viterbi decoder.
도 3은 종래의 아날로그 신호 처리 셀의 순환형 2차원 배열에 의한 초고속 비터비 디코더의 개략 구조도.3 is a schematic structural diagram of a ultra-fast Viterbi decoder with a circular two-dimensional array of conventional analog signal processing cells.
도 4는 도 3의 전개 회로도.4 is a development circuit diagram of FIG. 3.
도 5는 본 발명인 아나로그 신호처리 셀의 2 차원 배열과 멀티플렉서에 의한 고 효율 비터비 디코더의 구조도.5 is a structural diagram of a high efficiency Viterbi decoder using a two-dimensional array and a multiplexer of an analog signal processing cell of the present invention.
<도면중 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>
110 : 아날로그 신호 처리 셀 120 : 입력신호 저장 위치 지시기110: analog signal processing cell 120: input signal storage position indicator
130 : 상태 지시기 140 : 기준신호 입력 단130: status indicator 140: reference signal input terminal
150 : 커패시터 부 160 : 제 1스위치 부150: capacitor section 160: first switch section
170 : 제 2 스위치 부 180 : 아나로그 출력회로170: second switch unit 180: analog output circuit
190 : 제 3스위치부 200 : 신호변화 감지회로190: third switch unit 200: signal change detection circuit
210 : 펄스 발생회로 220 : 출력 단(stage) 210: pulse generator circuit 220: output stage
230 : 출력 비트 결정회로 240 : 디코딩 단(stage)230: output bit determination circuit 240: decoding stage
250 : 멀티플렉서 250: multiplexer
본 발명은 아나로그 신호처리 셀의 2 차원 배열과 멀티플렉서에 의한 고 효율 비터비 디코더의 구조 및 비터비 디코딩 방법에 관한 것이다. 더욱 상세하게는 일정한 길이만큼의 트렐리스 다이아그램을 아날로그 회로에 의해 구현하고 입력신호를 순환적으로 배치된 커패시터에 순차적으로 저장하여 멀티플렉서를 통해 오래된 입력 신호의 순서에 따라 상기 아나로그 회로의 각 스테이지에 인가하는 구조를 갖는 아나로그 신호처리 셀의 2 차원 배열과 멀티플렉서에 의한 고 효율 비터비 디코더 구조 및 디코딩 방법에 관한 것이다. The present invention relates to a structure of a high efficiency Viterbi decoder and a Viterbi decoding method by a two-dimensional array and multiplexer of an analog signal processing cell. More specifically, a trellis diagram of a certain length is implemented by an analog circuit, and the input signals are sequentially stored in a cyclically arranged capacitor, and the multiplexers are used to determine the angle of the analog circuit in the order of the old input signals. A high efficiency Viterbi decoder structure and decoding method using a two-dimensional array and a multiplexer of an analog signal processing cell having a structure applied to a stage.
본 발명에서 "아나로그 신호 처리 셀"이란 비터비 디코더의 트렐리스 다이아그램 상의 각 노드의 기능을 아나로그 회로에 의해 구현한 신호처리 단위를 의미한다.In the present invention, the "analog signal processing cell" means a signal processing unit that implements the function of each node on the trellis diagram of the Viterbi decoder by the analog circuit.
데이터 통신이나 마그네틱 디스크 리더의 신호가 초고속이 되면 신호의 왜곡 정도가 심해지기 때문에 왜곡 신호의 정정이 매우 중요하다. 비터비 디코더는 이 왜곡 신호 정정 통신을 위한 기술로서 컨볼루션 코드(Convolutional Code)를 최적화 기법을 사용하여 디코딩하기 때문에 우수한 신호 정정 효율을 갖는다. When the signal of the data communication or the magnetic disk reader is extremely high speed, the distortion of the signal is increased, so correction of the distortion signal is very important. The Viterbi decoder has excellent signal correction efficiency because it decodes a convolutional code using an optimization technique as a technique for this distortion signal correction communication.
이 디코더는 최적 경로를 찾는데 효과적인 동적 계획법(Dynamic Programming)의 단순 모델로서 여러 단계의 계산을 거친 후에 누적된 결과 값으로부터 최적경로를 결정하여 에러를 정정하는 원리이다. 도 1은 일반적 비터비 디코더에 있어서의 트렐리스 다이아그램의 예(4 상태 값을 갖는 경우)를 나타낸 예시도이다.This decoder is a simple model of dynamic programming that is effective in finding the optimal path. It is a principle that corrects errors by determining the optimal path from the accumulated result value after several steps of calculation. FIG. 1 is an exemplary view showing an example of trellis diagram (when having 4 state values) in a general Viterbi decoder.
비터비 디코더는 도 1과 같은 트렐리스 다이아그램(Trellis Diagram)의 각 가지(branch)에 부여된 고유 코드와 실제 입력된 코드 심벌과의 차 값을 에러(error)로 사용하여 시간 경과에 따른 누적 에러 값이 최소가 되는 최적 경로를 찾으며 이 경로가 거치는 가지에 해당하는 코드를 활용하여 디코딩하는 방법이다. 예를 들면, 도 1에서 이 최적 경로가 트렐리스 다이아그램의 실선에 해당하는 가지를 지났다면 0으로 디코딩하고 점선을 지나면 1로 디코딩 한다. 수신된 신호들은 실제 송신 신호와는 차이가 있을 수 있으나 누적된 에러 값이 최소인 경로를 찾게 되므로 잡음이 첨가된 정보라고 하더라고 정정이 가능하다.The Viterbi decoder uses an error value between a unique code assigned to each branch of a trellis diagram as shown in FIG. 1 and an actually input code symbol as an error. This method finds the optimal path that minimizes the cumulative error value and decodes using the code corresponding to the branch that the path passes. For example, in FIG. 1, the optimal path is decoded to 0 if it passes a branch corresponding to the solid line of the trellis diagram and to 1 if it passes a dotted line. The received signals may be different from the actual transmission signal, but since the path that has the minimum accumulated error value is found, the corrected signal may be corrected even if the information is added with noise.
비터비 디코더의 연산의 핵심기술은 단순형의 동적계획법(Dynamic Programming) 이다. 동적계획법은 각 노드들에 다음과 같은 연산을 하는 연산 유니트를 설치하여 목적지에 이르는 최단거리를 다음의 <수학식 1>과 같이 계산하는 방법이다.The core technology of Viterbi decoder's operation is simple dynamic programming. The dynamic programming method is a method of calculating the shortest distance to the destination by installing a calculation unit that performs the following operation in each node as shown in <
여기서 Dk ,l은 셀(k,l)로부터 목적지에 이르는 최단 거리이고, dij , kl은 셀 (i,j) 로부터 셀 (k,l) 간의 부분 거리인데, 트렐리스 다이아그램의 가지(branch)에 부여된 코드심볼과 입력된 코드심볼의 차이에 의해 주어진다. 또 S는 셀 (i,j) 주위의 셀 집합이고 최소값(min)은 열거된 항목들 중 최소 값을 출력하는 함수이다.Where D k , l is the shortest distance from cell (k, l) to the destination and d ij , kl is the partial distance between cell (i, j) to cell (k, l), the branch of the trellis diagram This is given by the difference between the code symbol given to the branch and the code symbol entered. S is a set of cells around cell (i, j), and minimum (min) is a function that outputs the minimum of the listed items.
이 디코딩을 위해서 트렐리스 다이아그램의 각 노드는 각 가지(branch)에 부여된 고유의 코드 심볼과 입력된 코드심볼과의 차이 값 (이하 에러)을 거리 값으로 간주하여 <수학식 1>과 같이 누적하고 누적된 심벌에러 값 중 최소 값을 갖는 경로를 선택하기 위한 최소값(min) 연산을 수행한다. For this decoding, each node of the trellis diagram regards the difference between the unique code symbol assigned to each branch and the input code symbol (hereinafter, referred to as an error) as the distance value. As described above, a minimum value (min) operation for selecting a path having the minimum value among the accumulated symbol error values is performed.
한편 기존의 비터비 디코더 칩들은 트렐리스 다이아그램 상의 모든 노드들을 하드웨어로 구현하지 않고, 그 중, 한 열(Column)에 해당하는 노드들만을 설치하여 이들이 반복적인 처리를 수행하는 동안, 각 단계에서의 처리 결과를 경로 메모리에 저장하여 최적 경로를 찾는데 사용한다. On the other hand, the existing Viterbi decoder chips do not implement all nodes on the trellis diagram in hardware, and install only nodes corresponding to one column among them, and perform each step during the repetitive processing. We store the result of processing in path memory and use it to find the optimal path.
도 2a 및 도 2b는 종래의 디지털 비터비 디코더 및 아날로그 비터비 디코더의 개략 구조도이다.2A and 2B are schematic structural diagrams of a conventional digital Viterbi decoder and an analog Viterbi decoder.
도 2a와 같은 기존의 디지털 비터비 디코더는 수신된 아날로그 신호에 대해 아날로그/디지털 변환을 해야 하는데, 고속의 A/D 변환기는 전력 소모가 매우 많고 각 셀의 연산을 위한 디지털 회로로는 처리할 수 있는 통신 속도에 제한이 있는 문제점이 있다.Conventional digital Viterbi decoder as shown in Figure 2a has to perform the analog / digital conversion for the received analog signal, the high-speed A / D converter consumes a lot of power and can be processed by the digital circuit for the calculation of each cell There is a problem with a limited communication speed.
이에 대한 보완책으로 아날로그 입력신호를 디지털로 변환하지 않고 도 2b와 같이 아날로그 회로를 이용하여 처리하는 방법이 공개된 바 있다. 이러한 방법에서는 아날로그 회로를 사용하기 때문에 A/D 변환기에 의한 전력소모가 없고, 각 노드에서의 처리 속도도 개선되지만, 디지털 비터비 디코더처럼 처리결과를 디지털 메모리에 저장하므로 경로 저장용 디지털 메모리가 필요하며, 또한 메모리 상에서 최적 경로 계산을 위한 역추적(Back-Tracking)과정이 필요하므로 디코딩 시간에 있어서는 획기적인 개선결과를 얻지 못하는 문제점이 있다.As a supplement to this, a method of processing using an analog circuit as shown in FIG. 2B without converting an analog input signal into digital has been disclosed. This method eliminates the power consumption by the A / D converter and improves the processing speed at each node because the analog circuit is used. However, as the digital Viterbi decoder stores the processing result in the digital memory, a digital memory for storing paths is required. In addition, since a back-tracking process is required for calculating an optimal path in memory, there is a problem in that the decoding time is not improved.
또, 일정한 길이만큼의 트렐리스 다이아그램을 도 4와 같이 아날로그 회로에 의해 구현하고, 구현된 회로의 마지막 단 (stage)를 첫 째 단 (stage)에 도3과 같이 순환적으로 연결하여, 비터비 디코더에서 필요한 최적화 처리를 2 차원의 아날로그 병렬처리 방식에 의해 수행시키는 종래의 아날로그 신호 처리 셀의 순환형 2차원 배열에 의한 초고속 비터비 디코더도 공개되었다. 이 방법은 디코딩 단(stage)이 매 비트의 디코딩 때 마다 이동하게 되므로 보조회로가 많이 필요하여 회로구현이 복잡하고, 신호에 잡음이 추가되어 디코딩 에러를 유발할 우려가 있다. In addition, a trellis diagram of a certain length is implemented by an analog circuit as shown in FIG. 4, and the last stage of the implemented circuit is cyclically connected to the first stage as shown in FIG. An ultrafast Viterbi decoder has also been disclosed, which is a circular two-dimensional array of conventional analog signal processing cells that performs optimization processing required in a Viterbi decoder by a two-dimensional analog parallel processing scheme. This method requires a lot of auxiliary circuits because the decoding stage moves with each bit of decoding, which complicates the circuit implementation and adds noise to the signal, causing a decoding error.
본 발명은 종래기술의 문제점을 해결하기 위하여 안출한 것으로, 본 발명의 목적은 종래의 발명품처럼 아나로그 신호처리 셀의 순환적 연결에 의해 회로를 순 환시키면서 디코딩하지 않고, 2 차원의 트렐리스 다이아그램을 일정한 크기 만큼 아나로그 회로에 의해 구현하여 고정된 위치의 디코딩 단과 고정된 위치의 출력 단을 갖게 하고, 커패시터에 순환적으로 저장된 입력 신호들을 멀티플렉서를 사용하여 입력된 순서에 따라 정렬하여 상기 아나로그 신호처리 셀의 2 차원 배열 인가하게 하는 것을 특징으로 하는 아나로그 신호처리 셀의 2 차원 배열과 멀티플렉서에 의한 고 효율 비터비 디코더의 구조 및 비터비 디코딩 방법을 제공하는 데에 있다. SUMMARY OF THE INVENTION The present invention has been made to solve the problems of the prior art, and an object of the present invention is to provide a two-dimensional trellis without decoding while circulating a circuit by a cyclic connection of an analog signal processing cell, as in the conventional invention. The analog circuit is implemented by analog circuits to a certain size to have a decoding stage at a fixed position and an output stage at a fixed position, and the input signals cyclically stored in the capacitor are aligned in the order of input using a multiplexer. The present invention provides a structure of a high efficiency Viterbi decoder and a Viterbi decoding method using a two-dimensional array and a multiplexer of an analog signal processing cell.
본 발명의 목적을 달성하기 위하여 본 발명은 비터비 디코더의 트렐리스 다이아그램 상에 있는 각 노드위치에 아날로그 신호처리 셀 회로를 구성하여 구속 장의 길이보다 1 혹은 2 단만큼 길게 하고, 커페시터에 순환적으로 저장된 입력 신호들을 멀티플렉서를 사용하여 입력 순서에 따라 정렬하여 아나로그 신호처리 셀의 2 차원 배열에 인가될 수 있게 하는 것을 특징으로 한다.In order to achieve the object of the present invention, the present invention configures an analog signal processing cell circuit at each node position on the trellis diagram of the Viterbi decoder to make one or two stages longer than the length of the constraining field, and circulates in the capacitor. By using the multiplexer, the stored input signals may be arranged in an input order and applied to a two-dimensional array of analog signal processing cells.
이하 본 발명의 실시예를 도면을 근거로 설명한다.An embodiment of the present invention will be described below with reference to the drawings.
도 5는 본 발명인 아나로그 신호처리 셀의 2 차원 배열과 멀티플렉서에 의한 고 효율 비터비 디코더의 구조도이다.5 is a structural diagram of a high efficiency Viterbi decoder using a two-dimensional array and a multiplexer of an analog signal processing cell of the present invention.
1. 본 발명의 실시예 디코딩 방법 1. Embodiment decoding method of the present invention
본 발명의 일실시예로 아나로그 신호처리 셀의 2 차원 배열과 멀티플렉서를 이용한 고 효율 비터비 디코더에 의해 비터비 디코딩을 수행하는 방법은 According to an embodiment of the present invention, a method for performing Viterbi decoding by a high efficiency Viterbi decoder using a two-dimensional array and a multiplexer of an analog signal processing cell
각 데이터 비트에 해당하는 복수의 코드 심벌들을 수신하여 저장 위치 지시기가 가리키는 위치의 커패시터 세트에 저장하는 과정;Receiving a plurality of code symbols corresponding to each data bit and storing the plurality of code symbols in a capacitor set at a location indicated by a storage location indicator;
멀티플렉서를 사용해서 가장 오래된 입력 신호의 순서대로 커패시터 순서를 정렬한 후, 모든 커패시터들을 각 stage에 일시에 연결하여 신호를 인가하는 과정;Arranging capacitors in order of the oldest input signal using a multiplexer, and then applying all the capacitors to each stage at a time;
트렐리스 다이아그램의 각 가지에 해당하는 고유 코드 심벌과 각 단(stage) 커패시터에 저장된 코드 심벌들 간의 에러를 계산하며, 각 단(stage)에서 상기 기준신호 값이 상기 코드 심벌 에러 값만큼 감소되어 전파되게 하는 과정;Compute the error between the unique code symbol corresponding to each branch of the trellis diagram and the code symbols stored in each stage capacitor, and at each stage the reference signal value is reduced by the code symbol error value. To propagate;
디코딩 단(stage)에 위치한 가지들 중에서 논리 값 1에 해당하는 모든 가지 혹은 논리 값 0에 해당하는 모든 가지들에 대하여 차단 신호를 인가하여 전기적으로 절단함으로써 이 가지들을 통하여 신호의 흐름을 차단하는 과정; The process of blocking the flow of signal through these branches by applying a cutoff signal to all branches corresponding to
상기 디코딩 단의 신호흐름 차단의 결과로서 그 영향이 출력 단의 출력에 변화가 나타나는 지의 여부를 기준으로 하여 1 혹은 0의 디코딩 결과 값을 결정하는 과정; Determining a decoding result value of 1 or 0 based on whether a change occurs in an output of an output stage as a result of signal flow blocking of the decoding stage;
현재의 디코딩 단에 대한 디코딩이 완료되면, 저장위치 지시기를 1 비트 이동하여 입력 신호를 저장할 다음 커패시터 위치를 결정하는 과정을 포함하는 것을 특징으로 한다. When the decoding of the current decoding stage is completed, moving the storage position indicator by one bit includes determining a next capacitor position to store the input signal.
2. 디코딩 과정상의 상세 처리2. Detailed processing in the decoding process
상기 디코딩 단의 신호흐름 차단의 결과로서 그 영향이 출력 단의 출력에 변 화가 나타나는 지의 여부를 기준으로 하여 1 혹은 0의 디코딩 결과 값을 결정하는 과정은 디코딩 단에 신호 차단용 전기 신호를 인가하기 전과 후의 출력신호 변화를 비교하여 디코딩 하는 방법 또는 신호 차단용 전기 신호인가 전의 기준신호 전파과정은 생략하여 기 설정된 문턱치로 대신하고, 신호 차단용 전기 신호 인가 후 출력신호만 취하여 상기 문턱치와 값을 비교하여 디코딩하는 방법 중 어느 한 가지를 방법을 선택하여 사용하여 디코딩하는 것을 특징으로 한다.The process of determining a decoding result value of 1 or 0 based on whether the influence of the signal flow is blocked on the output of the output stage as a result of the signal flow cutoff of the decoding stage may include applying an electrical signal for signal blocking to the decoding stage. Comparison of decoding before and after the output signal change or skip the reference signal propagation process before applying the electrical signal for signal blocking, and replace with a predetermined threshold, and after the application of the electrical signal for signal blocking takes only the output signal and compares the threshold with the value To decode by using any one of the method of decoding by selecting a method.
또, 상기 출력 단에서의 최종 출력 값은 출력 단에 위치한 모든 셀의 출력 중 최대 값을 출력 값으로 사용하는 방법 또는 출력 단의 모든 셀들의 평균값을 출력으로 사용하는 방법 중 어느 한 방법을 선택하는 것을 특징으로 한다. In addition, the final output value of the output terminal is to select one of the method of using the maximum value of the output of all cells located in the output terminal or the method of using the average value of all the cells of the output terminal as the output value It is characterized by.
3. 아나로그 신호 처리 셀3. Analog Signal Processing Cell
본 발명에서 정의하는 아나로그 신호 처리 셀이란 비터비 디코더의 트렐리스 다이아그램 상의 각 노드의 기능을 아나로그 회로에 의해 구현한 신호처리 단위를 의미한다.The analog signal processing cell defined in the present invention means a signal processing unit that implements the function of each node on the trellis diagram of the Viterbi decoder by the analog circuit.
상기와 같은 목적을 달성하기 위해 본 발명은 <수학식 1>을 변형시켜 얻은 수정된 dynamic programming(동적 계획법) 사용하여 구현한다. 즉, Iref를 큰 크기의 기준 신호 값이라 하고, dij,kl을 셀(i,j)와 (k,l)간의 branch에 부여된 코드 심벌과 입력된 코드 심벌간의 에러 값이라 하고, Dk,l를 디코딩 셀로부터 현재의 셀 위치 (k,l)까지의 누적된 코드 심벌의 에러 값이라 하고, yk,l를 <수학식 2>와 같이 Iref와 Dk,l간의 에러 값이라 정의하면, In order to achieve the above object, the present invention is implemented using a modified dynamic programming obtained by modifying
와 같이 표현할 수 있다. 이 <수학식 2>를 Dk,l 관해 표현하면 <수학식 3>과 같이 된다. It can be expressed as If
이 Dk,l을 <수학식 1>에 대입하면 아래의 <수학식 4>와 같다.Substituting this D k, l into <
또한 <수학식 2>를 Di,j에 대해 표현하여 <수학식 4>에 대입하면 아래의 <수학식 5> 와 같다.In addition, when
상기와 같이 <수학식 5>의 우변은 <수학식 1>과는 달리 최대 값 연산과 감산으로 표현된다. 아날로그 신호 처리 셀을 이용하여 <수학식 5>의 우변을 계산하게 한다면, Di,j는 각 셀의 출력 yi,j값을 <수학식 3>에 대입함으로써 계산할 수 있다. 그런데, 디코딩 위치의 셀에서 자신의 위치까지의 Di,j는 0이어야 하므로, 디코딩 위치의 셀 출력 yi,j값은 <수학식 5>로부터 Iref가 된다. 이 디코딩 위치의 셀에서의 출력과 일반 셀에서의 출력 값을 정리하면 <수학식 6>과 같다. As described above, the right side of Equation 5 is expressed by the maximum value calculation and subtraction, unlike
그런데 디코딩 위치의 셀 입력 Iref에 회로에서 얻을 수 있는 최대의 값을 인가한다고 가정한다면, 디코딩 위치의 셀이나 일반 셀에 구별 없이 <수학식 7>과 같이 max 연산을 수행하는 셀에 의해 구현 할 수 있다. However, assuming that the maximum value that can be obtained from the circuit is applied to the cell input I ref of the decoding position, the cell that performs the max operation as shown in Equation (7) without distinction to the cell of the decoding position or the general cell. Can be.
여기에서 ui,j는 아래의 <수학식 8>이다.Where u i, j is Equation 8 below.
아나로그 신호처리 셀은 <수학식 7>과 <수학식 8>의 연산을 아나로그 적으로 수행하는 전자회로로 구성된다. 따라서, 트렐리스 다이아그램의 각 노드에 위치한 연산 셀들이 <수학식 7>과 <수학식 8>의 연산을 수행하게 하고, 디코딩 위치의 셀의 입력에 큰 기준 신호 값 Iref를 인가한다면, 그 인가된 기준 신호 값은 가지들을 지날 때마다 dij,kl만큼씩 감소시키며 주변으로 전파하게 되는 아날로그 신호 처리 셀들의 배열을 구현할 수 있다. The analog signal processing cell is composed of electronic circuits that perform the calculations of Equations 7 and 8 analogously. Therefore, if the arithmetic cells located at each node of the trellis diagram perform the operations of Equations 7 and 8, and apply a large reference signal value I ref to the input of the cell at the decoding position, The applied reference signal value decreases by d ij, kl each time the branches pass to implement an array of analog signal processing cells that propagate to the surroundings.
상기 <수학식 7>과 <수학식 8>을 수행하는 아날로그 연산 셀들은 동적계획법(dynamic programming)의 최적경로 계산을 위한 기본 연산을 수행하므로, 이 셀들을 조합하면 비터비 디코더를 구현할 수 있다. The analog arithmetic cells that perform Equations 7 and 8 perform basic arithmetic operations to calculate the optimal path of dynamic programming. Combining these cells can implement a Viterbi decoder.
4. 본 발명의 비더비 디코더의 구조4. Structure of Biderby Decoder of the Present Invention
본 발명의 비더비 디코더의 구조는 도 5와 같다. 도 5에서 아나로그 신호처리 셀의 2 차원 배열과 멀티플렉서에 의한 고 효율 비터비 디코더 (300)는 아날로그 신호 처리 셀(110)과, 기준 신호 입력단(140)을 포함하는 복수 개의 단(stage)로 구성된 아나로그 처리셀의 2 차원 배열과, 입력신호 저장위치 지시기(120)와, 커패시터 부(150)와, 제 1 스위치부(160)와, 아날로그 출력회로(180)와, 출력 단(220), 출력 비트 결정회로(230)와, 멀티플렉서(250)로 구성된다. 이 구조를 갖는 본 발명은 도 3과 같은 기존의 발명 처럼 디코딩 단과 출력단을 순환시키는 방법을 사용하지 않고, 도 5와 같이 디코딩 단(240)과 출력 단 (220)을 고정하는 구조를 갖는다. 여기서 디코딩 단(240)이란 첫 번 째 가지들 (branches) 과 이와 연결된 노드로 구성된다.The structure of the bidderby decoder of the present invention is shown in FIG. In FIG. 5, the high-
아날로그 신호 처리 셀(110)은 트렐리스 다이아그램의 각 노드에 위치하여 <수학식 7>과 <수학식 8>과 같은 dynamic programming(동적계획법)의 연산을 수행하며, 기준 신호 입력단 (140)은 매우 큰 기준 신호를 인가하여 이 기준신호가 각 가지의 에러 값만큼 기준신호로부터 감소하면 각 단(stage)를 전파 해 가게하는 최 초의 신호를 제공한다. The analog
입력신호저장위치 지시기(120)는 세팅된 비트의 위치에 의해 새로 입력된 신호를 저장하기 위한 커패시터 위치를 지시하기 위해서 쉬프트 레지스터(shift register)로 구성된다. 또 상태 지시기(130)는 세팅된 비트의 위치에 의해 현재의 상태를 지시하며, 커패시터 부(150)는 각 데이터 비트에 해당하는 복수의 아날로그 코드 입력 심벌들을 저장하기 위해서 각 단마다 코드 심벌의 수 만큼 설치된 커패시터 세트들로 구성되고, 커패시터들이 순환적으로 배치되어 입력신호가 인가 될 때마다 저장된 커패시터 위치가 이동하여 순환적으로 저장된다.The input signal
제 1 스위치부(160)는 입력된 코드 심벌들을 상기 커패시터 부(150)의 커패시터 세트 중 특정 커패시터 세트에 전달하여 저장하기 위한 스위치이며, 아날로그 출력 회로(180)는 각 디코딩 단에 소속된 셀 들의 출력 값들 중 최대 값 혹은 평균값을 취하여 출력하기 위한 회로다. The
또, 출력 비트 결정회로 (230)는 출력 단(220)에서의 출력 값을 이용하여 0인지 1인지의 디지털 비트를 결정하는 회로이고, 멀티플렉서(250)는 수신 신호가 오래된 순서에 따라 커패시터를 정렬하여 커패시터에 저장된 입력신호들을 디코딩 회로에 일시에 인가하기 위한 회로이다.In addition, the output
5. 본 발명에 의한 디코딩 과정에서 구성의 작용5. Action of the configuration in the decoding process according to the present invention
상기의 회로구조를 갖는 본 발명에 따른 아나로그 신호처리 셀의 2 차원 배열과 멀티플렉서에 의한 고 효율 비터비 디코더의 디코딩은 기준신호 전파와 디코 딩의 2 단계로 진행된다.The decoding of the high efficiency Viterbi decoder by the two-dimensional array and multiplexer of the analog signal processing cell according to the present invention having the above-described circuit structure proceeds in two stages of reference signal propagation and decoding.
1) 기준신호 전파단계1) Propagation step of reference signal
큰 값의 기준 신호(Iref)를 기준신호 입력 단 (140)의 모든 셀에 인가함으로써, <수학식 7>에 의해 기준 신호(Iref)가 모든 단(stage)에 전파되게 하는 동안, 각 데이터 비트에 해당하는 복수의 코드 심벌들이 수신되면, 입력신호 저장위치 지시기(120)의 제어에 따라 제 1 스위치부(160)가 스위칭되어 커패시터 부(150) 중의 특정 커패시터 세트에 입력 코드 심벌들을 저장한다. 이 입력신호저장위치 지시기(120)는 매 비트를 디코딩 할 때마다 클럭에 의해서 한 위치 씩 이동되어 순차적으로 다음의 입력신호 저장위치를 선택하므로 입력 코드 심벌들이 커패시터 부에 있는 각 단의 커패시터 세트에 순차적으로 순환하여 저장된다. By applying the large reference signal I ref to all the cells of the reference
정보가 계속하여 입력되면 이 입력정보의 저장위치는 순환하여 다시 원래의 저장위치 이르게 된다. 신호가 입력될 때 마다, 멀티플렉서 (250)는 수신 신호가 오래된 순서에 따라 커패시터를 정렬하여 커패시터에 저장된 입력신호들을 아나로그 신호처리 셀의 2 차원 배열에 일시에 인가한다. If the information is continuously input, the storage location of the input information is cyclically returned to the original storage location. Each time a signal is input, the
아나로그 신호처리 셀의 2 차원 배열의 각 단(stage)에서는 인가된 입력 신호와 각 가지(branch)에 할당된 코드들과의 에러정보를 계산하고, 각 단으로부터 전파되어온 기준 신호부터 에러정보만큼 감한 후, 감해진 기준신호를 다음 단 (stage)에 전파한다. In each stage of the two-dimensional array of analog signal processing cells, error information between the applied input signal and the codes assigned to each branch is calculated, and the error information starts from the reference signal propagated from each stage. After subtracting, the subtracted reference signal is propagated to the next stage.
기준 신호의 전파가 끝나면 출력 단에서는 아날로그 출력회로(180)를 이용하여 출력 단에 소속된 셀들 중 최대 값 혹은 평균값을 취하여 출력한다. After the propagation of the reference signal, the output terminal takes the maximum value or the average value among the cells belonging to the output terminal by using the
2) 디코딩 단계2) decoding step
디코딩은 디코딩 단의 셀 들 중 짝 수 번째(홀 수 번째)에 해당하는 셀들의 모든 출력을 전기적으로 절단하고, 최적의 경로가 0에 해당하는 가지를 지났는지 1에 해당하는 가지를 지났는지를 검사함으로써 0 혹은 1로 디코딩한다. 즉, 각 셀에서는 입력 값들 중 최대 값을 취하는 연산을 수행하므로 부의 신호가 첨가된 가지들로부터 입력을 받는 셀은 최적경로에서 자연스럽게 제외되게 절단되는 효과가 있으므로, 신호 차단용 전기 신호가 인가된 셀을 최적 경로가 지났었을 경우, 신호 차단용 전기 신호에 의해 최종 출력 값이 갑자기 감소하는 변화를 하게 될 것이다. 이 디코딩은 출력 값의 변화를 감지하기 위해 사용하는 신호의 종류에 따라 다음의 두 가지 중 한 가지를 선택하여 사용할 수 있다. The decoding electrically cuts all outputs of even-numbered (odd-numbered) cells of the decoding stage, and determines whether the optimal path has passed a branch corresponding to zero or a branch corresponding to one. Decode to 0 or 1 by checking. That is, since each cell performs an operation that takes the maximum value among the input values, the cell receiving the input from the branches to which the negative signal is added is cut off to be naturally excluded from the optimum path, and thus the cell to which the electric signal for signal blocking is applied. If the optimal path has passed, the final output value will suddenly decrease due to the signal blocking electrical signal. This decoding can be used in one of two ways depending on the type of signal used to detect the change in output value.
ⅰ) 출력신호 변화 감지 방법 1은 디코딩용 신호 차단용 전기 신호를 인가하기 전과 후에 나타나는 출력신호 변화를 비교하는 방법이고,Iii)
ⅱ) 출력신호 변화 감지 방법 2는 상기 출력신호 변화 감지방법 1에서의 디코딩용 신호 차단용 전기 신호인가 전의 기준신호 전파과정은 생략하여 기 설정된 문턱 치로 대신하고, 신호 차단용 전기 신호 인가 후의 출력신호만 취하여 상기 문턱치와 값을 비교하는 방법이다.Ii) The output signal
이와 같은 신호변화의 감지는 출력 비트 결정회로 (230)에서 수행하며 그 결 과는 0(혹은 1)로 출력한다. The detection of such a signal change is performed by the output
상기의 디코딩이 완료되면 입력신호 저장위치 지시기 (120)가 m 번째 입력신호 저장위치를 m+1 번째의 커패시터로 이동하여 다음에 입력될 코드 심벌의 디코딩을 준비한다.When the above decoding is completed, the input signal
이상에서 설명한 바와 같이, 본 발명에 의하면, 아날로그 회로에 의해 신호처리를 하고, 2 차원 셀 배열을 사용하여 병렬처리를 하며, 전기적인 신호에 의해 하드웨어적인 디코딩을 수행함으로써 기존의 비터비 디코더들보다 고속의 디코딩이 가능하다. 특히 본 발명은 도 3과 같은 기존의 발명 처럼 디코딩 단과 출력단을 순환시키는 방법을 사용하지 않고, 도 5와 같이 디코딩 단(240)과 출력 단 (220)을 고정하는 구조를 갖는다. 도 3과 같은 기존 구조에서는 매 단(stage) 마다 최대 값 회로인 아날로그 출력 (180)회로와 제 3 스위치 부 (190)를 설치하고, 매 디코딩 비트 마다 고속으로 디코딩 단의 위치와 출력단의 위치를 변경하여 출력에 연결해야 하므로, 하드웨어 구현이 어려웠다. 반면, 본 발명인 [도 5]의 구조를 이용하면 디코딩 단 (240)은 첫 번 째 단, 출력 단 (220)은 마지막 단으로 항상 고정되므로, 아날로그 출력회로 (180)은 출력 단에만 필요하고, 제 3 스위치 부 (190)도 불필요하게 되어, 구조가 간단하다. 다만, 본 발명에서는 멀티플렉서(250)를 추가하여 사용하므로 하드웨어 복잡도가 증가하고, 멀티플렉서의 스위칭 잡음 증가의 우려가 있으나, 멀티플렉서는 일종의 스위치 박스로서 고속의 전자 스위치에 의해 어렵지 않게 구성할 수 있으며, 디코딩은 멀티플렉서의 스위칭이 완료된 후, 각 비트 간격 후반에 스위칭 잡음이 사라진 후 수행하게 되므로, 멀티플렉서의 스위칭 잡음을 피할 수 있다. 따라서 본 발명은 고속의 데이터 전송이 필요한 초고속 데이터 통신망이나 위성통신 망 및 초고속의 마그네틱 디스크 드라이버와, 기타 초고속의 에러 송수신이 필요한 분야에 왜곡 신호 정정용 디코딩 회로로써 효과적으로 사용할 수 있는 매우 유용한 발명이다.As described above, according to the present invention, signal processing is performed by an analog circuit, parallel processing is performed using a two-dimensional cell array, and hardware decoding is performed by using an electrical signal. High speed decoding is possible. In particular, the present invention has a structure in which the
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060130010A KR100869347B1 (en) | 2006-12-19 | 2006-12-19 | HIGH PERFORMANCE VITERBI DECODER SSTRUCTURE WITH 2 DIMENSIONAL ANALOG SIGNAL PROCESSING CELL ARRAY AND MULTIPLEXER and METHOD THEREOF |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060130010A KR100869347B1 (en) | 2006-12-19 | 2006-12-19 | HIGH PERFORMANCE VITERBI DECODER SSTRUCTURE WITH 2 DIMENSIONAL ANALOG SIGNAL PROCESSING CELL ARRAY AND MULTIPLEXER and METHOD THEREOF |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080056883A KR20080056883A (en) | 2008-06-24 |
KR100869347B1 true KR100869347B1 (en) | 2008-11-19 |
Family
ID=39802898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060130010A KR100869347B1 (en) | 2006-12-19 | 2006-12-19 | HIGH PERFORMANCE VITERBI DECODER SSTRUCTURE WITH 2 DIMENSIONAL ANALOG SIGNAL PROCESSING CELL ARRAY AND MULTIPLEXER and METHOD THEREOF |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100869347B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09312575A (en) * | 1996-05-23 | 1997-12-02 | Kokusai Electric Co Ltd | Maximum likelihood decoder |
KR100412934B1 (en) | 2001-06-21 | 2003-12-31 | 김형석 | Super high speed viterbi decoder using circularly connected 2-dimensional analog processing cell array |
KR100732183B1 (en) | 2004-01-29 | 2007-06-25 | 김형복 | High speed viterbi decoding method with analog implementation and circular connection of its trellis diagram |
-
2006
- 2006-12-19 KR KR1020060130010A patent/KR100869347B1/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09312575A (en) * | 1996-05-23 | 1997-12-02 | Kokusai Electric Co Ltd | Maximum likelihood decoder |
KR100412934B1 (en) | 2001-06-21 | 2003-12-31 | 김형석 | Super high speed viterbi decoder using circularly connected 2-dimensional analog processing cell array |
KR100732183B1 (en) | 2004-01-29 | 2007-06-25 | 김형복 | High speed viterbi decoding method with analog implementation and circular connection of its trellis diagram |
Also Published As
Publication number | Publication date |
---|---|
KR20080056883A (en) | 2008-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1102408B1 (en) | Viterbi decoder | |
US5295142A (en) | Viterbi decoder | |
EP0152947B1 (en) | Viterbi decoder with the pipeline processing function | |
JPH05327524A (en) | Addition/comparison/selection array for bit-serial viterbi decoder | |
US6757865B1 (en) | Turbo-code error correcting decoder, turbo-code error correction decoding method, turbo-code decoding apparatus, and turbo-code decoding system | |
WO2005011129A1 (en) | Viterbi decoder | |
US6343105B1 (en) | Viterbi decoder | |
KR100689039B1 (en) | Analog viterbi decoder using circulating type decoding units which are connected in parallel | |
KR100412934B1 (en) | Super high speed viterbi decoder using circularly connected 2-dimensional analog processing cell array | |
KR100869347B1 (en) | HIGH PERFORMANCE VITERBI DECODER SSTRUCTURE WITH 2 DIMENSIONAL ANALOG SIGNAL PROCESSING CELL ARRAY AND MULTIPLEXER and METHOD THEREOF | |
KR100732183B1 (en) | High speed viterbi decoding method with analog implementation and circular connection of its trellis diagram | |
US5878060A (en) | Viterbi decoding apparatus and viterbe decoding method | |
US7751507B2 (en) | Analog viterbi decoder | |
US20100150280A1 (en) | METHODS, APPARATUS, AND SYSTEMS FOR UPDATING LOGLIKELIHOOD RATIO INFORMATION IN AN nT IMPLEMENTATION OF A VITERBI DECODER | |
KR0155516B1 (en) | Implementation method for state metric memory arrangement with one memory in viterbi decoder | |
EP1318608A1 (en) | Apparatus and method for viterbi decoding | |
JP2009117883A (en) | Calculation processing device | |
KR100338773B1 (en) | State-metric operating apparatus for reducing power of viterbi decoder | |
US9407295B2 (en) | Diversity loop detector with component detector switching | |
JPH0118608B2 (en) | ||
JP4217261B2 (en) | ACS circuit | |
JP5523970B2 (en) | Metric calculation device and decoder | |
KR100359805B1 (en) | Viterbi decoder and method for decoding in viterbi decoder | |
Mude et al. | Design and Implementation of Viterbi Decoder Using FPGA | |
CN100477535C (en) | Minimum scanning width protective circuit and method of RLL code |
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 | ||
N231 | Notification of change of applicant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121112 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20131111 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20141111 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |