JPH0575480A - Convolutional code decoder - Google Patents
Convolutional code decoderInfo
- Publication number
- JPH0575480A JPH0575480A JP5475792A JP5475792A JPH0575480A JP H0575480 A JPH0575480 A JP H0575480A JP 5475792 A JP5475792 A JP 5475792A JP 5475792 A JP5475792 A JP 5475792A JP H0575480 A JPH0575480 A JP H0575480A
- Authority
- JP
- Japan
- Prior art keywords
- state
- likelihood
- value
- path
- maximum value
- 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.)
- Granted
Links
Landscapes
- Error Detection And Correction (AREA)
- Dc Digital Transmission (AREA)
Abstract
(57)【要約】
【目的】受信符号と発生可能性のある信号との尤度をと
り、たたみ込み符号の各状態ごとに尤度加算値の大きな
方を選択して生残りパスとし、生残りパスを過去に逆上
って受信信号を推定する複合器において、加算して得る
状態尤度のうち最大のものが常に所定ビットで表現し得
る最大値となるよう状態尤度を正規化して推定誤り率を
低減する。
【効果】状態ごとに尤度加算値の大きな方をパスを選択
してその加算値を出力する尤度加算選択メモリ46の出
力は正規化前状態尤度メモリ49に格納され、最大値探
索メモリ51で最大のものが選ばれ、正規化メモリ54
にてその最大のものと表現し得る最大値との差を示す可
変値が算出されるとともに、各加算値からこの可変値が
減算されて次の生残りパス選択のために各状態の状態尤
度として状態尤度メモリ55に記憶される。
(57) [Abstract] [Purpose] The likelihood between the received code and the signal that may occur is taken, and the one with the larger likelihood addition value is selected for each state of the convolutional code to make the survivor path. In a combiner that estimates the received signal by going up the remaining path in the past, normalizes the state likelihood so that the maximum state likelihood obtained by addition is always the maximum value that can be expressed by a predetermined bit. Reduce the estimated error rate. [Effect] The output of the likelihood addition selection memory 46, which selects a path having a larger likelihood addition value for each state and outputs the addition value, is stored in the pre-normalization state likelihood memory 49, and the maximum value search memory The largest one is selected in 51, and the normalized memory 54
At that time, a variable value indicating the difference between the maximum value and the maximum value that can be expressed is calculated, and this variable value is subtracted from each added value to calculate the state likelihood of each state for the next survivor path selection. It is stored in the state likelihood memory 55 as a degree.
Description
【0001】[0001]
【産業上の利用分野】本発明はたたみ込み符号の復号
器、更に詳しく言えば、伝送データの符号誤りを少なく
するため伝送すべきデータ符号をコンボリューショナル
(たたみ込み)符号のような冗長な符号にして伝送して
得られた受信信号を、そのたたみ込み符号の性質と雑音
の統計的性質を利用し過去に逆上して予測される複数の
受信値のうち最も確率の高い復号値を復号値とする復号
器(ビタビ復号器)に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a convolutional code decoder, and more particularly to a redundant convolutional code such as a convolutional code for a data code to be transmitted in order to reduce code errors in transmission data. Using the characteristics of the convolutional code and the statistical characteristics of noise, the received signal obtained by transmitting it as a code is converted into the decoded value with the highest probability among the multiple received values predicted in reverse in the past. The present invention relates to a decoder (Viterbi decoder) having a decoded value.
【0002】[0002]
【従来の技術】ビタビ復号器は、衛星通信などのように
受信電力が制限され、信号対雑音比が小さい状態で受信
が必要な場合特に威力を発揮し、ビタビ復号器を付けな
い場合に比べて誤り率を2ケタ以上下げることができ
る。また別の見方をすれば、同じ誤り率を達成するため
に必要な電力を3〜4dB程低くでき、送信電力をその
分低く抑えることができる。2. Description of the Related Art A Viterbi decoder is particularly effective when reception power is limited and reception is required in a state where the signal-to-noise ratio is small, such as in satellite communication, and is more effective than when a Viterbi decoder is not attached. The error rate can be reduced by two digits or more. From another point of view, the power required to achieve the same error rate can be reduced by about 3 to 4 dB, and the transmission power can be reduced accordingly.
【0003】ビタビ復号アルゴリズムは、文献1“Erro
r Boundsfor Convolutional Codesand Asymptotically
Optimum Decoding Algorithm”A. J. Viterbi IEEE Tra
ns. on Information Theory IT-13 No.2 pp.260-269 Ap
ril 1967ではじめて紹介された。また、文献2“Viterb
i Decoding for Satellite and Space Communication”
J. A. Heller IEEE Transaction COM-19 No.5 October
1971 pp835〜848にビタビ復号のシミュレーションやハ
ードウェアに関することが記載されている。ビタビ復号
アルゴリズムは、考えられうるすべてのデータ系列と受
信系列を比較し最も確率の高い(最も似ている)データ
系列を選択するのではなく、各受信シンボル毎に、限ら
れた数のデータ系列を選択し以下は選択によりふるい落
されたデータ系列は考慮しないことにより、計算量を極
端に減らすことのできるアルゴリズムである。このよう
にしても性能的にみて、すべてのデータ系列と受信系列
とを比較する場合と同一であることは文献1で証明され
ている。The Viterbi decoding algorithm is described in Reference 1 "Erro".
r Boundsfor Convolutional Codesand Asymptotically
Optimum Decoding Algorithm ”AJ Viterbi IEEE Tra
ns.on Information Theory IT-13 No.2 pp.260-269 Ap
First introduced in ril 1967. Also, reference 2 “Viterb
i Decoding for Satellite and Space Communication ”
JA Heller IEEE Transaction COM-19 No.5 October
1971 pp835 to 848 describes Viterbi decoding simulation and hardware. The Viterbi decoding algorithm does not compare all possible data sequences with the received sequence and selects the most probable (most similar) data sequence, but rather a limited number of data sequences for each received symbol. The following is an algorithm that can significantly reduce the amount of calculation by not considering the data series filtered out by selection. It is proved in Document 1 that the performance is the same as that in the case of comparing all the data series and the reception series even in this case.
【0004】上記たたみ込み符号の復号器の一般的な構
成は受信アナログ信号をディジタル信号に変換するアナ
ログ・ディジタル(A/D)変換器と、上記A/D変換
器の出力とたたみ込み符号の規則によって考えられる過
去の状態から現在の状態に遷移するパスに発生する符号
との相関をパス尤度として求める手段と、上記パス尤度
と過去の状態の尤度を加算し、現在の各状態の状態を求
め、現在の複数の状態の状態尤度のうち大きい尤度を
“生残りパス”とする生残パス選択手段と、上記生残り
パスの時系列情報から出力を推定、すなわち復号出力を
得る論理回路から構成される。The general configuration of the convolutional code decoder is an analog-to-digital (A / D) converter for converting a received analog signal into a digital signal, and the output of the A / D converter and the convolutional code. Means for obtaining as a path likelihood the correlation with the code generated in the path transiting from the past state to the current state, which is considered by the rule, and the path likelihood and the past state likelihood are added to obtain each current state. Of the current state, the output is estimated from the time-series information of the surviving path, that is, the decoding output. It is composed of a logic circuit for obtaining
【0005】従来提案されているビタビ復号器(U. S.
P. 3789360 CONVOLUTIONAL DECODE)では構成回路に多
数の回路を必要とする。すなわち状態尤度を求める基本
的な回路を状態の数だけ用意しなければならず、これを
共通の回路で実現し、時分割的に多重化しようとすれば
多くのマルチプレクサおよびデマルチプレクサを必要と
して、回路規模縮小の効果が上らない。又上記論理回路
を多数必要とする。一般に状態数をNとすれば、論理回
路の規模が状態数Nの2倍に増加するという、実際上不
利な欠点を有する。The Viterbi decoder (US
P. 3789360 CONVOLUTIONAL DECODE) requires a large number of circuits in the configuration circuit. That is, it is necessary to prepare as many basic circuits for calculating the state likelihood as the number of states, and if this is realized by a common circuit and time-division multiplexing is performed, many multiplexers and demultiplexers are required. , The effect of circuit scale reduction does not increase. Further, a large number of the above logic circuits are required. In general, if the number of states is N, the scale of the logic circuit is twice as large as the number N of states, which is a practical disadvantage.
【0006】[0006]
【発明が解決しようとする課題】ビタビ復号器では各状
態の状態尤度は過去の状態尤度とパス尤度の加算を行う
ため、一定期間、すなわち時系列の複数のパスに亘って
加算を行うと、状態尤度を表すために必要なビット数が
著しく増大する。そのため状態尤度の値を一定範囲にお
さえる正規化という操作をする正規化手段が必要とな
る。In the Viterbi decoder, since the state likelihood of each state is obtained by adding the past state likelihood and the path likelihood, the addition is performed for a certain period, that is, over a plurality of time-series paths. Doing so significantly increases the number of bits required to represent the state likelihood. Therefore, a normalizing means for performing an operation of normalizing the value of the state likelihood within a certain range is required.
【0007】従来提案されているビタビ復号器(U. S.
P 4015238 METRIC UPDATER FOR MAXIMUM LIKELIHOOD DE
CODER)では、上記正規化手段は状態尤度がある固定の
しきい値をこえたということをあらわす信号を、状態尤
度とパス尤度の加算・選択用ROMのアドレスに戻すよ
うに構成されている。これは、しきい値をこえた場合に
ある特定値を状態尤度から減算することにより正規化を
行っていることを意味し、状態尤度を表わす値(4bit
ならば0〜15)の全範囲を十分利用しているとは言え
ず、誤り率特性の劣化を招く。A Viterbi decoder (US
P 4015238 METRIC UPDATER FOR MAXIMUM LIKELIHOOD DE
In CODER), the normalizing means is configured to return a signal indicating that the state likelihood exceeds a certain fixed threshold value to the address of the ROM for addition / selection of the state likelihood and the path likelihood. ing. This means that the normalization is performed by subtracting a specific value from the state likelihood when the threshold value is exceeded, and the value indicating the state likelihood (4 bits
In that case, it cannot be said that the entire range of 0 to 15) is fully utilized, and the error rate characteristic is deteriorated.
【0008】本発明の主な目的は、復号器の状態尤度の
処理回路のダイナミックレンジを有効に利用し、誤り率
特性の向上を企ることである。A main object of the present invention is to effectively utilize the dynamic range of the state likelihood processing circuit of the decoder and attempt to improve the error rate characteristic.
【0009】[0009]
【課題を解決するための手段】上記目的を達成するた
め、本発明は、たたみ込み符号の受信信号とたたみ込み
符号によって発生の可能性を持つ複数の伝送路符号との
相関(パス尤度)を得る第1手段と、たたみ込み符号に
おける複数の状態毎に、その各状態に入る複数のパスに
対応する上記第1手段の出力およびそのパスの発生した
状態の状態尤度を加算し、上記複数のパスに対応する複
数の加算値のうちで最大の値を有する生残りパスを選択
し、選択された生残りパスに対応する加算値をその状態
の状態尤度として一時記憶するとともに、選択した生残
りパスは上記各状態に入る複数のパスのいずれであるか
を示す生残りパス情報を発生する手段と、上記第2手段
からのたたみ込み符号における複数の状態ごとの生残り
パス情報を格納して現在からある時間過去に逆上った上
記受信信号の復号値を推定する手段とを有するたたみ込
み符号の復合器において、上記の生残りパスの選択、生
残りパス情報の発生を行なう手段は、さらに加算値の最
大のものが状態尤度にわりあてたビット数で表現可能な
最大値を越えたときに加算値の全てから可変値を減じて
各加算値を上記最大値以下とし、かつ減じた結果が負と
なるものは値をゼロとし、その結果を各状態の状態尤度
とする正規化手段を含む点を特徴とする。In order to achieve the above object, the present invention relates to a correlation (path likelihood) between a received signal of a convolutional code and a plurality of transmission path codes which may be generated by the convolutional code. For each of a plurality of states in the convolutional code, the output of the first means corresponding to a plurality of paths entering each state and the state likelihood of the state in which the path has occurred are added, Selects the surviving path having the maximum value among the plurality of added values corresponding to the plurality of paths, temporarily stores the added value corresponding to the selected surviving path as the state likelihood of the state, and selects Means for generating survivor path information indicating which of the plurality of paths enters each state, and survivor path information for each of the plurality of states in the convolutional code from the second means. Store In a convolutional code decoder having means for estimating the decoded value of the received signal that has gone up a certain time past from the time of existence, means for selecting the above surviving path and generating surviving path information, Furthermore, when the maximum addition value exceeds the maximum value that can be expressed by the number of bits assigned to the state likelihood, the variable value is subtracted from all the addition values to make each addition value less than or equal to the maximum value, and subtracted. Those having a negative result are characterized by having a value of zero and including a normalizing means for making the result the state likelihood of each state.
【0010】[0010]
【作用】上記可変値として、代表的には加算値のうちの
最大のものと、上記表現可能な最大値との差を用いる。
これにより、次時刻の生残りパス選択に用いるために一
時記憶される各状態の状態尤度の最大のものの値が表現
可能な最大値となり、減算の結果が負になる状態尤度を
のぞき状態尤度どうしの大小の差の情報はそのまま保存
される。尤度小のものはパス選択に重要性が低いので、
つまり、正規化にかかわらず、状態尤度のダイナミック
レンジを十分に利用でき、誤りの少ない生残りパス選択
が可能となる。これに代えて加算値のうちの最小の値を
一担上記可変値として採用して減算を行ない、さらに、
もし加算値のうちの最大のものと最小のものとの差Dが
上記表現可能な最大値を越えていれば、この差Dと表現
可能な最大値との差をさらに各値から減じるようしても
良い。これによれば、状態尤度のうちの最大のものの値
は常に上記表現可能な最大値となるとは限らないが、ほ
ぼこれに近い値となり、上述の代表例と同様に状態尤度
のダイナミックレンジを常に十分に利用することができ
る。As the variable value, the difference between the maximum value of the added values and the maximum value that can be expressed is typically used.
As a result, the maximum value of the state likelihood of each state temporarily stored for use in selecting the surviving path at the next time becomes the maximum representable value, and the result of subtraction becomes a negative state. The information on the difference between the likelihoods is stored as it is. Those with a small likelihood are less important for path selection, so
That is, regardless of the normalization, the dynamic range of the state likelihood can be fully used, and the survivor path selection with few errors can be performed. Instead of this, the smallest value of the added values is adopted as the variable value, and the subtraction is performed.
If the difference D between the maximum value and the minimum value of the added values exceeds the maximum value that can be expressed, the difference between the difference D and the maximum value that can be expressed is further subtracted from each value. May be. According to this, the maximum value of the state likelihood does not always become the maximum value that can be expressed, but it becomes a value close to this, and the dynamic range of the state likelihood is similar to the representative example described above. Can always be fully utilized.
【0011】[0011]
【実施例】まず、本発明の理解を容易にするため、たた
み込み符号の符号化および復号化の原理について図面を
用いて説明する。DESCRIPTION OF THE PREFERRED EMBODIMENTS First, in order to facilitate understanding of the present invention, the principle of encoding and decoding a convolutional code will be described with reference to the drawings.
【0012】図1に、たたみ込み符号器と復号器を含む
代表的な通信システムを示す。情報源1から出力された
情報ビット(伝送すべきデータ)列はたたみ込み符号器
10により冗長度を付加され、伝送路11に送出され
る。伝送路では雑音2が加わり、符号器10出力の伝送
シンボル(伝送路符号)bとは異なったシンボル(受信
信号)cが受信される。FIG. 1 shows a typical communication system including a convolutional encoder and a decoder. The convolutional encoder 10 adds redundancy to the information bit (data to be transmitted) string output from the information source 1 and sends it to the transmission line 11. Noise 2 is added to the transmission line, and a symbol (received signal) c different from the transmission symbol (transmission line code) b output from the encoder 10 is received.
【0013】図に示すように情報ビット列a“010
…”が符号器によって“00,11,10…”の伝送符
号列bに符号化される。受信信号cは“01,11,0
0…”となる。これは第2番目の“0”が雑音によって
“1”に変った例を示す。復号器12では、上記誤った
受信信号であるに係らず、以下説明するたたみ込み符号
の性質を利用して、正しく情報源ビット列a“010
…”を復号し、出力端3に出力する。As shown in the figure, the information bit string a "010"
"" Is encoded by the encoder into a transmission code string b of "00, 11, 10 ...". The received signal c is "01, 11, 0.
This is an example in which the second "0" is changed to "1" due to noise. In the decoder 12, the convolutional code described below is applied regardless of the erroneous received signal. The source bit string a “010
... "is decoded and output to the output terminal 3.
【0014】図2に、r=1/2(rは符号の効率と呼
ばれ、情報ビット長/伝送符号ビット長であらわされ
る)K(拘束長)=3(Kは符号器シフトレジスタの長
さをあらわす)のたたみ込み符号器の例を示す。情報ビ
ット列aは3ビットのシフトレジスタ13に順次入力さ
れる(シフトレジスタの長さ≧拘束長)。モジュロ2加
算器14はシフトレジスタの第1,第2,第3ビットの
モジュロ2をとり、もう一つのモジュロ2加算器15は
シフトレジスタの第1,第3のビットのモジュロ2をと
る。シフトレジスタに1ビット入力される毎に、2つの
モジュロ2加算器の出力を切り換え器16により交互に
伝送路11に送出する。In FIG. 2, r = 1/2 (r is called code efficiency and is represented by information bit length / transmission code bit length) K (constraint length) = 3 (K is the length of the encoder shift register) The following is an example of a convolutional encoder. The information bit string a is sequentially input to the 3-bit shift register 13 (shift register length ≧ constraint length). The modulo-2 adder 14 takes the modulo 2 of the first, second, and third bits of the shift register, and the other modulo-2 adder 15 takes the modulo 2 of the first, third bits of the shift register. Every time one bit is input to the shift register, the outputs of the two modulo-2 adders are alternately sent to the transmission line 11 by the switch 16.
【0015】図3に、図2のたたみ込み符号の状態遷移
図を示す。図中サークルで包む状態(state)20は、
たたみ込み符号器のシフトレジスタ13の前2ビットを
表わしている。各状態間の遷移はパスdで表わされ、実
線のパスは符号器入力ビットが“0”のときの遷移を示
し、破線のパスは符号器入力ビットが“1”のときの遷
移を示す。たとえば状態11から状態01に遷移する場
合の符号器入力ビットは“0”である。パスdには2ビ
ットの伝送路符号(符号器出力)が対応している。すな
わち状態11から状態01に遷移する場合、符号器から
“01”という伝送路符号が出力される。FIG. 3 shows a state transition diagram of the convolutional code in FIG. In the figure, the state 20 that is wrapped in a circle is
It represents the front two bits of the shift register 13 of the convolutional encoder. The transition between states is represented by path d, the solid line path indicates the transition when the encoder input bit is “0”, and the broken line path indicates the transition when the encoder input bit is “1”. .. For example, the encoder input bit at the time of transition from state 11 to state 01 is "0". A 2-bit transmission line code (encoder output) corresponds to the path d. That is, when the state 11 transits to the state 01, the encoder outputs the channel code "01".
【0016】図3に示した状態遷移図の時間推移をより
明確にするため図3を図4のトレリス線図で表す。図に
おいて、右に行く程時間が経過していることを表わして
いる。To clarify the time transition of the state transition diagram shown in FIG. 3, FIG. 3 is represented by the trellis diagram of FIG. In the figure, it means that the time goes to the right.
【0017】図4で、時刻0で状態00しかないのは、
初期状態00と仮定しているためである。時刻2以後は
同一パタンがくりかえされている。この同一パタンのく
りかえしの性質を利用し、たたみ込み符号の復号(ビタ
ビ復号)が行われる。次にビタビ復号は具体的にどのよ
うに行われるかを図5,図6を使って説明する。ビタビ
復号においては、まず各状態(00,01,10,1
1)にある相関値(状態尤度:state metricと呼ぶ)e
を対応させる。また、受信信号c=r1r1′とパスpに
対応する伝送路符号との相関をあらわす指標(パス尤度
branch metricと呼ぶ)fを各パスに対応させる。今、
時刻nにおいて、各状態尤度eがすべて0であったと仮
定しよう(この仮定はビタビ復号動作説明の便宜上つけ
たものである。)。時刻nからn+1の間にr1r1′を
受信したとする。この受信信号rr′に対応するパス尤
度fを図5に例示する。次に時刻n+1では、各状態に
入る2つのパスのうちどちらかを選択する。選択基準
は、各パスの出発点となっている。時刻nにおける状態
尤度eとパス尤度fを加算し、大きい方、すなわち相関
が強い方のパスを選択し、これを生残りパスと呼ぶ。ま
た、加算,選択された尤度を時刻n+1の時の各状態尤
度とする。具体例で再度説明する。時刻n+1の状態0
0に注目しよう。この状態には2つのパスp−1および
p−2が入っており、第一のパスp−1の時刻nにおけ
る出発点は状態00であり、第二のパスp−2の出発点
は状態01である。第一のパスp−1の場合、状態00
の状態尤度が0、パス尤度fが14であり、合計尤度1
4となる。第二のパスp−2の場合、状態01の状態尤
度が0、パス尤度も0であり、合計尤度0となる。した
がって時刻n+1において状態00に入る2つのパスの
うち、パスp−1を選択しパスp−2をすてる。パスp
−1を生残りパスとする。また、状態00の時刻n+1
における状態尤度を14とする。In FIG. 4, the only state 00 at time 0 is
This is because it is assumed that the initial state is 00. After time 2, the same pattern is repeated. Decoding (Viterbi decoding) of the convolutional code is performed by utilizing the repetitive nature of this same pattern. Next, how Viterbi decoding is specifically performed will be described with reference to FIGS. In Viterbi decoding, first, each state (00, 01, 10, 1
Correlation value in 1) (called state likelihood: state metric) e
Correspond to. In addition, an index (path likelihood) that represents the correlation between the received signal c = r 1 r 1 ′ and the transmission path code corresponding to the path p.
Corresponding f to each path). now,
Let us assume that at time n, each state likelihood e is all 0 (this assumption is given for convenience of explanation of Viterbi decoding operation). It is assumed that r 1 r 1 ′ is received between time n and n + 1. The path likelihood f corresponding to this received signal rr 'is illustrated in FIG. Next, at time n + 1, one of two paths entering each state is selected. The selection criteria are the starting point for each pass. The state likelihood e and the path likelihood f at time n are added to select the larger path, that is, the path having a stronger correlation, and this is called the surviving path. In addition, the added and selected likelihoods are the respective state likelihoods at time n + 1. A specific example will be described again. State 0 at time n + 1
Pay attention to 0. This state includes two paths p-1 and p-2, the starting point of the first path p-1 at time n is the state 00, and the starting point of the second path p-2 is the state. 01. In the case of the first pass p-1, state 00
State likelihood 0, path likelihood f 14 and total likelihood 1
It becomes 4. In the case of the second path p-2, the state likelihood of state 01 is 0, the path likelihood is also 0, and the total likelihood is 0. Therefore, the path p-1 is selected and the path p-2 is selected from the two paths entering the state 00 at the time n + 1. Pass p
-1 is the survivor pass. Also, the time n + 1 of state 00
The state likelihood at is 14.
【0018】上記に示した操作を時刻n+1において各
状態00,01,10,11のすべてにつき行い、各状
態に入力されるパスを1つずつ残し、各状態尤度として
記憶しておく。The above-described operation is performed for all the states 00, 01, 10, 11 at time n + 1, one path is input to each state, and the state likelihood is stored.
【0019】時刻n+1とn+2との間にr2r2′を受
信後、時刻n+2において、まったく同一動作をくりか
えす。図6に時間n〜n+4の場合の生残りパスおよび
状態尤度を示す。After receiving r 2 r 2 ′ between the times n + 1 and n + 2, the exactly same operation is repeated at the time n + 2. FIG. 6 shows the surviving path and the state likelihood in the case of time n to n + 4.
【0020】図6を見るとわかるように、生残りパスの
うち途中でたち切れになっているものもある。時刻n+
4の各状態から生残りパスq(太線で示す)をさかのぼ
っていくと、時刻n+2で1つに合流しているのがわか
る。それより以前では生残りパスは1つとなっており、
その生残りパスに対応する情報ビット(パスが実線なら
“0”、破線なら“1”)を決定できる。すなわち、ど
のデータ系列が正しいかを決定でき、復号出力を決定で
きる。As can be seen from FIG. 6, some of the surviving paths are cut off in the middle. Time n +
When tracing the survivor path q (shown by the thick line) from each state of 4, it can be seen that they merge into one at time n + 2. Before that, there was only one survivor pass,
An information bit corresponding to the surviving path (“0” if the path is a solid line, “1” if the path is a broken line) can be determined. That is, it is possible to determine which data series is correct and to determine the decoding output.
【0021】生残りパス情報qの記憶は通常2つの入力
パスのうちどちらを選択したかを各状態毎に格納してお
くことにより行われる。たとえば、図5で言えば、時刻
n+1で状態00に入る2つのパスp−1,p−2のう
ち上の方のパスp−1が生残れば“0”、下の方のパス
p−2が生残れば“1”を記憶するといった具合であ
る。このように生残りパス状報を記憶すると、時刻nに
おける状態を表わす2ビット(00,01)のうち、第
2ビット目を格納したことと等価である。状態が符号器
シフトレジスタの前2ビットを表わしていることと考え
あわせると、1時刻前の符号器入力ビットすなわち情報
ビットそのものを格納していることになる。The survivor path information q is normally stored by storing which of the two input paths is selected for each state. For example, referring to FIG. 5, if the upper path p-1 of the two paths p-1 and p-2 entering the state 00 at time n + 1 is alive, it is "0", and the lower path p-. If 2 survives, "1" is stored. Storing the survivor path information in this way is equivalent to storing the second bit of the 2 bits (00, 01) representing the state at time n. Considering that the state represents the front two bits of the encoder shift register, it means that the encoder input bit one time before, that is, the information bit itself is stored.
【0022】例えば、図6、時刻n+1における生残り
パス情報qは、状態00,01,10,11に対しそれ
ぞれ0,0,1,0となる。For example, the surviving path information q at time n + 1 in FIG. 6 is 0, 0, 1, 0 for states 00, 01, 10, 11, respectively.
【0023】このように生残りパス情報を記憶すると、
最終的に復号器出力を決定する際、現在から過去に逆上
って生残りパスをたどっていく必要がある。図6の例で
説明する。現在、時刻n+4とする。現在まで生残って
いるパスは時刻n+3では状態00と10から出発して
いる。時刻n+3において状態00と10に到達してい
るパスの時刻n+2での出発状態を見ると状態01と1
つになっている。以後、時刻n+1では状態10、時刻
nでは状態01という具合に時間を逆上るにしたがい1
本のパスが生残っていくのがわかる。生残りパスが1本
となれば、生残りパスに対応する情報ビットを出力する
ことができる。When the survivor path information is stored in this way,
When finally determining the decoder output, it is necessary to trace back the survivor path from the present to the past. An example of FIG. 6 will be described. At present, the time is n + 4. The paths that have survived to the present start from states 00 and 10 at time n + 3. Looking at the departure state at time n + 2 of the paths reaching states 00 and 10 at time n + 3, states 01 and 1
It is connected. After that, the time goes up to state 10 at time n + 1 and state 01 at time n.
You can see that the book paths are still alive. If there is only one surviving path, the information bit corresponding to the surviving path can be output.
【0024】ここで、図6を見ると、各状態の状態尤度
eが時間とともに増加しているのがわかる。これは状態
尤度eを記憶するために必要なビット数がこのままでは
無限に必要となってしまうことを意味する。したがって
実際には状態尤度を一定範囲内におさえる正規化という
操作が必要である。Here, referring to FIG. 6, it can be seen that the state likelihood e of each state increases with time. This means that the number of bits required to store the state likelihood e will be infinite as it is. Therefore, in reality, an operation called normalization that keeps the state likelihood within a certain range is necessary.
【0025】従来例(US Patent 4015238)の復号器で
は、状態尤度がある固定のしきい値をこえたということ
をあらわす信号を、状態尤度とパス尤度の加算・選択用
ROMのアドレスに戻している。これは、しきい値をこ
えた場合にある特定値を状態尤度から減算することによ
り正規化を行っていることを意味し、状態尤度を表わす
値(4bitならば0〜15)の全範囲を十分利用してい
るとは言えず、誤り率特性の劣化を招く。In the decoder of the conventional example (US Patent 4015238), a signal indicating that the state likelihood exceeds a certain fixed threshold is used as the address of the ROM for addition / selection of the state likelihood and the path likelihood. Have returned to. This means that normalization is performed by subtracting a certain value from the state likelihood when the threshold value is exceeded, and all values (0 to 15 for 4 bits) representing the state likelihood are normalized. It cannot be said that the range is fully used, and the error rate performance is deteriorated.
【0026】図7は本発明によるたたみ込み符号の復号
器の一実施例の構成を示す図である。FIG. 7 is a diagram showing the configuration of an embodiment of a convolutional code decoder according to the present invention.
【0027】受信信号cは入力端子40に入力され、ア
ナログディジタル変換器41によりディジタル信号に変
換される。通常このディジタル信号は3ビットで量子化
される。今まで例としてあげてきた、r=1/2(r:
符号の効率)、K=3のたたみ込み符号の場合、時間的
に直列に入る2つの受信信号(例えば図5のr1とr1′
やr2とr2′のように)が得られる毎に復号処理が実行
される。すなわち、2つの受信信号(r1,r1′)に対
応した2つの3ビットディジタル信号(合計6ビット)
s−1,s−2を同時に利用することになる。2つのデ
ィジタル信号s−1,s−2はメモリ43のアドレスと
なる。メモリ43は受信信号と伝送路符号の相関をあら
わすパルス尤度を記憶するROMである。したがって、
メモリ43は上記2つの受信信号r,r′が入力される
毎に各状態に対応してそれぞれ2通りのパス尤度(全体
で8通りのパス尤度)を出力する。The received signal c is input to the input terminal 40 and converted into a digital signal by the analog-digital converter 41. Usually, this digital signal is quantized by 3 bits. As an example, r = 1/2 (r:
Efficiency of the code), in the case of a convolutional code with K = 3, two received signals (eg r 1 and r 1 ′ in FIG. 5) entering in series in time.
And r 2 and r 2 ′) are obtained, the decoding process is executed. That is, two 3-bit digital signals (total 6 bits) corresponding to the two received signals (r 1 , r 1 ′)
s-1 and s-2 will be used at the same time. The two digital signals s-1 and s-2 serve as addresses of the memory 43. The memory 43 is a ROM that stores the pulse likelihood that represents the correlation between the received signal and the transmission path code. Therefore,
The memory 43 outputs two kinds of path likelihoods (a total of eight kinds of path likelihoods) corresponding to each state each time the above two received signals r and r ′ are input.
【0028】メモリ43の出力であるパス尤度fはビッ
ト数低減に伴う性能劣化をなくすため、4ビット(16
レベル)で表わされ、これがメモリ46のアドレスとな
る。The path likelihood f which is the output of the memory 43 is 4 bits (16 bits) in order to eliminate the performance deterioration due to the reduction of the number of bits.
Level), which is the address of the memory 46.
【0029】メモリ46は、パス尤度fと状態尤度eと
の加算と、加算された状態尤度のうち大きい方の選択、
生残りパス情報gの記憶の3機能を有するROMであ
る。メモリ46のアドレスとしては、前述のパス尤度f
の他、1時刻前における2つの状態尤度h−1,h−2
が必要である。なぜならば、現在のある状態尤度eを求
めるためには、その状態に入る2つのパスの出発点とな
っている2つの状態尤度eとそれぞれのパス尤度fが必
要だからである(しかし2つのパス尤度は実際にはお互
い1の補数の関係となっているので、1つのパス尤度の
みメモリ46のアドレスにつなげばよい)。The memory 46 adds the path likelihood f and the state likelihood e and selects the larger of the added state likelihoods.
It is a ROM having three functions of storing the surviving path information g. As the address of the memory 46, the path likelihood f described above is used.
In addition, the two state likelihoods h-1 and h-2 one hour before
is necessary. This is because in order to obtain the current state likelihood e, two state likelihoods e, which are the starting points of the two paths entering the state, and the respective path likelihoods f are necessary (but Since the two path likelihoods are actually in a one's complement relationship with each other, only one path likelihood has to be connected to the address of the memory 46).
【0030】メモリ46の出力47は加算,選択される
ある状態尤度f′を表わし、これは読み出し、書込み可
能メモリ(RAM)49に格納される。メモリ46のも
う1つの出力は生残りパス情報gを表わし、これはRA
M50に格納される。The output 47 of the memory 46 represents a certain state likelihood f ′ to be added and selected, which is stored in the readable / writable memory (RAM) 49. The other output of memory 46 represents survivor path information g, which is RA
Stored in M50.
【0031】メモリ49に格納されている各状態尤度
は、5ビットで表わされており、これをそのままメモリ
46のアドレスに戻すとメモリ46の容量が大きくなり
すぎるし、次の時刻では6ビットで表現する必要性が生
じ、時間がたつにつれ1ビットずつふえていくことにな
る。これを解決するために毎回各状態尤度を4ビットに
制限する(これを正規化と呼ぶ)。これは次のように行
われる。メモリ49に格納されている各状態尤度(これ
を正規化前状態尤度とよぶ)の中の最大値を見つけ出
す。メモリ49の出力をメモリ(ROM)51のアドレ
スとする。メモリ51の他のアドレス53は以前に求め
られ、フリップフロップ52に記憶されている状態尤度
の最大値を表わしている。メモリ51の機能は、2つの
アドレス値を比較し、大きい方を出力することである。
このようにしてメモリ49に格納されているすべての状
態尤度のうち最大値が求められ52のフリップフロップ
に記憶される。Each state likelihood stored in the memory 49 is represented by 5 bits. If the state likelihood is returned to the address of the memory 46 as it is, the capacity of the memory 46 becomes too large, and at the next time, 6 The need to express in bits arises, and it will increase by one bit over time. To solve this, each state likelihood is limited to 4 bits each time (this is called normalization). This is done as follows. The maximum value in each state likelihood stored in the memory 49 (referred to as pre-normalized state likelihood) is found. The output of the memory 49 is used as the address of the memory (ROM) 51. The other address 53 of the memory 51 represents the maximum value of the state likelihood that was previously determined and stored in the flip-flop 52. The function of the memory 51 is to compare two address values and output the larger one.
In this way, the maximum value of all the state likelihoods stored in the memory 49 is obtained and stored in the flip-flop 52.
【0032】すべての状態尤度の最大値が求められると
次に5ビットで表わされている各状態尤度を4ビットで
表現することを行う。これは、求められた最大値が15
(4ビットで表現できる最大値)となるように各状態尤
度から(最大値−15)という可変値を減じることによ
り実行される。もし、減算の結果ゼロ以下となった場合
は強制的にゼロとする。このようにすると、正規化後の
状態尤度最大値はつねに15(4ビットで表現できる最
大値)となり、4ビットで表現できる全範囲を十分活用
できる。したがって誤り率劣化を防ぐことができる。When the maximum values of all the state likelihoods have been obtained, each state likelihood represented by 5 bits is represented by 4 bits. This has a maximum value of 15
It is executed by subtracting a variable value of (maximum value −15) from each state likelihood so as to be (maximum value that can be represented by 4 bits). If the result of the subtraction is less than or equal to zero, it is forcibly set to zero. In this way, the normalized state likelihood maximum value is always 15 (maximum value that can be represented by 4 bits), and the entire range that can be represented by 4 bits can be fully utilized. Therefore, the error rate deterioration can be prevented.
【0033】実例を示すと、今4つの状態(00,0
1,10,11)の正規化前の各状態尤度が27,1
0,22,19だったとする。最大値27が求められる
と、この状態尤度が15となるように、すべての状態尤
度から12(=27−15)が引かれる。しかし、2番
目の状態尤度は10−12=−2となりゼロ以下となる
ので強制的にゼロにする。したがって、正規化メモリ5
4の出力は各状態で15,0,10,7となり4ビット
で表現される。このように正規化され、4ビットで表現
された各状態尤度は状態尤度メモリ55に格納され、次
に受信信号を得た時にメモリ46のアドレスとして使用
される。As an example, four states (00,0)
1, 10, 11) each state likelihood before normalization is 27, 1
Suppose it was 0,22,19. When the maximum value 27 is obtained, 12 (= 27-15) is subtracted from all the state likelihoods so that the state likelihood becomes 15. However, the second state likelihood is 10 −12 = −2 and is less than or equal to zero, so it is forcibly set to zero. Therefore, the normalized memory 5
The output of 4 is 15, 0, 10, 7 in each state and is represented by 4 bits. Each state likelihood thus normalized and represented by 4 bits is stored in the state likelihood memory 55, and is used as an address of the memory 46 when the received signal is next obtained.
【0034】図7はビタビ復号器を一基本回路の状態間
多重処理により実現する場合の実施例を示してあるが、
多重処理でなく基本回路を多数並列してならべて処理を
行う場合でも上記の考え方は適用できる。図8は上記最
大値探索メモリ51及び正規化メモリ54部を並列に並
べて処理する場合の回路例を示す。図8において、正規
化前の状態尤度47の最大値を求めるメモリ51を3ヶ
(一般には状態数−1ヶ)用いて最大値53を求め、4
ビット正規化メモリ54を状態数分用意し正規化を行
う。本回路でも、上述しているのと同様の効果がある。FIG. 7 shows an embodiment in which the Viterbi decoder is realized by the state-to-state multiplex processing of one basic circuit.
The above concept can be applied to a case where a large number of basic circuits are arranged in parallel and processed instead of multiple processing. FIG. 8 shows an example of a circuit when the maximum value search memory 51 and the normalization memory 54 are arranged in parallel and processed. In FIG. 8, the maximum value 53 is obtained by using three memories 51 (generally, the number of states-1) for obtaining the maximum value of the state likelihood 47 before normalization.
Bit normalization memories 54 are prepared for the number of states and normalization is performed. This circuit also has the same effect as described above.
【0035】状態尤度の正規化(一定範囲内に保つ)手
段として毎回可変値を減ずる方法は他にもいくつかある
が、ここでは、さらにもうひとつを示すにとどめる。以
下にそれを示す。 ステップ1:正規化前状態尤度の最大値(MAX)と最
小値(MIN)を求める。 ステップ2:MAX−MIN=Dを求める。 ステップ3:正規化前状態尤度よりMINいう可変値を
減ずる。 ステップ4:D<15の場合には、ステップ3の結果を
正規化後状態尤度とする。D>15の場合には、ステッ
プ3の結果よりさらに(D−15)を減じ、負になった
場合は強制的にゼロとし、正規化後状態尤度とする。There are some other methods for reducing the variable value each time as means for normalizing state likelihood (keeping it within a certain range), but only another method will be shown here. This is shown below. Step 1: The maximum value (MAX) and the minimum value (MIN) of the pre-normalization state likelihood are calculated. Step 2: Determine MAX-MIN = D. Step 3: The variable value called MIN is subtracted from the pre-normalization state likelihood. Step 4: When D < 15, the result of step 3 is set as the normalized state likelihood. When D> 15, (D-15) is further reduced from the result of step 3, and when it becomes negative, it is forcibly set to zero and the normalized state likelihood is set.
【0036】本方法では、基本的には正規化前状態尤度
の最小値を探索し、それをすべての正規化前状態尤度か
ら減ずることにより正規化を実行している。ただし、こ
の方法だと、正規化前状態尤度の最大値と最小値の差が
15より大きい場合に、正規化後の状態尤度の最大値が
15以上となるため、ステップ4に示す補正が必要とな
る。In this method, basically, the minimum value of the pre-normalization state likelihood is searched, and the normalization is executed by subtracting it from all the pre-normalization state likelihoods. However, according to this method, when the difference between the maximum value and the minimum value of the pre-normalization state likelihood is larger than 15, the maximum value of the state likelihood after normalization becomes 15 or more, so the correction shown in step 4 is performed. Is required.
【0037】この方法によっても、毎回可変値を減じ正
規化を実行することにより、正規化後の状態尤度にわり
あてられたビット数で表現できる範囲を十分に活用する
ことが可能となっている。Also by this method, it is possible to fully utilize the range that can be represented by the number of bits assigned to the state likelihood after normalization by reducing the variable value and executing normalization every time. ..
【0038】図9は上記方法による正規化部の実施例の
構成を示す。正規化前状態尤度メモリ49の最小値探索
80と最大値探索51を行い、最大値,最小値をまず求
める。減算器83により正規化前態尤度より最小値を減
ずる。一方、最大値と最小値の差82は減算器81によ
り求められ、さらに84(15という値)との差を減算
器85により求める。85の結果の符号ビットが1すな
わち、最大値と最小値の差が15より小さい場合には、
選択回路87により、減算器83の出力を選択する。減
算器85の結果の符号ビットが“0”、すなわち、最大
値と最小値の差が15より大きい場合には、減算器83
の結果からさらに減算器85の結果を減じる。もし減算
器86の結果が負になれば、選択回路87の出力をゼロ
とし、それ以外は、減算器86の出力を選択回路87の
出力とする。選択回路87の出力88は正規化後の状態
尤度を表わしている。FIG. 9 shows the configuration of an embodiment of the normalizing section according to the above method. The minimum value search 80 and the maximum value search 51 of the pre-normalization state likelihood memory 49 are performed to find the maximum value and the minimum value first. The subtracter 83 subtracts the minimum value from the normalized likelihood. On the other hand, the difference 82 between the maximum value and the minimum value is obtained by the subtracter 81, and the difference between 84 (value of 15) is further obtained by the subtractor 85. If the sign bit of the result of 85 is 1, that is, the difference between the maximum value and the minimum value is smaller than 15,
The selection circuit 87 selects the output of the subtractor 83. When the sign bit of the result of the subtractor 85 is “0”, that is, when the difference between the maximum value and the minimum value is larger than 15, the subtractor 83
The result of the subtracter 85 is further subtracted from the result of If the result of the subtractor 86 becomes negative, the output of the selection circuit 87 is set to zero, otherwise the output of the subtractor 86 is set to the output of the selection circuit 87. The output 88 of the selection circuit 87 represents the state likelihood after normalization.
【0039】以上、状態尤度の正規化方法の実施例を示
した。The embodiment of the state likelihood normalization method has been described above.
【0040】再び、図7に戻り、メモリ50には生残り
パス情報gが記憶されている。すなわち、各状態に入る
2つのパスのうち上のパスが生残れば“0”、下のパス
が生残れば“1”が各状態毎に記憶されている。この場
合現在から過去に逆上って生残りパスをたどっていく必
要がある。Returning to FIG. 7 again, the memory 50 stores the surviving path information g. That is, of the two paths entering each state, "0" is stored if the upper path survives, and "1" is stored if the lower path survives. In this case, it is necessary to go up from the present to the past and follow the survival path.
【0041】フリップフロップ56は、現在から過去に
逆上る各時刻毎に生残りパスを記憶しておくためのもの
である。メモリ57は、ある時刻において生残りパスが
通過している状態60とその時刻における各状態の生残
りパス情報59をアドレスとし、1時刻前に生残りパス
が通過した状態を出力するROMである。61は復号器
出力を表わす。生残りパスの各状態通過,不通過を表わ
す信号60は従来4ビット(状態数分)必要であったも
のを本発明では2ビット(log2(状態数))としてい
る。これは、前記文献2に示されているように、約5・
K(K=拘束長)時刻逆上ると生残りパスは一本に集約
され、集約されない確率は伝送路で加わる雑音によって
生じる誤り率より十分小さい性質を利用している。これ
は、最初はどの状態からはじめても、時間を5K逆上れ
ば、いきつく先の状態は同じであることを意味してい
る。言いかえれば、時間を逆上る過程において最初どの
状態からはじめても5K時刻さかのぼればいつも同一の
状態を通過することになる。このようにすると、時間を
逆上る過程において各時刻において生残りパスはたえず
1本となり、通過する状態はただひとつとなる。したが
って各時刻において、生残りパスがどの状態を通過して
いるかを示す信号があればよい。すなわち、どの状態を
生残りパスが通過するかを表わすのに、各状態毎に1ビ
ット、合計4ビット(状態数分)の信号は必要でなく、
2ビット(log2(状態数))でよい。いまこの2ビット
をp1,p2とし、符号器シフトレジスタの前2ビットす
なわち状態を表わす2ビットと同一のビット構成とす
る。すなわち p1=0,p2=0の時、状態00を通過 p1=0,p2=1の時、状態01を通過 p1=1,p2=0の時、状態10を通過 p1=1,p2=1の時、状態11を通過 をそれぞれ意味するものとする。The flip-flop 56 is for storing the survivor path at each time when going up from the present to the past. The memory 57 is a ROM that outputs a state in which the surviving path has passed one hour before, using the state 60 in which the surviving path has passed at a certain time and the surviving path information 59 in each state at that time as addresses. .. 61 represents the decoder output. In the present invention, the signal 60 representing passing / non-passing of each state of the surviving path is 4 bits (for the number of states) in the past, but is 2 bits (log 2 (the number of states)) in the present invention. This is about 5 ...
When K (K = constraint length) time goes up, the surviving paths are aggregated into a single path, and the probability that they are not aggregated is sufficiently smaller than the error rate caused by noise added in the transmission path. This means that no matter which state is started at the beginning, if the time is reversed by 5K, the state of the sudden destination is the same. In other words, in the process of going backwards in time, no matter which state is started first, the same state is always passed if the time goes back 5K times. In this way, there is always one surviving path at each time in the process of going backwards, and there is only one passing state. Therefore, at each time, there should be a signal indicating which state the surviving path is passing through. That is, it is not necessary to use a signal of 1 bit for each state, that is, a total of 4 bits (for the number of states) to indicate which state the survivor passes.
2 bits (log 2 (number of states)) is enough. Now, let these two bits be p 1 and p 2 and have the same bit configuration as the previous 2 bits of the encoder shift register, that is, the 2 bits representing the state. That is, when p 1 = 0, p 2 = 0, the state 00 is passed, when p 1 = 0, p 2 = 1, the state 01 is passed, and when p 1 = 1 and p 2 = 0, the state 10 is passed p When 1 = 1 and p 2 = 1 respectively, it means passing through the state 11.
【0042】このようにした場合、p1′,p2′を1時
刻前の生残りパスが通過する状態を表わす2ビット、c
1,c2,c3,c4を生残りパス情報とすると、p1′,
p2′は次式のように表わされる。In this case, 2 bits representing the state where the surviving path one hour before passes through p 1 ′ and p 2 ′, c
If 1 , c 2 , c 3 , and c 4 are survivor path information, p 1 ′,
p 2 'is represented by the following equation.
【0043】 p1′=p2 (数1) p2′=¬p1・¬p2・c1+¬p1・p1・c2+p1・¬p2・c3 +p1・p2・c4 (数2) ここで¬は論理不定、・は論理積,+は論理和を表わ
す。P 1 ′ = p 2 (Equation 1) p 2 ′ = ¬p 1 · ¬p 2 · c 1 + ¬p 1 · p 1 · c 2 + p 1 · ¬p 2 · c 3 + P 1 · p 2 · c 4 (Equation 2) where ¬ is a logical indefinite, · is a logical product, and + is a logical sum.
【0044】上述の式のようにあらわされることは図4
のトレリス線図を用いて以下のように説明できる。この
説明において1時刻前を時刻3、現在を時刻4と考えれ
ば理解しやすい。What is expressed as the above equation is shown in FIG.
The trellis diagram of can be used to explain as follows. In this explanation, it is easy to understand if one time before is considered as time 3 and the present is considered as time 4.
【0045】まず、(数1)について説明する。First, (Equation 1) will be described.
【0046】1時刻前の生残りパスの通過,不通過を表
わす2ビット前1ビットp1′が1となるということ
は、1時刻前に状態10か11を通過することを意味す
る。このようになるのは図4のトレリス線図によれば、
現在、状態01か11を通過している場合のみである。
すなわち、現在生残りパスが通過している状態の後の1
ビット(p2)が1の場合のみである。式であらわせ
ば、p1′=p2となる。この場合、生残りパス情報には
無関係となる。The fact that the 1 bit p 1 ′ before 2 bits representing the passage or non-passage of the surviving path one hour before is 1 means that the state 10 or 11 is passed one hour before. According to the trellis diagram of FIG.
Only if the state 01 or 11 is currently passed.
That is, 1 after the state where the surviving path is currently passing.
Only if bit (p 2 ) is 1. According to the formula, p 1 ′ = p 2 . In this case, it has nothing to do with the survivor path information.
【0047】次に、(数2)について説明する。Next, (Equation 2) will be described.
【0048】1時刻前の生残りパス通過,不通過を表わ
す2ビットのうち後の1ビットp2′が1となるという
ことは、1時刻前に状態01か11を通過することを意
味する。これは4つの場合が考えられる。 現在状態00を通過し、状態00の生残りパス情報c
1=1(下の方のパスが生残る)の場合論理式で表わせ
ば、¬p1・¬p2・c1、 現在状態01を通過し、状態01の生残りパス情報c
2=1の場合、論理式で表わせば ¬p1・p2・c2 現在状態10を通過し、状態10の生残りパス情報c
3=1の場合、論理式で表わせば p1・¬p2・c3 現在状態11を通過し、状態11の生残りパス情報c
4=1の場合、論理式で表わせば p1・p2・c4 以上4つの場合の論理和をとると(数2)となる。Shows whether or not the surviving path has passed one time before
1 bit of the last 2 bits p2′ Becomes 1
It means passing the state 01 or 11 one hour before.
To taste. There are four possible cases. The surviving path information c of the state 00 that has passed the current state 00
1If = 1 (lower path survives), use logical expression
For example, ¬p1・ ¬p2・ C1, The current state 01 is passed and the surviving path information c of state 01
2= 1, if expressed by a logical expression ¬p1・ P2・ C2 The surviving path information c of the state 10 that has passed the current state 10
3In case of = 1, if expressed by a logical expression, p1・ ¬p2・ C3 The surviving path information c of the state 11 that has passed the current state 11
FourIn case of = 1, if expressed by a logical expression, p1・ P2・ CFour The logical sum of the above four cases is (Equation 2).
【0049】図7のメモリ57は(数1),(数2)の
論理式と一致した内容となっている。The memory 57 shown in FIG. 7 has contents that match the logical expressions of (Equation 1) and (Equation 2).
【0050】また、p1,p2を状態をあらわす2ビット
と同一のビット構成にすると、p1,p2のどちらを復号
器出力としてもよい。なぜならば、状態とはそもそも符
号器を構成しているシフトレジスタの前2ビットを表わ
し、そのシフトレジスタへの入力信号はとりもなおさず
送信情報そのものであるからである。If p 1 and p 2 have the same bit configuration as the 2 bits representing the state, either p 1 or p 2 may be the decoder output. This is because the state represents the first two bits of the shift register that constitutes the encoder in the first place, and the input signal to the shift register is the transmission information itself.
【0051】すなわち、図7において復号器出力61は
時間を逆上った後のp2そのものとなっている。That is, in FIG. 7, the decoder output 61 is p 2 itself after going up the time.
【0052】こうすることにより最終復号値を出力する
ために余分な論理はいっさい不要となる。By doing so, no extra logic is required to output the final decoded value.
【0053】図6に示した具体的例によって説明する。
現在時刻n+4とする。また、初期状態00とする(p
1=0,p2=0)。入力端子59の4ビットは生残りパ
ス情報36より0000ある(c1=c2=c3=c4=
0)。時刻n+3において生残りパスが通過する状態は
(5),(6)式より00となる(p1′=0,p2′=
0)。時刻n+3の生残りパス情報は1010であり、
時刻n+2では状態01を生残りパスが通過することに
なる。以後同様の動作をくりかえす。This will be described with reference to the specific example shown in FIG.
The current time is n + 4. In addition, the initial state is set to 00 (p
1 = 0, p 2 = 0 ). 4 bits of the input terminal 59 are 0000 from the surviving path information 36 (c 1 = c 2 = c 3 = c 4 =
0). At time n + 3, the state where the surviving path passes is 00 from equations (5) and (6) (p 1 ′ = 0, p 2 ′ =
0). The survivor path information at time n + 3 is 1010,
At time n + 2, the surviving path passes through state 01. After that, the same operation is repeated.
【0054】以上説明したように、1時刻前に各状態を
生残りパスが通過するかしないかを表わす信号は2ビッ
ト(p1′,p2′)でよく、それを求めるのにp1,
p2,c1,c2,c3,c4の6ヶの信号ですむ。一般に
状態数Nとし、生残りパスの通過不通過を表わすのにlo
g2Nヶの信号でよいことになる。As described above, the signal indicating whether or not the surviving path passes each state one time before may be 2 bits (p 1 ′, p 2 ′) and p 1 can be used to obtain it. ,
Only 6 signals of p 2 , c 1 , c 2 , c 3 and c 4 are required. Generally, the number of states is N, and lo
g 2 N signals will be good.
【0055】このようにして生残りパス情報から復号器
出力を推定すると、回路規模は状態数をNとし、(N+
log2N)に比例することになり従来にくらべて減少して
いる。たとえば、N=8の時、復号器出力推定回路を、
ROMを用いて実現しようとすると従来はアドレス16
ビット(2×N)必要だが、本実施例では、アドレス1
1ビット(8+3)でよい。すなわち1つのROMで実
現可能となる。When the decoder output is estimated from the survivor path information in this manner, the circuit scale is N, and (N +
It is proportional to log 2 N) and is smaller than the conventional one. For example, when N = 8, the decoder output estimation circuit is
If you try to implement it using ROM, the address 16
Bit (2 × N) is required, but in this embodiment, address 1
1 bit (8 + 3) is enough. That is, it can be realized by one ROM.
【0056】また、図10に別の復号器出力推定回路を
示す。ここで62は多重化回路(Multiplexer)であ
り、(数1)は単なる配線65により実現でき、(数
2)はp1,p2を多重化回路の制御信号とし、4ビット
(c1,c2,c3,c4)のうちの1ビットを選択するこ
とにより実現できる。なお図10の構成で、図7の構成
と同一の部分は同一の番号を付して説明を省略する。FIG. 10 shows another decoder output estimation circuit. Here, 62 is a multiplexer (Multiplexer), (Equation 1) can be realized by a simple wiring 65, and (Equation 2) uses p 1 and p 2 as control signals of the multiplexer, and 4 bits (c 1 , This can be realized by selecting 1 bit of c 2 , c 3 , c 4 ). In the configuration of FIG. 10, the same parts as those of the configuration of FIG. 7 are designated by the same reference numerals and description thereof will be omitted.
【0057】図7および図10に示した実施例では復号
器推定機能を1基本回路の多重処理により実現している
例を示しているが逆上る時間数だけ基本回路を用意し並
列に処理する場合も考えられる。図11は図9の基本回
路のROMを逆上る時間数分用意した場合を示す。図1
2は図10の基本回路の多重化回路を逆上る時間数分用
意した場合を示す。The embodiments shown in FIGS. 7 and 10 show an example in which the decoder estimation function is realized by multiplex processing of one basic circuit, but the basic circuits are prepared and processed in parallel for the number of times of reverse rise. There may be cases. FIG. 11 shows a case where the ROM of the basic circuit of FIG. Figure 1
2 shows the case where the multiplexing circuit of the basic circuit of FIG.
【0058】図7の実施例では、状態尤度55、正規化
前状態尤度49、生残りパス情報50をそれぞれひとつ
のRAM(読出し書込み可能メモリ)に各状態毎にアド
レスを変えて記憶している(太わく部)。このアドレス
としては、基本回路への入力信号を選択する信号、出力
記憶先を決定する信号をそのまま使うことができる。こ
れにより上記RAMと基本回路とを直接接続することが
でき、従来多用されていた多重化回路を完全になくすこ
とができる。したがって1基本回路の多重使用による回
路規模削減効果が増す。In the embodiment of FIG. 7, the state likelihood 55, the pre-normalization state likelihood 49, and the survivor path information 50 are stored in one RAM (read / write memory) with different addresses for each state. It is (thick part). As this address, a signal for selecting an input signal to the basic circuit and a signal for determining an output storage destination can be used as they are. As a result, the RAM and the basic circuit can be directly connected, and the multiplexing circuit, which has been frequently used in the past, can be completely eliminated. Therefore, the effect of reducing the circuit scale by the multiple use of one basic circuit increases.
【0059】ビタビ復号器を基本回路の多重処理で行っ
た場合の波及効果を以下に説明する。The ripple effect when the Viterbi decoder is performed by the multiplex processing of the basic circuit will be described below.
【0060】本実施例の図7を大きくブロック分けする
と図13のようになる。すなわち、受信信号をディジタ
ル信号に変換する機能、パス尤度への変換、状態尤度格
納用メモリ、生残りパス情報の格納と復号出力推定部
は、データ変換、格納部70に相当する。状態尤度とパ
ス尤度の加算・選択、状態尤度の最大値を求める機能、
状態尤度を一定範囲内におさえる正規化部は基本演算部
71に相当する。制御部72は、データ変換、格納部7
0に適用される制御信号を発生する。タイミング発生部
73は、制御部72に必要なタイミング信号を発生す
る。FIG. 13 is a block diagram of FIG. 7 of the present embodiment. That is, the function of converting the received signal into a digital signal, the conversion into the path likelihood, the state likelihood storage memory, the storage of the surviving path information and the decoding output estimation unit correspond to the data conversion and storage unit 70. Addition / selection of state likelihood and path likelihood, function to obtain the maximum value of state likelihood,
The normalization unit that keeps the state likelihood within a certain range corresponds to the basic calculation unit 71. The control unit 72 controls the data conversion and storage unit 7.
Generate a control signal applied to zero. The timing generator 73 generates a timing signal required for the controller 72.
【0061】図13のブロック構成はいくつかの利点を
有する。まず、r=1/2のままで拘束長がK=3から
K=4に仕様変更になった場合を考える。この場合、状
態数4から8に変わる。従来の並列処理回路(同一回路
を状態数分用意し並列動作をさせる)では、回路量2倍
となり、配線も大部分変更する必要がある。しかし、図
7の構成では、データ格納部メモリ容量2倍にするこ
と、制御部クロック部の変更のみでよい。The block configuration of FIG. 13 has several advantages. First, consider a case where the constraint length is changed from K = 3 to K = 4 with r = 1/2. In this case, the number of states changes from 4 to 8. In the conventional parallel processing circuit (the same circuit is prepared for the number of states and operated in parallel), the circuit amount is doubled, and most of the wiring must be changed. However, in the configuration of FIG. 7, it is only necessary to double the data storage unit memory capacity and change the control unit clock unit.
【0062】すなわち、仕様変更に柔軟に対処できる利
点がある。That is, there is an advantage that the specification change can be dealt with flexibly.
【0063】また、2チャンネル分同時に処理したい場
合もデータ格納メモリ部を2チャンネル分用意する他、
制御部の変更のみで対処できる。When it is desired to process two channels at the same time, the data storage memory section is prepared for two channels.
It can be dealt with only by changing the control unit.
【0064】さらに、高速データレートが要求される場
合には、基本演算部を複数個用意し対処することも可能
である。Further, when a high data rate is required, it is possible to deal with it by preparing a plurality of basic arithmetic units.
【0065】このように、拡張性,柔軟性に富む回路構
成となっている。As described above, the circuit structure is highly expandable and flexible.
【0066】[0066]
【発明の効果】状態尤度の正規化回路において、固定の
しきい値をこえた場合にのみある特定値を正規化前状態
尤度から減ずるのではなく、毎回可変値を減ずることに
より、状態尤度を表わす値の範囲内全体を十分利用し、
誤り率特性(性能)の劣化を防ぐことができる。EFFECT OF THE INVENTION In the state likelihood normalization circuit, a specific value is not subtracted from the pre-normalization state likelihood only when a fixed threshold is exceeded, but the variable value is reduced each time, Make full use of the entire range of likelihood values,
It is possible to prevent deterioration of error rate characteristics (performance).
【0067】その1方法としては、正規化前状態尤度の
最大値を求め〔最大値−しきい値(4ビットで状態尤度
を表わす場合その最大値である15)〕を上記可変値と
し、正規化後の状態尤度の最大値を表現可能な最大値
(4ビットの場合15)と一致させる方法がある。As one of the methods, the maximum value of the pre-normalized state likelihood is calculated and the [maximum value-threshold value (15 is the maximum value when the state likelihood is represented by 4 bits)] is used as the variable value. There is a method of matching the maximum value of the state likelihood after normalization with the maximum value that can be expressed (15 in the case of 4 bits).
【図1】本発明が適用される通信システムを示すブロッ
ク図である。FIG. 1 is a block diagram showing a communication system to which the present invention is applied.
【図2】たたみ込み符号器の一例を示すブロック図であ
る。FIG. 2 is a block diagram showing an example of a convolutional encoder.
【図3】たたみ込み符号器の状態遷移図である。FIG. 3 is a state transition diagram of a convolutional encoder.
【図4】上記状態遷移図のトレリス線図である。FIG. 4 is a trellis diagram of the state transition diagram.
【図5】ビタビ復号動作を説明するトレリス線図であ
る。FIG. 5 is a trellis diagram illustrating a Viterbi decoding operation.
【図6】生残りパスを示すトレリス線図である。FIG. 6 is a trellis diagram showing survivor paths.
【図7】本発明の復号器の一実施例を示すブロック図で
ある。FIG. 7 is a block diagram showing an embodiment of a decoder of the present invention.
【図8】別の実施例の主要部を示すブロック図である。FIG. 8 is a block diagram showing a main part of another embodiment.
【図9】さらに別の実施例の主要部を示すブロック図で
ある。FIG. 9 is a block diagram showing a main part of still another embodiment.
【図10】さらに別の実施例の復号出力推定回路を示す
ブロック図である。FIG. 10 is a block diagram showing a decoded output estimation circuit of still another embodiment.
【図11】さらに別の実施例の復号出力推定回路のブロ
ック図である。FIG. 11 is a block diagram of a decoded output estimation circuit according to still another embodiment.
【図12】さらに別の実施例の復号出力推定回路のブロ
ック図である。FIG. 12 is a block diagram of a decoded output estimation circuit according to still another embodiment.
【図13】実施例の仕様変更時の効果を説明するブロッ
ク図である。FIG. 13 is a block diagram illustrating an effect of changing the specifications of the embodiment.
Claims (2)
号によって発生の可能性を持つ複数の伝送路符号との相
関(パス尤度)を得る第1手段と、 たたみ込み符号における複数の状態毎に、その各状態に
入る複数のパスに対応する上記第1手段の出力およびそ
のパスの発生した状態の状態尤度を加算し、上記複数の
パスに対応する複数の加算値のうちで最大の値を有する
生残りパスを選択し、選択された生残りパスに対応する
加算値をその状態の状態尤度として一時記憶するととも
に、選択した生残りパスは上記各状態に入る複数のパス
のいずれであるかを示す生残りパス情報を発生する第2
手段と、 上記第2手段からのたたみ込み符号における複数の状態
ごとの生残りパス情報を格納して現在からある時間過去
に逆上った上記受信信号の復号値を推定する第3手段と
を有し、かつ上記第2手段は、加算値の最大のものが状
態尤度にわりあてたビット数で表現可能な最大値を越え
たときに加算値の全てから可変値を減じて各加算値を上
記最大値以下にし、かつ減じた結果が負となるものは値
をゼロとし、その各結果を各状態の状態尤度とする正規
化手段を含んで成るたたみ込み符号の復合器。1. A first means for obtaining a correlation (path likelihood) between a received signal of a convolutional code and a plurality of transmission path codes which may be generated by the convolutional code, and a plurality of states in the convolutional code. Is added to the output of the first means corresponding to a plurality of paths entering each state and the state likelihood of the state in which the path has occurred, and the maximum value among the plurality of addition values corresponding to the plurality of paths is calculated. A survivor path having a value is selected, the added value corresponding to the selected survivor path is temporarily stored as the state likelihood of the state, and the selected survivor path is one of the plurality of paths that enter each of the above states. Second to generate survivor path information indicating whether
Means and third means for estimating the decoded value of the received signal that has gone up a certain time past from the present by storing the survivor path information for each of the states in the convolutional code from the second means. And the second means subtracts the variable value from all the addition values when the maximum addition value exceeds the maximum value that can be expressed by the number of bits assigned to the state likelihood, and then adds each addition value. A convolutional code decompressor including a normalization means that sets the value to zero if the result is less than or equal to the maximum value and has a negative result, and the result is the state likelihood of each state.
時記憶する手段と、一時記憶された加算値の最大のもの
と上記状態尤度にわりあてたビット数で表現可能な最大
値との差を上記可変値として算出する手段を含む請求項
1に記載のたたみ込み符号の復合器。2. The normalizing means temporarily stores the addition value before normalization, and the maximum value of the maximum addition value temporarily stored and the maximum value representable by the number of bits assigned to the state likelihood. 2. The convolutional code decompressor according to claim 1, further comprising means for calculating a difference between and as a variable value.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5475792A JPH0683077B2 (en) | 1992-03-13 | 1992-03-13 | Decoder for convolutional code |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5475792A JPH0683077B2 (en) | 1992-03-13 | 1992-03-13 | Decoder for convolutional code |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58184988A Division JPS6077528A (en) | 1983-10-05 | 1983-10-05 | Decoder for convolutional code |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0575480A true JPH0575480A (en) | 1993-03-26 |
| JPH0683077B2 JPH0683077B2 (en) | 1994-10-19 |
Family
ID=12979648
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5475792A Expired - Lifetime JPH0683077B2 (en) | 1992-03-13 | 1992-03-13 | Decoder for convolutional code |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0683077B2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6526539B1 (en) | 1999-06-23 | 2003-02-25 | Fujitsu Limited | Turbo decoder |
-
1992
- 1992-03-13 JP JP5475792A patent/JPH0683077B2/en not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6526539B1 (en) | 1999-06-23 | 2003-02-25 | Fujitsu Limited | Turbo decoder |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0683077B2 (en) | 1994-10-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4606027A (en) | Error correction apparatus using a Viterbi decoder | |
| US4583078A (en) | Serial Viterbi decoder | |
| EP0846376B1 (en) | Method for metric determination in a communication system | |
| US4240156A (en) | Concatenated error correcting system | |
| US5509021A (en) | Viterbi decoder for decoding error-correcting encoded information symbol string | |
| US5349608A (en) | Viterbi ACS unit with renormalization | |
| EP0671817A1 (en) | Soft symbol decoding for use in an MLSE-equaliser or convolutional decoder | |
| US5537424A (en) | Matched spectral null codes with partitioned systolic trellis structures | |
| US5802116A (en) | Soft decision Viterbi decoding with large constraint lengths | |
| JP2000031836A (en) | Convolution decoding device | |
| US5781569A (en) | Differential trellis decoding for convolutional codes | |
| EP1130789A2 (en) | Soft-decision decoding of convolutionally encoded codeword | |
| JP2001156651A (en) | Viterbi decoder | |
| JP2007510337A (en) | Viterbi / Turbo integrated decoder for mobile communication systems | |
| US5594742A (en) | Bidirectional trellis coding | |
| EP2339757A1 (en) | Power-reduced preliminary decoded bits in viterbi decoder | |
| JP3259725B2 (en) | Viterbi decoding device | |
| JPH06338808A (en) | Addition comparison selector | |
| JPH0575480A (en) | Convolutional code decoder | |
| JPH0510850B2 (en) | ||
| JP4149674B2 (en) | Fast metric calculation for Viterbi decoder | |
| JP3235333B2 (en) | Viterbi decoding method and Viterbi decoding device | |
| JP2614524B2 (en) | Error correction code decoding method | |
| JP3269845B2 (en) | Viterbi decoder | |
| JP3343217B2 (en) | Viterbi comparison / selection operation for 2-bit traceback coding |