JP2002176366A - 通信の復号化の際に用いられるバタフライプロセッサ装置 - Google Patents

通信の復号化の際に用いられるバタフライプロセッサ装置

Info

Publication number
JP2002176366A
JP2002176366A JP2001281587A JP2001281587A JP2002176366A JP 2002176366 A JP2002176366 A JP 2002176366A JP 2001281587 A JP2001281587 A JP 2001281587A JP 2001281587 A JP2001281587 A JP 2001281587A JP 2002176366 A JP2002176366 A JP 2002176366A
Authority
JP
Japan
Prior art keywords
output
input
processor
path metric
butterfly
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.)
Granted
Application number
JP2001281587A
Other languages
English (en)
Other versions
JP4907802B2 (ja
Inventor
Mark Andrew Bickerstaff
アンドリュー ビッカースタッフ マーク
Christopher J Nicol
ジェイ ニコル クリストファー
Bing Xu
フ ビン
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 JP2002176366A publication Critical patent/JP2002176366A/ja
Application granted granted Critical
Publication of JP4907802B2 publication Critical patent/JP4907802B2/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/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • H03M13/3922Add-Compare-Select [ACS] operation in forward or backward recursions
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • 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/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • 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/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • H03M13/3927Log-Likelihood Ratio [LLR] computation by combination of forward and backward metrics into LLRs
    • 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/3961Arrangements of methods for branch or transition metric calculation
    • 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
    • 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
    • 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/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • H03M13/4169Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using traceback
    • 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
    • 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
    • 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/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • 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/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6511Support of multiple decoding rules, e.g. combined MAP and Viterbi decoding
    • 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/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • 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/6566Implementations concerning memory access contentions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0055MAP-decoding

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 畳み込み復号化と対数MAP復号化を実行す
るバタフライプロセッサを提供する。 【解決手段】第1と第2の加算/比較/選択モジュール
が入力パスメトリックを受領するために具備される。ブ
ランチメトリック計算機が入力データと外部データを受
領するために具備される。ブランチメトリック計算機が
出力ブランチメトリックを前記の各第1と第2の加算/
比較/選択モジュールに与える。各加算/比較/選択モ
ジュールは、比較素子、選択素子に接続された対数和修
正手段を有する。制御可能なスイッチが選択素子の出力
と対数和修正手段の出力を選択的に結合し、畳み込み復
号化と対数MAP復号化を実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ワイヤレス通信に
おける復号化に関し、特に、ワイヤレス通信システムに
おける復号化のためのバタフライプロセッサに関する。
【0002】
【従来の技術】通信システムは、送信器から受信器への
情報の伝送を扱う。情報が通る通信媒体は、しばしば、
宇宙線、加法的白色ガウスノイズ(AWGN:Additive
WhiteGauss Noise)、レイリー散乱(マルチパス伝
搬)および電磁ノイズなどの多くのノイズ源を含む。こ
れらのノイズ源の存在は、所望の情報の伝送を障害ない
し妨害し、通信の能力を制限する。
【0003】当業者に周知のように、ソース(情報源)
の情報から計算される冗長情報の付加により、送信され
るべき情報を符号化することにより、送信情報を正しく
受信する能力が改善される。復号は、受信されたデータ
について、この冗長情報を用いて、誤りの存在を検出
し、あるいは、最も確からしい送信ビットを推定するこ
とである。送信された冗長情報が、後で受信データによ
り計算されたものとは異なるとき、誤りが検出される。
【0004】符号語の重みは、その符号語からデータを
回復することができる能力の尺度である。ビット数の大
きい符号語は高い重みを有する。低い重みの符号語は、
データを回復する能力が低いのに対して、高い重みの符
号語は、データの回復能力が高い。
【0005】自動再送要求(ARQ)符号化方式は、誤
り検出符号を使用する。受信された情報において誤りの
存在が検出された場合、関連する情報の再送を要求する
メッセージが、受信器から送信器に送られる。ARQ符
号化方式は比較的単純であるが、フィードバックチャネ
ルを使用することを要し、スループットは変動して比較
的に低い。
【0006】前方誤り訂正(FEC)符号化方式は、伝
搬遅延およびレイテンシが問題となるシステムにおいて
情報を符号化するために用いられる。受信器は、フィー
ドバックチャネルを必要とせずに、誤りを検出・訂正す
ることができる。
【0007】符号化方式は、ブロック符号および畳込み
符号に大きく分類することができる。
【0008】ブロック符号は、k個の情報ビットのメッ
セージを、構造化されたnビット(ただし、n>k)の
系列(シーケンス)へとマッピングする。この符号を
(n,k)符号という。比(n−k)/kを、符号の冗
長度といい、全ビット数に対する情報ビット数の比k/
nを符号レート(符号化率)という。挿入される追加ビ
ットは冗長性を提供し、復号器が誤り検出・訂正を行う
ために用いられる。符号化中に付加される冗長ビット
は、そのメッセージブロック内のk個の情報ビットのみ
に依存する。ブロック符号は、ARQが実装されるとき
に誤りを検出するためにしばしば用いられる。
【0009】畳込み符号化は、与えられた期間における
n個の符号ビットのブロックを、k個の情報ビットから
生成する。ただし、nおよびkは一般に小さい。符号器
によって生成されるnビットのブロックは、その期間の
k個の情報ビットだけでなく、あらかじめ規定された個
数の先行する期間中に生成されたメッセージブロックに
も依存する。この符号化について与えられるメモリ(記
憶)により、許容される符号系列に基づいて、誤りを訂
正することが可能となる。畳込み復号は、ビタビアルゴ
リズムまたは対数MAPアルゴリズムのいずれかを用い
て実行することが可能である。
【0010】畳込み復号は、データの再送およびそれに
伴う遅延が許されないワイヤレス音声通信システムにと
って好ましい。ブロック符号は、高いスループットを出
すことが可能であり、レイテンシがあまり問題とならな
いデータの伝送にとって好ましい。
【0011】ターボ符号(並列連接符号ともいう)は、
その性能がシャノン容量限界に非常に近い符号のクラス
である。ターボ符号は、畳込み符号器を並列または直列
に接続して連接出力を生成することにより実現される。
ある符号器から次の符号器に移るビット系列は、インタ
リーバによって置換(並べ換え)される。このように、
単一の符号器によって生成される低重み符号語は、高重
み符号語に変換される。こうして、ターボ復号は、2個
の低重み符号語を受け取り、ずっと高い重みの符号語の
効果を得る。
【0012】現在、消費者向けのワイヤレス通信方式は
主に、音声の伝送に関するものである。このようなワイ
ヤレス通信方式には、AMPS(Advanced Mobile Phone
Services)、GSM(Global System for Mobile Commun
ication)およびCDMA(符号分割多元接続)がある。
これらは、第1世代(1G)および第2世代(2G)の
方式を代表する。データと音声の通信方式の結合ととも
に、データの伝送がより重要となる第2.5世代(2.
5G)および第3世代(3G)の方式が現れ始めてい
る。高い伝送レートですぐれた誤り性能を達成するため
には、ターボブロック符号化が好ましい。ブロック符号
化に特有のレイテンシは、音声の伝送の場合ほど重要な
問題ではない。UMTS(Universal Mobile Telecommun
ication Service)やCDMA2000のような新しい第
3世代の移動ワイヤレス標準は、データストリームにつ
いてはターボ符号化を、音声ストリームについては畳込
み符号化を要求する。これらの方式は、データについて
複雑なターボ復号器を、音声についてビタビ復号器を要
求する。さらに、下位互換性から、第2世代標準もサポ
ートすることが要求される。
【0013】
【発明が解決しようとする課題】音声およびデータの伝
送は、伝送レートと、レイテンシ・伝搬遅延との競合す
る要求を提示する。このような問題点を解決するための
現在の主流は、相異なる符号化方式、すなわち、データ
ストリームについてターボ符号化を、音声ストリームに
ついて畳込み符号化を、提供することである。その結
果、相異なる復号器も必要となるため、複数のハードウ
ェアプラットフォームが生じ、通信事業者のコストが増
大する。
【0014】一般にバタフライプロセッサは、枝メトリ
ック計算器および多数の加算比較選択ユニットからな
る。既知のバタフライプロセッサは、ビタビ計算もしく
は対数MAP計算を実行することができる。従って、ビ
タビ計算および対数MAP計算を実行するためには2つ
のバタフライプロセッサが必要となり、その結果余計な
ハードウェアコストがかかる。
【0015】
【課題を解決するための手段】本発明によれば、バタフ
ライプロセッサ装置は畳込み計算および対数MAP計算
を実行することができる。本発明のバタフライプロセッ
サ装置は周知の比較および選択要素に接続された対数和
補正装置を含む。
【0016】選択要素および対数和補正装置の出力に選
択的に接続する可制御スイッチは、バタフライプロセッ
サの所望の出力を生成するために提供される。本発明
は、現在2つのバタフライプロセッサが必要とされる計
算を1つのバタフライプロセッサで実行できるというよ
うなハードウェアの縮小を提供する。
【0017】
【発明の実施の形態】好ましい実施例は、ワイヤレス通
信システムのための統合復号器のアーキテクチャを提供
する。統合復号器は、畳込み符号化およびターボ符号化
がなされたデータストリームに必要な復号を実現する。
統合復号器アーキテクチャは、複数のデータストリーム
および複数の音声ストリームを同時にサポートすること
ができる。さらに、この復号器は、必要に応じて動的に
分割され、相異なる標準の音声ストリームを復号するこ
とができる。好ましい実施例はモジュール性を有するた
め、容易にスケーラブルとなる。
【0018】図1に、ワイヤレス通信ネットワーク10
0を示す。UMTS基地局110は送受信器112を有
し、送受信器112は、復号器モジュール150aを有
する。送受信器112は、交換ネットワーク160を通
じて、リモート基地局140に配置された、復号器モジ
ュール150fを有する別のUMTS送受信器146と
通信する。また、送受信器112は、復号器モジュール
150iを有する移動ハンドセット160aとも通信す
る。送受信器146は、復号器ユニット150mを有す
る別の移動ハンドセット160fと通信する。
【0019】基地局140は、復号器ユニット150d
を有する送受信器142と、復号器ユニット150eを
有する送受信器144とをさらに有する。送受信器14
2は、CDMA送受信器として動作し、交換ネットワー
ク160を通じて、CDMA送受信器132および復号
器ユニット150cを有するリモートCDMA基地局1
30と通信するように構成される。また、送受信器14
2は、復号器ユニット150jを有する移動ハンドセッ
ト160dとも通信する。送受信器132は、復号器ユ
ニット150gを有する移動ハンドセット160cと通
信する。
【0020】送受信器144は、交換ネットワーク16
0を通じて、送受信器122および復号器ユニット15
0bを有する、リモートに配置された基地局120と通
信する。また、送受信器144は、復号器ユニット15
0kを有する移動ハンドセット160eとも通信する。
送受信器122は、復号器ユニット150hを有する移
動ハンドセット160bと通信する。
【0021】送受信器112、122、132、14
2、144および146ならびに移動ハンドセット16
0a〜160fに配置される復号器ユニット150a、
150b、150c、150d、150e、150f、
150g、150h、150i、150j、150kお
よび150mは、相異なるセルラネットワーク標準に準
拠するように構成された、統合復号器アーキテクチャの
実施例である。
【0022】図1の統合復号器アーキテクチャは、複数
のネットワーク標準を運用している通信会社に対して、
フレキシビリティおよびコスト削減の点で多大な利益を
提供する。というのは、同じ復号器ブロックが、相異な
るネットワークコンポーネントにおける多くの相異なる
符号化方式を実現するために使用可能であるからであ
る。
【0023】図2に、送信器210から受信器270へ
の情報の伝送を改善するために符号化が用いられる通常
の通信システム200を示す。送信器210は、入力デ
ータストリームを符号器220に供給する情報源205
を有する。符号器220では、通信チャネル240に存
在するノイズ源の結果として情報の伝送中に生じうる誤
りを検出・訂正する能力を改善するように、あらかじめ
規定された符号化アルゴリズムに従って入力データスト
リームに冗長情報が付加される。符号化された入力スト
リームは、続いて、その符号化データストリームを送信
波形に印加するために変調される(230)。符号化さ
れた情報は、チャネル240を通じて伝送される。チャ
ネル240は、それに作用する多くのノイズ源280を
有する。チャネル240は、受信器270に結合する。
受信器270は、変調器230に対応する復調器250
を有し、復調器250は、復号器260への出力を生成
し、復号器260は、受信情報信号275を出力する。
【0024】図3に、復号器260が一般のビタビ復号
器である通信システム200を示す。ビタビ復号器26
0への入力は、チャネル240から受信される符号化情
報である。ビタビ復号器は、枝メトリック計算器(BM
C:branch metric calculator)ユニット289を有す
る。BMCユニット289の出力は、加算比較選択(A
CS)ユニット291に提供される。状態コントローラ
290は、BMCユニット289、ACSユニット29
1およびパスメトリックメモリ292に入力を提供す
る。パスメトリックメモリ292は、二重バッファとし
て作用し、ACSユニット291と情報を交換する。A
CSユニット291のボロー出力294は、トレースバ
ックメモリ・コントローラ293に提供され、トレース
バックメモリ・コントローラ293の出力は受信情報信
号275となる。
【0025】図4に、図2の復号器260のターボ復号
構成を示す。ターボ復号器における受信シンボルは、送
信された実際のデータを表す組織データと、パリティデ
ータとからなる。第1入力261は、受信シンボルのパ
リティデータであり、デマルチプレクサ263に提供さ
れる。デマルチプレクサ263の第1出力264は、第
1復号器266に提供される。第2入力262は、受信
シンボルの組織データであり、第1復号器266に提供
される。再帰入力277もまた、第1復号器266に提
供される。第1復号器266の出力267は、インタリ
ーバ268に提供され、インタリーバ268の出力26
9は、第2復号器271に提供される。デマルチプレク
サ263の第2出力265もまた、第2復号器271に
提供される。第2復号器271の第1出力272は、第
1デインタリーバ274に提供され、第1デインタリー
バ274の出力は再帰入力277となる。第2復号器2
71の第2出力273は、第2デインタリーバ276に
提供される。第2デインタリーバ276の出力は、スラ
イサ278に提供され、スライサ278は、ソフト
(軟)出力にしきい値を適用してそれをハード(硬)出
力に変換し、受信情報信号275とする。
【0026】好ましい実施例の統合復号器アーキテクチ
ャは、音声およびデータの両方の機能を有するワイヤレ
ス通信システムにおける復号器260を置き換えること
を意図しており、ビタビ復号および対数MAPターボ復
号に必要な計算の類似性を活用して、メモリおよび処理
ユニットが、これらのいずれの方式のために設定される
ときにも効率的に使用されるようにする。対数MAP
は、畳込み符号の復号に利用可能なアルゴリズムであ
る。対数MAPはまた、ターボ復号反復の半サイクルに
も用いられる。好ましい実施例におけるプロセッサは、
互いに積み重ねられ、階層スイッチング構造を用いて相
互接続されることにより、それらのプロセッサは、別個
の復号器として独立に動作することも可能であり、ま
た、1つの所定のプロセッサを主要なプロセッサとして
単一の高速復号器を形成するように結合することも可能
である。
【0027】図5に、本発明の実施例による統合復号器
構造900のブロックアーキテクチャを示す。特定の伝
送に対してあらかじめ合意された符号化方式のアルファ
ベットからのマルチビット入力シンボル901が、バタ
フライ復号プロセッサバンク920にブロードキャスト
される。バタフライ復号プロセッサバンク920はま
た、第1ストアバンク940の出力を、入力として受け
取る。制御ユニット960は、中間復号結果メモリ91
0、バタフライ復号プロセッサバンク920、第1スト
アバンク940および第2ストアバンク950のそれぞ
れに入力を提供する。制御ユニット960は、必要に応
じて畳込み符号化またはターボ符号化を実行するため
に、それらの入力を通じて適当な制御信号を発行する。
【0028】図5の実施例は、1ロー(行)復号器のも
のである。複数の復号器ローを相互接続して単一の復号
器を形成するとき、その単一復号器内のそれぞれの復号
器ローには、同じマルチビット入力シンボル901が提
供される。複数の復号器ローが複数の復号器として作用
するとき、実現されるそれぞれの復号器には、別個のマ
ルチビット入力シンボル901が提供される。
【0029】バタフライ復号プロセッサバンク920
は、第1出力962、964、966および968を生
成し、これらは、バス990を通じて第2ストアバンク
950に送られる。第2ストアバンク950の出力は、
第1ストアバンク940に入力される。復号器の一般的
な実施例は通常、第1ストアバンク940および第2ス
トアバンク950を二重バッファリングモードで使用す
る。
【0030】バタフライ復号プロセッサバンク920
は、第2出力961、963、965および967を生
成し、これらは、制御ユニット960に提供される中間
復号結果となる。
【0031】バタフライ復号プロセッサバンク920
と、少なくとも1つのストアを通じてのループフィード
バック接続は、トレリスプロセッサとしてのループ機能
を形成する。
【0032】中間復号結果メモリ910は、復号出力9
99を生成する。中間復号結果メモリ910は、対数M
APアルゴリズムを計算する際に制御ユニット960に
再帰結果を提供することが可能である(後述)。
【0033】図6に、本発明の好ましい実施例による統
合復号器1200のブロックアーキテクチャを示す。統
合復号器1200の制御ユニット1210は、レート1
201、拘束長1202、畳込み・ターボセレクタ12
03、多項式1204、トレリス方向1205、反復数
1206、ブロック長1207、クロック1208およ
びリセット1209を含む複数の入力を受け取る。レー
ト1201は、送信ブロックに存在する1個のデータビ
ットを表現するために使用される情報の量を示す。拘束
長1202は、提供される入力情報ビットを符号化する
ために使用される先行入力シンボル数を示し、従って、
与えられた1個の入力シンボルを復号するために処理さ
れるトレリスの複雑さの指標でもある。多項式1204
は、復号プロセスで用いられる生成多項式係数である。
反復数1206は、ターボモードで動作するときに復号
器1200によって実行されるループ回数を定める。反
復数1206の値が大きいほど、計算時間の増大という
犠牲のもとで、復号出力1294の精度が高いことを示
す。
【0034】制御ユニット1210は、中間復号メモリ
・プロセッサ1240、対数尤度プロセッサ1250a
および1250b、マルチプレクサバンク1250c、
比較器1247、バタフライ復号プロセッサ1260、
逆アドレスプロセッサ1270、正規化減算器127
8、マルチプレクサバンク1278a、パスメトリック
ストア1280、順アドレスプロセッサ1290、対数
尤度比プロセッサ1297ならびに入力シンボル履歴1
298と相互接続される。制御ユニット1210は、こ
れらの接続を通じて統合復号器1200のアーキテクチ
ャを再構成することにより、必要に応じて、畳込み復号
器またはターボ復号器のいずれを実現することも可能で
ある。
【0035】入力シンボル1299は、入力シンボル履
歴1298に提供される。入力シンボル履歴1298
は、一定のデータフローが維持されることを保証するた
めの二重バッファとして作用する。入力シンボル履歴1
298はまた、入力シンボル履歴バンクセレクト121
1、入力シンボル履歴アドレス1219、入力シンボル
履歴クロック1223および入力シンボル履歴リセット
1225を制御ユニット1210から受け取る。入力シ
ンボル履歴1298は、第1出力1291aと第2出力
1291bを生成する。第1出力1291aはバタフラ
イ復号プロセッサ1260に提供され、第2出力129
1bは対数尤度プロセッサ1250aに提供される。
【0036】バタフライ復号プロセッサ1260はま
た、入力として、逆トレリスパスメトリック1265を
逆アドレスプロセッサ1270から、外部情報を中間復
号メモリ・プロセッサ1240から受け取る。制御ユニ
ット1210はまた、バタフライリセット1215、バ
タフライレート1216、バタフライクロック121
7、バタフライ多項式1218、バタフライ拘束122
0、バタフライモード1221およびベータフェーズイ
ネーブル1235を含む複数の入力を、バタフライ復号
プロセッサ1260に提供する。
【0037】バタフライ復号プロセッサ1260は、ト
レリスダイヤグラムにおける対応する1つの状態に対す
る新しい複数ビットのパスメトリックを生成する。この
新しいパスメトリックは、32ビットバス1266およ
び1267上に出力される。32ビットバス1266お
よび1267は、比較器1247およびマルチプレクサ
バンク1250cに接続される。バタフライ復号プロセ
ッサ1260はまた、判定ビット1255を生成する。
判定ビット1255は、中間復号メモリ・プロセッサ1
240に入力される。
【0038】対数MAP計算の第1フェーズにおいて、
バタフライ復号プロセッサ1260はガンマおよびアル
ファを計算する。第2フェーズにおいて、バタフライ復
号プロセッサ1260は、第1フェーズで対数尤度プロ
セッサ1250aおよび対数尤度プロセッサ1250b
によって計算されたダミーベータを用いて、ベータを計
算する。
【0039】図7に示されるように、バタフライプロセ
ッサバンク1260内のそれぞれのバタフライプロセッ
サは、2個の加算比較選択ユニット(ACSとして図
示)320と、中間枝メトリック計算器(BMC)33
0を含む。BMC330は、周知のビタビ復号器におけ
る枝メトリックユニット(BMU:Branch Metric Uni
t)と同じ機能を実行し、それぞれのACS320は、
トレリス復号に対するパスメトリック計算を実行する。
【0040】図7に、図6のバタフライプロセッサ12
60の例示的なバタフライユニットを示す。これは、2
個の加算比較選択ユニット320と、1個の中間枝メト
リック計算器330を有する。それぞれの加算比較選択
ユニット320には、入力パスメトリック0(1265
a)および入力パスメトリック1(1265b)が提供
される。入力シンボル1291aおよび外部情報124
2は、バタフライプロセッサバンク1260内のそれぞ
れの枝メトリック計算器330にブロードキャストされ
る。中間枝メトリック計算器には、バタフライレート1
216、バタフライ拘束1220およびバタフライ多項
式1218も提供される。
【0041】トレリスの1つのコラム(列)内の各状態
は、それに至る1対の枝メトリックを有する。それぞれ
の枝メトリックには、1個のシンボルが関連づけられ
る。したがって、与えられた向きにトレリスをたどる
と、注目している1つの状態について、2個の可能なシ
ンボルのうちの一方が、前の状態に依存して期待され
る。BMC330は、受け取った入力シンボル1291
aの、期待されるシンボルへの近接性の尺度を決定す
る。BMC330は、出力枝メトリック0(406)を
生成し、これは、mビット幅のバスを通じて、第1AC
Sユニット0(320)および第2ACSユニット1
(320)に提供される。BMC330は、トレリスの
対称性を活用して、枝メトリック0(406)を算術的
に反転させることによって、第2の枝メトリック1(4
02)を生成する。枝メトリック1(402)は、同じ
くmビット幅のバスを通じて、第1ACSユニット0
(320)および第2ACSユニット1(320)に提
供される。バタフライモード1221は、それぞれのA
CSユニット320に提供され、使用する符号化方式の
ためにそれらを適当に設定する。ACSユニット320
およびBMCユニット330はまた、バタフライリセッ
ト1215、バタフライクロック1217およびベータ
フェーズイネーブル1235も受け取る。
【0042】。それぞれのACSユニット320は、2
個の出力を生成する。これらの出力は、図7のACS0
の場合、第1出力1255aおよび第2出力1267a
からなる。第1出力1255aは、比較ボロービットの
値をとる判定ビットであり、上側または下側のいずれの
可能パスメトリックを選択するかを示す。値0の判定ビ
ットは、下側の可能パスメトリックが選択されることに
対応し、他方、値1の判定ビットは、上側の可能パスメ
トリックが選択されることに対応する。第2出力126
7aは、トレリスダイヤグラムにおける対応する1つの
状態に対する新しい複数ビットのパスメトリックであ
る。ACS1は、対応する出力1255bおよび126
7bを生成する。
【0043】図8に、図7のACSユニット0(32
0)のアーキテクチャを示す。2対の入力402と12
65b、および、406と1265aがそれぞれ、加算
器410および412に提供される。第1の入力の対
は、枝メトリック1(402)およびパスメトリック1
(1265b)からなり、第2の入力の対は、枝メトリ
ック0(406)およびパスメトリック0(1265
a)からなる。それぞれの入力対の構成要素は、それぞ
れの加算器410および412で加算され、加算器41
0および412の対応する出力411および413は、
全減算器414に提供される。出力411および413
はまた、第1の2対1マルチプレクサ420にも提供さ
れる。全減算器414のボロー出力1255aは、入力
値の最大値MAXを計算するために、第1マルチプレク
サ420に供給される。ボロービット1255aはま
た、ACSユニット320の出力としても提供され、値
0は下側パスメトリックが選択されたことを示し、値1
は上側パスメトリックが選択されたことを示す。
【0044】全減算器414の第2出力415は、2個
の加算器結果411および413の差を表し、対数和補
正テーブル440に提供される。対数和補正テーブル4
40は、全減算器414の出力が小さいときに、対数M
AP復号の場合に対数領域における結果の精度を高める
ために、新しいパスメトリックの結果を調整する。対数
和補正テーブル440の出力441は、加算器460に
提供される。第1マルチプレクサ420の出力421
は、加算器460と、第2の2対1マルチプレクサ45
0に提供される。加算器460からの結果461は、第
2マルチプレクサ450に第2の入力として提供され
る。バタフライモード1221である制御信号もまた、
第2マルチプレクサ450に入力され、ビタビ符号化方
式または対数MAP符号化方式のいずれが実行されてい
るかを判断するために用いられる。第2マルチプレクサ
450は、出力451を生成し、これは、累算レジスタ
470および別のマルチプレクサ480に供給される。
累算レジスタ470は、バタフライリセット1215を
受け取り、マルチプレクサ480への出力472を生成
する。マルチプレクサ480は、イナクティブ時に出力
451を選択し、アクティブ時に累算レジスタ470か
らの出力472を選択するセレクト(選択)信号とし
て、ベータフェーズイネーブル1235を受け取る。マ
ルチプレクサ480からの選択された出力は、ACSユ
ニット320の出力パスメトリック1267aである。
【0045】マルチプレクサバンク1250cは、制御
ユニット1210からセレクト信号1258を受け取
る。セレクト信号1258は、バタフライプロセッサ1
260から出力されるバタフライパスメトリック126
6および1267か、あるいは、対数尤度プロセッサ0
(1250a)および対数尤度プロセッサ1(1250
b)により生成されるパスメトリックかのいずれかを選
択するために用いられる。ビタビ計算中は、バタフライ
パスメトリック1266および1267が選択される。
対数MAP計算の第1フェーズにおいては、バタフライ
パスメトリック1266および1267が選択される一
方、バタフライ復号プロセッサ1260はガンマおよび
アルファを計算する。同時に、対数尤度プロセッサ0
(1250a)はダミーベータを計算する。第1フェー
ズの終了時に、対数尤度プロセッサ0(1250a)に
よって生成されたパスメトリックが、マルチプレクサバ
ンク1205cによって選択され、対数尤度計算の第2
フェーズでベータを計算することを可能にするためにブ
ロードキャストされる。
【0046】マルチプレクサバンク1205cは、下側
パスメトリックバス1295および上側パスメトリック
バス1296上に、新しいパスメトリックを出力する。
バス1295および1296は、対数尤度プロセッサ1
250aおよび1250b、マルチプレクサバンク12
78aならびに順アドレスプロセッサ1290に接続さ
れる。
【0047】順アドレスプロセッサ1290は、順トレ
リスセレクト1232、順トレリスホールド1234、
順トレリス透過ビット1236およびパスメトリック入
力MUXセレクト1238を制御ユニット1210から
受け取る。これらは、統合復号器1200がトレリスを
順方向または逆方向のいずれの方向にたどるために使用
されているかに従って、順アドレスプロセッサ1290
を設定するために用いられる。
【0048】順アドレスプロセッサ1290は、トレリ
スを順方向にたどっているときに、トレリスの次のコラ
ムの計算のために、パスメトリックの見かけ上順次リス
トがバタフライプロセッサ1260に提供されるよう
に、バス1295および1296を通じて受け取られる
新しいパスメトリックを並べ換える。トレリスを逆方向
にたどっているときは、順アドレスプロセッサ1290
は透過的に作用する。
【0049】パスメトリックストア1280は、順アド
レスプロセッサ1290から出力される順トレリスパス
メトリック1285を受け取るほか、制御ユニット12
10から、アドレシング情報ADDR0(1228a)
およびADDR1(1228b)、パスメトリックリセ
ット1230ならびにパスメトリックリード/ライトク
ロック1231を受け取る。パスメトリックストア12
80は、記憶されているパスメトリック1276を、マ
ルチプレクサバンク1278aと、対数尤度プロセッサ
1250aおよび1250bに出力する。
【0050】マルチプレクサバンク1278aは、複数
の復号器ロー構成に対する相互接続点として用いられ、
記憶パスメトリック1276、制御ユニット1210か
らの制御信号1278b、ならびに、バス1295およ
び1296上の新しいパスメトリックを受け取る。マル
チプレクサバンク1278aは、対数MAP計算中にベ
ータ計算の初期化を行い、正規化減算器1278への出
力1277を生成する。
【0051】比較器1247は、バス1266および1
267を通じてバタフライ復号プロセッサ1260から
バタフライパスメトリックを受け取り、最大の新しいパ
スメトリックを決定する。この最大新パスメトリック
は、記憶されている最大パスメトリックと比較され、そ
れらの2つの値のうちの大きいほうが、正規化出力12
46として提供される。正規化出力1246は、正規化
減算器1278と、中間復号メモリ・プロセッサ124
0に送られる。
【0052】正規化減算器1278は、マルチプレクサ
バンク1278aからの出力1277を受け取り、パス
メトリックがアーキテクチャのダイナミックレンジ内に
含まれることを保証するために、正規化出力1246を
減算する。正規化されたパスメトリック1275は、逆
アドレスプロセッサ1270と、対数尤度プロセッサ1
250aおよび1250bに出力される。逆アドレスプ
ロセッサ1270はまた、入力として、対数尤度イネー
ブル1214、対数尤度0イネーブル1203 および
対数尤度1イネーブル1203、逆トレリスセレクト
1222、逆トレリスホールド1224ならびに逆トレ
リス透過ビット1226を制御ユニット1210から受
け取る。制御ユニット1210からの入力は、復号器1
200がトレリスを順方向または逆方向のいずれの方向
にたどっているかに依存して、逆アドレスプロセッサ1
270を適当に設定するために用いられる。逆アドレス
プロセッサ1270の出力は、逆トレリスパスメトリッ
ク1265として、バタフライ復号プロセッサ1260
に提供される。
【0053】逆アドレスプロセッサ1270は、トレリ
スを逆方向にたどっているときに、トレリスの次のコラ
ムの計算のために、パスメトリックの好ましい系列がバ
タフライプロセッサ1260に提示されるように、正規
化パスメトリックを並べ換える。トレリスを順方向にた
どっているときは、逆アドレスプロセッサ1270は透
過的に作用する。
【0054】対数尤度プロセッサ1250aは、対数尤
度モード1214a、逆トレリスホールド1224a、
逆トレリス透過ビット1226a、対数尤度レート12
48a、対数尤度拘束1249a、対数尤度クロック1
251a、対数尤度リセット1252a、対数尤度多項
式1253a、対数尤度0イネーブル1203a、対
数尤度イネーブル1203a、逆トレリスセレクト1
222a、およびセレクト信号1258aを制御ユニッ
ト1210から受け取る。対数尤度プロセッサ1250
aはまた、入力として、正規化パスメトリック127
5、入力シンボル履歴1298からの出力1291b、
記憶パスメトリック1276、バス1296および12
95上の新しいパスメトリックならびにインタリーバ外
部情報1256も受け取る。対数尤度プロセッサ125
0aは、第1出力1245aを生成し、これは、対数尤
度比プロセッサ1297に提供される。対数尤度プロセ
ッサ1250aはまた、入力1266′および126
7′をマルチプレクサバンク1250cに提供する。
【0055】第2の対数尤度プロセッサ1250bは、
対応する入力1214b、1224b、1226b、1
248b、1249b、1251b、1252b、12
53b、1203b、1203b、1222bおよ
び1258bを制御ユニットから受け取る。対数尤度プ
ロセッサ1250bはまた、入力として、正規化パスメ
トリック1275、記憶パスメトリック1276、イン
タリーバ外部情報1256ならびにバス1296および
1295上の新しいパスメトリックも受け取る。対数尤
度プロセッサ1250bは、出力1245bを生成し、
これは、対数尤度比プロセッサ1297に提供される。
【0056】対数尤度プロセッサ1250aは、対数M
AP計算の第1フェーズにおいて、ダミーベータを計算
するために使用される。対数MAP計算の第2フェーズ
では、対数尤度プロセッサ1250aおよび1250b
は、バタフライ復号プロセッサ1260とともに使用さ
れ、それぞれ「1」および「0」に対する対数尤度結果
を生成する。
【0057】中間復号メモリ・プロセッサ1240は、
ビタビ計算中は、出力を生成するためのバッファとして
作用する。対数MAP計算中には、中間復号メモリ・プ
ロセッサ1240は、パスメトリックストア1280の
拡張ストアとして作用する。中間復号メモリ・プロセッ
サ1240は、中間復号モード1212、中間復号方向
1237、拡散入力1243、リード/ライトクロック
1257、リセット1259およびクロッキング信号1
254を制御ユニット1210から受け取る。中間復号
メモリ・プロセッサ1240はまた、正規化出力124
6および判定ビット1255を受け取る。中間復号メモ
リ・プロセッサ1240は、外部情報1242およびト
レースバックプロセッサ出力1567を対数尤度比プロ
セッサ1297に提供し、対数尤度比プロセッサ129
7から入力1293を受け取る。中間復号メモリ・プロ
セッサ1240はまた、インタリーバ外部情報1256
を対数尤度プロセッサ1250aおよび1250bに出
力する。
【0058】対数尤度比プロセッサ1297は、対数尤
度プロセッサ1250aおよび1250bから出力12
45aおよび1245bを受け取るとともに、ハード・
ソフト出力セレクト1213および拡散入力1243を
制御ユニット1210から受け取る。対数尤度比プロセ
ッサ1297はまた、入力として、中間復号メモリ・プ
ロセッサ1240の外部情報1242と、スクランブル
アドレスデータ1286を受け取る。対数尤度比プロセ
ッサ1297は、復号出力1294と、中間復号メモリ
・プロセッサ1240への出力1293とを生成する。
【0059】出力1245aおよび1245bはそれぞ
れ、復号出力が「1」および「0」である確率を表す。
対数尤度比プロセッサ1297は、出力1245aと1
245bの減算を対数領域で実行する。これは、真数領
域で除算を実行することと等価である。この減算の結果
が復号出力1294を提供する。対数尤度比プロセッサ
1297はまた、出力1245aおよび1245bと外
部情報1242を減算して、出力1293を生成する。
これは新しい外部情報を表す。
【0060】最大拘束長kの符号は、2k−1状態のト
レリスダイヤグラムを生成する。図9に、最大拘束長6
の符号に対応する32状態生トレリスダイヤグラム10
00を示す。時刻Sにおける32個の状態1002の
それぞれは、時刻St+1における32個の状態100
4のうちの1つにマッピングされる2個の可能な枝メト
リックを有する。例えば、時刻Sにおける状態0(1
003)は、時刻S +1における状態0(1009)
および状態16(1007)に至る枝メトリック100
6および1008を有する。
【0061】32状態生トレリスダイヤグラム1000
は、同じトレリスの16個の対応するバタフライ接続1
010によって表現することも可能である。図からわか
るように、トレリスの1つのコラム1012における状
態対が、トレリスの次のコラム1014における対応す
る状態対にマッピングされる。時刻St+1におけるト
レリス状態1014は、結果として得られるパスメトリ
ックを表す。それぞれのバタフライ接続1010は、単
一のバタフライプロセッサ1260によって処理される
ことも可能である。本発明の好ましい実施例によれば、
図6に示したように、4個のバタフライプロセッサ12
60が設けられる。これにより、各クロックサイクルに
おいて、8個の結果パスメトリック位置を計算すること
が可能である。
【0062】図10に、32状態トレリスダイヤグラム
に対する結果パスメトリック位置1014を示す。32
個の結果パスメトリック位置は、4個のコラム102
2、1024、1026および1028に並べ換えられ
ている。各コラムは、4個のバタフライプロセッサによ
って生成される8個の結果パスメトリック位置を含む。
【0063】トレリス演算は、それぞれ1クロックサイ
クルに対応するいくつかのサブトレリス演算を含む。図
11A、図11B、図11C、図11Dおよび図11E
は、本発明の好ましい実施例がインプレースパスメトリ
ックアドレシングを実行するプロセスを示す。図11A
は、時刻t=1を示す。これは、第1サブトレリス演算
に対応し、この演算で、8個の新パスメトリック111
2が入力される。0、1、2および3を表す新パスメト
リック1112は、パスメトリックストア1280の上
側メモリブロックB0に対応するメモリ1102の第1
コラムに書き込まれる一方、パスメトリック16、1
7、18および19は、4個の保持レジスタ1114に
書き込まれる。パスメトリック16、17、18および
19は、メモリに書き込まれる前に1クロックサイクル
の間保持される。それらが書き込まれることになるメモ
リ位置は、トレリス状態8〜15に対する新パスメトリ
ックの計算が完了する次のクロックサイクルまで利用可
能にならないからである。
【0064】図11Bに示すように、次のクロックサイ
クルt=2において、さらに8個の新パスメトリック1
122が入力される。新しいパスメトリック位置4、
5、6および7に対応するパスメトリック1122が、
パスメトリックストア1280の下側メモリブロックB
1に対応するメモリ1104の第1コラムに書き込まれ
る。保持レジスタ1114の内容が、パスメトリックス
トア1280のB0に対応するメモリ1102の第2コ
ラムに書き込まれ、パスメトリック位置20、21、2
2および23に対応する新パスメトリックが、保持レジ
スタ1114の新しい内容として書き込まれる。
【0065】図11Cに示す第3のクロックサイクルに
おいて、さらにもう1つのグループの新パスメトリック
1134が提供される。状態8、9、10および11に
対応する新パスメトリックが、パスメトリックストア1
280のB0に対応するメモリ1102の第3コラムに
書き込まれ、状態20、21、22および23である保
持レジスタ1114の内容が、パスメトリックストア1
280のB1に対応するメモリ1104の第2コラムに
書き込まれる。
【0066】図11Dは、第4クロックサイクルを示
す。このクロックサイクル中に、最後の8個の新パスメ
トリック1144が提供される。状態12、13、14
および15に対応するこれらの新パスメトリックは、パ
スメトリックストア1280のB1に対応するメモリ1
104の第3コラムに書き込まれ、状態24、25、2
6および27に対応する保持レジスタの内容は、パスメ
トリックストア1280のB0に対応するメモリ110
2の第4コラムに書き込まれ、状態28、29、30お
よび31に対応する新パスメトリックは保持レジスタ1
114に書き込まれる。
【0067】図11Eに示すように、保持レジスタ11
14の内容を、パスメトリックストア1280のB1に
対応するメモリ1104の第4コラムに書き込むため
に、t=5に対応する次のクロックサイクルが必要であ
る。
【0068】図12は、本発明の好ましい実施例によ
る、32状態トレリスに対するパスメトリックコラムの
アドレシングを表す。パスメトリックコラムのアドレシ
ング順序1150は、パスメトリックコラムのリード/
ライトアドレスに対応する。テーブル1160の各ロー
は、シンボル時刻n(S)、シンボル時刻n+1(S
n+1)およびシンボル時刻n+2(Sn+2)を表
す、トレリスダイヤグラムの相異なるコラムに対応す
る。明らかなように、パスメトリックコラムのアドレス
の移動は周期的である。
【0069】図11A〜Eは、SからSn+1への進
行を示している。次のクロックサイクルt=6は、S
n+1からSn+2への遷移を開始させ、状態の順次リ
ストをACSユニットに提供するために、コラム0、
2、1、3が実行されることになる。
【0070】図13、図14a、図14b、図14c、
図14dおよび図14eに、本発明の好ましい実施例が
逆トレリスをたどる間にインプレースパスメトリックア
ドレシングを実行するプロセスを示す。図13は、図1
4a〜eで用いる記法を示す。図14aは、時刻t=1
を示し、第1のサブトレリス演算に対応する。メモリA
の第1コラムC0Aにあるパスメトリックは、保持レジ
スタ3010にシフトされている。図14bでは、時刻
t=2において、メモリBの第1コラムC0Bが保持レ
ジスタ3010に移動され、C0AとC2Aの関数が結
果パスメトリックC0A′およびC0B′を形成し、こ
れらの結果パスメトリックがそれぞれメモリAおよびB
の第1コラムに書き込まれる。図14cでは、メモリA
の第2コラムC1Aが保持レジスタ3010に入れられ
る。保持レジスタの前の内容C とC2Bの関数が、
新パスメトリックC1A′およびC1B′を形成し、こ
れらの新パスメトリックがそれぞれAおよびBの第3コ
ラムに書き戻される。
【0071】図14dでは、時刻t=4において、C
1Bが保持レジスタ3010に書き込まれる。C1A
3Aの関数が新パスメトリックC2A′および
2B′を生成し、これらの新パスメトリックがそれぞ
れメモリAおよびBの第2コラムに書き込まれる。図1
4eは、時刻t=5に対応する逆サブトレリス演算であ
り、この時刻には、C1BおよびC3Bの関数が結果パ
スメトリックC3A′およびC 3B′を形成し、これら
の結果パスメトリックがそれぞれメモリAおよびBの第
4コラムに書き込まれる。逆トレリスの計算において、
パスメトリックはスクランブルされて4個のバタフライ
プロセッサに提供され、図14a〜図14eで説明した
インプレースパスメトリックアドレシングは、結果パス
メトリックが順次(シーケンシャルに)提供されること
を保証する。
【0072】図15は、中間復号メモリ・プロセッサ1
240の実施例の高レベル概略ブロック図である。これ
は、それぞれの復号方式におけるトレースバックおよび
インタリーバの機能を実行する。中間復号メモリ・プロ
セッサ1240は、入力として、判定ビット1255、
正規化出力1246、拡散入力1243、中間復号方向
1237、中間復号モード1212、クロッキング信号
1254、リード/ライトクロック1257、リセット
信号1259、および、対数尤度比プロセッサ1297
からの出力1293を受け取る。中間復号メモリ・プロ
セッサ1240は、外部情報1242、インタリーバ外
部情報1256およびトレースバックプロセッサ出力1
567を含む出力を生成する。
【0073】図16は、中間復号メモリ・プロセッサ1
240の分解図である。トレースバックアドレスコント
ローラ1510は、入力として、判定ビット1255、
中間復号方向1237、正規化出力1246、クロッキ
ング信号1254、リセット信号1259、リード/ラ
イトクロック1257、および、中間復号モード121
2を反転したものを受け取る。トレースバックアドレス
コントローラ1510は出力1567を生成する。
【0074】トレースバックアドレスコントローラ15
10は、毎クロックサイクルに、判定ビット1255を
ウィンドウメモリサブシステム1530に書き込む。ト
レースバック中に、トレースバックアドレスコントロー
ラ1510は、トレリスセクションを検査し、始点とし
て使用すべき最大値を決定する。なお、各状態について
完全に値を記憶する必要はない。新しいトレースバック
バイトアドレスは、判定ビット1255のうちの1つを
用いて生成することができるからである。
【0075】インタリーバコントローラ1520もま
た、クロッキング信号1254、リセット信号125
9、リード/ライトクロック1257および中間復号モ
ード1212を受け取る。さらに、インタリーバコント
ローラ1520は、対数尤度比プロセッサ1297から
の出力1293、拡散入力1243、および、中間復号
方向1237も受け取る。インタリーバコントローラ1
520は、外部情報1242および1256を生成す
る。外部データ1242は、復号器1200がターボ復
号器として動作するときには、バタフライプロセッサ1
260への再帰入力として使用される。
【0076】インタリーバコントローラ1520は、毎
クロックサイクルの最初に外部情報1242および12
56を生成する。毎クロックサイクルの最後に、インタ
リーバコントローラ1520は、対数尤度比プロセッサ
1297からの出力1293の形で新しい外部情報を受
け取り、それをメモリに書き込む。
【0077】トレースバックアドレスコントローラ15
10とインタリーバコントローラ1520は相互接続さ
れ、結合リード/ライト信号1515をウィンドウメモ
リサブシステム1530に供給する。トレースバックア
ドレスコントローラ1510、インタリーバコントロー
ラ1520およびウィンドウメモリサブシステム153
0はさらに、双方向データバス1526およびアドレス
バス1525によって相互接続される。インタリーバコ
ントローラ1520は、ウィンドウメモリサブシステム
1530に接続された第2のアドレスバス1535を有
し、ウィンドウメモリサブシステム1530は、第2の
データバス1536上にインタリーバコントローラ15
20への出力を生成する。
【0078】図17に、トレースバックプロセッサ15
10を示す。判定ビット1255が第1マルチプレクサ
1550に提供される。マルチプレクサ1550の出力
は判定レジスタ1555に提供される。判定レジスタ1
555の出力はデータ1526であり、これは、トレー
スバックプロセッサ1510の出力として提供されると
ともに、第1マルチプレクサ1550の再帰入力として
フィードバックされ、また、ビットセレクト1558に
入力される。
【0079】中間復号方向1237は、アドレス変換ユ
ニット1560に入力される。アドレス変換ユニット1
560はまた、リード/ライトクロック1257を受け
取り、出力アドレス1525およびリード/ライト信号
1515を生成する。リード/ライトクロック1257
は、第1マルチプレクサ1550のセレクト信号として
も提供される。
【0080】正規化出力1246は、状態レジスタ15
62に入力される。状態レジスタ1562の出力は、ア
ドレス変換ユニット1560に入力されるとともに、前
状態ユニット1564への入力となる。前状態ユニット
1564は、2個の入力を第2マルチプレクサ1566
に提供し、第2マルチプレクサ1566の出力はトレー
スバックプロセッサ出力1567となる。
【0081】ビットセレクト1558の出力は、第1A
NDゲート1568に入力される。ANDゲート156
8の出力は、状態レジスタ1562に入力される。ビッ
トセレクト1558の出力は、第2ANDゲート156
9にも提供され、第2ANDゲート1569の出力もま
た状態レジスタ1562に提供される。
【0082】中間復号方向1237は、第1ANDゲー
ト1568に第2入力として提供されるとともに、マル
チプレクサ1566のセレクト入力となる。中間復号方
向1237はまた、NOTゲート1570を介して、第
2ANDゲート1569にも提供される。
【0083】図18に、図16のインタリーバコントロ
ーラ1520を示す。中間復号モード1212が、AN
Dゲート1580に提供され、ANDゲート1580の
出力は、2個のトライステートバッファ1582および
1583に提供される。ANDゲート1580への他方
の入力は、拡散入力1243を反転したものである。ト
ライステートバッファ1582はまた、入力として、リ
ード/ライトクロック1257も受け取る。第2トライ
ステートバッファ1583は、その第2入力として、対
数尤度比プロセッサ1297からの出力1293を受け
取る。対数尤度比プロセッサ1297からの出力129
3は、2個の論理ブロック1584および1586にも
入力される。拡散入力1243は、リセット信号125
9、およびクロック信号1254とともに、論理ブロッ
ク1584および1586のそれぞれに提供される。イ
ンタリーバ1520は、データバス1526を入力とし
て受け取り、対応する出力を外部情報1242として提
供する。第2データバス1536は、インタリーバ外部
情報1256として出力される。データバス1526は
双方向であり、インタリーバ1520からデータバス1
526への出力は、トライステートバッファ1583の
出力である。
【0084】第1論理ブロック1584は、中間復号モ
ード1212および中間復号方向1237を受け取り、
アドレス1525を生成する。第2論理ブロック158
6もまた、中間復号モード1212および中間復号方向
1237を受け取り、アドレス1535を生成する。論
理ブロック1584および1586のそれぞれは、入力
BETA_Dも受け取る。これは、ロー(LOW)またはハイ(HIG
H)パワー信号である。
【0085】図19は、図18の論理ブロック1584
の分解図である。図18の論理ブロック1586は同じ
構成を有する。ウィンドウカウント1590は、入力と
して、リセット1259、クロック1254およびイネ
ーブル1212を受け取る。ウィンドウカウント159
0はまた、入力として、第1加算器1592の出力も受
け取る。ウィンドウカウント1590は、加算器159
2および1593に提供される出力を生成する。第1加
算器1592は、第2入力として、定数1599を受け
取り、出力をウィンドウカウント1590に提供する。
ビットカウント1591は、入力として、リセット12
59、クロック1254、イネーブル1212および第
3加算器1594の出力を受け取る。ビットカウント1
591は、2個の加算器1593および1594に提供
される出力を生成する。BETA_Dは、要素1595に提供
される。要素1595は、1を加算し、BETA_Dがアクテ
ィブである場合、値のNOTをとり、結果を第3加算器
1594への第2入力として提供する。加算器1594
の出力は、ビットカウント1591に再帰入力として提
供される。
【0086】第2加算器1593の出力は、マルチプレ
クサ1596およびスクランブル1597に入力され
る。マルチプレクサ1596は、アーキテクチャが第1
または第2のいずれの復号器として動作しているかを示
すセレクト信号を受け取る。第2入力はスクランブル1
597の出力である。マルチプレクサ1596の出力
は、アドレス1525である。スクランブル1597
は、拡散入力1243をイネーブル信号として受け取
り、対数尤度比プロセッサ1297からの出力1293
をデータとして受け取る。スクランブル1597は、当
業者に周知のメモリあるいは論理機能とすることが可能
であり、ターボ復号器計算を実行する際に第1と第2の
復号器間でアドレスのスクランブルを実行するために使
用される。
【0087】図20は、図15のウィンドウメモリサブ
システム1530の概略ブロック図である。リード/ラ
イトクロック1515、アドレスバス1525および1
535、ならびにデータバス1526および1536
が、ウィンドウアドレスデコーダ1530aおよびウィ
ンドウメモリ1530b〜1530dに提供される。
【0088】図21に、図6の対数尤度プロセッサ12
50aを示す。4個のバタフライユニットのバンク14
10が設けられ、このバンクを構成するACSユニット
1412a〜1412hには、逆トレリスパスメトリッ
ク1415a〜1415hの対が逆アドレスプロセッサ
1270bから、および、記憶パスメトリック1276
がパスメトリックストア1280から提供される。記憶
パスメトリック1276は、対数MAP計算におけるア
ルファを表す。ACSユニット1412a〜1412h
のそれぞれには、対数尤度モード1214a、対数尤度
クロック1251aおよび対数尤度リセット1252a
も提供される。BMCユニット1414a〜1414d
にはそれぞれ、対数尤度レート1248a、対数尤度拘
束1249a、対数尤度多項式1253a、インタリー
バ外部情報1256および入力シンボル履歴1291b
を含む複数の入力が提供される。ACSユニット141
2a〜1412hは、第1出力1413a〜1413h
を生成する。これらの第1出力は、順序対として、AC
Sノードユニット1420a〜1420dに提供され
る。ACSユニット1412a〜1412hは、第2出
力480a〜480hを生成する。第2出力480a〜
480hのそれぞれは、対応する正規化減算器1470
a〜1470hに提供される。正規化減算器1470a
〜1470hは、出力1266′および1267′を生
成する。これらの出力は、以下で説明するように、マル
チプレクサを介して再帰的に逆アドレスプロセッサ12
70bに供給され、パスメトリックがアーキテクチャの
ダイナミックレンジ内にとどまることを保証するために
使用される。
【0089】第1のバンクを構成するマルチプレクサ1
417a〜1417hはそれぞれ、対応する正規化パス
メトリック1275a〜1275hを正規化プロセッサ
1278から、および、セレクト信号1258を制御ユ
ニット1210から受け取る。また、マルチプレクサ1
417a〜1417dは、対応するパスメトリック12
96a〜1296dも受け取り、マルチプレクサ141
7e〜1417hは、対応するパスメトリック1295
a〜1295dも受け取る。パスメトリック1295a
〜1295dおよびパスメトリック1296a〜129
6dは、対数MAP計算におけるベータを表す。セレク
ト信号1258は、正規化パスメトリック1275a〜
1275hか、それとも、パスメトリック1295a〜
1295dおよび1296a〜1296dのいずれが出
力されることになるかを決定するために使用される。
【0090】第2のバンクを構成するマルチプレクサ1
416a〜1416hはそれぞれ、対数尤度モード12
14aをセレクト信号として受け取るとともに、第1バ
ンクのマルチプレクサ1417a〜1417hからの対
応する出力を受け取る。マルチプレクサ1416a〜1
416dは、正規化減算器1470a〜1470dの出
力1266′である第3入力を受け取り、マルチプレク
サ1416e〜1416hは、正規化減算器1470e
〜1470hからの出力1267′を受け取る。マルチ
プレクサ1416a〜1416hからの出力は、逆アド
レスプロセッサ1270bに入力される。
【0091】逆アドレスプロセッサ1270bは、対数
尤度モード1214a、対数尤度0イネーブルに対する
ターボイネーブル1203a、対数尤度1に対するタ
ーボイネーブル1203a、逆トレリスセレクト12
22a、逆トレリス透過ビット1226aおよび逆トレ
リスホールド1224aも受け取る。対数尤度プロセッ
サ1250aのベータ出力1266′および1267′
は、復号器1200が対数MAP/ターボモードで動作
しているときに、ベータ処理フェーズの開始のために使
用される最終的なダミーベータ値を表す。
【0092】ACSノードユニット1420aおよび1
420bの出力は、ACSノードユニット1430aに
提供され、ACSノードユニット1420cおよび14
20dの出力は、ACSノードユニット1430bに提
供される。ACSノードユニット1430a、1430
bの出力は、さらに別のACSノードユニット1440
aに入力される。ACSノードユニット1440aの出
力は、マルチロー(多重行)比較器ツリーに提供され
る。このマルチロー比較器ツリーは、復号器がマルチロ
ー構成で動作するときに、調べているトレリスの状態に
対して計算されている最大のパスメトリックを捕捉する
ように、復号器全体にわたる。マルチロー比較器ツリー
からの出力は、減算器1450およびレジスタ1460
に提供される。減算器1450は、レジスタ1460へ
の再帰入力も提供する。レジスタ出力1245aは、対
数尤度プロセッサ1250aとなるとともに、減算器1
450と、正規化減算器1470a〜1470hのそれ
ぞれに供給される。
【0093】図22に、図21のACSノードユニット
1420aの一構成を示す。ACSリーフユニットから
の出力1413aおよび1413bは、比較器1474
およびマルチプレクサ1476に入力される。比較器1
474のボロー出力は、マルチプレクサ1476のセレ
クト信号として供給される。比較器1474の差出力
は、対数和補正テーブル1478に入力される。対数和
補正テーブル1478の出力は、加算器1480に提供
され、加算器1480の第2入力は、マルチプレクサ1
476の出力である。加算器1480は、その2つの入
力の和1425aを計算して出力する。この和1425
aは、対数和補正付きで、2つの入力1413aと14
13bの最大値を表す。
【0094】図23に、8ロー復号器実施例に対する、
図6の対数尤度プロセッサ1250aの構成を示す。各
ローの対数尤度プロセッサ1250a′は、マルチプレ
クサ1490のバンクを介して相互接続される。各マル
チプレクサ1490は、対応する復号器ローの対数尤度
プロセッサ1250a′に1つの入力を提供する。対数
尤度プロセッサ1250a′の対は、それらの出力を、
ACSノードユニット1420a′、1420b′、1
420c′および1420d′に入力する。対数尤度プ
ロセッサ1250a′の出力はまた、マルチプレクサ1
490のバンクへも再帰入力として提供される。ACS
ノードユニット1420a′、1420b′、1420
c′および1420d′は、2個ずつ対にされ、それら
の出力を、さらに別のACSノードユニット1430
a′および1430b′に入力する。ACSノードユニ
ット1420a′、1420b′、1420c′および
1420d′の出力はまた、マルチプレクサ1490の
バンクへも再帰入力として提供される。ACSノードユ
ニット1430a′および1430b′は、それらの出
力を、最後のACSノードユニット1440′に提供す
るとともに、マルチプレクサ1490のバンクに再帰入
力として提供する。最後のACSノードユニット144
0′の出力は、最後の再帰入力としてマルチプレクサ1
490のバンクに提供される。各マルチプレクサ149
0にはセレクト信号が提供される。
【0095】図24に、図21のACSユニット141
2aの1つの有用なアーキテクチャを示す。第1の入力
対、すなわち、枝メトリック1(402′)および枝メ
トリック0(406′)は、マルチプレクサ408に提
供され、マルチプレクサ408は出力402″を生成す
る。第2の入力対、すなわち、パスメトリック1276
aおよびパスメトリック1(1415b)は、マルチプ
レクサ409に提供され、マルチプレクサ409は出力
403′を生成する。マルチプレクサ408および40
9のそれぞれは、対数尤度モード1214aをセレクト
信号として受け取る。対数尤度モード1214aがイナ
クティブのとき、枝メトリック1(402′)がマルチ
プレクサ408によって選択され、パスメトリック14
15bがマルチプレクサ409によって選択される。他
方、対数尤度モード1214aがアクティブのときは、
枝メトリック0(406′)がマルチプレクサ408に
よって選択され、パスメトリック1276a(アルファ
値を表す)が409によって選択される。
【0096】マルチプレクサ408および409の出力
402″および403′は、加算器410′に提供され
る。和411′が加算器410′から出力され、マルチ
プレクサ416′およびマルチプレクサ417′に提供
される。マルチプレクサ417′は、枝メトリック0
(406′)を第2入力として受け取り、対数尤度モー
ド1214aをセレクト信号として受け取る。マルチプ
レクサ417′の出力418′は、加算器412′に提
供される。加算器412′は、パスメトリック0(14
15a)を第2入力として受け取る。加算器412′
は、和413′を生成する。和413′は、アルファ、
ベータおよびガンマの和を表す。和413′は、全減算
器414′およびマルチプレクサ420′に提供され
る。マルチプレクサ416′は、表現可能な最小の2の
補数に対応する配線入力407′を受け取るとともに、
対数尤度モード1214aをセレクト信号として受け取
る。全減算器414′はまた、マルチプレクサ416′
の出力408′を第2入力として受け取り、ボロー36
1′および差415′を生成する。
【0097】マルチプレクサ416′の出力408′
は、マルチプレクサ420′の第1入力として提供され
る。マルチプレクサ420′は、加算器412′の和4
13′を第2入力として受け取る。全減算器414′の
ボロー出力361′は、入力値の最大値MAXを計算す
るためにマルチプレクサ420′に供給される。全減算
器414′の第2出力415′は、マルチプレクサ出力
408′と和413′の差を表し、対数和補正テーブル
440′に提供される。対数和補正テーブル440′
は、全減算器414′の出力が小さいときに、対数MA
P復号の場合に対数領域における結果の精度を高めるた
めに、新パスメトリックの結果を調整する。対数和補正
テーブル440′の出力441′は、加算器460′に
提供される。マルチプレクサ420′の出力421′も
また、加算器460′に提供される。加算器460′か
らの結果490′は、累算レジスタ470′に入力され
る。累算レジスタ470′は、ダミーベータ対数MAP
計算のために値を累算する。累算レジスタの出力480
aは、さらに別のマルチプレクサ475′に入力される
とともに、ダミーベータ計算において使用するためにA
CSユニット1412aの出力として提供される。マル
チプレクサ475′は、和490′を第2入力として受
け取るとともに、対数尤度モード1214aをセレクト
信号として受け取る。マルチプレクサ475′の出力1
413aは、ACSユニット1412aの第2出力とな
る。
【0098】図25に、好ましい実施例による図6のバ
タフライ復号プロセッサ1260を示す。構成要素のA
CSユニットACS0〜ACS7のそれぞれには、バタ
フライモード1221、バタフライリセット1215、
バタフライクロック1217およびベータフェーズイネ
ーブル1235を含む複数の入力が提供される。構成要
素のBMCユニットBMC0〜BMC3のそれぞれに
は、バタフライレート1216、バタフライ拘束122
0およびバタフライ多項式1218が提供される。逆ト
レリスパスメトリック1265は、ACSユニットAC
S0〜ACS7への入力1265a〜1265hを提供
するようにファンアウトし、それぞれのACSユニット
が2個の逆トレリスパスメトリックを受け取るようにし
ている。逆トレリスパスメトリック1265aおよび1
265bは、ACSユニットACS0およびACS1の
それぞれに提供され、逆トレリスパスメトリック126
5cおよび1265dは、ACSユニットACS2およ
びACS3のそれぞれに提供され、逆トレリスパスメト
リック1265eおよび1265fは、ACSユニット
ACS4およびACS5のそれぞれに提供され、逆トレ
リスパスメトリック1265gおよび1265hは、A
CSユニットACS6およびACS7のそれぞれに提供
される。BMCユニットBMC0〜BMC3はまた、入
力として、外部情報1242および入力シンボル履歴入
力シンボル1291aも受け取る。
【0099】バタフライ復号プロセッサ1260は、好
ましくは、8個のACSユニットおよび4個のBMCに
よって形成され、次のような4個のバタフライプロセッ
サとして構成される。 (i)ACS0,BMC0,ACS1 (ii)ACS2,BMC1,ACS3 (iii)ACS4,BMC2,ACS5 (iv)ACS6,BMC3,ACS7
【0100】統合復号器アーキテクチャは、トレリスダ
イヤグラム内の各状態は他の2個の状態による影響しか
受けないということを利用する。最小拘束長kの符号
は、2 k−1状態のトレリスダイヤグラムを生じる。2
個のACSユニットおよび1個の中間BMCユニットを
有するバタフライプロセッサは、トレリス状態ダイヤグ
ラムにおける2個の状態を処理することが可能である。
したがって、拘束長4の符号を1クロックサイクルで処
理するためには、全部で8個のACSユニットが必要と
なる。より多くの状態を扱うには、より多くのクロック
サイクル数にわたり処理を行うか、または、より多くの
バタフライプロセッサを設ければよい。
【0101】ACSユニットACS0〜ACS7は、対
応する出力1255a〜1255hを生成し、これらの
出力はあわせて判定ビット1255を形成する。ACS
ユニットACS0〜ACS3によって計算される新パス
メトリックは、出力1267a〜1267dとして提供
され、上側新パスメトリックバス1267に送られる。
ACSユニットACS4〜ACS7によって計算される
新パスメトリックは、1266a〜1266dは、下側
新パスメトリックバス1266に提供される。
【0102】図26に、図6の逆アドレスプロセッサ1
270を示す。逆アドレスプロセッサ1270は、パス
メトリックを遅延させ並べ換えて、所望のパスメトリッ
クのパターンを生成することを可能にする。逆アドレス
プロセッサ1270はまた、復号器1200が順トレリ
スモードで動作しているときは、入力パスメトリックが
変更なしに出力として提供されるように透過的に作用す
ることが可能である。逆アドレスプロセッサ1270
は、入力として、逆トレリスセレクト1222、逆トレ
リスホールド1224、逆トレリス透過ビット122
6、対数尤度モード1214、対数尤度0イネーブル1
203、対数尤度1イネーブル1203、および正
規化パスメトリック1275を受け取る。正規化パスメ
トリック1275は、ファンアウトして、入力対127
5a・1275e、1275b・1275f、1275
c・1275g、および1275d・1275hを、対
応する第1バンクのマルチプレクサ1910a3、19
10b3、1910c3および1910d3と、対応す
る第2バンクのマルチプレクサ1915a〜1915d
に提供する。
【0103】逆トレリスセレクト1222は、第1バン
クのXORゲート1920a〜1920dのそれぞれに
提供される。XORゲート1920aおよび1920c
は、対数尤度0イネーブル1203を受け取り、XO
Rゲート1920bおよび1920dは、対数尤度1イ
ネーブル1203を受け取る。それぞれのXORゲー
ト1920a〜1920dは、第2バンクのXORゲー
ト1925a〜1925dの対応するXORゲートと、
マルチプレクサ1910a3〜1910d3に提供され
る出力を生成する。第2バンクのXORゲート1925
a〜1925dのそれぞれは、対数尤度イネーブル12
14を第2入力として受け取り、第2バンクのマルチプ
レクサ1915a〜1915dの対応するマルチプレク
サへの出力を生成する。前述のように、それぞれのマル
チプレクサ1915a〜1915dは、正規化パスメト
リックの対を受け取る。XORゲート1925a〜19
25dからの出力は、それぞれのマルチプレクサ191
5a〜1915dが提供される正規化パスメトリックの
うちの一方を選択するためのセレクト信号として作用す
る。マルチプレクサ1915a〜1915dのそれぞれ
は、マルチプレクサ1910b1、1910d1、19
10f1および1910h1のうちの対応するマルチプ
レクサに出力を提供する。
【0104】マルチプレクサ1910a3〜1910d
3および1915a〜1915dには、対数尤度イネー
ブル1214ならびに対数尤度0イネーブル1203
および対数尤度1イネーブル1203の値に依存して
異なる入力対が提供される。対数尤度0イネーブル12
03は、対数尤度プロセッサ0に対してイネーブルさ
れ、対数尤度プロセッサ1に対してディスエーブルされ
る。逆に、対数尤度1イネーブル1203は、対数尤
度プロセッサ1に対してイネーブルされ、対数尤度プロ
セッサ0に対してディスエーブルされる。逆アドレスプ
ロセッサ1270は統合復号器1200内のいくつかの
位置で使用されるため、逆アドレスプロセッサ1270
は、相異なる動作モードを扱うことができなければなら
ない。対数尤度イネーブル1214ならびに対数尤度イ
ネーブル1203および1203がイナクティブの
とき、逆アドレスプロセッサ1270は、非組織畳込み
符号によって生成されるトレリスに作用するビタビモー
ドにある。対数尤度イネーブル1214がアクティブの
とき、逆アドレスプロセッサ1270は、対数MAP復
号の場合の対数尤度演算のための逆トレリススイッチン
グを実行する。対数尤度イネーブル1214がアクティ
ブで、対数尤度イネーブル1203および1203
のいずれかがアクティブのとき、逆アドレスプロセッサ
1270は、ターボ復号の場合のように再帰組織符号を
用いて対数尤度演算のために適当なスイッチングを実行
する。XORゲートは、逆アドレスプロセッサ1270
の相異なる動作モードのために適当なスイッチングを実
現する。
【0105】第1バンクのマルチプレクサ1910a3
〜1910d3のそれぞれは、対応するラッチ1910
a2〜1910d2に提供される出力を生成する。ラッ
チ1910a2〜1910d2のそれぞれは、逆トレリ
スホールド1224を入力として受け取り、マルチプレ
クサ1910a1、1910c1、1910e1および
1910g1のうちの対応するマルチプレクサへの第2
入力として遅延出力を提供する。
【0106】逆トレリス透過ビット1226は、第3バ
ンクのマルチプレクサ1910a1〜1910h1のそ
れぞれにブロードキャストされ、第3バンクのマルチプ
レクサ1910a1〜1910h1は、対応するパスメ
トリック1265a〜1265hを生成する。パスメト
リック1265a〜1265hは、まとめられて、逆ト
レリスパスメトリック1265として提供され、逆アド
レスプロセッサ1270の出力となる。復号器1200
が順トレリス方向に動作しているときは、逆トレリス透
過ビット1226がセットされ、逆アドレスプロセッサ
1270では正規化パスメトリック1275が変更なし
に通過して逆トレリスパスメトリック1265となる。
【0107】図27に、図6の正規化減算器1278を
示す。正規化出力1246は、減算器1610a〜16
10hのそれぞれに入力される。マルチプレクサバンク
1278aの出力1277は、個々のパスメトリック1
277a〜1277hとして提供され、これらのパスメ
トリックはそれぞれ対応する減算器1610a〜161
0hに提供される。減算器1610a〜1610hの出
力1275a〜1275hは、正規化パスメトリック1
275を形成する。正規化減算器1278は、トレリス
をたどる間に計算され正規化出力1246として提供さ
れる最大パスメトリックを新パスメトリックから減算し
て、パスメトリック値がアーキテクチャのダイナミック
レンジ内に保持されることを保証するために、使用され
る。
【0108】図28に、本発明の好ましい実施例によ
る、図6の比較器1247を示す。バス1267上に提
供されるバタフライパスメトリックは、ファンアウトさ
れ、対応する最大値比較器1710a〜1710dへの
入力1267a〜1267dを生成する。同様に、バス
1266上に提供されるバタフライパスメトリックは、
ファンアウトされ、対応する最大値比較器1710e〜
1710hへの入力1266a〜1266dを生成す
る。パスメトリック1266a〜1266dおよび12
67a〜1267dは相互に比較され、最大パスメトリ
ック1715が、図31に示すマルチロー比較器ツリー
に出力される。マルチロー比較器ツリーは、復号器がマ
ルチロー構成で動作するときに、調べているトレリスの
状態に対して計算されている最大のパスメトリックを捕
捉するように、復号器全体にわたる。マルチロー比較器
ツリーからの出力は、レジスタ1720に提供される。
レジスタ1720は、トレリスをたどる間に計算された
最大パスメトリックを記憶する。出力1716はまた、
減算器1730にも入力される。レジスタ1720は、
減算器1730への第2入力を提供する。この入力は、
トレリスをたどる間に計算された最大パスメトリックを
提供する。この減算器は、トレリスをたどる間に計算さ
れた最大パスメトリックを最大パスメトリック1715
と比較し、計算されたばかりの最大パスメトリック17
15が、トレリスをたどる間に計算された最大パスメト
リックより大きい場合、ロード信号1735がレジスタ
1720に対してイネーブルされ、最大パスメトリック
1715がレジスタ1720にロードされて、トレリス
をたどる間に計算された最大パスメトリックとなる。こ
のレジスタは、正規化出力1246となるもう1つの出
力を提供し、これは、正規化減算器1278および中間
復号メモリ・プロセッサ1240に供給される。正規化
出力1246は、計算されたパスメトリック値がアーキ
テクチャのダイナミックレンジ内にとどまることを保証
するために使用される。
【0109】図29に、好ましい実施例による図6のパ
スメトリックメモリ1280を示す。パスメトリックリ
セット1230およびパスメトリックリード/ライトク
ロック1231が、メモリユニット1810a〜181
0hのそれぞれに提供される。上側メモリブロック18
10a〜1810dはB0としてまとめられ、入力AD
DR0(1228a)を受け取る。他方、下側メモリブ
ロック1810e〜1810hはまとめられてB1を形
成し、対応する入力ADDR1(1228b)を受け取
る。パスメトリックストア1280は、順トレリスパス
メトリック1285を受け取り、これはファンアウトさ
れ、図示のように、対応するメモリブロック1810a
〜1810hのそれぞれにパスメトリック1285a〜
1285hを提供する。パスメトリックストア1280
は、1トレリス処理サイクルの間、順トレリスパスメト
リック1285をバッファリングした後、出力1276
a〜1276hを生成し、これらの出力はまとめられて
記憶パスメトリック1276を形成する。
【0110】図30に、本発明の好ましい実施例による
図6の順アドレスプロセッサ1290を示す。順アドレ
スプロセッサ1290は、パスメトリックを遅延させ並
べ換えて、所望のパスメトリックのパターンを生成する
ことを可能にする。順アドレスプロセッサ1290はま
た、復号器1200が逆トレリスモードで動作している
ときは、入力パスメトリックが変更なしに出力として提
供されるように透過的に作用することが可能である。上
側パスメトリックバス1296は、構成要素のパスメト
リック1296a〜1296dに分かれ、これらは、図
示のように、2個のマルチプレクサ2010aおよび2
010bに提供される。これらのマルチプレクサのそれ
ぞれは、2個の入力パスメトリックを受け取る。下側パ
スメトリックバス1295は、構成要素のパスメトリッ
ク1295a〜1295dに分かれ、これらは、図示の
ように、2個のマルチプレクサ2010cおよび201
0dに提供される。これらのマルチプレクサのそれぞれ
は、2個の入力パスメトリックを受け取る。マルチプレ
クサ2010a〜2010dはそれぞれ、順トレリスセ
レクト1232を受け取る。順トレリスセレクト123
2は、提供されるパスメトリック1296a〜1296
dおよび1295a〜1295dのいずれを選択すべき
かを示す。
【0111】マルチプレクサ2010a〜2010dの
それぞれは、対応する保持レジスタ2015a〜201
5dに出力を供給する。保持レジスタ2015a〜20
15dはそれぞれ、順トレリスホールド1234を入力
として受け取る。マルチプレクサ2010a〜2010
dおよび保持レジスタ2015a〜2015dの目的
は、インプレースパスメトリックアドレシングの一部と
して、パスメトリック1296a〜1296dおよび1
295a〜1295dの一部を1クロックサイクルだけ
遅延させることである。
【0112】保持レジスタ2015a〜2015dのそ
れぞれは、図示のように、マルチプレクサバンク202
0に提供される出力を生成する。マルチプレクサバンク
2020の他方の入力は、同じく図示されているよう
に、上側パスメトリックバス1296および下側パスメ
トリックバス1295の構成要素のパスメトリックであ
る。パスメトリック入力マルチプレクサセレクト123
8が、マルチプレクサバンク2020にブロードキャス
トされる。マルチプレクサバンク2020は、第2のマ
ルチプレクサバンク2030への出力を生成する。第2
マルチプレクサバンク2030の他方の入力は、上側パ
スメトリックバス1296および下側パスメトリックバ
ス1295の構成要素のパスメトリックである。順トレ
リス透過ビット1236が、第2マルチプレクサバンク
2030に提供され、復号器1200が逆トレリスモー
ドで動作しているときに透過的な経路をなすために使用
される。マルチプレクサバンク2030は、パスメトリ
ック1285a〜1285hを生成する。これらのパス
メトリックは、まとめられて、順トレリスパスメトリッ
ク1285を形成し、順アドレスプロセッサ1290の
出力となる。
【0113】図31に、8ロー復号器構成で用いられる
ときの、図6の比較器1247を示す。各ローの比較器
1247′は、マルチプレクサ2100のバンクを介し
て相互接続される。それぞれのマルチプレクサ2110
は、対応する復号器ローにおける対応する比較器124
7′への単一の入力を提供する。比較器1247′の対
は、それらの出力1715を、ACSノードユニット1
420a″、1420b″、1420c″および142
0d″に入力する。これらのACSノードユニットのそ
れぞれは、復号器の2個のローにわたる。比較器124
7′の出力1715はまた、マルチプレクサ2110の
バンクへも再帰入力として提供される。ACSノードユ
ニット1420a″、1420b″、1420c″およ
び1420d″は、2個ずつ対にされ、それらの出力
を、さらに別のACSノードユニット1430a″およ
び1430b″に入力する。ACSノードユニット14
20a″、1420b″、1420c″および1420
d″の出力はまた、マルチプレクサ2110のバンクへ
も再帰入力として提供される。ACSノードユニット1
430a″および1430b″は、それらの出力を、最
後のACSノードユニット1440″に提供するととも
に、マルチプレクサ2110のバンクに再帰入力として
提供する。最後のACSノードユニット1440″の出
力は、最後の再帰入力としてマルチプレクサ2110の
バンクに提供される。各マルチプレクサ2110にはセ
レクト信号が提供される。
【0114】図32に、アドレスコントローラを含む、
図6の入力シンボル履歴1298の構成を示す。入力シ
ンボル履歴アドレス1219は、ウィンドウデコーダ2
210に入力される。ウィンドウデコーダ2210は、
第1の二重バッファメモリバンク0(2216)および
第2の二重バッファメモリバンク1(2218)へのア
クセスを可能にするためにアドレスをデコードする。入
力シンボル履歴1298は、連続的なデータフローが維
持されることを保証するために、受け取った入力を二重
バッファリングする。入力シンボル履歴クロック122
3および入力シンボル履歴リセット1225は、カウン
タ2212に提供され、カウンタ2212の出力129
7aもまた、二重バッファメモリバンク0(2216)
および二重バッファメモリバンク1(2218)に提供
される。入力シンボル1299は、ホストプロセッサか
ら、デマルチプレクサ2214に提供される。デマルチ
プレクサ2214は、二重バッファメモリバンク0(2
216)への出力2224と、二重バッファメモリバン
ク1(2218)への出力2226を生成する。デマル
チプレクサ2214はまた、入力として、リード/ライ
ト信号1297bを受け取る。リード/ライト信号12
97bは、第1マルチプレクサ2220および第2マル
チプレクサ2222にも供給される。二重バッファメモ
リバンク0(2216)および二重バッファメモリバン
ク1(2218)のそれぞれには、バンクセレクト信号
1211が提供される。ただし、バンクセレクト信号1
211は、二重バッファメモリバンク1(2218)へ
のインタフェースで反転される。
【0115】二重バッファメモリバンク0(2216)
は、マルチプレクサ2220への第1出力2228と、
第2マルチプレクサ2222への第2出力2230を生
成する。二重バッファメモリバンク1(2218)は、
マルチプレクサ2220に供給される対応する第1出力
2232と、第2マルチプレクサ2222に提供される
第2出力2234を生成する。第1マルチプレクサ22
20は、対数尤度プロセッサ0(1250b)に入力さ
れる出力1291bを生成する。第2マルチプレクサ2
222は、バタフライプロセッサ1260に入力される
出力1291aを生成する。
【0116】図32は、二重バッファメモリバンク1
(2218)の分解図も示している。入力データ222
6は、1対nデマルチプレクサ2240に提供される。
1対nデマルチプレクサ2240はまた、ウィンドウデ
コーダ2210の出力であるウィンドウセレクトも受け
取る。デマルチプレクサ2240からのn個の出力は、
n個の対応するウィンドウW0〜Wnに提供される。こ
れらのウィンドウのそれぞれは、第1のm対1マルチプ
レクサ2242および第2のm対1マルチプレクサ22
44に提供される出力を生成する。m対1マルチプレク
サ2242、2244のそれぞれは、ウィンドウセレク
ト入力信号も受け取る。第1のm対1マルチプレクサ2
242は、出力2232を生成し、この出力は、ダミー
ベータ計算のために使用され、対数尤度プロセッサ12
50aに送られる。第2のm対1マルチプレクサ224
4は、出力2234を生成し、この出力は、バタフライ
プロセッサ1260の枝メトリックユニットにおいてア
ルファおよびベータを計算するために使用される。
【0117】図33に、図6の対数尤度比プロセッサ1
297を示す。対数尤度比プロセッサ1297は、入力
1245aおよび1245bを受け取る。これらの入力
はそれぞれ、対数尤度プロセッサ1250aおよび対数
尤度プロセッサ1250bからの出力である。対数尤度
比プロセッサ1297はまた、入力として、外部情報1
242、ハード・ソフト出力セレクト1213、拡散入
力1243、トレースバックプロセス出力1567およ
びスクランブルアドレスデータ1286も受け取る。
【0118】減算器2310は、それぞれ「1」および
「0」の尤度を表す入力1245aおよび1245bを
受け取り、第2減算器2320に供給される出力231
5を生成する。減算器2310の出力2315はまた、
第1マルチプレクサ2330にも供給されるとともに、
出力1294の一部を形成する。減算器2320への第
2入力は外部情報1242である。減算器2320の出
力2325は、第2マルチプレクサ2340に提供され
る。
【0119】トレースバックプロセス出力1567は、
第1マルチプレクサ2330への第2入力として提供さ
れる。ハード・ソフト出力セレクト1213は、マルチ
プレクサ2330のセレクト入力として提供され、マル
チプレクサ2330の出力は、復号出力1294の0ビ
ットを形成する。減算器2310の出力2315は、マ
ルチプレクサ2330の出力の最下位ビットと組み合わ
されて、マルチビット復号出力1294を形成する。
【0120】第2マルチプレクサ2340は、スクラン
ブルアドレスデータ1286を第2入力として受け取
り、拡散入力1243をセレクト信号として受け取る。
第2マルチプレクサ2340は、出力1293を生成
し、この出力は、対数尤度比プロセッサ1297から中
間復号結果・メモリ1240に供給される。
【0121】図5に示した実施例は、5フェーズモード
で動作する。尤度プロセッサが存在しないため、図6の
実施例(これは2フェーズモードで動作する)で対数尤
度プロセッサ1250aおよび1250bによって実行
される計算において、より多くのアルファおよびベータ
を記憶するために、より多くのパスメトリックメモリが
必要となる。
【0122】[動作]復号器1200の動作における第
1ステップは、アーキテクチャが畳込み復号またはター
ボ復号のいずれかの必要な構成を実現するように、復号
器を初期化することである。演算に利用可能な変数に
は、問題となるトレリスサイズに必要なコラムの数、ト
レリス内の状態数、パスメトリックメモリ内のコラムの
アドレシングに使用される適当な数のビットに対するマ
スク、および、トレースバックプロセスの判定深さがあ
る。処理対象のシンボルの生き残りパスメトリックを保
持するレジスタが初期化され、各トレリス演算に必要な
コラムアドレス順序を反映するようにシンボル時刻ごと
に値が置換される順番号が、レジスタバンクに代入され
る。
【0123】なお、復号器1200は、順トレリス方向
または逆トレリス方向のいずれにも動作可能である。
【0124】トレリスを順方向にたどっている場合、逆
アドレスプロセッサ1270は、逆トレリス透過ビット
1226をセットすることによって透過モードで動作す
るように設定される。トレリスを順方向にたどるとき、
順番号は、最初に使用した後に左へ回転される。
【0125】反復プロセスは、反復番号に対応するパス
メトリックストア1280のB0およびB1のコラムか
らパスメトリックを読み出すことによって開始される。
1280 B0および1280 B1の第1コラムに保
持されるパスメトリックの順次リストがバタフライプロ
セッサ1260に提供される。バタフライプロセッサ1
260は、マルチプレクサバンク1250cを介して、
新パスメトリックを生成する。この新パスメトリック
は、もはや宛先状態順ではなく、順アドレスプロセッサ
1290に供給される。順アドレスプロセッサ1290
は、実質的に、新パスメトリックの各コラムに対するソ
ート操作を実行し、その結果、パスメトリックメモリ1
280のB0およびB1のコラムが、コラムを順に読ん
でいくときに順次状態のセットを表すようになる。それ
ぞれのコラム操作中、図11A〜図11Eに示したよう
に、8個の新パスメトリックのうちの半数はパスメトリ
ックストア1280に直接書き込まれる一方、残りの新
パスメトリックは順アドレスプロセッサ1290内の保
持レジスタ2015a〜2015dに書き込まれる。こ
れは、パスメトリックのグループごとに入れ替わる。
【0126】順トレリスをたどることは、コラム数だけ
の反復を必要とする。この数は、問題としている特定の
トレリスに必要なコラム数より1だけ大きい。反復番号
が偶数の場合、バス1296A,C,E,Gからのパス
メトリックが、反復番号に対応するパスメトリックスト
ア1280 B0のコラムに書き込まれる。バス129
6B,D,F,Hからのパスメトリックは同時に、順ア
ドレスプロセッサ1290の保持レジスタ2015a〜
2015dに書き込まれる。
【0127】一方、奇数番目の反復である場合、バス1
296A,C,E,Gからのパスメトリックが、順アド
レスプロセッサ1290の保持レジスタ2015a〜2
015dに書き込まれ、バス1296B,D,F,Hか
らのパスメトリックは、反復番号に対応するパスメトリ
ックストア1280のコラムに書き込まれる。
【0128】コラム操作中、バタフライプロセッサ12
60のACSユニットによって生成される判定ビット1
255は1バイトにまとめられ、中間復号メモリ・プロ
セッサ1240に書き込まれる。プロセスにおける次の
反復は、次の反復の番号に対応するパスメトリックスト
ア1280のB0およびB1からコラムアドレスを読み
出すことによって開始される。反復プロセスは、コラム
反復の数が、計算しているトレリスに必要なコラム数よ
り1だけ大きい数に一致するまで継続する。
【0129】順アドレスプロセッサ1290の保持レジ
スタ内の4個の新パスメトリックを転送するために、反
復プロセスの最後にもう1回の書き込み操作が必要とさ
れる。これらの4個の新パスメトリックは、パスメトリ
ックストアメモリ1280B1の最終コラムに書き込ま
れる。最終結果として、新パスメトリックは、異なるコ
ラム順序で、パスメトリックストア1280のB0およ
びB1に書き込まれたことになる。なお、各コラム内の
順序は変わっていない。
【0130】トレリスを逆方向にたどっているときは、
順番号は、右に回転された後にはじめて使用される。4
個のパスメトリックからなるグループが、パスメトリッ
クストア1280 B0の第1コラムからフェッチさ
れ、逆アドレスプロセッサ1270内の保持レジスタに
入れられる。順アドレスプロセッサ1290は、順トレ
リス透過ビット1236をセットすることによって透過
モードで動作するように設定される。対応する逆トレリ
ス透過ビット1226は、逆アドレスプロセッサ127
0がイネーブルされるように設定される。逆トレリスを
たどることは、図13および図14で説明した。
【0131】トレリスを逆方向にたどることは、その特
定のトレリスに必要なコラム数より1だけ大きい数に等
しい反復数を必要とする。トレリスを逆方向にたどると
き、インプレースパスメトリック方式は常に、逆アドレ
スプロセッサ1270を通じて、スクランブルされたパ
スメトリックのリストを提供し、バタフライプロセッサ
1260へのパスメトリックの非順次リストを生成す
る。バタフライプロセッサ1260によって生成され
る、結果として得られるトレリス状態順序は、トレリス
状態順である。
【0132】偶数番目の反復を行う場合、反復番号に1
を加えた番号に等しいパスメトリックストア1280
B0内のコラムが読み出され、マルチプレクサ1278
a、正規化プロセッサ1278および逆アドレスプロセ
ッサ1270を通ってバタフライプロセッサ1260へ
と渡される。逆アドレスプロセッサ1270に現在保持
されているパスメトリックもまたバタフライプロセッサ
1260に読み込まれる。反復番号に等しいパスメトリ
ックストア1280内のコラムが読み出され、逆アドレ
スプロセッサ1270の保持レジスタに書き込まれる。
【0133】反復番号が奇数の場合、反復番号に1を加
えた番号に等しいパスメトリックストア1280 B1
のコラムが読み出され、マルチプレクサ1278aおよ
び正規化プロセッサ1278を通って逆アドレスプロセ
ッサ1270に渡され、さらにバタフライプロセッサ1
260へと渡される。逆アドレスプロセッサ1270に
保持されているパスメトリックもまたバタフライプロセ
ッサ1260に入力される。反復番号に等しいパスメト
リックストア1280のコラムが読み出され、逆アドレ
スプロセッサ1270の保持レジスタに書き込まれる。
【0134】逆トレリスをたどるこの時点で、パスメト
リックストア1280のB0およびB1の第1コラムに
保持されるパスメトリックの順次リストが逆アドレスプ
ロセッサ1270に提供される。逆アドレスプロセッサ
1270は、バタフライプロセッサ1260に提供され
る結果のコラムがもはや宛先状態順ではないという意味
で、新パスメトリックの各コラムに対するソート操作を
実行する。バタフライプロセッサ1260は、8個の新
パスメトリックを生成し、これらの新パスメトリック
は、マルチプレクサバンク1250cを介して、順アド
レスプロセッサ1290に提供される。順アドレスプロ
セッサ1290は透過モードにあるため、バタフライプ
ロセッサ1260によって生成されたパスメトリックの
トレリス状態順リストが、マルチプレクサバンク125
0cを介して、パスメトリックストア1280のB0お
よびB1に書き戻される。パスメトリックストア128
0のB0およびB1は、コラムを順に読んでいくときに
順次状態のセットを表す。
【0135】コラム操作中、バタフライプロセッサ12
60のACSユニットによって生成される判定ビット1
255は1バイトにまとめられ、中間復号メモリ・プロ
セッサ1240に書き込まれる。次の反復は、パスメト
リックストア1280のB0およびB1からパスメトリ
ックの適当なコラムを読み出すことによって開始され
る。
【0136】反復プロセスの終了時には、新パスメトリ
ックは、異なるコラム順序で、パスメトリックストア1
280のB0およびB1に戻る。なお、各コラム内の順
序は変わっていない。
【0137】中間復号メモリ・プロセッサ1240内の
トレースバックプロセッサ1510は、周知のポインタ
型トレースバック演算を実行するので、トレリス処理方
向と、判定ビットのビット位置を知っている。判定ビッ
トは、1バイトから抽出され、トレースバックメモリ1
530内への次のポインタを生成するために使用され
る。トレースバックは、あらかじめ規定されたトレース
バック深さに達したときに終了する。トレースバック深
さは一般に、符号の拘束長の5〜9倍の間にある。
【0138】復号器1200がターボ復号のために使用
されているときは、処理は、ダミーベータ/アルファ処
理と、ベータ/LLR処理という2つの異なるフェーズ
に分かれる。トレリス状態の数が、バタフライプロセッ
サ1260のACSユニットサイズの整数(2の累乗)
倍でACSユニットACS0〜ACS7の数と一致する
という縮退した場合だけを除いては、順トレリスまたは
逆トレリスのいずれかの演算が言及されているときには
上記の処理が行われる。対数尤度プロセッサ0(125
0a)およびバタフライプロセッサ1260内のACS
ユニットには、それぞれのACSユニットがアルファお
よびベータの計算に必要な結果を累算することを可能に
するレジスタがそれぞれ設けられる。
【0139】ダミーベータおよびアルファの計算は並列
に行われる。対数尤度プロセッサ0(1250a)は、
リーフACSユニットを自由に使用してダミーベータ計
算を実行する。この計算は、それぞれがウィンドウメモ
リシステムである入力シンボル履歴バッファおよび中間
復号メモリ・プロセッサインタリーバメモリへのアクセ
スを必要とする。入力シンボル履歴バッファは、処理ウ
ィンドウのサイズのバンク2216および2218とし
て組織される。対数尤度プロセッサ0(1250a)
は、時刻t+1に処理すべきウィンドウを時刻tに処理
することによってダミーベータを累算する。対数尤度プ
ロセッサ0(1250a)は、パスメトリックストア1
280へのアクセスを必要としない。これが、対数尤度
プロセッサ0(1250a)がバタフライプロセッサ1
260内に含まれるACSユニットと並列に動作可能な
理由である。
【0140】対数尤度プロセッサ0(1250a)は、
計算された最大のベータを決定するためにACSツリー
内の加算器を使用することにより、ダミーベータ値に対
する正規化を実行する。この最大値は、対数尤度プロセ
ッサ0(1250a)のリーフACSユニットへの入力
を使用する前に、その入力から減算される。
【0141】バタフライプロセッサ1260は、アルフ
ァ計算を実行し、構成要素のACSユニット内にあるレ
ジスタにおいてアルファ値を累算する。バタフライプロ
セッサ1260は、順トレリスをたどる間に行われるの
と同様に、順トレリス演算および正規化を実行する。
【0142】対数尤度プロセッサ0(1250a)によ
って計算されるダミーベータは、ベータ計算フェーズの
開始時にバタフライプロセッサ1260に提供される。
【0143】ベータの計算中は、対数尤度プロセッサ1
250aおよび1250bの両方がバタフライプロセッ
サ1260とともに使用される。対数尤度プロセッサ1
250a、1250bのそれぞれは、パスメトリックス
トア1280からのアルファと、前のクロックサイクル
から得られたベータと、中間復号メモリ・プロセッサ1
240から生成される外部情報1242とを受け取り、
それぞれ、「1」および「0」に対する対数尤度の結果
を生成する。対数尤度計算は、複数のローにわたる可能
性がある。その計算は、前状態にわたる最大値の結果を
決定しているからである。
【0144】ベータ計算は、アルファとは異なり、入力
シンボル履歴ウィンドウを通して逆方向に動作し、アル
ファ計算で用いられるガンマを使用する。ベータ計算
は、アルファ計算で用いられたのと同じトレリス枝メト
リック割当てを使用する。
【0145】入力履歴のブロック全体が処理され、結果
として得られる出力がインタリーバ1520に供給され
た後、プロセスは、ターボ復号演算の後半を開始するこ
とができる。第1復号器演算中のインタリーバ演算は、
順次読み出しおよび順次書き込みである。これに対し
て、第2復号器演算中、インタリーバは、スクランブラ
アドレス出力によって決定されるランダムアドレス順序
を用いて、読み出しおよび書き込みが行われる。第2復
号器演算中、読み出し(リード)および書き込み(ライ
ト)のアドレスは同一である。第1復号器の後のインタ
リーバ演算は、書き込みは順次であるが、読み出しはラ
ンダムであり、第1および第2の復号器に統計的独立性
を与えるために用いられるあらかじめ規定された拡散系
列に従う。第2復号器のインタリーバ演算は、書き込み
は、拡散系列に従ってランダムであり、読み出しは順次
である。
【0146】なお、ターボ符号化に用いられる符号器は
同一である必要はないため、第2復号器の復号レートお
よび拘束は、第1復号器のものと必ずしも同一ではな
い。このため、ターボ復号器の構成を、ブロック処理演
算どうしの間で変えなければならないことがある。その
場合、これは、設定レジスタの内容を操作することによ
って容易に対処される。
【0147】入力シンボル履歴の各ブロックは、許容さ
れるビット誤り率の範囲内で復号を行うために、数回の
完全なターボ反復を必要とする。必要な反復数は、必要
とされるビット誤り率が達成されることを保証するよう
に設定可能である。
【0148】本発明のアーキテクチャの利点は、1回の
ターボ復号反復を完了するのに2フェーズしか必要とし
ないことである。これは、アーキテクチャの利用におけ
るフレキシビリティを提供するとともに、使用される復
号器ローの数と、必要な反復数とのバランスをとること
を可能にする。例えば、4回の反復を行うターボ復号器
は、2回の反復を要する2個の復号器ローを使用して実
現可能である。
【0149】対数MAP計算は、スライディングウィン
ドウアルゴリズムを用いて実行される。スライディング
ウィンドウアルゴリズムは、2フェーズで実現される。
単一の復号器では、これはレイテンシの増大(図34A
の構成(単一の復号器のみが使用される)に示すよう
に、各ウィンドウに2パス)を生じる。第1パスは、ダ
ミーベータ値と順アルファ値を並列に計算し、順アルフ
ァ値をアルファメモリに記憶する(注意:このメモリ
は、パスメトリック記憶のためにビタビアルゴリズムで
使用されるのと同じメモリである)。第2パスは、アル
ファ値を読み出し、対数MAPアルゴリズムに従ってベ
ータ値を計算し、対数尤度比(LLR)を出力する。
【0150】複数の復号器を使用するときは、2フェー
ズの計算を重畳させることが可能であり、復号器は、小
さいレイテンシで1ブロックを処理することができる。
複数の復号器は、相異なるデータストリームに対して個
別に動作することも可能であり、あるいは、図34Bの
構成に示すように、単一のストリームの復号速度を大き
くするように協働することも可能である。図5に示した
実装は、4個の独立なストリームを処理するか、高速
(小さいレイテンシ)で2個のストリームを処理する
か、さらに高速(最小のレイテンシ)で1個のストリー
ムを処理することが可能である。
【0151】表1に、複数の符号化ストリームを同時に
サポートする統合復号器のフレキシビリティを例示す
る。例えば、4個の復号器ローを有する復号器は、4個
までのデータストリームを同時に処理することができ
る。さらに、復号器ローは協働して、より少数のストリ
ームをより高いスループットで復号することが可能であ
る。これは、音声復号のレイテンシを最小限にするため
に有用である。表1は、このアプローチのフレキシビリ
ティと、それぞれの場合に得られる適当な復号高速化を
例示する(なお、このリストは決して完全ではなく、よ
り多くの復号器ローを互いに結合して、さらに高いフレ
キシビリティを達成することが可能である)。
【表1】
【0152】より少数のデータストリームを高速で復号
するために2個または4個の復号器がどのように協働す
ることができるかを例示するため、図35に、2個の復
号器の間の相互接続を示す。「M」と記されたボックス
は、隣の復号器からのパスメトリックの一部をパスメト
リックメモリに書き込む前に入れ替えることを可能にす
るマルチプレクサである。さらに、図36には、単一の
復号器、2個の復号器、または4個の復号器のいずれと
しても機能するように、4個の復号器をどのようにして
相互接続することができるかを示す。
【0153】統合復号器の複数標準対応性を実証するた
め、復号器は、表2に示す標準の任意の組み合わせをサ
ポートする。(このリストは決して完全ではないが、こ
の統合復号器のフレキシブルな(したがって有用な)性
質を実証するために記載している。)
【表2】
【0154】統合復号器900は、畳込み符号化データ
ストリームおよびターボ符号化データストリームに必要
な復号を実現し、複数のデータストリームおよび複数の
音声ストリームを同時にサポートすることができる。タ
ーボ符号化データストリームを復号するとき、この復号
器は、最大値−対数MAPアルゴリズムまたは対数MA
Pソフト出力MAPアルゴリズムのいずれかを用いた反
復ターボ復号器を実現する。この復号器は、畳込みおよ
びターボ復号方式の両方の効率的実現を可能にするよう
に、その構成要素を最大限に再利用する。
【0155】本発明の復号器は、相異なる標準の音声ス
トリームを復号するために、必要に応じて、動的に分割
されることが可能である。本発明の復号器は、相異なる
符号化レート(レート1/2、レート1/3、レート1
/4など)でストリームを処理することができる。本発
明の復号器はまた、相異なる拘束長で符号化されたスト
リームを処理することも可能である。したがって、本発
明の統合復号器アーキテクチャは、現在規定されている
移動ワイヤレス標準(音声およびデータの両方につい
て、第1、第2および第3世代)のそれぞれをサポート
することが可能である。
【0156】好ましい実施例の統合復号器アーキテクチ
ャは、非組織(フィードフォワード)符号器と組織(フ
ィードバックワード)符号器の機能を単一のアーキテク
チャに組み込む。図37Aに、符号語3225の1個の
符号ビット3225_0を生成するための、多項式32
40と状態ビット3250のミキシングを示す。多項式
3240は、対応するANDゲート3260に提供され
る。このANDゲート3260は、状態3250も入力
として受け取る。それぞれのANDゲート3260は、
対応するXORゲート3270への出力を生成する。そ
れぞれのXORゲート3270はまた、遷移入力328
0も受け取り、Mビット非組織符号器3230の出力3
225_0を生成する。
【0157】図37Bに、符号語3225に対する符号
器3200の全体を示す。多項式3240は、対応する
Mビット非組織符号器3230に提供される。入力ビッ
ト3220は、XORゲート3275に提供される。RS
C_ENABLE信号は、ANDゲート3280に提供され、こ
のANDゲート3280の出力は、XORゲート327
5の第2入力となる。ANDゲート3280はまた、入
力として、符号器3230の出力も受け取る。XORゲ
ート3275は、Mビットシフトレジスタ3210およ
びそれぞれの符号器3230に出力を提供する。Mビッ
トシフトレジスタ3210はまた、クロック信号328
5およびリセット信号3290を受け取り、時刻Tにお
ける符号器3200の状態を保持する。この状態値は、
非組織符号ビットを生成するために、それぞれの特定の
多項式3240(特定の符号によって指定される)とと
もに使用される。レジスタ3210の出力3250は、
それぞれの符号器3230にブロードキャストされる。
符号器3230の出力3225_0〜3225_Rは、
まとめられて、符号語(CODE_WORD)3225を形成す
る。
【0158】RSC_ENABLE3215をイネーブルすること
により、符号器3200は再帰組織(RS:recursive
systematic)符号器となる。再帰組織符号では、入力ビ
ット3220は、符号語3225の組織ビットを形成す
る。それぞれのMビット符号器3230の生成したビッ
トは、RS符号語3225の残りの部分を形成する。
【0159】非組織符号器の場合、CODE_WORD3225
はR個のビット(ただし、R=符号のレート)を含むこ
とになる。RSC_ENABLE3215がアクティブのとき、CO
DE_WORD3225は通常1ビット幅である。出力CODE_WO
RD3225(今の場合1ビット幅)および入力ビット(I
NPUT_BIT)3220がRS符号語を形成する。
【0160】
【発明の効果】上記の説明から明らかなように、本発明
の実施例は、統合されたスケーラブルなアーキテクチャ
を用いて、複数の伝送標準の復号に適用可能である。
【0161】上記の説明は、本発明の実施例についての
ものに過ぎない。本発明の技術的範囲および技術思想か
ら離れることなく、さまざまな修正や変形が可能であ
る。実施例は例示であり、限定的なものではない。
【0162】特許請求の範囲の発明の要件の後に括弧で
記載した番号がある場合は、本発明の一実施例の対応関
係を示すものであって、本発明の範囲を限定するものと
解釈すべきではない。
【図面の簡単な説明】
【図1】複数のプロトコルを用いた通信ネットワークの
概略ブロック図である。
【図2】符号化を用いた通信システムの概略ブロック図
である。
【図3】符号化を用いた通信システムにおける一般的な
ビタビ復号器の概略ブロック図である。
【図4】符号化を用いた通信システムにおける一般的な
ターボ復号器の概略ブロック図である。
【図5】統合復号器の概略ブロック図である。
【図6】統合復号器のアーキテクチャの概略ブロック図
である。
【図7】図6のバタフライプロセッサの概略ブロック図
である。
【図8】図6の加算比較選択(ACS:Add-Compare-Se
lect)ユニットの概略ブロック図である。
【図9】32状態トレリスとその対応するバタフライプ
ロセッサおよびパスメトリックを表す図である。
【図10】結果のパスメトリック位置を示す図である。
【図11】A〜Eはそれぞれ、時刻t=1〜t=5にお
けるインプレースパスメトリックアドレシングを表す図
である。
【図12】パスメトリックコラムのアドレシングを表す
図である。
【図13】逆トレリス構成のインプレースパスメトリッ
クアドレシングを表す図である。
【図14】逆トレリス構成のインプレースパスメトリッ
クアドレシングを表す図である。
【図15】図6の中間復号メモリプロセッサの概略ブロ
ック図である。
【図16】ウィンドウメモリサブシステム、トレースバ
ックコントローラおよびインタリーバコントローラを示
す、図15の分解概略ブロック図である。
【図17】図16のトレースバックコントローラの概略
ブロック図である。
【図18】図16のインタリーバの概略ブロック図であ
る。
【図19】図18のインタリーバアドレスコントローラ
の分解図である。
【図20】図16のウィンドウメモリサブシステムの概
略ブロック図である。
【図21】1ロー復号器に対する図6の対数尤度プロセ
ッサの概略ブロック図である。
【図22】図21の加算比較選択ノードユニットの概略
ブロック図である。
【図23】8ロー復号器に対する図6の対数尤度プロセ
ッサの概略ブロック図である。
【図24】図21のACSユニットの概略ブロック図で
ある。
【図25】図6のバタフライ復号プロセッサバンクの概
略ブロック図である。
【図26】図6の逆アドレスプロセッサの概略ブロック
図である。
【図27】図6の正規化減算器の概略ブロック図であ
る。
【図28】図6の比較器の概略ブロック図である。
【図29】図6のパスメトリックメモリの概略ブロック
図である。
【図30】順アドレスプロセッサの概略ブロック図であ
る。
【図31】図6の比較器(ACSレベル)の概略ブロッ
ク図である。
【図32】図6の入力シンボル履歴の概略ブロック図で
ある。
【図33】図6の対数尤度比プロセッサの概略ブロック
図である。
【図34】複数の復号器を用いて1つのターボ復号器を
実現する例を示す図である。
【図35】まとめて単一の復号器として動作する2個の
相互接続された復号器(サイクルあたり16状態トレリ
ス)の概略ブロック図である。
【図36】さらに復号性能を高めるために、まとめて単
一の復号器として動作する4個の相互接続された復号器
(サイクルあたり32状態トレリス)の概略ブロック図
である。
【図37】非組織符号器の概略ブロック図である。
【符号の説明】
100 ワイヤレス通信ネットワーク 110 UMTS基地局 112 送受信器 122 送受信器 130 リモートCDMA基地局 132 CDMA送受信器 140 リモート基地局 142 送受信器 144 送受信器 146 UMTS送受信器 150a〜150m 復号器モジュール(復号器ユニッ
ト) 160 交換ネットワーク 160a〜160f 移動ハンドセット 200 通信システム 205 情報源 210 送信器 220 符号器 230 変調器 240 通信チャネル 250 復調器 260 復号器 261 第1入力 262 第2入力 263 デマルチプレクサ 264 デマルチプレクサ263の第1出力 265 デマルチプレクサ263の第2出力 266 第1復号器 267 第1復号器266の出力 268 インタリーバ 269 インタリーバ268の出力 270 受信器 271 第2復号器 272 第2復号器271の第1出力 273 第2復号器271の第2出力 274 第1デインタリーバ 275 受信情報信号 276 第2デインタリーバ 277 再帰入力 278 スライサ 280 ノイズ源 289 枝メトリック計算器(BMC)ユニット 290 状態コントローラ 291 加算比較選択(ACS)ユニット 292 パスメトリックメモリ 293 トレースバックメモリ・コントローラ 294 ボロー出力 320 加算比較選択ユニット(ACS) 330 中間枝メトリック計算器(BMC) 361′ 全減算器414′のボロー 402,402′ 枝メトリック1 406,406′ 枝メトリック0 408,409 マルチプレクサ 408′ マルチプレクサ416′の出力 410,410′ 加算器 411 加算器410の出力 412,412′ 加算器 413 加算器412の出力 414,414′ 全減算器 415 全減算器414の第2出力 416′,417′ マルチプレクサ 418′ マルチプレクサ417′の出力 420 第1の2対1マルチプレクサ 420′ マルチプレクサ 421 第1マルチプレクサ420の出力 440,440′ 対数和補正テーブル 441 対数和補正テーブル440の出力 450 第2の2対1マルチプレクサ 460,460′ 加算器 461 加算器460からの結果 470,470′ 累算レジスタ 472 マルチプレクサ480への出力 475′ マルチプレクサ 480 マルチプレクサ 480a〜480h ACSユニット1412a〜14
12hの第2出力 900 統合復号器構造 901 マルチビット入力シンボル 910 中間復号結果メモリ 920 バタフライ復号プロセッサバンク 940 第1ストアバンク 950 第2ストアバンク 960 制御ユニット 961,963,965,967 第2出力 962,964,966,968 第1出力 990 バス 999 復号出力 1000 32状態生トレリスダイヤグラム 1002 時刻Sにおける状態 1003 時刻Sにおける状態0 1004 時刻St+1における状態 1006 枝メトリック 1007 時刻St+1における状態16 1008 枝メトリック 1009 時刻St+1における状態0 1010 バタフライ接続 1102 上側メモリブロックB0に対応するメモリ 1104 下側メモリブロックB1に対応するメモリ 1112 新パスメトリック 1114 保持レジスタ 1122,1134 新パスメトリック 1150 パスメトリックコラムのアドレシング順序 1200 統合復号器 1201 レート 1202 拘束長 1203 畳込み・ターボセレクタ 1203 対数尤度0イネーブル 1203 対数尤度1イネーブル 1204 多項式 1205 トレリス方向 1206 反復数 1207 ブロック長 1208 クロック 1209 リセット 1210 制御ユニット 1211 入力シンボル履歴バンクセレクト 1212 中間復号モード 1213 ハード・ソフト出力セレクト 1214 対数尤度イネーブル 1214a,1214b 対数尤度モード 1215 バタフライリセット 1216 バタフライレート 1217 バタフライクロック 1218 バタフライ多項式 1219 入力シンボル履歴アドレス 1220 バタフライ拘束 1221 バタフライモード 1222,1222a,1222b 逆トレリスセレク
ト 1223 入力シンボル履歴クロック 1224,1224a,1224b 逆トレリスホール
ド 1225 入力シンボル履歴リセット 1226,1226a,1226b 逆トレリス透過ビ
ット 1228a アドレシング情報ADDR0 1228b アドレシング情報ADDR1 1230 パスメトリックリセット 1231 パスメトリックリード/ライトクロック 1232 順トレリスセレクト 1234 順トレリスホールド 1235 ベータフェーズイネーブル 1236 順トレリス透過ビット 1237 中間復号方向 1238 パスメトリック入力マルチプレクサセレクト 1240 中間復号メモリ・プロセッサ 1242 外部情報 1243 拡散入力 1245a 対数尤度プロセッサ1250aの第1出力 1245b 対数尤度プロセッサ1250bの出力 1246 正規化出力 1247,1247′ 比較器 1248a,1248b 対数尤度レート 1249a,1249b 対数尤度拘束 1250a,1250a′,1250b 対数尤度プロ
セッサ 1250c マルチプレクサバンク 1251a,1251b 対数尤度クロック 1252a,1252b 対数尤度リセット 1253a,1253b 対数尤度多項式 1254 クロッキング信号 1255 判定ビット 1255a ACS0(320)の第1出力(全減算器
414のボロー出力) 1256 インタリーバ外部情報 1257 リード/ライトクロック 1258,1258a,1258b セレクト信号 1259 リセット信号 1260 バタフライ復号プロセッサ 1265 逆トレリスパスメトリック 1265a 入力パスメトリック0 1265b 入力パスメトリック1 1266 下側新パスメトリックバス 1267 上側新パスメトリックバス 1267a ACS0(320)の第2出力 1270,1270b 逆アドレスプロセッサ 1275,1275a〜1275h 正規化パスメトリ
ック 1276 記憶パスメトリック 1277 正規化減算器1278への出力 1278 正規化減算器 1278a マルチプレクサバンク 1278b 制御信号 1280 パスメトリックストア 1285 順トレリスパスメトリック 1286 スクランブルアドレスデータ 1290 順アドレスプロセッサ 1291a 入力シンボル履歴1298の第1出力 1291b 入力シンボル履歴1298の第2出力 1293 対数尤度比プロセッサ1297からの出力 1294 復号出力 1295 下側パスメトリックバス 1295a〜1295d パスメトリック 1296 上側パスメトリックバス 1296a〜1296d パスメトリック 1297 対数尤度比プロセッサ 1297b リード/ライト信号 1298 入力シンボル履歴 1299 入力シンボル 1410 バタフライユニットバンク 1412a〜1412h ACSユニット 1413a〜1413h ACSユニット1412a〜
1412hの第1出力 1414a〜1414d BMCユニット 1415a〜1415h 逆トレリスパスメトリック 1416a〜1416h 第2バンクのマルチプレクサ 1417a〜1417h 第1バンクのマルチプレクサ 1420a〜1420d,1430a,1430b,1
440a ACSノードユニット 1420a′〜1420d′,1430a′,1430
b′,1440′ ACSノードユニット 1420a″〜1420d″,1430a″,1430
b″,1440″ ACSノードユニット 1450 減算器 1460 レジスタ 1470a〜1470h 正規化減算器 1474 比較器 1476 マルチプレクサ 1478 対数和補正テーブル 1480 加算器 1490 マルチプレクサ 1510 トレースバックアドレスコントローラ(トレ
ースバックプロセッサ) 1515 結合リード/ライト信号 1520 インタリーバコントローラ 1525 アドレスバス 1526 双方向データバス 1530 ウィンドウメモリサブシステム 1530a ウィンドウアドレスデコーダ 1530b〜1530d ウィンドウメモリ 1535 第2のアドレスバス 1536 第2のデータバス 1550 第1マルチプレクサ 1555 判定レジスタ 1558 ビットセレクト 1560 アドレス変換ユニット 1562 状態レジスタ 1564 前状態ユニット 1566 第2マルチプレクサ 1567 トレースバックプロセッサ出力 1568 第1ANDゲート 1569 第2ANDゲート 1570 NOTゲート 1580 ANDゲート 1582 トライステートバッファ 1583 第2トライステートバッファ 1584 第1論理ブロック 1586 第2論理ブロック 1590 ウィンドウカウント 1591 ビットカウント 1592 第1加算器 1593 第2加算器 1594 第3加算器 1596 マルチプレクサ 1597 スクランブル 1599 定数 1610a〜1610h 減算器 1710a〜1710h 最大値比較器 1715 最大パスメトリック 1720 レジスタ 1730 減算器 1735 ロード信号 1810a〜1810h メモリユニット 1910a1〜1910h1 第3バンクのマルチプレ
クサ 1910a2〜1910d2 ラッチ 1910a3〜1910d3 第1バンクのマルチプレ
クサ 1915a〜1915d 第2バンクのマルチプレクサ 1920a〜1920d 第1バンクのXORゲート 2010a〜2010d マルチプレクサ 2015a〜2015d 保持レジスタ 2020 マルチプレクサバンク 2030 第2マルチプレクサバンク 2100,2110 マルチプレクサ 2210 ウィンドウデコーダ 2212 カウンタ 2214 デマルチプレクサ 2216 二重バッファメモリバンク0 2218 二重バッファメモリバンク1 2220 第1マルチプレクサ 2222 第2マルチプレクサ 2226 入力データ 2240 1対nデマルチプレクサ 2242 第1のm対1マルチプレクサ 2244 第2のm対1マルチプレクサ 2310 減算器 2320 第2減算器 2330 第1マルチプレクサ 2340 第2マルチプレクサ 3010 保持レジスタ 3200 符号器 3210 Mビットシフトレジスタ 3215 RSC_ENABLE 3220 入力ビット 3225 符号語 3230 Mビット非組織符号器 3240 多項式 3250 状態ビット 3260 ANDゲート 3270,3275 XORゲート 3280 遷移入力 3285 クロック信号 3290 リセット信号
───────────────────────────────────────────────────── フロントページの続き (71)出願人 596077259 600 Mountain Avenue, Murray Hill, New Je rsey 07974−0636U.S.A. (72)発明者 マーク アンドリュー ビッカースタッフ オーストラリア、NSW 2118 カーリン グフィールド 、マースデン ロード 224 (72)発明者 クリストファー ジェイ ニコル オーストラリア、N.S.W.オーストル ラ、スプリングフィールド、チェイスリン グ アベニュー 12 (72)発明者 ビン フ オーストラリア、ケンジントン、アディソ ン ストリート、3/20 Fターム(参考) 5B001 AA10 AB05 AD06 5B056 AA01 BB12 FF02 FF04 FF05 5J065 AB05 AC02 AD10 AE01 AE02 AG05 AG06 AH02 AH04 AH05 AH06 AH07 AH09 AH13 AH15 AH23

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 (a)バタフライプロセッサ装置に入力
    される、第一と第二の入力パスメトリックスを受領す
    る、第一と第二の追加−比較−選択モジュールと、 前記各モジュールは、前記モジュールの比較素子と選択
    素子に接続された対数和修正手段と、前記選択素子と前
    記対数和修正手段の出力を前記モジュールの出力に選択
    的に結合する、制御可能なスイッチとを有し、 (b) 前記各追加−比較−選択モジュールに与えられ
    る第一と第二の出力ブランチメトリックスを生成するた
    めに、入力データと外部データを受領するブランチメト
    リックカリキュレータと、前記第二出力ブランチメトリ
    ックスは、前記第一出力ブランチメトリックスと数学的
    に逆(arithmetic inverse)であり、 (c) 前記選択素子が出力の時に、前記制御可能なス
    イッチを活性化する手段と、 からなり、畳み込み復号化を実行し、前記対数和修正手
    段が出力の時に、LOGMAP復号化を実行することを
    特徴とする、バタフライプロセッサ装置。
  2. 【請求項2】 前記対数和修正手段は、前記比較素子の
    差分出力に接続されたアドレス入力を有する対数和修正
    テーブルを有し、 前記対数和修正テーブルは、対数和値を加算器の第一入
    力に出力し、加算器の第二入力は、前記選択素子の出力
    に接続され、 前記加算器は、前記対数和修正手段の出力を与えること
    を特徴とする、請求項1記載の装置。
  3. 【請求項3】 (a-1)バタフライプロセッサ装置に
    入力される、第一と第二の入力パスメトリックスを受領
    する、第一と第二の追加−比較−選択手段と、 前記各手段は、前記手段の比較素子と選択素子に接続さ
    れた対数和log-sum修正手段と、 (a-2)前記選択素子と前記log-sum修正手段の出力を
    前記手段の出力に選択的に結合する、制御可能なスイッ
    チとを有し、 (b) 前記各追加−比較−選択手段に与えられる第一
    と第二の出力ブランチメトリックスを生成するために、
    入力データと外部データを受領するブランチメトリック
    カリキュレータ手段と、 前記第二出力ブランチメトリックスは、前記第一出力ブ
    ランチメトリックの数学的に逆(arithmetic invers
    e)であり、 (c) 前記選択素子が出力の時に、前記制御可能なス
    イッチを活性化する手段とからなり、畳み込み復号化を
    実行し、前記対数和log-sum修正手段が出力の時に、L
    OGMAP復号化を実行することを特徴とする、バタフ
    ライプロセッサ装置。
  4. 【請求項4】 前記対数和修正手段は、前記比較素子の
    差分出力に接続されたアドレス入力を有する対数和修正
    テーブル手段を有し、 前記対数和修正テーブル手段は、対数和値を加算手段の
    第一入力に出力し、加算手段の第二入力は、前記選択素
    子の出力に接続され、 前記加算手段は、前記対数和修正手段の出力を与えるこ
    とを特徴とする、請求項1記載の装置。
  5. 【請求項5】通信復号化に際し、バタフライ処理を実行
    する方法において、 (a) 入力データと外部データから、第一と第二のブ
    ランチメトリックスを生成するステップと、 前記第二のブランチメトリックスは、第一のブランチメ
    トリックスの数学的な逆数であり、 (b) 前記第一と第二の入力パスメトリックスと、前
    記第一と第二のブランチメトリックスに対し、追加−比
    較−選択操作を実行するステップと、 (c) 対数和修正出力を生成するために、選択操作出
    力を対数和修正するステップと、 (d) 前記対数和修正出力と前記選択操作出力を選択
    的に結合するステップとから成り、 前記選択操作出力が出力の時は、前記バタフライ処理
    は、畳み込み復号化を実行し、 前記対数和修正出力が出力の時は、前記バタフライ処理
    は、LOGMAP復号化を実行することを特徴とする、
    通信復号化に際し、バタフライ処理を実行する方法。
  6. 【請求項6】 前記対数和修正が、対数和修正テーブル
    を利用し、 (e) 対応する対数和値を出力するために、前記比較
    操作の差分出力を前記対数和修正テーブルのアドレス入
    力に与えるステップと、 (f) 前記対数和修正出力を得るために、前記対数和
    値を前記選択操作出力に加えるステップとをさらに有す
    ることを特徴とする、請求項5記載の方法。
JP2001281587A 2000-09-18 2001-09-17 通信の復号化の際に用いられるバタフライプロセッサ装置 Expired - Fee Related JP4907802B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US23336900P 2000-09-18 2000-09-18
US09/908,000 US6865710B2 (en) 2000-09-18 2001-07-18 Butterfly processor for telecommunications
US60/233369 2001-07-18
US09/908000 2001-07-18

Publications (2)

Publication Number Publication Date
JP2002176366A true JP2002176366A (ja) 2002-06-21
JP4907802B2 JP4907802B2 (ja) 2012-04-04

Family

ID=26926860

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001281587A Expired - Fee Related JP4907802B2 (ja) 2000-09-18 2001-09-17 通信の復号化の際に用いられるバタフライプロセッサ装置

Country Status (4)

Country Link
US (1) US6865710B2 (ja)
EP (1) EP1204211B1 (ja)
JP (1) JP4907802B2 (ja)
DE (1) DE60125686T2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004096747A (ja) * 2002-08-30 2004-03-25 Lucent Technol Inc 高次基数のlogmapプロセッサ
JP2008532402A (ja) * 2005-03-03 2008-08-14 ティーティーピー コム リミテッド トレリス線図のバタフライ構造を用いたmap復号化のためのメトリック計算
US7554979B2 (en) 2005-02-03 2009-06-30 Canon Kabushiki Kaisha Communication apparatus and method having function of transmitting notification signal while hiding group identification information
JP2013179378A (ja) * 2010-10-05 2013-09-09 Nec Corp マルチコア型誤り訂正処理システムおよび誤り訂正処理装置

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7308439B2 (en) 2001-06-06 2007-12-11 Hyperthink Llc Methods and systems for user activated automated searching
KR20030005768A (ko) * 2001-07-10 2003-01-23 삼성전자 주식회사 비터비 디코더의 상태 메트릭 연산 장치
US7661059B2 (en) * 2001-08-06 2010-02-09 Analog Devices, Inc. High performance turbo and Viterbi channel decoding in digital signal processors
FI20020108A0 (fi) * 2002-01-21 2002-01-21 Nokia Corp Menetelmõ ja laite polkumetriikoiden muodostamiseksi trelliksessõ
SG113431A1 (en) * 2002-08-30 2005-08-29 Oki Techno Ct Singapore Pte Improved turbo decoder
EP1398881A1 (en) * 2002-09-05 2004-03-17 STMicroelectronics N.V. Combined turbo-code/convolutional code decoder, in particular for mobile radio systems
FI20021656A0 (fi) * 2002-09-16 2002-09-16 Nokia Corp Menetelmä ja järjestely dekoodauksen suorittamiseksi
US20040255230A1 (en) * 2003-06-10 2004-12-16 Inching Chen Configurable decoder
US7200798B2 (en) * 2003-06-26 2007-04-03 Lucent Technologies Inc. Unified serial/parallel concatenated convolutional code decoder architecture and method
US7343530B2 (en) * 2004-02-10 2008-03-11 Samsung Electronics Co., Ltd. Turbo decoder and turbo interleaver
WO2006000982A2 (en) * 2004-06-23 2006-01-05 Koninklijke Philips Electronics N.V. Addressing strategy for vitebri metric computation
US7908542B2 (en) * 2004-08-25 2011-03-15 Asocs Ltd Method of and apparatus for implementing a reconfigurable trellis-type decoding
US7797618B2 (en) * 2004-12-30 2010-09-14 Freescale Semiconductor, Inc. Parallel decoder for ultrawide bandwidth receiver
US8745326B2 (en) * 2005-06-02 2014-06-03 Seagate Technology Llc Request priority seek manager
KR101154561B1 (ko) * 2007-06-14 2012-06-11 인텔 코오퍼레이션 컨볼루션, 터보 및 ldpc 코드용 통합 디코더
JP2009246474A (ja) * 2008-03-28 2009-10-22 Fujitsu Ltd ターボデコーダ
WO2012032371A1 (en) * 2010-09-08 2012-03-15 Agence Spatiale Europeenne Flexible channel decoder.
US9363704B2 (en) 2014-06-20 2016-06-07 Apple Inc. Selecting a physical data channel based on application traffic pattern

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1042289A (ja) * 1996-04-09 1998-02-13 Thomson Multimedia Sa ビデオ・データを処理するためのシステムおよび方法
WO1999062183A1 (fr) * 1998-05-28 1999-12-02 Sony Corporation Decodeur d'image video pour code de convolution et procede de decodage d'image video
JP2000031836A (ja) * 1998-06-16 2000-01-28 Lucent Technol Inc 畳込み復号装置
JP2000224054A (ja) * 1999-01-27 2000-08-11 Texas Instr Inc <Ti> ビタビデコ―ディングの速度を増大させる方法と装置
JP2000515715A (ja) * 1998-04-04 2000-11-21 サムソン エレクトロニクス カンパニー リミテッド チャネル符号化/復号装置及び方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5327440A (en) * 1991-10-15 1994-07-05 International Business Machines Corporation Viterbi trellis coding methods and apparatus for a direct access storage device
JPH10107651A (ja) * 1996-09-27 1998-04-24 Nec Corp ビタビ復号装置
US6115436A (en) * 1997-12-31 2000-09-05 Ericsson Inc. Non-binary viterbi decoder using butterfly operations
EP0963048A3 (en) 1998-06-01 2001-02-07 Her Majesty The Queen In Right Of Canada as represented by the Minister of Industry Max-log-APP decoding and related turbo decoding
ATE242945T1 (de) 1998-12-18 2003-06-15 Ericsson Telefon Ab L M Verfahren und system zur schnellen maximale-a- posteriori-dekodierung
KR100350502B1 (ko) 1999-10-05 2002-08-28 삼성전자 주식회사 이동통신시스템의 구성 복호기 및 방법
GB2357938A (en) 1999-12-24 2001-07-04 Nokia Networks Oy Selecting one of a plurality of equalisation algorithms

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1042289A (ja) * 1996-04-09 1998-02-13 Thomson Multimedia Sa ビデオ・データを処理するためのシステムおよび方法
JP2000515715A (ja) * 1998-04-04 2000-11-21 サムソン エレクトロニクス カンパニー リミテッド チャネル符号化/復号装置及び方法
WO1999062183A1 (fr) * 1998-05-28 1999-12-02 Sony Corporation Decodeur d'image video pour code de convolution et procede de decodage d'image video
JP2000031836A (ja) * 1998-06-16 2000-01-28 Lucent Technol Inc 畳込み復号装置
JP2000224054A (ja) * 1999-01-27 2000-08-11 Texas Instr Inc <Ti> ビタビデコ―ディングの速度を増大させる方法と装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004096747A (ja) * 2002-08-30 2004-03-25 Lucent Technol Inc 高次基数のlogmapプロセッサ
JP4520122B2 (ja) * 2002-08-30 2010-08-04 アルカテル−ルーセント ユーエスエー インコーポレーテッド 高次基数のlogmapプロセッサ
US7554979B2 (en) 2005-02-03 2009-06-30 Canon Kabushiki Kaisha Communication apparatus and method having function of transmitting notification signal while hiding group identification information
JP2008532402A (ja) * 2005-03-03 2008-08-14 ティーティーピー コム リミテッド トレリス線図のバタフライ構造を用いたmap復号化のためのメトリック計算
JP2013179378A (ja) * 2010-10-05 2013-09-09 Nec Corp マルチコア型誤り訂正処理システムおよび誤り訂正処理装置
US9250996B2 (en) 2010-10-05 2016-02-02 Nec Corporation Multicore type error correction processing system and error correction processing apparatus

Also Published As

Publication number Publication date
DE60125686T2 (de) 2007-10-11
JP4907802B2 (ja) 2012-04-04
US20020129320A1 (en) 2002-09-12
EP1204211A1 (en) 2002-05-08
EP1204211B1 (en) 2007-01-03
US6865710B2 (en) 2005-03-08
DE60125686D1 (de) 2007-02-15

Similar Documents

Publication Publication Date Title
JP2002171173A (ja) 複数の復号化スキームのうちの1つに従って送信されたデータ通信信号を復号化する再構成可能なアーキテクチャと、畳み込み符号とターボ符号の一方を復号化する通信復号化デバイスのパスメトリックを取り扱う方法。
JP4907802B2 (ja) 通信の復号化の際に用いられるバタフライプロセッサ装置
JP3677257B2 (ja) 畳込み復号装置
JP2002152057A (ja) トレリス処理装置の適切なパスメトリックアドレスを計算する装置と方法。
US20030123579A1 (en) Viterbi convolutional coding method and apparatus
JP5840741B2 (ja) 複数のコード・タイプをプログラマブル復号する方法および装置
US7246298B2 (en) Unified viterbi/turbo decoder for mobile communication systems
US20210159915A1 (en) Polar decoder with llr-domain computation of f-function and g-function
US7584389B2 (en) Turbo decoding apparatus and method
US7200798B2 (en) Unified serial/parallel concatenated convolutional code decoder architecture and method
US7234100B1 (en) Decoder for trellis-based channel encoding
US20050089121A1 (en) Configurable architectrue and its implementation of viterbi decorder
US7035356B1 (en) Efficient method for traceback decoding of trellis (Viterbi) codes
US8775914B2 (en) Radix-4 viterbi forward error correction decoding
Kunchamwar et al. Application specific instruction accelerator for multistandard Viterbi and turbo decoding
EP1024604A2 (en) Flexible viterbi decoder for wireless applications
Mamidi et al. Instruction set extensions for software defined radio
JP4331371B2 (ja) 無線応用のためのフレキシブルなビタビ・デコーダ
WO2011048997A1 (ja) 軟出力復号器
US20110202819A1 (en) Configurable Error Correction Encoding and Decoding
Mallaiah et al. Design and Simulation of a Low Power Viterbi Decoder using Constraint Length Nine

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080910

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110606

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110905

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110905

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111219

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120112

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

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4907802

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

LAPS Cancellation because of no payment of annual fees