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
Links
Landscapes
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Description
で信号を復号化するプロセスにおいて、グループ内の最
大値と最小値とその関連インデックスを見いだす方法に
関し、特に、シンボル時(symbol instant)において蓄
積コストの最小値または最大値とその関連状態を見いだ
す方法に関する。
ードエラー修正を与える最尤度デコーダである。ビタビ
復号化はビットストリームのような符号化シンボルのシ
ーケンスを復号化するのに用いられる。ビットストリー
ムはシンボル時(symbol instant)を表す各ビットの組
でもってシステム内の様々な媒体を介して伝送される符
号化情報を表す。ビタビ復号化法は、通信チャネルを介
してデジタル情報を通信するのに用いられ、その使用例
は、例えば人工衛星と地球の間,セルラ電話機,マイク
ロプロセッサとディスクとの間,モデム間のようなデジ
タル通信で用いられる。
ロプロセッサ,マイクロコントローラ,デジタル信号プ
ロセッサで実行される。ビタビ復号化は公知でその応用
例は、米国特許第5,490,178号,第5,45
4,014号,第5,559,837号,第5,46
5,275号,第5,471,500号,第5,14
4,644号,第4,493,082号に記載されてい
る。
ップからなる。(1)ブランチとパスのメトリック計算
(2)比較−選択操作と(3)最少または最大の状態コ
スト決定(4)トレースバック操作である。これにより
復号化されたシンボルを決定している。復号化プロセス
においては、ビタビデコーダは各シンボル時において、
可能性のあるビットシーケンスを介して戻り動作をし
て、どのビットシーケンスが送信された可能性が最も高
いかを決定する。
状態)から次のシンボル時(即ち次の状態)へ移り変わ
る可能性は限定されている。現在の状態から次の状態へ
の各遷移の可能性は、グラフでもって示すことができそ
れはブランチと称する。相互接続されたブランチのシー
ケンスはパスと称する。各状態はビットストリームにお
いて、次のビットを受信したときにある限られた数の次
の状態へ遷移することができるに過ぎない。
スの一部となり、別のブランチは生き残ることができな
い。生き残りが許されなかったこれらの遷移あるいはブ
ランチを削除することにより、生き残る可能性の大きな
パスを決定する際に計算効率が高められる。通常ビタビ
デコーダは、各ブランチに関連したブランチメトリック
を規定し、このブランチメトリックを用いてどのパスが
生き残り、どのパスが生き残らないかを決定する。
性決定のために各シンボル時に計算される。各パスは関
連するメトリック即ち蓄積コストを有し、各シンボル時
に更新される。各遷移の可能性を決定するために、次の
状態の蓄積コストがブランチメトリックとこのブランチ
メトリックの現在の状態におけるパスの蓄積コストの和
として計算される。最大値または最小値のような極値が
選択される。
シンボル時から次のシンボル時への遷移を生き残らせ、
この生き残ったパスを通したトレースバック操作を用い
て送信された可能性が最大であるビットシーケンスを選
択する。この連続的なシンボル時はトレリスと称する列
で表される。あるシンボル時で開始した極値の蓄積コス
トパスを特定することを「トレースバック操作」と称す
る。
を介して戻るシンボル時の数は、トレースバック操作の
長さ即ち「トレースバック深さ」と称する。トレースバ
ック操作の終了時においては、極値の蓄積コストで発生
した生き残りパスに関連するトレリス内の個々の状態
は、そのシンボル時において送信された可能性の最も高
いビットに変換される。このビットまたはビットグルー
プは「復号化シンボル」と称する。
ようなビタビ復号化を採用する通信アプリケーションに
おいては、2つの可能性のある現在の状態が1個の次の
状態に移る即ち分岐することができ、1個のビットで2
つの可能性のあるブランチのうちのいずれかが次の状態
に移るかを決定するのに十分である。
は、受信したデジタル信号をビタビ復号化するに際し蓄
積コストの極値(最大値または最小値)を特定する方法
を提供するものである。
関連インデックスを有する値のグループ内のインデック
スを識別する方法である。カウントレジスタが初期値に
初期化される。グループからの値と所定の値とが算術論
理ユニットとマルチプレクサに同時に与えられる。グル
ープからの値と所定値は、算術論理ユニット内で比較さ
れる。セレクタが第1論理状態または第2論理状態の一
方に設定される。
を選択し、第2論理状態においてはセレクタは最大値を
選択する。グループからの値と所定値の一方は、算術論
理ユニットとセレクタ内での比較により設定されたフラ
グに基づいて極値として選択される。
タのカウントは、セレクタが第1状態に設定され値が所
定値以下のときに記憶される。所定値は極値で置換さ
れ、カウントレジスタのカウント数はセレクタが第2状
態に設定され、値が所定値以上のときに記憶される。
結果16個の状態が発生する)のビタビバタフライを表
す2つの可能性のある現在の状態が次の状態に移り変わ
る線図を示す。図1において、状態は十進法と二進法の
両方で示されているが本明細書においては、状態はいず
れでも指定するものとする。シングルビット0が入力さ
れ右側へシフトすると、第1の2つの現在の状態PS0
:0000またはPS1 :0001のいずれかが、現
在の状態の最終(右側)ビットがシフトアウトされるこ
とにより、次の状態NS0 :0000に遷移する。
ンチ)が示されているわけではないが、シングルビット
入力と16個の現在の状態のあらゆる組み合わせが次の
各16個の状態に遷移する2つのブランチを表してい
る。言い換えると、16個の次の状態の各々は、現在の
状態がシングルビット入力の全ての組み合わせを受信す
ると、次の状態に移る2つの現在の状態を有する。かく
して図1に示す16個の状態の例においては、現在の状
態から次の状態に移る32個のブランチの可能性があ
る。図1では32個のブランチのうちの一部のみを示し
たものである。
チメトリックを有する。ここでiはブランチの現在の状
態を表しjは次の状態を表す。現在の状態はi番目の現
在の状態に関連する蓄積コストPSi を有し(ここで
i=0,1,2,…,15)、この蓄積コストPSi
は現在の状態までのパス内の全てのブランチのうちの生
き残ったブランチに関連するブランチメトリックの和で
ある。次の状態のNSj に対する蓄積コストメトリッ
クは、i番目の現在の状態に関連する現在の状態の蓄積
コストPSi と、例えばユークリッド距離またはハミ
ング距離(マンハッタン距離とも称する)に基づくブラ
ンチメトリックmijの1つとの和である。
端する2つのブランチメトリックmijが計算されそし
て現在の状態の蓄積コストに加算され、そして比較され
るべき2つの可能性のある次の状態コストを生成する。
この可能性のある次の状態コストの極値(最大値または
最小値)が、比較操作で可能性のある次の状態コストメ
トリックが極値である次の状態に関連する次の状態コス
トとして選択される。極値メトリックに関連した現在の
状態から次の状態への遷移は生き残りパス内のブランチ
である。
の状態に関連する次の状態コストである。現在の状態か
らシフトアウトするビットは、生き残りブランチのトレ
ースバックパスを再構成する際に用いられるトレースバ
ックビットとして記憶される。全ての現在の状態に関連
する同様な計算結果は、各次の状態に関連するトレース
バックビットの蓄積と全ての次の状態の蓄積コストの更
新となる。かくしてメトリックm00が極値の一部を含
む場合には、ゼロがシングルビットトレースバックとし
て記憶され、メトリックm10が極値の一部を含む場合
には1がトレースバックビットとして記憶される。
トリックが計算され、元のブランチメトリックに関連し
たそれぞれの現在の状態のコストに加えられ、2つの可
能性のある次の状態コストPNS00,PNS10を生
成する。この2つの可能性のある次の状態のコストメト
リックが図2に示すようなデータ演算ユニット20内で
計算され、2つの可能性のある次の状態コストの極値が
選択される。このデータ演算ユニット20の例として
は、マイクロプロセッサ,マイクロコントローラ,デジ
タル信号プロセッサである。
ニット(DAU)20の一部を示すブロック図である。
集積回路は、移動デジタルセルラホーンのような通信シ
ステム内の受信器の一部である。DAU20はプロセッ
サ22の一部である。このプロセッサ22はマイクロコ
ントローラ,マイクロプロセッサ,またはデジタル信号
プロセッサである。DAU20は少なくとも2つの乗算
−蓄積パスを有する。乗算器24と加算器26が第1の
乗算−蓄積パスを、乗算器28と加算器30が第2の乗
算−蓄積パスを形成する。
ス(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倍を意味する。
入力を第2の入力レジスタ40への入力として選択す
る。この第2の入力レジスタ40は、yレジスタとも称
する。第2の入力レジスタ40は、高部分yhと低部分
ylに分割される。高部分と低部分それぞれはn個のビ
ットを含む。同様に第2の入力レジスタ40は、高部分
と低部分を有する2nビットレジスタである。マルチプ
レクサ38は、第2データバス(Yデータバスとも称す
る)18と、加算器26,30の出力からのフィードバ
ックパス36に接続される。
部分からのビットと第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の各々の高半分と低半分の各々に多重化される。
レジスタ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の内容を入力として受け取る。
スタ64を有する。レジスタ64は高部分と低部分によ
りアクセス可能な2nビットレジスタでもある。アキュ
ムレータファイル62の出力は、ライン66によりマル
チプレクサ56と加算器26へ入力され、またライン6
8によりマルチプレクサ58と加算器30に入力され
る。
入力される。加算器26からの和出力は飽和ブロック7
0によりオーバーフローの間極値に出力を制限し、そし
てマルチプレクサ60を介してマルチプレクサ32,3
8の入力に接続される。マルチプレクサ60は加算器2
6または30のいずれかの出力をアキュムレータファイ
ル62内のレジスタ64に与える。
入力を適切な出力として選択するためにプロセッサアー
キテクチャ(図示せず)の制御部分内の指示デコーダに
より設定される。
入力を有する加算器であり、加算器26は少なくとも2
個の入力を有する。各加算器26と30は、加算器入力
の組み合わせの和出力を生成する。さらにまたこれら加
算器26と30の一方または両方は、スプリット加算器
である。このスプリット加算器とは、例えば2つの演算
子の高次ビットと2つの演算子の低次ビットを組み合わ
せることにより2つの加算または2つの減算を実行す
る。加算器26は加算器として示されているが、加算器
26は論理操作および加算操作,減算操作を実行できる
算術論理ユニットでもよい。
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への入力としてあるいはその両方に与えられ
る。
ータファイル62のレジスタ64からの出力としてライ
ン66により与えられる。言い換えると、加算器26へ
の一方の入力は、アキュムレータファイル62の出力か
ら直接与えられるが、他方の入力はマルチプレクサ56
を介して与えられる。同様に加算器30への2つの入力
は、アキュムレータファイル62のレジスタ64からの
出力としてライン68を介して与えられる。加算器30
への第1入力は、アキュムレータファイル62のレジス
タ64の出力に直接接続されているが、加算器30への
第2入力は、マルチプレクサ58を介してライン68に
より接続される。
に示したデータ演算ユニット(DAU)内で行われる。
この信号処理は、(1)ブランチとパスメトリックの計
算、(2)比較−選択操作、(3)コストの極値(最小
値または最大値)の決定、(4)トレースバック操作の
ステップを含む。データ演算ユニット(DAU)20
は、トランシーバの一部の場合には、ビタビ復号化を行
う際に、パイプラインで操作する場合には本発明による
一回のクロックサイクルで以下のステップを行う。
コストの一方を2つの可能性のある次の状態蓄積コスト
の極値として特定するために、比較−選択操作を実行す
ることを含む。
プをデータ演算ユニット(DAU)20が同時に実行す
るようなインストラクションを議論する前に、パイプラ
イン操作のインストランクションについて先ず説明す
る。パイプライン処理は、前のデータセットでの計算を
完了する前に新たなデータセットの計算を開始すること
により行われる。パイプライン処理で使用されるラッチ
の数が増えると、パイプライン処理の深さも大きくな
る。
るのに必要な計算時間の初期遅延が発生するが、加算器
のような資源の使用状態を最大にできる。次式(1)〜
(4)は、パイプラインを埋めることを示す。パイプラ
インが一旦埋められると、式(5)〜(8)が繰り返し
実行され、ビタビ復号化のメトリック計算と加算−比較
−選択操作が行われる。新たに受信したシンボルは、必
要により式(1)に従ってロードされる。
受信したシンボルをアキュムレータファイル62とレジ
スタa5にロードする。式(2)では、予測したシンボ
ルを第2の入力レジスタ40にロードする。この入力レ
ジスタ40は、yレジスタとも称するものである。
された受信シンボルと、式(2)でロードされた予測シ
ンボルとの間の同相と直交相の差を計算する。式(4)
では、新たな予測シンボルを第2の入力レジスタ40に
ロードする。
ンボルと式(3)の予測シンボルとの間の同相と直交相
の差を計算する。式(3)で計算された同相と直交の差
は、積レジスタ52(レジスタp0)と積レジスタ54
(レジスタp1)内で自乗され記憶される。新たに予測
されたシンボルが第2の入力レジスタ40内にロードさ
れる。現在の状態のコストがアキュムレータファイル6
2のレジスタa4h内にロードされる。このシーケンス
は、式(5)〜(8)に表される繰り返し計算用のパイ
プラインを埋める。
イプラインを再初期化するために、式(1)〜(4)の
実行が必要となる。式(7)は、比較−選択の指示(イ
ンストラクション)であり、2つの可能性のある次の状
態コスト(1つは式(5)により計算され、他方は式
(6)により計算され)を比較し、極値(最大値または
最小値)を選択し、そして式(5),(6)により計算
された2つの可能性のある次の蓄積コストの間の差をソ
フト判定として計算し、そのソフト判定をレジスタa1
に記憶する。
U20は上記に挙げられたステップを同時に実行する。
その式(5)(6)の代表例を式(8)として示す。
でパイプライン環境においては、式(8)の全ての機能
を同時に実行する。
ことを仮定している。式(9)の右側から始まり現在の
状態のコストPS(1)がXデータバス16から取り出
され、レジスタ64の高部分(レジスタa4)内にロー
ドされる。
ボルe(3)は、Yデータバス18から取り出され、マ
ルチプレクサ38に入力されて第2の入力レジスタ40
内に記憶される。例えば、同相の予測シンボルe
I(3)は第2の入力レジスタ40の高部分yh内に記
憶され、直交相予測シンボルeQ(3)は第2の入力レ
ジスタ40の低部分yl内に記憶される。予測シンボル
は、またライン74により加算器26に入力される。
リックの例を次に示す。直交相の受信したシンボルと予
測シンボルとの間の差は、パイプラインで前のクロック
サイクルで計算され、第1の入力レジスタ34の低部分
xl内に記憶され、そして自乗される。第1の入力レジ
スタ34の低部分xlは、交差マルチプレクサ42によ
り乗算器28の入力48と50の両方に与えられる。直
交した受信シンボルX Q(n)と予測シンボルとの間の
差は乗算器28内で自乗され、積レジスタ54内にp1
として記憶される。その計算された量は次式で表され
る。[XQ(n)−eQ(l)]2
との間の差は、パイプラインで前のクロックサイクルで
計算され、第1の入力レジスタ34内の高部分xh内に
記憶されそして自乗される。第1の入力レジスタ34の
高部分xhは乗算器24の入力44と46の両方に交差
マルチプレクサ42を介して与えられる。同相の受信シ
ンボルと予測シンボルとの間の差は乗算器24内で自乗
され、積レジスタ52に記憶されてレジスタp0として
指定される。その計算された量は次式で表される。 [XI(n)−eI(l)]2
ジスタファイル62内に記憶された現在の状態コストで
あるレジスタa4に乗算器24,28により生成され積
レジスタ52,54により記憶された自乗差を加えるこ
とにより次の状態コストを生成するために更新される。
アキュムレータファイル62のレジスタa4は、ライン
68により加算器30への第1入力を与える。積レジス
タ52と第2の入力レジスタ40は、マルチプレクサ5
8により加算器30に第2入力を与える。
直接別の入力を与える。加算器30は自乗差を現在の状
態コストに加えて、第1の可能性のある次の状態コスト
NS(0)1 を生成する。その量は次式で表される。 PNS00=PS(0)+[XI(n)−eI(0)]2+[XQ
(n)−eQ(0)]2 第1の可能性のある次の状態コストは、加算器30から
の和出力で、これはアキュムレータファイル62のレジ
スタa0に記憶される。
ータ62のレジスタa5に記憶される。受信したシンボ
ルの同相部分は、レジスタa5の高部分内に記憶され、
受信したシンボルの直交相部分は、レジスタa5の低部
分に記憶される。この受信したシンボルは、加算器26
の入力にライン66を介して与えられる。加算器26
は、2つの別のnビットの加算と減算操作を行うことが
でき、低エンドビット(lower end bit)上でと高エン
ドビット(upper end bit)上で行う。加算器26は、
スプリット加算器として機能し、低部分で受信したシン
ボルと予測シンボルとの直交部分の差と、高部分で受信
したシンボルと予測したシンボルの同相部分の差を計算
する。
間の差は、第1の入力レジスタ34にフィードバックパ
ス36を介し、フィードバックパス36とマルチプレク
サ32を介して入力される(別のメトリック計算の準備
用)。これはブランチメトリック計算と称する。フィー
ドバックパス36により加算器26または30のいずれ
かの出力が、第1の入力レジスタ34または第2の入力
レジスタ40のいずれかの高部分または低部分のいずれ
か内にラッチされる。このようにして加算器26,30
からのフィードバックパス36を用いて、2つのブラン
チメトリックを同時に計算する。加算器30は、2つの
ブランチメトリックと現在の状態コストとを加算するこ
とによりパスメトリックを計算する。
状態コストを計算し、この第1の可能性のある次の状態
コストをアキュムレータファイル62のレジスタa0に
記憶する。式(6)は、特に第2の可能性のある次の状
態コストを計算し、この第1の可能性のある次の状態コ
ストをアキュムレータファイル62のレジスタa1に記
憶する。式(7)を実行すると、DAU20はソフト判
定確信レベルを計算するステップと比較−選択操作を実
行するステップを同時に実行して、式(5)(6)で計
算された2つの可能性のある次の状態コストの1つを次
の状態コストの極値として特定する。
次の状態コストは、加算器30の第1入力に加えられ、
式(6)で計算された第2の可能性のある次の状態コス
トは、加算器30の第2入力に加えられる。加算器30
への第3入力はゼロに設定される。加算器30により計
算され、加算器30から出力される2つの可能性のある
次の状態コストの間の差はソフト判定確信レベルであ
り、これはアキュムレータファイル62のレジスタa1
に記憶される。加算器30内でのソフト判定確信レベル
の計算と同時に式(5)(6)で計算された可能性のあ
る次の状態コストは、加算器26への2つの入力として
与えられる、この加算器26は算術論理ユニットとして
機能する。
は、この実施例においては大きい方かあるいは小さい方
のいずれかであるが、極値ビットを設定することにより
選択される。可能性のある次の状態コストの極値は、次
の状態コストとして選択され、アキュムレータファイル
62のレジスタa0に記憶される。式(5)〜(8)
は、次の状態で終端するブランチメトリックを有するシ
ンボル時の現在の状態の各対に対し、繰り返し計算さ
れ、これは図1のビタビバタフライで示されている。
トリックが計算され、そしてこのブランチメトリックの
枝元に関連したそれぞれの現在の状態のコストに加えら
れて、式(5)(6)で2つの可能性のある次の状態コ
ストPNS00とPNS01を生成し、これをアキュム
レータファイル62のレジスタa0とレジスタa1に記
憶する。この2つの可能性のある次の状態のコストメト
リックは、DAU20内で対称的に比較され、これを図
3に示すが、そしてこの2つの可能性のある次の状態の
コストの極値を選択する。
トの数は16である。次の状態の蓄積コストの極値は、
所定長のトレースバックが開始されトレースバックの終
了時においてシンボル時のシンボルを復号化する現在の
シンボル時における状態として認識される。各シンボル
時においては、トレースバック操作が開始されるべき状
態は、次の状態の蓄積コストの全てを生成し、それらを
比較して極値(最大値または最小値)の次の状態コスト
を識別し、その関連状態を特定することにより決定され
る。
は、生成されたまま、次の状態コストの現在の極値と比
較される。この次の状態コストの現在の極値には、この
次の状態コストの現在の極値の関連状態により表される
インデックスが付されている。後者の方法はを説明する
が、後者の説明をすることにより容易に前者の方法の理
解が可能となるためである。
に、状態カウンタ100と現在の極値レジスタa2を初
期化する。通常、状態カウンタ100は、ゼロに初期化
されるが、これはゼロをレジスタに書き込むことにより
行われる。現在の極値レジスタa2を初期化する方法
は、次の状態コストの所望の極値が最小値かまたは最大
値かに依存する。次の状態コストの極値を最小値とする
ためには、非常に大きな値(例、現在の極値レジスタ内
に記憶可能な最大値)が現在の極値レジスタa2に書き
込まれる。
込むことにより、第1状態に関連する次の状態の蓄積コ
ストが極値レジスタa2内に記憶されている値と比較さ
れると、第1状態に関連した次の状態コストが現在の極
値として選択され、極値レジスタa2に書き込まれる。
同様に次の状態蓄積コストの極値を最大値と認定するた
めには、非常に小さな値(現在の極値レジスタ内に記憶
可能な最小値)が初期化の間現在の極値レジスタa2に
書き込まれる。
と、式(7)の実行によりレジスタa0内に記憶された
最も最近決定された次の状態コストが、現在の極値レジ
スタa2内に保持された値と比較される。この比較は、
レジスタa0からの次の状態コストと現在の極値レジス
タa2内に保持された値とを、同時に算術論値ユニット
(ALU)26への入力にライン80とライン82を介
して与えることにより行われる。ALU26は、この2
つの入力を差を計算することにより比較する。ALU2
6の差の符号フラグは、ライン84を介して極値レジス
タ104へ入力される。差の符号フラグは、ALU26
への2つの入力のうちどちらの入力が極値として選択さ
れたかを示す。
Rゲート86に与えられる。ワンビット入力セレクタ8
8は、ALU26内で比較されている2つの入力の小さ
い方の入力または大きい方の入力のいずれかを選択する
ために第1状態と第2状態の一方を採る。小さい方の入
力をMUX92への入力として選択することは、最少の
次の状態コストを次の状態コストの極値として選択する
ことに対応し、大きい方の入力をMUX92への入力と
して選択することは、最大の次の状態コストを次の状態
コストの極値として選択することに対応する。
1状態のミニ/マックスセレクタは、小さい方の入力を
選択し、論理ゼロ(0)のような第2状態のミニ/マッ
クスセレクタは、MUX92に対し大きい方の入力を選
択するよう指示する。MUX92は、2つの入力のうち
の一方を次の状態コストの極値として選択し、この選択
された極値を次の状態コストをレジスタa2に記憶す
る。
はレジスタa0内に記憶された可能性のある次の状態コ
ストのインデックスを追跡する。状態カウンタ100が
例えばゼロ(インデックスのカウントの仕方によっては
イチ)に初期化されると、シンボル時の増分が行われ
る。式(8)の比較と選択操作は、レジスタa0内に記
憶されている最も最近計算された可能性のある次の状態
コストと、レジスタa2内に記憶されているそのシンボ
ル時の前に計算された次の状態コストの極値(または初
期化された極値)とを比較する。この極値は状態カウン
タ100内にインデックスを有する、そしてその極値を
レジスタa2に書き込む。
た可能性のある次の状態コストの極値は比較操作の際極
値として選択されると、レジスタa2内の可能性のある
次の状態コストの極値は変化せず、状態カウンタ100
が増分され、新たな可能性のある次の状態コストが計算
され、式(7)(8)の比較選択操作が繰り返される。
た可能性のある次の状態コストの極値が式(8)の比較
操作の際に極値として選択されない場合には、レジスタ
a0から読み出された最も最近計算された次の状態コス
トが、レジスタa2に極値として書き込まれ前の極値を
上書きする。最も最近計算された次の状態コストが式
(8)の比較操作の際に、極値として選択された場合に
は、出力84は状態を変化(例えば論理ゼロから論理イ
チに変化)させ、状態カウンタ100に記憶された状態
カウンタの値には、極値インデックスレジスタ104に
送られる。
102内に記憶された値の最下位ビットにより表される
最も最近のトレースバックビットが、極値インデックス
レジスタ104にパックされることにより書き込まれそ
の結果パックされる。例えば極値インデックスレジスタ
104の低次ビットに書き込まれる。これにより極値イ
ンデックスレジスタ104内に情報を生成する。この情
報は、極値の次の状態コストのインデックスと、前のシ
ンボル時におけるどの状態が、極値の次の状態コストで
終端するブランチの枝元となるか、またその時のインデ
ックスが極値インデックスレジスタ104に保持されて
いるかを特定するために十分なトレースバック情報を識
別する。
レースバックビットの両方をシングルレジスタ内にパッ
クする方法は、極値の次の状態コストのインデックスを
左側または右側1ビット位置だけシフトし、そしてトレ
ースバックビットをシフト操作に基づいて得られたビッ
ト位置に挿入することである。本発明は1ビット位置だ
け左側または右側にシフトすることに限定されるもので
はない。2以上のビットを左側または右側にシフトする
ことも本発明に含まれる。一般的に極値の次の状態コス
トのインデックスは、レジスタ内にパックされるべきト
レースバックビットの数に対応するビット数だけシフト
されるが本発明はそれに限定されるものではない。
00は、例えば1だけ増分することにより更新される。
された情報は、シンボル時における極値インデックスと
トレースバック情報を識別する。この情報は別のメモリ
ロケーション、例えばバス108を介して書き込まれ、
その後トレースバック操作に用いられる。このトレース
バックビットは個別に記憶され、トレースバック操作と
メモリを保存するために記憶ワード毎のパックされた複
数のトレースバックビット用に用いられる。
較が完了すると、極値インデックスレジスタ104はト
レースバック操作が開始できる状態のインデックスを含
み、これは次の前のシンボル時における状態を極値イン
デックスレジスタ104内でインデックスにより識別さ
れた極値の次の状態コストで終端した枝元ブランチとし
て特定する十分な情報と共に記憶する。
インがフルになると、式(7)が繰り返し実行されるよ
うな比較−選択操作とソフト判定計算によりビタビ追加
−比較−選択操作の全体が完了する。式(8)に次の状
態コストの比較操作を含めることによりトレースバック
操作が開始された各シンボル時の状態を特定する。パイ
プラインが充填された状態においては、次の状態比較操
作は、式(8)を実行することにより1回のクロックサ
イクルで完了する。
術を用いた集積回路を用いる装置に適応できる。このよ
うな通信システムと装置は、二重加算プロセッサを用い
て1回のクロックサイクルで比較−選択操作を行う場合
に利点がある。比較操作を実行しながら、トレースバッ
クビットを記憶してトレースバック操作とソフト判定に
用いることは従来公知である。
ストを比較するものとして記載したが、次の状態蓄積コ
ストが比較されるシーケンスの変更も可能である。
復号化するプロセスにおいて、極値の次の状態蓄積コス
トと関連インデックスを識別するのに有効として記載し
たが、本発明はそれに限定されるものではない。本発明
を用いて、例えば値の列に対し極値と関連インデックス
を特定することもできる。
ような量を計算する時間に対する基準あるいはシーケン
スは、本発明を説明するため明細書に開示されている。
次の状態コストのような量を計算するシーケンスは、様
々に変更可能であるが本発明内に含まれる。
態に移ることを表す16の状態の例を表すビタビバタフ
ライを示す現在の状態と次の状態を示す図
一部を表すブロック図
積回路を含むデータ演算ユニットを表すブロック図
Claims (9)
- 【請求項1】 値のグループにおいて、極値と、インデ
ックスとを識別する方法であって、各値は関連するイン
デックスを有しており、該方法は、 カウントレジスタ(100)をあるカウントに初期化す
るステップと、 グループからの値を算術論理ユニット(26)に入力す
るステップと、 所定の値を算術論理ユニット(26)に入力するステッ
プと、 グループからの値と所定の値とを算術論理ユニット(2
6)内で比較するステップと、 最小値を選択する第1状態と最大値を選択する第2状態
との一方にセレクタ(88)を設定するステップと、 算術論理ユニット(26)とセレクタ(88)とにおけ
る比較により設定されたフラグ(84)に基づいて、グ
ループからの値と所定の値との一方を極値として選択す
るステップと、 シフトされたカウントレジスタのカウントを生成するた
めにカウントレジスタのカウントをビットシフトするス
テップと、 所定の値を極値でもって置換しかつセレクタが第1状態
に設定され、グループからの値が所定値より小さいとき
にカウントレジスタのシフトされたカウントを記憶する
ステップと、 少なくとも1つのトレースバックビットをシフトされた
カウントレジスタのカウントでパックするステップと、 からなることを特徴とする極値とインデックスとを識別
する方法。 - 【請求項2】 値のグループにおいて、極値と、インデ
ックスとを識別する方法であって、各値は関連するイン
デックスを有しており、該方法は、 カウントするカウントレジスタ(100)を初期化する
ステップと、 グループからの値を算術論理ユニット(26)に入力す
るステップと、 所定の値を算術論理ユニット(26)に入力するステッ
プと、 グループからの値と所定の値とを算術論理ユニット(2
6)内で比較するステップと、 最小値を選択する第1状態と最大値を選択する第2状態
との一方にセレクタ(88)を設定するステップと、 算術論理ユニット(26)とセレクタ(88)とにおけ
る比較により設定されたフラグ(84)に基づいて、グ
ループからの値と所定の値との一方を極値として選択す
るステップと、 シフトされたカウントレジスタのカウントを生成するた
めにカウントレジスタのカウントをビットシフトするス
テップと、 所定の値を極値でもって置換しかつセレクタが第2状態
に設定され、グループからの値が所定値より大きいとき
にカウントレジスタのシフトされたカウントを記憶する
ステップと、 少なくとも1つのトレースバックビットをシフトされた
カウントレジスタのカウントでパックするステップと、 からなることを特徴とする極値と値のグループのインデ
ックスとを識別する方法。 - 【請求項3】 カウントレジスタのカウントを変更する
ステップと、 所定の値と比較するためにグループからの別の値を提供
するステップとをさらに有することを特徴とする請求項
1または2に記載の方法。 - 【請求項4】 前記方法は、パイプライン方式で行われ
ることを特徴とする請求項1または2に記載の方法。 - 【請求項5】 前記ビットシフトするステップは、前記
カウントレジスタのカウントを所定数のビット位置だけ
シフトするステップをさらに有し、そして、 前記パックするステップは、所定数のビット位置に応じ
て所定数のトレースバックビットをカウントレジスタの
カウントをシフトすることにより得られたビット位置に
挿入するステップをさらに有することを特徴とする請求
項1または2記載の方法。 - 【請求項6】 前記シフトは、左側シフトであることを
特徴とする請求項5記載の方法。 - 【請求項7】 前記シフトは、右側シフトであることを
特徴とする請求項5記載の方法。 - 【請求項8】 ビット位置の所定数は、1であることを
特徴とする請求項5記載の方法。 - 【請求項9】 ビット位置の所定数は、2であることを
特徴とする請求項5記載の方法。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9785434B2 (en) * | 2011-09-23 | 2017-10-10 | Qualcomm Incorporated | Fast minimum and maximum searching instruction |
-
1998
- 1998-11-23 TW TW87119390A patent/TW434505B/zh not_active IP Right Cessation
- 1998-11-24 JP JP33315498A patent/JP3256505B2/ja not_active Expired - Lifetime
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 |