JPH08340263A - イン・プレイス現状態/次状態レジスタ - Google Patents

イン・プレイス現状態/次状態レジスタ

Info

Publication number
JPH08340263A
JPH08340263A JP7342078A JP34207895A JPH08340263A JP H08340263 A JPH08340263 A JP H08340263A JP 7342078 A JP7342078 A JP 7342078A JP 34207895 A JP34207895 A JP 34207895A JP H08340263 A JPH08340263 A JP H08340263A
Authority
JP
Japan
Prior art keywords
cost
state
accumulated
register
array
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.)
Pending
Application number
JP7342078A
Other languages
English (en)
Inventor
David L Smith
エル.スミス ディヴィッド
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.)
AT&T Corp
Original Assignee
AT&T 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 AT&T Corp filed Critical AT&T Corp
Publication of JPH08340263A publication Critical patent/JPH08340263A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

(57)【要約】 【課題】 本発明は、通信システムまたはビタビデコー
ダで、次状態累積コストを決定する際にメモリを有効に
利用する技術を提供するものである。 【解決手段】 本システムは、レジスタの配列を持つメ
モリを含む。第1現状態累積コストは、配列の第1記憶
レジスタから検索される。第2現状態累積コストは、配
列の第2記憶レジスタから検索される。第1次状態累積
コストは、第1現状態累積コストに基づいて計算され
る。第1次状態累積コストは、配列の第1記憶レジスタ
に保存される。本発明の利点は、累積コストを計算し保
存するために必要なメモリが少ないことである。必要と
されるメモリ・ロケーションの数は、各個別状態につい
て1つで、これは従来必要とされたメモリ・ロケーショ
ンの実質上半分である。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般にデコーダに
関し、特に、イン・プレイス・ビタビ・デコーダにおけ
る場合のような、現状態/次状態レジスタの有効な利用
に関する。
【0002】
【従来の技術】ビタビ・デコーダは、順方向エラー訂正
を供給する最尤デコーダである。ビタビ・デコーダは、
ビット・ストリームのようなコード化されたシンボルの
シーケンスを復号化するために使用される。ビット・ス
トリームは、電気通信システムにおいて記号化された情
報を表すことが出来る。こうした記号化された情報は、
シンボル・インスタントを示す各ビット(またはビット
の組み合わせ)と共に、多様な媒体によって転送出来
る。復号化のプロセスで、ビタビ・デコーダは、各シン
ボル・インスタントの一連のビット・シーケンスを通じ
て、どのビット・シーケンスが最も転送されやすかった
かを決定する。あるシンボル・インスタント、すなわ
ち、状態から、次の連続する、シンボル・インスタン
ト、すなわち、状態への可能な遷移は限られている。あ
る状態から次状態への可能な遷移は、図示出来、ブラン
チとして定義される。一連の相互に連結されたブランチ
は、パスとして定義される。各状態は、ビット・ストリ
ーム中の次のビット(またはビットの組み合わせ)を受
け取る際に、限られた数の次状態にしか変換出来ない。
従って、復号化プロセスの間に、あるパスは残り、別の
パスは残らない。許容されない遷移を除去することによ
って、最も残りそうなパスを決定する計算能力が達成さ
れる。ビタビ・デコーダは、通常各ブランチに関連する
ブランチ・メトリックを規定・計算し、このブランチ・
メトリックを使って、どのパスが残り、どのパスが残ら
ないかを決定する。
【0003】ブランチ・メトリックは、可能な各ブラン
チに対する各シンボル・インスタント毎に計算される。
各パスは関連するメトリックと累積コストを持ち、これ
は各シンボル・インスタント毎にアップデートされる。
各可能な遷移について、次状態の累積コストは、可能な
遷移のためのブランチ・メトリックと、個々の前状態の
パスの累積コストの総計の小さい方として計算される。
【0004】従来の技術のデコーダは、ランダムアクセ
ス・メモリ内のメモリ・ロケーションの前もって決定さ
れたグループのレジスタの2つの配列を使用して、現状
態累積コストと、次状態累積コストを保存した。第1配
列のレジスタは、現状態累積コストを保存するために使
用された。累積コストが、次のシンボル・インスタント
のために計算される時、現状態累積コストは、第1配列
のレジスタから読み出され、計算のために使用された。
次のシンボル・インスタント、すなわち次状態のために
計算された累積コストは、第2配列のレジスタに書き込
まれた。次状態のための累積コストが全て計算された後
で、次状態の累積コストは第2配列のレジスタすなわち
ロケーションから読み出され、第1配列の対応するレジ
スタすなわちロケーションに書き込まれた。この転送
は、次状態の累積コストをアップデートするための続く
一連の計算を通じてビット・ストリーム内の次のシンボ
ルを復号化する準備としてなされた。こうして、現状の
累積コストは第1配列のレジスタに保存された。次状態
累積コストは計算され、第2配列のレジスタに保存され
た。
【0005】
【発明が解決しようとする課題】その結果、各シンボル
・インスタント毎に、第2配列のレジスタの内容を読み
取って、第1配列の対応するレジスタに書き込む操作が
要求された。ブランチの数によって、このことは、多数
の読み書き操作を必要とした。こうしたデータ転送操作
は、非生産的な操作のための時間の浪費という意味で
も、特に、自動車電話のような、電池を電源とする機器
の場合、エネルギー消費という意味でも、デコーダの性
能を低下させる。
【0006】2つの配列のレジスタを使用する従来の他
のデコーダは、データ転送操作を除去するためにポイン
タを使用してきた。ポインタは、2つの配列の中の1つ
を指定する。次状態累積コストが、配列の中の1つのレ
ジスタに保存された、その時の状態の累積コストに基づ
いて計算される時、新しく計算された次状態の累積コス
トは、ポインタが指定する別の配列のレジスタに保存さ
れる。全ての累積コストがアップデートされる時、ポイ
ンタは第1配列を指定するように変更され、累積コスト
がアップデートされる。このことはデータ転送操作を除
去するが、やはり累積コストの2倍のレジスタを必要と
する。
【0007】1つの配列のレジスタから別の配列のレジ
スタに累積コストを転送する、不必要な読み書き操作
と、累積コストの2倍のレジスタの必要を除去する、累
積コストの計算と保存の有効な方法が、技術上必要とさ
れる。
【0008】
【課題を解決するための手段】本発明に従って、通信シ
ステムまたはビタビ・デコーダの、次状態累積コストを
決定する技術において、メモリが有効に利用される。本
システムは、レジスタの配列を持つメモリを含む。第1
現状態累積コストは、配列の第1記憶レジスタから検索
される。第2現状態累積コストは、配列の第2記憶レジ
スタから検索される。第1次状態累積コストは第1現状
態累積コストに基づいて計算される。第1次状態累積コ
ストは、配列の第1記憶レジスタに保存される。本発明
の長所は、この技術では、累積コストの計算と保存のた
めに必要とされるメモリが少ないことである。必要とさ
れるメモリ・ロケーションの数は、各個別の状態毎に1
つであり、これは従来必要とされたメモリ・ロケーショ
ンの実質上半分である。
【0009】
【発明の実施の形態】図1は、デジタル・セルラー電
話、モデム、衛星通信システム、デジタル・ビデオ通信
システムといった通信システムにおける、本発明の説明
される実施例を示す。本発明の説明される実施例では、
誤差訂正コプロセッサ10は、デジタル信号プロセッサ
(DSP)20によって制御される。誤差訂正コプロセ
ッサ10は、DSP20内に組み込み可能である。コプ
ロセッサのランダム・アクセス・メモリ(RAM)11
0のレジスタの一部は、配列100を形成する。配列1
00のレジスタのデータは、配列から読み出され、加算
器150、レジスタ160、170、加算器180によ
って処理され、その結果生じたデータは、配列100の
レジスタに書き込まれる。アドレス・ゼネレータ102
は、どのレジスタまたは配列のレジスタ100からデー
タが読み取られ、どのレジスタまたは配列100のレジ
スタにデータが書き込まれるかを決定する。
【0010】誤差訂正コプロセッサ10にデータを書き
込み、そこからデータを読み取るために、間接アクセス
技術が使用される。コプロセッサ10のアドレスにデー
タを書き込むために、アドレスはアドレス・レジスタ2
4に書き込まれ、データはデータ・レジスタ26に書き
込まれるが、これはどちらもDSP20内にある。アド
レスは、DSP20から、コプロセッサ10内のアドレ
ス・ゼネレータ102に、アドレス・バス80を通って
転送され、フリップフロップ144の出力に依存する、
コプロセッサ内の対応するレジスタの変換されたアドレ
スに変換される。アドレス・ゼネレータ102は、フリ
ップフロップ144の状態に依存するビットを連結す
る。最上位のビットや、最も重要でないビットを連結し
てアドレス変換を達成する方法は良く知られている。デ
ータ・レジスタ26に書き込まれたデータは、DSP2
0から変換されたアドレスによって識別される、コプロ
セッサ・メモリ・ロケーションに転送される。
【0011】コプロセッサ10のアドレスのレジスタか
らデータを読み取るために、アドレスは、DSP20の
アドレス・レジスタ24に書き込まれる。アドレスはア
ドレス・ゼネレータ102に転送され、上記のように変
換される。アドレス・レジスタのデータはデータ読み取
りレジスタ26によって読み取られる。
【0012】コプロセッサ制御ユニット12は、あらか
じめ決定された信号のシーケンスを発生し、コプロセッ
サの機能の一面である、復号化機能を制御する。説明さ
れた実施例の開示された動作から、本技術に普通に熟練
した人は、コプロセッサ制御ユニット12によって作ら
れる信号をたやすく組み立てることが出来る。制御ユニ
ットの動作は、DSPから制御レジスタ14に上記のよ
うに転送される1つのインストラクションによって開始
される。
【0013】メモリ100の配列は、ランダム・アクセ
ス・メモリの中で、現状態と次状態の累積コストの保存
のために識別される。現状態と次状態の累積コストのバ
イナリ表示は、多くの形式の中の1つをとることが出来
る。この形式とは、サイン・エクステンデッドであり得
る2の補数、サイン・マグニチュード、浮動少数点また
は単純なバイナリ表示を含むが、それに限定されない。
配列100は、複数のアドレス可能なメモリ・レジスタ
またはロケーションから成る。配列100中のメモリ・
レジスタの数は、少なくとも、計算されることが必要な
現状態または次状態のコストの最大の数に適応するのに
充分である。配列100の中で使用されるメモリ・レジ
スタの数は、配列のために配分されたメモリ・レジスタ
の数以下で良い。制約長さCについて、配列の中で利用
されるメモリ・レジスタの数は2C-1である。
【0014】配列100は、連合するアドレス・ゼネレ
ータ102を持つ。アドレス・ゼネレータ102は、読
み取り操作の間に、そこからデータが読み取られるメモ
リ・レジスタを可能にし、また、書き込み操作の間に、
データが書き込まれるメモリ・ロケーションを可能にす
る。2つの次状態累積コストの値を計算するために利用
される、配列100に保存された2つの現状態累積コス
トの値は、配列100から読み取られる。第1現状態累
積コストは、データ・バス146を通って、第1レジス
タ142に転送される。第2現状態累積コストは、デー
タ・バス146を通って、第2レジスタ144に転送さ
れる。どの現状態累積コストの値が転送されるかは、ど
の次状態累積コストの値が計算されるかに依存する。表
1の式を参照すること。現状態累積コストの値は、ルッ
クアップ・テーブルから取られたアドレスによって、ま
たは現状態累積コストのアドレスを発生するアドレス・
ゼネレータ102によって転送され、データは配列10
0のレジスタに保存され、アドレスは読み取られ、デー
タ・バス146を通ってレジスタ142または144に
転送される。レジスタ142・144は、第1・第2入
力をマルチプレクサ148に供給する。入力選択147
は、マルチプレクサ148へのどちらの入力がその出力
149として供給されるかを決定する。出力149は、
加算器150への入力の1つを、マルチプレクサ148
を通じて接続されたレジスタ142または144に供給
する。加算器150への第2入力である入力152は、
ブランチ・メトリック・ユニット154によって供給さ
れるブランチ・メトリックである。各ブランチ・メトリ
ックは1度だけ必要とされ、これまで知られた方法で必
要とされるように計算される。加算器150の出力15
6はデマルチプレクサ158に接続され、入力を供給す
る。コストが読み出されるアドレスの最も重要でないビ
ットはデマルチプレクサ158への入力選択166を供
給する。例えば、偶数のアドレスに対しては、デマルチ
プレクサ158は、入力156を出力162として供給
する。奇数のアドレスに対しては、デマルチプレクサ
は、入力156を出力164として供給する。出力16
2は、レジスタ160に接続され、入力を供給する。出
力164は、レジスタ170に接続され、入力を供給す
る。
【0015】レジスタ160の出力168は、加算器1
80と接続され、入力の1つを供給する。レジスタ17
0の出力172は、加算器180に接続され、別の入力
を供給する。加算器180は、入力168から入力17
2を引く。レジスタ160からの出力168と、レジス
タ170からの出力172は、結合され、マルチプレク
サ190の入力を供給する。出力182の最上位のビッ
トが最重要ビット・セレクタ184によって決定され、
マルチプレクサ190への入力選択192として供給さ
れる。入力選択192は、マルチプレクサ190への入
力168または172の中の1つを、データ・バス14
6に置く出力として選択する。デコーダで受け取られた
一連のバイナリ・データから、ビタビ・デコーダを使用
して記号化されたデータを複合化する時、デコーダは、
最も伝送されやすいデータのシーケンスを再構築する。
受け取ったデータは誤差を含む。エンコーダの初期状態
が知られているので、デコーダはスタート地点を持つ。
エンコーダの終了状態も知ることが出来るので、デコー
ダもあらかじめ決定された終了地点を持つ。デコーダ
は、受け取った一連のバイナリ・データのための、最も
良い状態の遷移のシーケンスを決定しなければならな
い。個々のこうした状態が、シンボル・インスタントを
示す。各状態またはシンボル・インスタントで、ゼロか
ら、Cが抑制長さである時、2C-1−1までの、多数の
状態がある。これらの2C-1の状態は個別状態と呼ばれ
る。制限された数の遷移が可能である。各シンボル・イ
ンスタントで、累積コストは計算され、各可能な遷移の
ために保存される。
【0016】各シンボル・インスタントで、本発明の説
明される実施例の各個別状態は、2つの可能な次の個別
状態にだけ遷移出来るが、発明はそう制限されない。そ
れに伴って、各次の個別状態は、そこから遷移が発生す
る2つの可能な以前の個別状態しか持たない。別のデコ
ーダは、次状態への遷移を2つ以上持ち得る。
【0017】ブランチ・メトリックは、ある個別状態か
ら、次の個別状態への可能な遷移毎に各シンボル・イン
スタントで計算される。ブランチ・メトリックを計算す
る様々な方法が、技術上知られている。所与の次の個別
状態に遷移する両ブランチのブランチ・メトリックは計
算され、対応して発生する累積コストに加算され、2つ
の可能な累積コストの合計になる。2つの可能な累積コ
ストの合計が比較される。極値の合計が、次状態累積コ
ストとして選択される。説明される実施例では、2つの
合計の小さい方の極値の合計が説明されるが、発明はそ
う制限されない。少ない方の合計に対応する遷移は、2
つの可能な初めの個別状態から、所与の次の個別状態に
より遷移しやすい。より適当な遷移の初めの個別状態
は、所与の次の個別状態のための起源として保存され
る。少ない方の合計は、次の個別状態の累積コストであ
り、その個別状態の累積コストに取って代わる。このプ
ロセスは、ビット・ストリーム中の全てのシンボルが復
号化されるまで、各個別状態毎に繰り返され、各シンボ
ル・インスタント毎にも繰り返される。
【0018】一例として、抑制長さが4の時、24-1
たは8の個別状態がある。状態遷移図を図2に示す。実
線は、シリーズの中の次のビットが0の時の、次状態へ
の遷移を示し、破線は、シリーズの中の次のビットが1
の時の、次状態への遷移を示す。図2の8つの個別状態
の各々の次状態累積コストを計算する式を表1に示す。 NSAC(000) = Lesser{PSAC(000) + BM(000), PSAC(001) + BM(001)} NSAC(001) = Lesser{PSAC(010) + BM(010), PSAC(011) + BM(011)} NSAC(010) = Lesser{PSAC(100) + BM(100), PSAC(101) + BM(101)} NSAC(011) = Lesser{PSAC(110) + BM(110), PSAC(111) + BM(111)} NSAC(100) = Lesser{PSAC(000) + BM(000), PSAC(001) + BM(001)} NSAC(101) = Lesser{PSAC(010) + BM(010), PSAC(011) + BM(011)} NSAC(110) = Lesser{PSAC(100) + BM(100), PSAC(101) + BM(101)} NSAC(111) = Lesser{PSAC(110) + BM(110), PSAC(111) + BM(111)} 表1 次状態累積コストの式 表の上半分と下半分のブランチ・メトリックについて、
同じシンボルが使われているが、違う数量が示されてい
ることが理解される。説明される実施例では、表1の上
半分のブランチ・メトリックは0の受け取りに起因し、
表1の下半分のブランチ・メトリックは1の受け取りに
起因する。
【0019】次状態累積コストの式の組み合わせが、同
じ2つの現状態累積コストの値を含むことを認識するこ
とは、次状態累積コストの値の計算と保存をある程度有
効にする。NSAC(000)とNSAC(100)
は、PSAC(000)とPSAC(001)の関数で
ある。NSAC(001)とNSAC(101)は、P
SAC(010)とPSAC(011)の関数である、
等。より詳細には、個別状態000の次状態累積コスト
である、NSAC(000)は、個別状態000の現状
態累積コストである、PSAC(000)と、ブランチ
000のブランチ・メトリックである、BM(000)
か、個別状態001の現状態累積コストである、PSA
C(001)と、ブランチ001のブランチ・メトリッ
クであるBM(001)の、小さい方である。同じ現状
態累積コストと、違うブランチ・メトリックは、個別状
態100の次状態累積コストを計算するのに使用され
る。個別状態100の次状態累積コストである、NSA
C(100)は、個別状態000の現状態累積コストで
ある、PSAC(000)と、ブランチ000のブラン
チ・メトリックである、BM(000)か、状態001
の現状態累積コストであるPSAC(001)と、ブラ
ンチ001のブランチ・メトリックである、BM(00
1)の小さい方である。この計算は、全ての次状態コス
トが、所与のシンボル・インスタントについて計算され
るまで、全ての個別状態について繰り返される。次状態
累積コストの計算は、図1の回路を利用して達成され
る。現状態累積コストは、例えば、第1メモリ・ロケー
ション(例えば、アドレス000)に始まり、0の値を
持つ第1メモリ・ロケーションと、非常に大きな負の値
を持つ、続くメモリ・ロケーションで開始される、配列
100に保存される。最初、累積コストは、通常、順次
式メモリ・レジスタに保存される。
【0020】アドレス・ゼネレータ102は、アドレス
を発生し、アドレスによって識別されるレジスタを読み
取れるようにする。読み取り操作は、個別状態000の
累積コストを、配列100のメモリ・レジスタからデー
タ・バス146に転送する。データ・バス146は、個
別状態000の累積コストを、デマルチプレクサ140
を通じて、入力選択141に決定されるとおりに、2つ
のレジスタ142または144の1つに供給する。例え
ば、個別状態000の累積コストがレジスタ142に転
送されたと仮定する。アドレス・ゼネレータ102は、
個別状態001の累積コストのアドレスを発生し、配列
100のメモリ・レジスタから累積コストを読み取っ
て、データ・バス146に転送する。データ・バス14
6は、個別状態001の累積コストを、入力選択141
によって決定された通りに、2つのレジスタ142また
は144の別の方(ここでは、144)に供給する。レ
ジスタ142または144に保存された2つの累積コス
トの値は、個別状態000と100の次状態累積コスト
の計算に使用される。
【0021】マルチプレクサ148は、入力選択147
によって決定された通りに、レジスタ142に保存され
た累積コストをその出力149として供給する。出力1
49は、加算器150への1つのオペランド入力を供給
する。加算器150への他の入力は、ブランチ・メトリ
ック・ユニット154によって計算されるように、ブラ
ンチ000のブランチ・メトリックである。加算器15
0からの合計の出力は、デマルチプレクサ158の入力
を供給する。現状態累積コストのアドレスの最も重要で
ないビットは、デマルチプレクサ158への入力選択と
して使用され、デマルチプレクサ158に出力162を
選択させ、加算器150からの出力156をレジスタ1
60への入力として供給させる。出力162は、転送さ
れ、一時的にレジスタ160に保存される。この合計
を、COST(i)と呼ぶ。
【0022】入力選択147は、別のレジスタであるレ
ジスタ144を選択し、マルチプレクサ148を通じて
加算器150と接続する。出力149は、加算器150
への入力を供給する。ブランチ・メトリック・ユニット
154によって供給される加算器150への別の入力
は、状態001の計算されたブランチ・メトリックであ
る。加算器150からの合計の出力はデマルチプレクサ
158への入力を供給する。現状態累積コストのアドレ
スの最も重要でないビットは、デマルチプレクサ158
への入力選択として使用され、デマルチプレクサ158
に、出力172を選択させ、加算器150からの出力1
56をレジスタ170への入力として供給させる。出力
164は転送され、一時的にレジスタ170に保存さ
れ、COST(i+1)と呼ばれる。
【0023】2つの合計COST(i)とCOST(i
+1)の少ない方が選択され、状態000の現状態累積
コストに代わって次状態の累積コストまたは次のシンボ
ル・インスタントを示す。COST(i)とCOST
(i+1)の小さい方は、2つの合計を比較し、小さい
方を選択することによって決定される。COST(i)
は、加算器180への1つの入力オペランドを供給す
る。もう一方の入力オペランドはCOST(i+1)で
ある。加算器180は、COST(i+1)からCOS
T(i)を引き、その差を出力182として供給する。
COST(i+1)がCOST(i)より大きければ、
出力182の最上位のビットは、負の符号を持つ1であ
る。さもなければ、最上位のビットは0である。最重要
ビット・セレクタ184は、出力182の最上位のビッ
トを選択し、最上位のビットを出力192として供給す
る。出力192は、マルチプレクサ190への入力選択
である。入力選択は、マルチプレクサへの入力168ま
たは入力172のどちらの累積コスト入力が、少ない方
のコストとして選択され、データ・バス146に供給さ
れるかを決定する。COST(i+1)が、COST
(i)より大きい時、最上位のビットは1であり、マル
チプレクサ190に加算器180への小さい方の入力で
ある入力168を選択させ、データ・バス146に置
く。さもなければ、最上位のビットは0であり、マルチ
プレクサ190に、COST(i)である入力168を
選択させ、データ・バス146に置く。こうして、加算
器180と、最重要ビット・セレクタ184は、COS
T(i)またはCOST(i+1)の中の小さい方の累
積コストを選択するコンパレータとして機能し、小さい
方の累積コストをデータ・バス146に供給する。アド
レス・ゼネレータ102は、個別状態000の累積コス
トがそこから読み取られる配列100のレジスタを可能
にする。これは、それ以上の値を持たない配列100の
レジスタにデータを上書きする。通常、次状態累積コス
トは、配列100のレジスタに保存され、そこから、現
状態累積コストが、次状態累積コストの計算に使用され
るために読み出される。現状態配列の各レジスタは、次
状態累積コスト計算の過程で一度読み出される。
【0024】個別状態100の次状態累積コストが計算
される。個別状態000と001の現状態累積コストは
レジスタ142と144にそれぞれ保存され続けてい
る。配列100の同じコストの1つは上書きされた。上
記で説明したように、レジスタ142に保存された累積
コストは、マルチプレクサ148を通じて加算器150
への1つの入力オペランドとして供給される。ブランチ
・メトリック・ユニット154は、ブランチ000のブ
ランチ・メトリックを計算し、加算器150の別の入力
オペランドとして供給する。加算器150の合計の出力
は、デマルチプレクサ158の入力を供給する。現状態
累積コストのアドレスの最も重要でないビットは、デマ
ルチプレクサ158の入力選択として使用され、デマル
チプレクサ158に出力162を選択させ、加算器15
0からの出力156を、レジスタ160への入力として
供給させる。出力162は転送され、レジスタ160
に、COST(i)として、一時的に保存される。
【0025】入力選択147は、個別状態001の現状
態累積コストを含み、マルチプレクサ148を通じて加
算器150と接続する、別のレジスタである、レジスタ
144を選択する。出力149は、加算器150の入力
を供給する。加算器150のもう1つの入力は、ブラン
チ・メトリック・ユニット154によって供給される、
状態001の計算されたブランチ・メトリックである。
加算器150からの合計の出力は、デマルチプレクサ1
58の入力を形成する。現状態累積コストのアドレスの
最も重要でないビットは、デマルチプレクサ158への
入力選択として使用され、デマルチプレクサ158に出
力192を選択させ、加算器150からの出力156を
レジスタ170への入力として供給させる。出力164
は転送され、レジスタ170にCOST(i+1)とし
て保存される。
【0026】COST(i)とCOST(i+1)の小
さい方が選択され、状態001の現状態累積コストに取
って代わる。加算器180は、COST(i)からCO
ST(i+1)を引き、最重要ビット・セレクタ184
は、マルチプレクサ190への入力選択として最上位の
ビットを供給する。マルチプレクサ190は、COST
(i)とCOST(i+1)の小さい方を選択し、小さ
い方のコストをデータ・バス164に供給する。状態1
00の現状態累積コストが保存されている配列100の
メモリ・レジスタは、アドレス・ゼネレータ102によ
って可能となり、次状態累積コストは、レジスタに書き
込まれる。その時デコーダは、次のシンボルを復号化す
る用意が出来ている。このプロセスは、各個別状態につ
いて、配列100のレジスタに保存された次状態累積コ
ストがあるように、個別状態の全ての次状態累積コスト
が計算されるまで、繰り返される。
【0027】こうして、累積コストを保存する、配列1
00のレジスタの各2C-1の累積コストは、現状態累積
コストから次状態累積コストにアップデートされる。ア
ップデートが完了すると、次状態は現状態となり、この
プロセスが繰り返される。このサイクルは、シンボル・
インスタントまたは復号化されるデータの状態の数だけ
続く。
【0028】図3は、C=4とする、説明される実施例
について、現状態累積コストに取って代わる次状態累積
コストを示す。8つの個別状態がある。
【0029】データは、データ・レジスタ24によって
DSP20とコプロセッサ10の間で転送される。DS
P20は、コプロセッサ10のどのメモリ・レジスタか
らも読み取り・書き込みが出来る。コプロセッサのメモ
リ・レジスタは、メモリ・レジスタのアドレスをDSP
10のアドレス・レジスタ24に置くことによって、間
接的にアドレスされる。アドレス・ゼネレータ102
は、アドレス・レジスタ24から、アドレス・バス80
を通じてアドレスを受け取る。読み取り操作において、
コプロセッサ10は、アドレスされたコプロセッサ・メ
モリ・レジスタの内容を、受け取りデータ・レジスタに
転送し、そこで、DSP20によって読み取られる。こ
うした操作のシーケンスを通じて、累積コストの全ての
配列はDSP20に転送される。
【0030】図3から、現状態累積コストが、最初にバ
イナリ0からバイナリ7までの番号順にあっても、次状
態累積コストは同じ番号順にないことが分かる。ベース
10で、C=4の場合の、説明される実施例の次状態累
積コストは、0;4;1;5;2;6;3;7の順序に
なる。図3aでアップデートされた全ての累積コストに
ついて、図3aで、次状態累積コストとされた累積コス
トは、図3bで示される次状態では、現状態累積コスト
とされる。次状態累積コストが計算されると、順序はま
た変化する。新しい順序は、0;2;4;6;1;3;
5;7である。全ての累積コストがアップデートされる
と、図3bの累積コストの新しい状態は、図3cの現状
態累積コストとされる。図3cで、次状態累積コストが
求められると、次状態累積コストはもとの番号順に戻
る。各C−1状態の累積コストは、続いた番号順にある
と一般化出来る。復号化がC−1の倍数で停止するな
ら、累積コストを並べ直す必要はない。しかし、伝送さ
れるビット、またはビットの組み合わせが、C−1の倍
数でないなら、一連のビットまたはビットの組み合わせ
の復号化が終わった時に、累積コストを並べ直す必要が
ある。または、累積コストを計算結果の非連続的な順序
のままにしておき、ユーザーがアクセスの際にアドレス
を補正しても良い。
【0031】復号化が、図3aに示す次状態で終了する
と、累積コストは、2つの通路を上昇する個別状態の順
序の配列から読み取り出来る。個別状態000から始ま
る第1の通路では、交互に起こるレジスタを読み取り出
来る。第2の通路では、交互に起こるレジスタは、個別
状態000に続くレジスタに始まる。
【0032】復号化が、図3bに示す次状態で終了する
と、累積コストは、4つの通路を上昇する個別状態の順
序の配列から読み取り出来る。個別状態000から始ま
る第1の通路では、各4つめのレジスタが読まれる。第
2の通路では、個別状態000より1つ高くインデック
スを付けられたレジスタから始まる、各4つめのレジス
タが読まれる。第2の通路の開始点より1高いレジスタ
である開始点からインデックスを付けられた、第3の通
路では、各4つめのレジスタが読まれる。第3の通路の
開始点より1高いインデックスを付けられたレジスタか
ら始まる第4の通路では、各4つめのレジスタが読まれ
る。
【0033】復号化が、図3cに示す次状態で終了する
と、累積コストは、1つの通路を上昇する個別状態の順
序から読み取り出来る。これは、説明される実施例の場
合Cが4である時、C−1の整数倍である3に依存す
る。配列中の次状態累積コストの順序は、パラメーター
Cと、いくつの状態またはシンボル・インスタントが、
C−1の整数倍以外に復号化されたかによってあらかじ
め決定されている。
【0034】本発明は、この技術を含む集積回路を利用
する通信システム及び機器において特に有益である。こ
うした通信システム及び機器は、メモリの必要を減らせ
る利点を持つ。ある点で、この利点は1つの配列のレジ
スタの内容を不必要に読み取り、第2の配列のレジスタ
に書き込むことによらずに達成出来る。
【0035】本発明の説明される実施例は、結合するパ
イプライン方式として説明されていないが、本技術に熟
練した人は、設計にパイプライン方式を利用することに
よって計算効率が拡大することを認識するだろう。パイ
プライン方式は、前にセットしたデータの計算を完了す
る前にセットされた新しいデータの計算を開始すること
によって達成される。パイプライン方式で使用されるラ
ッチが多いほど、パイプラインの深さも大きくなる。パ
イプライン方式はパイプラインを満たすために必要とさ
れる計算時間に初めの待ち時間を発生するが、加算器や
減算器といったリソースの利用を最大化する。
【図面の簡単な説明】
【図1】コプロセッサの付いたデジタル信号プロセッサ
における本発明の説明される実施例の、簡略図である。
【図2】制約長さが4の時の、状態遷移図である。
【図3】現状態累積コストの内容のシーケンスを示す図
である。
【符号の説明】
12 コプロセッサ制御ユニット 14 制御レジスタ 22 インストラクション・レジスタ 24 アドレス・レジスタ 26 データ・アドレス 102 アドレス・ゼネレータ 142 レジスタ 144 レジスタ 148 マルチプレクサ 150 加算器 154 ブランチ・メトリック・ユニット 180 加算器 184 最重要ビット・セレクタ 190 マルチプレクサ

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 どの次状態累積コストを、レジスタの配
    列をもつ通信システムの中に保持するかを決定する際
    に、メモリを有効に利用する方法であって、 配列(例えば、100)の第1記憶レジスタから第1現
    状態累積コストを検索するステップと、 配列(例えば、100)の第2記憶レジスタから第2現
    状態累積コストを検索するステップと、 第1現状態累積コストに基づいて第1次状態累積コスト
    を計算するステップと、 第1次状態累積コストを配列(例えば、100)の前記
    第1記憶レジスタに保存するステップとを含む方法。
  2. 【請求項2】 どの次状態累積コストを保持するかを決
    定する際にメモリを有効に利用する方法であって、 第1現状態累積コストを第1一時レジスタ(例えば、1
    42または144)に保存するステップを含む、請求項
    1に記載の方法。
  3. 【請求項3】 どの次状態累積コストを保持するかを決
    定する際にメモリを有効に利用する方法であって、 第2現状態累積コストを第2一時レジスタ(例えば、1
    44または142)に保存するステップを含む、請求項
    1に記載の方法。
  4. 【請求項4】 どの次状態累積コストを保持するかを決
    定する際にメモリを有効に利用する方法であって、 第2現状態累積コストに基づいて第2次状態累積コスト
    を計算するステップと、 第2次状態累積コストを配列(例えば、100)の前記
    第2記憶レジスタに保存するステップとを含む、請求項
    1に記載の方法。
  5. 【請求項5】 どの次状態累積コストを保持するかを決
    定する際にメモリを有効に利用する方法であって、 配列(例えば、100)の第3記憶レジスタから第3現
    状態累積コストを検索するステップと、 配列(例えば、100)の第4記憶レジスタから第4現
    状態累積コストを検索するステップと、 第3現状態累積コストに基づいて、第3次状態累積コス
    トを計算するステップと、 第3次状態累積コストを、配列(例えば、100)の前
    記第3記憶レジスタに保存するステップとを含む、請求
    項1に記載の方法。
  6. 【請求項6】 信号処理のための集積回路であって、 レジスタの配列(例えば、100)と、 配列(例えば、100)の第1レジスタから第1現状態
    累積コストを検索する手段と、 配列(例えば、100)の第2レジスタから第2現状態
    累積コストを検索する手段と、 前記第1または第2現状態累積コストの中の1つに基づ
    いて、第1次状態累積コストを計算する手段と、 配列(例えば、100)の前記第1レジスタに第1次状
    態累積コストを保存する手段とを含む、集積回路。
  7. 【請求項7】 保存手段がランダム・アクセス・メモリ
    (例えば、110)を含む、請求項6に記載の集積回
    路。
  8. 【請求項8】 計算手段が加算器(例えば、150)を
    含む、請求項6に記載の集積回路。
  9. 【請求項9】 計算手段がコンパレータ(例えば、18
    0、184)を含む、請求項6に記載の集積回路。
  10. 【請求項10】 記憶レジスタから成るメモリを含み、
    一連のシンボル・インスタントの各可能な遷移毎に次状
    態累積コストの極値を決定するビタビ・デコーダにおい
    て、どの次状態が保持されるかを決定する方法であっ
    て、 第1現状態に関連する第1累積コストを第1記憶レジス
    タから検索するステップと、 第1現状態に関連する第1累積コストを、第1ブランチ
    ・メトリックに加算して第1の可能な累積コストを得る
    ステップと、 第2現状態に関連する第2累積コストを第2記憶レジス
    タから検索するステップと、 第2累積コストを、第2ブランチ・メトリックに加算し
    て第2の可能な累積コストを得るステップと、 第1・第2の可能な累積コストの極値を、次状態累積コ
    ストとして選択するステップと、 次状態累積コストを第1記憶レジスタに保存するステッ
    プとを含む方法。
  11. 【請求項11】 次状態累積コストの極値を決定する方
    法であって、第1・第2の可能な累積コストの中の小さ
    い方を次状態累積コストとして選択し、 第1・第2の可能な累積コストの中の1つを、もう一方
    から引き算して差を求めるステップと、 差のバイナリ表示の最上位のビットを識別するステップ
    と、 差のバイナリ表示の最上位のビットによって、第1・第
    2の可能な累積コストを次状態累積コストとして決定す
    るステップとを含む、請求項10に記載の方法。
  12. 【請求項12】 次状態累積コストの極値を決定する方
    法であって、 現状態から次状態への遷移に対応するブランチ・メトリ
    ックを計算するステップを含む、請求項10に記載の方
    法。
  13. 【請求項13】 状態累積コストの極値を決定する方法
    であって、極値が第1・第2の可能な累積コストの小さ
    い方の値である、請求項10に記載の方法。
JP7342078A 1994-12-29 1995-12-28 イン・プレイス現状態/次状態レジスタ Pending JPH08340263A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/366195 1994-12-29
US08/366,195 US5619514A (en) 1994-12-29 1994-12-29 In-place present state/next state registers

Publications (1)

Publication Number Publication Date
JPH08340263A true JPH08340263A (ja) 1996-12-24

Family

ID=23442032

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7342078A Pending JPH08340263A (ja) 1994-12-29 1995-12-28 イン・プレイス現状態/次状態レジスタ

Country Status (5)

Country Link
US (1) US5619514A (ja)
EP (1) EP0720303A3 (ja)
JP (1) JPH08340263A (ja)
KR (1) KR960027369A (ja)
SG (1) SG34347A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6009128A (en) * 1997-09-08 1999-12-28 Lucent Technologies, Inc. Metric acceleration on dual MAC processor
KR100386244B1 (ko) * 1998-01-22 2004-01-24 엘지전자 주식회사 비터비 디코더
WO2000008768A1 (en) * 1998-08-04 2000-02-17 Qualcomm Incorporated Viterbi decoder with reduced size path metric memory
US6333954B1 (en) 1999-10-21 2001-12-25 Qualcomm Incorporated High-speed ACS for Viterbi decoder implementations
DE10010238C2 (de) 2000-03-02 2003-12-18 Infineon Technologies Ag Verfahren zum Speichern von Pfadmetriken in einem Viterbi-Decodierer
US6757864B1 (en) * 2000-04-06 2004-06-29 Qualcomm, Incorporated Method and apparatus for efficiently reading and storing state metrics in memory for high-speed ACS viterbi decoder implementations
US6975692B2 (en) * 2000-12-04 2005-12-13 Koninklijke Philips Electronics N.V. Scaling of demodulated data in an interleaver memory
US8281369B2 (en) * 2008-03-12 2012-10-02 Avaya Inc. Method and apparatus for creating secure write-enabled web pages that are associated with active telephone calls
US8879464B2 (en) 2009-01-29 2014-11-04 Avaya Inc. System and method for providing a replacement packet
US9525710B2 (en) * 2009-01-29 2016-12-20 Avaya Gmbh & Co., Kg Seamless switch over from centralized to decentralized media streaming
US8238335B2 (en) 2009-02-13 2012-08-07 Avaya Inc. Multi-route transmission of packets within a network
US7936746B2 (en) * 2009-03-18 2011-05-03 Avaya Inc. Multimedia communication session coordination across heterogeneous transport networks
US20100265834A1 (en) * 2009-04-17 2010-10-21 Avaya Inc. Variable latency jitter buffer based upon conversational dynamics
US8094556B2 (en) * 2009-04-27 2012-01-10 Avaya Inc. Dynamic buffering and synchronization of related media streams in packet networks
US8553849B2 (en) 2009-06-17 2013-10-08 Avaya Inc. Personal identification and interactive device for internet-based text and video communication services
US8800049B2 (en) * 2009-08-26 2014-08-05 Avaya Inc. Licensing and certificate distribution via secondary or divided signaling communication pathway

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NZ198844A (en) * 1980-11-14 1984-05-31 Plessey Overseas Digital information transmission: two dimensional code
GB8315363D0 (en) * 1983-06-03 1983-07-06 Gordon J A Decoding errorcorrecting codes
US4583078A (en) * 1984-11-13 1986-04-15 Communications Satellite Corporation Serial Viterbi decoder
US4868830A (en) * 1985-09-27 1989-09-19 California Institute Of Technology Method and apparatus for implementing a traceback maximum-likelihood decoder in a hypercube network
US4730322A (en) * 1985-09-27 1988-03-08 California Institute Of Technology Method and apparatus for implementing a maximum-likelihood decoder in a hypercube network
GB8609711D0 (en) * 1986-04-21 1986-05-29 Clark A P Channel estimation & detection
US4748626A (en) * 1987-01-28 1988-05-31 Racal Data Communications Inc. Viterbi decoder with reduced number of data move operations
US4979175A (en) * 1988-07-05 1990-12-18 Motorola, Inc. State metric memory arrangement for a viterbi decoder
GB2244190A (en) * 1990-05-17 1991-11-20 Orbitel Mobile Communications Receiver systems with equalisers
KR930004862B1 (ko) * 1990-12-17 1993-06-09 삼성전자 주식회사 상태 평가량 기억장치
JPH05335973A (ja) * 1991-07-30 1993-12-17 Toshiba Corp ビタビ復号器及び畳み込み符号の復号器
US5465275A (en) * 1993-11-16 1995-11-07 At&T Ipm Corp. Efficient utilization of present state/next state registers

Also Published As

Publication number Publication date
EP0720303A3 (en) 1997-02-05
KR960027369A (ko) 1996-07-22
US5619514A (en) 1997-04-08
SG34347A1 (en) 1996-12-06
EP0720303A2 (en) 1996-07-03

Similar Documents

Publication Publication Date Title
US5465275A (en) Efficient utilization of present state/next state registers
JPH08340263A (ja) イン・プレイス現状態/次状態レジスタ
JP3241210B2 (ja) ビタビ復号方法及びビタビ復号回路
KR100426712B1 (ko) 비터비 복호기
US4979175A (en) State metric memory arrangement for a viterbi decoder
JPH11330988A (ja) ソフトシンボル確信レベルの生成方法
JP3262251B2 (ja) 減少長トレースバック
US6272188B1 (en) Single-cycle accelerator for extremun state search
US5878060A (en) Viterbi decoding apparatus and viterbe decoding method
US8401126B2 (en) Viterbi decoding apparatus
HK1006378A (en) In-place present state/next state registers
JP2904271B2 (ja) ビタビ復号器用パスメモリユニットおよび復号方法
JPH04421B2 (ja)
JP4422867B2 (ja) ビタビデコーダ
JP3250363B2 (ja) 演算装置
HK1005007A (en) Efficient utilization of present state/next state registers
KR100277467B1 (ko) 비터비 디코더
US6954155B2 (en) Data compression method and processor
KR19990076528A (ko) 비터비 알고리즘 처리를 위한 가산 비교 선택 고속화 장치 및방법
JP3786329B2 (ja) 符号化復号化装置
KR100266409B1 (ko) 비터비 디코더
JP2571384B2 (ja) シ−ケンシャル復号器
KR20040065841A (ko) 비터비 복호기의 트레이스백 연산방법
JPH02309821A (ja) ファノ型逐次復号器
JP2000196468A (ja) ビタビ復号化装置およびビタビ復号化方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20011017