A method of generating a soft symbol confidence level

申请号 JP33315398 申请日 1998-11-24 公开(公告)号 JP3256504B2 公开(公告)日 2002-02-12
申请人 ルーセント テクノロジーズ インコーポレイテッド; 发明人 シマナパッリ シヴァナンド; アール テイト ラリー;
摘要
权利要求 (57)【特許請求の範囲】
  • 【請求項1】 受信信号を復号化する際に使用されるソフトシンボル確信レベルを生成する方法であって、 第1の可能性のある次の状態蓄積コストPNS 00を第1
    の加算器(26)と第2の加算器(30)に対して同時に与えるステップと、 第2の可能性のある次の状態蓄積コストPNS 01を、
    該第1の加算器(26)と該第2の加算器(30)に対して同時に与えるステップと、 該第1の可能性のある次の状態蓄積コスト(PN
    00 )と、第2の可能性のある次の状態蓄積コスト(PSN 01 )とを、該第1の加算器(26)内で比較するステップと、 該第1の加算器(26)内での比較と同時に、該第1の可能性のある次の状態の蓄積コスト(PNS 00 )と、該第2の可能性のある次の状態の蓄積コスト(PNS 01
    との間の差を、該第2の加算器(30)内でソフトシンボル確信レベルとして見いだすステップと、 該第1の加算器(26)内での比較により設定されたフラグに基づいて、該第1の可能性のある次の状態蓄積コスト(PNS 00 )と、該第2の可能性のある次の状態の蓄積コスト(PNS 01 )のうちの一方を極値として選択するステップとを含むことを特徴とするソフトシンボル確信レベルを生成する方法。
  • 【請求項2】 前記極値が、最大値である請求項1に記載の方法。
  • 【請求項3】 前記極値が、最小値である請求項1に記載の方法。
  • 【請求項4】 前記ソフトシンボル確信レベルの計算と同時に少なくとも1個のトレースバックビットを記憶するステップ(94,96,18)をさらに含む請求項1
    に記載の方法。
  • 【請求項5】 ソフトシンボル確信レベルを記憶するステップをさらに含む請求項1に記載の方法。
  • 【請求項6】 前記第1の加算器(26)が算術論理ユニットである請求項1に記載の方法。
  • 【請求項7】 前記ソフトシンボル確信レベルが、パイプライン方式にて計算されるものである請求項1に記載の方法。
  • 【請求項8】 複号器において、ソフトシンボル確信レベルを生成するための回路であって、 第1の可能性のある次の状態蓄積コスト(PNS 00
    と、第2の可能性のある次の状態蓄積コスト(PNS
    01 )とを受信する第1の加算器(26)および第2の加算器(30)であって該第1及び第2の可能性のある次の状態蓄積コストを比較する第1の加算器(26)、
    および該第1の加算器内におけるコストの比較と同時に該第1及び第2の可能性のある次の状態蓄積コストの間の差をソフトシンボル確信レベルとして見い出す第2の加算器(30)と、 該第1の加算器の比較により設定されたフラグ(84)
    に基づいて、該第1の可能性のある次の状態蓄積コストと、該第2の可能性のある次の状態蓄積コストのうちの一方を極値として選択するセレクタとを含むことを特徴とするソフトシンボル確信レベルの生成回路。
  • 【請求項9】 少なくとも1つのトレースバックビットを記憶するレジスタ(98)をさらに含む請求項8に記載の回路。
  • 【請求項10】 レジスタ当たり複数のトレースバックビットをパックするシフトレジスタ(94)をさらに含む請求項9に記載の回路。
  • 【請求項11】 第1の加算器(26)が、算術論理ユニットである請求項8に記載の回路。
  • 【請求項12】 前記回路が、集積回路で製作されるものである請求項8に記載の回路。
  • 【請求項13】 前記集積回路が、デジタル信号プロセッサ,マイクロプロセッサ,マイクロコントローラのいずれかである請求項12記載の回路。
  • 【請求項14】 前記集積回路が、マイクロプロセッサである請求項12記載の回路。
  • 【請求項15】 前記集積回路がマイクロコントローラーである請求項12に記載の回路。
  • 说明书全文

    【発明の詳細な説明】

    【0001】

    【発明の属する技術分野】本発明は、ビタビ復号化法に関し、特に少なくとも2つの加算器を有するプロセッサを用いた単一サイクルソフト判定の比較−選択操作に関する。

    【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号に記載されている。 最後の3件の特許は、ソフトシンボル復号化を用いたビタビ復号化方法を開示している。

    【0004】ビタビ復号化プロッセスは次の4つのステップからなる。 (1)ブランチとパスのメトリック計算(2)比較−選択操作と(3)最少または最大の状態コスト決定(4)トレースバック操作である。 これにより復号化されたシンボルを決定している。 復号化プロセスにおいては、ビタビデコーダは各シンボル時において、
    可能性のあるビットシーケンスを介して戻り動作をして、どのビットシーケンスが送信された可能性が最も高いかを決定する。

    【0005】あるシンボル時における状態(即ち現在の状態)から次のシンボル時(即ち次の状態)へ移り変わる可能性は限定されている。 現在の状態から次の状態への各遷移の可能性は、グラフでもって示すことができそれはブランチと称する。 相互接続されたブランチのシーケンスはパスと称する。 各状態はビットストリームにおいて、次のビットを受信したときにある限られた数の次の状態へ遷移することができるに過ぎない。

    【0006】このためあるブランチは生き残りそしてパスの一部となり、別のブランチは生き残ることができない。 生き残りが許されなかったこれらの遷移あるいはブランチを削除することにより、生き残る可能性の大きなパスを決定する際に計算効率が高められる。 通常ビタビデコーダは、各ブランチに関連したブランチメトリックを規定し、このブランチメトリックを用いてどのパスが生き残り、どのパスが生き残らないかを決定する。

    【0007】ブランチメトリックは、各ブランチの可能性決定のために各シンボル時に計算される。 各パスは関連するメトリック即ち蓄積コストを有し、各シンボル時に更新される。 各遷移の可能性を決定するために、次の状態の蓄積コストがブランチメトリックとこのブランチメトリックの現在の状態におけるパスの蓄積コストの和として計算される。 最大値または最小値のような極値が選択される。

    【0008】数個のブランチおよび数個のパスが、あるシンボル時から次のシンボル時への遷移を生き残らせ、
    この生き残ったパスを通したトレースバック操作を用いて送信された可能性が最大であるビットシーケンスを選択する。 この連続的なシンボル時はトレリスと称する列で表される。 あるシンボル時で開始した極値の蓄積コストパスを特定することを「トレースバック操作」と称する。

    【0009】蓄積コストが極値のパスが延びるトレリスを介して戻るシンボル時の数は、トレースバック操作の長さ即ち「トレースバック深さ」と称する。 トレースバック操作の終了時においては、極値の蓄積コストで発生した生き残りパスに関連するトレリス内の個々の状態は、そのシンボル時において送信された可能性の最も高いビットに変換される。 このビットまたはビットグループは「復号化シンボル」と称する。

    【0010】1個のビットが各シンボル時に送信されるようなビタビ復号化を採用する通信アプリケーションにおいては、2つの可能性のある現在の状態が1個の次の状態に移る即ち分岐することができ、1個のビットで2
    つの可能性のあるブランチのうちのいずれかが次の状態に移るかを決定するのに十分である。

    【0011】

    【発明が解決しようとする課題】したがって本発明の目的は、現在の状態の蓄積コストを極値として特定するために、比較−選択操作を同時に実行しながら受信したデジタル信号を復号化する際に用いられるソフトシンボルを生成する方法を提供するものである。

    【0012】

    【課題を解決するための手段】本発明によれば、受信したデジタル信号を復号化する際に用いられるソフトシンボルを生成する方法は、確信レベルを提供するために、
    2つの可能性のある次の状態の蓄積コストの間の差を計算するステップを含む。 パイプライン環境では2つの可能性のある次の状態の蓄積コストの間の差を計算すると同時に、比較−選択操作を実行してこの2つの可能性のある次の状態の蓄積コストのうちの一方を2つの現在の状態の蓄積コストの極値として特定する。

    【0013】本発明は、デコーダ内においてソフトシンボルの確信レベルを生成する回路も開示する。 この本発明の回路は、第1と第2の可能性のある次の状態の蓄積コストを受信する第1の加算器と第2の加算器を含む。
    同時にこの可能性のある次の状態の蓄積コストを加算器の一方で比較し、同時に差分をソフトシンボルの確信レベルとして他の加算器内に取り入れる。

    【0014】セレクタは、加算器の一方により設定されたフラグに基づいて、第1と第2の可能性のある次の状態の蓄積コストの一方を選択する。 本発明の回路は、1
    つあるいは複数のトレースバックビットを記憶するレジスタと、複数のトレースバックビットをレジスタ即ちワードに詰め込むシフトレジスタとを有する。

    【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】各ブランチは、m ijで指定されたブランチメトリックを有する。 ここでiはブランチの現在の状態を表しjは次の状態を表す。 現在の状態はi番目の現在の状態に関連する蓄積コストPS iを有し(ここでi=
    0,1,2,…,15)、この蓄積コストPS iは現在の状態までのパス内の全てのブランチのうちの生き残ったブランチに関連するブランチメトリックの和である。
    次の状態のNS jに対する蓄積コストメトリックは、i
    番目の現在の状態に関連する現在の状態の蓄積コストP
    iと、例えばユークリッド距離またはハミング距離(マンハッタン距離とも称する)に基づくブランチメトリックm ijの1つとの和である。

    【0018】ある次の状態例えば次の状態NS0 に終端する2つのブランチメトリックm i jが計算されそして現在の状態の蓄積コストに加算され、そして比較されるべき2つの可能性のある次の状態コストを生成する。 この可能性のある次の状態コストの極値(最大値または最小値)が、比較操作で可能性のある次の状態コストメトリックが極値である次の状態に関連する次の状態コストとして選択される。 極値メトリックに関連した現在の状態から次の状態への遷移は生き残りパス内のブランチである。

    【0019】極値メトリックは、生き残りブランチの次の状態に関連する次の状態コストである。 現在の状態からシフトアウトするビットは、生き残りブランチのトレースバックパスを再構成する際に用いられるトレースバックビットとして記憶される。 全ての現在の状態に関連する同様な計算結果は、各次の状態に関連するトレースバックビットの蓄積と全ての次の状態の蓄積コストの更新となる。 かくしてメトリックm 00が極値の一部を含む場合には、ゼロがシングルビットトレースバックとして記憶され、メトリックm 10が極値の一部を含む場合には1がトレースバックビットとして記憶される。

    【0020】ある次の状態に関連する2個のブランチメトリックが計算され、元のブランチメトリックに関連したそれぞれの現在の状態のコストに加えられ、2つの可能性のある次の状態コストPNS 00 ,PNS 10を生成する。 この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】それらは、(1)2つの可能性のある次の状態蓄積コストの間の差をソフト判定(soft decisio
    n)確信レベルとして見いだす、(2)前記差を見いだすのと同時にパイプライン環境においては、比較−選択操作を実行して2つの可能性のある次の状態蓄積コストの一方を2つの可能性のある次の状態蓄積コストの極値として特定すること、である。

    【0034】ビタビ復号化操作において、上記のステップをデータ演算ユニット(DAU)20が同時に実行するようなインストラクションを議論する前に、パイプライン操作のインストランクションについて先ず説明する。 パイプライン処理は、前のデータセットでの計算を完了する前に新たなデータセットの計算を開始することにより行われる。 パイプライン処理で使用されるラッチの数が増えると、パイプライン処理の深さも大きくなる。

    【0035】パイプライン処理ではパイプラインを埋めるのに必要な計算時間の初期遅延が発生するが、加算器のような資源の使用状態を最大にできる。 次式(1)〜
    (4)は、パイプラインを埋めることを示す。 パイプラインが一旦埋められると、式(5)〜(7)が繰り返し実行され、ビタビ復号化のメトリック計算と加算−比較−選択操作が行われる。 新たに受信したシンボルは、必要により式(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)〜(7)に表される繰り返し計算用のパイプラインを埋める。

    【0039】このパイプラインが埋められると、メトリックの計算が式(5)と(6)の各々で1クロックサイクルで計算される。 新たに受信したシンボルの各発生によりパイプラインを再初期化するために、式(1)〜
    (4)の実行が必要となる。 式(7)は、比較−選択の命令(インストラクション)であり、2つの可能性のある次の状態コスト(1つは式(5)により計算され、他方は式(6)により計算され)を比較し、極値(最大値または最小値)を選択し、そして式(5),(6)により計算された2つの可能性のある次の蓄積コストの間の差をソフト判定として計算し、そのソフト判定をレジスタa1に記憶する。

    【0040】インストラクションが実行されると、DA
    U20は上記に挙げられたステップを同時に実行する。
    その式(5)(6)の代表例を式(8)として示す。

    【数2】

    式(8)によりDAU20は、一回のクロックサイクルでパイプライン環境においては、式(8)の全ての機能を同時に実行する。

    【0041】以下の説明は、パイプラインが満杯であることを仮定している。 式(8)の右側から始まり現在の状態のコストPS(1)がXデータバス16から取り出され、レジスタ64の高部分(レジスタa4)内にロードされる。

    【0042】受信したシンボルの予測値である予測シンボルe(3)は、Yデータバス18から取り出され、マルチプレクサ38に入力されて第2の入力レジスタ40
    内に記憶される。 例えば、同相の予測シンボルe
    I (3)は第2の入力レジスタ40の高部分yh内に記憶され、直交相予測シンボルe Q (3)は第2の入力レジスタ40の低部分yl内に記憶される。 予測シンボルは、またライン74により加算器26に入力される。

    【0043】メトリックの計算例えばユークリッドメトリックの例を次に示す。 直交相の受信したシンボルと予測シンボルとの間の差は、パイプラインで前のクロックサイクルで計算され、第1の入力レジスタ34の低部分xl内に記憶され、そして自乗される。 第1の入力レジスタ34の低部分xlは、交差マルチプレクサ42により乗算器28の入力48と50の両方に与えられる。 直交した受信シンボルX Q (n)と予測シンボルとの間の差は乗算器28内で自乗され、積レジスタ54内にp1
    として記憶される。 その計算された量は次式で表される。 [X Q (n)−e Q (l)] 2

    【0044】同様に同相の受信シンボルと予測シンボルとの間の差は、パイプラインで前のクロックサイクルで計算され、第1の入力レジスタ34内の高部分xh内に記憶されそして自乗される。 第1の入力レジスタ34の高部分xhは乗算器24の入力44と46の両方に交差マルチプレクサ42を介して与えられる。 同相の受信シンボルと予測シンボルとの間の差は乗算器24内で自乗され、積レジスタ52に記憶されてレジスタp0として指定される。 その計算された量は次式で表される。 [X I (n)−e I (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 を生成する。 その量は次式で表される。 PNS 00 =PS(0)+[X I (n)−e I (0)] 2 +[X
    Q (n)−e Q (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)〜(7)
    は、次の状態で終端するブランチメトリックを有するシンボル時の現在の状態の各対に対し、繰り返し計算され、これは図1のビタビバタフライで示されている。

    【0052】ある次の状態に関連する2つのブランチメトリックが計算され、そしてこのブランチメトリックの枝元に関連したそれぞれの現在の状態のコストに加えられて、式(5)(6)で2つの可能性のある次の状態コストPNS 00とPNS 01を生成し、これをアキュムレータファイル62のレジスタa0とレジスタa1に記憶する。 この2つの可能性のある次の状態のコストメトリックは、DAU20内で対称的に比較され、これを図3に示すが、そしてこの2つの可能性のある次の状態のコストの極値を選択する。

    【0053】レジスタa0からの可能性のある次の状態コストPNS 00と、レジスタa1からの可能性のある次の状態コストPNS 01は、演算論理装置(ALU)26
    とマルチプレクサ92との入力にライン80,82を介して与えられる。 ALU26は、その差を計算するなどして2つの入力を比較する。 その差のALU符号フラグがライン84を介して排他的ORゲート86の第1入力に与えられる。 排他的ORゲート86への第2入力は、
    1ビット入力セレクタ88であり、これはALU内で比較されている2つの入力のうちの小さい方または大きい方のいずれかを選択するして第1状態と第2状態の一方を採る。

    【0054】ALU26へ入力として小さい方を選択することは、最少メトリックを極値として選択することに対応し、ALU26へ入力を大きい方を選択することは、最大メトリックを極値として選択することに対応する。 選択するされた方法に基づいて、論理1のような第1状態のミニ/マックスセレクタは小さい入力を選択し、一方論理ゼロのような第2状態のミニ/マックスセレクタはALUに対し大きい方の入力を選択する。

    【0055】排他的ORゲート86の出力はマルチプレクサ92の選択入力90に与えられる。 マルチプレクサ92はALU26と同一の入力を受信し、2つのメトリックPNS 00またはPNS 01の一方を2つの可能性のある次の状態コストの極値として選択し、この選択された極値をレジスタa0に記憶させる。 このようにして第1
    と第2の可能性のある次の状態コストが比較され極値が選択される。

    【0056】加算器30は2つの可能性のある次の状態コストの間の差を計算し、この差をソフト判定確信レベルとしてレジスタa1に記憶する。 確信レベルの全ビットよりも少ないビットを保持して、それをワード内にパックする。 差のnビット部分は、通常最上位ビットであるがそれを保持するのが好ましい。 このようにしてワードにビットをパックしたりワードからビットを取り出すために、余分のサイクルを省略することができる。

    【0057】単一ビットが図1に示す各シンボル時に送信される通信システムにおいては、2つの可能性のある現在の状態が1個の次の状態に遷移する。 極値の次の状態コストが2つの可能性のある次の状態コストから選択される。 単一のトレースバックビットでどちらの現在の状態が次の状態へのブランチの枝元となるかを決定するのに十分である。 この場合送信されたシンボルを受信して、シフトアウトされる現在の状態の二進表示のビットが、トレースバックビットとして記憶される。 このようなトレースバックビットは、シフトレジスタ94内に論理ユニット96によりパックされる。

    【0058】複数のビットが各シンボル時に送信される通信システムにおいては4個の以上の現在の状態が1個の次の状態に遷移する。 極値の次の状態コストを選択することは、生き残りブランチの枝元を特定するために、
    トレースバックビットとして複数のビットを記憶する必要がある。 一時的な記憶レジスタ98を用いて中間結果を記憶する。 論理ユニット96は記憶されるべきトレースバックビットの数および必要な他の入力を受信する。
    シフトレジスタ94は複数のトレースバックビットをY
    データバス18によりメモリ内で記憶するために1個のワードにパックする。

    【0059】式(5)(6)を実行することにより、その後比較−選択操作とソフト判定計算が行われ、パイプラインがフルになる毎に式(7)が繰り返して行われ、
    全体のビタビ追加−比較−選択操作が完了する。

    【0060】本発明は、通信システムおよび本発明の技術を用いた集積回路を採用した装置に特に有効に利用できる。 このような通信システムと装置は、二重加算プロセッサを用いて一回のクロックサイクルで比較−選択操作を行う利点がある。 比較操作を実行すると同時にトレースバックビットをトレースバック操作およびソフト判定用に使用するために記憶する。

    【0061】本発明は、トレースバックビットとソフト判定情報を個別に記憶できる利点がある。 ソフト判定情報は、シンボル時においてシンボル時トレースバック符号化により必要とはされないので、ソフト判定情報とトレースバックビットが併せて記憶される場合よりも、トレースバック符号化操作を実行するのに必要とされるプロセッサのクロックサイクルは少なくて済む。

    【図面の簡単な説明】

    【図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 マルチプレクサ 94 シフトレジスタ 96 論理ユニット 98 一時的な記憶レジスタ

    フロントページの続き (73)特許権者 596077259 600 Mountain Avenue, Murray Hill, New J ersey 07974−0636U. S. A. (72)発明者 ラリー アール テイト アメリカ合衆国,60010 イリノイ,サ ウス バーリントン,チッピング キャ ンプデン ドライブ 12 (56)参考文献 特開 平7−191868(JP,A) 特開 平8−340263(JP,A) 特開 平9−153822(JP,A) 特開 平7−225682(JP,A) (58)調査した分野(Int.Cl. 7 ,DB名) H03M 13/00 G06F 11/10 330

    QQ群二维码
    意见反馈