JP3530451B2 - Viterbi decoding device - Google Patents
Viterbi decoding deviceInfo
- Publication number
- JP3530451B2 JP3530451B2 JP2000042619A JP2000042619A JP3530451B2 JP 3530451 B2 JP3530451 B2 JP 3530451B2 JP 2000042619 A JP2000042619 A JP 2000042619A JP 2000042619 A JP2000042619 A JP 2000042619A JP 3530451 B2 JP3530451 B2 JP 3530451B2
- Authority
- JP
- Japan
- Prior art keywords
- path
- input
- state
- data
- received
- 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.)
- Expired - Fee Related
Links
- 238000007476 Maximum Likelihood Methods 0.000 claims description 19
- 230000001186 cumulative effect Effects 0.000 claims description 14
- 238000000034 method Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 24
- 230000007704 transition Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
Landscapes
- Error Detection And Correction (AREA)
Description
【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明はビタビ復号装置に
関し、さらに詳しくは、畳み込み符号を最尤復号法によ
り復号するビタビ復号装置の改良に関する。
【0002】
【従来の技術】ビタビ復号は畳み込み符号の最尤復号を
効率よく実現する方法として、また、強力な誤り訂正能
力を持つことから衛星通信システムや移動体通信システ
ムのデジタル信号の誤り訂正方式として広く使用されて
いる。ビタビ復号は、伝送されてきた受信系列に最も近
い伝送系列を推定し、元の情報系列を復号する最尤復号
方式の1つである。以下に、ビタビ復号装置の復号原理
の概略について、簡単な例を用いて説明する。
【0003】図5は、畳み込み符号を生成する符号器の
構成例として、拘束長が4の比較的簡単な構成のものを
示すブロック図である。この符号器は、3つのディレイ
ライン1〜3と、2つの排他的論理和回路4,5とを備
える。この符号器の生成多項式はG0(X)=X3+
1,G1(X)=X3+X2+X1+1である。
【0004】0または1の入力信号がディレイライン1
〜3を順次シフトしていき、その都度、排他的論理和回
路4,5が0または1の信号G0,G1を出力する。す
なわち、畳み込み符号器に対する元の入力信号Xが1つ
であるのに対し、出力される畳み込み符号は2つであ
る。換言すると、送りたい信号1つに対して実際に送信
しなければならない符号は2つであるので、この符号器
の符号化率はr=1/2である。
【0005】また、出力G0,G1に影響を及ぼす信号
は、入力Xと、ディレイライン1〜3のそれぞれの信号
との合計4個の信号であり、したがって拘束長はK=4
である。
【0006】ディレイライン1〜3の各々は0または1
の信号をラッチするから、2通りの状態を有する。その
ため、ディレイライン1〜3全体としては8(=23)
通りの状態を有する。以下、この8通りの状態(ステー
ト)をS000〜S111と表記する。たとえばディレ
イライン1が0をラッチし、ディレイライン2が0をラ
ッチし、ディレイライン3が1をラッチしている状態は
S100と表記される。
【0007】図6は、図5に示した符号器の状態遷移図
である。図6において、「/」の前の2桁の数字は出力
G0,G1を示し、「/」の後の1桁の数字は入力Xを
示す。たとえば状態S000において0が入力される
と、再び同じ状態S000に遷移し、00が出力され
る。他方、状態S000において1が入力されると、状
態S001に遷移し、11が出力される。あるいは、状
態S110において0が入力されると、状態S100に
遷移し、10が出力される。他方、状態S110におい
て1が入力されると、状態S101に遷移し、01が出
力される。
【0008】図7は、図5に示した符号器のトレリス線
図である。ここでは、時刻T=0の初期状態をS000
としている。また、入力が0の場合の遷移パスを実線で
示し、入力が1の場合の遷移パスを点線で示している。
【0009】時刻T=0の状態S000において0が入
力されると、00が出力され、時刻T=1の状態S00
0に遷移し、他方、1が入力されると、11が出力さ
れ、時刻T=1の状態S001に遷移する。
【0010】時刻T=1の状態S001において0が入
力されると、11が出力され、時刻T=2の状態S01
0に遷移し、他方、1が入力されると、00が出力さ
れ、時刻T=2の状態S011に遷移する。
【0011】時刻T=2の状態S011において0が入
力されると、10が出力され、時刻T=3の状態S11
0に遷移し、他方、1が入力されると、01が出力さ
れ、時刻T=3の状態S111に遷移する。
【0012】時刻T=3の状態S111において0が入
力されると、01が出力され、時刻T=4の状態S11
0に遷移し、他方、1が入力されると、10が出力さ
れ、時刻T=4の状態S111に遷移する。
【0013】以上のように、図5に示した符号器は、0
または1の入力信号Xに応じて00、01、10または
11の出力信号G0,G1を生成する。出力信号G0,
G1は通常はパラレル−シリアル変換され、畳み込み符
号としてビタビ復号装置に伝送される。
【0014】図8は、伝送された上記のような畳み込み
符号を最尤復号法により元の入力符号系列に復号するビ
タビ復号装置の一般的な構成を示す概略ブロック図であ
る。
【0015】図8を参照して、枝メトリック計算回路1
01は、畳み込み符号を受信するたびに、畳み込み符号
器の取り得る8つの状態(S000〜S111)の各々
ごとに、受信した畳み込み符号と、当該状態において想
定される受信符号との差異である枝メトリックを算出
し、後述するACS回路102に与える。枝メトリック
の算出については後述する。
【0016】図7に示すように、時刻T=4以降におい
て、各状態は、その状態に対して遷移してくる2つのパ
スを有している。ACS(Add Compare Select)回路1
02は、累積メトリック記憶回路105から読出した、
前回の受信時すなわち時刻T=3における上記2つのパ
スにそれぞれ付随する累積メトリックに、枝メトリック
計算回路101で計算された時刻T=4における上記2
つのパスのそれぞれの枝メトリックを加算する。
【0017】そして、ACS回路102は、当該状態へ
と遷移する2つのパスのそれぞれの加算結果を相互に比
較し、加算結果の小さい方のパス、すなわち尤度の高い
方のパスを残し、他方のパスを捨てる。この残したパス
を一般に「生き残りパス」と称する。
【0018】パスメモリ103は、この生き残りパスを
特定するための情報を記憶し出力する。また、当該状態
において算出された生き残りパスの加算結果は、累積メ
トリックとして累積メトリック記憶回路105に格納さ
れる。
【0019】ACS回路102は、符号器の取り得る8
通りの状態の各々について、上述の動作を順次実行して
いく。
【0020】このように状態ごとに生き残りパスを決定
していくと、図9に示すように、時間の経過に伴って、
生き残りパスは1本に収束していく。図9の例では、時
刻T=9の時点で、時刻T=0〜T=4までの生き残り
パスは1本に収束している。
【0021】この状態で、図8の最尤系列決定回路10
6は、時刻T=9における8つの状態(S000〜S1
11)のすべての最終的に算出された累積メトリックの
大小判定を行なう。すなわち、8つの状態の中で最も小
さな累積メトリックを有する状態を最も尤度が高い(最
も確からしい)ものと判定する。この最尤系列決定回路
106の決定出力に応じて、パス選択回路104は、パ
スメモリ103から出力されている生き残りパス情報の
中から最尤の生き残りパス情報を選択して出力する。す
なわち、最尤と判定された状態に対応する生き残りパス
を辿って時刻T=0における状態S000まで遡る生き
残りパス情報が次々に読出される。読出された生き残り
パス情報は、パス選択回路104によって受信した符号
系列に復号される。
【0022】以上が、拘束長K=4の比較的簡単な例を
用いて説明したビタビ復号の概略である。ビタビ復号そ
のものは当該技術分野において周知の技術であり、その
詳細については、たとえば、岩垂好裕著の「符号理論入
門」(株式会社昭晃堂発行、1992年12月20日)
の第135頁〜第159頁に説明されている。
【0023】ところで、現実には、衛星通信システムや
移動体通信システムでは通常、さらに大きな拘束長の畳
み込み符号が用いられる。
【0024】たとえば、これらの用途では、拘束長K=
9の符号器による畳み込みが用いられている。図10
は、このような拘束長K=9の畳み込み符号器の一例を
示すブロック図である。この符号器は、8つのディレイ
ライン1〜8と、2つの排他的論理和回路9,10とを
備える。この符号器の生成多項式は次のとおりである。
【0025】
G0(X)=1+X2+X3+X4+X8 G0=5618
G1(X)=1+X+X2+X3+X5+X7+X8 G1=7538
(なお、添字の8は8進数であることを示す)
0または1の入力信号がディレイライン1〜8を順次シ
フトとしていき、その都度、排他的論理和回路9,10
が0または1の信号G0,G1を出力する。ディレイラ
イン1〜8の各々は0または1の信号をラッチするか
ら、2通りの状態を有する。このため、ディレイライン
1〜8全体としては256(=28)の状態を有する。
このように、拘束長がK=9のときには、前述のK=4
の場合と比較して、状態数が指数関数的に増大するた
め、図6のような状態遷移図や図7のようなトレリス線
図を示すことは困難であり、ここでは図示を省略する。
【0026】図10の符号器において、信号が入力され
る側をMSBとして、符号器の状態の初期値はS000
00000であり、この状態を、256通りの状態のう
ちの状態番号0とする。ここで1が入力されると、符号
器の状態はS10000000となり、その十進数表示
である128をこの状態の状態番号とする。続いて0が
入力されると、符号器の状態はS01000000とな
り、その十進数表示である64をこの状態の状態番号と
する。したがって、符号器が取り得る256個の状態
を、状態番号J=0〜255で表わすこととする。
【0027】次に枝メトリックの計算方法について説明
する。ビタビ復号では、ある状態から次の状態へ遷移す
る際に図11に示すようにクロス型の変化をする。この
ことは、図7の拘束長がK=4の場合のトレリス線図中
の遷移の形状からも明らかである。
【0028】図11に示す状態変化の形状から、このよ
うな状態の遷移を通常、バタフライ演算と称する。符号
器の状態を十進表示した状態番号Jを用いて、より具体
的に説明すると、ある状態番号2Jから遷移する次の状
態として想定される状態は、畳み込み符号器に「1」が
入力されたときに遷移する「J+(すべての状態数/
2)」の状態、または「0」が入力されたときに遷移す
る「J」の状態の2通りである。
【0029】一方、ある状態番号2J+1から遷移する
次の状態として想定される状態は、畳み込み符号器に
「1」が入力されたときに遷移する「J+(すべての状
態数/2)」の状態、または「0」が入力されたときに
遷移する「J」の状態の2通りである。
【0030】図11の例では、たとえば状態番号Jに遷
移するパスは2つ存在することになる。そして、各パス
に対応して期待される2ビットの受信符号系列(00,
01,10,11のいずれか)が存在することになる。
このような各パスごとの2ビットの期待値と、実際に受
信した2ビットの畳み込み符号との差(距離)が、枝メ
トリックとして各パスごとに算出される。より詳細に、
各受信符号に対する枝メトリックは、期待される2ビッ
トの入力値と実際の2ビットの入力値とのユークリッド
距離(内積)の和として算出される。
【0031】図12において、受信された畳み込み符号
がA,Bの2ビットの場合、期待する受信値00との距
離である枝メトリックはS+Pで表わされ、期待する受
信値01との距離はS+Qで表わされ、期待する受信値
10との距離はT+Pで表わされ、期待する受信値11
との距離はT+Qで表わされる。
【0032】なお、図12に示すように、受信したデー
タの判定には、各ビットをあるしきい値で「1」、
「0」に分けてしまう更判定と、たとえば「0」から
「15」まで幅を持たせた値として取り扱う軟判定とが
あり、上記枝メトリック算出方法は軟判定の手法に依拠
している。
【0033】期待する受信符号と、実際に受信した符号
との距離が近いほど、受信した符号は確からしい符号と
考えられるため、前述のように、この距離(枝メトリッ
ク)の最終的な累積値が最も小さい符号系列が、最も確
からしい符号列(最尤符号列)として決定される。
【0034】ビタビ復号においては、このような累積メ
トリックが最小の符号系列を記憶しておく必要がある。
図8に示した一般的な構成のビタビ復号装置では、前述
のようにパスメモリ103にこのような符号系列の情報
が格納される。
【0035】パスメモリ103の具体的な構成として
は、さまざまなものが考えられるが、たとえば図13に
示すように多数のフリップフロップ回路11を複数段に
接続して構成されたシフトレジスタの形態をとるものが
考えられる。この図13に示したフリップフロップ回路
11の各々は、基本的に図14に示す構成を有してい
る。
【0036】図13に示したパスメモリ103の構成
は、拘束長が3の場合の構成例を示すものであり、図示
しない畳み込み符号器がとり得る状態00、01、1
0、11のそれぞれに対応するライン上に、複数のフリ
ップフロップ回路11が配置されている。
【0037】このようなシフトレジスタの段数は、本来
は拘束長の5〜6倍程度の段数が適当であるとされてい
るが、図13では、図示の簡略化のため、4段のみから
なるシフトレジスタとして示されている。
【0038】図13のパスメモリ(シフトレジスタ)1
03の2段目以降の各段のフリップフロップ回路11の
各々には、前段の2つのフリップフロップ回路11から
のパスが遷移するように、パスメモリ103は構成され
ている。
【0039】各フリップフロップ回路11は、図14に
示す構成を有しており、セレクタ12の2つの入力のそ
れぞれには、前段の対応するフリップフロップ回路11
においてそれぞれ保持されている、生き残っている方の
状態を特定する情報が入力される。一方、セレクタ12
の制御入力には、ACS回路102(図8)から、2つ
の入力のうち尤度の高い方のパスを特定する信号が与え
られ、前段においてどちらの状態が生き残っているかを
特定する情報がセレクタ12によってフリップフロップ
素子13に格納される。
【0040】パスメモリ103を構成するシフトレジス
タ(図13)においては、畳み込み符号を受信するたび
に、次段のフリップフロップ回路11へのデータのシフ
トが行なわれ、最終的には、状態00、01、10、1
1のそれぞれに対応して、符号系列を特定する情報が出
力される。そして、最尤系列決定回路106によって決
定された最も尤度の高い状態に対応する符号系列を特定
する情報がパス選択回路104によって選択され、出力
される。
【0041】
【発明が解決しようとする課題】図13に示すように、
パスメモリ103はシフトレジスタの構成を有してお
り、複数段のシフト処理の後に、生き残りパスを特定す
るデータが出力される。したがって、パスメモリ103
のシフトレジスタの段数に相当する処理時間だけ、パス
メモリ103の出力データには、受信符号系列に対して
遅延が生じることになる。
【0042】より具体的に説明すると、畳み込み符号か
らなる受信符号系列をすべて受信し終わっても、パスメ
モリ103内には処理中のデータが残ることになり、し
たがってこのような残留データもパスメモリ103から
抽出しなければならない。
【0043】したがって、受信符号系列の受信終了後、
たとえば複数の0からなるデータをダミー入力として与
えることにより、パスメモリ103内に残留しているデ
ータを引出す方法が考えられる。しかしながら、受信デ
ータの直後に0からなるダミーデータを入力すれば、ダ
ミー入力の0のデータが影響してパスメモリ103の出
力データに誤りが生じる可能性がある。このようなダミ
ー入力の影響を回避するため、入力データ系列そのもの
の内部において、最後に複数の0からなるテールビット
を特別に付加しておく必要が生じていた。そしてこのよ
うなテールビットの付加は送信できるデータ量に対する
好ましくない制約となっていた。
【0044】この発明は、送信データ内に特別なテール
ビットを含めることなく、誤りのないビタビ復号を行な
うことができるビタビ復号装置を提供することを目的と
する。
【0045】
【課題を解決するための手段】請求項1に記載の発明に
よれば、畳み込み符号器によって生成された畳み込み符
号からなる受信符号系列を最尤復号法により復号するビ
タビ復号装置は、枝メトリック計算手段と、演算比較手
段と、累積メトリック記憶手段と、パス情報記憶手段
と、最尤系列決定手段と、パス選択手段と、入力選択手
段とを備える。枝メトリック計算手段は、畳み込み符号
を受信するごとに、畳み込み符号器のとり得る複数の状
態の各々に対して遷移する各パスごとに枝メトリックを
計算する。演算比較手段は、複数の状態の各々に対して
遷移する2つのパスに付随する、畳み込み符号の前回の
受信時における累積メトリックに、枝メトリック計算手
段で計算された2つのパスのそれぞれの枝メトリックを
加算し、2つのパスの加算結果を相互に比較し、2つの
パスのうち尤度の高い方のパスを生き残りパスと決定す
る。累積メトリック記憶手段は、演算比較手段の加算結
果を累積メトリックとして記憶する。パス情報記憶手段
は、複数段のフリップフロップ回路で構成され、決定さ
れた生き残りパスを特定する情報を記憶し出力する。最
尤系列決定手段は、複数の状態のすべての最終の累積メ
トリックを対比して最も尤度の高い生き残りパスを決定
する。パス選択手段は、最尤系列決定手段の決定出力に
応じて、パス情報記憶手段から出力された生き残りパス
を特定する情報に基づいて最も尤度の高い受信符号系列
を決定する。入力選択手段は、受信符号系列の最終デー
タが受信されてから、パス情報記憶手段から生き残りパ
スを特定する情報の最終データが出力されるまでの期間
中、受信符号系列の各データがとり得る最大値と最小値
との中間値に相当する値を枝メトリック計算手段に与え
る。
【0046】以上のように請求項1に記載の発明によれ
ば、パス情報記憶手段における処理遅延期間に相当する
期間中、受信符号データの最大値と最小値との中間値に
相当する値を入力しているので、送信データ内に予めテ
ールビットを付加することなく、生き残りパスを特定す
る情報を誤りなく抽出することが可能となる。
【0047】
【発明の実施の形態】以下、この発明の実施の形態を図
面を参照して詳しく説明する。なお、図中同一または相
当部分には同一符号を付してその説明は繰返さない。
【0048】図1は、この発明の実施の形態によるビタ
ビ復号装置の構成を示す概略ブロック図である。図1に
示すビタビ復号装置は、以下の点を除いて、図8に示す
一般的なビタビ復号装置と同じである。
【0049】すなわち、図8の一般的なビタビ復号装置
では、受信信号が直接枝メトリック計算回路101に入
力されているのに対し、図1の実施の形態のビタビ復号
装置では、枝メトリック計算回路101の前段に入力選
択回路100が設けられており、受信信号はこの入力選
択回路100に入力される。
【0050】図2は、入力選択回路100の構成を示す
ブロック図である。2入力セレクタ20の2つの入力に
は、受信符号系列のデータと、信号源21から供給され
る、受信データがとり得る最大値と最小値との中間値に
相当する固定値とが、被選択信号として入力される。
【0051】入力データ制御回路22は、ビタビ復号の
開始時点から受信符号系列の受信終了時までは受信デー
タを選択し、その後、パスメモリ103を構成するシフ
トレジスタ(図13)の段数の処理時間に相当する期間
だけ信号源21からの固定値を選択するように、セレク
タ20の制御入力に選択信号を与える。
【0052】ここで、受信データの中間値とは、前述の
軟判定に依拠して「0」から「15」まで幅を持たせた
値として取扱う場合は7または8、あるいは「−8」か
ら「7」まで幅を持たせた値として取扱う場合は0また
は1、というような値である。なお、中間値として2つ
の値が存在するのは、上記の場合には最大値と最小値と
の中間値にあたる整数が存在しないためである。
【0053】図3は、ビタビ復号装置の入力データ(受
信符号系列)と、パスメモリ103の出力データとの関
係を示すタイミング図である。図3に示すように、畳み
込み符号からなるデータ系列が入力され始めても、パス
メモリ103の出力データはまだパスメモリ103内に
とどまっているため、データは出力されない。入力デー
タ系列がパスメモリ103のシフトレジスタ段数だけ入
力されると、当該入力データに関する出力データが初め
てパスメモリ103から出力される。その後、処理が進
むにつれて、入力データを構成する1組の畳み込み符号
(2つの符号からなる)ごとに、結果としてデータが1
個出力される。その際のパスメモリ103の出力データ
は、パスメモリ103のシフトレジスタ段数だけ遅延し
たデータである。
【0054】そして、最後の入力データが入力された後
には、セレクタ20の切換動作により、中間値が入力さ
れ、同様にビタビ復号処理が進められる。中間値はパス
メモリのシフトレジスタ段数分だけ入力される。このよ
うにすれば、パスメモリ103内に残っている最後の入
力データに対する結果が引出されることになる。
【0055】次に、入力値を中間値にすることにより、
パスメモリ103内に残留している出力データを誤りな
く抽出することができる理由について説明する。
【0056】ビタビ復号は、前述のように、受信側が想
定している符号系列と、実際に受信した符号系列との差
異または距離(メトリック値で表わされる)を算出し、
算出された距離の最も小さい、想定された符号系列を最
尤系列として求める復号方式である。
【0057】図4は、現時点までに受信した符号系列
と、受信側で想定している符号系列との関係を模式的に
示す図である。なお、図4が示す状態は、受信データの
入力が終了した時点に相当するものとする。さらに、受
信側が想定している符号系列をA,B,C,Dで表わ
し、これらの符号系列と実際に受信した符号系列とのそ
れぞれの差異または距離をa,b,c,d(a<b<c
<d)で表わすものとする。
【0058】この図4で表わす時点までは、受信系列
は、最も小さい差異aを有する想定された符号系列Aで
あると考えることができる。しかしながら、この後、仮
にランダムな値などが入力され、その結果、受信系列と
想定された符号系列との差異がa>bの関係を有するよ
うになったとすると、ビタビ復号装置は、受信系列を、
想定された符号系列Bであると判断してしまうことにな
る。その結果、復号動作を誤ってしまうことになる(符
号間の差異の大小関係がどうなるかは入力されるデータ
系列により決定される)。入力信号が上述のようなラン
ダムな値でなくとも、たとえば0または1に相当する固
定値などが入力された場合にも同様の事態が発生する。
【0059】しかしながら、上述のようなランダムな値
ではなく、入力データのとり得る最大値と最小値との中
間値を入力したとすると、当該中間値に対するAからD
の符号系列のそれぞれの差異(距離)は、どの符号系列
からも同じであるので、信号処理を何回繰返してもa<
b<c<dの大小関係には影響を与えない。したがっ
て、他の符号系列と誤ることなく、本来の符号系列Aを
正しく出力することが可能となる。
【0060】以上のように、この発明の実施の形態によ
るビタビ復号装置では、送信データ内にテールビット等
の特別なデータを付加することなく、入力データの受信
終了後にもパスメモリ内に残存しているデータを誤りな
く抽出することが可能となる。
【0061】今回開示された実施の形態はすべての点で
例示であって制限的なものではないと考えられるべきで
ある。本発明の範囲は上記した説明ではなくて特許請求
の範囲によって示され、特許請求の範囲と均等の意味お
よび範囲内でのすべての変更が含まれることが意図され
る。
【0062】
【発明の効果】この発明によれば、入力データの受信終
了後パスメモリのシフトレジスタ処理に要する期間中、
入力データがとり得る最大値と最小値との中間値に相当
する固定値を入力してビタビ復号を続行することによ
り、送信データ内に予めテールビット等の特別なデータ
を付加することなく、パスメモリ内に残存しているデー
タを誤りなく抽出することが可能である。Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a Viterbi decoding device, and more particularly, to an improvement in a Viterbi decoding device for decoding a convolutional code by a maximum likelihood decoding method. 2. Description of the Related Art Viterbi decoding is a method for efficiently realizing the maximum likelihood decoding of convolutional codes, and has a strong error correction capability, so that error correction of digital signals in a satellite communication system or a mobile communication system can be performed. Widely used as a method. Viterbi decoding is one of the maximum likelihood decoding schemes for estimating a transmission sequence closest to a transmitted reception sequence and decoding the original information sequence. The outline of the decoding principle of the Viterbi decoding device will be described below using a simple example. FIG. 5 is a block diagram showing an example of a configuration of an encoder for generating a convolutional code, which has a relatively simple configuration with a constraint length of four. This encoder includes three delay lines 1 to 3 and two exclusive OR circuits 4 and 5. The generator polynomial of this encoder is G0 (X) = X 3 +
1 is G1 (X) = X 3 + X 2 + X 1 +1. The input signal of 0 or 1 is the delay line 1
3 are sequentially shifted, and each time the exclusive OR circuits 4 and 5 output 0 or 1 signals G0 and G1. That is, while the original input signal X to the convolutional encoder is one, the output convolutional code is two. In other words, since two codes must be actually transmitted for one signal to be transmitted, the coding rate of this encoder is r = 1 /. The signals affecting the outputs G0 and G1 are a total of four signals including the input X and the respective signals of the delay lines 1 to 3, so that the constraint length is K = 4.
It is. Each of the delay lines 1 to 3 is 0 or 1
Are latched, there are two states. Therefore, the delay lines 1 to 3 as a whole are 8 (= 2 3 ).
It has the following states: Hereinafter, these eight states are described as S000 to S111. For example, a state in which delay line 1 latches 0, delay line 2 latches 0, and delay line 3 latches 1 is expressed as S100. FIG. 6 is a state transition diagram of the encoder shown in FIG. In FIG. 6, two digits before “/” indicate outputs G0 and G1, and one digit after “/” indicates input X. For example, when 0 is input in the state S000, the state transits to the same state S000 again and 00 is output. On the other hand, when 1 is input in the state S000, the state transits to the state S001 and 11 is output. Alternatively, when 0 is input in the state S110, the state transits to the state S100 and 10 is output. On the other hand, when 1 is input in the state S110, the state transits to the state S101 and 01 is output. FIG. 7 is a trellis diagram of the encoder shown in FIG. Here, the initial state at time T = 0 is S000
And The transition path when the input is 0 is shown by a solid line, and the transition path when the input is 1 is shown by a dotted line. When 0 is input in the state S000 at the time T = 0, 00 is output and the state S00 at the time T = 1 is output.
When a transition is made to 0, while 1 is input, 11 is output and the state transits to the state S001 at time T = 1. When 0 is input in state S001 at time T = 1, 11 is output and state S01 at time T = 2 is output.
When a transition is made to 0, while 1 is input, 00 is output and the state transits to a state S011 at time T = 2. When 0 is input in state S011 at time T = 2, 10 is output and state S11 at time T = 3 is output.
When the state transits to 0, while 1 is input, 01 is output and the state transits to the state S111 at time T = 3. When 0 is input in state S111 at time T = 3, 01 is output, and state S11 at time T = 4 is output.
When the state transits to 0, while 1 is input, 10 is output and the state transits to the state S111 at time T = 4. As described above, the encoder shown in FIG.
Or, it generates 00, 01, 10 or 11 output signals G0 and G1 according to one input signal X. The output signals G0,
G1 is usually subjected to parallel-serial conversion and transmitted as a convolutional code to a Viterbi decoding device. FIG. 8 is a schematic block diagram showing a general configuration of a Viterbi decoding apparatus for decoding the transmitted convolutional code into the original input code sequence by the maximum likelihood decoding method. Referring to FIG. 8, branch metric calculation circuit 1
01 is a difference between the received convolutional code and the expected reception code in each of the eight possible states (S000 to S111) of the convolutional encoder each time the convolutional code is received. The metric is calculated and given to the ACS circuit 102 described later. The calculation of the branch metric will be described later. As shown in FIG. 7, after time T = 4, each state has two paths that transition to that state. ACS (Add Compare Select) circuit 1
02 is read from the cumulative metric storage circuit 105;
The cumulative metrics associated with the two paths at the previous reception, that is, at the time T = 3, are added to the two metrics at the time T = 4 calculated by the branch metric calculation circuit 101.
Add the branch metrics for each of the paths. The ACS circuit 102 compares the addition results of the two paths transitioning to the state with each other, and leaves the path with the smaller addition result, that is, the path with the higher likelihood, and the other path. Throw away the path. This remaining path is generally called a “surviving path”. The path memory 103 stores and outputs information for specifying the surviving path. Further, the result of addition of the surviving paths calculated in this state is stored in the cumulative metric storage circuit 105 as a cumulative metric. The ACS circuit 102 has eight possible encoders.
The above operations are sequentially performed for each of the following states. As described above, when the surviving path is determined for each state, as shown in FIG.
The surviving paths converge to one. In the example of FIG. 9, at time T = 9, the surviving paths from time T = 0 to T = 4 have converged to one. In this state, the maximum likelihood sequence determining circuit 10 shown in FIG.
6 shows eight states at time T = 9 (S000 to S1).
11) The magnitude of all finally calculated cumulative metrics is determined. That is, the state having the smallest cumulative metric among the eight states is determined to have the highest likelihood (most likely). The path selection circuit 104 selects and outputs the maximum likelihood surviving path information from the surviving path information output from the path memory 103 according to the decision output of the maximum likelihood sequence decision circuit 106. That is, surviving path information that traces the surviving path corresponding to the state determined to be the maximum likelihood and goes back to state S000 at time T = 0 is successively read. The read survival path information is decoded into a code sequence received by the path selection circuit 104. The above is an outline of the Viterbi decoding described using a relatively simple example of the constraint length K = 4. Viterbi decoding itself is a well-known technique in the art, and its details are described in, for example, "Introduction to Coding Theory" by Yoshihiro Iwatari (published by Shokodo Co., Ltd., December 20, 1992).
Pp. 135-159. In reality, a satellite communication system or a mobile communication system usually uses a convolutional code having a larger constraint length. For example, in these applications, the constraint length K =
A convolution with 9 encoders is used. FIG.
Is a block diagram illustrating an example of such a convolutional encoder with a constraint length K = 9. This encoder includes eight delay lines 1 to 8 and two exclusive OR circuits 9 and 10. The generator polynomial for this encoder is: [0025] G0 (X) = 1 + X 2 + X 3 + X 4 + X 8 G0 = 561 8 G1 (X) = 1 + X + X 2 + X 3 + X 5 + X 7 + X 8 G1 = 753 8 ( It should be noted that 8 of the subscript is the octal An input signal of 0 or 1 sequentially shifts the delay lines 1 to 8, and each time the exclusive OR circuits 9, 10
Output signals G0 and G1 of 0 or 1. Since each of the delay lines 1 to 8 latches a signal of 0 or 1, it has two states. Therefore, the delay lines 1 to 8 as a whole have 256 (= 2 8 ) states.
Thus, when the constraint length is K = 9, the aforementioned K = 4
Since the number of states increases exponentially as compared with the case of (1), it is difficult to show a state transition diagram as in FIG. 6 or a trellis diagram as in FIG. 7, and illustration thereof is omitted here. In the encoder shown in FIG. 10, the signal input side is defined as the MSB, and the initial value of the encoder state is S000.
00000, and this state is referred to as state number 0 among the 256 states. Here, when 1 is input, the state of the encoder becomes S10000000, and the decimal number 128 is set as the state number of this state. Subsequently, when 0 is input, the state of the encoder becomes S01000000, and 64 which is a decimal representation thereof is set as the state number of this state. Therefore, 256 states that the encoder can take are represented by state numbers J = 0 to 255. Next, a method of calculating a branch metric will be described. In Viterbi decoding, when transiting from a certain state to the next state, a cross-type change is made as shown in FIG. This is apparent from the shape of the transition in the trellis diagram when the constraint length is K = 4 in FIG. From the shape of the state change shown in FIG. 11, such a state transition is usually called a butterfly operation. More specifically, the state of the encoder will be described in detail using a state number J that is displayed in decimal. For the state assumed as the next state to transit from a certain state number 2J, “1” is input to the convolutional encoder. "J + (the number of all states /
2) ", or" J "which transits when" 0 "is input. On the other hand, the state assumed as the next state which transits from a certain state number 2J + 1 is the state of "J + (all number of states / 2)" which transits when "1" is input to the convolutional encoder. , Or “J” that transits when “0” is input. In the example of FIG. 11, for example, there are two paths that transition to the state number J. Then, the expected 2-bit received code sequence (00,
01, 10, 11).
The difference (distance) between the 2-bit expected value for each path and the actually received 2-bit convolutional code is calculated for each path as a branch metric. In more detail,
The branch metric for each received code is calculated as the sum of the Euclidean distance (inner product) between the expected 2-bit input value and the actual 2-bit input value. In FIG. 12, when the received convolutional code has two bits A and B, the branch metric which is the distance from the expected reception value 00 is represented by S + P, and the distance from the expected reception value 01 is The distance from the expected reception value 10 is represented by S + Q, and the distance from the expected reception value 10 is represented by T + P.
Is represented by T + Q. As shown in FIG. 12, when determining received data, each bit is set to "1" at a certain threshold,
There are a further decision that is divided into "0" and a soft decision which is treated as a value having a range from "0" to "15", for example, and the above branch metric calculation method relies on a soft decision method. The closer the distance between the expected received code and the actually received code is, the more likely it is that the received code is a more likely code. Therefore, as described above, the final accumulated value of this distance (branch metric) Is determined as the most likely code sequence (most likely code sequence). In Viterbi decoding, it is necessary to store a code sequence having such a minimum cumulative metric.
In the Viterbi decoding device having the general configuration shown in FIG. 8, such code sequence information is stored in the path memory 103 as described above. Various examples of the specific configuration of the path memory 103 are conceivable. For example, as shown in FIG. 13, a shift register configured by connecting a large number of flip-flop circuits 11 in a plurality of stages is used. What can be considered. Each of the flip-flop circuits 11 shown in FIG. 13 basically has the configuration shown in FIG. The configuration of the path memory 103 shown in FIG. 13 shows an example of a configuration in which the constraint length is 3, and states 00, 01, and 1 that a convolutional encoder (not shown) can take.
A plurality of flip-flop circuits 11 are arranged on lines corresponding to 0 and 11, respectively. Although it is considered that the number of stages of such a shift register is originally appropriate to be approximately 5 to 6 times the constraint length, in FIG. 13, only four stages are provided for simplification of illustration. It is shown as a shift register. The path memory (shift register) 1 shown in FIG.
In each of the flip-flop circuits 11 of the second and subsequent stages of 03, the path memory 103 is configured such that the path from the two flip-flop circuits 11 of the preceding stage transitions. Each flip-flop circuit 11 has the configuration shown in FIG. 14, and each of the two inputs of the selector 12 has a corresponding flip-flop circuit 11
, Information that specifies the surviving state, respectively, is input. On the other hand, the selector 12
Is supplied from the ACS circuit 102 (FIG. 8) to the control input of which signal which specifies the path with the higher likelihood of the two inputs, and the information which specifies which state is surviving in the previous stage is selected by the selector. 12 stores the data in the flip-flop element 13. In the shift register (FIG. 13) constituting the path memory 103, every time the convolutional code is received, the data is shifted to the flip-flop circuit 11 of the next stage. 01, 10, 1
For each of the information items 1, information for specifying a code sequence is output. Then, information specifying the code sequence corresponding to the state with the highest likelihood determined by the maximum likelihood sequence determination circuit 106 is selected by the path selection circuit 104 and output. [0043] As shown in FIG. 13,
The path memory 103 has a configuration of a shift register, and after a plurality of stages of shift processing, data specifying a surviving path is output. Therefore, the path memory 103
In the output data of the path memory 103, a delay occurs with respect to the received code sequence by a processing time corresponding to the number of stages of the shift register. More specifically, even if all of the received code sequence consisting of the convolutional code has been received, the data being processed remains in the path memory 103. Therefore, such residual data is also stored in the path memory 103. 103 must be extracted. Therefore, after the reception of the received code sequence,
For example, a method of extracting data remaining in the path memory 103 by giving data including a plurality of 0s as a dummy input is conceivable. However, if dummy data consisting of 0 is input immediately after the received data, there is a possibility that an error occurs in the output data of the path memory 103 due to the data of the dummy input 0. In order to avoid the influence of such a dummy input, it has been necessary to add a tail bit consisting of a plurality of 0s at the end of the input data sequence itself. Such addition of the tail bit is an undesirable constraint on the amount of data that can be transmitted. An object of the present invention is to provide a Viterbi decoding device capable of performing error-free Viterbi decoding without including a special tail bit in transmission data. According to the first aspect of the present invention, there is provided a Viterbi decoding apparatus for decoding a reception code sequence including a convolutional code generated by a convolutional encoder by a maximum likelihood decoding method. It includes a branch metric calculation unit, an operation comparison unit, a cumulative metric storage unit, a path information storage unit, a maximum likelihood sequence determination unit, a path selection unit, and an input selection unit. Each time a convolutional code is received, the branch metric calculation means calculates a branch metric for each path that transits to each of a plurality of states that the convolutional encoder can take. The operation comparing means adds the branch metric of each of the two paths calculated by the branch metric calculating means to the accumulated metric at the previous reception of the convolutional code, which is associated with the two paths transitioning to each of the plurality of states. Are added to each other, and the addition results of the two paths are compared with each other, and the path with the higher likelihood of the two paths is determined as the surviving path. The cumulative metric storage means stores the addition result of the operation comparing means as a cumulative metric. The path information storage means includes a plurality of flip-flop circuits, and stores and outputs information for specifying the determined surviving path. The maximum likelihood sequence determining means determines a surviving path with the highest likelihood by comparing all final accumulated metrics in a plurality of states. The path selecting means determines a received code sequence having the highest likelihood based on the information specifying the surviving path output from the path information storage means, according to the determined output of the maximum likelihood sequence determining means. The input selecting unit is configured to output the maximum possible data of each of the received code sequences during a period from when the final data of the received code sequence is received to when the final data of the information specifying the surviving path is output from the path information storage unit. A value corresponding to an intermediate value between the value and the minimum value is provided to the branch metric calculation means. As described above, according to the first aspect of the present invention, during the period corresponding to the processing delay period in the path information storage means, the value corresponding to the intermediate value between the maximum value and the minimum value of the received code data is changed. Since it is input, it is possible to extract the information specifying the surviving path without error without adding a tail bit in the transmission data in advance. Embodiments of the present invention will be described below in detail with reference to the drawings. In the drawings, the same or corresponding portions have the same reference characters allotted, and description thereof will not be repeated. FIG. 1 is a schematic block diagram showing a configuration of a Viterbi decoding device according to an embodiment of the present invention. The Viterbi decoding device shown in FIG. 1 is the same as the general Viterbi decoding device shown in FIG. 8 except for the following points. That is, in the general Viterbi decoder of FIG. 8, the received signal is directly input to the branch metric calculation circuit 101, whereas in the Viterbi decoder of the embodiment of FIG. An input selection circuit 100 is provided at a stage preceding 101, and a received signal is input to the input selection circuit 100. FIG. 2 is a block diagram showing a configuration of the input selection circuit 100. The two inputs of the two-input selector 20 receive the data of the received code sequence and a fixed value supplied from the signal source 21 and corresponding to an intermediate value between the maximum value and the minimum value of the received data, which are selected. Input as a signal. The input data control circuit 22 selects the received data from the start of the Viterbi decoding to the end of the reception of the received code sequence, and thereafter, the processing time corresponding to the number of stages of the shift register (FIG. 13) constituting the path memory 103 A selection signal is given to the control input of the selector 20 so that the fixed value from the signal source 21 is selected only during the period corresponding to. Here, the intermediate value of the received data is from 7 or 8 or from “−8” when it is handled as a value having a range from “0” to “15” based on the above soft decision. When it is handled as a value having a width up to “7”, it is a value such as 0 or 1. The reason why there are two values as intermediate values is that there is no integer corresponding to the intermediate value between the maximum value and the minimum value in the above case. FIG. 3 is a timing chart showing the relationship between the input data (received code sequence) of the Viterbi decoding device and the output data of the path memory 103. As shown in FIG. 3, even when a data sequence composed of a convolutional code starts to be input, no data is output because the output data of the path memory 103 still remains in the path memory 103. When an input data sequence is input by the number of shift register stages of the path memory 103, output data relating to the input data is output from the path memory 103 for the first time. Thereafter, as the processing proceeds, for each set of convolutional codes (consisting of two codes) constituting the input data, as a result, the data becomes 1
Are output. The output data of the path memory 103 at that time is data delayed by the number of shift register stages of the path memory 103. After the last input data is input, an intermediate value is input by the switching operation of the selector 20, and the Viterbi decoding process proceeds similarly. The intermediate values are input for the number of shift register stages of the path memory. In this way, the result for the last input data remaining in the path memory 103 is extracted. Next, by making the input value an intermediate value,
The reason why output data remaining in the path memory 103 can be extracted without error will be described. In the Viterbi decoding, as described above, the difference or distance (expressed by a metric value) between the code sequence assumed by the receiving side and the actually received code sequence is calculated.
This is a decoding method for obtaining an assumed code sequence having the smallest calculated distance as a maximum likelihood sequence. FIG. 4 is a diagram schematically showing the relationship between the code sequence received up to the present time and the code sequence assumed on the receiving side. Note that the state shown in FIG. 4 corresponds to the point in time when the input of the received data has been completed. Further, the code sequences assumed on the receiving side are represented by A, B, C, D, and the differences or distances between these code sequences and the actually received code sequences are represented by a, b, c, d (a < b <c
<D). Until the time point shown in FIG. 4, the received sequence can be considered to be the assumed code sequence A having the smallest difference a. However, after this, if a random value or the like is input, and as a result, the difference between the received sequence and the assumed code sequence has a relationship of a> b, the Viterbi decoding device converts the received sequence into ,
It is determined that the code sequence B is assumed. As a result, the decoding operation will be erroneous (what the magnitude relationship of the difference between the codes will be is determined by the input data sequence). Even if the input signal is not a random value as described above, a similar situation occurs when, for example, a fixed value corresponding to 0 or 1 is input. However, if an intermediate value between the maximum value and the minimum value that can be taken by the input data is input instead of the random value as described above, A to D
Since the difference (distance) of each of the code sequences is the same from any of the code sequences, a <<
It does not affect the magnitude relation of b <c <d. Therefore, the original code sequence A can be correctly output without being mistaken for another code sequence. As described above, in the Viterbi decoding apparatus according to the embodiment of the present invention, special data such as tail bits are not added to the transmission data, and the data remains in the path memory even after the end of the reception of the input data. Data can be extracted without error. The embodiments disclosed this time are to be considered in all respects as illustrative and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims. According to the present invention, during the period required for the shift register processing of the path memory after the reception of the input data,
By inputting a fixed value corresponding to an intermediate value between the maximum value and the minimum value that can be taken by the input data and continuing the Viterbi decoding, the pass data can be transmitted without adding special data such as tail bits in advance in the transmission data. Data remaining in the memory can be extracted without error.
【図面の簡単な説明】
【図1】 この発明の実施の形態によるビタビ復号装置
の全体構成を示すブロック図である。
【図2】 図1の入力選択回路の構成を示すブロック図
である。
【図3】 入力データと出力データとの関係を示すタイ
ミング図である。
【図4】 この発明の原理を模式的に示す図である。
【図5】 畳み込み符号器の簡単な例を示す概略ブロッ
ク図である。
【図6】 図5に示した符号器の状態遷移図である。
【図7】 図5に示した符号器のトレリス線図である。
【図8】 一般的なビタビ復号装置の構成を示すブロッ
ク図である。
【図9】 図8に示したビタビ復号装置の動作を説明す
るためのトレリス線図である。
【図10】 畳み込み符号器の他の例を示すブロック図
である。
【図11】 ビタビ復号におけるバタフライ演算を模式
的に説明する図である。
【図12】 ビタビ復号における枝メトリックの計算方
法を説明する図である。
【図13】 図8に示したパスメモリの構成を示すブロ
ック図である。
【図14】 図13に示したフリップフロップ回路の構
成を示すブロック図である。
【符号の説明】
20 セレクタ、21 信号源、22 入力データ制御
回路、100 入力選択回路、101 枝メトリック計
算回路、102 ACS回路、103 パスメモリ、1
04 パス選択回路、105 累積メトリック記憶回
路、106 最尤系列決定回路。BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram illustrating an overall configuration of a Viterbi decoding device according to an embodiment of the present invention. FIG. 2 is a block diagram illustrating a configuration of an input selection circuit of FIG. 1; FIG. 3 is a timing chart showing a relationship between input data and output data. FIG. 4 is a diagram schematically showing the principle of the present invention. FIG. 5 is a schematic block diagram showing a simple example of a convolutional encoder. 6 is a state transition diagram of the encoder shown in FIG. 7 is a trellis diagram of the encoder shown in FIG. FIG. 8 is a block diagram illustrating a configuration of a general Viterbi decoding device. 9 is a trellis diagram for explaining the operation of the Viterbi decoding device shown in FIG. FIG. 10 is a block diagram illustrating another example of a convolutional encoder. FIG. 11 is a diagram schematically illustrating a butterfly operation in Viterbi decoding. FIG. 12 is a diagram illustrating a method of calculating a branch metric in Viterbi decoding. FIG. 13 is a block diagram showing a configuration of the path memory shown in FIG. 14 is a block diagram illustrating a configuration of the flip-flop circuit illustrated in FIG. [Description of Signs] 20 selector, 21 signal source, 22 input data control circuit, 100 input selection circuit, 101 branch metric calculation circuit, 102 ACS circuit, 103 path memory, 1
04 path selection circuit, 105 cumulative metric storage circuit, 106 maximum likelihood sequence determination circuit.
Claims (1)
込み符号からなる受信符号系列を最尤復号法により復号
するビタビ復号装置であって、 前記畳み込み符号を受信するごとに、前記畳み込み符号
器のとり得る複数の状態の各々に対して遷移する各パス
ごとに枝メトリックを計算する枝メトリック計算手段
と、 前記複数の状態の各々に対して遷移する2つのパスに付
随する、前記畳み込み符号の前回の受信時における累積
メトリックに、前記枝メトリック計算手段で計算された
前記2つのパスのそれぞれの枝メトリックを加算し、前
記2つのパスの加算結果を相互に比較し、前記2つのパ
スのうち尤度の高い方のパスを生き残りパスと決定する
演算比較手段と、 前記演算比較手段の加算結果を累積メトリックとして記
憶する累積メトリック記憶手段と、 複数段のフリップフロップ回路で構成され、前記決定さ
れた生き残りパスを特定する情報を記憶し出力するパス
情報記憶手段と、 前記複数の状態のすべての最終の累積メトリックを対比
して最も尤度の高い生き残りパスを決定する最尤系列決
定手段と、 前記最尤系列決定手段の決定出力に応じて、前記パス情
報記憶手段から出力された前記生き残りパスを特定する
情報に基づいて、最も尤度の高い受信符号系列を決定す
るパス選択手段と、 前記受信符号系列の最終データが受信されてから、前記
パス情報記憶手段から前記生き残りパスを特定する情報
の最終データが出力されるまでの期間中、前記受信符号
系列の各データがとり得る最大値と最小値との中間値に
相当する値を前記枝メトリック計算手段に与える入力選
択手段とを備える、ビタビ復号装置。(57) Claims 1. A Viterbi decoding device for decoding a received code sequence formed of a convolutional code generated by a convolutional encoder by a maximum likelihood decoding method, wherein each time the convolutional code is received, Branch metric calculation means for calculating a branch metric for each path transitioning for each of a plurality of possible states of the convolutional encoder; Adding the branch metrics of each of the two paths calculated by the branch metric calculation means to the accumulated metric of the previous reception of the convolutional code, and comparing the addition results of the two paths with each other; An operation comparing means for determining a path having a higher likelihood among the two paths as a surviving path; and an addition result of the operation comparing means as a cumulative metric. Cumulative metric storage means, a plurality of stages of flip-flop circuits, and path information storage means for storing and outputting information specifying the determined surviving path; and all final cumulative metrics of the plurality of states. A maximum likelihood sequence determining unit that determines a surviving path with the highest likelihood by comparing the maximum likelihood sequence determining unit with information that specifies the surviving path output from the path information storage unit in accordance with the determination output of the maximum likelihood sequence determining unit Path selecting means for determining a received code sequence having the highest likelihood based on the last data of the received code sequence, and the final data of the information specifying the surviving path from the path information storage means after the final data of the received code sequence is received. During the period until output, the branch metric calculation means calculates a value corresponding to an intermediate value between the maximum value and the minimum value that can be taken by each data of the received code sequence. And an input selection means for providing, Viterbi decoder.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000042619A JP3530451B2 (en) | 2000-02-21 | 2000-02-21 | Viterbi decoding device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000042619A JP3530451B2 (en) | 2000-02-21 | 2000-02-21 | Viterbi decoding device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2001237717A JP2001237717A (en) | 2001-08-31 |
| JP3530451B2 true JP3530451B2 (en) | 2004-05-24 |
Family
ID=18565669
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000042619A Expired - Fee Related JP3530451B2 (en) | 2000-02-21 | 2000-02-21 | Viterbi decoding device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3530451B2 (en) |
-
2000
- 2000-02-21 JP JP2000042619A patent/JP3530451B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2001237717A (en) | 2001-08-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5502735A (en) | Maximum likelihood sequence detector | |
| US4583078A (en) | Serial Viterbi decoder | |
| US5375129A (en) | Maximum likelihood sequence detector | |
| US5802116A (en) | Soft decision Viterbi decoding with large constraint lengths | |
| KR20090009892A (en) | Radix-4 Viterbi decoding | |
| US5912908A (en) | Method of efficient branch metric computation for a Viterbi convolutional decoder | |
| US7765459B2 (en) | Viterbi decoder and viterbi decoding method | |
| JP3196835B2 (en) | Viterbi decoding method and Viterbi decoder | |
| JP2000209106A (en) | Realization by minimum amount of memory of high-speed viterbi decoder | |
| JPH0316046B2 (en) | ||
| EP2339757B1 (en) | Power-reduced preliminary decoded bits in viterbi decoder | |
| JP3233847B2 (en) | Viterbi decoding method and Viterbi decoding circuit | |
| US6697442B1 (en) | Viterbi decoding apparatus capable of shortening a decoding process time duration | |
| EP3996285A1 (en) | Parallel backtracking in viterbi decoder | |
| JP2917177B2 (en) | Error detection method, apparatus and identification method | |
| JP3530451B2 (en) | Viterbi decoding device | |
| US20070201586A1 (en) | Multi-rate viterbi decoder | |
| JPWO1995001008A1 (en) | Error detection method, device and identification method | |
| KR101212856B1 (en) | Method and apparatus for decoding data in communication system | |
| JP3753822B2 (en) | Viterbi decoding method and apparatus | |
| JP4580927B2 (en) | Viterbi decoding apparatus and Viterbi decoding method | |
| EP1542370A1 (en) | Method and system for branch label calculation in a Viterbi decoder | |
| KR0169680B1 (en) | Viterbi Decoder | |
| JP3530447B2 (en) | Viterbi decoding device | |
| KR100359805B1 (en) | Viterbi decoder and method for decoding in viterbi decoder |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040217 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040227 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090305 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090305 Year of fee payment: 5 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090305 Year of fee payment: 5 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090305 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100305 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110305 Year of fee payment: 7 |
|
| LAPS | Cancellation because of no payment of annual fees |