JP2005323197A - Viterbi decoding method and apparatus - Google Patents
Viterbi decoding method and apparatus Download PDFInfo
- 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
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
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
ブランチメトリック計算回路101は入力データが入力されたとき、この入力データのブランチメトリックを計算してこの計算結果(ブランチメトリック)をACS回路102に供給する。
When the input data is input, the branch
加算と比較と選択(いわゆるACS演算)を行う回路であるACS回路102は、ブランチメトリック計算回路101から供給されるブランチメトリックと、ステートメトリック記憶回路104から供給されるステートメトリック(累積和)とに基づいて、ある状態に合流する2本のそれぞれのパスに対し、受信符号とパスとのハミング距離(ブランチメトリック)と、それまでのブランチメトリックの累積和(ステートメトリック)を加算して比較し、この比較結果に基づいて尤度の高いものを選択し、この選択内容をパスメモリ回路105に供給するとともに、新たに得られた累積和(ステートメトリック)を正規化回路103に供給する。
The
この場合、拘束長が“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
ステートメトリック記憶回路104は前記正規化回路103から供給される正規化されたステートメトリックを記憶し、これを前記ACS回路102に戻す。
The state
また、パスメモリ回路105は、複数のパスメモリセルを備えており、ACS回路102から出力される選択信号に基づいて各パスメモリセルで入力データを選択して一時記憶することにより、ACS回路102から出力される選択内容を記憶してこの選択内容を最尤復号判定回路106に供給する。
The
最尤復号判定回路106は、パスメモリ回路105に記憶されている選択内容に基づいて、最尤のパスを判定して復号データを生成し、これを出力する。
The maximum likelihood
なお、送信側のエンコーダにおいては、符号化されるデータの末尾にテールビットを付加し、符号化が必ずゼロステートで終わるようにすることが一般的である。 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には、ビタビ復号装置の例についての開示がある。
ところで、上述したように、トレリス計算の過程で得られるパス選択情報及び各ステートのメトリック値をメモリに格納して、ビタビ復号を行う構成とした場合に、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
例えば、トレリス演算を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)
ビタビ復号器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
具体的には、ACS計算部12で、受信信号のブランチメトリックを計算し、そのブランチメトリックと、メモリに記憶されたステートメトリック(累積和)とに基づいて、ある状態に合流する2本のそれぞれのパスに対し、受信符号とパスとのハミング距離(ブランチメトリック)と、それまでのブランチメトリックの累積和(ステートメトリック)を加算して比較し、この比較結果に基づいて尤度の高いものを選択し、この選択内容をメモリ(パスメモリ)に記憶させるとともに、新たに得られた累積和(ステートメトリック)を正規化してメモリ(ステートメトリックメモリ)に記憶させる。ACS計算部12での計算処理は、制御部30内のトレリス計算処理制御部31からの制御信号31aによる制御で実行される。
Specifically, the
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
結果出力部13では、メモリ21〜24のパスメモリ21a〜24aに記憶されたパス選択データを使用して、トレースバック処理を行い、復号語毎に復号結果を得、その復号結果を復号結果出力端子14から出力させる。結果出力部13でのトレースバック処理は、制御部30内のトレリス計算処理制御部31からの制御信号32aによる制御で実行される。
The
この場合、本例においては、ACS計算部12での計算処理及び結果出力部13でのトレースバック処理として、所定ビット数の復号語を扱う場合に、2ビット単位で処理するようにしてある。この2ビット単位で処理することで、メモリ21〜24にアクセスさせる回数などがそれだけ減ることになり、ビタビ復号時の処理負担が減るとともに、復号処理速度の高速化につながる。
In this case, in this example, as a calculation process in the
そして、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
次に、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
これに対して、そのときにトレースバック処理される復号語の総ビット数が奇数ビットである場合には、トレースバック処理の開始時の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
本例での処理をまとめると、図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.
1…アンテナ、2…RF部、3…復調器、4…復号器、5…受信データ処理部、11…受信信号入力端子、12…ACS計算部、13…結果出力部、14…復号結果出力端子、21〜24…メモリ、30…制御部、31…トレリス計算処理制御部、32…メモリ制御部
DESCRIPTION OF
Claims (6)
前記最尤パスを選択する処理を、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.
前記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.
前記復号語の総ビット数が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ビット以下のビット数で候補となり得る特定のパスに制限させる結果出力部とを備えた
ビタビ復号装置。 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.
前記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.
前記復号語の総ビット数が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.
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) |
-
2004
- 2004-05-10 JP JP2004140230A patent/JP2005323197A/en not_active Withdrawn
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 |