JP3256505B2 - インデックスを識別する方法 - Google Patents

インデックスを識別する方法

Info

Publication number
JP3256505B2
JP3256505B2 JP33315498A JP33315498A JP3256505B2 JP 3256505 B2 JP3256505 B2 JP 3256505B2 JP 33315498 A JP33315498 A JP 33315498A JP 33315498 A JP33315498 A JP 33315498A JP 3256505 B2 JP3256505 B2 JP 3256505B2
Authority
JP
Japan
Prior art keywords
value
register
count
state
bit
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 - Lifetime
Application number
JP33315498A
Other languages
English (en)
Other versions
JPH11330989A (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.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
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 Lucent Technologies Inc filed Critical Lucent Technologies Inc
Publication of JPH11330989A publication Critical patent/JPH11330989A/ja
Application granted granted Critical
Publication of JP3256505B2 publication Critical patent/JP3256505B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ビタビ復号化装置
で信号を復号化するプロセスにおいて、グループ内の最
大値と最小値とその関連インデックスを見いだす方法に
関し、特に、シンボル時(symbol instant)において蓄
積コストの最小値または最大値とその関連状態を見いだ
す方法に関する。
【0002】
【従来の技術】ビタビデコーダ(復号化器)は、フォワ
ードエラー修正を与える最尤度デコーダである。ビタビ
復号化はビットストリームのような符号化シンボルのシ
ーケンスを復号化するのに用いられる。ビットストリー
ムはシンボル時(symbol instant)を表す各ビットの組
でもってシステム内の様々な媒体を介して伝送される符
号化情報を表す。ビタビ復号化法は、通信チャネルを介
してデジタル情報を通信するのに用いられ、その使用例
は、例えば人工衛星と地球の間,セルラ電話機,マイク
ロプロセッサとディスクとの間,モデム間のようなデジ
タル通信で用いられる。
【0003】ビタビデコーダは、ハードウェアのマイク
ロプロセッサ,マイクロコントローラ,デジタル信号プ
ロセッサで実行される。ビタビ復号化は公知でその応用
例は、米国特許第5,490,178号,第5,45
4,014号,第5,559,837号,第5,46
5,275号,第5,471,500号,第5,14
4,644号,第4,493,082号に記載されてい
る。
【0004】ビタビ復号化プロッセスは次の4つのステ
ップからなる。(1)ブランチとパスのメトリック計算
(2)比較−選択操作と(3)最少または最大の状態コ
スト決定(4)トレースバック操作である。これにより
復号化されたシンボルを決定している。復号化プロセス
においては、ビタビデコーダは各シンボル時において、
可能性のあるビットシーケンスを介して戻り動作をし
て、どのビットシーケンスが送信された可能性が最も高
いかを決定する。
【0005】あるシンボル時における状態(即ち現在の
状態)から次のシンボル時(即ち次の状態)へ移り変わ
る可能性は限定されている。現在の状態から次の状態へ
の各遷移の可能性は、グラフでもって示すことができそ
れはブランチと称する。相互接続されたブランチのシー
ケンスはパスと称する。各状態はビットストリームにお
いて、次のビットを受信したときにある限られた数の次
の状態へ遷移することができるに過ぎない。
【0006】このためあるブランチは生き残りそしてパ
スの一部となり、別のブランチは生き残ることができな
い。生き残りが許されなかったこれらの遷移あるいはブ
ランチを削除することにより、生き残る可能性の大きな
パスを決定する際に計算効率が高められる。通常ビタビ
デコーダは、各ブランチに関連したブランチメトリック
を規定し、このブランチメトリックを用いてどのパスが
生き残り、どのパスが生き残らないかを決定する。
【0007】ブランチメトリックは、各ブランチの可能
性決定のために各シンボル時に計算される。各パスは関
連するメトリック即ち蓄積コストを有し、各シンボル時
に更新される。各遷移の可能性を決定するために、次の
状態の蓄積コストがブランチメトリックとこのブランチ
メトリックの現在の状態におけるパスの蓄積コストの和
として計算される。最大値または最小値のような極値が
選択される。
【0008】数個のブランチおよび数個のパスが、ある
シンボル時から次のシンボル時への遷移を生き残らせ、
この生き残ったパスを通したトレースバック操作を用い
て送信された可能性が最大であるビットシーケンスを選
択する。この連続的なシンボル時はトレリスと称する列
で表される。あるシンボル時で開始した極値の蓄積コス
トパスを特定することを「トレースバック操作」と称す
る。
【0009】蓄積コストが極値のパスが延びるトレリス
を介して戻るシンボル時の数は、トレースバック操作の
長さ即ち「トレースバック深さ」と称する。トレースバ
ック操作の終了時においては、極値の蓄積コストで発生
した生き残りパスに関連するトレリス内の個々の状態
は、そのシンボル時において送信された可能性の最も高
いビットに変換される。このビットまたはビットグルー
プは「復号化シンボル」と称する。
【0010】1個のビットが各シンボル時に送信される
ようなビタビ復号化を採用する通信アプリケーションに
おいては、2つの可能性のある現在の状態が1個の次の
状態に移る即ち分岐することができ、1個のビットで2
つの可能性のあるブランチのうちのいずれかが次の状態
に移るかを決定するのに十分である。
【0011】
【発明が解決しようとする課題】従って本発明の目的
は、受信したデジタル信号をビタビ復号化するに際し蓄
積コストの極値(最大値または最小値)を特定する方法
を提供するものである。
【0012】
【課題を解決するための手段】本発明は、極値と各値が
関連インデックスを有する値のグループ内のインデック
スを識別する方法である。カウントレジスタが初期値に
初期化される。グループからの値と所定の値とが算術論
理ユニットとマルチプレクサに同時に与えられる。グル
ープからの値と所定値は、算術論理ユニット内で比較さ
れる。セレクタが第1論理状態または第2論理状態の一
方に設定される。
【0013】第1論理状態においてはセレクタは最少値
を選択し、第2論理状態においてはセレクタは最大値を
選択する。グループからの値と所定値の一方は、算術論
理ユニットとセレクタ内での比較により設定されたフラ
グに基づいて極値として選択される。
【0014】所定値は極値で置換され、カウントレジス
タのカウントは、セレクタが第1状態に設定され値が所
定値以下のときに記憶される。所定値は極値で置換さ
れ、カウントレジスタのカウント数はセレクタが第2状
態に設定され、値が所定値以上のときに記憶される。
【0015】
【発明の実施の形態】図1に拘束長が5である例(その
結果16個の状態が発生する)のビタビバタフライを表
す2つの可能性のある現在の状態が次の状態に移り変わ
る線図を示す。図1において、状態は十進法と二進法の
両方で示されているが本明細書においては、状態はいず
れでも指定するものとする。シングルビット0が入力さ
れ右側へシフトすると、第1の2つの現在の状態PS0
:0000またはPS1 :0001のいずれかが、現
在の状態の最終(右側)ビットがシフトアウトされるこ
とにより、次の状態NS0 :0000に遷移する。
【0016】同図には、全ての可能性のある遷移(ブラ
ンチ)が示されているわけではないが、シングルビット
入力と16個の現在の状態のあらゆる組み合わせが次の
各16個の状態に遷移する2つのブランチを表してい
る。言い換えると、16個の次の状態の各々は、現在の
状態がシングルビット入力の全ての組み合わせを受信す
ると、次の状態に移る2つの現在の状態を有する。かく
して図1に示す16個の状態の例においては、現在の状
態から次の状態に移る32個のブランチの可能性があ
る。図1では32個のブランチのうちの一部のみを示し
たものである。
【0017】各ブランチは、mijで指定されたブラン
チメトリックを有する。ここでiはブランチの現在の状
態を表しjは次の状態を表す。現在の状態はi番目の現
在の状態に関連する蓄積コストPSi を有し(ここで
i=0,1,2,…,15)、この蓄積コストPSi
は現在の状態までのパス内の全てのブランチのうちの生
き残ったブランチに関連するブランチメトリックの和で
ある。次の状態のNSj に対する蓄積コストメトリッ
クは、i番目の現在の状態に関連する現在の状態の蓄積
コストPSi と、例えばユークリッド距離またはハミ
ング距離(マンハッタン距離とも称する)に基づくブラ
ンチメトリックmijの1つとの和である。
【0018】ある次の状態例えば次の状態NS0 に終
端する2つのブランチメトリックmijが計算されそし
て現在の状態の蓄積コストに加算され、そして比較され
るべき2つの可能性のある次の状態コストを生成する。
この可能性のある次の状態コストの極値(最大値または
最小値)が、比較操作で可能性のある次の状態コストメ
トリックが極値である次の状態に関連する次の状態コス
トとして選択される。極値メトリックに関連した現在の
状態から次の状態への遷移は生き残りパス内のブランチ
である。
【0019】極値メトリックは、生き残りブランチの次
の状態に関連する次の状態コストである。現在の状態か
らシフトアウトするビットは、生き残りブランチのトレ
ースバックパスを再構成する際に用いられるトレースバ
ックビットとして記憶される。全ての現在の状態に関連
する同様な計算結果は、各次の状態に関連するトレース
バックビットの蓄積と全ての次の状態の蓄積コストの更
新となる。かくしてメトリックm00が極値の一部を含
む場合には、ゼロがシングルビットトレースバックとし
て記憶され、メトリックm10が極値の一部を含む場合
には1がトレースバックビットとして記憶される。
【0020】ある次の状態に関連する2個のブランチメ
トリックが計算され、元のブランチメトリックに関連し
たそれぞれの現在の状態のコストに加えられ、2つの可
能性のある次の状態コストPNS00,PNS10を生
成する。この2つの可能性のある次の状態のコストメト
リックが図2に示すようなデータ演算ユニット20内で
計算され、2つの可能性のある次の状態コストの極値が
選択される。このデータ演算ユニット20の例として
は、マイクロプロセッサ,マイクロコントローラ,デジ
タル信号プロセッサである。
【0021】図2は集積回路の一部であるデータ演算ユ
ニット(DAU)20の一部を示すブロック図である。
集積回路は、移動デジタルセルラホーンのような通信シ
ステム内の受信器の一部である。DAU20はプロセッ
サ22の一部である。このプロセッサ22はマイクロコ
ントローラ,マイクロプロセッサ,またはデジタル信号
プロセッサである。DAU20は少なくとも2つの乗算
−蓄積パスを有する。乗算器24と加算器26が第1の
乗算−蓄積パスを、乗算器28と加算器30が第2の乗
算−蓄積パスを形成する。
【0022】マルチプレクサ(MUX)32は、第1バ
ス(Xデータバスとも称する)16に接続された入力
と、加算器26,30の出力からのフィードバックパス
36からの入力を有する。マルチプレクサ32は、この
複数の入力から第1の入力レジスタ34への入力を選択
する。この第1の入力レジスタ34は、高部分(xh)
と低部分(xl)に分けられている。高部分と低部分は
n個のビットを有する。ここでnは任意の数である。好
ましい実施例においてはnは16である。第1の入力レ
ジスタ34は、高部分(nビット)と低部分(nビッ
ト)を有する2nビットのレジスタである。nビットワ
ードが高部分xhと低部分xlの各々に多重化される。
ここで2nビットという表現は、nビットと適当な数の
ガードビットを加えたワード長の2倍を意味する。
【0023】マルチプレクサ(MUX)38は、複数の
入力を第2の入力レジスタ40への入力として選択す
る。この第2の入力レジスタ40は、yレジスタとも称
する。第2の入力レジスタ40は、高部分yhと低部分
ylに分割される。高部分と低部分それぞれはn個のビ
ットを含む。同様に第2の入力レジスタ40は、高部分
と低部分を有する2nビットレジスタである。マルチプ
レクサ38は、第2データバス(Yデータバスとも称す
る)18と、加算器26,30の出力からのフィードバ
ックパス36に接続される。
【0024】第1の入力レジスタ34のxh部分とxl
部分からのビットと第2の入力レジスタ40のyh部分
とyl部分からのビットは、交差マルチプレクサ(MU
X)42を介して乗算器24,28に独立に入力され
る。この交差マルチプレクサ(MUX)42は乗算器2
4と28に2個の入力を与える。即ち、入力44,46
は乗算器24に与えられ、入力48,50は乗算器28
に与えられる。nビットワードが入力レジスタ34,4
0の各々の高半分と低半分の各々に多重化される。
【0025】第1の入力レジスタ34または第2の入力
レジスタ40のいずれかの高部分または低部分のいずれ
かからの出力は、入力44,46,48,50としてそ
のいずれかを乗算器24と28に交差マルチプレクサ4
2を介して与える。各乗算器24と28は、受信した入
力を乗算して積を出力する。乗算器24からの積出力
は、第1の積レジスタ52に記憶され、マルチプレクサ
56,58の両方の入力に与えられる。同様に第2の乗
算器28からの積出力は、第2の積レジスタ54に記憶
され、マルチプレクサ56と58の両方に入力として与
えられる。マルチプレクサ56,58は、第2の入力レ
ジスタ40の内容を入力として受け取る。
【0026】アキュムレータファイル62は複数のレジ
スタ64を有する。レジスタ64は高部分と低部分によ
りアクセス可能な2nビットレジスタでもある。アキュ
ムレータファイル62の出力は、ライン66によりマル
チプレクサ56と加算器26へ入力され、またライン6
8によりマルチプレクサ58と加算器30に入力され
る。
【0027】マルチプレクサ56の出力は加算器26へ
入力される。加算器26からの和出力は飽和ブロック7
0によりオーバーフローの間極値に出力を制限し、そし
てマルチプレクサ60を介してマルチプレクサ32,3
8の入力に接続される。マルチプレクサ60は加算器2
6または30のいずれかの出力をアキュムレータファイ
ル62内のレジスタ64に与える。
【0028】マルチプレクサへの入力の選択は、適切な
入力を適切な出力として選択するためにプロセッサアー
キテクチャ(図示せず)の制御部分内の指示デコーダに
より設定される。
【0029】一実施例においては、加算器30は3個の
入力を有する加算器であり、加算器26は少なくとも2
個の入力を有する。各加算器26と30は、加算器入力
の組み合わせの和出力を生成する。さらにまたこれら加
算器26と30の一方または両方は、スプリット加算器
である。このスプリット加算器とは、例えば2つの演算
子の高次ビットと2つの演算子の低次ビットを組み合わ
せることにより2つの加算または2つの減算を実行す
る。加算器26は加算器として示されているが、加算器
26は論理操作および加算操作,減算操作を実行できる
算術論理ユニットでもよい。
【0030】加算器26は、乗算器24または乗算器2
8のいずれかの出力から積レジスタ52,54,マルチ
プレクサ56によりその入力の1つを受信する。同様に
加算器30は乗算器24と乗算器28の出力から1つあ
るいは2つの入力を積レジスタ52,54を介して、そ
して乗算器24からの出力の場合にはマルチプレクサ5
8を介して受信する。かくして第1のデータパスにおけ
る乗算器24の出力は、第1のデータパスの加算器26
または第2のデータパスの加算器30のいずれかあるい
は両方への入力として与えられる。同様に第2のデータ
パスの乗算器28からの出力は、第2のデータパスの加
算器30の入力として、あるいは第1のデータパスの加
算器26への入力としてあるいはその両方に与えられ
る。
【0031】加算器26への2つの入力は、アキュムレ
ータファイル62のレジスタ64からの出力としてライ
ン66により与えられる。言い換えると、加算器26へ
の一方の入力は、アキュムレータファイル62の出力か
ら直接与えられるが、他方の入力はマルチプレクサ56
を介して与えられる。同様に加算器30への2つの入力
は、アキュムレータファイル62のレジスタ64からの
出力としてライン68を介して与えられる。加算器30
への第1入力は、アキュムレータファイル62のレジス
タ64の出力に直接接続されているが、加算器30への
第2入力は、マルチプレクサ58を介してライン68に
より接続される。
【0032】トランシーバ内での信号処理の一部は図2
に示したデータ演算ユニット(DAU)内で行われる。
この信号処理は、(1)ブランチとパスメトリックの計
算、(2)比較−選択操作、(3)コストの極値(最小
値または最大値)の決定、(4)トレースバック操作の
ステップを含む。データ演算ユニット(DAU)20
は、トランシーバの一部の場合には、ビタビ復号化を行
う際に、パイプラインで操作する場合には本発明による
一回のクロックサイクルで以下のステップを行う。
【0033】それらは2つの可能性のある次の状態蓄積
コストの一方を2つの可能性のある次の状態蓄積コスト
の極値として特定するために、比較−選択操作を実行す
ることを含む。
【0034】ビタビ復号化操作において、上記のステッ
プをデータ演算ユニット(DAU)20が同時に実行す
るようなインストラクションを議論する前に、パイプラ
イン操作のインストランクションについて先ず説明す
る。パイプライン処理は、前のデータセットでの計算を
完了する前に新たなデータセットの計算を開始すること
により行われる。パイプライン処理で使用されるラッチ
の数が増えると、パイプライン処理の深さも大きくな
る。
【0035】パイプライン処理ではパイプラインを埋め
るのに必要な計算時間の初期遅延が発生するが、加算器
のような資源の使用状態を最大にできる。次式(1)〜
(4)は、パイプラインを埋めることを示す。パイプラ
インが一旦埋められると、式(5)〜(8)が繰り返し
実行され、ビタビ復号化のメトリック計算と加算−比較
−選択操作が行われる。新たに受信したシンボルは、必
要により式(1)に従ってロードされる。
【数1】
【0036】式(1)では、ポインタr1が指している
受信したシンボルをアキュムレータファイル62とレジ
スタa5にロードする。式(2)では、予測したシンボ
ルを第2の入力レジスタ40にロードする。この入力レ
ジスタ40は、yレジスタとも称するものである。
【0037】左から右へ式(3)は、式(1)でロード
された受信シンボルと、式(2)でロードされた予測シ
ンボルとの間の同相と直交相の差を計算する。式(4)
では、新たな予測シンボルを第2の入力レジスタ40に
ロードする。
【0038】左から右へ式(4)は、式(1)の受信シ
ンボルと式(3)の予測シンボルとの間の同相と直交相
の差を計算する。式(3)で計算された同相と直交の差
は、積レジスタ52(レジスタp0)と積レジスタ54
(レジスタp1)内で自乗され記憶される。新たに予測
されたシンボルが第2の入力レジスタ40内にロードさ
れる。現在の状態のコストがアキュムレータファイル6
2のレジスタa4h内にロードされる。このシーケンス
は、式(5)〜(8)に表される繰り返し計算用のパイ
プラインを埋める。
【0039】新たに受信したシンボルの各発生によりパ
イプラインを再初期化するために、式(1)〜(4)の
実行が必要となる。式(7)は、比較−選択の指示(イ
ンストラクション)であり、2つの可能性のある次の状
態コスト(1つは式(5)により計算され、他方は式
(6)により計算され)を比較し、極値(最大値または
最小値)を選択し、そして式(5),(6)により計算
された2つの可能性のある次の蓄積コストの間の差をソ
フト判定として計算し、そのソフト判定をレジスタa1
に記憶する。
【0040】インストラクションが実行されると、DA
U20は上記に挙げられたステップを同時に実行する。
その式(5)(6)の代表例を式(8)として示す。
【数2】 式(9)によりDAU20は、一回のクロックサイクル
でパイプライン環境においては、式(8)の全ての機能
を同時に実行する。
【0041】以下の説明は、パイプラインが満杯である
ことを仮定している。式(9)の右側から始まり現在の
状態のコストPS(1)がXデータバス16から取り出
され、レジスタ64の高部分(レジスタa4)内にロー
ドされる。
【0042】受信したシンボルの予測値である予測シン
ボルe(3)は、Yデータバス18から取り出され、マ
ルチプレクサ38に入力されて第2の入力レジスタ40
内に記憶される。例えば、同相の予測シンボルe
I(3)は第2の入力レジスタ40の高部分yh内に記
憶され、直交相予測シンボルeQ(3)は第2の入力レ
ジスタ40の低部分yl内に記憶される。予測シンボル
は、またライン74により加算器26に入力される。
【0043】メトリックの計算例えばユークリッドメト
リックの例を次に示す。直交相の受信したシンボルと予
測シンボルとの間の差は、パイプラインで前のクロック
サイクルで計算され、第1の入力レジスタ34の低部分
xl内に記憶され、そして自乗される。第1の入力レジ
スタ34の低部分xlは、交差マルチプレクサ42によ
り乗算器28の入力48と50の両方に与えられる。直
交した受信シンボルX Q(n)と予測シンボルとの間の
差は乗算器28内で自乗され、積レジスタ54内にp1
として記憶される。その計算された量は次式で表され
る。[XQ(n)−eQ(l)]2
【0044】同様に同相の受信シンボルと予測シンボル
との間の差は、パイプラインで前のクロックサイクルで
計算され、第1の入力レジスタ34内の高部分xh内に
記憶されそして自乗される。第1の入力レジスタ34の
高部分xhは乗算器24の入力44と46の両方に交差
マルチプレクサ42を介して与えられる。同相の受信シ
ンボルと予測シンボルとの間の差は乗算器24内で自乗
され、積レジスタ52に記憶されてレジスタp0として
指定される。その計算された量は次式で表される。 [XI(n)−eI(l)]2
【0045】現在の状態のコストは、アキュムレータレ
ジスタファイル62内に記憶された現在の状態コストで
あるレジスタa4に乗算器24,28により生成され積
レジスタ52,54により記憶された自乗差を加えるこ
とにより次の状態コストを生成するために更新される。
アキュムレータファイル62のレジスタa4は、ライン
68により加算器30への第1入力を与える。積レジス
タ52と第2の入力レジスタ40は、マルチプレクサ5
8により加算器30に第2入力を与える。
【0046】第2の入力レジスタ40は、加算器30に
直接別の入力を与える。加算器30は自乗差を現在の状
態コストに加えて、第1の可能性のある次の状態コスト
NS(0)1 を生成する。その量は次式で表される。 PNS00=PS(0)+[XI(n)−eI(0)]2+[XQ
(n)−eQ(0)]2 第1の可能性のある次の状態コストは、加算器30から
の和出力で、これはアキュムレータファイル62のレジ
スタa0に記憶される。
【0047】処理中の受信したシンボルは、アキュムレ
ータ62のレジスタa5に記憶される。受信したシンボ
ルの同相部分は、レジスタa5の高部分内に記憶され、
受信したシンボルの直交相部分は、レジスタa5の低部
分に記憶される。この受信したシンボルは、加算器26
の入力にライン66を介して与えられる。加算器26
は、2つの別のnビットの加算と減算操作を行うことが
でき、低エンドビット(lower end bit)上でと高エン
ドビット(upper end bit)上で行う。加算器26は、
スプリット加算器として機能し、低部分で受信したシン
ボルと予測シンボルとの直交部分の差と、高部分で受信
したシンボルと予測したシンボルの同相部分の差を計算
する。
【0048】受信したシンボルと予測したシンボルとの
間の差は、第1の入力レジスタ34にフィードバックパ
ス36を介し、フィードバックパス36とマルチプレク
サ32を介して入力される(別のメトリック計算の準備
用)。これはブランチメトリック計算と称する。フィー
ドバックパス36により加算器26または30のいずれ
かの出力が、第1の入力レジスタ34または第2の入力
レジスタ40のいずれかの高部分または低部分のいずれ
か内にラッチされる。このようにして加算器26,30
からのフィードバックパス36を用いて、2つのブラン
チメトリックを同時に計算する。加算器30は、2つの
ブランチメトリックと現在の状態コストとを加算するこ
とによりパスメトリックを計算する。
【0049】式(5)は、特に第1の可能性のある次の
状態コストを計算し、この第1の可能性のある次の状態
コストをアキュムレータファイル62のレジスタa0に
記憶する。式(6)は、特に第2の可能性のある次の状
態コストを計算し、この第1の可能性のある次の状態コ
ストをアキュムレータファイル62のレジスタa1に記
憶する。式(7)を実行すると、DAU20はソフト判
定確信レベルを計算するステップと比較−選択操作を実
行するステップを同時に実行して、式(5)(6)で計
算された2つの可能性のある次の状態コストの1つを次
の状態コストの極値として特定する。
【0050】式(5)で計算された第1の可能性のある
次の状態コストは、加算器30の第1入力に加えられ、
式(6)で計算された第2の可能性のある次の状態コス
トは、加算器30の第2入力に加えられる。加算器30
への第3入力はゼロに設定される。加算器30により計
算され、加算器30から出力される2つの可能性のある
次の状態コストの間の差はソフト判定確信レベルであ
り、これはアキュムレータファイル62のレジスタa1
に記憶される。加算器30内でのソフト判定確信レベル
の計算と同時に式(5)(6)で計算された可能性のあ
る次の状態コストは、加算器26への2つの入力として
与えられる、この加算器26は算術論理ユニットとして
機能する。
【0051】2つの可能性のある次の状態コストの極値
は、この実施例においては大きい方かあるいは小さい方
のいずれかであるが、極値ビットを設定することにより
選択される。可能性のある次の状態コストの極値は、次
の状態コストとして選択され、アキュムレータファイル
62のレジスタa0に記憶される。式(5)〜(8)
は、次の状態で終端するブランチメトリックを有するシ
ンボル時の現在の状態の各対に対し、繰り返し計算さ
れ、これは図1のビタビバタフライで示されている。
【0052】ある次の状態に関連する2つのブランチメ
トリックが計算され、そしてこのブランチメトリックの
枝元に関連したそれぞれの現在の状態のコストに加えら
れて、式(5)(6)で2つの可能性のある次の状態コ
ストPNS00とPNS01を生成し、これをアキュム
レータファイル62のレジスタa0とレジスタa1に記
憶する。この2つの可能性のある次の状態のコストメト
リックは、DAU20内で対称的に比較され、これを図
3に示すが、そしてこの2つの可能性のある次の状態の
コストの極値を選択する。
【0053】図1の例においては、次の状態の蓄積コス
トの数は16である。次の状態の蓄積コストの極値は、
所定長のトレースバックが開始されトレースバックの終
了時においてシンボル時のシンボルを復号化する現在の
シンボル時における状態として認識される。各シンボル
時においては、トレースバック操作が開始されるべき状
態は、次の状態の蓄積コストの全てを生成し、それらを
比較して極値(最大値または最小値)の次の状態コスト
を識別し、その関連状態を特定することにより決定され
る。
【0054】別の方法として、各次の状態の蓄積コスト
は、生成されたまま、次の状態コストの現在の極値と比
較される。この次の状態コストの現在の極値には、この
次の状態コストの現在の極値の関連状態により表される
インデックスが付されている。後者の方法はを説明する
が、後者の説明をすることにより容易に前者の方法の理
解が可能となるためである。
【0055】第1の次の状態の蓄積コストを生成する前
に、状態カウンタ100と現在の極値レジスタa2を初
期化する。通常、状態カウンタ100は、ゼロに初期化
されるが、これはゼロをレジスタに書き込むことにより
行われる。現在の極値レジスタa2を初期化する方法
は、次の状態コストの所望の極値が最小値かまたは最大
値かに依存する。次の状態コストの極値を最小値とする
ためには、非常に大きな値(例、現在の極値レジスタ内
に記憶可能な最大値)が現在の極値レジスタa2に書き
込まれる。
【0056】大きな値を現在の極値レジスタa2に書き
込むことにより、第1状態に関連する次の状態の蓄積コ
ストが極値レジスタa2内に記憶されている値と比較さ
れると、第1状態に関連した次の状態コストが現在の極
値として選択され、極値レジスタa2に書き込まれる。
同様に次の状態蓄積コストの極値を最大値と認定するた
めには、非常に小さな値(現在の極値レジスタ内に記憶
可能な最小値)が初期化の間現在の極値レジスタa2に
書き込まれる。
【0057】図3に示すように、式(8)が実行される
と、式(7)の実行によりレジスタa0内に記憶された
最も最近決定された次の状態コストが、現在の極値レジ
スタa2内に保持された値と比較される。この比較は、
レジスタa0からの次の状態コストと現在の極値レジス
タa2内に保持された値とを、同時に算術論値ユニット
(ALU)26への入力にライン80とライン82を介
して与えることにより行われる。ALU26は、この2
つの入力を差を計算することにより比較する。ALU2
6の差の符号フラグは、ライン84を介して極値レジス
タ104へ入力される。差の符号フラグは、ALU26
への2つの入力のうちどちらの入力が極値として選択さ
れたかを示す。
【0058】ワンビット入力セレクタ88は、排他的O
Rゲート86に与えられる。ワンビット入力セレクタ8
8は、ALU26内で比較されている2つの入力の小さ
い方の入力または大きい方の入力のいずれかを選択する
ために第1状態と第2状態の一方を採る。小さい方の入
力をMUX92への入力として選択することは、最少の
次の状態コストを次の状態コストの極値として選択する
ことに対応し、大きい方の入力をMUX92への入力と
して選択することは、最大の次の状態コストを次の状態
コストの極値として選択することに対応する。
【0059】数字で表すと、論理イチ(1)のような第
1状態のミニ/マックスセレクタは、小さい方の入力を
選択し、論理ゼロ(0)のような第2状態のミニ/マッ
クスセレクタは、MUX92に対し大きい方の入力を選
択するよう指示する。MUX92は、2つの入力のうち
の一方を次の状態コストの極値として選択し、この選択
された極値を次の状態コストをレジスタa2に記憶す
る。
【0060】状態カウンタ(カウントレジスタ)100
はレジスタa0内に記憶された可能性のある次の状態コ
ストのインデックスを追跡する。状態カウンタ100が
例えばゼロ(インデックスのカウントの仕方によっては
イチ)に初期化されると、シンボル時の増分が行われ
る。式(8)の比較と選択操作は、レジスタa0内に記
憶されている最も最近計算された可能性のある次の状態
コストと、レジスタa2内に記憶されているそのシンボ
ル時の前に計算された次の状態コストの極値(または初
期化された極値)とを比較する。この極値は状態カウン
タ100内にインデックスを有する、そしてその極値を
レジスタa2に書き込む。
【0061】比較のためにレジスタa2から読み出され
た可能性のある次の状態コストの極値は比較操作の際極
値として選択されると、レジスタa2内の可能性のある
次の状態コストの極値は変化せず、状態カウンタ100
が増分され、新たな可能性のある次の状態コストが計算
され、式(7)(8)の比較選択操作が繰り返される。
【0062】比較のためにレジスタa2から読み出され
た可能性のある次の状態コストの極値が式(8)の比較
操作の際に極値として選択されない場合には、レジスタ
a0から読み出された最も最近計算された次の状態コス
トが、レジスタa2に極値として書き込まれ前の極値を
上書きする。最も最近計算された次の状態コストが式
(8)の比較操作の際に、極値として選択された場合に
は、出力84は状態を変化(例えば論理ゼロから論理イ
チに変化)させ、状態カウンタ100に記憶された状態
カウンタの値には、極値インデックスレジスタ104に
送られる。
【0063】さらにまたトレースバックビットレジスタ
102内に記憶された値の最下位ビットにより表される
最も最近のトレースバックビットが、極値インデックス
レジスタ104にパックされることにより書き込まれそ
の結果パックされる。例えば極値インデックスレジスタ
104の低次ビットに書き込まれる。これにより極値イ
ンデックスレジスタ104内に情報を生成する。この情
報は、極値の次の状態コストのインデックスと、前のシ
ンボル時におけるどの状態が、極値の次の状態コストで
終端するブランチの枝元となるか、またその時のインデ
ックスが極値インデックスレジスタ104に保持されて
いるかを特定するために十分なトレースバック情報を識
別する。
【0064】極値の次の状態コストのインデックスとト
レースバックビットの両方をシングルレジスタ内にパッ
クする方法は、極値の次の状態コストのインデックスを
左側または右側1ビット位置だけシフトし、そしてトレ
ースバックビットをシフト操作に基づいて得られたビッ
ト位置に挿入することである。本発明は1ビット位置だ
け左側または右側にシフトすることに限定されるもので
はない。2以上のビットを左側または右側にシフトする
ことも本発明に含まれる。一般的に極値の次の状態コス
トのインデックスは、レジスタ内にパックされるべきト
レースバックビットの数に対応するビット数だけシフト
されるが本発明はそれに限定されるものではない。
【0065】式(8)の比較操作の後、状態カウンタ1
00は、例えば1だけ増分することにより更新される。
【0066】極値インデックスレジスタ104内に記憶
された情報は、シンボル時における極値インデックスと
トレースバック情報を識別する。この情報は別のメモリ
ロケーション、例えばバス108を介して書き込まれ、
その後トレースバック操作に用いられる。このトレース
バックビットは個別に記憶され、トレースバック操作と
メモリを保存するために記憶ワード毎のパックされた複
数のトレースバックビット用に用いられる。
【0067】最後のシンボル時において、式(8)の比
較が完了すると、極値インデックスレジスタ104はト
レースバック操作が開始できる状態のインデックスを含
み、これは次の前のシンボル時における状態を極値イン
デックスレジスタ104内でインデックスにより識別さ
れた極値の次の状態コストで終端した枝元ブランチとし
て特定する十分な情報と共に記憶する。
【0068】式(5)(6)の実行後、例えばパイプラ
インがフルになると、式(7)が繰り返し実行されるよ
うな比較−選択操作とソフト判定計算によりビタビ追加
−比較−選択操作の全体が完了する。式(8)に次の状
態コストの比較操作を含めることによりトレースバック
操作が開始された各シンボル時の状態を特定する。パイ
プラインが充填された状態においては、次の状態比較操
作は、式(8)を実行することにより1回のクロックサ
イクルで完了する。
【0069】本発明は通信システムに特に有効でこの技
術を用いた集積回路を用いる装置に適応できる。このよ
うな通信システムと装置は、二重加算プロセッサを用い
て1回のクロックサイクルで比較−選択操作を行う場合
に利点がある。比較操作を実行しながら、トレースバッ
クビットを記憶してトレースバック操作とソフト判定に
用いることは従来公知である。
【0070】本発明は第1状態で始まる次の状態蓄積コ
ストを比較するものとして記載したが、次の状態蓄積コ
ストが比較されるシーケンスの変更も可能である。
【0071】本発明はビタビ復号化装置における信号を
復号化するプロセスにおいて、極値の次の状態蓄積コス
トと関連インデックスを識別するのに有効として記載し
たが、本発明はそれに限定されるものではない。本発明
を用いて、例えば値の列に対し極値と関連インデックス
を特定することもできる。
【0072】「最も最近計算された次の状態コスト」の
ような量を計算する時間に対する基準あるいはシーケン
スは、本発明を説明するため明細書に開示されている。
次の状態コストのような量を計算するシーケンスは、様
々に変更可能であるが本発明内に含まれる。
【図面の簡単な説明】
【図1】2つの可能性のある現在の状態が1個の次の状
態に移ることを表す16の状態の例を表すビタビバタフ
ライを示す現在の状態と次の状態を示す図
【図2】本発明により用いられるデータ演算ユニットの
一部を表すブロック図
【図3】最大/最少選択回路とトレースバックビット蓄
積回路を含むデータ演算ユニットを表すブロック図
【符号の説明】
16 第1Xデータバス 18 第2Yデータバス 20 データ演算ユニット(DAU) 22 プロセッサ 24,28 乗算器 26,30 加算器 32,38,56,58 マルチプレクサ 34,40 入力レジスタ 36 フィードバックパス 42 交差マルチプレクサ 44,46,48,50 入力 52,54 積レジスタ 60 マルチプレクサ 62 アキュムレータファイル 64 レジスタ 66,68,74 ライン 70,72 飽和ブロック 図3 26 算術論理ユニット(ALU) 30 加算器 80,82,84 ライン 86 排他的ORゲート 88 1ビット入力セレクタ 90 選択入力 92 マルチプレクサ 100 カウントレジスタ 102 トレースバックビットレジスタ 104 極値インデックスレジスタ
フロントページの続き (73)特許権者 596077259 600 Mountain Avenue, Murray Hill, New J ersey 07974−0636U.S.A. (72)発明者 シヴァナンド シマナパッリ アメリカ合衆国,95050 カリフォルニ ア,サンタ クレア カウンティー,サ ンタ クレア,モンロー ストリート 2250 (72)発明者 ラリー アール.テイト アメリカ合衆国,60010 イリノイ,ク ック カウンティー,サウスバーリント ン,チッピング キャンプデン ドライ ブ 12 (56)参考文献 特開 平8−340263(JP,A) 特開 平10−107651(JP,A) 国際公開95/9391(WO,A1) (58)調査した分野(Int.Cl.7,DB名) H03M 13/00 G06F 11/10 330

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】 値のグループにおいて、極値と、インデ
    ックスとを識別する方法であって、各値は関連するイン
    デックスを有しており、該方法は、 カウントレジスタ(100)をあるカウントに初期化す
    るステップと、 グループからの値を算術論理ユニット(26)に入力す
    るステップと、 所定の値を算術論理ユニット(26)に入力するステッ
    プと、 グループからの値と所定の値とを算術論理ユニット(2
    6)内で比較するステップと、 最小値を選択する第1状態と最大値を選択する第2状態
    との一方にセレクタ(88)を設定するステップと、 算術論理ユニット(26)とセレクタ(88)とにおけ
    る比較により設定されたフラグ(84)に基づいて、グ
    ループからの値と所定の値との一方を極値として選択す
    るステップと、 シフトされたカウントレジスタのカウントを生成するた
    めにカウントレジスタのカウントをビットシフトするス
    テップと、 所定の値を極値でもって置換しかつセレクタが第1状態
    に設定され、グループからの値が所定値より小さいとき
    にカウントレジスタのシフトされたカウントを記憶する
    ステップと、 少なくとも1つのトレースバックビットをシフトされた
    カウントレジスタのカウントでパックするステップと、 からなることを特徴とする極値とインデックスとを識別
    する方法。
  2. 【請求項2】 値のグループにおいて、極値と、インデ
    ックスとを識別する方法であって、各値は関連するイン
    デックスを有しており、該方法は、 カウントするカウントレジスタ(100)を初期化する
    ステップと、 グループからの値を算術論理ユニット(26)に入力す
    るステップと、 所定の値を算術論理ユニット(26)に入力するステッ
    プと、 グループからの値と所定の値とを算術論理ユニット(2
    6)内で比較するステップと、 最小値を選択する第1状態と最大値を選択する第2状態
    との一方にセレクタ(88)を設定するステップと、 算術論理ユニット(26)とセレクタ(88)とにおけ
    る比較により設定されたフラグ(84)に基づいて、グ
    ループからの値と所定の値との一方を極値として選択す
    るステップと、 シフトされたカウントレジスタのカウントを生成するた
    めにカウントレジスタのカウントをビットシフトするス
    テップと、 所定の値を極値でもって置換しかつセレクタが第2状態
    に設定され、グループからの値が所定値より大きいとき
    にカウントレジスタのシフトされたカウントを記憶する
    ステップと、 少なくとも1つのトレースバックビットをシフトされた
    カウントレジスタのカウントでパックするステップと、 からなることを特徴とする極値と値のグループのインデ
    ックスとを識別する方法。
  3. 【請求項3】 カウントレジスタのカウントを変更する
    ステップと、 所定の値と比較するためにグループからの別の値を提供
    するステップとをさらに有することを特徴とする請求項
    1または2に記載の方法。
  4. 【請求項4】 前記方法は、パイプライン方式で行われ
    ることを特徴とする請求項1または2に記載の方法。
  5. 【請求項5】 前記ビットシフトするステップは、前記
    カウントレジスタのカウントを所定数のビット位置だけ
    シフトするステップをさらに有し、そして、 前記パックするステップは、所定数のビット位置に応じ
    て所定数のトレースバックビットをカウントレジスタの
    カウントをシフトすることにより得られたビット位置に
    挿入するステップをさらに有することを特徴とする請求
    項1または2記載の方法。
  6. 【請求項6】 前記シフトは、左側シフトであることを
    特徴とする請求項5記載の方法。
  7. 【請求項7】 前記シフトは、右側シフトであることを
    特徴とする請求項5記載の方法。
  8. 【請求項8】 ビット位置の所定数は、1であることを
    特徴とする請求項5記載の方法。
  9. 【請求項9】 ビット位置の所定数は、2であることを
    特徴とする請求項5記載の方法。
JP33315498A 1997-11-24 1998-11-24 インデックスを識別する方法 Expired - Lifetime JP3256505B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US6669397P 1997-11-24 1997-11-24
US60/066693 1997-11-24

Publications (2)

Publication Number Publication Date
JPH11330989A JPH11330989A (ja) 1999-11-30
JP3256505B2 true JP3256505B2 (ja) 2002-02-12

Family

ID=22071090

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33315498A Expired - Lifetime JP3256505B2 (ja) 1997-11-24 1998-11-24 インデックスを識別する方法

Country Status (2)

Country Link
JP (1) JP3256505B2 (ja)
TW (1) TW434505B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9785434B2 (en) * 2011-09-23 2017-10-10 Qualcomm Incorporated Fast minimum and maximum searching instruction

Also Published As

Publication number Publication date
JPH11330989A (ja) 1999-11-30
TW434505B (en) 2001-05-16

Similar Documents

Publication Publication Date Title
JP3256504B2 (ja) ソフトシンボル確信レベルの生成方法
JP3358996B2 (ja) 自動ビタビトレースバックビット格納機能を有する並列算術論理プロセッサ
US5946361A (en) Viterbi decoding method and circuit with accelerated back-tracing and efficient path metric calculation
US5559837A (en) Efficient utilization of present state/next state registers
KR980010751A (ko) 부동 소수점 하드웨어를 사용하여 마이크로프로세서 정수 나눗셈 연산을 실행하기 위한 방법 및 장치
US5742621A (en) Method for implementing an add-compare-select butterfly operation in a data processing system and instruction therefor
US5619514A (en) In-place present state/next state registers
JP2682264B2 (ja) プログラムカウンタ装置
US6272188B1 (en) Single-cycle accelerator for extremun state search
JP3850511B2 (ja) リードソロモン復号装置
US6009128A (en) Metric acceleration on dual MAC processor
JP3256505B2 (ja) インデックスを識別する方法
US7958437B2 (en) MAP detector with a single state metric engine
JPH04270415A (ja) 高性能加算器
KR100431576B1 (ko) 갈로아필드다항식승산/제산회로및그것을통합하는디지탈신호프로세서
JP3343217B2 (ja) 2ビットトレースバック符号化に対するビタビ比較・選択動作
US8006066B2 (en) Method and circuit configuration for transmitting data between a processor and a hardware arithmetic-logic unit
Osorio et al. New arithmetic coder/decoder architectures based on pipelining
JPH07245567A (ja) ビタビ復号演算装置
KR19990076528A (ko) 비터비 알고리즘 처리를 위한 가산 비교 선택 고속화 장치 및방법
JP3250363B2 (ja) 演算装置
JP2002521907A (ja) ビタビ復号器のための高速メトリック計算
JP4366867B2 (ja) Map復号装置
JP3237267B2 (ja) 演算装置
JP3269845B2 (ja) ヴィタビ復号器

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081130

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081130

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091130

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091130

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101130

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111130

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121130

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121130

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131130

Year of fee payment: 12

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term