JP2000196468A - Viterbi decoder and biterbi decoding method - Google Patents

Viterbi decoder and biterbi decoding method

Info

Publication number
JP2000196468A
JP2000196468A JP10366630A JP36663098A JP2000196468A JP 2000196468 A JP2000196468 A JP 2000196468A JP 10366630 A JP10366630 A JP 10366630A JP 36663098 A JP36663098 A JP 36663098A JP 2000196468 A JP2000196468 A JP 2000196468A
Authority
JP
Japan
Prior art keywords
path
metric
time
path metric
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP10366630A
Other languages
Japanese (ja)
Other versions
JP3260714B2 (en
Inventor
Taketsugu Matsubara
岳次 松原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC IC Microcomputer Systems Co Ltd
Original Assignee
NEC IC Microcomputer Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC IC Microcomputer Systems Co Ltd filed Critical NEC IC Microcomputer Systems Co Ltd
Priority to JP36663098A priority Critical patent/JP3260714B2/en
Publication of JP2000196468A publication Critical patent/JP2000196468A/en
Application granted granted Critical
Publication of JP3260714B2 publication Critical patent/JP3260714B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To prevent deterioration in processing performance due to the number of times of memory accesses to a path memory in the case of trace-back processing and to reduce a capacity of the path memory. SOLUTION: An ACS processing section 13 estimates a most probable path in each state at a present time on the basis of a path metric calculated by branch metric processing for each unit time and a path metric up to a preceding time stored in either of a couple of path metric buffers 18a, 18b, rearranges maximum likelihood decoding information up to the preceding time stored either of a couple of data buffers 17a, 17b on the basis of the estimated path and writes the rearranged information to the other, updates the path metric stored in either of a couple of the path metric buffers 18a, 18b and writes the updated path metric to the other. A trace back processing section 14 retrieves decoded data on the basis of the path metric stored up to a present time stored in the path metric buffers 18a, 18b and the maximum likelihood decoding information up to the present time stored in the data buffers 17a, 17b.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、トレースバック法
を用いたビタビ復号化装置およびビタビ復号化方法に関
し、特にトレースバック時間を短縮してビタビ復号化を
高速化することができるビタビ復号化装置およびビタビ
復号化方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a Viterbi decoding device and a Viterbi decoding method using a trace-back method, and more particularly to a Viterbi decoding device capable of shortening a trace-back time and speeding up Viterbi decoding. And a Viterbi decoding method.

【0002】[0002]

【従来の技術】通信分野において、誤り訂正技術は非常
に重要な技術の一つである。誤り訂正技術の一例とし
て、ビタビ復号は畳み込み符号に対する最尤復号法の一
般的なアルゴリズムとして知られており、誤り訂正能力
が高いことから伝送誤りが生じ易い通信経路をもつ伝送
方式における復号方式として、専用LSIやデジタルシ
グナルプロセッサ(DSP)で構成されたビタビ復号装
置が多く使用されている。また、近年では、マイクロプ
ロセッサの高性能化、高機能化はめざましく、従来、専
用LSIなどのハードウエアで行っていたビタビ復号化
処理をソフトウエア(高性能マイクロプロセッサ+ソフ
トウエア)で実現することが可能になってきている。
2. Description of the Related Art In a communication field, an error correction technique is one of very important techniques. As an example of error correction technology, Viterbi decoding is known as a general algorithm of the maximum likelihood decoding method for convolutional codes, and as a decoding method in a transmission method having a communication path in which a transmission error easily occurs due to its high error correction capability. A Viterbi decoding device including a dedicated LSI and a digital signal processor (DSP) is often used. In recent years, the performance and functionality of microprocessors have been remarkably improved, and Viterbi decoding processing, which was conventionally performed by hardware such as a dedicated LSI, is to be realized by software (high-performance microprocessor + software). Is becoming possible.

【0003】ここで、問題になるのが処理性能である。
従来の専用LSIのように、CPUからのコマンドによ
り専用LSI単体(シングルタスク)で処理していたの
に比べ、マイクロプロセッサによるソフトウエア処理で
は、多くの場合、OS実行などによるマルチタスク環境
で使用されるため、マイクロプロセッサのリソースを1
00%占有することは難しく、従来の処理性能以上の高
速性が求められている。
Here, a problem is processing performance.
Compared to the conventional dedicated LSI, which is processed by the dedicated LSI alone (single task) by the command from the CPU, the software processing by the microprocessor is often used in a multitask environment by OS execution etc. To reduce microprocessor resources by one.
It is difficult to occupy 00%, and a higher speed than conventional processing performance is required.

【0004】図面を参照しながら、従来のビタビ復号化
装置およびビタビ復号化方法を説明する。図9は畳み込
み符号化装置を示すブロック図、図10は図9の装置の
状態を示す説明図、図11は図9の装置の状態遷移を示
す説明図、図12は図9の装置のトレリス線図を示す説
明図、図13は図9の装置の状態遷移の一例を示す説明
図、図14は従来のビタビ復号化装置を示すブロック
図、図15は図14のパスメモリを詳細に示すブロック
図、図16はトレースバック法による復号動作を示す状
態遷移を示す説明図、図3はブランチメトリック処理を
示すフローチャート、図17はACS(Add Compare Se
lection)処理を示すフローチャート、図18はトレー
スバック処理を示すフローチャートである。
A conventional Viterbi decoding device and a conventional Viterbi decoding method will be described with reference to the drawings. 9 is a block diagram showing a convolutional coding device, FIG. 10 is an explanatory diagram showing states of the device in FIG. 9, FIG. 11 is an explanatory diagram showing state transitions of the device in FIG. 9, and FIG. 12 is a trellis of the device in FIG. FIG. 13 is an explanatory diagram showing an example of state transition of the device in FIG. 9, FIG. 14 is a block diagram showing a conventional Viterbi decoding device, and FIG. 15 shows the path memory in FIG. 14 in detail. 16 is a block diagram, FIG. 16 is an explanatory diagram showing a state transition showing a decoding operation by the traceback method, FIG. 3 is a flowchart showing a branch metric process, and FIG. 17 is an ACS (Add Compare Se
FIG. 18 is a flowchart showing a traceback process.

【0005】最初に、ビタビ復号化と対をなす畳み込み
(トレリス)符号化のアルゴリズムについて説明する。
図9は説明を簡単にするために、拘束長3、符号化率1
/2の畳み込み符号化を行う符号化装置を示している。
畳み込み符号化装置81は、3ビットシフトレジスタR
1(入力inから順にビット「1」、「2」、「3」と
する)と2つの排他的論理和回路C1、C2とで構成さ
れている。排他的論理和回路C1は、3ビットシフトレ
ジスタR1の全ビット「1」、「2」、「3」について
の排他的論理和を計算して出力信号out1として出力
し、排他的論理和回路C2は、3ビットシフトレジスタ
R1のビット「1」とビット「3」についての排他的論
理和を計算して出力信号out2として出力する。
[0005] First, an algorithm of convolutional (trellis) coding which forms a pair with Viterbi decoding will be described.
FIG. 9 shows a constraint length of 3 and a coding rate of 1 for simplicity of explanation.
2 shows an encoding device that performs convolutional encoding of / 2.
The convolutional encoding device 81 includes a 3-bit shift register R
1 (the bits are set to "1", "2", "3" in order from the input in) and two exclusive OR circuits C1 and C2. The exclusive OR circuit C1 calculates the exclusive OR of all the bits “1”, “2”, and “3” of the 3-bit shift register R1, outputs the result as an output signal out1, and outputs the exclusive OR circuit C2. Calculates the exclusive OR of bit "1" and bit "3" of the 3-bit shift register R1 and outputs the result as an output signal out2.

【0006】ここで、3ビットシフトレジスタR1のビ
ット「1」に蓄積されている情報ビットの値をa、ビッ
ト「2」に蓄積されている情報ビットの値をbとし、3
ビットシフトレジスタR1に新たに1ビットの情報が入
力されたとすると、3ビットシフトレジスタR1に蓄積
されるビットの値は、ビット「1」から順に、入力され
た1ビットの情報、情報ビットa、bとなり、1ビット
の情報ビットが入力されたときの畳み込み符号化装置8
1の状態数Xは、(a,b)の組み合わせ(X=0,
1,2,3)となる。この場合、図10に示すように s0=(0,0) s1=(0,1) s2=(1,0) s3=(1,1) の4種類の状態が存在することになる。
Here, the value of the information bit stored in bit "1" of the 3-bit shift register R1 is a, and the value of the information bit stored in bit "2" is b.
Assuming that 1-bit information is newly input to the bit shift register R1, the values of the bits stored in the 3-bit shift register R1 are, in order from bit “1”, the input 1-bit information, information bits a, b, the convolutional encoder 8 when one bit of information is input
The number of states X of 1 is a combination of (a, b) (X = 0,
1, 2, 3). In this case, as shown in FIG. 10, there are four states of s0 = (0,0) s1 = (0,1) s2 = (1,0) s3 = (1,1)

【0007】一般に、拘束長がnであるときの状態数X
は、2^(n−1)(^はべき乗を示す)で表すことが
できる。図11は、現在の状態と、入力情報ビット(i
n)と、出力(out2,out1)と、遷移する状態
の関係を示したものである。例えば、状態s0(a=b
=0)のとき、入力情報ビットとして「0」が入力する
と (out2,out1)=(0,0) が出力され、状態s0に遷移する(状態は変わらな
い)。
In general, the number of states X when the constraint length is n
Can be represented by 2 ^ (n−1) (^ indicates a power). FIG. 11 shows the current state and the input information bits (i
n), the output (out2, out1), and the transition state. For example, state s0 (a = b
(= 0), when "0" is input as an input information bit, (out2, out1) = (0, 0) is output, and the state transits to the state s0 (the state does not change).

【0008】同様に、状態s0(a=b=0)のとき、
入力情報ビットとして「1」が入力すると (out
2,out1)=(1,1)が出力され、状態s1に遷
移することがわかる。すなわち、畳み込み符号化装置8
1の畳み込み符号化では1ビットの入力情報ビットに対
し、2ビットの符号ビット(符号化率1/2)を出力す
ることになる。時刻tn(n=1,2,3・・・)にお
ける入力情報ビットに対し、以上の動作を繰り返すこと
により、符号化を行うのが畳み込み符号化のアルゴリズ
ムである。
Similarly, in the state s0 (a = b = 0),
When "1" is input as an input information bit, (out
(2, out1) = (1, 1) is output, and it can be seen that the state transits to the state s1. That is, the convolutional encoder 8
In the convolutional coding of 1, two code bits (coding rate 1/2) are output for one input information bit. The convolutional coding algorithm performs coding by repeating the above operation on the input information bits at time tn (n = 1, 2, 3,...).

【0009】図12は畳み込み符号化装置81で畳み込
み符号化を行ったときの状態遷移を示した図(トレリス
線図と呼ばれる)である。入力情報ビットとして「0」
が入力された場合を実線で、入力情報ビットとして1が
入力された場合を点線で、それぞれ示してある。このよ
うにして符号化されたデータは、ランダムエラーの訂正
能力が優れており、例えばビタビ復号化により最も確か
らしいパス(最尤パス)を決定して復号データに変換す
ることで信頼性の高いデータを取得することができる。
FIG. 12 is a diagram (called a trellis diagram) showing a state transition when convolutional encoding is performed by the convolutional encoding device 81. "0" as input information bit
Is indicated by a solid line, and a case where 1 is input as an input information bit is indicated by a dotted line. The data encoded in this way has excellent random error correction capability. For example, the most probable path (most likely path) is determined by Viterbi decoding, and converted to decoded data to obtain highly reliable data. Data can be obtained.

【0010】次に、畳み込み符号化装置81により符号
化されたデータをビタビ復号化装置131でビタビ復号
化(トレースバック法)を行う場合のアルゴリズムにつ
いて説明する。ここで、畳み込み符号化装置81の初期
状態を状態s0(a=b=0)とし、 (1,1,0,
0,0,1,1)の順で情報ビットが入力されたとする
と、畳み込み符号化装置81は図13の実線で示される
状態で遷移して符号化を行う。具体的には、畳み込み符
号化装置81は最初の情報ビット=1が入力されると、
符号化を行って2ビットの符号化データ(1,1)を出
力する。各入力情報ビットに対し、以上の処理を繰り返
すことにより、符号化データ (11、10、10、11、00、11、10) が得られる。
Next, an algorithm in the case where the data encoded by the convolutional encoding device 81 is subjected to Viterbi decoding (traceback method) by the Viterbi decoding device 131 will be described. Here, the initial state of the convolutional encoder 81 is set to state s0 (a = b = 0), and (1,1,0,
Assuming that information bits are input in the order of (0, 0, 1, 1), the convolutional encoder 81 transits to the state shown by the solid line in FIG. 13 and performs encoding. Specifically, when the first information bit = 1 is input, the convolutional encoding device 81
Encoding is performed to output 2-bit encoded data (1, 1). By repeating the above processing for each input information bit, encoded data (11, 10, 10, 11, 00, 11, 10) is obtained.

【0011】次に、この符号化データに対して3つ目の
符号化データの第1ビット(第5ビット目)にエラーが
発生し、 (11、10、00、11、00、11、10) のデータが図14で示されるビタビ復号化装置131に
伝送されたことを前提にビタビ復号化の説明を行う。ビ
タビ復号化処理は、ブランチメトリック処理と、ACS
(加算→比較→選択)処理とトレースバック処理から構
成されており、それぞれ図3(ブランチメトリック処
理)、図17(ACS処理)、図18(トレースバック
処理)のフローチャートで示されるような処理を行う。
Next, an error occurs in the first bit (fifth bit) of the third encoded data with respect to this encoded data, and (11, 10, 00, 11, 00, 11, 10) The description of Viterbi decoding will be made on the assumption that the data of (1) is transmitted to the Viterbi decoding device 131 shown in FIG. Viterbi decoding processing includes branch metric processing, ACS
(Addition → comparison → selection) processing and traceback processing. Processing such as those shown in the flowcharts of FIG. 3 (branch metric processing), FIG. 17 (ACS processing), and FIG. Do.

【0012】(1)ブランチメトリック処理 受信信号
がブランチメトリック処理部12に入力すると、ブラン
チメトリック処理部12では、図3に示すステップS3
1〜S38において、時刻t[n−1]から時刻tnの
1単位時間に遷移可能な全てのパスについて、ブランチ
メトリックを計算し、ACS処理部133に出力する。
具体的には、時刻t1において符号化データ(1,1)
を受信すると、時刻t1の状態s0(図3の変数X=
0)に遷移可能な前時刻t0のパスは状態s0、状態s
2の2つであることが図11のトレリス線図より明らか
である。
(1) Branch metric processing When a received signal is input to the branch metric processing unit 12, the branch metric processing unit 12 executes step S3 shown in FIG.
In steps 1 to S38, branch metrics are calculated for all paths that can transition from time t [n-1] to one unit time at time tn, and output to the ACS processing unit 133.
Specifically, at time t1, the encoded data (1, 1)
Is received, the state s0 at time t1 (variable X =
The path at the previous time t0 that can transition to 0) is state s0, state s
2 are clear from the trellis diagram of FIG.

【0013】ここで、時刻t0の状態s0より遷移した
場合、出力=(0,0)であり、そのときは入力=0と
なる。同様に、時刻t0の状態s2より遷移した場合、
出力=(1,1)であり、そのときの入力=0であるこ
とが容易に推定できる(図3のステップS33)。これ
らの出力(00,11)と受信した符号化データ=
(1,1)よりブランチメトリックを求める(図3のス
テップS34)。ブランチメトリック計算では、前記出
力(00,11)と受信した符号化データ=(1,1)
のビットごとの差の総和を示すハミング距離(ブランチ
メトリック)を求める。
Here, when the state transits from the state s0 at the time t0, the output = (0, 0), and at that time, the input = 0. Similarly, when the state transits from the state s2 at time t0,
It can be easily estimated that output = (1,1) and input = 0 at that time (step S33 in FIG. 3). These outputs (00, 11) and the received encoded data =
A branch metric is obtained from (1, 1) (step S34 in FIG. 3). In the branch metric calculation, the output (00, 11) and the received encoded data = (1, 1)
A Hamming distance (branch metric) indicating the sum of the differences for each bit is obtained.

【0014】時刻t0の状態s0より遷移した場合は第
1ビット、第2ビット共に一致しないのでハミング距離
=2となる。同様に、時刻t0の状態s2より遷移した
場合は第1ビット、第2ビット共に一致するのでハミン
グ距離=0となる。以上の処理を他の3つ(図3の変数
X=1,2,3)の状態全てについて行う(図3のステ
ップS37、S38)。
When the state transits from the state s0 at the time t0, the first bit and the second bit do not match, so that the Hamming distance = 2. Similarly, when the state transits from the state s2 at the time t0, the first bit and the second bit match, so that the Hamming distance = 0. The above processing is performed for all the other three states (variable X = 1, 2, 3 in FIG. 3) (steps S37 and S38 in FIG. 3).

【0015】(2)ACS(加算→比較→選択)処理
ブランチメトリック処理により計算したブランチメトリ
ックがACS処理部133に入力すると、ACS処理部
133では、図17に示すステップS71〜S78にお
いて、このブランチメトリックと、それ以前に推定した
パスとの関係に基づいて、最も確からしいパスを各状態
毎に推定する。具体的には、時刻t1の状態s0(変数
X=0)に遷移可能な時刻t0の状態s0、状態s2に
おけるそれまでのパスメトリック(累積ハミング距離)
と、ブランチメトリック処理部12で計算したブランチ
メトリック(ハミング距離)を加算し、時刻t1までの
パスメトリックを計算する。この場合、時刻t0は初期
状態であるため、累積ハミング距離=0として計算する
と、上記の入力例では時刻t0の状態s0より遷移した
場合はパスメトリック=2(=0+2)、時刻t0の状
態s2より遷移した場合はパスメトリック=0(=0+
0)となる(図17のステップS73)。
(2) ACS (addition → comparison → selection) processing
When the branch metric calculated by the branch metric process is input to the ACS processing unit 133, the ACS processing unit 133 performs steps S71 to S78 shown in FIG. 17 based on the relationship between the branch metric and the path estimated before. , The most probable path is estimated for each state. More specifically, the path metric (cumulative Hamming distance) up to the state s0 at the time t0 and the state s2 up to that state at which the state can transit to the state s0 at the time t1 (variable X = 0)
And the branch metric (Hamming distance) calculated by the branch metric processing unit 12, and the path metric up to time t1 is calculated. In this case, since the time t0 is the initial state, when the calculation is performed with the accumulated Hamming distance = 0, in the above input example, when the state transits from the state s0 at the time t0, the path metric = 2 (= 0 + 2) and the state s2 at the time t0 In the case of transition, the path metric = 0 (= 0 +
0) (step S73 in FIG. 17).

【0016】次に、それぞれのパスに対するパスメトリ
ックを比較して、よりパスメトリックの小さい方の状態
より遷移してきたと推定(パスメトリックが同一の場合
はより状態番号の小さい方からと推定する)し、そのと
きの入力を復号データ候補とし、パスメモリ135にお
ける時刻t1の状態s0のエリアに・パスメモリへのポ
インタ・パスメトリック、および・復号データ候補を書
き込む。
Next, the path metrics for each path are compared, and it is estimated that the state has transited from the state with the smaller path metric (if the path metric is the same, it is estimated from the state with the smaller state number). Then, the input at that time is set as a decoded data candidate, and a pointer to the path memory, a path metric to the path memory, and a decoded data candidate are written in the area of the state s0 at the time t1 in the path memory 135.

【0017】この場合、上記の入力例では時刻t0の状
態s0より遷移した場合にはパスメトリック=2、時刻
t0の状態s2より遷移した場合にはパスメトリック=
0であるため、時刻t0の状態s2より時刻t1の状態
s0に遷移したと推定し、パスメモリ135における時
刻t1の状態s0のエリアに・パスメモリ135におけ
る時刻t0の状態s2のエリアへのポインタ・パスメト
リック値=0・復号データ候補=0を書き込む(図17
のステップS76)。以上の処理を他の3つ(図17の
変数X=1,2,3)の状態全てについて行う(図17
のステップS73、S74)。
In this case, in the above input example, when the state transits from the state s0 at the time t0, the path metric = 2, and when the state transits from the state s2 at the time t0, the path metric = 2.
Since it is 0, it is estimated that the state has transitioned from the state s2 at the time t0 to the state s0 at the time t1, and the pointer to the area of the state s2 at the time t1 in the path memory 135. -Path metric value = 0-Decoded data candidate = 0 is written (Fig. 17)
Step S76). The above processing is performed for all the other three states (variable X = 1, 2, 3 in FIG. 17) (FIG. 17).
Steps S73 and S74).

【0018】(3)トレースバック処理 各時刻におい
て受信した符号化データについて、ブランチメトリック
処理、ACS処理の一連の処理を行い、全ての受信信号
(符号化データ)に対しての推論が終了した場合の状態
遷移は図16のようになる。トレースバック処理部13
4では、図18に示すステップS81〜S87におい
て、最終時刻tにおいてパスメトリックが最も小さい状
態sX(tn)から過去を遡り、復号データ候補を求め
る。
(3) Traceback processing When a series of processings of branch metric processing and ACS processing are performed on the encoded data received at each time, and inference has been completed for all received signals (encoded data) State transition is as shown in FIG. Traceback processing unit 13
In step S4, in steps S81 to S87 shown in FIG. 18, at the last time t, the past is traced back from the state sX (tn) with the smallest path metric to obtain a decoded data candidate.

【0019】具体的には、最終時刻tn(n=7)にお
ける全状態のパスメトリックを読み出し、パスメトリッ
クが最も小さい状態s3を選択する。次に、その状態か
ら推定したパスのパスメモリへのポインタを読み出すこ
とを繰り返して過去へ遡って行くと(図18のステップ
S85)と、図16の実線で示される状態を遷移してき
たことが推定できる。この状態遷移は図13の状態遷移
と同一であり、この状態遷移の復号データ候補(図16
中の網付きのボックス)を過去から順番に取り出すと (1,1,0,0,0,1,1) となり、符号化される前のデータと一致することがわか
る。以上説明したように、ビタビ復号化では、伝送され
てきた符号化データに含まれるエラーを訂正し、正しい
データに復号することが可能となる。
More specifically, the path metrics of all the states at the last time tn (n = 7) are read, and the state s3 having the smallest path metric is selected. Next, when iteratively reads the pointer to the path memory of the path estimated from the state and goes back to the past (step S85 in FIG. 18), the state transitioned to the state indicated by the solid line in FIG. Can be estimated. This state transition is the same as the state transition of FIG. 13, and the decoded data candidate of this state transition (FIG. 16)
When the (boxes with half-tone dots in the middle) are sequentially extracted from the past, they become (1,1,0,0,0,1,1), which indicates that they match the data before being encoded. As described above, in the Viterbi decoding, it is possible to correct an error included in the transmitted encoded data and decode the data to correct data.

【0020】なお、上記の従来例の説明においては、符
号化データ列が短い場合(11,10,00,11,0
0,11,10の14ビット)で説明したが、一般的な
符号化データはかなり長いため、厳密にビタビ復号化を
行う場合にはパスメモリ135の容量およびトレースバ
ック処理の時間が膨大になってしまう。このため、実際
のビタビ復号化装置では、パスメモリ135は任意の長
さで構成し、現時刻からパスメモリ135の長さ分の最
新のパスを記憶しておき、新しいパスを書き込むときに
トレースバック処理を行い、最も古いパスの復号データ
候補を出力後、最も古いパスを捨てるようにしている。
一般的にパスメモリ135の長さ(トレースバック長)
は符号化装置の拘束長の5〜6倍にすることで、打ち切
りの誤差をほぼ無視できることが知られている。
In the above description of the conventional example, when the encoded data string is short (11, 10, 00, 11, 0)
(14 bits of 0, 11, and 10), but since general encoded data is quite long, the capacity of the path memory 135 and the time of traceback processing become enormous when strictly performing Viterbi decoding. Would. For this reason, in an actual Viterbi decoding device, the path memory 135 has an arbitrary length, stores the latest path corresponding to the length of the path memory 135 from the current time, and traces the path when writing a new path. After performing the back process and outputting the decoded data candidate of the oldest pass, the oldest pass is discarded.
Generally, the length of the path memory 135 (traceback length)
It is known that by setting the constraint length to 5 to 6 times the constraint length of the encoding device, the error of the truncation can be almost ignored.

【0021】他の従来例としては、例えば特開平5−5
5931号公報に示すように回路規模を小さくするため
にパスメトリック値を少ないビット数で表すとともに、
高速化するために正規化処理を毎回ではなく、パスメト
リックがオーバーフローしない程度の周期で行う方法が
提案されている。また、他の従来例としては、例えば特
開平6−77845号公報に示すように伝送効率を向上
させるために複数のビタビ復号器を組み合わせる方法が
提案されている。また、特開平6−197027号公報
には、エラーレートを向上させるための方法が提案され
ている。また、特開平8−167858号公報には、A
CS処理後、n個のバッファと分配器でパスメモリを動
作させる構成が提案されている。また、特開平9−51
278号公報には、1つのパスメモリの代わりに1/n
の大きさのバッファをn個用いて独立して動作させる構
成が提案されている。
Another conventional example is disclosed in, for example, JP-A-5-5
As shown in JP-A-5931, the path metric value is represented by a small number of bits in order to reduce the circuit scale.
In order to increase the speed, a method has been proposed in which the normalization processing is performed not every time but at a cycle that does not cause the path metric to overflow. As another conventional example, a method of combining a plurality of Viterbi decoders has been proposed as disclosed in, for example, Japanese Patent Application Laid-Open No. Hei 6-77845 to improve transmission efficiency. In addition, Japanese Patent Application Laid-Open No. H6-197027 proposes a method for improving an error rate. Japanese Patent Application Laid-Open No. 8-167858 discloses A
There has been proposed a configuration in which a path memory is operated by n buffers and distributors after CS processing. Further, Japanese Patent Application Laid-Open No. 9-51
No. 278 discloses that 1 / n is used instead of one path memory.
Has been proposed to operate independently using n buffers of the size of.

【0022】[0022]

【発明が解決しようとする課題】従来のトレースバック
法によるビタビ復号化方法の第1の問題点は、1回の復
号化処理におけるパスメモリ135へのメモリアクセス
回数が増大し、処理性能が低下することである。その理
由は、例えば、トレースバック長=16個(実際のビタ
ビ復号化で用いられる一般的な値)とすると、トレース
バック処理において、到達時刻の全状態のパスメトリッ
ク値の読み出しと、1時刻前に遡るために「推定したパ
スのパスメモリへのポインタの読み出し」がトレースバ
ック長分だけ発生するため、4+16=20回のパスメ
モリ135に対するメモリアクセスが発生する。この回
数は符号化装置の拘束長が長いほど増大することにな
る。近年、マイクロプロセッサの動作速度は高速化して
いるが、実際のシステムで使用されるメモリのアクセス
時間は遅いため(コストとのトレードオフ)、メモリア
クセスの回数が増えることはそのまま処理性能を低下さ
せる原因となってしまう。
A first problem with the conventional Viterbi decoding method using the traceback method is that the number of memory accesses to the path memory 135 in one decoding process increases, and the processing performance decreases. It is to be. The reason is, for example, assuming that the traceback length = 16 (a general value used in actual Viterbi decoding), in the traceback processing, the reading of the path metric values of all the states of the arrival time and the previous one Since the “reading of the pointer to the path memory of the estimated path” occurs for the traceback length, the memory access to the path memory 135 occurs 4 + 16 = 20 times. This number increases as the constraint length of the encoding device increases. In recent years, the operating speed of a microprocessor has been increased, but the access time of a memory used in an actual system is slow (a trade-off with cost). Therefore, an increase in the number of memory accesses directly lowers the processing performance. Cause it.

【0023】第2の問題点は、メモリ(パスメモリ13
5)容量の増加である。その理由は、パスメモリ135
の容量がトレースバック長に依存しているためである。
前記条件(トレースバック長=16、状態数=4)での
パスメモリ135の容量は、3×4×16=192(ワ
ード)となる。この値は一般的なメモリを想定した場合
は特に問題とはならないが、マイクロプロセッサに内蔵
されているメモリ(キャッシュメモリなど)では大きな
問題となってしまう(キャッシュ・ミスヒット増加によ
る処理性能の低下)。
The second problem is that the memory (path memory 13)
5) An increase in capacity. The reason is that the path memory 135
Is dependent on the traceback length.
Under the above conditions (traceback length = 16, number of states = 4), the capacity of the path memory 135 is 3 × 4 × 16 = 192 (words). Although this value does not cause any problem when a general memory is assumed, it causes a serious problem in a memory (such as a cache memory) built in a microprocessor (a decrease in processing performance due to an increase in cache misses). ).

【0024】[0024]

【発明の目的】本発明は上記従来例の問題点に鑑み、ト
レースバック処理時におけるパスメモリへのメモリアク
セス回数により処理性能が低下することを防止すること
ができ、また、パスメモリの容量を低減することができ
るビタビ復号化装置およびビタビ復号化方法並びにコン
ピュータプログラム記録媒体を提供することを目的とす
る。
SUMMARY OF THE INVENTION The present invention has been made in view of the above-mentioned problems of the prior art, and can prevent a decrease in processing performance due to the number of memory accesses to a path memory during traceback processing. It is an object of the present invention to provide a Viterbi decoding device, a Viterbi decoding method, and a computer program recording medium that can be reduced.

【0025】[0025]

【課題を解決するための手段】本発明のビタビ復号化装
置は、上記目的を達成するために、前時刻から現時刻ま
での1単位時間に遷移可能な全てのパスについてブラン
チメトリックを計算するブランチメトリック処理手段
と、前時刻までの最尤復号情報と現時刻までの最尤復号
情報をそれぞれ記憶するための1対のデータバッファ
と、前時刻までのパスメトリックと現時刻までのパスメ
トリックをそれぞれ記憶するための1対のパスメトリッ
クバッファと、1単位時間毎に、前記ブランチメトリッ
ク処理手段により計算されたブランチメトリックと前記
1対のパスメトリックバッファの一方に記憶された前時
刻までのパスメトリックに基づいて、現時刻の各状態に
おける最も確からしいパスを推定して、このパスに基づ
いて前記1対のデータバッファの一方に記憶された前時
刻までの最尤復号情報を並び替えて他方に書き込むとと
もに、前記1対のパスメトリックバッファの一方に記憶
されたパスメトリックを更新して他方に書き込むACS
処理手段と、前記パスメトリックバッファに記憶された
現時刻までのパスメトリックと前記データバッファに記
憶された現時刻までの最尤復号情報に基づいて復号デー
タを検索するトレースバック処理手段とを有することを
特徴とする。
In order to achieve the above object, a Viterbi decoding apparatus according to the present invention calculates a branch metric for all paths that can transition in one unit time from the previous time to the current time. Metric processing means, a pair of data buffers for storing the maximum likelihood decoding information up to the previous time and the maximum likelihood decoding information up to the current time, and a path metric up to the previous time and a path metric up to the current time, respectively. A pair of path metric buffers for storage, and a branch metric calculated by the branch metric processing means and a path metric up to a previous time stored in one of the pair of path metric buffers for each unit time. The most probable path in each state at the current time is estimated based on this path, and based on this path, the pair of data It rearranges maximum likelihood decoding information up to the time before stored in one of Ffa writes to the other, ACS writing to the other to update the path metrics stored in one of the path metrics buffer of said pair
Processing means; and traceback processing means for searching for decoded data based on the path metric up to the current time stored in the path metric buffer and the maximum likelihood decoding information up to the current time stored in the data buffer. It is characterized by.

【0026】上記構成により、ACS処理の単位毎に、
データバッファに記憶される最尤復号情報とパスメトリ
ックバッファに記憶されるパスメトリックが更新され
る。このため、トレースバック処理では現時刻までのパ
スメトリックに基づいて現時刻までの最尤復号情報をア
クセスするのみで復号することができる。
With the above configuration, for each unit of the ACS processing,
The maximum likelihood decoding information stored in the data buffer and the path metric stored in the path metric buffer are updated. Therefore, in the traceback processing, decoding can be performed only by accessing the maximum likelihood decoding information up to the current time based on the path metric up to the current time.

【0027】また、データバッファには、最尤復号情報
として各パス毎の最尤復号データ候補や最尤状態遷移履
歴が記憶される。
The data buffer stores a maximum likelihood decoded data candidate and a maximum likelihood state transition history for each pass as maximum likelihood decoding information.

【0028】[0028]

【発明の実施の形態】以下、図面を参照して本発明の実
施の形態を説明する。図1は本発明に係るビタビ復号化
装置の一実施形態を示すブロック図、図2は図1のデー
タバッファおよびパスメトリックバッファを示す構成図
である。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing an embodiment of a Viterbi decoding device according to the present invention, and FIG. 2 is a configuration diagram showing a data buffer and a path metric buffer of FIG.

【0029】図1を要約すると、本発明に係るビタビ復
号化装置11は、図2に示すように復号データ候補を格
納するための1対の同一構成のデータバッファ17a、
17bと、パスメトリックを記憶する1対の同一構成の
パスメトリックバッファ18a、18bを有する。この
データバッファ17a、17bの一方には前時刻までの
復号データ候補が格納され、他方には現時刻の復号デー
タ候補が格納される。この場合、ACS(Add Compare
Selection)処理において、データバッファ17a、1
7bの更新時に前時刻までの復号データ候補が格納され
ているデータバッファ17a、17bの一方から、推定
された前状態の情報が格納されているラインを読み出
し、データバッファ17a、17bの他方の現状態のラ
インに対して、推定された復号データ候補を付加して書
き込む。
1, the Viterbi decoder 11 according to the present invention comprises a pair of identically configured data buffers 17a for storing decoded data candidates, as shown in FIG.
17b and a pair of identically configured path metric buffers 18a and 18b for storing path metrics. One of the data buffers 17a and 17b stores decoded data candidates up to the previous time, and the other stores decoded data candidates at the current time. In this case, ACS (Add Compare
Selection) processing, the data buffers 17a, 1
At the time of updating the data buffer 7b, the line storing the estimated previous state information is read from one of the data buffers 17a and 17b storing the decoded data candidates up to the previous time, and the other current buffer of the data buffers 17a and 17b is read. The estimated decoded data candidate is added to the state line and written.

【0030】上記処理を各時刻の各状態毎に行うことに
より、データバッファ17a、17bの各ラインは各状
態における最尤パスの復号データ候補系列となり、トレ
ースバック処理において、従来と異なり1時刻ずつ遡る
のではなく、直接任意の時刻まで遡ることが可能とな
り、これによりトレースバック処理時間を短縮すること
ができる。
By performing the above processing for each state at each time, each line of the data buffers 17a and 17b becomes a decoded data candidate sequence of the maximum likelihood path in each state. Instead of going back, it is possible to go back directly to an arbitrary time, thereby shortening the traceback processing time.

【0031】詳しく説明すると、ビタビ復号化装置11
は、パスメモリ15と、前時刻から現時刻までの1単位
時間に遷移可能な全てのパスについてブランチメトリッ
クを計算してこれをACS処理部13に出力するブラン
チメトリック処理部12と、前記ブランチメトリック処
理部12で計算されたブランチメトリックと、パスメモ
リ15内のセレクタ16により選択される前時刻までの
パスメトリックバッファ18a、18bに記憶されたパ
スメトリックに基づいて、現時刻の各状態における最も
確からしいパスを推定し、復号データ候補を並び替える
ACS処理部13と、パスメモリ15内のセレクタ16
により選択される現時刻のパスメトリックバッファ18
a、18bに記憶されたパスメトリックと、現時刻のデ
ータバッファ17a、17bに記憶された復号データ候
補に基づいて、出力すべき復号データを検索するトレー
スバック処理部14より構成されている。
More specifically, the Viterbi decoding device 11
Comprises a path memory 15, a branch metric processing unit 12 for calculating branch metrics for all paths transitable in one unit time from the previous time to the current time, and outputting the calculated branch metrics to the ACS processing unit 13, Based on the branch metric calculated by the processing unit 12 and the path metrics stored in the path metric buffers 18a and 18b up to the time before the time selected by the selector 16 in the path memory 15, the most accurate value in each state at the current time is obtained. An ACS processing unit 13 for estimating a likely path and rearranging decoded data candidates, and a selector 16 in the path memory 15.
Path metric buffer 18 at the current time selected by
The traceback processing unit 14 searches for decoded data to be output based on the path metrics stored in the data buffers 17a and 18b and the decoded data candidates stored in the data buffers 17a and 17b at the current time.

【0032】パスメモリ15は、図2に示すように状態
数×トレースバック長分の数の復号データ候補を記憶す
る1対の同一構成のデータバッファ17a、17bと、
状態数分のパスメトリックを記憶する1対の同一構成の
パスメトリックバッファ18a、18bと、1単位時間
毎にバッファ(17a、17b)、(18a、18b)
の切り替えを行うセレクタ16とを有する。
As shown in FIG. 2, the path memory 15 includes a pair of identically configured data buffers 17a and 17b for storing decoded data candidates equal to the number of states × the traceback length.
A pair of identically configured path metric buffers 18a, 18b for storing path metrics for the number of states, and buffers (17a, 17b), (18a, 18b) for each unit time
And a selector 16 for performing the switching.

【0033】図3は本発明のブランチメトリック処理を
示すフローチャート、図4および図5は本発明のACS
処理を示すフローチャート、図6はデータバッファ17
a、17bの動作を示す説明図、図7はデータバッファ
17a、17bとパスメトリックバッファ18の遷移を
示す説明図、図8は本発明のトレースバック処理を示す
フローチャートである。
FIG. 3 is a flowchart showing the branch metric processing of the present invention, and FIGS. 4 and 5 are the ACS of the present invention.
FIG. 6 is a flowchart showing the processing, and FIG.
FIGS. 7A and 7B are explanatory diagrams showing operations of the data buffers 17a and 17b, FIG. 7 is an explanatory diagram showing transitions of the data buffers 17a and 17b and the path metric buffer 18, and FIG.

【0034】なお、説明においては、時間の流れを1単
位時間毎にt1、t2、・・・tnとし、各時刻の1単
位時間前をt[n−1]とした(時刻t3の1単位時間
前は、時刻t2)。 また、セレクタ16により切り替
えられるa側のバッファ群17a、18aは時刻t1,
t3・・・の時はリード動作、時刻t2,t4・・・の
時はライト動作を行い、b側のバッファ群17b、18
bは時刻t1,t3・・・の時はライト動作、時刻t2,
t4・・・の時はリード動作を行うこととし、ビタビ復
号化する対象の符号化データ(符号化前のデータは1,
1,0,0,0,1,1)は、従来例で説明したものと
同じデータ(11、10、00、11、00、11、1
0)であることを前提に説明を行う。
In the description, the flow of time is set to t1, t2,... Tn for each unit time, and t [n-1] is set for one unit time before each time (one unit of time t3). The time before is time t2). The a-side buffer groups 17a and 18a switched by the selector 16 are at time t1,
The read operation is performed at t3..., and the write operation is performed at times t2, t4.
b is a write operation at times t1, t3,.
At time t4, the read operation is performed, and the encoded data to be Viterbi-decoded (data before encoding is 1,
1, 0, 0, 0, 1, 1) are the same data (11, 10, 00, 11, 00, 11, 1, 1) as described in the conventional example.
0).

【0035】(1)ブランチメトリック処理 受信信号
がビタビ復号化装置11のブランチメトリック処理部1
2に入力すると、ブランチメトリック処理部12では、
図3に示すステップS31〜S38において時刻t[n
−1]から時刻tnの1単位時間に遷移可能な全てのパ
スについてブランチメトリックを計算し、ACS処理部
13に出力する。具体的には、時刻t1において符号化
データ=(1,1)を受信すると、時刻t1の状態s0
に遷移可能な前時刻t0のパスは状態s0、状態s2の
2つであることが図12に示すトレリス線図より明らか
である。ここで、時刻t0の状態s0より遷移した場
合、出力=(0,0)であり、そのときの入力=0とな
る。同様に、時刻t0の状態s2より遷移した場合、出
力=(1,1)であり、そのときの入力=0であること
が容易に推定できる(図3のステップS33)。
(1) Branch metric processing The branch metric processing unit 1 of the Viterbi decoder 11
2, the branch metric processing unit 12
At steps S31 to S38 shown in FIG.
-1], branch metrics are calculated for all paths that can transition to one unit time at time tn, and output to the ACS processing unit 13. Specifically, when coded data = (1, 1) is received at time t1, the state s0 at time t1 is received.
It is clear from the trellis diagram shown in FIG. 12 that there are two paths at state t0 and state s2 at the previous time t0 at which the state can transition to. Here, when the state transits from the state s0 at the time t0, the output is (0, 0), and the input at that time is 0. Similarly, when the state transits from the state s2 at the time t0, it can be easily estimated that the output = (1, 1) and the input = 0 at that time (step S33 in FIG. 3).

【0036】これらの出力(00,11)と受信した符
号化データ=(1,1)よりブランチメトリックを求め
る(図3のステップ34)。ブランチメトリック計算で
は、前記出力(00,11)と受信した符号化データ=
(1,1)のビットごとの差の総和を示すハミング距離
を求める。時刻t0の状態s0より遷移した場合は第1
ビット、第2ビット共に一致しないのでハミング距離=
2となる。同様に、時刻t0の状態s2より遷移した場
合は第1ビット、第2ビット共に一致するのでハミング
距離=0となる。以上の処理を他の3つ(図3の変数X
=1,2,3)の状態全てについて行う(図3のステッ
プS37、S38)。
A branch metric is determined from these outputs (00, 11) and the received encoded data = (1, 1) (step 34 in FIG. 3). In the branch metric calculation, the output (00, 11) and the received encoded data =
A Hamming distance indicating the sum of the difference of each bit of (1, 1) is obtained. When the state transits from the state s0 at time t0, the first
Hamming distance =
It becomes 2. Similarly, when the state transits from the state s2 at the time t0, the first bit and the second bit match, so that the Hamming distance = 0. The above processing is performed for the other three (variable X in FIG. 3).
= 1, 2, 3) (steps S37 and S38 in FIG. 3).

【0037】(2)ACS処理 ブランチメトリック処
理において計算したブランチメトリックは、ACS処理
部13に入力し、ACS処理部13では図に示すステッ
プS41〜S61において、また、図6、図7に示すよ
うにブランチメトリックとそれ以前に推定したパスとの
関係に基づいて、最も確からしいパスを各状態毎に推定
する。具体的には、時刻t1の状態s0に遷移可能な時
刻t0の状態s0、状態s2におけるそれまでのパスメ
トリック(累積ハミング距離)と、ブランチメトリック
処理部12で計算したブランチメトリック(ハミング距
離)を加算し、時刻t1までのパスメトリックを計算す
る。
(2) ACS Processing The branch metric calculated in the branch metric processing is input to the ACS processing unit 13, and the ACS processing unit 13 performs steps S41 to S61 shown in FIG. The most probable path is estimated for each state based on the relationship between the branch metric and the path previously estimated. Specifically, the path metric (cumulative Hamming distance) up to that in state s0 and state s2 at time t0, which can transit to state s0 at time t1, and the branch metric (hamming distance) calculated by branch metric processing unit 12 are calculated. Then, a path metric up to time t1 is calculated.

【0038】この場合、時刻t0のパスメトリックの時
には、セレクタ16によりa側のパスメトリックバッフ
ァ18aが選択される。このとき、パスメトリックバッ
ファ18aは初期状態であるためパスメトリック=0と
して計算すると、時刻t0の状態s0より遷移した場合
はパスメトリック=2(=0+2)、時刻t0の状態s
2より遷移した場合はパスメトリック=0(=0+0)
となる(図4のステップS44)。
In this case, at the time of the path metric at time t0, the selector 16 selects the path metric buffer 18a on the a side. At this time, since the path metric buffer 18a is in the initial state and is calculated with path metric = 0, if the state transits from the state s0 at the time t0, the path metric = 2 (= 0 + 2) and the state s at the time t0
When the transition is made from 2, the path metric = 0 (= 0 + 0)
(Step S44 in FIG. 4).

【0039】次に、それぞれのパスに対するパスメトリ
ックを比較して、よりパスメトリックの小さい方の状態
より遷移してきたと推定(パスメトリックが同一の場合
はより状態番号の小さい方からと推定する)し、そのと
きのパスメトリックをb側のパスメトリックバッファ1
8bに書き込む(図5のステップS47)。この場合、
上記の入力例では時刻t0の状態s0より遷移した場合
のパスメトリック=2、時刻t0の状態s2より遷移し
た場合のパスメトリック=0であるため、時刻t0の状
態s2より時刻t1の状態s0に遷移したと推定し、b
側のパスメトリックバッファ18bの状態s0にパスメ
トリック値=0を書き込む。
Next, the path metrics for each path are compared, and it is estimated that the state has transited from the state with the smaller path metric (if the path metric is the same, it is estimated from the state with the smaller state number). The path metric at that time is stored in the path metric buffer 1 on the b side.
8b (step S47 in FIG. 5). in this case,
In the above input example, the path metric when transitioning from the state s0 at time t0 = 2, and the path metric when transitioning from the state s2 at time t0 = 0, so that the state s2 at time t0 changes from the state s2 to the state s0 at time t1. Presumed to have transitioned, b
The path metric value = 0 is written to the state s0 of the side path metric buffer 18b.

【0040】次に、a側のデータバッファ17aから、
推定された状態s2の復号データ候補系列を読み出し
(図5のステップS48)、推定されたバス(s2→s
0)により確定する復号データ候補=0を付加して、b
側のデータバッファ17bの状態s0の復号データ候補
系列に書き込む(図5のステップS49、図6の時刻t
1)。以上の処理を他の3つ(図4の変数X=1,2,
3)の状態全てについて行う(図5のステップS50、
S51)。
Next, from the data buffer 17a on the a side,
The decoded data candidate sequence in the estimated state s2 is read (step S48 in FIG. 5), and the estimated bus (s2 → s
0) is added to the decoded data candidate = 0, and b
(Step S49 in FIG. 5, time t in FIG. 6)
1). The above processing is repeated for the other three (variable X = 1, 2, 2,
This is performed for all the states of 3) (Step S50 in FIG. 5,
S51).

【0041】次の時刻t2において、符号化データ=
(1,0)を受信したとき、ブランチメトリック処理
後、時刻t2の状態s0に遷移可能な時刻t1の状態s
0、状態s2におけるそれまでのパスメトリックと、ブ
ランチメトリック処理部12で計算したブランチメトリ
ックを加算し、時刻t2までのパスメトリックを計算す
る。この場合、時刻t1のパスメトリックはセレクタ1
6によりb側のパスメトリックバッファ18bが選択さ
れる。このとき、パスメトリックバッファ18bの状態
s0のパスメトリック=0であるため、時刻t1の状態
s0より遷移した場合はパスメトリック=1(=0+
1)、時刻t1の状態s2より遷移した場合は、パスメ
トリック=2(=1+1)となる。
At the next time t2, the encoded data =
When (1, 0) is received, after the branch metric processing, the state s at time t1 that can transition to the state s0 at time t2
0, the path metric up to that time in the state s2 and the branch metric calculated by the branch metric processing unit 12 are added to calculate the path metric until time t2. In this case, the path metric at time t1 is the selector 1
6, the path metric buffer 18b on the b side is selected. At this time, since the path metric of the state s0 of the path metric buffer 18b is 0, if the state transits from the state s0 of the time t1, the path metric is 1 (= 0 +
1) When the state transits from the state s2 at the time t1, the path metric becomes 2 (= 1 + 1).

【0042】次に、それぞれのパスに対するパスメトリ
ックを比較して、よりパスメトリックの小さい方の状態
より遷移してきたと推定し、そのときのパスメトリック
をa側のパスメトリックバッファ18aに書き込む。こ
の場合、上記の入力例では時刻t1の状態s0より遷移
した場合のパスメトリック=1、時刻t1の状態s2よ
り遷移した場合のパスメトリック=2であるため、時刻
t1の状態s0より時刻t2の状態s0に遷移したと推
定し、a側のパスメトリックバッファ18aの状態s0
にパスメトリック値=1を書き込む。
Next, the path metrics for each path are compared, it is estimated that the state has transited from the state with the smaller path metric, and the path metric at that time is written to the path metric buffer 18a on the a side. In this case, in the above input example, the path metric when the state transits from the state s0 at the time t1 = 1, and the path metric when the state transits from the state s2 at the time t1 = 2. It is estimated that the state has transited to the state s0, and the state s0 of the path metric buffer 18a on the a side is
Is written with the path metric value = 1.

【0043】次に、b側のデータバッファ17bから、
推定された状態s0の復号データ候補系列を読み出し、
推定されたバス(s0→s0)により確定する復号デー
タ候補=0を付加して、a側のデータバッファ17aの
状態s0の復号データ候補系列に書き込む(図6の時刻
t2)。以上の処理を他の3つ(図4の変数X=1,
2,3)の状態全てについて行う。
Next, from the data buffer 17b on the b side,
Read the decoded data candidate sequence in the estimated state s0,
A decoded data candidate = 0 determined by the estimated bus (s0 → s0) is added and written to the decoded data candidate series in the state s0 of the a-side data buffer 17a (time t2 in FIG. 6). The above processing is performed for the other three (variable X = 1,
This is performed for all of the states 2) and 3).

【0044】以上のような動作を繰り返すことのより、
セレクタ16により選択される現時刻tnのデータバッ
ファ17の1ラインは各状態における最尤パスの復号デ
ータ候補系列となる。つまり、1ラインの復号データ候
補系列の中で最も古いデータが、現時刻tnにおける復
号データとなる。
By repeating the above operation,
One line of the data buffer 17 at the current time tn selected by the selector 16 becomes a decoded data candidate sequence of the maximum likelihood path in each state. That is, the oldest data in the one-line decoded data candidate sequence is the decoded data at the current time tn.

【0045】ここで、符号化データとして (11、1
0、00、11、00、11、10)が入力されたとき
の復号動作におけるデータバッファ17とパスメトリッ
クバッファ18の遷移を図7に示す。図7を参照する
と、最終時刻t7におけるb側のパスメトリックバッフ
ァ18bを見ると状態s3のパスメトリックが最小値=
1であることから、b側のデータバッファ17bの状態
s3の1ラインに記憶されている復号データ候補系列
を、最も古い時刻t1から順にならべると (1,1,
0,0,0,1,1)となり、符号化される前のデータ
と一致していることがわかる(正しいデータに復号)。
Here, (11, 1)
FIG. 7 shows transitions of the data buffer 17 and the path metric buffer 18 in the decoding operation when (0, 00, 11, 00, 11, 10) are input. Referring to FIG. 7, looking at the path metric buffer 18b on the b side at the final time t7, the path metric in the state s3 has the minimum value =
1, the decoded data candidate sequences stored in one line of the state s3 of the b-side data buffer 17b are sequentially arranged from the oldest time t1 as (1,1,
0, 0, 0, 1, 1), which indicates that they match the data before being encoded (decoded to correct data).

【0046】(3)トレースバック処理 トレースバッ
ク処理部14では、前記ACS処理により、データバッ
ファ17の各ラインは各状態における最尤復号データ系
列となるため、従来と異なり1単位時間づつ遡ることな
く、図8に示すステップS61〜S64において直接ト
レースバック長分の過去まで遡ることができる。
(3) Trace-back processing In the trace-back processing section 14, each line of the data buffer 17 becomes a maximum likelihood decoded data sequence in each state by the ACS processing. In steps S61 to S64 shown in FIG. 8, it is possible to directly go back to the past by the traceback length.

【0047】このため、第1の効果は、トレースバック
処理の時間を短縮できることである。その理由は、トレ
ースバック処理において、直接最も古い復号データ候補
を検索することができるため、1時刻づつ過去へ遡るた
めのメモリアクセスが不要となるからである。具体的に
は、例えばトレースバック長=16とすると、従来で
は、4+16=20回のメモリアクセスが必要であった
のに対し、本発明によれば、4+1=5回のメモリアク
セスでトレースバック処理を行うことができる。
Therefore, the first effect is that the time for the trace-back processing can be reduced. The reason is that the oldest decoded data candidate can be directly searched in the traceback processing, so that it is not necessary to access the memory to go back to the past one time at a time. Specifically, for example, if the traceback length is 16, the memory access is required 4 + 16 = 20 times in the past, but according to the present invention, the traceback processing is performed by 4 + 1 = 5 memory accesses. It can be performed.

【0048】ここで、ビタビ復号化(トレースバック長
=16)処理を実際にマイクロプロセッサ(NEC μ
PD705100:V830)を使用してプログラミン
グした時の性能データを比較してみると、従来方法では
90μs(周期処理単位:416μs)かかっていた処
理を本発明のビタビ復号化方法により、45μsに短縮
することができた。また、本発明によればトレースバッ
ク長に依存せずに、トレースバック処理を行うことがで
きるため、トレースバック長が長くなるほど効果が高く
なることは明らかである。
Here, the Viterbi decoding (traceback length = 16) processing is actually performed by a microprocessor (NEC μm).
Comparing the performance data when programming using the PD 705100 (V830), processing that took 90 μs (periodic processing unit: 416 μs) in the conventional method is reduced to 45 μs by the Viterbi decoding method of the present invention. I was able to. In addition, according to the present invention, since the traceback processing can be performed without depending on the traceback length, it is clear that the longer the traceback length, the higher the effect.

【0049】第2の効果は、パスメモリ容量を低減でき
ることである。その理由は、パスメモリを一対のバッフ
ァ群で構成することにより、不要なパスメトリック用の
メモリを削減できるからである。具体的には、例えば、
トレースバック長=16、状態数=4とすると、従来、
3×4×16=192(ワード)のパスメモリが必要で
あったのに対し、本発明によれば、(4+4×16)×
2=136(ワード)のメモリ容量でビタビ復号化処理
を行うことができる。このため、キャッシュメモリを内
蔵したマイクロプロセッサではキャッシュ・ヒット率が
向上し、処理時間をさらに短縮することができる。
The second effect is that the path memory capacity can be reduced. The reason is that by configuring the path memory with a pair of buffer groups, unnecessary path metric memory can be reduced. Specifically, for example,
Assuming traceback length = 16 and number of states = 4,
Whereas 3 × 4 × 16 = 192 (word) path memories were required, according to the present invention, (4 + 4 × 16) ×
Viterbi decoding can be performed with a memory capacity of 2 = 136 (words). Therefore, in a microprocessor having a built-in cache memory, the cache hit rate is improved, and the processing time can be further reduced.

【0050】なお、上記実施形態では、データメモリに
対して復号データ候補を記憶したが、代わりに最尤状態
遷移履歴を記憶するようにしてもよい。
In the above embodiment, the decoded data candidates are stored in the data memory. Alternatively, the maximum likelihood state transition history may be stored.

【0051】[0051]

【発明の効果】以上説明したように本発明によれば、A
CS処理の単位毎に、データバッファに記憶される最尤
復号情報とパスメトリックバッファに記憶されるパスメ
トリックが更新されので、トレースバック処理時におけ
るパスメモリへのメモリアクセス回数により処理性能が
低下することを防止することができ、また、パスメモリ
の容量を低減することができる。
As described above, according to the present invention, A
Since the maximum likelihood decoding information stored in the data buffer and the path metric stored in the path metric buffer are updated for each CS processing unit, the processing performance decreases due to the number of memory accesses to the path memory during the traceback processing. Can be prevented, and the capacity of the path memory can be reduced.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明に係るビタビ復号化装置の一実施形態を
示すブロック図である。
FIG. 1 is a block diagram showing an embodiment of a Viterbi decoding device according to the present invention.

【図2】図1のデータバッファおよびパスメトリックバ
ッファを示す構成図である。
FIG. 2 is a configuration diagram showing a data buffer and a path metric buffer of FIG. 1;

【図3】本発明のブランチメトリック処理を示すフロー
チャートである。
FIG. 3 is a flowchart showing a branch metric process of the present invention.

【図4】本発明のACS処理を示すフローチャートであ
る。
FIG. 4 is a flowchart showing an ACS process of the present invention.

【図5】本発明のACS処理を示すフローチャートであ
る。
FIG. 5 is a flowchart showing an ACS process of the present invention.

【図6】図1のデータバッファの動作を示す説明図であ
る。
FIG. 6 is an explanatory diagram showing an operation of the data buffer of FIG. 1;

【図7】図1のデータバッファとパスメトリックバッフ
ァの遷移を示す説明図である。
FIG. 7 is an explanatory diagram showing transition between the data buffer and the path metric buffer in FIG. 1;

【図8】本発明のトレースバック処理を示すフローチャ
ートである。
FIG. 8 is a flowchart illustrating a traceback process according to the present invention.

【図9】畳み込み符号化装置を示すブロック図である。FIG. 9 is a block diagram illustrating a convolutional encoding device.

【図10】図9の装置の状態を示す説明図である。FIG. 10 is an explanatory diagram showing a state of the device in FIG. 9;

【図11】図9の装置の状態遷移を示す説明図である。FIG. 11 is an explanatory diagram showing a state transition of the device in FIG. 9;

【図12】図9の装置のトレリス線図を示す説明図であ
る。
FIG. 12 is an explanatory diagram showing a trellis diagram of the apparatus shown in FIG. 9;

【図13】図9の装置の状態遷移の一例を示す説明図で
ある。
13 is an explanatory diagram illustrating an example of a state transition of the device in FIG. 9;

【図14】従来のビタビ復号化装置を示すブロック図で
ある。
FIG. 14 is a block diagram showing a conventional Viterbi decoding device.

【図15】図14のパスメモリを詳細に示すブロック図
である。
FIG. 15 is a block diagram showing the path memory of FIG. 14 in detail;

【図16】トレースバック法による復号動作における状
態遷移を示す説明図である。
FIG. 16 is an explanatory diagram showing a state transition in a decoding operation by the traceback method.

【図17】従来のACS処理を示すフローチャートであ
る。
FIG. 17 is a flowchart showing a conventional ACS process.

【図18】従来のトレースバック処理を示すフローチャ
ートである。
FIG. 18 is a flowchart showing a conventional trace-back process.

【符号の説明】[Explanation of symbols]

12 ブランチメトリック処理部 13 ACS処理部 14 トレースバック処理部 15 パスメモリ 16 セレクタ 17a,17b データバッファ 18a,18b パスメトリックバッファ 12 branch metric processing unit 13 ACS processing unit 14 traceback processing unit 15 path memory 16 selector 17a, 17b data buffer 18a, 18b path metric buffer

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 前時刻から現時刻までの1単位時間に遷
移可能な全てのパスについてブランチメトリックを計算
するブランチメトリック処理手段と、 前時刻までの最尤復号情報と現時刻までの最尤復号情報
をそれぞれ記憶するための1対のデータバッファと、 前時刻までのパスメトリックと現時刻までのパスメトリ
ックをそれぞれ記憶するための1対のパスメトリックバ
ッファと、 1単位時間毎に、前記ブランチメトリック処理手段によ
り計算されたブランチメトリックと前記1対のパスメト
リックバッファの一方に記憶された前時刻までのパスメ
トリックに基づいて、現時刻の各状態における最も確か
らしいパスを推定して、このパスに基づいて前記1対の
データバッファの一方に記憶された前時刻までの最尤復
号情報を並び替えて他方に書き込むとともに、前記1対
のパスメトリックバッファの一方に記憶されたパスメト
リックを更新して他方に書き込むACS処理手段と、 前記パスメトリックバッファに記憶された現時刻までの
パスメトリックと前記データバッファに記憶された現時
刻までの最尤復号情報に基づいて復号データを検索する
トレースバック処理手段と、 を有するビタビ復号化装置。
1. A branch metric processing means for calculating branch metrics for all paths transitable in one unit time from a previous time to a current time, maximum likelihood decoding information up to the previous time and maximum likelihood decoding up to the current time A pair of data buffers for respectively storing information, a pair of path metric buffers for respectively storing a path metric up to the previous time and a path metric up to the current time, and the branch metric for each unit time The most probable path in each state at the current time is estimated based on the branch metric calculated by the processing means and the path metric up to the previous time stored in one of the pair of path metric buffers. The maximum likelihood decoding information stored up to the previous time stored in one of the pair of data buffers is rearranged based on the ACS processing means for writing, updating the path metric stored in one of the pair of path metric buffers and writing the updated path metric in the other, and storing the path metric up to the current time stored in the path metric buffer and the data buffer Traceback processing means for searching for decoded data based on the maximum likelihood decoding information up to the current time.
【請求項2】 前記データバッファには、最尤復号情報
として各パスの最尤復号データ候補が記憶されることを
特徴とする請求項1記載のビタビ復号化装置。
2. The Viterbi decoding apparatus according to claim 1, wherein the data buffer stores a maximum likelihood decoded data candidate for each path as maximum likelihood decoding information.
【請求項3】 前記データバッファには、最尤復号情報
として各パスの最尤状態遷移履歴が記憶されることを特
徴とする請求項1記載のビタビ復号化装置。
3. The Viterbi decoding device according to claim 1, wherein the data buffer stores a maximum likelihood state transition history of each path as maximum likelihood decoding information.
【請求項4】 前時刻から現時刻までの1単位時間に遷
移可能な全てのパスについてブランチメトリックを計算
するブランチメトリック処理ステップと、 1単位時間毎に、前記ブランチメトリック処理ステップ
により計算されたブランチメトリックと1対のパスメト
リックバッファの一方に記憶された前時刻までのパスメ
トリックに基づいて、現時刻の各状態における最も確か
らしいパスを推定して、このパスに基づいて1対のデー
タバッファの一方に記憶された前時刻までの最尤復号情
報を並び替えて他方に書き込むとともに、1対のパスメ
トリックバッファの一方に記憶されたパスメトリックを
更新して他方に書き込むACS処理ステップと、 前記パスメトリックバッファに記憶された現時刻までの
パスメトリックと前記データバッファに記憶された現時
刻までの最尤復号情報に基づいて復号データを検索する
トレースバック処理ステップと、 を有するビタビ復号化方法。
4. A branch metric processing step for calculating a branch metric for all paths transitable in one unit time from a previous time to a current time; and a branch calculated by the branch metric processing step for each unit time. The most probable path in each state at the current time is estimated based on the metric and the path metric up to the previous time stored in one of the pair of path metric buffers. An ACS processing step of rearranging the maximum likelihood decoding information stored up to the previous time stored in one of the paired path metric buffers and updating the path metric stored in one of the pair of path metric buffers and writing the same in the other; Path metrics up to the current time stored in a metric buffer and the data buffer Viterbi decoding method with a trace back processing step of retrieving the decoded data based on the maximum likelihood decoding information to the stored current time was.
【請求項5】 前記データバッファには、最尤復号情報
として各パスの最尤復号データ候補が記憶されることを
特徴とする請求項4記載のビタビ復号化方法。
5. The Viterbi decoding method according to claim 4, wherein the data buffer stores maximum likelihood decoded data candidates of each path as maximum likelihood decoding information.
【請求項6】 前記データバッファには、最尤復号情報
として各パスの最尤状態遷移履歴が記憶されることを特
徴とする請求項4記載のビタビ復号化方法。
6. The Viterbi decoding method according to claim 4, wherein the data buffer stores a maximum likelihood state transition history of each path as maximum likelihood decoding information.
JP36663098A 1998-12-24 1998-12-24 Viterbi decoding device and Viterbi decoding method Expired - Fee Related JP3260714B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP36663098A JP3260714B2 (en) 1998-12-24 1998-12-24 Viterbi decoding device and Viterbi decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP36663098A JP3260714B2 (en) 1998-12-24 1998-12-24 Viterbi decoding device and Viterbi decoding method

Publications (2)

Publication Number Publication Date
JP2000196468A true JP2000196468A (en) 2000-07-14
JP3260714B2 JP3260714B2 (en) 2002-02-25

Family

ID=18487260

Family Applications (1)

Application Number Title Priority Date Filing Date
JP36663098A Expired - Fee Related JP3260714B2 (en) 1998-12-24 1998-12-24 Viterbi decoding device and Viterbi decoding method

Country Status (1)

Country Link
JP (1) JP3260714B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100431162B1 (en) * 2002-06-29 2004-05-12 피앤피네트워크 주식회사 coderate detection circuit
KR100653233B1 (en) 2005-12-09 2006-12-05 한국전자통신연구원 Viterbi decoder
US7450667B2 (en) 2000-11-10 2008-11-11 Samsung Electronics Co., Ltd. Apparatus and method for decoding data of unknown frame length

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7450667B2 (en) 2000-11-10 2008-11-11 Samsung Electronics Co., Ltd. Apparatus and method for decoding data of unknown frame length
KR100431162B1 (en) * 2002-06-29 2004-05-12 피앤피네트워크 주식회사 coderate detection circuit
KR100653233B1 (en) 2005-12-09 2006-12-05 한국전자통신연구원 Viterbi decoder

Also Published As

Publication number Publication date
JP3260714B2 (en) 2002-02-25

Similar Documents

Publication Publication Date Title
KR100426712B1 (en) Viterbi decoder
JP3900637B2 (en) Viterbi decoder
US4614933A (en) Viterbi decoder with the pipeline processing function
JPH05327524A (en) Addition/comparison/selection array for bit-serial viterbi decoder
JPH10107651A (en) Viterbi decoder
EP2339757B1 (en) Power-reduced preliminary decoded bits in viterbi decoder
JP3266182B2 (en) Viterbi decoder
US6601215B1 (en) Traceback buffer management for VLSI Viterbi decoders
US5878060A (en) Viterbi decoding apparatus and viterbe decoding method
US20010044921A1 (en) Viterbi decoder with high speed processing function
JP4600183B2 (en) Viterbi decoder
JP4580927B2 (en) Viterbi decoding apparatus and Viterbi decoding method
CA2198194A1 (en) Viterbi decoding method and viterbi decoding circuit
JP3260714B2 (en) Viterbi decoding device and Viterbi decoding method
JPH0951278A (en) Viterbi decoder
JP4047697B2 (en) Viterbi decoder
JPH1155130A (en) Viterbi decoder
CN105589082A (en) Viterbi decoding device and method of Beidou navigation system
JP2010206570A (en) Decoding apparatus and decoding method
US6904105B1 (en) Method and implemention of a traceback-free parallel viterbi decoder
KR19990076528A (en) Apparatus and Method for Addition Comparison Selection for Viterbi Algorithm Processing
JP3288328B2 (en) Apparatus and method for speeding up traceback processing of Viterbi decoder
JP3235333B2 (en) Viterbi decoding method and Viterbi decoding device
JP2001024526A (en) Viterbi decoder
KR100195004B1 (en) Add / Compare / Select Array of Bit-Serial Viterbi Decoder

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20011127

LAPS Cancellation because of no payment of annual fees