JPH11266164A - Viterbi decoding device and Viterbi decoding method - Google Patents
Viterbi decoding device and Viterbi decoding methodInfo
- Publication number
- JPH11266164A JPH11266164A JP6883998A JP6883998A JPH11266164A JP H11266164 A JPH11266164 A JP H11266164A JP 6883998 A JP6883998 A JP 6883998A JP 6883998 A JP6883998 A JP 6883998A JP H11266164 A JPH11266164 A JP H11266164A
- Authority
- JP
- Japan
- Prior art keywords
- data
- value
- state
- path
- path metric
- 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.)
- Pending
Links
Landscapes
- Error Detection And Correction (AREA)
Abstract
(57)【要約】
【課題】本発明はビタビ復号装置に関し、従来に比して
復号精度を向上し得ると共に復号処理を高速化し得るよ
うにする。
【解決手段】各ステートの初期パスメトリツク値を畳み
込み符号器の初期値に基づいて重み付けした値に設定す
ると共に、パスメトリツク演算が最後の演算に達したと
きにはテールビツトの値によつて決まる固定ステートを
起点ステートとして1ステツプトレースバツクする毎に
データ列を1ビツトずつ復号するようにしたことによ
り、パスメトリツクを正確に演算し得ると共に、トレー
スバツク回数を減らすことができ、かくして従来に比し
て復号精度を向上し得ると共に復号処理を高速化し得
る。
(57) Abstract: The present invention relates to a Viterbi decoding device, and can improve decoding accuracy and speed up decoding processing as compared with the related art. An initial path metric value of each state is set to a value weighted based on an initial value of a convolutional encoder, and a fixed state determined by a tail bit value when a path metric operation reaches a final operation is set as a starting state. By decoding the data sequence one bit at a time every time one step traceback is performed, the path metric can be accurately calculated, the number of tracebacks can be reduced, and the decoding accuracy is improved as compared with the prior art. And can speed up the decoding process.
Description
【0001】[0001]
【目次】以下の順序で本発明を説明する。[Table of Contents] The present invention will be described in the following order.
【0002】発明の属する技術分野 従来の技術(図13〜図16) 発明が解決しようとする課題(図17) 課題を解決するための手段 発明の実施の形態(図1〜図12) 発明の効果BACKGROUND OF THE INVENTION Prior Art (FIGS. 13 to 16) Problems to be Solved by the Invention (FIG. 17) Means for Solving the Problems Embodiments of the Invention (FIGS. 1 to 12) effect
【0003】[0003]
【発明の属する技術分野】本発明はビタビ復号装置及び
ビタビ復号方法に関し、例えばセルラー無線通信システ
ムにおいて畳み込み符号化された符号化データをビタビ
復号アルゴリズムを用いて復号する際に適用して好適な
ものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a Viterbi decoding apparatus and a Viterbi decoding method, and more particularly, to a Viterbi decoding apparatus and a Viterbi decoding method which are suitably applied to decoding of convolutionally encoded data using a Viterbi decoding algorithm in a cellular radio communication system. It is.
【0004】[0004]
【従来の技術】近年、移動体通信の分野が急速に進展し
ている。特に携帯電話システムに代表されるようなセル
ラー無線通信システムは著しく発展している。このセル
ラー無線通信システムは、通信サービスを提供するエリ
アを所望の大きさのセルに分割して当該セル内にそれぞ
れ固定局としての基地局を設置し、移動局である通信端
末装置は通信状態の最も良好であると思われる基地局と
無線通信するようになさている。2. Description of the Related Art In recent years, the field of mobile communication has been rapidly developing. In particular, a cellular radio communication system represented by a cellular phone system has been remarkably developed. This cellular radio communication system divides an area for providing a communication service into cells of a desired size, installs base stations as fixed stations in the cells, and a communication terminal device as a mobile station enters a communication state. It communicates wirelessly with the best base station.
【0005】このようなセルラー無線通信システムの通
信方式としては、FDMA(Frequency Division Multi
ple Access:周波数分割多元接続)方式やTDMA(Ti
me Division Multiple Access :時分割多元接続)方
式、或いはCDMA(Code Division Multiple Access
:符号分割多元接続)方式等の種々の方式が提案され
ている。このうちCDMA方式は、その他の方式に比べ
て1セル当たりのチヤネル数いわゆるシステム容量を多
く確保し得るといつたメリツトがあり、次世代のセルラ
ー無線通信システムの方式として着目されており、実際
上、EIA/TIA(Electonic Industries Associati
on:電子機械工業会/Tele-communicationsIndustry As
sociation:通信機械工業会)によつてIS−95規格
として標準化されている。As a communication system of such a cellular radio communication system, FDMA (Frequency Division Multi
ple Access: frequency division multiple access (TDMA)
me Division Multiple Access (Time Division Multiple Access) or CDMA (Code Division Multiple Access)
: Code division multiple access) system and the like. Among them, the CDMA system has the advantage that it can secure a larger number of channels per cell, so-called system capacity, as compared with other systems, and has attracted attention as a next-generation cellular wireless communication system. , EIA / TIA (Electonic Industries Associati
on: Electronics Industry Association / Tele-communicationsIndustry As
Sociation: Telecommunications Machinery Industry Association) has standardized it as the IS-95 standard.
【0006】このように通信方式としては種々の方式が
提案されているがいずれの通信方式であつたとしても、
セルラー無線通信システムにおいては、無線回線を介し
て通信することから無線伝送路において送信データに誤
りが発生する可能性がある。このためセルラー無線通信
システムにおいては、送信時、送信データに誤り訂正の
ための畳み込み符号化を行い、その結果得られる符号化
データを無線伝送路を介して送信し、受信側では受信し
た符号化データにビタビ復号を施すことにより送信され
たデータを正しく復元するようになされている。As described above, various communication systems have been proposed, but no matter which communication system is used,
In a cellular wireless communication system, since communication is performed via a wireless line, there is a possibility that an error occurs in transmission data in a wireless transmission path. For this reason, in a cellular radio communication system, at the time of transmission, convolutional coding is performed on transmission data for error correction, and the resulting coded data is transmitted via a wireless transmission path. The transmitted data is correctly restored by performing Viterbi decoding on the data.
【0007】ここでこの畳み込み符号化とビタビ復号化
について具体的に説明する。畳み込み符号化は一般に誤
り訂正符号と呼ばれており、入力される送信データに順
次畳み込み演算を施すことにより当該送信データの情報
を複数のデータに分散させるような符号化方式である。
この畳み込み符号化の符号化器は、例えば図13に示す
ように構成される。すなわち畳み込み符号化器1は、入
力される送信データS1を順次取り込んでシフトする適
当な段数のシフトレジスタ2と、当該シフトレジスタ2
の所定段のレジスタの値を排他的論理和演算することに
より畳み込み演算を行うエクスクルーシブオア回路3、
4とによつて構成され、当該エクスクルーシブオア回路
3、4の出力値C1、C2を符号化データとして出力す
るような回路である。Here, the convolutional coding and the Viterbi decoding will be specifically described. Convolutional coding is generally called an error correction code, and is an encoding method in which information of the transmission data is dispersed into a plurality of data by sequentially performing a convolution operation on input transmission data.
An encoder for this convolutional coding is configured, for example, as shown in FIG. That is, the convolutional encoder 1 includes a shift register 2 having an appropriate number of stages for sequentially receiving and shifting input transmission data S1, and the shift register 2
An exclusive OR circuit 3 that performs a convolution operation by performing an exclusive OR operation on the value of the register at a predetermined stage of
4 and outputs the output values C1 and C2 of the exclusive OR circuits 3 and 4 as coded data.
【0008】通常、畳み込み符号化においては、シフト
レジスタの段数を拘束長と呼び、1ビツトの入力に対し
て出力される符号化データ数の割合を符号化率と呼び、
これらのパラメータによつて畳み込み符号化特性を特定
するようになされている。この図13に示した例では、
シフトレジスタ2の段数が「3」であり、1ビツトの入
力に対して2ビツトの符号化データが出力されることか
ら畳み込み符号化特性としては拘束長が「3」、符号化
率が「1/2」ということになる。Normally, in convolutional coding, the number of stages of the shift register is called a constraint length, and the ratio of the number of coded data output to one bit input is called a coding rate.
The convolutional coding characteristics are specified by these parameters. In the example shown in FIG.
Since the number of stages of the shift register 2 is "3" and 2-bit encoded data is output in response to 1-bit input, the convolutional encoding characteristic has a constraint length of "3" and an encoding rate of "1". / 2 ".
【0009】ところで畳み込み符号化において出力され
る符号化データは、現時点でシフトレジスタに格納され
ている値と、今回入力された値とによつて決まり、規則
性を持つている。例えば図13に示した例では、現時点
でシフトレジスタ2に入力されている2ビツトの値(a
2、a3)と、今回入力された1ビツトの値(a1)に
よつて符号化データ(c1、c2)の値が決まる。ここ
でシフトレジスタ2に入力されている2ビツト(a2、
a3)で決まる4つの状態(以下、ステートと呼ぶ)を
A、B、C、Dとすると、この畳み込み符号化は図14
に示すような状態遷移図によつて表現することができ
る。この場合、各ステートから次のステートへの状態遷
移の矢印上に書いてあるのは、出力される符号化データ
(c1、c2)と、そのときに入力されたデータ(a
1)である。The encoded data output in the convolutional encoding is determined by the value currently stored in the shift register and the value input this time, and has regularity. For example, in the example shown in FIG. 13, the 2-bit value (a
2, a3) and the one-bit value (a1) inputted this time determine the value of the encoded data (c1, c2). Here, the two bits (a2, a2,
Assuming that four states (hereinafter, referred to as states) determined by a3) are A, B, C, and D, this convolutional encoding is performed as shown in FIG.
This can be represented by a state transition diagram as shown in FIG. In this case, what is written on the arrow of the state transition from each state to the next state is the encoded data (c1, c2) to be output and the data (a
1).
【0010】このような状態遷移図で示した各ステート
A、B、C、Dから出る状態遷移の矢印を図15に示す
ように時間的に横方向に並べたものがトレリス線図であ
る。なお、この図15においては、実線が入力値「0」
の場合、点線が入力値「1」の場合をそれぞれ示してい
る。因みに、通常、各ステート間を結ぶ1つ1つの矢印
はブランチと呼ばれ、任意のステートに到達するまでの
ブランチ経路はパスと呼ばれる。[0010] A trellis diagram is obtained by arranging the state transition arrows from each of the states A, B, C, and D shown in the state transition diagram in the horizontal direction in time as shown in FIG. In FIG. 15, the solid line indicates the input value “0”.
, The dotted line indicates the case where the input value is “1”. Incidentally, each arrow connecting the respective states is generally called a branch, and a branch path leading to an arbitrary state is called a path.
【0011】ここでこのような畳み込み符号化が施され
た符号化データを元のデータに復元するのがビタビ復号
である。ビタビ復号は最尤復号法とも呼ばれ、受信した
符号化データ系列をトレリス線図を考えながら観測し、
当該トレリス線図上において最も近いデータ列を求める
ことにより、誤り訂正を施した正しいデータを復元する
ものである。その最も近いデータ列を求める際の尺度の
1つにメトリツクと呼ばれる確からしさの指標がある。
通常、このメトリツクにはハミング距離が用いられる。Here, Viterbi decoding restores the encoded data subjected to such convolutional encoding to the original data. Viterbi decoding is also called maximum likelihood decoding, and observes a received encoded data sequence while considering a trellis diagram,
By obtaining the closest data string on the trellis diagram, the error-corrected correct data is restored. One of the measures for finding the closest data sequence is a measure of certainty called a metric.
Usually, the Hamming distance is used for this metric.
【0012】ハミング距離はデータ間の距離を示すもの
であり、一般には受信データ系列と、トレリス線図上に
おけるブランチのデータとがどれだけ異なつているかを
示すものである。例えば受信データ系列が(1、0)の
ときには、トレリス線図上のブランチ(0、0)とは1
ビツト異なつていることからこれらのデータ間のハミン
グ距離は「1」となり、そのためブランチ(0、0)に
対するメトリツクは「1」ということになる。また受信
データ系列が(1、1)のときには、トレリス線図上の
ブランチ(0、0)とは2ビツト異なつていることから
これらのデータ間のハミング距離は「2」となり、その
ためブランチ(0、0)に対するメトリツクは「2」と
いうことになる。The Hamming distance indicates a distance between data, and generally indicates how different a received data sequence differs from data of a branch on a trellis diagram. For example, when the received data sequence is (1, 0), the branch (0, 0) on the trellis diagram is 1
Since the bits are different, the Hamming distance between these data is "1", so that the metric for branch (0, 0) is "1". Also, when the received data sequence is (1, 1), the Hamming distance between these data is "2" because it is different from the branch (0, 0) on the trellis diagram by two bits, so that the branch (0 , 0) is "2".
【0013】ビタビ復号では、受信データ系列を基に各
時刻においてブランチのメトリツク(以下、これをブラ
ンチメトリツクと呼ぶ)を求め、このブランチメトリツ
クを基に各ステートに入力される2つのパスのメトリツ
ク(以下、これをパスメトリツクと呼ぶ)をそれぞれ求
めて確からしい方のパスを選択し、最終的に生き残つた
パスの中から最尤パスを選び出してその最尤パスを逆に
辿つて行く(以下、これをトレースバツクと呼ぶ)こと
により受信データ系列に最も近いデータ系列を算出する
ものである。In Viterbi decoding, a metric of a branch (hereinafter, referred to as a branch metric) is obtained at each time based on a received data sequence, and two paths input to each state are determined based on the branch metric. For each metric (hereinafter referred to as a path metric), a more probable path is selected, a maximum likelihood path is finally selected from the surviving paths, and the maximum likelihood path is traced in reverse (hereinafter, referred to as a path metric). , This is called a traceback) to calculate the data sequence closest to the received data sequence.
【0014】ここで例として送信データ系列(1、0、
1、0、1、0、0)を伝送する場合を考える。このよ
うな送信データ系列を、図13に示した畳み込み符号化
器1のレジスタ2を最初に(0、0、0)に設定した状
態で当該レジスタ2に入力すると、符号化データc1、
c2として(11、01、00、01、00、01、11)が得られ
る。このような符号化データを無線回線を介して伝送し
たとき、伝送路において誤りが発生したため、実際に受
信した受信データ系列が(01、00、00、01、00、01、1
1)であつたとする。Here, as an example, a transmission data sequence (1, 0,
(1, 0, 1, 0, 0) is considered. When such a transmission data sequence is input to the register 2 of the convolutional encoder 1 shown in FIG. 13 with the register 2 first set to (0, 0, 0), the encoded data c1,
(11, 01, 00, 01, 00, 01, 11) is obtained as c2. When such coded data was transmitted via a wireless line, an error occurred in the transmission path, and the received data sequence actually received was (01, 00, 00, 01, 00, 01, 1).
Assume 1).
【0015】ビタビ復号においては、図16に示すよう
に、まず各ステートのパスメトリツクの初期値を均等に
「0」に設定し(図中○印内に記載されている数字がパ
スメトリツクを示す)、この状態から受信した受信デー
タ系列のデータ値と各ブランチのデータ値とのハミング
距離を求めて各ブランチメトリツクを求め、このブラン
チメトリツクと前時刻のパスメトリツクとに基づいてパ
スメトリツクを算出して確からしいパスを随時選択して
行く。例えば時刻t1において、ステートAに入力され
るブランチはステートA及びCからの2つのブランチが
ある。ステートAからのブランチのデータ値は(0、
0)であり、受信データ系列は(0、1)であることか
らこのブランチのブランチメトリツクは「1」となる。
またステートCからのブランチのデータ値は(1、1)
であることからこのブランチのブランチメトリツクも
「1」となる。この場合、ブランチメトリツクはいずれ
も「1」であるので特にパス選択は行わず、単にブラン
チメトリツク「1」をパスメトリツク「0」に加算して
得られる値「1」を次状態のステートAのパスメトリツ
クとして設定する。In the Viterbi decoding, as shown in FIG. 16, first, the initial value of the path metric of each state is uniformly set to "0" (the number indicated by a circle in the figure indicates the path metric). The Hamming distance between the data value of the received data sequence received from this state and the data value of each branch is obtained to obtain each branch metric, and the path metric is calculated based on the branch metric and the path metric at the previous time to obtain a certain metric. I choose a pass that seems to be appropriate at any time. For example, at time t1, the branches input to state A include two branches from states A and C. The data value of the branch from state A is (0,
0) and the received data sequence is (0, 1), so that the branch metric of this branch is “1”.
The data value of the branch from state C is (1, 1)
Therefore, the branch metric of this branch is also “1”. In this case, since the branch metric is all "1", no path selection is performed, and the value "1" obtained by simply adding the branch metric "1" to the path metric "0" is used as the state A of the next state. Set as a path metric.
【0016】同様に、時刻t1において、ステートBに
入力されるブランチはステートA及びCからの2つのブ
ランチがある。ステートAからのブランチのデータ値は
(1、1)であり、受信データ系列は(0、1)である
ことからこのブランチのブランチメトリツクは「1」と
なる。またステートCからのブランチのデータ値は
(0、0)であることからこのブランチのブランチメト
リツクも「1」となる。この場合、同様に、ブランチメ
トリツクはいずれも「1」であるので特にパス選択は行
わず、単にブランチメトリツク「1」をパスメトリツク
「0」に加算して得られる値「1」を次状態のステート
Bのパスメトリツクとして設定する。Similarly, at time t1, the branches input to state B include two branches from states A and C. Since the data value of the branch from state A is (1, 1) and the received data sequence is (0, 1), the branch metric of this branch is "1". Since the data value of the branch from the state C is (0, 0), the branch metric of this branch is also "1". In this case, similarly, since the branch metric is "1", no path selection is performed, and the value "1" obtained by simply adding the branch metric "1" to the path metric "0" is changed to the next state. Is set as the path metric of the state B.
【0017】同様に、時刻t1において、ステートCに
入力されるブランチはステートB及びDからの2つのブ
ランチがある。ステートBからのブランチのデータ値は
(0、1)であり、受信データ系列は(0、1)である
ことからこのブランチのブランチメトリツクは「0」と
なる。またステートDからのブランチのデータ値は
(1、0)であることからこのブランチのブランチメト
リツクは「2」となる。従つてこの場合には、ステート
Bからのパスを選択して(すなわちステートDからのパ
スは捨てる)、そのブランチメトリツク「0」をステー
トBのパスメトリツク「0」に加算して得られる値
「0」を次状態のステートCのパスメトリツクとして設
定する。Similarly, at the time t1, the branches input to the state C include two branches from the states B and D. Since the data value of the branch from state B is (0, 1) and the received data sequence is (0, 1), the branch metric of this branch is "0". Since the data value of the branch from state D is (1, 0), the branch metric of this branch is "2". Therefore, in this case, the path from the state B is selected (that is, the path from the state D is discarded), and the value obtained by adding the branch metric “0” to the path metric “0” of the state B is obtained. "0" is set as the path metric of the next state C.
【0018】同様に、時刻t1において、ステートDに
入力されるブランチはステートB及びDからの2つのブ
ランチがある。ステートBからのブランチのデータ値は
(1、0)であり、受信データ系列は(0、1)である
ことからこのブランチのブランチメトリツクは「2」と
なる。またステートDからのブランチのデータ値は
(0、1)であることからこのブランチのブランチメト
リツクは「0」となる。従つてこの場合には、ステート
Dからのパスを選択して(すなわちステートBからのパ
スは捨てる)、そのブランチメトリツク「0」をステー
トDのパスメトリツク「0」に加算して得られる値
「0」を次状態のステートDのパスメトリツクとして設
定する。Similarly, at time t1, the branches input to state D include two branches from states B and D. Since the data value of the branch from state B is (1, 0) and the received data sequence is (0, 1), the branch metric of this branch is "2". Since the data value of the branch from the state D is (0, 1), the branch metric of this branch is "0". Therefore, in this case, the path from the state D is selected (that is, the path from the state B is discarded), and the branch metric “0” is added to the path metric “0” of the state D to obtain a value “ "0" is set as the path metric of the next state D.
【0019】以下、同様にして各時刻t2〜t7におい
て、受信した受信データを基にパスメトリツクを算出し
てパス選択を行うと、図16に示すようなトレリス線図
を形成することができる。In the same manner, at times t2 to t7, when a path metric is calculated based on the received data and path selection is performed, a trellis diagram as shown in FIG. 16 can be formed.
【0020】この図16に示すように、最終的に時刻t
7では、各ステートA、B、C及びDのパスメトリツク
としてそれぞれ「1」、「3」、「3」及び「3」が得
られる。この場合、パスメトリツクが最も小さいステー
トが最尤ステートとなるので、ステートAが最尤ステー
トとなる。従つてステートAからトレースバツクして行
くと、図中太線で示されるパスによつて正しい復号デー
タ(1、0、1、0、1、0、0)が復元される(各ブ
ランチと復号データの関係は図14を参照すると分かり
やすい)。As shown in FIG. 16, at time t
In step 7, "1", "3", "3", and "3" are obtained as path metrics of the states A, B, C, and D, respectively. In this case, since the state with the smallest path metric is the maximum likelihood state, the state A is the maximum likelihood state. Accordingly, when the trace back is performed from the state A, the correct decoded data (1, 0, 1, 0, 1, 0, 0) is restored by the path indicated by the thick line in the figure (each branch and the decoded data). Is easy to understand with reference to FIG. 14).
【0021】なお、以上説明してきたビタビアルゴリズ
ムのうち、パスメトリツクの算出によるパス選択処理及
びブランチメトリツクの加算によるパスメトリツクの算
出処理は、通常、ACS(Add Compare Select)演算と
呼ばれ、専用のACS演算回路によつて実現されるよう
になされている。また図16に示したようなトレリス線
図は、ACS演算によつてパスメトリツクを算出する度
にパスメモリと呼ばれるメモリに当該パスメトリツク及
び生き残りパスを書き込んで行くことにより形成され
る。In the Viterbi algorithm described above, the path selection process by calculating the path metric and the path metric calculation process by adding the branch metric are usually called ACS (Add Compare Select) operation, and are exclusive ACS operations. It is realized by an arithmetic circuit. A trellis diagram as shown in FIG. 16 is formed by writing the path metric and the surviving path in a memory called a path memory every time the path metric is calculated by the ACS operation.
【0022】[0022]
【発明が解決しようとする課題】ところでセルラー無線
通信システムにおいては、通常、フレームと呼ばれる所
定データ単位毎に送信データが送信されることから、畳
み込み符号化処理自体もそのフレーム単位で行われ、フ
レーム内で完結するように処理される。このようにフレ
ーム単位で完結するように畳み込み符号化された符号化
データを上述したようなビタビアルゴリズムを用いて復
号する場合には、パスメモリのメモリ長が重要な要素と
なる。なぜならビタビ復号の場合には、トレースバツク
の距離が長ければ長いほど(すなわちパスメモリのメモ
リ長が長いほど)、復号精度を向上し得るといつた特徴
があるからである。しかしながら現実的には符号化デー
タのデータ長よりもメモリ長が長いパスメモリを用いる
ことは、受信装置を小型化する上で妨げとなるので、通
常は、畳み込み符号化の拘束長の5〜6倍程度の長さの
パスメモリを用いるようになされている。In a cellular radio communication system, transmission data is usually transmitted for each predetermined data unit called a frame. Therefore, the convolutional coding process itself is also performed for each frame. It is processed to be completed within. When decoding coded data that has been convolutionally coded to be completed in units of frames using the above-described Viterbi algorithm, the memory length of the path memory is an important factor. This is because in the case of Viterbi decoding, the longer the distance of the trace back (that is, the longer the length of the path memory) is, the more the decoding accuracy can be improved. However, in practice, the use of a path memory having a memory length longer than the data length of encoded data hinders downsizing of a receiving apparatus. Therefore, usually, the constraint length of convolutional encoding is 5 to 6 times. A path memory about twice as long is used.
【0023】このように符号化データのデータ長に対し
てメモリ長が短いパスメモリを用いてビタビ復号するビ
タビ復号器では、図17に示すように、通常、パスメモ
リのメモリ長分だけACS演算することによつて当該パ
スメモリにパス情報(パスメトリツク及び選択されたパ
スからなる)が満状態に蓄積されると、そのパスメモリ
にある最後のステートのうち最尤ステートを起点として
トレースバツクをメモリの長さ分だけ行つて最初の送信
データD1 を復号し、当該送信データD1 が復号し得る
と、FIFO(First-In First-Out)メモリのように一
番最初に入力されたパス情報を廃棄する。次にACS演
算を1回行うと、その演算によつて得られたパス情報を
パスメモリに入力し、最後のステートのうち最尤ステー
トを起点としてトレースバツクをパスメモリ長分行つて
2番目の送信データD2 を復号する。以下、同様な処理
を繰り返して行き、パスメモリに新たなパス情報が入力
される度にパスメモリ長分のトレースバツクを行つて送
信データを復号するようになされている。なお、受信デ
ータが無くなつた後は、受信データ「00」を受信した
ものとしてパス情報を算出して同様にパスメモリ長分だ
けトレースバツクを行つて送信データを復号するように
なされている。As shown in FIG. 17, in a Viterbi decoder for performing Viterbi decoding using a path memory having a memory length shorter than the data length of encoded data, as shown in FIG. When the path information (comprising the path metrics and the selected path) is fully stored in the path memory, the traceback is stored in the path memory starting from the most likely state among the last states in the path memory. , And decodes the first transmission data D 1 , and when the transmission data D 1 can be decoded, the path information input first as in a FIFO (First-In First-Out) memory Discard. Next, when the ACS operation is performed once, the path information obtained by the operation is input to the path memory, and the second transmission is performed by tracing the trace back for the path memory length starting from the maximum likelihood state among the last states. It decodes the data D 2. Hereinafter, the same processing is repeated, and every time new path information is input to the path memory, a traceback corresponding to the path memory length is performed to decode the transmission data. After the reception data is exhausted, the path information is calculated assuming that the reception data "00" has been received, and the transmission data is similarly decoded by performing a trace back for the path memory length.
【0024】このようにして従来のビタビ復号器では、
パスメモリのメモリ長が符号化データのデータ長よりも
短い場合には、最後の送信データDn が復号できるまで
毎回ACS演算を行うと共に、パスメモリのメモリ長分
だけトレースバツクを行うことにより必要な復号精度を
確保するようになされている。しかしながら従来のビタ
ビ復号器では、毎回ACS演算を行うと共にパスメモリ
のメモリ長分だけトレースバツクを行わなければならな
いため処理が複雑になり、その分処理に要する時間が多
くなつて高速に受信データの復号処理を行えないといつ
た問題がある。Thus, in the conventional Viterbi decoder,
When the memory length of the path memory is shorter than the data length of the coded data, each time until the end of the transmission data D n can decrypt performs ACS calculation necessary by performing Toresubatsuku only memory length portion of the path memory It is designed to ensure a high decoding accuracy. However, in the conventional Viterbi decoder, the ACS operation must be performed every time, and the traceback must be performed for the length of the path memory. Therefore, the processing becomes complicated, and the time required for the processing is increased, and the received data is rapidly processed. There is a problem that the decoding process cannot be performed.
【0025】本発明は以上の点を考慮してなされたもの
で、従来に比して復号精度を向上し得ると共に復号処理
を高速化し得るビタビ復号装置及びビタビ復号方法を提
案しようとするものである。The present invention has been made in view of the above points, and is intended to propose a Viterbi decoding device and a Viterbi decoding method capable of improving the decoding accuracy and speeding up the decoding process as compared with the prior art. is there.
【0026】[0026]
【課題を解決するための手段】かかる課題を解決するた
め本発明においては、所定長のデータ列の末尾に畳み込
み符号器の拘束長をkとして(k−1)ビツトの所定値
からなるテールビツトを付加し、当該テールビツトが付
加されたデータ列を畳み込み符号器のシフトレジスタの
各レジスタの初期値を所定値に設定して当該畳み込み符
号器を用いて畳み込み符号化することにより生成された
シンボル列を受信して、当該シンボル列からデータ列を
復号するようなとき、各レジスタの初期値に基づいて重
み付けしたパスメトリツク値を各ステートの初期パスメ
トリツク値として設定し、当該初期パスメトリツク値を
基準にしてシンボル列を受信する毎に順次各ステートの
パスメトリツク値を演算して生き残りパスをパスメモリ
に記憶して行き、当該パスメトリクツク演算がシンボル
列における最後の演算に達する前まではパスメトリツク
値に基づいて決定される最尤ステートを起点ステートと
してパスメモリ長分だけトレースバツクを行う毎にデー
タ列を1ビツトずつ復号し、パスメトリツク演算がシン
ボル列における最後の演算に達したときにはテールビツ
トの値によつて決まる固定ステートを起点ステートとし
て1ステツプトレースバツクする毎にデータ列を1ビツ
トずつ復号するようにする。According to the present invention, a tail bit consisting of a predetermined value of (k-1) bits is set at the end of a data string of a predetermined length, where k is the constraint length of the convolutional encoder. The data string to which the tail bit has been added is converted to a symbol string generated by setting the initial value of each register of the shift register of the convolutional encoder to a predetermined value and performing convolutional encoding using the convolutional encoder. When receiving and decoding a data sequence from the symbol sequence, a path metric value weighted based on the initial value of each register is set as an initial path metric value of each state, and the symbol sequence is set based on the initial path metric value. Each time a path metric is received, the path metric value of each state is calculated sequentially, and the surviving paths are stored in the path memory. Until the path metric operation reaches the last operation in the symbol sequence, the data sequence is decoded one bit each time trace back is performed by the path memory length with the maximum likelihood state determined based on the path metric value as a starting state, When the path metric operation reaches the last operation in the symbol sequence, the data sequence is decoded one bit each time one step traceback is performed with the fixed state determined by the value of the tail bit as the starting state.
【0027】このようにして各ステートの初期パスメト
リツク値を畳み込み符号器の初期値に基づいて重み付け
した値に設定すると共に、パスメトリツク演算が最後の
演算に達したときにはテールビツトの値によつて決まる
固定ステートを起点ステートとして1ステツプトレース
バツクする毎にデータ列を1ビツトずつ復号するように
したことにより、パスメトリツクを正確に演算し得ると
共に、トレースバツク回数を減らすことができる。In this way, the initial path metric value of each state is set to a value weighted based on the initial value of the convolutional encoder, and when the path metric operation reaches the last operation, the fixed state determined by the value of the tail bit is obtained. , The data string is decoded one bit at a time every time one step traceback is performed, whereby the path metric can be accurately calculated and the number of tracebacks can be reduced.
【0028】[0028]
【発明の実施の形態】以下図面について、本発明の一実
施の形態を詳述する。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below in detail with reference to the drawings.
【0029】図1において、10は全体として本発明を
適用した例えばCDMA方式のセルラー無線通信システ
ムの通信端末装置を示し、基地局(図示せず)と無線回
線を接続することにより、当該基地局を介して例えばこ
の通信端末装置10と同様の構成を有する別の通信端末
装置と音声信号の送受信を行い得るようになされてい
る。この通信端末装置10では、通話時、マイクロフオ
ン(マイク)11によつて集音されたユーザの音声が音
声信号S10に変換されて送受話器12に送出され、当
該音声信号S10が送受話器12によつてインターフエ
イス変換されて音声コーデツク13に送出されるように
なされている。In FIG. 1, reference numeral 10 denotes a communication terminal device of a cellular radio communication system of, for example, a CDMA system to which the present invention is applied. For example, voice signals can be transmitted / received to / from another communication terminal device having the same configuration as that of the communication terminal device 10 via the communication terminal device. In the communication terminal device 10, during a call, the user's voice collected by the microphone 11 is converted into a voice signal S 10 and transmitted to the handset 12, and the voice signal S 10 is transmitted to the handset 12. Accordingly, the data is interface-converted and sent to the audio codec 13.
【0030】音声コーデツク13は、伝送速度9600〔bp
s 〕に応じたデータレートで音声信号S10をデイジタ
ル化し、その結果得られる音声データD1をチヤネルコ
ーデツク14を構成するチヤネルエンコーダ15に送出
する。The voice codec 13 has a transmission speed of 9600 [bp]
[s]], and digitizes the audio signal S10 at a data rate corresponding to the data rate, and sends the resulting audio data D1 to the channel encoder 15 constituting the channel codec 14.
【0031】チヤネルエンコーダ15は、コントローラ
16から送出される制御データD2に基づいて、音声デ
ータD2に畳み込み符号化処理を行い、その結果得られ
る符号化データにインターリーブ処理を施した後、当該
符号化データの一部をコントローラ16から受けた別の
制御情報データ(例えば送信電力を示す制御情報データ
等)D3に置換し、かくして得られた送信シンボルD4
を送信機17に送出する。The channel encoder 15 performs a convolutional encoding process on the audio data D2 based on the control data D2 sent from the controller 16, performs an interleave process on the encoded data obtained as a result, and then performs the encoding process. A part of the data is replaced with another control information data D3 (for example, control information data indicating transmission power or the like) received from the controller 16, and the transmission symbol D4 thus obtained is replaced.
To the transmitter 17.
【0032】送信機17は、シンセサイザ18からキヤ
リア信号S11を受け、このキヤリア信号S11に基づ
いて送信シンボルD4に所定の変調処理を施して送信信
号を生成すると共に、その送信信号に送信帯域への周波
数変換を施すことにより送信信号S12を生成し、これ
を送受共用器19を介してアンテナ20に出力する。こ
れによりアンテナ20を介して送信信号S12が基地局
(図示せず)に向けて伝送される。The transmitter 17 receives the carrier signal S11 from the synthesizer 18, performs a predetermined modulation process on the transmission symbol D4 based on the carrier signal S11, generates a transmission signal, and converts the transmission signal into a transmission band. By performing frequency conversion, a transmission signal S12 is generated and output to the antenna 20 via the duplexer 19. Thereby, the transmission signal S12 is transmitted to the base station (not shown) via the antenna 20.
【0033】一方、基地局より送信された信号はアンテ
ナ20によつて受信され、受信信号S13として送受共
用器19を介して受信機21に入力される。なお、この
受信信号S13は送信時に通信端末装置10の送信処理
と同じような処理が施されることにより当該通信端末装
置10が送信する送信信号S12と同様のフオーマツト
を有している。受信機21は、シンセサイザ18からキ
ヤリア信号S14を受け、このキヤリア信号S14に基
づいて受信信号S13に周波数変換処理を施すことによ
りベースバンド信号を取り出すと共に、そのベースバン
ド信号に所定の復調処理を施すことによりデイジタルの
受信シンボルD6を取り出す。因みに、置換処理により
受信シンボルD6に含まれている制御情報データD7は
ここで分離され、コントローラD7に送出される。On the other hand, the signal transmitted from the base station is received by the antenna 20 and input to the receiver 21 via the duplexer 19 as the received signal S13. The reception signal S13 has the same format as the transmission signal S12 transmitted by the communication terminal device 10 by performing the same process as the transmission process of the communication terminal device 10 at the time of transmission. The receiver 21 receives the carrier signal S14 from the synthesizer 18, performs a frequency conversion process on the received signal S13 based on the carrier signal S14, extracts a baseband signal, and performs a predetermined demodulation process on the baseband signal. Thus, the digital reception symbol D6 is extracted. Incidentally, the control information data D7 included in the received symbol D6 is separated here by the replacement processing and sent to the controller D7.
【0034】チヤネルコーデツク14のチヤネルデコー
ダ22は、コントローラ16から出力される制御データ
D8に基づいて、まず受信シンボルD6のうち制御情報
データD7が抜き取られた部分に情報消失処理を施した
後、その受信シンボルD6にデインターリーブ処理を施
し、続いてその受信シンボルD6にビタビ復号処理を施
すことにより基地局を介して送られてくる音声データD
9を復元する。The channel decoder 22 of the channel code 14 first performs an information erasure process on a portion of the received symbol D6 from which the control information data D7 is extracted, based on the control data D8 output from the controller 16, The received symbol D6 is subjected to a deinterleave process, and subsequently the received symbol D6 is subjected to a Viterbi decoding process, whereby the audio data D transmitted through the base station is transmitted.
9 is restored.
【0035】音声コーデツク13は、チヤネルデコーダ
22から出力される音声データD9をアナログの音声信
号S15に変換し、これを送受話器12を介してスピー
カ23に出力する。これにより通話相手の通信端末装置
から送信された音声がスピーカ23から出力され、通話
相手との音声通話が確立される。The audio codec 13 converts the audio data D9 output from the channel decoder 22 into an analog audio signal S15, and outputs this to the speaker 23 via the handset 12. Thereby, the voice transmitted from the communication terminal device of the communication partner is output from the speaker 23, and the voice communication with the communication partner is established.
【0036】因みに、コントローラ16は、発呼時等に
通信制御データD5を生成してこれをチヤネルエンコー
ダ15及び送信機17を介して送信すると共に、基地局
から送信される通信制御データD10をチヤネルデコー
ダ22を介して受けて、これらの通信制御データD5及
びD10に基づいて呼の設定、解除及び維持を実行する
と共に、キー/デイスプレイ24のI/O制御を実行す
るようになされている。またこれに加えてコントローラ
16は、キヤリア信号S11及びS14を発生するシン
セサイザ18を制御して送信及び受信の周波数帯域を制
御するようになされている。さらにコントローラ16
は、制御情報データD7に基づいて、送信時、送信信号
S12の送信電力を制御するようになされている。Incidentally, the controller 16 generates communication control data D5 at the time of call origination and the like, transmits it via the channel encoder 15 and the transmitter 17, and transmits the communication control data D10 transmitted from the base station to the channel. The data is received via the decoder 22, and based on the communication control data D5 and D10, the call is set, released, and maintained, and the I / O control of the key / display 24 is executed. In addition, the controller 16 controls the synthesizer 18 that generates the carrier signals S11 and S14 to control the transmission and reception frequency bands. Further, the controller 16
Is adapted to control the transmission power of the transmission signal S12 during transmission based on the control information data D7.
【0037】ここで図1との対応部分に同一符号を付し
た図2を用いて、チヤネルコーデツク14を構成するチ
ヤネルエンコーダ15及びチヤネルデコーダ22につい
て具体的に説明する。Here, the channel encoder 15 and the channel decoder 22 constituting the channel code 14 will be specifically described with reference to FIG.
【0038】まず音声コーデツク13から出力された音
声データD1はチヤネルエンコーダ15のCRCジエネ
レータ30に入力される。CRCジエネレータ30は、
コントローラ16からの制御に基づいて、まずフレーム
単位で送られてくる所定ビツトの音声データD1に所定
ビツトのCRC符号を付加して送信データD20を生成
し、これを畳み込み符号器31に出力する。畳み込み符
号器31は、コントローラ16からの制御に基づいて、
フレーム単位で送られてくる所定ビツトの送信データD
20の末尾に拘束長k−1ビツトのテールビツトを付加
した後、当該送信データD20に畳み込み演算を施すこ
とにより畳み込み符号化データでなる送信シンボルD2
1を生成し、これをインタリーバ32に出力する。First, the audio data D1 output from the audio codec 13 is input to the CRC generator 30 of the channel encoder 15. CRC generator 30
Based on the control from the controller 16, first, a predetermined bit CRC code is added to the predetermined bit audio data D 1 transmitted in frame units to generate transmission data D 20, which is output to the convolutional encoder 31. The convolutional encoder 31 performs control based on the control from the controller 16.
Transmission data D of a predetermined bit transmitted in frame units
After a tail bit having a constraint length of k-1 bits is added to the end of the transmission symbol D20, the transmission data D20 is subjected to a convolution operation to obtain a transmission symbol D2 composed of convolutionally encoded data.
1 is generated and output to the interleaver 32.
【0039】インタリーバ32は内部にメモリを有して
おり、コントローラ16からの制御に基づいて、送信シ
ンボルD21を所定の順序でそのメモリに格納すると共
に、書込み時とは異なる順序でその送信シンボルD21
をメモリから読み出すことにより順番が並び換えられた
送信シンボルD22を生成し、これを置換処理回路33
に出力する。置換処理回路33は、コントローラ16か
らの制御に基づいて、送信シンボルD22の所定ビツト
を別の制御情報データに置換し、その結果得られる送信
シンボルD4を送信機17に送出する。The interleaver 32 has a memory therein, stores the transmission symbols D21 in the memory in a predetermined order under the control of the controller 16, and stores the transmission symbols D21 in a different order from the writing order.
Is read from the memory to generate a transmission symbol D22 whose order is rearranged, and
Output to The replacement processing circuit 33 replaces a predetermined bit of the transmission symbol D22 with another control information data under the control of the controller 16, and sends the transmission symbol D4 obtained as a result to the transmitter 17.
【0040】一方、受信機21より出力される受信シン
ボルD6はまずチヤネルデコーダ22の消失処理回路3
5に入力される。消失処理回路35は、コントローラ1
6からの制御に基づいて、受信機21による制御情報デ
ータD7の抽出処理によつて消失したデータ部分をデー
タ消失部分であることを示す消失データに置換し、その
結果得られる受信シンボルD25をデインタリーバ36
に出力する。デインタリーバ36は内部にメモリを有し
ており、コントローラ16からの制御に基づいて、受信
シンボルD25を所定の順序でそのメモリに格納すると
共に、書込み時とは異なる順序でその受信シンボルD2
5を読み出すことにより送信側で行われたデータの並び
換えを元に戻し、その結果得られる受信シンボルD26
をビタビ復号器37に出力する。On the other hand, the received symbol D6 output from the receiver 21 is first sent to the erasure processing circuit 3 of the channel decoder 22.
5 is input. The erasure processing circuit 35 includes the controller 1
6, the data part lost by the extraction processing of the control information data D7 by the receiver 21 is replaced with the lost data indicating the data lost part, and the resulting received symbol D25 is decoded. Interleaver 36
Output to The deinterleaver 36 has a memory therein, and stores the received symbols D25 in the memory in a predetermined order based on the control from the controller 16 and also stores the received symbols D2 in a different order from the writing order.
5 is read out, the rearrangement of the data performed on the transmission side is restored, and the resulting received symbol D26
To the Viterbi decoder 37.
【0041】ビタビ復号器37はビタビアルゴリズムを
使用して受信シンボルD26から音声データを復号する
ものであり、コントローラ16からの制御に基づいて、
受信シンボルD26にビタビ復号処理を施すことにより
基地局を介して送られてくる音声データD27を復号
し、これを誤り検出器38に出力する。誤り検出器38
は、コントローラ16からの制御に基づいて、音声デー
タD27に付加されているCRC符号を取り出し、この
CRC符号に基づいて音声データD27の誤りを検出
し、誤りがあればその旨をコントローラ16を介して音
声コーデツク13に通知する。また誤り検出器38は、
CRC符号の取り出しによつて残つた音声データを音声
データD9として音声コーデツク13に出力する。The Viterbi decoder 37 decodes the audio data from the received symbol D26 using the Viterbi algorithm, and under the control of the controller 16,
By subjecting the received symbol D26 to Viterbi decoding, audio data D27 sent via the base station is decoded, and this is output to the error detector 38. Error detector 38
Extracts the CRC code added to the audio data D27 under the control of the controller 16, detects an error in the audio data D27 based on the CRC code, and notifies the controller 16 of the error, if any, through the controller 16. To the voice codec 13. The error detector 38
The voice data remaining after extracting the CRC code is output to the voice codec 13 as voice data D9.
【0042】ここでチヤネルエンコーダ15及びチヤネ
ルデコーダ22におけるデータ処理量について図3〜図
5を用いて具体的に説明する。この通信端末装置10で
は、周期20〔ms〕の時間間隔すなわちフレームを形成
し、当該フレーム単位で各データ処理を行うようになさ
れており、これによつて最終的に9600〔bps 〕でデータ
伝送を行うようになされている。Here, the data processing amount in the channel encoder 15 and the channel decoder 22 will be specifically described with reference to FIGS. In this communication terminal device 10, a time interval of a period of 20 [ms], that is, a frame is formed, and each data processing is performed in the frame unit, whereby data transmission is finally performed at 9600 [bps]. Has been made to do.
【0043】図3及び図4に示すように、音声コーデツ
ク13からは1フレーム毎に172 ビツトの音声データD
1が出力されるようになされており、CRCジエネレー
タ30はこのフレーム当たり172 ビツトの音声データD
1に、次式、As shown in FIGS. 3 and 4, the audio codec 13 outputs 172 bits of audio data D per frame.
The CRC generator 30 outputs 172 bits of audio data D per frame.
1, the following equation:
【0044】[0044]
【数1】 (Equation 1)
【0045】に示すような生成多項式によつて生成した
12ビツトのCRC符号を付加して、1フレーム当たり18
4 ビツトの送信データD20を生成し、これを畳み込み
符号器31に出力する。Generated by a generator polynomial as shown in
By adding a 12-bit CRC code, 18
The 4-bit transmission data D20 is generated and output to the convolutional encoder 31.
【0046】畳み込み符号器31は、まずフレーム当た
り184 ビツトの送信データD20の末尾に値「0」から
なる8ビツトのテールビツトを付加してフレーム当たり
192ビツトの送信データを生成し、この送信データに拘
束長k=9、符号化率R=1/2の畳み込み演算を行う
ことによりフレーム当たり384 シンボルの送信シンボル
D21を生成する。The convolutional encoder 31 first adds an 8-bit tail bit having a value "0" to the end of the 184-bit transmission data D20 per frame,
The transmission data of 192 bits is generated, and a convolution operation of a constraint length k = 9 and a coding rate R = 1/2 is performed on the transmission data to generate a transmission symbol D21 of 384 symbols per frame.
【0047】インタリーバ32は、このフレーム当たり
384 シンボルの送信シンボルD21をフレーム内で完結
するように並び換え、その結果得られるフレーム当たり
384シンボルの送信シンボルD22を置換処理回路33
に出力する。置換処理回路33は、このフレーム当たり
384 シンボルの送信シンボルD22を12シンボルにつき
1シンボルの割合で別の制御情報データD3に置換し、
その結果得られるフレーム当たり384 シンボルの送信シ
ンボルD4を送信機17に出力する。この場合、1フレ
ーム(20〔ms〕)につきCRC符号及びテールビツトを
合わせた192 ビツトの情報ビツトが送信されることか
ら、9600(=192 ×1/0.02)〔bps 〕の伝送速度が実
現されることになる。[0047] The interleaver 32
The transmission symbols D21 of 384 symbols are rearranged so as to be completed within a frame, and the resulting frame
The replacement processing circuit 33 replaces the transmission symbol D22 of 384 symbols.
Output to The replacement processing circuit 33
384 symbols of transmission symbol D22 are replaced with another control information data D3 at a rate of one symbol for every 12 symbols,
The resultant transmission symbol D4 of 384 symbols per frame is output to the transmitter 17. In this case, since 192 bits of information including the CRC code and the tail bit are transmitted per frame (20 [ms]), a transmission speed of 9600 (= 192 × 1 / 0.02) [bps] is realized. Will be.
【0048】一方、図5に示すように、受信機21から
は1フレーム毎に384 シンボルの受信シンボルD6が出
力されるようになされており、消失処理回路35はこの
フレーム当たり384 シンボルの受信シンボルD6のうち
受信機21の抽出処理によつて消失した32シンボルを別
の消失データに置換し、その結果得られるフレーム当た
り384 シンボルの受信シンボルD25をデインタリーバ
36に出力する。なお、この場合、受信機21から出力
される受信シンボルD6は、1シンボルが4ビツトから
なる16値の軟判定データによつて形成されている。On the other hand, as shown in FIG. 5, the receiver 21 outputs 384 received symbols D6 for each frame, and the erasure processing circuit 35 outputs the 384 received symbols for each frame. Of the D6, 32 symbols lost due to the extraction processing of the receiver 21 are replaced with other lost data, and the resulting 384 received symbols D25 per frame are output to the deinterleaver 36. In this case, the received symbol D6 output from the receiver 21 is formed by 16-value soft decision data in which one symbol consists of 4 bits.
【0049】デインタリーバ36は、このフレーム当た
り384 シンボルの受信シンボルD25をフレーム内で完
結するように並び換えて元の並び順に戻し、その結果得
られるフレーム当たり384 シンボルの受信シンボルD2
6をビタビ復号器37に出力する。ビタビ復号器37
は、このフレーム当たり384 シンボルの受信シンボルD
26に対してビタビアルゴリズムを使用して拘束長k=
9、符号化率R=1/2の最尤復号を行い、その結果得
られるフレーム当たり184 ビツトの音声データD27を
誤り検出器38に出力する。なお、この場合、送信時に
付加された8ビツトのテールビツトは出力されない。誤
り検出器38は、このフレーム当たり184ビツトの音声
データD27から12ビツトのCRC符号を取り出して誤
り検出を行い、その結果得られるフレーム当たり172 ビ
ツトの音声データD9を音声コーデツク13に出力す
る。The deinterleaver 36 rearranges the received symbols D25 of 384 symbols per frame so as to be completed within the frame and returns to the original order, and obtains the resulting received symbols D2 of 384 symbols per frame.
6 to the Viterbi decoder 37. Viterbi decoder 37
Is the received symbol D of 384 symbols per frame
26 using the Viterbi algorithm for the constraint length k =
9. Perform maximum likelihood decoding at an encoding rate of R = 1/2, and output the resulting 184-bit audio data D27 per frame to the error detector 38. In this case, the 8-bit tail bit added at the time of transmission is not output. The error detector 38 extracts a 12-bit CRC code from the 184-bit audio data D27 per frame, performs error detection, and outputs the resulting 172-bit audio data D9 per frame to the audio codec 13.
【0050】ここで上述したチヤネルエンコーダ15に
設けられる畳み込み符号器31を図6に示す。この図6
に示すように、畳み込み符号器31は、レジスタの段数
が8段からなるシフトレジスタ31Aと、当該シフトレ
ジスタの所定段の値を排他的論理和演算する第1及び第
2のエクスクルーシブオア回路31B、31Cとによつ
て構成される。この場合、第1のエクスクルーシブオア
回路31Bは、第1のレジスタに入力される値と、第
2、第3、第4及び第8のレジスタの出力値とを排他的
論理和演算することにより第1の符号化データc1を出
力し、第2のエクスクルーシブオア回路31Cは、第1
のレジスタに入力される値と、第1、第2、第3、第
5、第7及び第8のレジスタの出力値とを排他的論理和
演算することにより第2の符号化データc2を出力する
ようになされている。かくして畳み込み符号器31は送
信データD20が1ビツト入力される毎にこの符号化デ
ータc1、c2を出力することにより送信シンボルD2
1を生成するようになされている。FIG. 6 shows the convolutional encoder 31 provided in the channel encoder 15 described above. This figure 6
As shown in (1), the convolutional encoder 31 includes a shift register 31A having eight stages of registers, and first and second exclusive OR circuits 31B for performing an exclusive OR operation on the value of a predetermined stage of the shift register. 31C. In this case, the first exclusive OR circuit 31B performs an exclusive OR operation on the value input to the first register and the output values of the second, third, fourth, and eighth registers. 1 coded data c1 and the second exclusive OR circuit 31C outputs the first
Output the second coded data c2 by performing an exclusive OR operation on the value input to the first register and the output value of the first, second, third, fifth, seventh and eighth registers. It has been made to be. Thus, the convolutional coder 31 outputs the coded data c1 and c2 every time one bit of the transmission data D20 is input, thereby transmitting the transmission symbol D2.
1 is generated.
【0051】因みに、この場合、シフトレジスタ31A
の段数は8段であるが入力段の値も使用していることか
ら拘束長kとしては「9」になつている。また送信デー
タD20が1ビツト入力される毎に2ビツトの送信シン
ボルD21が出力されることから符号化率Rとしては
「1/2」となつている。Incidentally, in this case, the shift register 31A
Is eight, but the constraint length k is "9" because the value of the input stage is also used. Further, since the transmission symbol D21 of two bits is output each time one bit of the transmission data D20 is input, the coding rate R is "1/2".
【0052】なお、この畳み込み符号器31では、各フ
レームの最初にシフトレジスタ31Aをリセツトするこ
とにより、当該シフトレジスタ31の各レジスタの初期
値を「0」に設定して畳み込み演算を開始するようにな
されている。また1フレーム分である184 ビツトの送信
データD20が入力し終えると、テールビツトとして拘
束長k−1ビツトすなわち8個の「0」を入力するよう
になされており、これによりフレーム当たり384 シンボ
ルの送信シンボルD21を生成するようになされてい
る。In the convolutional encoder 31, by resetting the shift register 31A at the beginning of each frame, the initial value of each register of the shift register 31 is set to "0" to start the convolution operation. Has been made. When the transmission data D20 of 184 bits corresponding to one frame has been input, the constraint length k-1 bits, that is, eight "0" s are input as tail bits, thereby transmitting 384 symbols per frame. The symbol D21 is generated.
【0053】続いて本発明を適用したビタビ復号器37
の構成及びそのビタビアルゴリズムについて具体的に説
明する。上述したように受信機21からは1シンボルが
4ビツトで表される16値軟判定データの受信シンボルD
6が出力される。この16値軟判定データは、図7に示す
ように、最上位ビツト(bit3)によつてそのシンボルの
極性(すなわちそのシンボルが示すデータ値が「0」で
あるか「1」であるか)を示し、下位3ビツト(bit2〜
bit0)によつてその極性の信頼性を示すようになされて
いる。なお、極性が「0」の場合には、下位3ビツトが
「111 」であるとき最も信頼性が高く、当該下位3ビツ
トが「000 」であるとき最も信頼性が低いことを示すよ
うになされている。また極性が「1」の場合には、下位
3ビツトが「000 」であるとき最も信頼性が高く、当該
下位3ビツトが「111 」であるとき最も信頼性が低いこ
とを示すようになされている。Subsequently, the Viterbi decoder 37 to which the present invention is applied
And its Viterbi algorithm will be specifically described. As described above, the receiver 21 receives the symbol D of the 16-value soft decision data in which one symbol is represented by 4 bits.
6 is output. As shown in FIG. 7, the 16-value soft decision data has the polarity of the symbol (that is, whether the data value indicated by the symbol is "0" or "1") according to the most significant bit (bit 3). Indicates the lower 3 bits (bit 2 to
Bit 0) indicates the reliability of the polarity. When the polarity is "0", the lower three bits are "111", indicating the highest reliability, and when the lower three bits are "000", the lowest reliability is indicated. ing. When the polarity is "1", the lower three bits of "000" indicate the highest reliability, and the lower three bits of "111" indicate the lowest reliability. I have.
【0054】因みに、この図7の最も左側に示されてい
るメトリツクBM0及びBM1は、それぞれそのシンボ
ルが極性「0」である確からしさ及び極性「1」である
確からしさを示している。この場合、メトリツクBM0
及びBM1は値「0」を最尤として16段階によつて表
現されるようになされている。従つて、例えば「0111」
でなるシンボルは極性が「0」である信頼性が最も高い
ことから、メトリツクBM0及びBM1はそれぞれ
「0」及び「F」で表現され、例えば「1000」でなるシ
ンボルは極性が「1」である信頼性が最も高いことか
ら、メトリツクBM0及びBM1はそれぞれ「F」及び
「0」によつて表現されることになる。Incidentally, the metrics BM0 and BM1 shown on the leftmost side of FIG. 7 indicate the probability that the symbol has the polarity "0" and the probability that the symbol has the polarity "1", respectively. In this case, the metric BM0
, And BM1 are represented in 16 steps with the value "0" being the maximum likelihood. Therefore, for example, "0111"
Is the highest reliability with polarity "0", the metrics BM0 and BM1 are represented by "0" and "F", respectively. For example, the symbol "1000" has polarity "1". Since some reliability is highest, the metrics BM0 and BM1 are represented by "F" and "0", respectively.
【0055】このような16値軟判定データからなる受信
シンボルD6は、消失処理回路35に入力され、ここで
消失処理がなされる。この場合、消失処理回路35は、
受信機21の制御情報データ抽出処理によつてデータが
消失した部分を示すため、その部分のデータを「0000」
からなる消失データに置換するようになされている。The received symbol D6 comprising such 16-value soft decision data is input to the erasure processing circuit 35, where erasure processing is performed. In this case, the erasure processing circuit 35
In order to indicate a part where data has been lost due to the control information data extraction processing of the receiver 21, the data of that part is set to "0000".
Is replaced with the lost data.
【0056】このため消失処理回路35から出力される
受信シンボルD25は、図8に示すように、意味合いと
して14値軟判定データとなる。すなわちこの場合、本
来、極性が「0」で最も信頼性が低いシンボルを表す
「0000」を消失データに割り当てたことに伴つて、極性
が「1」で最も信頼性が高いシンボルを表す「1000」が
使用できなくなり、その結果、残つた14通りの値で極性
「0」及び「1」を表現しなければならない。従つて、
消失処理回路35から出力される受信シンボルD25
は、最上位ビツト(bit3)によつて極性「0」を表現し
たとき、下位3ビツト(bit2〜bit0)が「111 」のとき
最も信頼性が高くなり、下位3ビツトが「001」のとき
最も信頼性が低くなると共に、最上位ビツトによつて極
性「1」を表現したときには、下位3ビツトが「001 」
のとき最も信頼性が高くなり、下位3ビツトが「111 」
のとき最も信頼性が低くなるように、当該消失処理回路
35において変換されるようになされている。Therefore, the received symbol D25 output from the erasure processing circuit 35 becomes 14-value soft decision data as a meaning as shown in FIG. That is, in this case, originally, “0000” representing a symbol having the lowest reliability with the polarity “0” is assigned to the lost data, and “1000” representing the symbol having the highest reliability with the polarity “1” is assigned. Cannot be used. As a result, the remaining 14 values must represent the polarities “0” and “1”. Therefore,
Received symbol D25 output from erasure processing circuit 35
When the polarity “0” is expressed by the most significant bit (bit 3), the reliability is highest when the lower 3 bits (bit 2 to bit 0) are “111”, and when the lower 3 bits are “001”. In addition to the lowest reliability, when the polarity “1” is expressed by the most significant bit, the lower three bits are “001”.
, The reliability is highest, and the lower 3 bits are “111”.
In such a case, the conversion is performed in the erasure processing circuit 35 so that the reliability becomes lowest.
【0057】なお、当然のことながら、この場合には、
メトリツクBM0及びBM1も14段階で表現され、値
「0」が最も確からしさが高く、値「D」が最も確から
しさが低いことを示すようになる。因みに、情報消失デ
ータの場合には、他のデータと区別する意味合いでメト
リツクBM0及びBM1は共に値「0」に設定される。It should be noted that, in this case,
The metrics BM0 and BM1 are also expressed in 14 levels, with the value "0" indicating the highest probability and the value "D" indicating the lowest probability. By the way, in the case of the information lost data, the metrics BM0 and BM1 are both set to the value "0" in the sense of being distinguished from other data.
【0058】かくしてこのように14値軟判定データから
なる受信シンボルD25はデインタリーバ36を通つた
後、受信シンボルD26としてビタビ復号器37に入力
される。Thus, the received symbol D25 composed of the 14-value soft decision data passes through the deinterleaver 36 and is input to the Viterbi decoder 37 as the received symbol D26.
【0059】ビタビ復号器37は、図9に示すように、
ブランチメトリツク演算回路40、ACS(Add-Compar
e-Select)演算回路41、パスメトリツク記憶部42、
最尤検出器43、パス選択情報記憶部44及びデータ推
定回路45によつて構成され、デインタリーバ36から
供給される受信シンボルD26をまずブランチメトリツ
ク演算回路40に入力するようになされている。The Viterbi decoder 37, as shown in FIG.
Branch metric calculation circuit 40, ACS (Add-Compar
e-Select) arithmetic circuit 41, path metric storage unit 42,
It is composed of a maximum likelihood detector 43, a path selection information storage unit 44, and a data estimation circuit 45. The reception symbol D26 supplied from the deinterleaver 36 is first input to the branch metric calculation circuit 40.
【0060】ブランチメトリツク演算回路40は、図8
に示したような14値の軟判定データからなる受信シンボ
ルD26を受け、この受信シンボルD26の各シンボル
を構成する4ビツトの値を基に、上述したメトリツクB
M0及びBM1を各シンボル毎に求める。そしてブラン
チメトリツク演算回路40は、符号化率Rが1/2であ
ることから、そのメトリツクBM0及びBM1を基に、
受信シンボルD26の連続する2シンボルが(0、
0)、(0、1)、(1、0)及び(1、1)である確
からしさ、すなわちブランチメトリツクBM(0、
0)、BM(0、1)、BM(1、0)及びBM(1、
1)を算出する。The branch metric operation circuit 40 is configured as shown in FIG.
The received symbol D26, which is composed of 14-value soft decision data as shown in (1), is received. Based on the 4-bit value constituting each symbol of the received symbol D26, the metric B described above is used.
M0 and BM1 are obtained for each symbol. Then, since the coding rate R is 1/2, the branch metric calculation circuit 40 calculates the branch metric based on the metrics BM0 and BM1.
Two consecutive symbols of the received symbol D26 are (0,
0), (0,1), (1,0) and (1,1), ie, the branch metric BM (0,
0), BM (0, 1), BM (1, 0) and BM (1,
1) is calculated.
【0061】このブランチメトリツクの演算を具体的に
説明すると、例えば連続する2つのシンボルをA及びB
とし、そのシンボルのメトリツクBM0及びBM1をそ
れぞれBM0(A)及びBM1(A)並びにBM0
(B)及びBM1(B)とすれば、ブランチメトリツク
演算回路40は、次式、The operation of the branch metric will be described in detail. For example, two consecutive symbols A and B
And the metrics BM0 and BM1 of the symbol are BM0 (A), BM1 (A) and BM0, respectively.
(B) and BM1 (B), the branch metric calculation circuit 40 calculates
【0062】[0062]
【数2】 (Equation 2)
【0063】に示す演算によつてその2つのシンボルA
及びBが(0、0)、(0、1)、(1、0)及び
(1、1)であるブランチメトリツクBM(0、0)、
BM(0、1)、BM(1、0)及びBM(1、1)を
算出する。By the operation shown in FIG.
And B are (0,0), (0,1), (1,0) and (1,1) branch metrics BM (0,0),
BM (0, 1), BM (1, 0) and BM (1, 1) are calculated.
【0064】かくしてブランチメトリツク演算回路40
は、受信シンボルD26が2シンボル入力される毎に
(2)式に示す演算を行つて、その2シンボルについて
ブランチメトリツクBM(0、0)、BM(0、1)、
BM(1、0)及びBM(1、1)を算出し、これをブ
ランチデータD30としてACS演算回路41に出力す
る。Thus, the branch metric operation circuit 40
Performs the operation shown in equation (2) every time two received symbols D26 are input, and performs branch metrics BM (0, 0), BM (0, 1),
BM (1, 0) and BM (1, 1) are calculated and output to the ACS operation circuit 41 as branch data D30.
【0065】ACS演算回路41はトレリス線図に従つ
て各ステートのパスメトリツクを算出する回路である。
この場合、畳み込み符号化の拘束長kを「9」としてい
ることから、ステート数としては、次式、The ACS operation circuit 41 is a circuit for calculating path metrics of each state according to a trellis diagram.
In this case, since the constraint length k of the convolutional coding is set to “9”, the number of states is expressed by the following equation:
【0066】[0066]
【数3】 (Equation 3)
【0067】に示すように、独立した256 個のステート
が存在する。As shown in the figure, there are 256 independent states.
【0068】ACS演算回路41は、まずブランチデー
タD30として与えられるブランチメトリツクとパスメ
トリツク記憶部42からパスデータD31として読み出
された各ステートの前時刻のパスメトリツクとに基づい
て現時刻において各ステートに入力される2つのパスの
パスメトリツクを求め、そのパスメトリツクに基づいて
各ステートに入力される最尤のパスを選択し、その選択
したパスのパスメトリツクをそれぞれ各ステートの現時
刻のパスメトリツクとし、これをパスデータD32とし
てパスメトリツク記憶部42に記憶する。The ACS operation circuit 41 first determines the state at the current time based on the branch metric given as the branch data D30 and the path metric at the previous time of each state read from the path metric storage unit 42 as the path data D31. The path metric of the two input paths is obtained, the maximum likelihood path input to each state is selected based on the path metric, and the path metric of the selected path is used as the path metric of the current time of each state. The data D32 is stored in the path metric storage unit 42.
【0069】ここでこの演算の具体例を説明する。256
個のステートを2桁の16進数を用いて表現すると、ステ
ート00〜ステートFFと表現することができる。この
ステートのうち例えばステート00に対しては、ステー
ト00からブランチ(0、0)を介して入力する第1の
パスaと、ステート80からブランチ(1、1)を介し
て入力する第2のパスbの2つが存在する。このとき第
1及び第2のパスa、bのパスメトリツクS00(new
)a、S00(new )bは、前時刻のステート00及
びステート80のパスメトリツクS00(old )及びS
80(old )と、ブランチ(0、0)及びブランチ
(1、1)のブランチメトリツクBM(0、0)及びB
M(1、1)によつて求められる。従つてACS演算回
路41は、ブランチデータD30で与えられるブランチ
メトリツクBM(0、0)及びBM(1、1)と、パス
データD31で与えられるパスメトリツクS00(old
)及びS80(old )とに基づいて、次式、Here, a specific example of this calculation will be described. 256
If each of the states is expressed using a two-digit hexadecimal number, it can be expressed as state 00 to state FF. Of these states, for example, for state 00, a first path a input from state 00 via branch (0, 0) and a second path a input from state 80 via branch (1, 1) There are two paths b. At this time, the path metric S00 of the first and second paths a and b (new
A) and S00 (new) b are path metrics S00 (old) and S00 of state 00 and state 80 at the previous time.
80 (old), branch metrics BM (0, 0) and B of branch (0, 0) and branch (1, 1)
It is determined by M (1,1). Therefore, the ACS operation circuit 41 outputs the branch metrics BM (0, 0) and BM (1, 1) given by the branch data D30 and the path metric S00 (old) given by the path data D31.
) And S80 (old), the following equation:
【0070】[0070]
【数4】 (Equation 4)
【0071】に示す演算を行つてそれぞれのパスのパス
メトリツクS00(new )a、S00(new )bを求
め、その値に基づいて、次式、The path metrics S00 (new) a and S00 (new) b of each path are obtained by performing the operation shown in FIG.
【0072】[0072]
【数5】 (Equation 5)
【0073】に示す判断を行うことにより第1及び第2
のパスa、bのうちパスメトリツクが小さい方のパスを
最尤パスとして選択する。そしてACS演算回路41
は、最尤パスとして選択したパスのパスメトリツクを現
時刻におけるステート00のパスメトリツクとする。By performing the judgment shown in FIG.
Of the paths a and b, the path having the smaller path metric is selected as the maximum likelihood path. And the ACS operation circuit 41
Sets the path metric of the path selected as the maximum likelihood path to the path metric of state 00 at the current time.
【0074】かくしてACS演算回路41は、このよう
な処理を各ステート毎に行つて現時刻の各ステートのパ
スメトリツクを算出し、これをパスデータD32として
パスメトリツク記憶部42に記憶する。Thus, the ACS operation circuit 41 performs such processing for each state, calculates the path metric of each state at the current time, and stores this as path data D32 in the path metric storage unit 42.
【0075】またこれに加えてACS演算回路41は、
現時刻の各ステートのパスメトリツクをパスデータD3
3として最尤検出器43に出力する。これにより最尤検
出器43はそのパスデータD33に基づいて現時刻にお
いて全ステートの中で最尤のステートを検出し、その最
尤ステートを示すステート番号を最尤ステート情報D3
4としてデータ推定回路45に出力する。In addition, the ACS operation circuit 41
The path metric of each state at the current time is stored in the path data D3.
3 is output to the maximum likelihood detector 43. Thus, the maximum likelihood detector 43 detects the maximum likelihood state among all the states at the current time based on the path data D33, and assigns the state number indicating the maximum likelihood state to the maximum likelihood state information D3.
4 is output to the data estimation circuit 45.
【0076】またこれに加えてACS演算回路41は、
各ステートに入力される2つのパスのうち選択したパス
を示すパス選択情報(このパス選択情報はパスメトリツ
クも含む)D35をパス選択情報記憶部44に出力す
る。このパス選択情報記憶部44はいわゆるパスメモリ
と呼ばれるメモリであり、各時刻のパス選択情報D35
を順次記憶して行くことにより生き残りパスを記憶して
行く。なお、このパス選択情報記憶部44の記憶段数
(すなわちパスメモリ長)としては例えば64段程度に設
定されている。In addition, the ACS operation circuit 41
The path selection information D35 indicating the path selected from the two paths input to each state (this path selection information also includes path metrics) is output to the path selection information storage unit 44. The path selection information storage section 44 is a so-called path memory, and stores path selection information D35 at each time.
Are stored in order, so that the surviving path is stored. Note that the number of storage stages (that is, the path memory length) of the path selection information storage unit 44 is set to, for example, about 64 stages.
【0077】データ推定回路45は、パス選択情報記憶
部44に所定量データが蓄積されると、そのときに最尤
検出器43から出力される最尤ステート情報D34に基
づいてトレースバツクの起点となるステートを決めると
共に、パス選択情報記憶部44に読出信号S20を出力
して順次パス選択情報D36を得ることにより、その起
点ステートから順次トレースバツクを行つて生き残りパ
スを辿つて行くことにより復号データとして最尤のもの
を選択し、その最尤の復号データを音声データD27と
して出力する。When a predetermined amount of data is stored in the path selection information storage unit 44, the data estimation circuit 45 determines the starting point of the trace back based on the maximum likelihood state information D34 output from the maximum likelihood detector 43 at that time. A state is determined, and a readout signal S20 is output to the path selection information storage unit 44 to sequentially obtain path selection information D36. By performing traceback sequentially from the starting state and following the surviving path, decoded data is obtained. And outputs the decoded data of the maximum likelihood as audio data D27.
【0078】ここでこのような構成を有するビタビ復号
器37においては、大きく分けて次に説明するような2
つの処理がなされており、この2つの処理によつてビタ
ビ復号の復号特性を高精度にすると共に、処理時間を高
速にするようになされている。まず第1の処理として
は、各ステートのパスメトリツクの初期値を畳み込み特
性を考慮して重み付けすることである。図6に示した畳
み込み符号器31では、8段のシフトレジスタ31Aの
各レジスタの初期値を「0」に設定していることから、
送信データD20の先頭に拘束長k−1ビツトの「0」
を付加したのと同等である。このことを考慮すると、各
ステートの初期パスメトリツクを予めデータ「0」が連
続入力されたときのパスメトリツクに設定しておいてそ
のパスメトリツクからスタートしてACS演算を行え
ば、パスメトリツクの値そのものを正確にすることがで
きる。この考え方に基づいて、このビタビ復号器37で
は、図10に示すように、データ「0」が連続入力され
たときの各ステートのパスメトリツクを予め演算によつ
て算出しておき、このパスメトリツクを各ステートの初
期値として設定するようになされている。Here, in the Viterbi decoder 37 having such a configuration, the following two parts are roughly divided.
The two processes are performed to increase the decoding characteristics of Viterbi decoding with high accuracy and to shorten the processing time. First, the first processing is to weight the initial value of the path metric of each state in consideration of the convolution characteristic. In the convolutional encoder 31 shown in FIG. 6, since the initial value of each register of the eight-stage shift register 31A is set to “0”,
"0" of the constraint length k-1 bit is added at the beginning of the transmission data D20.
Is equivalent to adding. Considering this fact, if the initial path metric of each state is set in advance to the path metric when data "0" is continuously input, and the ACS operation is performed starting from the path metric, the value of the path metric itself can be accurately obtained. can do. Based on this concept, in the Viterbi decoder 37, as shown in FIG. 10, a path metric of each state when data "0" is continuously input is calculated in advance, and this path metric is calculated by each operation. It is set as the initial value of the state.
【0079】また第2の処理としては、最後のACS演
算が終了したとき(すなわち最後の受信シンボルを受信
したとき)、トレースバツクを1ステツプ行う毎にデー
タを復号するが、その際の起点ステートをACS演算に
よる最尤ステートに設定するのではなく、ステート00
に設定することである。図6に示した畳み込み符号器3
1では、送信データD20の末尾に拘束長k−1ビツト
の値「0」からなるテールビツトを付加して畳み込み演
算を行うことから、最終理想状態としてはステート00
に達するはずである。このためこのビタビ復号器37で
は、最後の受信シンボルを受信したときには、ACS演
算による最尤ステートではなく、本来取り得る理想状態
のステート00を起点としてトレースバツクを行うよう
になされている。In the second process, when the last ACS operation is completed (ie, when the last received symbol is received), data is decoded every time a traceback is performed by one step. Is set to the maximum likelihood state by the ACS operation,
It is set to. Convolutional encoder 3 shown in FIG.
In 1, the convolution operation is performed by adding a tail bit having a constraint length k-1 bit value "0" to the end of the transmission data D20, so that the final ideal state is state 00.
Should be reached. For this reason, when the last received symbol is received, the Viterbi decoder 37 performs a traceback starting from the state 00 of the ideal state which can be originally taken, instead of the maximum likelihood state by the ACS operation.
【0080】ここでこのような第1及び第2の処理を加
えたビタビ復号器37の復号アルゴリズムを図11に示
す。この図11に示すように、ビタビ復号器37では、
まず始めにステツプSP1から入つたステツプSP2に
おいて、各ステートのパスメトリツクの初期値を図10
に示した重み付けがなされた値に設定する。具体的に
は、パスメトリツク記憶部42に記憶しておく各ステー
トの初期パスメトリツクを図10に示した値に設定す
る。FIG. 11 shows a decoding algorithm of the Viterbi decoder 37 to which such first and second processes are added. As shown in FIG. 11, in the Viterbi decoder 37,
First, in step SP2 entered from step SP1, the initial value of the path metric of each state is shown in FIG.
Are set to the weighted values shown in. Specifically, the initial path metric of each state stored in the path metric storage unit 42 is set to the value shown in FIG.
【0081】次のステツプSP3においては、ビタビ復
号器37は受信シンボルD26に基づいてACS演算を
行うと共に、そのACS演算に基づいてパス選択を行つ
てパス選択情報D35を記憶する。具体的には、まずブ
ランチメトリツク演算回路40が受信シンボルD26と
して入力された2つのシンボルのブランチメトリツクB
M(0、0)、BM(0、1)、BM(1、0)及びB
M(1、1)を算出する。そしてACS演算回路41が
このブランチメトリツクと、パスメトリツク記憶部42
に記憶されている前時刻のパスメトリツクとに基づいて
現時刻で考えられる各パスのパスメトリツクを算出して
各ステートの最尤パスを選択すると共に、その選択した
最尤パスのパスメトリツクをパスメトリツク記憶部42
に記憶し、さらに選択したパスを示すパス選択情報D3
5をパス選択記憶部44に記憶する。In the next step SP3, the Viterbi decoder 37 performs an ACS operation on the basis of the received symbol D26, performs a path selection based on the ACS operation, and stores the path selection information D35. Specifically, first, the branch metric calculation circuit 40 outputs the branch metric B of the two symbols input as the received symbol D26.
M (0,0), BM (0,1), BM (1,0) and B
M (1,1) is calculated. The ACS operation circuit 41 stores the branch metric and the path metric storage unit 42.
The path metric of each path considered at the current time is calculated based on the path metric of the previous time stored in the path metric and the maximum likelihood path of each state is selected, and the path metric of the selected maximum likelihood path is stored in the path metric storage unit 42.
And path selection information D3 indicating the selected path.
5 is stored in the path selection storage unit 44.
【0082】次のステツプSP4では、ビタビ復号器3
7はACS演算回数が(パスメモリ長+k−1)回以下
であるか否か判断し、ACS演算回数がその基準値を下
回つていればステツプSP3に戻つて処理を繰り返し、
ACS演算回数がその基準値に達するとステツプSP5
に進む。なお、この判断は例えばデータ推定回路45に
よつて行われ、最尤ステート情報D34の出力回数をカ
ウントすることにより行われる。またこの実施の形態で
は、拘束長kを「9」としていることから基準値として
は(パスメモリ長+8)回となる。At the next step SP4, the Viterbi decoder 3
7 judges whether or not the number of ACS operations is (path memory length + k-1) or less, and if the number of ACS operations is lower than the reference value, returns to step SP3 and repeats the processing.
When the number of ACS operations reaches its reference value, step SP5
Proceed to. This determination is made, for example, by the data estimating circuit 45, and is made by counting the number of outputs of the maximum likelihood state information D34. In this embodiment, since the constraint length k is “9”, the reference value is (path memory length + 8) times.
【0083】次のステツプSP5では、ビタビ復号器3
7は今現在行つたACS演算が受信シンボルD26にお
ける最後のACS演算であるか否か判断し、最後のAC
S演算でなければステツプSP6に進み、最後のACS
演算であればステツプSP7に進む。なお、この判断も
例えばデータ推定回路45によつて行われる。In the next step SP5, the Viterbi decoder 3
7 determines whether or not the currently performed ACS operation is the last ACS operation in the received symbol D26.
If it is not an S operation, the process proceeds to step SP6, where the last ACS
If it is a calculation, the process proceeds to step SP7. This determination is also made, for example, by the data estimation circuit 45.
【0084】ステツプSP6では、ビタビ復号器37は
トレースバツクの初期アドレスを最尤ステートに設定す
る。すなわちデータ推定回路45はトレースバツクの起
点ステートを最尤検出器43が検出した最尤ステートに
設定する。At step SP6, the Viterbi decoder 37 sets the initial address of the trace back to the maximum likelihood state. That is, the data estimating circuit 45 sets the starting state of the trace back to the maximum likelihood state detected by the maximum likelihood detector 43.
【0085】次のステツプSP8では、ビタビ復号器3
7のデータ推定回路45が1時刻分前のパス選択情報D
36をパス選択情報記憶部44から読み出してトレース
バツクを1ステツプ分行う。次のステツプSP9では、
データ推定回路45はトレースバツクのステツプ回数が
パスメモリ長になつたか否か判断し、パスメモリ長にな
つていなければステツプSP10に進み、パスメモリ長
になつていればステツプSP11に進む。In the next step SP8, the Viterbi decoder 3
7 is the path selection information D one time before.
36 is read from the path selection information storage unit 44 and traceback is performed for one step. In the next step SP9,
The data estimation circuit 45 determines whether or not the number of steps in the traceback has reached the path memory length. If the path memory length has not been reached, the process proceeds to step SP10, and if the path memory length has been reached, the process proceeds to step SP11.
【0086】ステツプSP10では、データ推定回路4
5は先程行つたトレースバツクに基づいて新たなトレー
スバツクのアドレスを作成し、ステツプSP8に戻つて
処理を繰り返す。すなわちデータ推定回路45は先程行
つたトレースバツクの終点ステートを今度は起点ステー
トに設定し、ステツプSP8に戻つて再度トレースバツ
クを行う。At step SP10, the data estimation circuit 4
Reference numeral 5 creates a new trace back address based on the trace back performed previously, returns to step SP8, and repeats the process. That is, the data estimating circuit 45 sets the end point state of the trace back performed earlier to the start point state, and returns to step SP8 to perform the trace back again.
【0087】一方、ステツプSP11では、データ推定
回路45はパスメモリ長分だけトレースバツクを行つた
ものと判断して、最終的に辿り着いたステートを基に受
信したデータを1ビツト分推定し、復号データとして出
力する。この処理が終えると、ビタビ復号器37はステ
ツプSP3に戻つて処理を繰り返す。On the other hand, at step SP11, the data estimating circuit 45 determines that the trace back has been performed for the path memory length, and estimates one bit of the received data based on the finally reached state. Output as decoded data. When this process ends, the Viterbi decoder 37 returns to step SP3 and repeats the process.
【0088】これに対して最後のACS演算であつたた
めにステツプSP5からステツプSP7に進んだ場合に
は、データ推定回路45はトレースバツクの初期アドレ
スを最尤検出器43が検出した最尤ステートに設定する
のではなく、ステート00に設定する。On the other hand, when the process proceeds from step SP5 to step SP7 because of the last ACS operation, the data estimation circuit 45 sets the initial address of the traceback to the maximum likelihood state detected by the maximum likelihood detector 43. Instead of setting, set to state 00.
【0089】次のステツプSP12では、データ推定回
路45は1時刻分前のパス選択情報D36をパス選択情
報記憶部44から読み出してトレースバツクを1ステツ
プ分行う。次のステツプSP13では、その1ステツプ
のトレースバツクで辿り着いたステートを基に受信した
データを1ビツト分推定し、復号データとして出力す
る。次のステツプSP14では、データ推定回路45は
トレースバツクのステツプ回数がパスメモリ長になつた
か否か判断し、パスメモリ長になつていなければステツ
プSP15に進み、パスメモリ長になつていれば受信し
たデータを全て復号し得たと判断してステツプSP16
に進んで処理を終了する。In the next step SP12, the data estimating circuit 45 reads out the path selection information D36 one time earlier from the path selection information storage unit 44 and performs traceback for one step. In the next step SP13, the received data is estimated for one bit based on the state reached in the traceback of one step, and is output as decoded data. In the next step SP14, the data estimating circuit 45 determines whether or not the number of steps of the trace back has reached the path memory length. If the path memory length has not been reached, the process proceeds to step SP15, and if the path memory length has been reached, the data is received. It is determined that all the decoded data has been decoded, and step SP16
To end the process.
【0090】ステツプSP15では、データ推定回路4
5は先程行つた1ステツプのトレースバツクに基づいて
新たなトレースバツクのアドレスを作成し、ステツプS
P12に戻つて処理を繰り返す。すなわちデータ推定回
路45は先程行つたトレースバツクの終点ステートを今
度は起点ステートに設定し、ステツプSP12に戻つて
再度トレースバツクを行う。かくしてこのようなビタビ
アルゴリズムを実行することにより、このビタビ復号器
37は受信シンボルD26から順にデータを復号するよ
うになされている。At step SP15, the data estimation circuit 4
5 creates a new traceback address based on the one-step traceback performed earlier, and
Returning to P12, the process is repeated. That is, the data estimation circuit 45 sets the end point state of the trace back that has just been performed to the start state, and returns to step SP12 to perform trace back again. Thus, by executing such a Viterbi algorithm, the Viterbi decoder 37 decodes data in order from the received symbol D26.
【0091】以上の構成において、この通信端末装置1
0では、送信時、畳み込み符号器31の各レジスタの値
を「0」に設定すると共に、フレーム単位で形成された
送信データD20の末尾に値「0」からなる拘束長k−
1ビツトのテールビツトを付加して畳み込み符号化を行
い、その結果得られる送信シンボルD21をインタリー
バ32及び送信機17等を介して送信する。In the above configuration, the communication terminal 1
0, the value of each register of the convolutional encoder 31 is set to “0” at the time of transmission, and the constraint length k−
The convolutional coding is performed by adding a 1-bit tail bit, and the resulting transmission symbol D21 is transmitted via the interleaver 32, the transmitter 17, and the like.
【0092】一方、受信時には、このような送信処理と
同様の処理によつて生成されたシンボルを受信機21及
びデインタリーバ36等を介して受信し、その受信シン
ボルD26をビタビ復号器37に入力して受信したデー
タを復号する。この場合、ビタビ復号器37では、パス
メトリツク記憶部42に記憶しておく各ステートの初期
パスメトリツクを、畳み込み符号器31の各レジスタの
値が最初「0」であることに着目して重み付けした値に
設定し、この状態から順次ACS演算を開始してパスメ
トリツクの算出及びパス選択を行う。そしてビタビ復号
器37では、受信シンボルD26における最後のACS
演算を行う前までは、パスメトリツクの値が最も小さい
最尤ステートを起点としてパスメモリ長分だけ順次トレ
ースバツクを行つて当該パスメモリ長分のトレースバツ
クが終了する度に1ビツトずつデータを復号し、最後の
ACS演算を行つたときにはテールビツトによつて特定
されるステート00を起点として1ステツプトレースバ
ツクする毎に1ビツトずつデータを復号する。On the other hand, at the time of reception, a symbol generated by the same processing as the transmission processing is received via the receiver 21 and the deinterleaver 36 and the like, and the received symbol D26 is input to the Viterbi decoder 37. And decrypt the received data. In this case, the Viterbi decoder 37 converts the initial path metric of each state stored in the path metric storage unit 42 to a value weighted by focusing on the fact that the value of each register of the convolutional encoder 31 is initially “0”. After setting, the ACS operation is sequentially started from this state to calculate the path metric and select the path. Then, in the Viterbi decoder 37, the last ACS in the received symbol D26
Before performing the operation, traceback is sequentially performed for the path memory length starting from the maximum likelihood state having the smallest path metric value, and data is decoded one bit at a time every time the traceback for the path memory length is completed. When the last ACS operation is performed, data is decoded one bit at a time for each step trace back from the state 00 specified by the tail bit.
【0093】このようにしてこのビタビ復号器37で
は、各ステートの初期パスメトリクツク値を均等に設定
するのではなく、畳み込み符号器31の各レジスタの初
期値に基づいて重み付けした値に設定するようにしたこ
とにより、従来に比してパスメトリツクの値そのものを
正確にすることができ、より正確にデータ復号を行つて
ビタビ復号の復号特性を向上することができる。またこ
れに加えてこのビタビ復号器37では、パスメトリツク
演算が受信シンボルD26における最後の演算になつた
とき、畳み込み符号化時に付加したテールビツトの値で
決まるステート00を起点ステートとして1ステツプト
レースバツクを行う毎に1ビツトずつデータを復号する
ようにしたことにより、従来のように毎回パスメモリ長
分だけトレースバツクする場合に比してトレースバツク
のステツプ数を減らすことができ、復号処理を高速化す
ることができると共に、本来取り得る理想状態からトレ
ースバツクを行うことができ、一段と精度良く復号処理
を行うことができる。In this way, in the Viterbi decoder 37, the initial path metric value of each state is not set equally, but is set to a value weighted based on the initial value of each register of the convolutional encoder 31. As a result, the value of the path metric itself can be made more accurate than in the prior art, and data decoding can be performed more accurately, thereby improving the decoding characteristics of Viterbi decoding. In addition, in the Viterbi decoder 37, when the path metric operation is the last operation in the received symbol D26, one step trace back is performed with the state 00 determined by the value of the tail bit added at the time of convolutional coding as the starting state. Since the data is decoded one bit at a time, the number of traceback steps can be reduced as compared with the conventional case where traceback is performed by the path memory length every time, thereby speeding up the decoding process. In addition to this, traceback can be performed from an ideal state that can be originally taken, and decoding processing can be performed with higher accuracy.
【0094】ここで本発明によるビタビ復号器37で復
号したときの復号特性を図12に示す。図12におい
て、曲線Aは本発明によるビタビアルゴリズムに基づい
て復号したときの特性であり、各ステートの初期パスメ
トリツク値を畳み込み符号器31の各レジスタの初期値
に応じて重み付けすると共に、パスメトリツク演算が終
えたときにテールビツトによつて決まるステート00を
トレースバツクの起点ステートに設定したときの特性で
ある。また曲線Bは従来のビタビアルゴリズムに基づい
て復号したときの特性であり、各ステートの初期パスメ
トリツクの値を均等に例えば値「0」に設定すると共
に、常にパスメトリツク演算による最尤ステートを起点
としてトレースバツクしたときの特性である。また曲線
Cは各ステートの初期パスメトリツク値を重み付けせ
ず、パスメトリツク演算が終えたときに起点ステートを
ステート00に設定したときの特性であり、さらに曲線
Dは各ステートの初期パスメトリツク値の重み付けだけ
を行つて、起点ステートをステート00に設定しなかつ
たときの特性である。この図12から明らかなように、
本発明のように、各ステートの初期パスメトリツクの値
を畳み込み符号器の初期値に応じて重み付けすると共
に、パスメトリツク演算が終えたときの起点ステートを
テールビツトで決まるステート00に設定するようにす
ることにより、ビツトエラーレイト特性を大幅に改善す
ることができる。FIG. 12 shows decoding characteristics when decoding is performed by the Viterbi decoder 37 according to the present invention. In FIG. 12, a curve A is a characteristic when decoding is performed based on the Viterbi algorithm according to the present invention. The initial path metric value of each state is weighted according to the initial value of each register of the convolutional encoder 31, and the path metric operation is performed. This is a characteristic when the state 00 determined by the tail bit at the time of completion is set as the traceback starting point state. Curve B is a characteristic obtained when decoding is performed based on the conventional Viterbi algorithm. The value of the initial path metric of each state is set uniformly to, for example, a value “0”, and the trace is always performed with the maximum likelihood state obtained by the path metric calculation as the starting point. This is the characteristic when backing up. Curve C shows the characteristics when the initial state value of each state is not weighted and the starting state is set to state 00 when the path metric calculation is completed. Curve D shows only the weighting of the initial path metric value of each state. This is the characteristic when the starting state is not set to state 00. As is clear from FIG.
As in the present invention, the value of the initial path metric of each state is weighted according to the initial value of the convolutional encoder, and the starting state when the path metric operation is completed is set to the state 00 determined by the tail bit. The bit error rate characteristics can be greatly improved.
【0095】以上の構成によれば、ビタビ復号時、各ス
テートの初期パスメトリツク値を畳み込み符号器31の
各レジスタの初期値に応じて重み付けすると共に、パス
メトリツク演算が終えたときにテールビツトの値によつ
て決まるステート00を起点ステートとしてトレースバ
ツクするようにしたことにより、従来に比してトレース
バツクの回数を減らすことができるので復号処理を高速
に行うことができると共に、従来に比して復号特性を向
上することができる。According to the above configuration, at the time of Viterbi decoding, the initial path metric value of each state is weighted according to the initial value of each register of the convolutional encoder 31 and the value of the tail bit is obtained when the path metric operation is completed. By performing the trace back with the state 00 determined as the starting state, the number of trace backs can be reduced as compared with the conventional case, so that the decoding process can be performed at a high speed and the decoding characteristic can be compared with the conventional case. Can be improved.
【0096】なお上述の実施の形態においては、畳み込
み符号化時の拘束長kを「9」に設定すると共に、符号
化率Rを「1/2」に設定した場合について述べたが、
本発明はこれに限らず、拘束長k及び符号化率Rの値と
してはその他の値であつても良い。In the above-described embodiment, a case has been described where the constraint length k at the time of convolutional coding is set to "9" and the coding rate R is set to "1/2".
The present invention is not limited to this, and the values of the constraint length k and the coding rate R may be other values.
【0097】また上述の実施の形態においては、図10
に示すような初期パスメトリツク値を設定した場合につ
いて述べたが、本発明はこれに限らず、初期パスメトリ
ツク値として設定する値としてはこれ以外の値であつて
も良い。要は、畳み込み符号器の各レジスタの初期値に
基づいて重み付けした初期パスメトリツク値を各ステー
トの初期値として設定するようにすれば上述の場合と同
様の効果を得ることができる。In the above-described embodiment, FIG.
Although the case where the initial path metric value as shown in (1) is set has been described, the present invention is not limited to this, and other values may be set as the initial path metric value. In short, if the initial path metric value weighted based on the initial value of each register of the convolutional encoder is set as the initial value of each state, the same effect as in the above case can be obtained.
【0098】また上述の実施の形態においては、パスメ
トリツク演算が終了したときステート00を起点ステー
トとしてトレースバツクした場合について述べたが、本
発明はこれに限らず、起点ステートをこれ以外のステー
トに設定しても良い。要は、パスメトリツク演算が終え
たときの起点ステートをパスメトリツクの値で決まる最
尤ステートに設定するのではなく、テールビツトの値に
よつて決まる固定ステートに設定するようにすれば、上
述の場合と同様の効果を得ることができる。In the above-described embodiment, a case has been described where trace back is performed with state 00 as the starting state when the path metric operation is completed. However, the present invention is not limited to this, and the starting state is set to any other state. You may. The point is that if the starting state at the end of the path metric calculation is not set to the maximum likelihood state determined by the value of the path metric but to a fixed state determined by the value of the tail bit, the same as in the above case The effect of can be obtained.
【0099】[0099]
【発明の効果】上述のように本発明によれば、各ステー
トの初期パスメトリツク値を畳み込み符号器の初期値に
基づいて重み付けした値に設定すると共に、パスメトリ
ツク演算が最後の演算に達したときにはテールビツトの
値によつて決まる固定ステートを起点ステートとして1
ステツプトレースバツクする毎にデータ列を1ビツトず
つ復号するようにしたことにより、パスメトリツクを正
確に演算し得ると共に、トレースバツク回数を減らすこ
とができ、かくして従来に比して復号精度を向上し得る
と共に復号処理を高速化し得るビタビ復号装置及びビタ
ビ復号方法を実現し得る。As described above, according to the present invention, the initial path metric value of each state is set to a value weighted based on the initial value of the convolutional encoder, and the tail bit is obtained when the path metric operation reaches the last operation. The fixed state determined by the value of
By decoding the data string one bit at a time each time a step traceback is performed, the path metric can be accurately calculated, the number of tracebacks can be reduced, and the decoding accuracy can be improved as compared with the prior art. In addition, a Viterbi decoding device and a Viterbi decoding method that can speed up the decoding process can be realized.
【図1】本発明を適用した通信端末装置の全体構成を示
すブロツク図である。FIG. 1 is a block diagram showing an overall configuration of a communication terminal device to which the present invention is applied.
【図2】本発明のビタビ復号器を含んだチヤネルコーデ
ツクの構成を示すブロツク図である。FIG. 2 is a block diagram showing a configuration of a channel code including a Viterbi decoder according to the present invention.
【図3】チヤネルコーデツクにおける各ブロツクのデー
タ処理量の説明に供するブロツク図である。FIG. 3 is a block diagram for explaining a data processing amount of each block in a channel code;
【図4】各ブロツクにおけるデータ処理量を示す図表で
ある。FIG. 4 is a table showing a data processing amount in each block.
【図5】チヤネルコーデツクにおける各ブロツクのデー
タ処理量の説明に供するブロツク図である。FIG. 5 is a block diagram for explaining a data processing amount of each block in a channel code;
【図6】チヤネルコーデツクに設けられた畳み込み符号
器の構成を示すブロツク図である。FIG. 6 is a block diagram showing a configuration of a convolutional encoder provided in a channel code.
【図7】受信シンボルD6を構成する16値軟判定データ
の説明に供する図表である。FIG. 7 is a table provided for explanation of 16-value soft decision data constituting a received symbol D6.
【図8】受信シンボルD25を構成する14値軟判定デー
タの説明に供する図表である。FIG. 8 is a chart provided for explanation of 14-level soft decision data constituting a received symbol D25.
【図9】ビタビ復号器の構成を示すブロツク図である。FIG. 9 is a block diagram showing a configuration of a Viterbi decoder.
【図10】各ステートの初期パスメトリツクの値を示す
図表である。FIG. 10 is a table showing values of initial path metrics in each state.
【図11】本発明によるビタビ復号のアルゴリズムを示
すフローチヤートである。FIG. 11 is a flowchart showing an algorithm of Viterbi decoding according to the present invention.
【図12】本発明によるビタビ復号による復号特性の説
明に供する特性曲線図である。FIG. 12 is a characteristic curve diagram for describing decoding characteristics of Viterbi decoding according to the present invention.
【図13】従来のビタビ復号の説明に供する一般的な畳
み込み符号器の構成を示すブロツク図である。FIG. 13 is a block diagram showing a configuration of a general convolutional encoder for explaining conventional Viterbi decoding.
【図14】畳み込み符号化における状態遷移の説明に供
する状態遷移図である。FIG. 14 is a state transition diagram for explaining state transition in convolutional coding.
【図15】状態遷移図を時間方向に展開したトレリス線
図である。FIG. 15 is a trellis diagram obtained by expanding the state transition diagram in the time direction.
【図16】従来のビタビ復号のアルゴリズムの説明に供
するトレリス線図である。FIG. 16 is a trellis diagram for explaining a conventional Viterbi decoding algorithm.
【図17】従来のビタビ復号におけるトレースバツクの
説明に供する略線図である。FIG. 17 is a schematic diagram for explaining a trace back in the conventional Viterbi decoding.
1、31……畳み込み符号器、2、31A……シフトレ
ジスタ、3、4、31B、31C……エクスクルーシブ
オア回路、10……通信端末装置、11……マイクロフ
オン、12……送受話器、13……音声コーデツク、1
4……チヤネルコーデツク、15……チヤネルエンコー
ダ、16……コントローラ、17……送信機、18……
シンセサイザ、19……送受共用器、20……アンテ
ナ、21……受信機、22……チヤネルデコーダ、23
……スピーカ、30……CRCジエネレータ、32……
インタリーバ、33……置換処理回路、35……消失処
理回路、36……デインタリーバ、37……ビタビ復号
器、38……誤り検出器、40……ブランチメトリツク
演算回路、41……ACS演算回路、42……パスメト
リツク記憶部、43……最尤検出器、44……パス選択
情報記憶部、45……データ推定回路。1, 31, a convolutional encoder, 2, 31A, a shift register, 3, 4, 31B, 31C, an exclusive OR circuit, 10, a communication terminal device, 11, a microphone, 12, a handset, and 13 ...... Voice codec, 1
4 ... channel code, 15 ... channel encoder, 16 ... controller, 17 ... transmitter, 18 ...
Synthesizer, 19: duplexer, 20: antenna, 21: receiver, 22: channel decoder, 23
... speaker, 30 ... CRC generator, 32 ...
Interleaver 33, replacement processing circuit 35, erasure processing circuit 36, deinterleaver 37, Viterbi decoder 38, error detector 40, branch metric calculation circuit 41, ACS calculation Circuit 42, a path metric storage unit 43, a maximum likelihood detector 44, a path selection information storage unit 45, a data estimation circuit
Claims (2)
の拘束長をkとして(k−1)ビツトの所定値からなる
テールビツトを付加し、当該テールビツトが付加された
上記データ列を上記畳み込み符号器のシフトレジスタの
各レジスタの初期値を所定値に設定して当該畳み込み符
号器を用いて畳み込み符号化することにより生成された
シンボル列を受信して、当該シンボル列から上記データ
列を復号するビタビ復号装置において、 上記各レジスタの初期値に基づいて重み付けしたパスメ
トリツク値を各ステートの初期パスメトリツク値として
設定し、当該初期パスメトリツク値を基準にして上記シ
ンボル列を受信する毎に順次各ステートのパスメトリツ
ク値を演算して生き残りパスをパスメモリに記憶して行
き、当該パスメトリクツク演算が上記シンボル列におけ
る最後の演算に達する前までは上記パスメトリツク値に
基づいて決定される最尤ステートを起点ステートとして
上記パスメモリ長分だけトレースバツクを行う毎に上記
データ列を1ビツトずつ復号し、上記パスメトリツク演
算が上記シンボル列における最後の演算に達したときに
は上記テールビツトの値によつて決まる固定ステートを
起点ステートとして1ステツプトレースバツクする毎に
上記データ列を1ビツトずつ復号する復号手段を具える
ことを特徴とするビタビ復号装置。1. A tail bit having a predetermined value of (k-1) bits is added to the end of a data string of a predetermined length, where k is a constraint length of a convolutional encoder, and the data string to which the tail bit is added is convolved with the convolution. Receiving a symbol sequence generated by setting the initial value of each register of the shift register of the encoder to a predetermined value and performing convolutional encoding using the convolutional encoder, and decoding the data sequence from the symbol sequence In the Viterbi decoding apparatus, a path metric value weighted based on the initial value of each register is set as an initial path metric value of each state, and each state is sequentially received each time the symbol string is received based on the initial path metric value. The path metric value is calculated, the surviving paths are stored in the path memory, and the path metric calculation is performed. Until the last operation in the symbol sequence is reached, the data sequence is decoded one bit at a time every time traceback is performed for the path memory length with the maximum likelihood state determined based on the path metric value as a starting state, When the path metric operation reaches the last operation in the symbol sequence, a decoding means is provided for decoding the data sequence one bit at a time for each step trace back from a fixed state determined by the value of the tail bit as a starting state. A Viterbi decoding device, characterized in that:
の拘束長をkとして(k−1)ビツトの所定値からなる
テールビツトを付加し、当該テールビツトが付加された
上記データ列を上記畳み込み符号器のシフトレジスタの
各レジスタの初期値を所定値に設定して当該畳み込み符
号器を用いて畳み込み符号化することにより生成された
シンボル列を受信して、当該シンボル列から上記データ
列を復号するビタビ復号方法において、 上記各レジスタの初期値に基づいて重み付けしたパスメ
トリツク値を各ステートの初期パスメトリツク値として
設定し、当該初期パスメトリツク値を基準にして上記シ
ンボル列を受信する毎に順次各ステートのパスメトリツ
ク値を演算して生き残りパスをパスメモリに記憶して行
き、当該パスメトリクツク演算が上記シンボル列におけ
る最後の演算に達する前までは上記パスメトリツク値に
基づいて決定される最尤ステートを起点ステートとして
上記パスメモリ長分だけトレースバツクを行う毎に上記
データ列を1ビツトずつ復号し、上記パスメトリツク演
算が上記シンボル列における最後の演算に達したときに
は上記テールビツトの値によつて決まる固定ステートを
起点ステートとして1ステツプトレースバツクする毎に
上記データ列を1ビツトずつ復号することを特徴とする
ビタビ復号方法。2. A tail bit having a predetermined value of (k-1) bits is added to the end of a data string of a predetermined length, where k is a constraint length of a convolutional encoder, and the data string to which the tail bit is added is convolved with the convolution. Receiving a symbol sequence generated by setting the initial value of each register of the shift register of the encoder to a predetermined value and performing convolutional encoding using the convolutional encoder, and decoding the data sequence from the symbol sequence In the Viterbi decoding method, a path metric value weighted based on the initial value of each register is set as an initial path metric value of each state, and each state is sequentially received each time the symbol sequence is received based on the initial path metric value. The path metric value is calculated, the surviving paths are stored in the path memory, and the path metric calculation is performed. Until the last operation in the symbol sequence is reached, the data sequence is decoded one bit at a time every time traceback is performed for the path memory length with the maximum likelihood state determined based on the path metric value as a starting state, When the path metric operation reaches the last operation in the symbol sequence, the data sequence is decoded one bit at a time for each step trace back from a fixed state determined by the value of the tail bit as a starting state. Viterbi decoding method.
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6883998A JPH11266164A (en) | 1998-03-18 | 1998-03-18 | Viterbi decoding device and Viterbi decoding method |
| US09/270,113 US6452985B1 (en) | 1998-03-18 | 1999-03-16 | Viterbi decoding apparatus and Viterbi decoding method |
| KR1019990008981A KR19990077972A (en) | 1998-03-18 | 1999-03-17 | Viterbi decoding apparatus and viterbi decoding method |
| EP99302063A EP0944174A1 (en) | 1998-03-18 | 1999-03-17 | Viterbi decoding apparatus and Viterbi decoding method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6883998A JPH11266164A (en) | 1998-03-18 | 1998-03-18 | Viterbi decoding device and Viterbi decoding method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11266164A true JPH11266164A (en) | 1999-09-28 |
Family
ID=13385276
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6883998A Pending JPH11266164A (en) | 1998-03-18 | 1998-03-18 | Viterbi decoding device and Viterbi decoding method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH11266164A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100335146B1 (en) * | 2000-03-09 | 2002-05-04 | 서평원 | Traceback apparatus in viterbi decoder |
-
1998
- 1998-03-18 JP JP6883998A patent/JPH11266164A/en active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100335146B1 (en) * | 2000-03-09 | 2002-05-04 | 서평원 | Traceback apparatus in viterbi decoder |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6813323B2 (en) | Decoding method and communication terminal apparatus | |
| EP0944174A1 (en) | Viterbi decoding apparatus and Viterbi decoding method | |
| JP4101653B2 (en) | Scaling demodulated data in interleaver memory | |
| JPH0555932A (en) | Error correction coding and decoding device | |
| JP2003023359A (en) | Error-correcting turbo code decoder | |
| JP2001308720A (en) | Encoding / decoding device and encoding / decoding method | |
| JPWO2003021905A1 (en) | Receiving apparatus and receiving method in CDMA communication system | |
| CN107645297B (en) | Method, computing device and mobile device for controlling decoding process | |
| EP2599228A1 (en) | Decoding technique for tail-biting codes | |
| CN1557053A (en) | Power Saving in Communication Terminals | |
| US7284185B2 (en) | Puncturing/depuncturing using compressed differential puncturing pattern | |
| JPH09232972A (en) | Viterbi decoder | |
| JP4350371B2 (en) | Transmission format detection method | |
| EP1506634B1 (en) | Blind transport format detection for transmission link | |
| US6385753B1 (en) | Punctured Viterbi decoding method | |
| WO2002062001A1 (en) | Error correcting communication method and communication apparatus to which this communication method is applied | |
| JP2013016883A (en) | Error correction code decoder, error correction code decoding method, base station device, and mobile station device | |
| JPWO2001099289A1 (en) | Transmission format detection method | |
| JPH10285653A (en) | Transmission rate estimation device and transmission rate estimation method | |
| JPH11266164A (en) | Viterbi decoding device and Viterbi decoding method | |
| US7333419B2 (en) | Method to improve performance and reduce complexity of turbo decoder | |
| JP2002501328A (en) | Method and apparatus for coding, decoding and transmitting information using source control channel decoding | |
| JPH11266165A (en) | Viterbi decoding device and Viterbi decoding method | |
| JP2001251198A (en) | Decoding device and decoding processing method | |
| JP5145208B2 (en) | Wireless communication terminal, decoding method, and decoder |