JP2005323197A - Viterbi decoding method and apparatus - Google Patents

Viterbi decoding method and apparatus Download PDF

Info

Publication number
JP2005323197A
JP2005323197A JP2004140230A JP2004140230A JP2005323197A JP 2005323197 A JP2005323197 A JP 2005323197A JP 2004140230 A JP2004140230 A JP 2004140230A JP 2004140230 A JP2004140230 A JP 2004140230A JP 2005323197 A JP2005323197 A JP 2005323197A
Authority
JP
Japan
Prior art keywords
bits
path
decoded word
viterbi decoding
state
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
JP2004140230A
Other languages
Japanese (ja)
Inventor
Hiroshi Nagase
拓 永瀬
Noboru Oki
登 大木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Ericsson Mobile Communications Japan Inc
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 Sony Ericsson Mobile Communications Japan Inc filed Critical Sony Ericsson Mobile Communications Japan Inc
Priority to JP2004140230A priority Critical patent/JP2005323197A/en
Publication of JP2005323197A publication Critical patent/JP2005323197A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To solve the problem that decoding performance is deteriorated in the case of performing Viterbi decoding by collectively executing arithmetic processing for a decoded word consisting of a plurality of bits. <P>SOLUTION: Processing for selecting a maximum likelihood path for a decoded word which is a convolution code on the basis of a state metric value and a branch metric value in each state is executed up to the final time of the decoded word, and in the case of executing decoding by tracing back the decoded word from the 0 state, the processing for selecting the maximum likelihood is executed in each n-bits (n is an integer ≥2), and at the time of starting tracing-back when the total number of bits of the decoded word is not n's multiple, paths to be candidates for selection are limited to specific paths p, q which can be candidates by the number of bits of n bits or less. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、例えば畳み込み符号で符号化されたデータを受信して最尤復号する通信端末に適用して好適なビタビ復号方法及び装置に関する。   The present invention relates to a Viterbi decoding method and apparatus suitable for application to, for example, a communication terminal that receives data encoded by a convolutional code and performs maximum likelihood decoding.

畳み込み符号を復号する方式の1つとして、ビタビ復号方式が知られている。このビタビ復号方式は畳み込み符号に対する最尤復号方式であり、送信側のエンコーダから生成され得る符号系列のなかから、受信された符号系列に最も近い系列(これを最尤パスという)を選ぶことで誤り訂正を行なう。   As one of methods for decoding a convolutional code, a Viterbi decoding method is known. This Viterbi decoding method is a maximum likelihood decoding method for convolutional codes, and by selecting a sequence closest to the received code sequence (this is called a maximum likelihood path) from among code sequences that can be generated from the encoder on the transmission side. Perform error correction.

この最尤パスの選択方法は全てのパスを比較して確かめるのではなく、送信側で生成され得る全ての符号列と受信符号列とのハミング距離を求め、このハミング距離の累積値が最も小さいもの(すなわち、尤度が最も高いもの)を選んで、それ以降は復号に必要なパス(生き残りパス)だけを調べていくことを基本にしており、パスの長さを十分に長くとると、生き残りパスの先(根元)は合流して同じ値になり、どの生き残りパスであっても、遡れば、同じ値を復号していることになる。   This maximum likelihood path selection method does not compare and verify all paths, but obtains the Hamming distance between all code strings that can be generated on the transmission side and the received code string, and the cumulative value of this Hamming distance is the smallest. Based on the selection of the path (ie, the path with the highest likelihood), and after that, only the path required for decoding (survival path) is examined. If the path length is long enough, The points (roots) of the surviving paths merge to have the same value, and any surviving path is decoded back to the same value.

したがって、復号誤り率が高くならない程度のパス長を調べ、その長さ分だけ遡った時点のデータを復号語とすることで、正しい復号語を再生することができる。   Therefore, a correct decoded word can be reproduced by examining a path length that does not increase the decoding error rate and using the data at a point back by that length as the decoded word.

図6はこのようなビタビ復号方式を用いたビタビ復号装置の一例を示すブロック図である。この図に示すビタビ復号装置は、ブランチメトリック計算回路101と、ACS(add,compare,select)回路102と、正規化回路103と、ステートメトリック記憶回路104と、パスメモリ回路105と、最尤復号判定回路106とを備えており、送信側から出力されたデータ(入力データ)が入力されたとき、送信側のエンコーダから生成され得る符号系列のなかから、受信された符号系列に最も近い系列(最尤パス)を選んで、この選択内容に基づいて復号データを生成する。   FIG. 6 is a block diagram showing an example of a Viterbi decoding apparatus using such a Viterbi decoding method. The Viterbi decoding apparatus shown in this figure includes a branch metric calculation circuit 101, an ACS (add, compare, select) circuit 102, a normalization circuit 103, a state metric storage circuit 104, a path memory circuit 105, and a maximum likelihood decoding. A determination circuit 106, and when data (input data) output from the transmission side is input, a sequence closest to the received code sequence (from the code sequence that can be generated from the encoder on the transmission side ( (Maximum likelihood path) is selected, and decoded data is generated based on this selection.

ブランチメトリック計算回路101は入力データが入力されたとき、この入力データのブランチメトリックを計算してこの計算結果(ブランチメトリック)をACS回路102に供給する。   When the input data is input, the branch metric calculation circuit 101 calculates a branch metric of the input data and supplies the calculation result (branch metric) to the ACS circuit 102.

加算と比較と選択(いわゆるACS演算)を行う回路であるACS回路102は、ブランチメトリック計算回路101から供給されるブランチメトリックと、ステートメトリック記憶回路104から供給されるステートメトリック(累積和)とに基づいて、ある状態に合流する2本のそれぞれのパスに対し、受信符号とパスとのハミング距離(ブランチメトリック)と、それまでのブランチメトリックの累積和(ステートメトリック)を加算して比較し、この比較結果に基づいて尤度の高いものを選択し、この選択内容をパスメモリ回路105に供給するとともに、新たに得られた累積和(ステートメトリック)を正規化回路103に供給する。   The ACS circuit 102, which is a circuit that performs addition, comparison, and selection (so-called ACS calculation), is divided into a branch metric supplied from the branch metric calculation circuit 101 and a state metric (cumulative sum) supplied from the state metric storage circuit 104. Based on each of the two paths joining a certain state, the Hamming distance between the received code and the path (branch metric) and the cumulative sum of the branch metrics so far (state metric) are added and compared, Based on the comparison result, the one with the highest likelihood is selected, the selection content is supplied to the path memory circuit 105, and the newly obtained cumulative sum (state metric) is supplied to the normalization circuit 103.

この場合、拘束長が“3”のとき、各タイムスロット毎に図7の遷移ダイアグラムに示す如くある状態に合流する2本のそれぞれのパスに対し、受信符号とパスとのハミング距離(ブランチメトリック)と、それまでのブランチメトリックの累積和(ステートメトリック)とが加算されて比較され、この比較結果に基づいて尤度の高いものが選択される。   In this case, when the constraint length is “3”, the Hamming distance (branch metric) between the received code and the path for each of the two paths that merge into a certain state as shown in the transition diagram of FIG. 7 for each time slot. ) And the cumulative sum (state metric) of the branch metrics so far are added and compared, and the one with the highest likelihood is selected based on the comparison result.

正規化回路103はACS回路102から出力されるステートメトリックを正規化して予め設定されている範囲内の値にし、これをステートメトリック記憶回路104に供給する。   The normalization circuit 103 normalizes the state metric output from the ACS circuit 102 to a value within a preset range, and supplies this to the state metric storage circuit 104.

ステートメトリック記憶回路104は前記正規化回路103から供給される正規化されたステートメトリックを記憶し、これを前記ACS回路102に戻す。   The state metric storage circuit 104 stores the normalized state metric supplied from the normalization circuit 103 and returns it to the ACS circuit 102.

また、パスメモリ回路105は、複数のパスメモリセルを備えており、ACS回路102から出力される選択信号に基づいて各パスメモリセルで入力データを選択して一時記憶することにより、ACS回路102から出力される選択内容を記憶してこの選択内容を最尤復号判定回路106に供給する。   The path memory circuit 105 includes a plurality of path memory cells, and the input data is selected and temporarily stored in each path memory cell based on the selection signal output from the ACS circuit 102. The selection contents output from the above are stored, and the selection contents are supplied to the maximum likelihood decoding determination circuit 106.

最尤復号判定回路106は、パスメモリ回路105に記憶されている選択内容に基づいて、最尤のパスを判定して復号データを生成し、これを出力する。   The maximum likelihood decoding determination circuit 106 determines the maximum likelihood path based on the selection content stored in the path memory circuit 105, generates decoded data, and outputs this.

なお、送信側のエンコーダにおいては、符号化されるデータの末尾にテールビットを付加し、符号化が必ずゼロステートで終わるようにすることが一般的である。   Note that a transmission-side encoder generally adds a tail bit to the end of data to be encoded so that encoding always ends in zero state.

特許文献1には、ビタビ復号装置の例についての開示がある。
特開平5−136700号公報
Patent Document 1 discloses an example of a Viterbi decoding device.
JP-A-5-136700

ところで、上述したように、トレリス計算の過程で得られるパス選択情報及び各ステートのメトリック値をメモリに格納して、ビタビ復号を行う構成とした場合に、1タイムスロット毎にメモリに格納して演算処理するようにすると、復号結果を得るためにメモリにアクセスする回数が多く、復号演算の高速化を阻害する要因になっている。このため、上述した特許文献1では、トレリス演算を複数の時間(即ち複数ビットの復号語)にわたって一括して行うことが提案されている。   By the way, as described above, when the path selection information obtained in the trellis calculation process and the metric value of each state are stored in the memory and Viterbi decoding is performed, it is stored in the memory for each time slot. When the arithmetic processing is performed, the number of times the memory is accessed to obtain the decoding result is large, which is a factor that hinders the speeding up of the decoding operation. For this reason, in Patent Document 1 described above, it is proposed to perform trellis operations collectively over a plurality of times (that is, decoded words of a plurality of bits).

例えば、トレリス演算を2ビットの復号語にわたって一括して行うようにする。このように一括してトレリス演算を行うことで、それだけメモリにアクセスする回数が少なくなり、復号演算の高速化につながる。   For example, trellis operations are performed collectively over a 2-bit decoded word. By performing the trellis operation in a lump in this way, the number of times the memory is accessed is reduced accordingly, leading to faster decoding operation.

ところが、このように複数ビットの復号語を一括して演算処理するようにすると、復号状態によっては、復号性能が劣化する場合がある。具体的には、例えば復号語の総ビット数が、1回のACS演算の復号語の倍数でない場合に、復号性能が劣化する場合がある。   However, when a plurality of bits of decoded words are collectively processed in this way, the decoding performance may deteriorate depending on the decoding state. Specifically, for example, when the total number of bits of the decoded word is not a multiple of the decoded word of one ACS operation, the decoding performance may deteriorate.

以下、このことを図8、図9を参照して説明する。図8は、1回のACS演算で処理する復号語のビット数が1の場合(即ち複数ビットの復号語を一括して演算処理しない場合)の、一般的なトレリス線図である。ここでは、拘束長=3(4ステート)としてあり、時刻tにおける4つの状態[0],[1],[2],[3]から、時刻t+2で状態[0]になるパスとしては、時刻tから時刻t+1へのパスとして、パスa,b,c,dがあり、時刻t+1から時刻t+2へのパスとして、パスe,fがある。図8において、時刻t+2がトレースバックの開始点であるとすると、時刻t+2での状態[0]から、これらのパスa〜fの何れかを選択することを、各ステートのメトリック値に基づいて行うことで、正しく復号される。   Hereinafter, this will be described with reference to FIGS. FIG. 8 is a general trellis diagram when the number of bits of a decoded word processed by one ACS operation is 1 (that is, when a plurality of decoded words are not processed in a lump). Here, the constraint length is 3 (4 states), and the path from the four states [0], [1], [2], [3] at time t to the state [0] at time t + 2 is as follows: There are paths a, b, c, and d as paths from time t to time t + 1, and paths e and f as paths from time t + 1 to time t + 2. In FIG. 8, when time t + 2 is the start point of traceback, selecting any one of these paths a to f from state [0] at time t + 2 is based on the metric value of each state. By doing so, it is decoded correctly.

次に、1回のACS演算で処理する復号語のビット数が2の場合の例を、図9に示す。この場合には、時刻t+2をトレースバックの開始点であるとすると、1回のACS演算で、時刻tの4つの状態[0],[1],[2],[3]の何れかが選択されることになる。   Next, an example in which the number of bits of a decoded word processed by one ACS operation is 2 is shown in FIG. In this case, if the time t + 2 is the start point of the traceback, any one of the four states [0], [1], [2], and [3] at the time t is obtained by one ACS calculation. Will be selected.

ここで、時刻tが偶数である場合には、図8に示した1ビットずつのトレースバックと、図9に示した2ビットずつのトレースバックとで、復号結果は全く等価である。しかしながら、図9の2ビット処理を行う構成の場合には、パスメモリが必ず2ビット単位で追記されるので、復号語の総ビット数が奇数の場合には、パンクチャビット相当のダミービットを1ビット付加して、処理の単位を偶数にする等の対策が必要になる。即ち、本来の時刻t+1のパスメモリから行うトレースバック処理を、時刻t+2から行うことになる。   Here, when the time t is an even number, the decoding result is completely equivalent to the 1-bit traceback shown in FIG. 8 and the 2-bit traceback shown in FIG. However, in the case of the configuration that performs the 2-bit processing of FIG. 9, the path memory is always additionally written in units of 2 bits. Therefore, when the total number of bits of the decoded word is an odd number, dummy bits corresponding to puncture bits are set to 1. It is necessary to take measures such as adding bits to make the processing unit an even number. In other words, the traceback process performed from the original path memory at time t + 1 is performed from time t + 2.

このように、時刻t+1のパスメモリから行うはずのトレースバック処理を、時刻t+2から行うようにすると、本来選択されるはずのないパスが選択される可能性があり、そのような場合に復号性能が劣化してしまう。   In this way, if the traceback processing that should be performed from the path memory at time t + 1 is performed from time t + 2, there is a possibility that a path that should not be selected may be selected. Will deteriorate.

本発明はかかる点に鑑みてなされたものであり、複数ビットの復号語を一括して演算処理してビタビ復号する場合に、復号性能が劣化する問題を解決することを目的とする。   The present invention has been made in view of such a point, and an object of the present invention is to solve the problem that the decoding performance deteriorates when a Viterbi decoding is performed by collectively processing a decoding word of a plurality of bits.

本発明は、畳み込み符号である復号語について、各ステートでのステートメトリック値とブランチメトリック値に基づいて、最尤パスを選択する処理を、復号語の最後の時刻まで行い、0ステートからトレースバックさせて復号を行う場合に、最尤パスを選択する処理を、nビット(nは2以上の整数)単位で演算し、復号語の総ビット数がnの倍数でない場合のトレースバック開始時に、選択の候補となるパスを、nビット以下のビット数で候補となり得る特定のパスに制限させるようにしたものである。   The present invention performs a process of selecting a maximum likelihood path for a decoded word, which is a convolutional code, based on a state metric value and a branch metric value in each state until the last time of the decoded word, and traceback from 0 state. When performing decoding, the process of selecting the maximum likelihood path is calculated in units of n bits (n is an integer of 2 or more), and when the traceback starts when the total number of bits of the decoded word is not a multiple of n, Paths that are candidates for selection are restricted to specific paths that can be candidates with the number of bits of n bits or less.

このようにしたことで、復号処理を少ないメモリアクセスで行える複数ビット単位で処理するようにした場合であっても、その処理単位の複数ビット以下のビット数を扱う必要がある際には、その処理単位の複数ビット以下のビット数での精度でパスが選択されることになる。   In this way, even when decoding processing is performed in units of multiple bits that can be performed with less memory access, when it is necessary to handle the number of bits that are less than or equal to multiple bits in that processing unit, A path is selected with an accuracy in the number of bits of a plurality of processing units or less.

本発明によると、復号処理を少ないメモリアクセスで行える複数ビット単位で処理するようにした場合であっても、その処理単位の複数ビット以下のビット数を扱う必要がある際には、その処理単位の複数ビット以下のビット数での精度でパスが選択されることになり、誤ったパスを選択することがなくなる。従って、高速処理などが可能な複数ビット単位でビタビ復号処理を行う場合であっても、処理精度を1ビット単位で行う場合と同じに維持できる。   According to the present invention, even when decoding processing is performed in units of a plurality of bits that can be performed with less memory access, when it is necessary to handle the number of bits equal to or less than a plurality of bits in the processing unit, the processing unit Therefore, a path is selected with accuracy with a number of bits equal to or less than a plurality of bits, and an incorrect path is not selected. Therefore, even when the Viterbi decoding process is performed in units of multiple bits capable of high-speed processing or the like, the processing accuracy can be maintained the same as in the case of performing in 1-bit units.

以下、本発明の一実施の形態を、図1〜図5を参照して説明する。
本例においては、携帯電話端末などの各種通信機器で、畳み込み符号を受信して復号する場合に適用したものである。即ち、例えば図1に示すように、アンテナ1が接続されたRF(高周波)部2で、所定の周波数帯の信号を受信して、その受信信号を復調器3に供給して復調して、畳み込み符号で符号化された復調信号を得る。この復調信号を復号器4に供給して復号する。本例においては、復号器4としてビタビ復号器を使用し、ビタビ復号を行う。ビタビ復号器4の具体的構成については、後述する。
Hereinafter, an embodiment of the present invention will be described with reference to FIGS.
In this example, the present invention is applied to a case where various communication devices such as a mobile phone terminal receive and decode a convolutional code. That is, for example, as shown in FIG. 1, an RF (high frequency) unit 2 to which an antenna 1 is connected receives a signal in a predetermined frequency band, supplies the received signal to a demodulator 3, and demodulates it. A demodulated signal encoded with a convolutional code is obtained. This demodulated signal is supplied to the decoder 4 for decoding. In this example, a Viterbi decoder is used as the decoder 4 to perform Viterbi decoding. A specific configuration of the Viterbi decoder 4 will be described later.

ビタビ復号器4で復号された結果のデータは、受信データ処理部5に供給して、受信データのデータ処理を行う。データ処理部では、例えばエラー訂正などについても必要により行う。   Data obtained as a result of decoding by the Viterbi decoder 4 is supplied to the reception data processing unit 5 to perform data processing on the reception data. In the data processing unit, for example, error correction is performed as necessary.

図2は、このような受信系が備えるビタビ復号器4の本例の構成例を示した図である。ここでは、拘束長=3(4ステート)の畳み込み符号の復号を行うものとする。図2に従って構成を説明すると、受信信号入力端子11に得られる受信信号を、ACS計算部12に供給する。ACS計算部12は、加算と比較と選択(いわゆるACS演算)を行う回路である。   FIG. 2 is a diagram illustrating a configuration example of this example of the Viterbi decoder 4 included in such a reception system. Here, it is assumed that a convolutional code with constraint length = 3 (4 states) is decoded. The configuration will be described with reference to FIG. 2. The reception signal obtained at the reception signal input terminal 11 is supplied to the ACS calculation unit 12. The ACS calculation unit 12 is a circuit that performs addition, comparison, and selection (so-called ACS calculation).

具体的には、ACS計算部12で、受信信号のブランチメトリックを計算し、そのブランチメトリックと、メモリに記憶されたステートメトリック(累積和)とに基づいて、ある状態に合流する2本のそれぞれのパスに対し、受信符号とパスとのハミング距離(ブランチメトリック)と、それまでのブランチメトリックの累積和(ステートメトリック)を加算して比較し、この比較結果に基づいて尤度の高いものを選択し、この選択内容をメモリ(パスメモリ)に記憶させるとともに、新たに得られた累積和(ステートメトリック)を正規化してメモリ(ステートメトリックメモリ)に記憶させる。ACS計算部12での計算処理は、制御部30内のトレリス計算処理制御部31からの制御信号31aによる制御で実行される。   Specifically, the ACS calculation unit 12 calculates a branch metric of the received signal, and each of the two merged into a certain state based on the branch metric and the state metric (cumulative sum) stored in the memory. For each path, add the Hamming distance (branch metric) between the received code and the path and the cumulative sum of the branch metrics so far (state metric) and compare them. The selected contents are stored in the memory (path memory), and the newly obtained cumulative sum (state metric) is normalized and stored in the memory (state metric memory). The calculation process in the ACS calculation unit 12 is executed under the control of the control signal 31 a from the trellis calculation process control unit 31 in the control unit 30.

ACS計算部12での結果を記憶するメモリとしては、ここでは4ステートの畳み込み符号を扱うので、図2に示すように、ステート数に対応した第1〜第4の4つのメモリ21〜24を用意し、それぞれのメモリ21〜24に、パスメモリ21a〜24aとステートメトリックメモリ21b〜24bを設ける。各ステートメトリックメモリ21b〜24bに記憶されたステートメトリック値は、ACS計算部12に戻す。また、各パスメモリ21a〜24aに記憶されたパス選択データは、結果出力部13に供給する。各メモリ21〜24でのデータ記憶及び読み出しは、制御部30内のメモリ制御部32による制御で実行される。なお、図2では、第1〜第4の4つのメモリ21〜24を個別のメモリとして示してあるが、例えば1つのメモリの記憶エリアを分割して、4つのメモリ21〜24を構成させてもよい。   As the memory for storing the result in the ACS calculation unit 12, a four-state convolutional code is handled here, so that the first to fourth memories 21 to 24 corresponding to the number of states are used as shown in FIG. The path memories 21a to 24a and the state metric memories 21b to 24b are provided in the memories 21 to 24, respectively. The state metric values stored in the respective state metric memories 21 b to 24 b are returned to the ACS calculation unit 12. The path selection data stored in each of the path memories 21 a to 24 a is supplied to the result output unit 13. Data storage and reading in each of the memories 21 to 24 are executed under the control of the memory control unit 32 in the control unit 30. In FIG. 2, the first to fourth four memories 21 to 24 are illustrated as individual memories. For example, a memory area of one memory is divided to form four memories 21 to 24. Also good.

結果出力部13では、メモリ21〜24のパスメモリ21a〜24aに記憶されたパス選択データを使用して、トレースバック処理を行い、復号語毎に復号結果を得、その復号結果を復号結果出力端子14から出力させる。結果出力部13でのトレースバック処理は、制御部30内のトレリス計算処理制御部31からの制御信号32aによる制御で実行される。   The result output unit 13 performs a traceback process using the path selection data stored in the path memories 21a to 24a of the memories 21 to 24, obtains a decoded result for each decoded word, and outputs the decoded result as a decoded result. Output from the terminal 14. The trace back process in the result output unit 13 is executed under the control of the control signal 32 a from the trellis calculation process control unit 31 in the control unit 30.

この場合、本例においては、ACS計算部12での計算処理及び結果出力部13でのトレースバック処理として、所定ビット数の復号語を扱う場合に、2ビット単位で処理するようにしてある。この2ビット単位で処理することで、メモリ21〜24にアクセスさせる回数などがそれだけ減ることになり、ビタビ復号時の処理負担が減るとともに、復号処理速度の高速化につながる。   In this case, in this example, as a calculation process in the ACS calculation unit 12 and a traceback process in the result output unit 13, when a decoded word having a predetermined number of bits is handled, the process is performed in units of 2 bits. By performing processing in units of 2 bits, the number of times of accessing the memories 21 to 24 and the like are reduced accordingly, the processing load at the time of Viterbi decoding is reduced, and the decoding processing speed is increased.

そして、2ビット単位で処理する上で、復号語の総ビット数が奇数ビットである場合に、最後に余る1ビットについは、パンクチャビット相当のダミービットを1ビット付加して、常に2ビットずつ処理できるようにしてある。なお、トレースバック処理時には、逆方向にたどる処理であるので、最初の処理時に、ダミービットが1ビット付加されたデータを扱うことになる。そして本例においては、このダミービットが1ビット付加されたデータについてトレースバックを行う際には、選択可能なパスを、4つのパスの内の特定のパスに制限するようにしたものである。   When the total number of bits of a decoded word is an odd number when processing in units of 2 bits, a dummy bit equivalent to a puncture bit is added to the last 1 bit to always add 2 bits at a time. It can be processed. Since the traceback process is a process that follows in the reverse direction, the data to which one dummy bit is added is handled in the first process. In this example, when traceback is performed on data with one dummy bit added, selectable paths are limited to specific paths among the four paths.

この点について、図3、図4を参照して説明すると、1回のACS演算で処理する復号語のビット数が1ビットである場合の、最終の2ビットのトレリス線図を図3に示す。この例では、時刻t+2が最終ビット位置(即ちトレースバック開始位置)であり、1ビットずつ処理する場合には、時刻t+1、時刻t…とたどっていくトレースバック処理が行われる。ここで、ビタビ復号におけるトレースバック開始位置でのステートは、必ず0ステートである。従って、時刻t+2の0ステートでのトレースバックで選択できるパスは、0ステートに繋がったパスeと、1ステートに繋がったパスfの2つである。同様に、時刻t+1の0ステート又は1ステートで選択できるパスは、パスa,b,c,dの4つであり、時刻t+2から2ビット前の時刻tでは、4つの全てのステートが選択できる。   This point will be described with reference to FIG. 3 and FIG. 4. FIG. 3 shows a final 2-bit trellis diagram when the number of bits of a decoded word processed by one ACS operation is 1 bit. . In this example, the time t + 2 is the last bit position (that is, the trace back start position), and when processing one bit at a time, the trace back processing is performed following time t + 1, time t,. Here, the state at the traceback start position in Viterbi decoding is always 0 state. Accordingly, there are two paths that can be selected by the traceback in the 0 state at time t + 2: the path e connected to the 0 state and the path f connected to the 1 state. Similarly, there are four paths a, b, c, and d that can be selected in 0 state or 1 state at time t + 1, and all four states can be selected at time t two bits before time t + 2. .

次に、1回のACS演算で処理する復号語のビット数が2ビットである場合の、最終の2ビットのトレリス線図を図4に示す。この例では、時刻t+2が最終ビット位置(即ちトレースバック開始位置)であり、2ビットずつ処理するので、時刻t+2、時刻t、時刻t−2…とたどっていくトレースバック処理が行われる。上述した図3の例から判るように、時刻t+2から時刻tにトレースバックする場合には、トレースバック開始位置である0ステートから、全てのステート0,1,2,3が選択可能であり、2ビットずつ扱う図4の例では、この4つのステート0,1,2,3につながったパスp,q,r,sが、選択可能であり、この4つのパスp,q,r,sの中から、最も尤度が高いものが選択される。   Next, FIG. 4 shows a final 2-bit trellis diagram when the number of bits of a decoded word processed in one ACS operation is 2 bits. In this example, the time t + 2 is the final bit position (ie, the traceback start position), and processing is performed 2 bits at a time. Therefore, the traceback processing is performed in the order of time t + 2, time t, time t-2,. As can be seen from the example of FIG. 3 described above, when tracing back from time t + 2 to time t, all states 0, 1, 2, 3 can be selected from the 0 state that is the trace back start position. In the example of FIG. 4 in which 2 bits are handled, the paths p, q, r, and s connected to the four states 0, 1, 2, and 3 can be selected, and the four paths p, q, r, and s are selected. Among them, the one with the highest likelihood is selected.

これに対して、そのときにトレースバック処理される復号語の総ビット数が奇数ビットである場合には、トレースバック処理の開始時の2ビットは、パンクチャビット相当のダミービットが1ビット付加されたデータであり、図3に当て嵌めると、時刻t+2から時刻t+1へのトレースバック処理が行われることに相当し、パスe又はパスfに相当するトレースバックしか存在しない。従って、復号語の総ビット数が奇数ビットである場合のトレースバック処理の開始時には、図4に示した4つのパスp,q,r,sの内の、パスp,qしか存在せず、そのパスp,qの中から、最も尤度が高いものを選ぶことで、誤りのない正しいトレースバック処理が行われる。トレースバック処理の開始時以外では、このようなパスの制限は必要ない。   On the other hand, when the total number of bits of the decoded word to be traceback processed at that time is an odd number, 1 bit of dummy bits corresponding to the puncture bit is added to the 2 bits at the start of the traceback processing. When this is applied to FIG. 3, it corresponds to the traceback processing from time t + 2 to time t + 1, and there is only traceback corresponding to path e or path f. Therefore, at the start of the traceback process when the total number of bits of the decoded word is an odd number of bits, only the paths p and q are present among the four paths p, q, r, and s shown in FIG. By selecting a path with the highest likelihood from the paths p and q, a correct traceback process without error is performed. There is no need for such path restrictions except at the start of traceback processing.

本例での処理をまとめると、図5のフローチャートに示す制御が行われることになる。即ち、復号語のビット数が奇数ビットであるか否か判断し(ステップS1)、奇数ビットでない場合には、トレースバック時のパスを制限させずに、メモリの記憶データに基づいて最適なパスを選定しながらトレースバック処理を行う(ステップS2)。そして、奇数ビットである場合には、トレースバック開始時に、メモリの記憶データに基づいて選択されるパスを、パスp又はqのいずれかとする制限を行い、それ以後のトレースバック処理では、メモリの記憶データに基づいて最適なパスを選定しながらトレースバック処理を行う(ステップS3)。   To summarize the processing in this example, the control shown in the flowchart of FIG. 5 is performed. That is, it is determined whether or not the number of bits of the decoded word is an odd number (step S1). If it is not an odd number, the optimum path based on the stored data in the memory without limiting the path at the time of traceback is determined. Trace back processing is performed while selecting (step S2). If the number of bits is an odd number, the path selected based on the stored data in the memory is limited to either the path p or q at the start of traceback. Trace back processing is performed while selecting an optimum path based on the stored data (step S3).

このようにしてビタビ復号を行うことで、2ビット単位で処理するためにビタビ復号時の処理負担が減る等の効果があるが、さらに本例では、そのように複数ビットまとめて処理することで、最後に余るビットがある場合に、トレースバック開始時のパス選択が、存在しないパス選択となることがなく、ビタビ復号精度が劣化することを防止できる。   Performing Viterbi decoding in this way has the effect of reducing the processing burden during Viterbi decoding because processing is performed in units of 2 bits, but in this example, by processing such a plurality of bits collectively in this way When there is a surplus bit at the end, the path selection at the start of traceback does not become a path selection that does not exist, and the Viterbi decoding accuracy can be prevented from deteriorating.

なお、ここまでの説明では、2ビットごとに演算を行う場合に、復号語の総ビット数が奇数ビットである場合の処理例について説明したが、2ビット以外の複数ビット処理時にも適用可能である。即ち、nビット(nは2以上の整数)ごとに演算を行うようにして、復号語の総ビット数がnの倍数でない場合に、トレースバック開始時に、nビットよりも少ないビット数の演算を行う際に、上述した実施の形態と同様に、選択の候補となるパスを、そのビット数で候補となり得るパスに制限させるようにすれば良い。   In the description so far, the processing example has been described in the case where the operation is performed every 2 bits, and the total number of bits of the decoded word is an odd number of bits. is there. That is, when the operation is performed every n bits (n is an integer of 2 or more) and the total number of bits of the decoded word is not a multiple of n, the operation with the number of bits smaller than n bits is performed at the start of traceback. When performing, as in the above-described embodiment, the paths that are candidates for selection may be limited to paths that can be candidates with the number of bits.

また、本発明のビタビ復号が適用される機器としては、畳み込み符号を受信する機器であれば、携帯電話端末などの無線通信端末や、有線の通信機器など、各種機器に適用可能である。   In addition, as a device to which the Viterbi decoding of the present invention is applied, any device that receives a convolutional code can be applied to various devices such as a wireless communication terminal such as a mobile phone terminal and a wired communication device.

また、上述した実施の形態では、図1や図2に示したビタビ復号処理を行う専用の回路が組み込まれた受信装置として構成させる他に、例えば、パーソナルコンピュータ装置などのデータ処理装置に、受信処理を行うカードやボードなどを装着させて、ビタビ復号については、データ処理装置に組み込まれたソフトウェア(プログラム)により、演算処理で実行するようにしてもよい。   Further, in the above-described embodiment, in addition to being configured as a receiving apparatus incorporating a dedicated circuit for performing the Viterbi decoding process illustrated in FIGS. 1 and 2, for example, a data processing apparatus such as a personal computer apparatus may receive the data. A card or board to be processed may be mounted, and Viterbi decoding may be executed by arithmetic processing using software (program) incorporated in the data processing apparatus.

本発明の一実施の形態による端末の受信構成例を示したブロック図である。It is the block diagram which showed the example of receiving structure of the terminal by one embodiment of this invention. 本発明の一実施の形態によるビタビ復号器の構成例を示したブロック図である。It is the block diagram which showed the structural example of the Viterbi decoder by one embodiment of this invention. ビタビ復号のトレリス線図であり、1回のACS演算で処理する復号語のビット数が1である場合の最終の2ビットの例である。It is a trellis diagram of Viterbi decoding, and is an example of the last two bits when the number of bits of a decoded word processed by one ACS operation is one. ビタビ復号のトレリス線図であり、1回のACS演算で処理する復号語のビット数が2である場合の最終の2ビットの例である。It is a trellis diagram of Viterbi decoding, and is an example of the last two bits when the number of bits of a decoded word processed by one ACS operation is two. ビタビ復号のトレリス線図であり、1回のACS演算で処理する復号語のビット数が2である場合の最終の2ビットの例である。It is a trellis diagram of Viterbi decoding, and is an example of the last two bits when the number of bits of a decoded word processed by one ACS operation is two. 従来のビタビ複合器の一例を示したブロック図である。It is the block diagram which showed an example of the conventional Viterbi compound machine. ビタビ復号のトレリス線図の一例である。It is an example of the trellis diagram of Viterbi decoding. ビタビ復号のトレリス線図であり、1回のACS演算で処理する復号語のビット数が1である場合の例である。It is a trellis diagram of Viterbi decoding, and is an example when the number of bits of a decoded word processed by one ACS operation is 1. ビタビ復号のトレリス線図であり、1回のACS演算で処理する復号語のビット数が2である場合の例である。It is a trellis diagram of Viterbi decoding, and is an example in the case where the number of bits of a decoded word processed by one ACS operation is 2.

符号の説明Explanation of symbols

1…アンテナ、2…RF部、3…復調器、4…復号器、5…受信データ処理部、11…受信信号入力端子、12…ACS計算部、13…結果出力部、14…復号結果出力端子、21〜24…メモリ、30…制御部、31…トレリス計算処理制御部、32…メモリ制御部   DESCRIPTION OF SYMBOLS 1 ... Antenna, 2 ... RF part, 3 ... Demodulator, 4 ... Decoder, 5 ... Reception data processing part, 11 ... Receive signal input terminal, 12 ... ACS calculation part, 13 ... Result output part, 14 ... Decoding result output Terminals 21 to 24... Memory, 30... Control unit, 31... Trellis calculation processing control unit, 32.

Claims (6)

畳み込み符号である復号語について、各ステートでのステートメトリック値とブランチメトリック値に基づいて、最尤パスを選択する処理を、復号語の最後の時刻まで行い、0ステートからトレースバックさせて復号を行うビタビ復号方法において、
前記最尤パスを選択する処理を、nビット(nは2以上の整数)単位で演算し、
前記復号語の総ビット数がnの倍数でない場合のトレースバック開始時に、選択の候補となるパスを、前記nビット以下のビット数で候補となり得る特定のパスに制限させる
ビタビ復号方法。
For a decoded word that is a convolutional code, the process of selecting the maximum likelihood path is performed up to the last time of the decoded word based on the state metric value and the branch metric value in each state, and the decoding is performed by tracing back from the 0 state. In the Viterbi decoding method to be performed,
The process of selecting the maximum likelihood path is calculated in units of n bits (n is an integer of 2 or more),
A Viterbi decoding method that restricts a path that is a candidate for selection to a specific path that can be a candidate with the number of bits equal to or less than the n bits when traceback is started when the total number of bits of the decoded word is not a multiple of n.
請求項1記載のビタビ復号方法において、
前記nの値は2であり、
前記復号語の総ビット数が奇数である場合に、トレースバック開始時に選択の候補となるパスを、1ビットだけトレースバックさせる際に候補となり得る特定のパスに制限させる
ビタビ復号方法。
The Viterbi decoding method according to claim 1,
The value of n is 2,
A Viterbi decoding method that restricts a path that is a candidate for selection at the start of traceback to a specific path that can be a candidate when traceback is performed by one bit when the total number of bits of the decoded word is an odd number.
請求項1又は2記載のビタビ復号方法において、
前記復号語の総ビット数がnの倍数でなく、その総ビット数がnの倍数でないために余るビットの演算時には、ダミービットを付加してnビットにして演算を行う
ビタビ復号方法。
The Viterbi decoding method according to claim 1 or 2,
A Viterbi decoding method in which, when the number of bits of the decoded word is not a multiple of n and the total number of bits is not a multiple of n, a dummy bit is added to perform n bits when calculating the remaining bits.
畳み込み符号である復号語について、各ステートでのステートメトリック値とブランチメトリック値を計算し、その計算結果に基づいて、最尤パスを選択する処理を、nビット(nは2以上の整数)単位で行う計算部と、
前記計算部で計算されたステートメトリック値とブランチメトリック値を記憶するメモリと、
復号語の最後の時刻まで前記メモリに記憶された値を使用してトレースバックを行って、復号結果を得ると共に、前記復号語の総ビット数がnの倍数でない場合のトレースバック開始時に、選択の候補となるパスを、前記nビット以下のビット数で候補となり得る特定のパスに制限させる結果出力部とを備えた
ビタビ復号装置。
For a decoded word that is a convolutional code, a state metric value and a branch metric value in each state are calculated, and a process of selecting the maximum likelihood path based on the calculation result is performed in units of n bits (n is an integer of 2 or more). A calculation unit to perform in
A memory for storing the state metric value and the branch metric value calculated by the calculation unit;
Traceback is performed using the value stored in the memory until the last time of the decoded word to obtain a decoded result, and is selected at the start of traceback when the total number of bits of the decoded word is not a multiple of n A Viterbi decoding device comprising: a result output unit that restricts a candidate path to a specific path that can be a candidate with the number of bits of n bits or less.
請求項4記載のビタビ復号装置において、
前記nの値は2であり、
前記結果出力部は、復号語の総ビット数が奇数である場合に、トレースバック開始時に選択の候補となるパスを、1ビットだけトレースバックさせる際に候補となり得る特定のパスに制限させる
ビタビ復号装置。
The Viterbi decoding device according to claim 4,
The value of n is 2,
When the total number of bits of the decoded word is an odd number, the result output unit restricts a path that is a candidate for selection at the start of traceback to a specific path that can be a candidate when tracing back only one bit. apparatus.
請求項4又は5記載のビタビ復号装置において、
前記復号語の総ビット数がnの倍数でなく、その総ビット数がnの倍数でないために余るビットの前記計算部での計算時には、ダミービットを付加してnビットにして計算を行う
ビタビ復号装置。
The Viterbi decoding device according to claim 4 or 5,
Since the total number of bits of the decoded word is not a multiple of n and the total number of bits is not a multiple of n, when calculating the remaining bits in the calculation unit, a dummy bit is added to calculate n bits. Decoding device.
JP2004140230A 2004-05-10 2004-05-10 Viterbi decoding method and apparatus Withdrawn JP2005323197A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004140230A JP2005323197A (en) 2004-05-10 2004-05-10 Viterbi decoding method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004140230A JP2005323197A (en) 2004-05-10 2004-05-10 Viterbi decoding method and apparatus

Publications (1)

Publication Number Publication Date
JP2005323197A true JP2005323197A (en) 2005-11-17

Family

ID=35470127

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004140230A Withdrawn JP2005323197A (en) 2004-05-10 2004-05-10 Viterbi decoding method and apparatus

Country Status (1)

Country Link
JP (1) JP2005323197A (en)

Similar Documents

Publication Publication Date Title
US7765459B2 (en) Viterbi decoder and viterbi decoding method
US8705669B2 (en) Low-latency viterbi survivor memory architecture and method using register exchange, trace-back, and trace-forward
US6452985B1 (en) Viterbi decoding apparatus and Viterbi decoding method
US8589758B2 (en) Method and system for cyclic redundancy check
JP2009159482A (en) Decoder and decoding method
US7571376B2 (en) Viterbi decoder for executing trace-back work in parallel and decoding method
JP3233847B2 (en) Viterbi decoding method and Viterbi decoding circuit
JP2008118327A (en) Viterbi decoding method
US8489972B2 (en) Decoding method and decoding device
JP5169771B2 (en) Decoder and decoding method
JPH05183448A (en) Error correction encoding and decoding device
US7263653B2 (en) Algorithm for a memory-based Viterbi decoder
JP2010206570A (en) Decoding apparatus and decoding method
JP2005323197A (en) Viterbi decoding method and apparatus
KR100262303B1 (en) Survivor path trace back method in decoding with viterbi algorithm and apparatus thereof
US8644432B2 (en) Viterbi decoder for decoding convolutionally encoded data stream
EP2362549B1 (en) Low-latency viterbi survivor memory architecture and method using register exchange, trace-back, and trace-forward
JP2591332B2 (en) Error correction decoding device
US20070168845A1 (en) Viterbi decoder
US11108415B2 (en) Method of Viterbi algorithm and receiving device
JP5370487B2 (en) Decoding method and decoding apparatus
JP4729938B2 (en) Viterbi decoder and mobile communication device, base station device, and mobile communication terminal using the same
JP2002111518A (en) Viterbi-decoding method and its device
US8503585B2 (en) Decoding method and associated apparatus
JP2004260391A (en) Maximum likelihood decoder and maximum likelihood decoding method for convolution coding

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070807