JP3266182B2 - ビタビ復号器 - Google Patents

ビタビ復号器

Info

Publication number
JP3266182B2
JP3266182B2 JP15246197A JP15246197A JP3266182B2 JP 3266182 B2 JP3266182 B2 JP 3266182B2 JP 15246197 A JP15246197 A JP 15246197A JP 15246197 A JP15246197 A JP 15246197A JP 3266182 B2 JP3266182 B2 JP 3266182B2
Authority
JP
Japan
Prior art keywords
path metric
output
flip
latch
selector
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
Application number
JP15246197A
Other languages
English (en)
Other versions
JPH10341169A (ja
Inventor
保裕 三枝
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 Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP15246197A priority Critical patent/JP3266182B2/ja
Priority to EP98110581A priority patent/EP0884853B1/en
Priority to DE69813086T priority patent/DE69813086T2/de
Priority to US09/095,056 priority patent/US6343105B1/en
Priority to CN98102382A priority patent/CN1130836C/zh
Publication of JPH10341169A publication Critical patent/JPH10341169A/ja
Application granted granted Critical
Publication of JP3266182B2 publication Critical patent/JP3266182B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4107Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は移動体通信、衛星通
信、記憶装置等で使用されるビタビ復号器に関し、特
に、ACS(add compare select)回路における演算処
理を時分割的に直列処理するビタビ復号器に関する。
【0002】
【従来の技術】ビタビ復号器は、畳み込み符号の最尤復
号として用いられ、既知の複数個の符号系列のうち、受
信符号系列に最も符号間距離が近いパスを最尤パスとし
て選択し、そのパスに対応するデータを復号データとす
る。
【0003】従来、ビタビ復号器は、ACS回路におけ
るパスメトリック値の計算及び比較を状態数分のACS
回路を設けることにより総ての状態に対して並列に行う
方式(並列方式)と、ACS回路における演算処理を一
つのACS回路により時分割的に直列に行う方式(直列
方式)とがある。
【0004】たとえば、特公平1−44058には、ビ
タビ復号器のスループット向上を目的として、ACS回
路をパイプライン処理するビタビ復号器が記載されてい
る。この例はACS回路を状態数分設ける並列方式であ
り、各ACS回路内に倍の加算回路、メトリックメモリ
を設けることにより、加算器で加算している復号サイク
ルでは、比較器で前の加算出力のパスメトリック値の比
較を行うパイプライン処理を実現している。
【0005】また、特公平3−49217にも、ビタビ
復号器のスループット向上を目的として、ACS回路を
パイプライン処理するビタビ復号器が記載されている。
この例もACS回路を状態数分設ける並列方式である
が、符号器側であらかじめ送信情報系列を偶数系列と奇
数系列とに分けて符号化することにより、復号器側での
パイプライン処理を可能にしている。畳み込み符号化器
において、従来型のディレーフリップフロップを1段に
つき2段シフトレジスタに置き換え、ビタビ復号器にお
いて、加算回路群と比較選択回路群との間に1クロック
ディレー回路を挿入することにより、1クロックで加算
動作と比較選択動作とを別々に実行するパイプライン処
理を実現している。
【0006】次に、従来のACS回路における演算処理
を時分割的に直列処理するビタビ復号器について説明す
る。本従来例では、符号化率R=1/2、拘束長K=3
である畳み込み符号の復号を例にとる。そのためビタビ
復号器の状態数は4になる。まず、構成について説明す
る。図6は従来のACS回路における演算処理を時分割
的に直列処理するビタビ復号器のパスメトリック演算部
とパスメトリック最小値検出部を示すブロック図であ
る。
【0007】パスメトリック演算部は通称ACS回路と
も呼ばれ、パスメトリック値の加算、比較、選択を行
う。パスメトリック演算部は、それぞれの状態のパスメ
トリック値を保存しているパスメトリックXメモリ20
と、パスメトリックYメモリ21と、パスメトリックメ
モリ20、21から読み出したパスメトリック値から前
一復号時間中最小であったパスメトリック値を減算する
減算器22、23と、ブランチメトリックX、Yと減算
器22、23の出力とをそれぞれ加算する加算器24、
25と、加算器24、25の出力を比較する比較器26
と、加算器24、25の出力から小さい方を選択する選
択器27より構成される。
【0008】パスメトリック最小値検出部は、選択器2
7の出力である更新パスメトリック値とフリップフロッ
プ(FF)32の出力とを比較する比較器30と、比較
器30の出力により選択器27とFF32の出力の小さ
い方を選択する選択器31と、クロック信号CLKの立
ち上がりで選択器31の出力を保持するFF32と、F
F32の出力を最小値更新信号で保持するレベルスルー
ラッチ33から構成される。
【0009】次に、本従来例の動作について説明する。
図7は図6のビタビ復号器のタイミング図である。状態
数は4のため、受信信号1組に対し状態0〜3に対応す
るパスメトリック値を演算する時間4クロック分が1復
号時間となる。まず、状態“0”に対応するパスメトリ
ックの演算動作について説明する。パスメトリック演算
部には、受信データと候補値とのハミング距離の計算結
果であるブランチメトリックが入力される。1状態に考
えられる2つのパスに対応するブランチメトリックX、
Yが加算器24、25にそれぞれ入力される。状態
“0”のパスメトリック演算のためには、状態“0”か
らと状態“2”からの遷移に対応する候補値から得られ
たブランチメトリックが使用される。パスメトリックX
メモリ20、パスメトリックYメモリ21にはそれぞれ
4状態に対応するパスメトリック値が保存されており、
その内容は同一であるが同一タイミングで読み出される
パスメトリック値(に対応する状態)は異なる。状態
“0”のパスメトリック値を演算する場合、前回までの
状態“0”に対応するパスメトリック値がパスメトリッ
クXメモリ20から、状態“2”に対応するパスメトリ
ック値がパスメトリックYメモリ21から読み出され
る。減算器22、23により、それぞれ読み出されたパ
スメトリック値から、前一復号時間中最小であったパス
メトリック最小値を減算する。これはパスメトリック値
が無限に増大するのを防ぐための処理である。加算器2
4によりブランチメトリックXと減算器22の出力を、
加算器25によりブランチメトリックYと減算器23の
出力を加算し、比較器26、選択器27により、前記加
算された結果の小さい方が選択され、更新パスメトリッ
ク値として、パスメトリックXメモリ20、パスメトリ
ックYメモリ21、パスメトリック最小値検出部へ出力
される。前記更新パスメトリック値は、パスメトリック
Xメモリ20、パスメトリックYメモリ21に、状態
“0”のパスメトリック値として保存される。続いて状
態“1”、“2”、“3”のパスメトリック値も同様に
演算される。パスメトリック最小値検出部では、状態
“0”の更新パスメトリック値が入力された場合は、無
条件に選択器31により状態“0”の更新パスメトリッ
ク値が選択され、クロック信号CLKの立ち上がりでF
F32に保持される。状態“1”の更新パスメトリック
値が入力された場合は、比較器30により、状態“1”
の更新パスメトリック値と前状態(状態“0”)のパス
メトリック値が比較され、選択器31により小さい方が
選択され、クロック信号CLKの立ち上がりでFF32
に保持される。以降、状態“2”、“3”の更新パスメ
トリック値が入力された場合も同様に動作し、1復号時
間毎に発生される最小値更新信号により、4状態中最小
のパスメトリック値がラッチ33に保持される。
【0010】以上より、従来は、1クロック内の時間
で、メモリ20、21からのパスメトリック値の呼び
出し、減算器22、23による前回の受信信号の組で
のパスメトリック最小値の減算、加算器24、25に
よるブランチメトリックの加算、比較器26、選択器
27による小さい方の選択、メモリ20、21への更
新パスメトリック値の保存、比較器30、選択器3
1、FF32による候補パスメトリック最小値の更新、
1復号時間の最後のクロック(4クロック目)ではラ
ッチ33によるパスメトリック最小値の更新の処理を行
う必要があった。
【0011】
【発明が解決しようとする課題】特公平1−4405
8、特公平3−49217では、ACS回路におけるパ
スメトリック値の計算及び比較を状態数分のACS回路
を設けることにより総ての状態に対して並列に行う方式
であるため、拘束長が大きくなると状態数が増加し、必
要なACS回路の数も増大し、回路が大規模になる欠点
がある。また、特公平1−44058では、パイプライ
ン処理を実現するために各ACS回路内に倍の加算回
路、メトリックメモリを設ける必要があるため、回路規
模は相乗効果的に増大してしまう。
【0012】特公平3−49217では、復号器側での
パイプライン処理を実現するために、符号器側であらか
じめ送信情報系列を偶数系列と奇数系列とに分けて符号
化している。これでは、符号化データが特殊なものとな
り、符号化方式、送信フォーマットが規格化されている
例えばGSMやPDCやIS136等の様なデジタル携
帯電話規格のものでは使用できない欠点がある。
【0013】また、従来のACS回路における演算処理
を一つのACS回路により時分割的に直列に行うビタビ
復号器では、1クロック内にパスメトリック値の読み出
しと減算と加算と比較と選択と保存とパスメトリック最
小値の更新を行わなければならないので、減算器、加算
器、比較器、選択器、メモリ等の遅延によって動作周波
数の制約を受け、ビタビ復号器のスループットが制限さ
れる欠点がある。
【0014】本発明の目的は、スループットが向上し、
各演算器の遅延の影響に左右されにくい設計を可能とす
るビタビ復号器を提供することにある。
【0015】
【問題点を解決するための手段】本発明のビタビ復号器
は、ACS回路におけるパスメトリック値の読み出し処
理、減算処理、加算処理、比較選択処理、更新パスメト
リック値の保存処理、パスメトリック最小値の更新処理
をパイプライン化し並列に実行する手段を有する。
【0016】各演算処理をパイプライン化し並列に実行
することにより、各演算器の遅延マージンを広げ、1ク
ロック幅を短くすることができ、同一デバイステクノロ
ジーの使用でもより高速な処理が可能となり、かつ1復
号時間にかかるクロック数の増加を最小限に抑えている
ため、ビタビ復号器のスループットが向上する。
【0017】本発明の実施態様のビタビ復号器は、パス
メトリック値の読み出し処理、減算処理、加算処理、比
較選択処理、更新パスメトリック値の保存処理、パスメ
トリック最小値の更新処理を行う各演算器の間にフリッ
プフロップが挿入され、クロック信号の立ち上がりと立
ち下がりを交互に利用することにより各演算器の処理を
並列にパイプライン処理する。
【0018】本発明の実施態様のビタビ復号器は、パス
メトリック値の読み出し処理、減算処理、加算処理、比
較選択処理、更新パスメトリック値の保存処理、パスメ
トリック最小値の更新処理を行う各演算器の間にラッチ
が挿入され、2相クロック信号を交互に利用することに
より各演算器の処理を並列にパイプライン処理する。本
発明の実施態様のビタビ復号器は、各状態のパスメトリ
ック値を保存している第1、第2のパスメトリックメモ
リと、第1、第2のパスメトリックメモリから読み出し
たパスメトリック値をクロック信号の立ち下がりまたは
立ち上がりで保持する第1、第2のフリップフロップ
と、第1、第2のフリップフロップの出力から前一復号
時間中最小であったパスメトリック値を減算する第1、
第2の減算器と、第1、第2の減算器の出力を第1、第
2のフリップフロップとは逆にクロック信号の立ち上が
りまたは立ち下がりで保持する第3、第4のフリップフ
ロップと、ブランチメトリックX、Yと第3、第4のフ
リップフロップの出力をそれぞれ加算する第1、第2の
加算器と、それぞれ第1、第2の加算器の出力を第1、
第2のフリップフロップと同じくクロック信号の立ち下
がりまたは立ち上がりで保持する第5、第6のフリップ
フロップと、第5のフリップフロップの出力と第6のフ
リップフロップの出力を比較する第1の比較器と、第1
の比較器の出力により第5のフリップフロップの出力と
第6のフリップフロップの出力のうち小さい方を選択す
る第1の選択器と、該選択器の出力を第1、第2のフリ
ップフロップとは逆にクロック信号の立ち上がりまたは
立ち下がりで保持する第7のフリップフロップを含むパ
スメトリック演算部と、第8のフリップフロップと、第
7のフリップフロップの出力である更新パスメトリック
値と第8のフリップフロップの出力を比較する第2の比
較器と、第2の比較器の出力により第7のフリップフロ
ップの出力と第8のフリップフロップの出力のうち小さ
い方を選択する第2の選択器と、第2の選択器の出力を
第1のフリップフロップ信号のクロック信号と同じく最
小値更新信号の立ち下がりまたは立ち上がりにより保持
する第9のフリップフロップを含み、第8のフリップフ
ロップは第2の選択器の出力を第1、第2のフリップフ
ロップとは逆にクロック信号の立ち上がりまたは立ち下
がりで保持するパスメトリック最小値検出部を有する。
【0019】本発明の実施態様のビタビ復号器は、各状
態のパスメトリック値を保存している第1、第2のパス
メトリックメモリと、第1、第2のパスメトリックメモ
リから読み出したパスメトリック値を第2のクロック信
号で保持する第1、第2のラッチと、第1、第2のラッ
チの出力から前一復号時間中最小であったパスメトリッ
ク値を減算する第1、第2の減算器と、第1、第2の減
算器の出力を第1のクロック信号で保持する第3、第4
のラッチと、ブランチメトリックX、Yと第3、第4の
ラッチの出力をそれぞれ加算する第1、第2の加算器
と、それぞれ第1、第2の加算器の出力を第2のクロッ
ク信号で保持する第5、第6のラッチと、第5のラッチ
の出力と第6のラッチの出力を比較する第1の比較器
と、第1の比較器の出力により第5のラッチの出力と第
6のラッチの出力のうち小さい方を選択する第1の選択
器と、該選択器の出力を第1のクロック信号で保持する
第7のラッチを含むパスメトリック演算部と、第8のラ
ッチと、第7のラッチの出力である更新パスメトリック
値と第8のラッチの出力を比較する第2の比較器と、第
2の比較器の出力により第7のラッチの出力と第8のラ
ッチの出力のうち小さい方を選択する第2の選択器と、
第2の選択器の出力を最小値更新信号により保持する第
9のラッチを含み、第8のラッチは第2の選択器の出力
を第2のクロック信号で保持するパスメトリック最小値
検出部を有する。
【0020】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して説明する。
【0021】図1は本発明の実施形態のビタビ復号器の
構成図である。本実施形態では、符号化率R=1/2、
拘束長K=3である畳み込み符号の復号を例にとる。そ
のためビタビ復号器の状態数は4になる。
【0022】本ビタビ復号器は、受信データから4状態
にわたりブランチメトリックを演算するブランチメトリ
ック演算部1と、以前のパスメトリックと新しく得られ
たブランチメトリックよりパスメトリックの更新を行う
パスメトリック演算部2と、4状態中のパスメトリック
の最小値を検出するパスメトリック最小値検出部3と、
各状態において現在までのパスの履歴を保存し最尤デー
タを出力するパスメモリ部4より構成される。
【0023】ブランチメトリック演算部1は4状態にわ
たり受信データと候補データとのハミング距離を計算
し、パスメトリック演算部2に1状態において考えられ
る2つのパスに対応するブランチメトリックX、Yを出
力する。パスメトリック演算部2は、ブランチメトリッ
クX、Yとパスメトリック演算部2内に記憶されている
各状態のパスメトリック値とパスメトリック最小値検出
部3から入力される前一復号時間中最小のパスメトリッ
ク最小値から、4状態にわたり更新パスメトリック値を
パスメトリック最小値検出部3に、4状態にわたり経路
情報となるパス選択信号をパスメモリ部4に出力する。
パスメトリック最小値検出部3は、4状態中最小である
パスメトリック値を検出しパスメトリック最小値として
出力し、またパスメトリック値が最小となる状態情報で
ある最小状態選択信号をパスメモリ部4へ出力する。パ
スメモリ部4は、パス選択信号を各状態毎にパス履歴と
して保存しており、最小状態選択信号により選択された
状態のパス履歴を復号データとして出力する。
【0024】図2は本発明の一実施形態のパスメトリッ
ク演算部2とパスメトリック最小値検出部3を示すブロ
ック図である。
【0025】パスメトリック演算部2は通称ACS回路
とも呼ばれ、パスメトリック値の加算、比較、選択を行
う。パスメトリック演算部2は、それぞれの状態のパス
メトリック値を保存しているパスメトリックXメモリ2
0、パスメトリックYメモリ21と、パスメトリックメ
モリ20、21から読み出したパスメトリック値をクロ
ック信号CLKの立ち下がりで保持するフリップフロッ
プ(FF)28a、28bと、FF28a、28bの出
力から前一復号時間中最小であったパスメトリック値を
減算する減算器22、23と、減算器22、23の出力
をクロック信号CLKの立ち上がりで保持するFF28
c、28dと、ブランチメトリックX、YとFF28
c、28dの出力とをそれぞれ加算する加算器24、2
5と、加算器24、25の出力をクロック信号CLKの
立ち下がりで保持するFF28e、28fと、FF28
eの出力と28fの出力を比較する比較器26と、FF
28e、28fの出力から小さい方を選択する選択器2
7と、選択器27の出力をクロック信号CLKの立ち上
がりで保持するFF28gより構成される。
【0026】パスメトリック最小値検出部3は、FF2
8gの出力である更新パスメトリック値とFF34aの
出力とを比較する比較器30と、比較器30の出力によ
りFF28gとFF34aの出力の小さい方を選択する
選択器31と、クロック信号CLKの立ち上がりで選択
器31の出力を保持するFF34aと、選択器31の出
力を最小値更新信号の立ち下がりで保持するFF34b
から構成される。
【0027】次に、本実施形態の動作について説明す
る。図3は本実施形態のタイミング図である。状態数は
4のため、受信信号1組に対し状態0〜3に対応するパ
スメトリック値を演算する。メモリ読み出し、減算、加
算、比較選択、更新の各演算処理をクロックの半周期毎
に区切り並列に実行するため5クロック分が1復号時間
となる。まず、状態“0”に対応するパスメトリックの
演算動作について説明する。パスメトリック演算部2に
は、受信データと候補値とのハミング距離の計算結果で
あるブランチメトリックが入力される。1状態に考えら
れる2つのパスに対応するブランチメトリックX、Yが
加算器24、25にそれぞれ入力される。状態“0”の
パスメトリック演算のためには、状態“0”からと状態
“2”からの遷移に対応する候補値から得られたブラン
チメトリックが使用される。パスメトリックXメモリ2
0、パスメトリックYメモリ21にはそれぞれ4状態に
対応するパスメトリック値が保存されており、その内容
は同一であるが同一タイミングで読み出されるパスメト
リック値(に対応する状態)は異なる。状態“0”のパ
スメトリック値を演算する場合、前回までの状態“0”
に対応するパスメトリック値がパスメトリックXメモリ
20から、状態“2”に対応するパスメトリック値がパ
スメトリックYメモリ21から読み出される。パスメト
リックXメモリ20、パスメトリックYメモリ21から
読み出されたパスメトリック値はクロック信号CLKの
立ち下がりでFF28a、28bにそれぞれ保持され
る。減算器22、23により、FF28a、28bにそ
れぞれ保持されたパスメトリック値から、前一復号時間
中最小であったパスメトリック最小値を減算する。これ
はパスメトリック値が無限に増大するのを防ぐための処
理である。減算器22、23の出力はクロック信号CL
Kの立ち上がりでFF28c、28dにそれぞれ保持さ
れる。加算器24によりブランチメトリックXとFF2
8cの出力を、加算器25によりブランチメトリックY
とFF28dの出力を加算し、クロック信号CLKの立
ち下がりでFF28e、28fにそれぞれ保持される。
比較器26、選択器27により、FF28e、28fに
保持される前記加算された結果の小さい方が選択され、
クロック信号CLKの立ち上がりでFF28gに保持さ
れる。FF28gの出力は更新パスメトリック値とし
て、パスメトリックXメモリ20、パスメトリックYメ
モリ21、パスメトリック最小値検出部3へ出力され
る。前記更新パスメトリック値は、パスメトリックXメ
モリ20、パスメトリックYメモリ21に、状態“0”
のパスメトリック値として保存される。続いて状態
“1”、“2”、“3”のパスメトリック値も同様に演
算される。パスメトリック最小値検出部3では、状態
“0”の更新パスメトリック値が入力された場合は、無
条件に選択器31により状態“0”の更新パスメトリッ
ク値が選択され、クロック信号CLKの立ち上がりによ
りFF34aに保持される。状態“1”の更新パスメト
リック値が入力された場合は、比較器30により、状態
“1”の更新パスメトリック値と前状態(状態“0”)
のパスメトリック値が比較され、選択器31により小さ
い方が選択され、クロック信号CLKの立ち上がりによ
りFF34aに保持される。以降、状態“2”、“3”
の更新パスメトリック値が入力された場合も同様に動作
し、1復号時間毎に発生される最小値更新信号により、
4状態中最小のパスメトリック値がFF34bに保持さ
れる。
【0028】以上より、本実施形態では、メモリ、減算
器、加算器、比較選択器等の各演算器の間にFF28a
〜28gを挿入し、クロック信号CLKの立ち上がりと
立ち下がりを交互に利用することにより、各演算を並列
にパイプライン処理し、各演算器の遅延マージンを広
げ、1クロック幅を短くすることができる。また、1復
号時間にかかるクロック数の増加を最小限に抑えること
ができる。クロック信号CLKと最小値更新信号の立ち
上がり、立ち下がりは逆でもよい。
【0029】なお、本実施形態では符号化率R=1/
2、拘束長K=3である畳み込み符号の復号を行った
が、R、Kの任意の値に対して、本発明は適用可能であ
る。
【0030】図4は本発明の第2の実施形態のパスメト
リック演算部2とパスメトリック最小値検出部3を示す
ブロック図である。
【0031】パスメトリック演算部2は、それぞれの状
態のパスメトリック値を保存しているパスメトリックX
メモリ20、パスメトリックYメモリ21と、パスメト
リックメモリ20、21から読み出したパスメトリック
値をクロック信号φ2で保持するレベルラッチ29a、
29bと、ラッチ29a、29bの出力から前一復号時
間中最小であったパスメトリック値を減算する減算器2
2、23と、減算器22、23の出力をクロック信号φ
1で保持するラッチ29c、29dと、ブランチメトリ
ックX、Yとラッチ29c、29dの出力とをそれぞれ
加算する加算器24、25と、加算器24、25の出力
をクロック信号φ2で保持するラッチ29e、29f
と、ラッチ29e、29fの出力を比較する比較器26
と、ラッチ29e、29fの出力から小さい方を選択す
る選択器27と、選択器27の出力をクロック信号φ1
で保持するラッチ29gより構成される。
【0032】パスメトリック最小値検出部3は、ラッチ
29gの出力である更新パスメトリック値とラッチ35
bの出力とを比較する比較器30と、比較器30の出力
によりラッチ29gとラッチ35bの出力の小さい方を
選択する選択器31と、クロック信号φ2で選択器31
の出力を保持するラッチ35aと、ラッチ35aの出力
をクロック信号φ1で保持するラッチ35bと、選択器
31の出力を最小値更新信号で保持するラッチ35cか
ら構成される。
【0033】次に、本実施形態の動作について説明す
る。図5は本実施形態のタイミング図である。状態数は
4のため、受信信号1組に対し状態0〜3に対応するパ
スメトリック値を演算する。メモリ読み出し、減算、加
算、比較選択、更新の各演算処理を2相クロックφ1、
φ2を交互に用いて区切り並列に実行するため5クロッ
ク分が1復号時間となる。まず、状態“0”に対応する
パスメトリックの演算動作について説明する。パスメト
リック演算部2には、受信データと候補値とのハミング
距離の計算結果であるブランチメトリックが入力され
る。1状態に考えられる2つのパスに対応するブランチ
メトリックX、Yが加算器24、25にそれぞれ入力さ
れる。状態“0”のパスメトリック演算のためには、状
態“0”からと状態“2”からの遷移に対応する候補値
から得られたブランチメトリックが使用される。パスメ
トリックXメモリ20、パスメトリックYメモリ21に
はそれぞれ4状態に対応するパスメトリック値が保存さ
れており、その内容は同一であるが同一タイミングで読
み出されるパスメトリック値(に対応する状態)は異な
る。状態“0”のパスメトリック値を演算する場合、前
回までの状態“0”に対応するパスメトリック値がパス
メトリックXメモリ20から、状態“2”に対応するパ
スメトリック値がパスメトリックYメモリ21から読み
出される。パスメトリックXメモリ20、パスメトリッ
クYメモリ21から読み出されたパスメトリック値はク
ロック信号φ2でラッチ29a、29bにそれぞれ保持
される。減算器22、23により、ラッチ29a、29
bにそれぞれ保持されたパスメトリック値から、前一復
号時間中最小であったパスメトリック最小値を減算す
る。これはパスメトリック値が無限に増大するのを防ぐ
ための処理である。減算器22、23の出力はクロック
信号φ1でラッチ29c、29dにそれぞれ保持され
る。加算器24によりブランチメトリックXとラッチ2
9cの出力を、加算器25によりブランチメトリックY
とラッチ29dの出力を加算し、クロック信号φ2でラ
ッチ29e、ラッチ29fにそれぞれ保持される。比較
器26、選択器27により、ラッチ29e、ラッチ29
fに保持されている前記加算された結果の小さい方が選
択され、クロック信号φ1でラッチ29gに保持され
る。ラッチ29gの出力は更新パスメトリック値とし
て、パスメトリックXメモリ20、パスメトリックYメ
モリ21、パスメトリック最小値検出部3へ出力され
る。前記更新パスメトリック値は、パスメトリックXメ
モリ20、パスメトリックYメモリ21に、状態“0”
のパスメトリック値として保存される。続いて状態
“1”、“2”、“3”のパスメトリック値も同様に演
算される。パスメトリック最小値検出部3では、状態
“0”の更新パスメトリック値が入力された場合は、無
条件に選択器31により状態“0”の更新パスメトリッ
ク値が選択され、クロック信号φ2によりラッチ35a
に保持される。ラッチ35aの出力はクロック信号φ1
によりラッチ35bに保持される。状態“1”の更新パ
スメトリック値が入力された場合は、比較器30によ
り、状態“1”の更新パスメトリック値と前状態(状態
“0”)のパスメトリック値が比較され、選択器31に
より小さい方が選択され、クロック信号φ1によりラッ
チ35aに保持される。以降、状態“2”、“3”の更
新パスメトリック値が入力された場合も同様に動作し、
1復号時間毎に発生される最小値更新信号により、4状
態中最小のパスメトリック値がラッチ35cに保持され
る。
【0034】以上より、本実施形態では、メモリ、減算
器、加算器、比較選択器等の各演算器の間にラッチ29
a〜29gを挿入し、2相クロック信号のφ1、φ2を
交互に利用することにより、各演算を並列にパイプライ
ン処理し、各演算器の遅延マージンを広げ、1クロック
幅を短くすることができる。また、1復号時間にかかる
クロック数の増加を最小限に抑えることができる。
【0035】なお、本実施形態では、2相クロックφ
1、φ2を用いることにより第1の実施形態で使用して
いたFFをラッチへ置き換えている。ラッチはFFの約
半分の回路規模で実現できるため、第1の実施形態と比
べてACS回路内で7×(パスメトリックのビット長)
個数分のラッチに相当する回路規模が削減できる。
【0036】また、本実施形態では符号化率R=1/
2、拘束長K=3である畳み込み符号の復号を行った
が、R、Kの任意の値に対して、本発明は適用可能であ
る。
【0037】
【発明の効果】以上説明したように本発明は、各演算処
理をパイプライン化し並列に実行することにより、各演
算器の遅延マージンを広げ、1クロック幅を短くするこ
とができ、同一デバイステクノロジーの使用でもより高
速な処理が可能となり、かつ1復号時間にかかるクロッ
ク数の増加を最小限に抑えているため、ビタビ復号器の
スループットが向上する。従来のACS回路における演
算処理を時分割的に直列に行うビタビ復号器に対し、2
倍の周波数で動作可能の場合、1復号時間は5/8に短
縮し、1.6倍のスループットが得られる。また、パイ
プライン化により、遅延の影響が受けにくい設計が可能
となるため、設計容易性が向上する。
【図面の簡単な説明】
【図1】本発明の第1の実施形態のビタビ復号器の構成
図である。
【図2】第1の実施形態のパスメトリック演算部2とパ
スメトリック最小値検出部3のブロック図である。
【図3】第1の実施形態の動作タイミング図である。
【図4】第2の実施形態のパスメトリック演算部2とパ
スメトリック最小値検出部3のブロック図である。
【図5】第2の実施形態の動作タイミング図である。
【図6】従来のパスメトリック演算部とパスメトリック
最小値検出部のブロック図である。
【図7】従来例の動作タイミング図である。
【符号の説明】
1 ブランチメトリック演算部 2 パスメトリック演算部 3 パスメトリック最小値検出部 4 パスメモリ部 20 パスメトリックXメモリ 21 パスメトリックYメモリ 22、23 減算器 24、25 加算器 26 比較器 27 選択器 28a〜28g FF 29a〜29g ラッチ 30 比較器 31 選択器 32 FF 33 ラッチ 34a、34b FF 35a、35b、35c ラッチ
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) H03M 13/00 G06F 11/10 330

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 ACS回路における演算を時分割的に直
    列処理するビタビ復号器において、 ACS回路におけるパスメトリック値の読み出し処理、
    減算処理、加算処理、比較選択処理、更新パスメトリッ
    ク値の保存処理、パスメトリック最小値の更新処理をパ
    イプライン化し、並列に実行する手段を有することを特
    徴とするビタビ復号器。
  2. 【請求項2】 パスメトリック値の読み出し処理、減算
    処理、加算処理、比較選択処理、更新パスメトリック値
    の保存処理、パスメトリック最小値の更新処理を行う各
    演算器の間にフリップフロップが挿入され、クロック信
    号の立ち上がりと立ち下がりを交互に利用することによ
    り各演算器の処理を並列にパイプライン処理する、請求
    項1記載のビタビ復号器。
  3. 【請求項3】 パスメトリック値の読み出し処理、減算
    処理、加算処理、比較選択処理、更新パスメトリック値
    の保存処理、パスメトリック最小値の更新処理を行う各
    演算器の間にラッチが挿入され、2相クロック信号を交
    互に利用することにより各演算器の処理を並列にパイプ
    ライン処理する、請求項1記載のビタビ復号器。
  4. 【請求項4】 各状態のパスメトリック値を保存してい
    る第1、第2のパスメトリックメモリと、第1、第2の
    パスメトリックメモリから読み出したパスメトリック値
    をクロック信号の立ち下がりまたは立ち上がりで保持す
    る第1、第2のフリップフロップと、第1、第2のフリ
    ップフロップの出力から前一復号時間中最小であったパ
    スメトリック値を減算する第1、第2の減算器と、第
    1、第2の減算器の出力を第1、第2のフリップフロッ
    プとは逆にクロック信号の立ち上がりまたは立ち下がり
    で保持する第3、第4のフリップフロップと、ブランチ
    メトリックX、Yと第3、第4のフリップフロップの出
    力をそれぞれ加算する第1、第2の加算器と、それぞれ
    第1、第2の加算器の出力を第1、第2のフリップフロ
    ップと同じくクロック信号の立ち下がりまたは立ち上が
    りで保持する第5、第6のフリップフロップと、第5の
    フリップフロップの出力と第6のフリップフロップの出
    力を比較する第1の比較器と、第1の比較器の出力によ
    り第5のフリップフロップの出力と第6のフリップフロ
    ップの出力のうち小さい方を選択する第1の選択器と、
    該選択器の出力を第1、第2のフリップフロップとは逆
    にクロック信号の立ち上がりまたは立ち下がりで保持す
    る第7のフリップフロップを含むパスメトリック演算部
    と、 第8のフリップフロップと、第7のフリップフロップの
    出力である更新パスメトリック値と第8のフリップフロ
    ップの出力を比較する第2の比較器と、第2の比較器の
    出力により第7のフリップフロップの出力と第8のフリ
    ップフロップの出力のうち小さい方を選択する第2の選
    択器と、第2の選択器の出力を第1、第2のフリップフ
    ロップのクロック信号と同じく最小値更新信号の立ち下
    がりまたは立ち上がりにより保持する第9のフリップフ
    ロップを含み、第8のフリップフロップは第2の選択器
    の出力を第1、第2のフリップフロップと逆にクロック
    信号の立ち上がりまたは立ち下がりで保持するパスメト
    リック最小値検出部を有する、請求項1記載のビタビ復
    号器。
  5. 【請求項5】 各状態のパスメトリック値を保存してい
    る第1、第2のパスメトリックメモリと、第1、第2の
    パスメトリックメモリから読み出したパスメトリック値
    を第2のクロック信号で保持する第1、第2のラッチ
    と、第1、第2のラッチの出力から前一復号時間中最小
    であったパスメトリック値を減算する第1、第2の減算
    器と、第1、第2の減算器の出力を第1のクロック信号
    で保持する第3、第4のラッチと、ブランチメトリック
    X、Yと第3、第4のラッチの出力をそれぞれ加算する
    第1、第2の加算器と、それぞれ第1、第2の加算器の
    出力を第2のクロック信号で保持する第5、第6のラッ
    チと、第5のラッチの出力と第6のラッチの出力を比較
    する第1の比較器と、第1の比較器の出力により第5の
    ラッチの出力と第6のラッチの出力のうち小さい方を選
    択する第1の選択器と、該選択器の出力を第1のクロッ
    ク信号で保持する第7のラッチを含むパスメトリック演
    算部と、 第8のラッチと、第7のラッチの出力である更新パスメ
    トリック値と第8のラッチの出力を比較する第2の比較
    器と、第2の比較器の出力により第7のラッチの出力と
    第8のラッチの出力のうち小さい方を選択する第2の選
    択器と、第2の選択器の出力を最小値更新信号により保
    持する第9のラッチを含み、第8のラッチは第2の選択
    器の出力を第2のクロック信号で保持するパスメトリッ
    ク最小値検出部を有する、請求項1記載のビタビ復号
    器。
JP15246197A 1997-06-10 1997-06-10 ビタビ復号器 Expired - Fee Related JP3266182B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP15246197A JP3266182B2 (ja) 1997-06-10 1997-06-10 ビタビ復号器
EP98110581A EP0884853B1 (en) 1997-06-10 1998-06-09 Fast Viterbi decoder
DE69813086T DE69813086T2 (de) 1997-06-10 1998-06-09 Schneller Viterbi Dekodierer
US09/095,056 US6343105B1 (en) 1997-06-10 1998-06-10 Viterbi decoder
CN98102382A CN1130836C (zh) 1997-06-10 1998-06-10 维特比解码器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15246197A JP3266182B2 (ja) 1997-06-10 1997-06-10 ビタビ復号器

Publications (2)

Publication Number Publication Date
JPH10341169A JPH10341169A (ja) 1998-12-22
JP3266182B2 true JP3266182B2 (ja) 2002-03-18

Family

ID=15541028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15246197A Expired - Fee Related JP3266182B2 (ja) 1997-06-10 1997-06-10 ビタビ復号器

Country Status (5)

Country Link
US (1) US6343105B1 (ja)
EP (1) EP0884853B1 (ja)
JP (1) JP3266182B2 (ja)
CN (1) CN1130836C (ja)
DE (1) DE69813086T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100477534C (zh) * 2002-08-14 2009-04-08 联发科技股份有限公司 维特比解码器的解码电路与方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6415415B1 (en) * 1999-09-03 2002-07-02 Infineon Technologies North America Corp. Survival selection rule
US6701483B1 (en) * 2000-08-18 2004-03-02 Alantro Communications, Inc. Fast search-based decoding scheme
TW543301B (en) * 2000-12-22 2003-07-21 Mediatek Inc Decoding circuit and method of Vieterbi decoder
US6448910B1 (en) * 2001-03-26 2002-09-10 Morpho Technologies Method and apparatus for convolution encoding and viterbi decoding of data that utilize a configurable processor to configure a plurality of re-configurable processing elements
JP2003017639A (ja) * 2001-06-29 2003-01-17 Matsushita Electric Ind Co Ltd ヒートシンクの取り付け金具およびその取り外し方法
AU2002357739A1 (en) * 2001-11-16 2003-06-10 Morpho Technologies Viterbi convolutional coding method and apparatus
US7120210B1 (en) 2002-05-24 2006-10-10 Lucent Technologies Inc. Method and system for processing a signal
US7131055B2 (en) * 2003-02-25 2006-10-31 Intel Corporation Fast bit-parallel Viterbi decoder add-compare-select circuit
US20080109709A1 (en) * 2003-08-19 2008-05-08 Chao Cheng Hardware-Efficient, Low-Latency Architectures for High Throughput Viterbi Decoders
US7308640B2 (en) * 2003-08-19 2007-12-11 Leanics Corporation Low-latency architectures for high-throughput Viterbi decoders
FR2878385A1 (fr) * 2004-11-19 2006-05-26 Turboconcept Soc Par Actions S Procedes et dispositifs de multiplexage de sections de treillis pour decodage par l'algorithme de viterbi ou aller-retour
WO2007014043A2 (en) * 2005-07-21 2007-02-01 Wionics Research Deinterleaver and dual-viterbi decoder architecture
CN112134574A (zh) * 2020-11-23 2020-12-25 易兆微电子(杭州)股份有限公司 路径度量信息的存储方法、装置、电子设备及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5753809A (en) * 1980-09-16 1982-03-31 Toshiba Corp Waveform shaping circuit of digital signal processor
JPS60173930A (ja) 1984-02-20 1985-09-07 Fujitsu Ltd パイプライン処理ビタビ復号器
US4614922A (en) * 1984-10-05 1986-09-30 Sanders Associates, Inc. Compact delay line
JPS6444056A (en) 1987-08-11 1989-02-16 Nec Corp Hybrid integrated circuit
JPH0732197B2 (ja) 1987-08-11 1995-04-10 三菱電機株式会社 半導体集積回路装置
JPH0349217A (ja) 1989-07-18 1991-03-04 Fuji Electric Co Ltd 半導体基体用プラズマドーピング装置
JP3259297B2 (ja) * 1991-11-15 2002-02-25 ソニー株式会社 ビタビ復号装置
JPH0746145A (ja) 1993-08-02 1995-02-14 Matsushita Electric Ind Co Ltd 演算装置
JPH0722969A (ja) 1993-06-16 1995-01-24 Matsushita Electric Ind Co Ltd 演算装置
JPH0713159A (ja) 1993-06-21 1995-01-17 Nitsusen Kagaku Kk 面照明エッジライティング装置
JP3467343B2 (ja) 1994-03-24 2003-11-17 シリコン システムズ インコーポレーテッド Prmlチャネルのためのビタビ検出器を実現するための装置
JPH088402A (ja) 1994-06-17 1996-01-12 Mitsubishi Electric Corp 半導体集積回路装置、及びその製造方法
JPH0863337A (ja) 1994-08-24 1996-03-08 Fujitsu Ltd 数値比較選択回路
JPH0936754A (ja) 1995-07-20 1997-02-07 Hitachi Ltd ビタビ式データ弁別器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100477534C (zh) * 2002-08-14 2009-04-08 联发科技股份有限公司 维特比解码器的解码电路与方法

Also Published As

Publication number Publication date
CN1130836C (zh) 2003-12-10
EP0884853A2 (en) 1998-12-16
CN1209693A (zh) 1999-03-03
DE69813086T2 (de) 2003-12-24
DE69813086D1 (de) 2003-05-15
EP0884853B1 (en) 2003-04-09
EP0884853A3 (en) 2000-11-02
US6343105B1 (en) 2002-01-29
JPH10341169A (ja) 1998-12-22

Similar Documents

Publication Publication Date Title
US5027374A (en) Bit serial Viterbi decoder add/compare/select array
JP3266182B2 (ja) ビタビ復号器
US5715470A (en) Arithmetic apparatus for carrying out viterbi decoding at a high speed
EP1102408B1 (en) Viterbi decoder
US7581160B2 (en) ACS circuit and Viterbi decoder with the circuit
US20060236214A1 (en) Method and apparatus for implementing decode operations in a data processor
US6257756B1 (en) Apparatus and method for implementing viterbi butterflies
US6029267A (en) Single-cycle, soft decision, compare-select operation using dual-add processor
RU2246751C2 (ru) Высокоскоростной модуль сложения (сравнения) выбора для декодера витерби
US20050157823A1 (en) Technique for improving viterbi decoder performance
US6272188B1 (en) Single-cycle accelerator for extremun state search
JP3753822B2 (ja) ビタビ復号方法および装置
JP4149674B2 (ja) ビタビ復号器のための高速メトリック計算
JP3191442B2 (ja) ビタビ復号用演算装置
JP3260714B2 (ja) ビタビ復号化装置およびビタビ復号化方法
US5648921A (en) Digital operational circuit with pathmetrics calculating steps simplified
JP3343217B2 (ja) 2ビットトレースバック符号化に対するビタビ比較・選択動作
JPH0722969A (ja) 演算装置
JP3288328B2 (ja) ビタビ復号器のトレースバック処理の高速化装置およびその高速化方法
JPS60235529A (ja) ヴイタビ復号装置
JPH0510850B2 (ja)
JPH09261080A (ja) ビタビ復号器
JP2004120791A (ja) ビタビ復号器
Jamal et al. Design and FPGA Implementation of Low Power Punctured Soft Decision Viterbi Decoder
KR19980075723A (ko) 비터비 디코딩장치

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees