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

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

Info

Publication number
JP4907802B2
JP4907802B2 JP2001281587A JP2001281587A JP4907802B2 JP 4907802 B2 JP4907802 B2 JP 4907802B2 JP 2001281587 A JP2001281587 A JP 2001281587A JP 2001281587 A JP2001281587 A JP 2001281587A JP 4907802 B2 JP4907802 B2 JP 4907802B2
Authority
JP
Japan
Prior art keywords
output
input
processor
log
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.)
Expired - Fee Related
Application number
JP2001281587A
Other languages
English (en)
Other versions
JP2002176366A (ja
Inventor
アンドリュー ビッカースタッフ マーク
ジェイ ニコル クリストファー
フ ビン
Original Assignee
アルカテル−ルーセント ユーエスエー インコーポレーテッド
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 アルカテル−ルーセント ユーエスエー インコーポレーテッド filed Critical アルカテル−ルーセント ユーエスエー インコーポレーテッド
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

Images

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)

Description

【0001】
【発明の属する技術分野】
本発明は、ワイヤレス通信における復号化に関し、特に、ワイヤレス通信システムにおける復号化のためのバタフライプロセッサに関する。
【0002】
【従来の技術】
通信システムは、送信器から受信器への情報の伝送を扱う。情報が通る通信媒体は、しばしば、宇宙線、加法的白色ガウスノイズ(AWGN:Additive White Gauss 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 Communication)およびCDMA(符号分割多元接続)がある。これらは、第1世代(1G)および第2世代(2G)の方式を代表する。データと音声の通信方式の結合とともに、データの伝送がより重要となる第2.5世代(2.5G)および第3世代(3G)の方式が現れ始めている。高い伝送レートですぐれた誤り性能を達成するためには、ターボブロック符号化が好ましい。ブロック符号化に特有のレイテンシは、音声の伝送の場合ほど重要な問題ではない。UMTS(Universal Mobile Telecommunication Service)やCDMA2000のような新しい第3世代の移動ワイヤレス標準は、データストリームについてはターボ符号化を、音声ストリームについては畳込み符号化を要求する。これらの方式は、データについて複雑なターボ復号器を、音声についてビタビ復号器を要求する。さらに、下位互換性から、第2世代標準もサポートすることが要求される。
【0013】
【発明が解決しようとする課題】
音声およびデータの伝送は、伝送レートと、レイテンシ・伝搬遅延との競合する要求を提示する。このような問題点を解決するための現在の主流は、相異なる符号化方式、すなわち、データストリームについてターボ符号化を、音声ストリームについて畳込み符号化を、提供することである。その結果、相異なる復号器も必要となるため、複数のハードウェアプラットフォームが生じ、通信事業者のコストが増大する。
【0014】
一般にバタフライプロセッサは、枝メトリック計算器および多数の加算比較選択ユニットからなる。既知のバタフライプロセッサは、ビタビ計算もしくは対数MAP計算を実行することができる。従って、ビタビ計算および対数MAP計算を実行するためには2つのバタフライプロセッサが必要となり、その結果余計なハードウェアコストがかかる。
【0015】
【課題を解決するための手段】
本発明によれば、バタフライプロセッサ装置は畳込み計算および対数MAP計算を実行することができる。本発明のバタフライプロセッサ装置は周知の比較および選択要素に接続された対数和補正装置を含む。
【0016】
選択要素および対数和補正装置の出力に選択的に接続する可制御スイッチは、バタフライプロセッサの所望の出力を生成するために提供される。本発明は、現在2つのバタフライプロセッサが必要とされる計算を1つのバタフライプロセッサで実行できるというようなハードウェアの縮小を提供する。
【0017】
【発明の実施の形態】
好ましい実施例は、ワイヤレス通信システムのための統合復号器のアーキテクチャを提供する。統合復号器は、畳込み符号化およびターボ符号化がなされたデータストリームに必要な復号を実現する。統合復号器アーキテクチャは、複数のデータストリームおよび複数の音声ストリームを同時にサポートすることができる。さらに、この復号器は、必要に応じて動的に分割され、相異なる標準の音声ストリームを復号することができる。好ましい実施例はモジュール性を有するため、容易にスケーラブルとなる。
【0018】
図1に、ワイヤレス通信ネットワーク100を示す。UMTS基地局110は送受信器112を有し、送受信器112は、復号器モジュール150aを有する。送受信器112は、交換ネットワーク160を通じて、リモート基地局140に配置された、復号器モジュール150fを有する別のUMTS送受信器146と通信する。また、送受信器112は、復号器モジュール150iを有する移動ハンドセット160aとも通信する。送受信器146は、復号器ユニット150mを有する別の移動ハンドセット160fと通信する。
【0019】
基地局140は、復号器ユニット150dを有する送受信器142と、復号器ユニット150eを有する送受信器144とをさらに有する。送受信器142は、CDMA送受信器として動作し、交換ネットワーク160を通じて、CDMA送受信器132および復号器ユニット150cを有するリモートCDMA基地局130と通信するように構成される。また、送受信器142は、復号器ユニット150jを有する移動ハンドセット160dとも通信する。送受信器132は、復号器ユニット150gを有する移動ハンドセット160cと通信する。
【0020】
送受信器144は、交換ネットワーク160を通じて、送受信器122および復号器ユニット150bを有する、リモートに配置された基地局120と通信する。また、送受信器144は、復号器ユニット150kを有する移動ハンドセット160eとも通信する。送受信器122は、復号器ユニット150hを有する移動ハンドセット160bと通信する。
【0021】
送受信器112、122、132、142、144および146ならびに移動ハンドセット160a〜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を示す。ビタビ復号器260への入力は、チャネル240から受信される符号化情報である。ビタビ復号器は、枝メトリック計算器(BMC:branch metric calculator)ユニット289を有する。BMCユニット289の出力は、加算比較選択(ACS)ユニット291に提供される。状態コントローラ290は、BMCユニット289、ACSユニット291およびパスメトリックメモリ292に入力を提供する。パスメトリックメモリ292は、二重バッファとして作用し、ACSユニット291と情報を交換する。ACSユニット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の出力269は、第2復号器271に提供される。デマルチプレクサ263の第2出力265もまた、第2復号器271に提供される。第2復号器271の第1出力272は、第1デインタリーバ274に提供され、第1デインタリーバ274の出力は再帰入力277となる。第2復号器271の第2出力273は、第2デインタリーバ276に提供される。第2デインタリーバ276の出力は、スライサ278に提供され、スライサ278は、ソフト(軟)出力にしきい値を適用してそれをハード(硬)出力に変換し、受信情報信号275とする。
【0026】
好ましい実施例の統合復号器アーキテクチャは、音声およびデータの両方の機能を有するワイヤレス通信システムにおける復号器260を置き換えることを意図しており、ビタビ復号および対数MAPターボ復号に必要な計算の類似性を活用して、メモリおよび処理ユニットが、これらのいずれの方式のために設定されるときにも効率的に使用されるようにする。対数MAPは、畳込み符号の復号に利用可能なアルゴリズムである。対数MAPはまた、ターボ復号反復の半サイクルにも用いられる。好ましい実施例におけるプロセッサは、互いに積み重ねられ、階層スイッチング構造を用いて相互接続されることにより、それらのプロセッサは、別個の復号器として独立に動作することも可能であり、また、1つの所定のプロセッサを主要なプロセッサとして単一の高速復号器を形成するように結合することも可能である。
【0027】
図5に、本発明の実施例による統合復号器構造900のブロックアーキテクチャを示す。特定の伝送に対してあらかじめ合意された符号化方式のアルファベットからのマルチビット入力シンボル901が、バタフライ復号プロセッサバンク920にブロードキャストされる。バタフライ復号プロセッサバンク920はまた、第1ストアバンク940の出力を、入力として受け取る。制御ユニット960は、中間復号結果メモリ910、バタフライ復号プロセッサバンク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は、復号出力999を生成する。中間復号結果メモリ910は、対数MAPアルゴリズムを計算する際に制御ユニット960に再帰結果を提供することが可能である(後述)。
【0033】
図6に、本発明の好ましい実施例による統合復号器1200のブロックアーキテクチャを示す。統合復号器1200の制御ユニット1210は、レート1201、拘束長1202、畳込み・ターボセレクタ1203、多項式1204、トレリス方向1205、反復数1206、ブロック長1207、クロック1208およびリセット1209を含む複数の入力を受け取る。レート1201は、送信ブロックに存在する1個のデータビットを表現するために使用される情報の量を示す。拘束長1202は、提供される入力情報ビットを符号化するために使用される先行入力シンボル数を示し、従って、与えられた1個の入力シンボルを復号するために処理されるトレリスの複雑さの指標でもある。多項式1204は、復号プロセスで用いられる生成多項式係数である。反復数1206は、ターボモードで動作するときに復号器1200によって実行されるループ回数を定める。反復数1206の値が大きいほど、計算時間の増大という犠牲のもとで、復号出力1294の精度が高いことを示す。
【0034】
制御ユニット1210は、中間復号メモリ・プロセッサ1240、対数尤度プロセッサ1250aおよび1250b、マルチプレクサバンク1250c、比較器1247、バタフライ復号プロセッサ1260、逆アドレスプロセッサ1270、正規化減算器1278、マルチプレクサバンク1278a、パスメトリックストア1280、順アドレスプロセッサ1290、対数尤度比プロセッサ1297ならびに入力シンボル履歴1298と相互接続される。制御ユニット1210は、これらの接続を通じて統合復号器1200のアーキテクチャを再構成することにより、必要に応じて、畳込み復号器またはターボ復号器のいずれを実現することも可能である。
【0035】
入力シンボル1299は、入力シンボル履歴1298に提供される。入力シンボル履歴1298は、一定のデータフローが維持されることを保証するための二重バッファとして作用する。入力シンボル履歴1298はまた、入力シンボル履歴バンクセレクト1211、入力シンボル履歴アドレス1219、入力シンボル履歴クロック1223および入力シンボル履歴リセット1225を制御ユニット1210から受け取る。入力シンボル履歴1298は、第1出力1291aと第2出力1291bを生成する。第1出力1291aはバタフライ復号プロセッサ1260に提供され、第2出力1291bは対数尤度プロセッサ1250aに提供される。
【0036】
バタフライ復号プロセッサ1260はまた、入力として、逆トレリスパスメトリック1265を逆アドレスプロセッサ1270から、外部情報を中間復号メモリ・プロセッサ1240から受け取る。制御ユニット1210はまた、バタフライリセット1215、バタフライレート1216、バタフライクロック1217、バタフライ多項式1218、バタフライ拘束1220、バタフライモード1221およびベータフェーズイネーブル1235を含む複数の入力を、バタフライ復号プロセッサ1260に提供する。
【0037】
バタフライ復号プロセッサ1260は、トレリスダイヤグラムにおける対応する1つの状態に対する新しい複数ビットのパスメトリックを生成する。この新しいパスメトリックは、32ビットバス1266および1267上に出力される。32ビットバス1266および1267は、比較器1247およびマルチプレクサバンク1250cに接続される。バタフライ復号プロセッサ1260はまた、判定ビット1255を生成する。判定ビット1255は、中間復号メモリ・プロセッサ1240に入力される。
【0038】
対数MAP計算の第1フェーズにおいて、バタフライ復号プロセッサ1260はガンマおよびアルファを計算する。第2フェーズにおいて、バタフライ復号プロセッサ1260は、第1フェーズで対数尤度プロセッサ1250aおよび対数尤度プロセッサ1250bによって計算されたダミーベータを用いて、ベータを計算する。
【0039】
図7に示されるように、バタフライプロセッサバンク1260内のそれぞれのバタフライプロセッサは、2個の加算比較選択ユニット(ACSとして図示)320と、中間枝メトリック計算器(BMC)330を含む。BMC330は、周知のビタビ復号器における枝メトリックユニット(BMU:Branch Metric Unit)と同じ機能を実行し、それぞれのACS320は、トレリス復号に対するパスメトリック計算を実行する。
【0040】
図7に、図6のバタフライプロセッサ1260の例示的なバタフライユニットを示す。これは、2個の加算比較選択ユニット320と、1個の中間枝メトリック計算器330を有する。それぞれの加算比較選択ユニット320には、入力パスメトリック0(1265a)および入力パスメトリック1(1265b)が提供される。入力シンボル1291aおよび外部情報1242は、バタフライプロセッサバンク1260内のそれぞれの枝メトリック計算器330にブロードキャストされる。中間枝メトリック計算器には、バタフライレート1216、バタフライ拘束1220およびバタフライ多項式1218も提供される。
【0041】
トレリスの1つのコラム(列)内の各状態は、それに至る1対の枝メトリックを有する。それぞれの枝メトリックには、1個のシンボルが関連づけられる。したがって、与えられた向きにトレリスをたどると、注目している1つの状態について、2個の可能なシンボルのうちの一方が、前の状態に依存して期待される。BMC330は、受け取った入力シンボル1291aの、期待されるシンボルへの近接性の尺度を決定する。BMC330は、出力枝メトリック0(406)を生成し、これは、mビット幅のバスを通じて、第1ACSユニット0(320)および第2ACSユニット1(320)に提供される。BMC330は、トレリスの対称性を活用して、枝メトリック0(406)を算術的に反転させることによって、第2の枝メトリック1(402)を生成する。枝メトリック1(402)は、同じくmビット幅のバスを通じて、第1ACSユニット0(320)および第2ACSユニット1(320)に提供される。バタフライモード1221は、それぞれのACSユニット320に提供され、使用する符号化方式のためにそれらを適当に設定する。ACSユニット320およびBMCユニット330はまた、バタフライリセット1215、バタフライクロック1217およびベータフェーズイネーブル1235も受け取る。
【0042】
。それぞれのACSユニット320は、2個の出力を生成する。これらの出力は、図7のACS0の場合、第1出力1255aおよび第2出力1267aからなる。第1出力1255aは、比較ボロービットの値をとる判定ビットであり、上側または下側のいずれの可能パスメトリックを選択するかを示す。値0の判定ビットは、下側の可能パスメトリックが選択されることに対応し、他方、値1の判定ビットは、上側の可能パスメトリックが選択されることに対応する。第2出力1267aは、トレリスダイヤグラムにおける対応する1つの状態に対する新しい複数ビットのパスメトリックである。ACS1は、対応する出力1255bおよび1267bを生成する。
【0043】
図8に、図7のACSユニット0(320)のアーキテクチャを示す。2対の入力402と1265b、および、406と1265aがそれぞれ、加算器410および412に提供される。第1の入力の対は、枝メトリック1(402)およびパスメトリック1(1265b)からなり、第2の入力の対は、枝メトリック0(406)およびパスメトリック0(1265a)からなる。それぞれの入力対の構成要素は、それぞれの加算器410および412で加算され、加算器410および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に提供される。対数和補正テーブル440は、全減算器414の出力が小さいときに、対数MAP復号の場合に対数領域における結果の精度を高めるために、新しいパスメトリックの結果を調整する。対数和補正テーブル440の出力441は、加算器460に提供される。第1マルチプレクサ420の出力421は、加算器460と、第2の2対1マルチプレクサ450に提供される。加算器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は、バタフライプロセッサ1260から出力されるバタフライパスメトリック1266および1267か、あるいは、対数尤度プロセッサ0(1250a)および対数尤度プロセッサ1(1250b)により生成されるパスメトリックかのいずれかを選択するために用いられる。ビタビ計算中は、バタフライパスメトリック1266および1267が選択される。対数MAP計算の第1フェーズにおいては、バタフライパスメトリック1266および1267が選択される一方、バタフライ復号プロセッサ1260はガンマおよびアルファを計算する。同時に、対数尤度プロセッサ0(1250a)はダミーベータを計算する。第1フェーズの終了時に、対数尤度プロセッサ0(1250a)によって生成されたパスメトリックが、マルチプレクサバンク1205cによって選択され、対数尤度計算の第2フェーズでベータを計算することを可能にするためにブロードキャストされる。
【0046】
マルチプレクサバンク1205cは、下側パスメトリックバス1295および上側パスメトリックバス1296上に、新しいパスメトリックを出力する。バス1295および1296は、対数尤度プロセッサ1250aおよび1250b、マルチプレクサバンク1278aならびに順アドレスプロセッサ1290に接続される。
【0047】
順アドレスプロセッサ1290は、順トレリスセレクト1232、順トレリスホールド1234、順トレリス透過ビット1236およびパスメトリック入力MUXセレクト1238を制御ユニット1210から受け取る。これらは、統合復号器1200がトレリスを順方向または逆方向のいずれの方向にたどるために使用されているかに従って、順アドレスプロセッサ1290を設定するために用いられる。
【0048】
順アドレスプロセッサ1290は、トレリスを順方向にたどっているときに、トレリスの次のコラムの計算のために、パスメトリックの見かけ上順次リストがバタフライプロセッサ1260に提供されるように、バス1295および1296を通じて受け取られる新しいパスメトリックを並べ換える。トレリスを逆方向にたどっているときは、順アドレスプロセッサ1290は透過的に作用する。
【0049】
パスメトリックストア1280は、順アドレスプロセッサ1290から出力される順トレリスパスメトリック1285を受け取るほか、制御ユニット1210から、アドレシング情報ADDR0(1228a)およびADDR1(1228b)、パスメトリックリセット1230ならびにパスメトリックリード/ライトクロック1231を受け取る。パスメトリックストア1280は、記憶されているパスメトリック1276を、マルチプレクサバンク1278aと、対数尤度プロセッサ1250aおよび1250bに出力する。
【0050】
マルチプレクサバンク1278aは、複数の復号器ロー構成に対する相互接続点として用いられ、記憶パスメトリック1276、制御ユニット1210からの制御信号1278b、ならびに、バス1295および1296上の新しいパスメトリックを受け取る。マルチプレクサバンク1278aは、対数MAP計算中にベータ計算の初期化を行い、正規化減算器1278への出力1277を生成する。
【0051】
比較器1247は、バス1266および1267を通じてバタフライ復号プロセッサ1260からバタフライパスメトリックを受け取り、最大の新しいパスメトリックを決定する。この最大新パスメトリックは、記憶されている最大パスメトリックと比較され、それらの2つの値のうちの大きいほうが、正規化出力1246として提供される。正規化出力1246は、正規化減算器1278と、中間復号メモリ・プロセッサ1240に送られる。
【0052】
正規化減算器1278は、マルチプレクサバンク1278aからの出力1277を受け取り、パスメトリックがアーキテクチャのダイナミックレンジ内に含まれることを保証するために、正規化出力1246を減算する。正規化されたパスメトリック1275は、逆アドレスプロセッサ1270と、対数尤度プロセッサ1250aおよび1250bに出力される。逆アドレスプロセッサ1270はまた、入力として、対数尤度イネーブル1214、対数尤度0イネーブル1203および対数尤度1イネーブル1203、逆トレリスセレクト1222、逆トレリスホールド1224ならびに逆トレリス透過ビット1226を制御ユニット1210から受け取る。制御ユニット1210からの入力は、復号器1200がトレリスを順方向または逆方向のいずれの方向にたどっているかに依存して、逆アドレスプロセッサ1270を適当に設定するために用いられる。逆アドレスプロセッサ1270の出力は、逆トレリスパスメトリック1265として、バタフライ復号プロセッサ1260に提供される。
【0053】
逆アドレスプロセッサ1270は、トレリスを逆方向にたどっているときに、トレリスの次のコラムの計算のために、パスメトリックの好ましい系列がバタフライプロセッサ1260に提示されるように、正規化パスメトリックを並べ換える。トレリスを順方向にたどっているときは、逆アドレスプロセッサ1270は透過的に作用する。
【0054】
対数尤度プロセッサ1250aは、対数尤度モード1214a、逆トレリスホールド1224a、逆トレリス透過ビット1226a、対数尤度レート1248a、対数尤度拘束1249a、対数尤度クロック1251a、対数尤度リセット1252a、対数尤度多項式1253a、対数尤度0イネーブル1203a、対数尤度イネーブル1203a、逆トレリスセレクト1222a、およびセレクト信号1258aを制御ユニット1210から受け取る。対数尤度プロセッサ1250aはまた、入力として、正規化パスメトリック1275、入力シンボル履歴1298からの出力1291b、記憶パスメトリック1276、バス1296および1295上の新しいパスメトリックならびにインタリーバ外部情報1256も受け取る。対数尤度プロセッサ1250aは、第1出力1245aを生成し、これは、対数尤度比プロセッサ1297に提供される。対数尤度プロセッサ1250aはまた、入力1266′および1267′をマルチプレクサバンク1250cに提供する。
【0055】
第2の対数尤度プロセッサ1250bは、対応する入力1214b、1224b、1226b、1248b、1249b、1251b、1252b、1253b、1203b、1203b、1222bおよび1258bを制御ユニットから受け取る。対数尤度プロセッサ1250bはまた、入力として、正規化パスメトリック1275、記憶パスメトリック1276、インタリーバ外部情報1256ならびにバス1296および1295上の新しいパスメトリックも受け取る。対数尤度プロセッサ1250bは、出力1245bを生成し、これは、対数尤度比プロセッサ1297に提供される。
【0056】
対数尤度プロセッサ1250aは、対数MAP計算の第1フェーズにおいて、ダミーベータを計算するために使用される。対数MAP計算の第2フェーズでは、対数尤度プロセッサ1250aおよび1250bは、バタフライ復号プロセッサ1260とともに使用され、それぞれ「1」および「0」に対する対数尤度結果を生成する。
【0057】
中間復号メモリ・プロセッサ1240は、ビタビ計算中は、出力を生成するためのバッファとして作用する。対数MAP計算中には、中間復号メモリ・プロセッサ1240は、パスメトリックストア1280の拡張ストアとして作用する。中間復号メモリ・プロセッサ1240は、中間復号モード1212、中間復号方向1237、拡散入力1243、リード/ライトクロック1257、リセット1259およびクロッキング信号1254を制御ユニット1210から受け取る。中間復号メモリ・プロセッサ1240はまた、正規化出力1246および判定ビット1255を受け取る。中間復号メモリ・プロセッサ1240は、外部情報1242およびトレースバックプロセッサ出力1567を対数尤度比プロセッサ1297に提供し、対数尤度比プロセッサ1297から入力1293を受け取る。中間復号メモリ・プロセッサ1240はまた、インタリーバ外部情報1256を対数尤度プロセッサ1250aおよび1250bに出力する。
【0058】
対数尤度比プロセッサ1297は、対数尤度プロセッサ1250aおよび1250bから出力1245aおよび1245bを受け取るとともに、ハード・ソフト出力セレクト1213および拡散入力1243を制御ユニット1210から受け取る。対数尤度比プロセッサ1297はまた、入力として、中間復号メモリ・プロセッサ1240の外部情報1242と、スクランブルアドレスデータ1286を受け取る。対数尤度比プロセッサ1297は、復号出力1294と、中間復号メモリ・プロセッサ1240への出力1293とを生成する。
【0059】
出力1245aおよび1245bはそれぞれ、復号出力が「1」および「0」である確率を表す。対数尤度比プロセッサ1297は、出力1245aと1245bの減算を対数領域で実行する。これは、真数領域で除算を実行することと等価である。この減算の結果が復号出力1294を提供する。対数尤度比プロセッサ1297はまた、出力1245aおよび1245bと外部情報1242を減算して、出力1293を生成する。これは新しい外部情報を表す。
【0060】
最大拘束長kの符号は、2k−1状態のトレリスダイヤグラムを生成する。図9に、最大拘束長6の符号に対応する32状態生トレリスダイヤグラム1000を示す。時刻Sにおける32個の状態1002のそれぞれは、時刻St+1における32個の状態1004のうちの1つにマッピングされる2個の可能な枝メトリックを有する。例えば、時刻Sにおける状態0(1003)は、時刻St+1における状態0(1009)および状態16(1007)に至る枝メトリック1006および1008を有する。
【0061】
32状態生トレリスダイヤグラム1000は、同じトレリスの16個の対応するバタフライ接続1010によって表現することも可能である。図からわかるように、トレリスの1つのコラム1012における状態対が、トレリスの次のコラム1014における対応する状態対にマッピングされる。時刻St+1におけるトレリス状態1014は、結果として得られるパスメトリックを表す。それぞれのバタフライ接続1010は、単一のバタフライプロセッサ1260によって処理されることも可能である。本発明の好ましい実施例によれば、図6に示したように、4個のバタフライプロセッサ1260が設けられる。これにより、各クロックサイクルにおいて、8個の結果パスメトリック位置を計算することが可能である。
【0062】
図10に、32状態トレリスダイヤグラムに対する結果パスメトリック位置1014を示す。32個の結果パスメトリック位置は、4個のコラム1022、1024、1026および1028に並べ換えられている。各コラムは、4個のバタフライプロセッサによって生成される8個の結果パスメトリック位置を含む。
【0063】
トレリス演算は、それぞれ1クロックサイクルに対応するいくつかのサブトレリス演算を含む。図11A、図11B、図11C、図11Dおよび図11Eは、本発明の好ましい実施例がインプレースパスメトリックアドレシングを実行するプロセスを示す。図11Aは、時刻t=1を示す。これは、第1サブトレリス演算に対応し、この演算で、8個の新パスメトリック1112が入力される。0、1、2および3を表す新パスメトリック1112は、パスメトリックストア1280の上側メモリブロックB0に対応するメモリ1102の第1コラムに書き込まれる一方、パスメトリック16、17、18および19は、4個の保持レジスタ1114に書き込まれる。パスメトリック16、17、18および19は、メモリに書き込まれる前に1クロックサイクルの間保持される。それらが書き込まれることになるメモリ位置は、トレリス状態8〜15に対する新パスメトリックの計算が完了する次のクロックサイクルまで利用可能にならないからである。
【0064】
図11Bに示すように、次のクロックサイクルt=2において、さらに8個の新パスメトリック1122が入力される。新しいパスメトリック位置4、5、6および7に対応するパスメトリック1122が、パスメトリックストア1280の下側メモリブロックB1に対応するメモリ1104の第1コラムに書き込まれる。保持レジスタ1114の内容が、パスメトリックストア1280のB0に対応するメモリ1102の第2コラムに書き込まれ、パスメトリック位置20、21、22および23に対応する新パスメトリックが、保持レジスタ1114の新しい内容として書き込まれる。
【0065】
図11Cに示す第3のクロックサイクルにおいて、さらにもう1つのグループの新パスメトリック1134が提供される。状態8、9、10および11に対応する新パスメトリックが、パスメトリックストア1280のB0に対応するメモリ1102の第3コラムに書き込まれ、状態20、21、22および23である保持レジスタ1114の内容が、パスメトリックストア1280のB1に対応するメモリ1104の第2コラムに書き込まれる。
【0066】
図11Dは、第4クロックサイクルを示す。このクロックサイクル中に、最後の8個の新パスメトリック1144が提供される。状態12、13、14および15に対応するこれらの新パスメトリックは、パスメトリックストア1280のB1に対応するメモリ1104の第3コラムに書き込まれ、状態24、25、26および27に対応する保持レジスタの内容は、パスメトリックストア1280のB0に対応するメモリ1102の第4コラムに書き込まれ、状態28、29、30および31に対応する新パスメトリックは保持レジスタ1114に書き込まれる。
【0067】
図11Eに示すように、保持レジスタ1114の内容を、パスメトリックストア1280のB1に対応するメモリ1104の第4コラムに書き込むために、t=5に対応する次のクロックサイクルが必要である。
【0068】
図12は、本発明の好ましい実施例による、32状態トレリスに対するパスメトリックコラムのアドレシングを表す。パスメトリックコラムのアドレシング順序1150は、パスメトリックコラムのリード/ライトアドレスに対応する。テーブル1160の各ローは、シンボル時刻n(S)、シンボル時刻n+1(Sn+1)およびシンボル時刻n+2(Sn+2)を表す、トレリスダイヤグラムの相異なるコラムに対応する。明らかなように、パスメトリックコラムのアドレスの移動は周期的である。
【0069】
図11A〜Eは、SからSn+1への進行を示している。次のクロックサイクルt=6は、Sn+1からSn+2への遷移を開始させ、状態の順次リストをACSユニットに提供するために、コラム0、2、1、3が実行されることになる。
【0070】
図13、図14a、図14b、図14c、図14dおよび図14eに、本発明の好ましい実施例が逆トレリスをたどる間にインプレースパスメトリックアドレシングを実行するプロセスを示す。図13は、図14a〜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に入れられる。保持レジスタの前の内容C0BとC2Bの関数が、新パスメトリックC1A′およびC1B′を形成し、これらの新パスメトリックがそれぞれAおよびBの第3コラムに書き戻される。
【0071】
図14dでは、時刻t=4において、C1Bが保持レジスタ3010に書き込まれる。C1AとC3Aの関数が新パスメトリックC2A′およびC2B′を生成し、これらの新パスメトリックがそれぞれメモリAおよびBの第2コラムに書き込まれる。図14eは、時刻t=5に対応する逆サブトレリス演算であり、この時刻には、C1BおよびC3Bの関数が結果パスメトリックC3A′およびC3B′を形成し、これらの結果パスメトリックがそれぞれメモリAおよびBの第4コラムに書き込まれる。逆トレリスの計算において、パスメトリックはスクランブルされて4個のバタフライプロセッサに提供され、図14a〜図14eで説明したインプレースパスメトリックアドレシングは、結果パスメトリックが順次(シーケンシャルに)提供されることを保証する。
【0072】
図15は、中間復号メモリ・プロセッサ1240の実施例の高レベル概略ブロック図である。これは、それぞれの復号方式におけるトレースバックおよびインタリーバの機能を実行する。中間復号メモリ・プロセッサ1240は、入力として、判定ビット1255、正規化出力1246、拡散入力1243、中間復号方向1237、中間復号モード1212、クロッキング信号1254、リード/ライトクロック1257、リセット信号1259、および、対数尤度比プロセッサ1297からの出力1293を受け取る。中間復号メモリ・プロセッサ1240は、外部情報1242、インタリーバ外部情報1256およびトレースバックプロセッサ出力1567を含む出力を生成する。
【0073】
図16は、中間復号メモリ・プロセッサ1240の分解図である。トレースバックアドレスコントローラ1510は、入力として、判定ビット1255、中間復号方向1237、正規化出力1246、クロッキング信号1254、リセット信号1259、リード/ライトクロック1257、および、中間復号モード1212を反転したものを受け取る。トレースバックアドレスコントローラ1510は出力1567を生成する。
【0074】
トレースバックアドレスコントローラ1510は、毎クロックサイクルに、判定ビット1255をウィンドウメモリサブシステム1530に書き込む。トレースバック中に、トレースバックアドレスコントローラ1510は、トレリスセクションを検査し、始点として使用すべき最大値を決定する。なお、各状態について完全に値を記憶する必要はない。新しいトレースバックバイトアドレスは、判定ビット1255のうちの1つを用いて生成することができるからである。
【0075】
インタリーバコントローラ1520もまた、クロッキング信号1254、リセット信号1259、リード/ライトクロック1257および中間復号モード1212を受け取る。さらに、インタリーバコントローラ1520は、対数尤度比プロセッサ1297からの出力1293、拡散入力1243、および、中間復号方向1237も受け取る。インタリーバコントローラ1520は、外部情報1242および1256を生成する。外部データ1242は、復号器1200がターボ復号器として動作するときには、バタフライプロセッサ1260への再帰入力として使用される。
【0076】
インタリーバコントローラ1520は、毎クロックサイクルの最初に外部情報1242および1256を生成する。毎クロックサイクルの最後に、インタリーバコントローラ1520は、対数尤度比プロセッサ1297からの出力1293の形で新しい外部情報を受け取り、それをメモリに書き込む。
【0077】
トレースバックアドレスコントローラ1510とインタリーバコントローラ1520は相互接続され、結合リード/ライト信号1515をウィンドウメモリサブシステム1530に供給する。トレースバックアドレスコントローラ1510、インタリーバコントローラ1520およびウィンドウメモリサブシステム1530はさらに、双方向データバス1526およびアドレスバス1525によって相互接続される。インタリーバコントローラ1520は、ウィンドウメモリサブシステム1530に接続された第2のアドレスバス1535を有し、ウィンドウメモリサブシステム1530は、第2のデータバス1536上にインタリーバコントローラ1520への出力を生成する。
【0078】
図17に、トレースバックプロセッサ1510を示す。判定ビット1255が第1マルチプレクサ1550に提供される。マルチプレクサ1550の出力は判定レジスタ1555に提供される。判定レジスタ1555の出力はデータ1526であり、これは、トレースバックプロセッサ1510の出力として提供されるとともに、第1マルチプレクサ1550の再帰入力としてフィードバックされ、また、ビットセレクト1558に入力される。
【0079】
中間復号方向1237は、アドレス変換ユニット1560に入力される。アドレス変換ユニット1560はまた、リード/ライトクロック1257を受け取り、出力アドレス1525およびリード/ライト信号1515を生成する。リード/ライトクロック1257は、第1マルチプレクサ1550のセレクト信号としても提供される。
【0080】
正規化出力1246は、状態レジスタ1562に入力される。状態レジスタ1562の出力は、アドレス変換ユニット1560に入力されるとともに、前状態ユニット1564への入力となる。前状態ユニット1564は、2個の入力を第2マルチプレクサ1566に提供し、第2マルチプレクサ1566の出力はトレースバックプロセッサ出力1567となる。
【0081】
ビットセレクト1558の出力は、第1ANDゲート1568に入力される。ANDゲート1568の出力は、状態レジスタ1562に入力される。ビットセレクト1558の出力は、第2ANDゲート1569にも提供され、第2ANDゲート1569の出力もまた状態レジスタ1562に提供される。
【0082】
中間復号方向1237は、第1ANDゲート1568に第2入力として提供されるとともに、マルチプレクサ1566のセレクト入力となる。中間復号方向1237はまた、NOTゲート1570を介して、第2ANDゲート1569にも提供される。
【0083】
図18に、図16のインタリーバコントローラ1520を示す。中間復号モード1212が、ANDゲート1580に提供され、ANDゲート1580の出力は、2個のトライステートバッファ1582および1583に提供される。ANDゲート1580への他方の入力は、拡散入力1243を反転したものである。トライステートバッファ1582はまた、入力として、リード/ライトクロック1257も受け取る。第2トライステートバッファ1583は、その第2入力として、対数尤度比プロセッサ1297からの出力1293を受け取る。対数尤度比プロセッサ1297からの出力1293は、2個の論理ブロック1584および1586にも入力される。拡散入力1243は、リセット信号1259、およびクロック信号1254とともに、論理ブロック1584および1586のそれぞれに提供される。インタリーバ1520は、データバス1526を入力として受け取り、対応する出力を外部情報1242として提供する。第2データバス1536は、インタリーバ外部情報1256として出力される。データバス1526は双方向であり、インタリーバ1520からデータバス1526への出力は、トライステートバッファ1583の出力である。
【0084】
第1論理ブロック1584は、中間復号モード1212および中間復号方向1237を受け取り、アドレス1525を生成する。第2論理ブロック1586もまた、中間復号モード1212および中間復号方向1237を受け取り、アドレス1535を生成する。論理ブロック1584および1586のそれぞれは、入力BETA_Dも受け取る。これは、ロー(LOW)またはハイ(HIGH)パワー信号である。
【0085】
図19は、図18の論理ブロック1584の分解図である。図18の論理ブロック1586は同じ構成を有する。ウィンドウカウント1590は、入力として、リセット1259、クロック1254およびイネーブル1212を受け取る。ウィンドウカウント1590はまた、入力として、第1加算器1592の出力も受け取る。ウィンドウカウント1590は、加算器1592および1593に提供される出力を生成する。第1加算器1592は、第2入力として、定数1599を受け取り、出力をウィンドウカウント1590に提供する。ビットカウント1591は、入力として、リセット1259、クロック1254、イネーブル1212および第3加算器1594の出力を受け取る。ビットカウント1591は、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入力はスクランブル1597の出力である。マルチプレクサ1596の出力は、アドレス1525である。スクランブル1597は、拡散入力1243をイネーブル信号として受け取り、対数尤度比プロセッサ1297からの出力1293をデータとして受け取る。スクランブル1597は、当業者に周知のメモリあるいは論理機能とすることが可能であり、ターボ復号器計算を実行する際に第1と第2の復号器間でアドレスのスクランブルを実行するために使用される。
【0087】
図20は、図15のウィンドウメモリサブシステム1530の概略ブロック図である。リード/ライトクロック1515、アドレスバス1525および1535、ならびにデータバス1526および1536が、ウィンドウアドレスデコーダ1530aおよびウィンドウメモリ1530b〜1530dに提供される。
【0088】
図21に、図6の対数尤度プロセッサ1250aを示す。4個のバタフライユニットのバンク1410が設けられ、このバンクを構成する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ユニット1412a〜1412hは、第1出力1413a〜1413hを生成する。これらの第1出力は、順序対として、ACSノードユニット1420a〜1420dに提供される。ACSユニット1412a〜1412hは、第2出力480a〜480hを生成する。第2出力480a〜480hのそれぞれは、対応する正規化減算器1470a〜1470hに提供される。正規化減算器1470a〜1470hは、出力1266′および1267′を生成する。これらの出力は、以下で説明するように、マルチプレクサを介して再帰的に逆アドレスプロセッサ1270bに供給され、パスメトリックがアーキテクチャのダイナミックレンジ内にとどまることを保証するために使用される。
【0089】
第1のバンクを構成するマルチプレクサ1417a〜1417hはそれぞれ、対応する正規化パスメトリック1275a〜1275hを正規化プロセッサ1278から、および、セレクト信号1258を制御ユニット1210から受け取る。また、マルチプレクサ1417a〜1417dは、対応するパスメトリック1296a〜1296dも受け取り、マルチプレクサ1417e〜1417hは、対応するパスメトリック1295a〜1295dも受け取る。パスメトリック1295a〜1295dおよびパスメトリック1296a〜1296dは、対数MAP計算におけるベータを表す。セレクト信号1258は、正規化パスメトリック1275a〜1275hか、それとも、パスメトリック1295a〜1295dおよび1296a〜1296dのいずれが出力されることになるかを決定するために使用される。
【0090】
第2のバンクを構成するマルチプレクサ1416a〜1416hはそれぞれ、対数尤度モード1214aをセレクト信号として受け取るとともに、第1バンクのマルチプレクサ1417a〜1417hからの対応する出力を受け取る。マルチプレクサ1416a〜1416dは、正規化減算器1470a〜1470dの出力1266′である第3入力を受け取り、マルチプレクサ1416e〜1416hは、正規化減算器1470e〜1470hからの出力1267′を受け取る。マルチプレクサ1416a〜1416hからの出力は、逆アドレスプロセッサ1270bに入力される。
【0091】
逆アドレスプロセッサ1270bは、対数尤度モード1214a、対数尤度0イネーブルに対するターボイネーブル1203a、対数尤度1に対するターボイネーブル1203a、逆トレリスセレクト1222a、逆トレリス透過ビット1226aおよび逆トレリスホールド1224aも受け取る。対数尤度プロセッサ1250aのベータ出力1266′および1267′は、復号器1200が対数MAP/ターボモードで動作しているときに、ベータ処理フェーズの開始のために使用される最終的なダミーベータ値を表す。
【0092】
ACSノードユニット1420aおよび1420bの出力は、ACSノードユニット1430aに提供され、ACSノードユニット1420cおよび1420dの出力は、ACSノードユニット1430bに提供される。ACSノードユニット1430a、1430bの出力は、さらに別のACSノードユニット1440aに入力される。ACSノードユニット1440aの出力は、マルチロー(多重行)比較器ツリーに提供される。このマルチロー比較器ツリーは、復号器がマルチロー構成で動作するときに、調べているトレリスの状態に対して計算されている最大のパスメトリックを捕捉するように、復号器全体にわたる。マルチロー比較器ツリーからの出力は、減算器1450およびレジスタ1460に提供される。減算器1450は、レジスタ1460への再帰入力も提供する。レジスタ出力1245aは、対数尤度プロセッサ1250aとなるとともに、減算器1450と、正規化減算器1470a〜1470hのそれぞれに供給される。
【0093】
図22に、図21のACSノードユニット1420aの一構成を示す。ACSリーフユニットからの出力1413aおよび1413bは、比較器1474およびマルチプレクサ1476に入力される。比較器1474のボロー出力は、マルチプレクサ1476のセレクト信号として供給される。比較器1474の差出力は、対数和補正テーブル1478に入力される。対数和補正テーブル1478の出力は、加算器1480に提供され、加算器1480の第2入力は、マルチプレクサ1476の出力である。加算器1480は、その2つの入力の和1425aを計算して出力する。この和1425aは、対数和補正付きで、2つの入力1413aと1413bの最大値を表す。
【0094】
図23に、8ロー復号器実施例に対する、図6の対数尤度プロセッサ1250aの構成を示す。各ローの対数尤度プロセッサ1250a′は、マルチプレクサ1490のバンクを介して相互接続される。各マルチプレクサ1490は、対応する復号器ローの対数尤度プロセッサ1250a′に1つの入力を提供する。対数尤度プロセッサ1250a′の対は、それらの出力を、ACSノードユニット1420a′、1420b′、1420c′および1420d′に入力する。対数尤度プロセッサ1250a′の出力はまた、マルチプレクサ1490のバンクへも再帰入力として提供される。ACSノードユニット1420a′、1420b′、1420c′および1420d′は、2個ずつ対にされ、それらの出力を、さらに別のACSノードユニット1430a′および1430b′に入力する。ACSノードユニット1420a′、1420b′、1420c′および1420d′の出力はまた、マルチプレクサ1490のバンクへも再帰入力として提供される。ACSノードユニット1430a′および1430b′は、それらの出力を、最後のACSノードユニット1440′に提供するとともに、マルチプレクサ1490のバンクに再帰入力として提供する。最後のACSノードユニット1440′の出力は、最後の再帰入力としてマルチプレクサ1490のバンクに提供される。各マルチプレクサ1490にはセレクト信号が提供される。
【0095】
図24に、図21のACSユニット1412aの1つの有用なアーキテクチャを示す。第1の入力対、すなわち、枝メトリック1(402′)および枝メトリック0(406′)は、マルチプレクサ408に提供され、マルチプレクサ408は出力402″を生成する。第2の入力対、すなわち、パスメトリック1276aおよびパスメトリック1(1415b)は、マルチプレクサ409に提供され、マルチプレクサ409は出力403′を生成する。マルチプレクサ408および409のそれぞれは、対数尤度モード1214aをセレクト信号として受け取る。対数尤度モード1214aがイナクティブのとき、枝メトリック1(402′)がマルチプレクサ408によって選択され、パスメトリック1415bがマルチプレクサ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(1415a)を第2入力として受け取る。加算器412′は、和413′を生成する。和413′は、アルファ、ベータおよびガンマの和を表す。和413′は、全減算器414′およびマルチプレクサ420′に提供される。マルチプレクサ416′は、表現可能な最小の2の補数に対応する配線入力407′を受け取るとともに、対数尤度モード1214aをセレクト信号として受け取る。全減算器414′はまた、マルチプレクサ416′の出力408′を第2入力として受け取り、ボロー361′および差415′を生成する。
【0097】
マルチプレクサ416′の出力408′は、マルチプレクサ420′の第1入力として提供される。マルチプレクサ420′は、加算器412′の和413′を第2入力として受け取る。全減算器414′のボロー出力361′は、入力値の最大値MAXを計算するためにマルチプレクサ420′に供給される。全減算器414′の第2出力415′は、マルチプレクサ出力408′と和413′の差を表し、対数和補正テーブル440′に提供される。対数和補正テーブル440′は、全減算器414′の出力が小さいときに、対数MAP復号の場合に対数領域における結果の精度を高めるために、新パスメトリックの結果を調整する。対数和補正テーブル440′の出力441′は、加算器460′に提供される。マルチプレクサ420′の出力421′もまた、加算器460′に提供される。加算器460′からの結果490′は、累算レジスタ470′に入力される。累算レジスタ470′は、ダミーベータ対数MAP計算のために値を累算する。累算レジスタの出力480aは、さらに別のマルチプレクサ475′に入力されるとともに、ダミーベータ計算において使用するためにACSユニット1412aの出力として提供される。マルチプレクサ475′は、和490′を第2入力として受け取るとともに、対数尤度モード1214aをセレクト信号として受け取る。マルチプレクサ475′の出力1413aは、ACSユニット1412aの第2出力となる。
【0098】
図25に、好ましい実施例による図6のバタフライ復号プロセッサ1260を示す。構成要素のACSユニットACS0〜ACS7のそれぞれには、バタフライモード1221、バタフライリセット1215、バタフライクロック1217およびベータフェーズイネーブル1235を含む複数の入力が提供される。構成要素のBMCユニットBMC0〜BMC3のそれぞれには、バタフライレート1216、バタフライ拘束1220およびバタフライ多項式1218が提供される。逆トレリスパスメトリック1265は、ACSユニットACS0〜ACS7への入力1265a〜1265hを提供するようにファンアウトし、それぞれのACSユニットが2個の逆トレリスパスメトリックを受け取るようにしている。逆トレリスパスメトリック1265aおよび1265bは、ACSユニットACS0およびACS1のそれぞれに提供され、逆トレリスパスメトリック1265cおよび1265dは、ACSユニットACS2およびACS3のそれぞれに提供され、逆トレリスパスメトリック1265eおよび1265fは、ACSユニットACS4およびACS5のそれぞれに提供され、逆トレリスパスメトリック1265gおよび1265hは、ACSユニット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の符号は、2k−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の逆アドレスプロセッサ1270を示す。逆アドレスプロセッサ1270は、パスメトリックを遅延させ並べ換えて、所望のパスメトリックのパターンを生成することを可能にする。逆アドレスプロセッサ1270はまた、復号器1200が順トレリスモードで動作しているときは、入力パスメトリックが変更なしに出力として提供されるように透過的に作用することが可能である。逆アドレスプロセッサ1270は、入力として、逆トレリスセレクト1222、逆トレリスホールド1224、逆トレリス透過ビット1226、対数尤度モード1214、対数尤度0イネーブル1203、対数尤度1イネーブル1203、および正規化パスメトリック1275を受け取る。正規化パスメトリック1275は、ファンアウトして、入力対1275a・1275e、1275b・1275f、1275c・1275g、および1275d・1275hを、対応する第1バンクのマルチプレクサ1910a3、1910b3、1910c3および1910d3と、対応する第2バンクのマルチプレクサ1915a〜1915dに提供する。
【0103】
逆トレリスセレクト1222は、第1バンクのXORゲート1920a〜1920dのそれぞれに提供される。XORゲート1920aおよび1920cは、対数尤度0イネーブル1203を受け取り、XORゲート1920bおよび1920dは、対数尤度1イネーブル1203を受け取る。それぞれのXORゲート1920a〜1920dは、第2バンクのXORゲート1925a〜1925dの対応するXORゲートと、マルチプレクサ1910a3〜1910d3に提供される出力を生成する。第2バンクのXORゲート1925a〜1925dのそれぞれは、対数尤度イネーブル1214を第2入力として受け取り、第2バンクのマルチプレクサ1915a〜1915dの対応するマルチプレクサへの出力を生成する。前述のように、それぞれのマルチプレクサ1915a〜1915dは、正規化パスメトリックの対を受け取る。XORゲート1925a〜1925dからの出力は、それぞれのマルチプレクサ1915a〜1915dが提供される正規化パスメトリックのうちの一方を選択するためのセレクト信号として作用する。マルチプレクサ1915a〜1915dのそれぞれは、マルチプレクサ1910b1、1910d1、1910f1および1910h1のうちの対応するマルチプレクサに出力を提供する。
【0104】
マルチプレクサ1910a3〜1910d3および1915a〜1915dには、対数尤度イネーブル1214ならびに対数尤度0イネーブル1203および対数尤度1イネーブル1203の値に依存して異なる入力対が提供される。対数尤度0イネーブル1203は、対数尤度プロセッサ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のそれぞれは、対応するラッチ1910a2〜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〜1610hのそれぞれに入力される。マルチプレクサバンク1278aの出力1277は、個々のパスメトリック1277a〜1277hとして提供され、これらのパスメトリックはそれぞれ対応する減算器1610a〜1610hに提供される。減算器1610a〜1610hの出力1275a〜1275hは、正規化パスメトリック1275を形成する。正規化減算器1278は、トレリスをたどる間に計算され正規化出力1246として提供される最大パスメトリックを新パスメトリックから減算して、パスメトリック値がアーキテクチャのダイナミックレンジ内に保持されることを保証するために、使用される。
【0108】
図28に、本発明の好ましい実施例による、図6の比較器1247を示す。バス1267上に提供されるバタフライパスメトリックは、ファンアウトされ、対応する最大値比較器1710a〜1710dへの入力1267a〜1267dを生成する。同様に、バス1266上に提供されるバタフライパスメトリックは、ファンアウトされ、対応する最大値比較器1710e〜1710hへの入力1266a〜1266dを生成する。パスメトリック1266a〜1266dおよび1267a〜1267dは相互に比較され、最大パスメトリック1715が、図31に示すマルチロー比較器ツリーに出力される。マルチロー比較器ツリーは、復号器がマルチロー構成で動作するときに、調べているトレリスの状態に対して計算されている最大のパスメトリックを捕捉するように、復号器全体にわたる。マルチロー比較器ツリーからの出力は、レジスタ1720に提供される。レジスタ1720は、トレリスをたどる間に計算された最大パスメトリックを記憶する。出力1716はまた、減算器1730にも入力される。レジスタ1720は、減算器1730への第2入力を提供する。この入力は、トレリスをたどる間に計算された最大パスメトリックを提供する。この減算器は、トレリスをたどる間に計算された最大パスメトリックを最大パスメトリック1715と比較し、計算されたばかりの最大パスメトリック1715が、トレリスをたどる間に計算された最大パスメトリックより大きい場合、ロード信号1735がレジスタ1720に対してイネーブルされ、最大パスメトリック1715がレジスタ1720にロードされて、トレリスをたどる間に計算された最大パスメトリックとなる。このレジスタは、正規化出力1246となるもう1つの出力を提供し、これは、正規化減算器1278および中間復号メモリ・プロセッサ1240に供給される。正規化出力1246は、計算されたパスメトリック値がアーキテクチャのダイナミックレンジ内にとどまることを保証するために使用される。
【0109】
図29に、好ましい実施例による図6のパスメトリックメモリ1280を示す。パスメトリックリセット1230およびパスメトリックリード/ライトクロック1231が、メモリユニット1810a〜1810hのそれぞれに提供される。上側メモリブロック1810a〜1810dはB0としてまとめられ、入力ADDR0(1228a)を受け取る。他方、下側メモリブロック1810e〜1810hはまとめられてB1を形成し、対応する入力ADDR1(1228b)を受け取る。パスメトリックストア1280は、順トレリスパスメトリック1285を受け取り、これはファンアウトされ、図示のように、対応するメモリブロック1810a〜1810hのそれぞれにパスメトリック1285a〜1285hを提供する。パスメトリックストア1280は、1トレリス処理サイクルの間、順トレリスパスメトリック1285をバッファリングした後、出力1276a〜1276hを生成し、これらの出力はまとめられて記憶パスメトリック1276を形成する。
【0110】
図30に、本発明の好ましい実施例による図6の順アドレスプロセッサ1290を示す。順アドレスプロセッサ1290は、パスメトリックを遅延させ並べ換えて、所望のパスメトリックのパターンを生成することを可能にする。順アドレスプロセッサ1290はまた、復号器1200が逆トレリスモードで動作しているときは、入力パスメトリックが変更なしに出力として提供されるように透過的に作用することが可能である。上側パスメトリックバス1296は、構成要素のパスメトリック1296a〜1296dに分かれ、これらは、図示のように、2個のマルチプレクサ2010aおよび2010bに提供される。これらのマルチプレクサのそれぞれは、2個の入力パスメトリックを受け取る。下側パスメトリックバス1295は、構成要素のパスメトリック1295a〜1295dに分かれ、これらは、図示のように、2個のマルチプレクサ2010cおよび2010dに提供される。これらのマルチプレクサのそれぞれは、2個の入力パスメトリックを受け取る。マルチプレクサ2010a〜2010dはそれぞれ、順トレリスセレクト1232を受け取る。順トレリスセレクト1232は、提供されるパスメトリック1296a〜1296dおよび1295a〜1295dのいずれを選択すべきかを示す。
【0111】
マルチプレクサ2010a〜2010dのそれぞれは、対応する保持レジスタ2015a〜2015dに出力を供給する。保持レジスタ2015a〜2015dはそれぞれ、順トレリスホールド1234を入力として受け取る。マルチプレクサ2010a〜2010dおよび保持レジスタ2015a〜2015dの目的は、インプレースパスメトリックアドレシングの一部として、パスメトリック1296a〜1296dおよび1295a〜1295dの一部を1クロックサイクルだけ遅延させることである。
【0112】
保持レジスタ2015a〜2015dのそれぞれは、図示のように、マルチプレクサバンク2020に提供される出力を生成する。マルチプレクサバンク2020の他方の入力は、同じく図示されているように、上側パスメトリックバス1296および下側パスメトリックバス1295の構成要素のパスメトリックである。パスメトリック入力マルチプレクサセレクト1238が、マルチプレクサバンク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は、対応する復号器ローにおける対応する比較器1247′への単一の入力を提供する。比較器1247′の対は、それらの出力1715を、ACSノードユニット1420a″、1420b″、1420c″および1420d″に入力する。これらのACSノードユニットのそれぞれは、復号器の2個のローにわたる。比較器1247′の出力1715はまた、マルチプレクサ2110のバンクへも再帰入力として提供される。ACSノードユニット1420a″、1420b″、1420c″および1420d″は、2個ずつ対にされ、それらの出力を、さらに別のACSノードユニット1430a″および1430b″に入力する。ACSノードユニット1420a″、1420b″、1420c″および1420d″の出力はまた、マルチプレクサ2110のバンクへも再帰入力として提供される。ACSノードユニット1430a″および1430b″は、それらの出力を、最後のACSノードユニット1440″に提供するとともに、マルチプレクサ2110のバンクに再帰入力として提供する。最後のACSノードユニット1440″の出力は、最後の再帰入力としてマルチプレクサ2110のバンクに提供される。各マルチプレクサ2110にはセレクト信号が提供される。
【0114】
図32に、アドレスコントローラを含む、図6の入力シンボル履歴1298の構成を示す。入力シンボル履歴アドレス1219は、ウィンドウデコーダ2210に入力される。ウィンドウデコーダ2210は、第1の二重バッファメモリバンク0(2216)および第2の二重バッファメモリバンク1(2218)へのアクセスを可能にするためにアドレスをデコードする。入力シンボル履歴1298は、連続的なデータフローが維持されることを保証するために、受け取った入力を二重バッファリングする。入力シンボル履歴クロック1223および入力シンボル履歴リセット1225は、カウンタ2212に提供され、カウンタ2212の出力1297aもまた、二重バッファメモリバンク0(2216)および二重バッファメモリバンク1(2218)に提供される。入力シンボル1299は、ホストプロセッサから、デマルチプレクサ2214に提供される。デマルチプレクサ2214は、二重バッファメモリバンク0(2216)への出力2224と、二重バッファメモリバンク1(2218)への出力2226を生成する。デマルチプレクサ2214はまた、入力として、リード/ライト信号1297bを受け取る。リード/ライト信号1297bは、第1マルチプレクサ2220および第2マルチプレクサ2222にも供給される。二重バッファメモリバンク0(2216)および二重バッファメモリバンク1(2218)のそれぞれには、バンクセレクト信号1211が提供される。ただし、バンクセレクト信号1211は、二重バッファメモリバンク1(2218)へのインタフェースで反転される。
【0115】
二重バッファメモリバンク0(2216)は、マルチプレクサ2220への第1出力2228と、第2マルチプレクサ2222への第2出力2230を生成する。二重バッファメモリバンク1(2218)は、マルチプレクサ2220に供給される対応する第1出力2232と、第2マルチプレクサ2222に提供される第2出力2234を生成する。第1マルチプレクサ2220は、対数尤度プロセッサ0(1250b)に入力される出力1291bを生成する。第2マルチプレクサ2222は、バタフライプロセッサ1260に入力される出力1291aを生成する。
【0116】
図32は、二重バッファメモリバンク1(2218)の分解図も示している。入力データ2226は、1対nデマルチプレクサ2240に提供される。1対nデマルチプレクサ2240はまた、ウィンドウデコーダ2210の出力であるウィンドウセレクトも受け取る。デマルチプレクサ2240からのn個の出力は、n個の対応するウィンドウW0〜Wnに提供される。これらのウィンドウのそれぞれは、第1のm対1マルチプレクサ2242および第2のm対1マルチプレクサ2244に提供される出力を生成する。m対1マルチプレクサ2242、2244のそれぞれは、ウィンドウセレクト入力信号も受け取る。第1のm対1マルチプレクサ2242は、出力2232を生成し、この出力は、ダミーベータ計算のために使用され、対数尤度プロセッサ1250aに送られる。第2のm対1マルチプレクサ2244は、出力2234を生成し、この出力は、バタフライプロセッサ1260の枝メトリックユニットにおいてアルファおよびベータを計算するために使用される。
【0117】
図33に、図6の対数尤度比プロセッサ1297を示す。対数尤度比プロセッサ1297は、入力1245aおよび1245bを受け取る。これらの入力はそれぞれ、対数尤度プロセッサ1250aおよび対数尤度プロセッサ1250bからの出力である。対数尤度比プロセッサ1297はまた、入力として、外部情報1242、ハード・ソフト出力セレクト1213、拡散入力1243、トレースバックプロセス出力1567およびスクランブルアドレスデータ1286も受け取る。
【0118】
減算器2310は、それぞれ「1」および「0」の尤度を表す入力1245aおよび1245bを受け取り、第2減算器2320に供給される出力2315を生成する。減算器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に提供される。バタフライプロセッサ1260は、マルチプレクサバンク1250cを介して、新パスメトリックを生成する。この新パスメトリックは、もはや宛先状態順ではなく、順アドレスプロセッサ1290に供給される。順アドレスプロセッサ1290は、実質的に、新パスメトリックの各コラムに対するソート操作を実行し、その結果、パスメトリックメモリ1280のB0およびB1のコラムが、コラムを順に読んでいくときに順次状態のセットを表すようになる。それぞれのコラム操作中、図11A〜図11Eに示したように、8個の新パスメトリックのうちの半数はパスメトリックストア1280に直接書き込まれる一方、残りの新パスメトリックは順アドレスプロセッサ1290内の保持レジスタ2015a〜2015dに書き込まれる。これは、パスメトリックのグループごとに入れ替わる。
【0126】
順トレリスをたどることは、コラム数だけの反復を必要とする。この数は、問題としている特定のトレリスに必要なコラム数より1だけ大きい。反復番号が偶数の場合、バス1296A,C,E,Gからのパスメトリックが、反復番号に対応するパスメトリックストア1280 B0のコラムに書き込まれる。バス1296B,D,F,Hからのパスメトリックは同時に、順アドレスプロセッサ1290の保持レジスタ2015a〜2015dに書き込まれる。
【0127】
一方、奇数番目の反復である場合、バス1296A,C,E,Gからのパスメトリックが、順アドレスプロセッサ1290の保持レジスタ2015a〜2015dに書き込まれ、バス1296B,D,F,Hからのパスメトリックは、反復番号に対応するパスメトリックストア1280のコラムに書き込まれる。
【0128】
コラム操作中、バタフライプロセッサ1260のACSユニットによって生成される判定ビット1255は1バイトにまとめられ、中間復号メモリ・プロセッサ1240に書き込まれる。プロセスにおける次の反復は、次の反復の番号に対応するパスメトリックストア1280のB0およびB1からコラムアドレスを読み出すことによって開始される。反復プロセスは、コラム反復の数が、計算しているトレリスに必要なコラム数より1だけ大きい数に一致するまで継続する。
【0129】
順アドレスプロセッサ1290の保持レジスタ内の4個の新パスメトリックを転送するために、反復プロセスの最後にもう1回の書き込み操作が必要とされる。これらの4個の新パスメトリックは、パスメトリックストアメモリ1280 B1の最終コラムに書き込まれる。最終結果として、新パスメトリックは、異なるコラム順序で、パスメトリックストア1280のB0およびB1に書き込まれたことになる。なお、各コラム内の順序は変わっていない。
【0130】
トレリスを逆方向にたどっているときは、順番号は、右に回転された後にはじめて使用される。4個のパスメトリックからなるグループが、パスメトリックストア1280 B0の第1コラムからフェッチされ、逆アドレスプロセッサ1270内の保持レジスタに入れられる。順アドレスプロセッサ1290は、順トレリス透過ビット1236をセットすることによって透過モードで動作するように設定される。対応する逆トレリス透過ビット1226は、逆アドレスプロセッサ1270がイネーブルされるように設定される。逆トレリスをたどることは、図13および図14で説明した。
【0131】
トレリスを逆方向にたどることは、その特定のトレリスに必要なコラム数より1だけ大きい数に等しい反復数を必要とする。トレリスを逆方向にたどるとき、インプレースパスメトリック方式は常に、逆アドレスプロセッサ1270を通じて、スクランブルされたパスメトリックのリストを提供し、バタフライプロセッサ1260へのパスメトリックの非順次リストを生成する。バタフライプロセッサ1260によって生成される、結果として得られるトレリス状態順序は、トレリス状態順である。
【0132】
偶数番目の反復を行う場合、反復番号に1を加えた番号に等しいパスメトリックストア1280 B0内のコラムが読み出され、マルチプレクサ1278a、正規化プロセッサ1278および逆アドレスプロセッサ1270を通ってバタフライプロセッサ1260へと渡される。逆アドレスプロセッサ1270に現在保持されているパスメトリックもまたバタフライプロセッサ1260に読み込まれる。反復番号に等しいパスメトリックストア1280内のコラムが読み出され、逆アドレスプロセッサ1270の保持レジスタに書き込まれる。
【0133】
反復番号が奇数の場合、反復番号に1を加えた番号に等しいパスメトリックストア1280 B1のコラムが読み出され、マルチプレクサ1278aおよび正規化プロセッサ1278を通って逆アドレスプロセッサ1270に渡され、さらにバタフライプロセッサ1260へと渡される。逆アドレスプロセッサ1270に保持されているパスメトリックもまたバタフライプロセッサ1260に入力される。反復番号に等しいパスメトリックストア1280のコラムが読み出され、逆アドレスプロセッサ1270の保持レジスタに書き込まれる。
【0134】
逆トレリスをたどるこの時点で、パスメトリックストア1280のB0およびB1の第1コラムに保持されるパスメトリックの順次リストが逆アドレスプロセッサ1270に提供される。逆アドレスプロセッサ1270は、バタフライプロセッサ1260に提供される結果のコラムがもはや宛先状態順ではないという意味で、新パスメトリックの各コラムに対するソート操作を実行する。バタフライプロセッサ1260は、8個の新パスメトリックを生成し、これらの新パスメトリックは、マルチプレクサバンク1250cを介して、順アドレスプロセッサ1290に提供される。順アドレスプロセッサ1290は透過モードにあるため、バタフライプロセッサ1260によって生成されたパスメトリックのトレリス状態順リストが、マルチプレクサバンク1250cを介して、パスメトリックストア1280のB0およびB1に書き戻される。パスメトリックストア1280のB0およびB1は、コラムを順に読んでいくときに順次状態のセットを表す。
【0135】
コラム操作中、バタフライプロセッサ1260のACSユニットによって生成される判定ビット1255は1バイトにまとめられ、中間復号メモリ・プロセッサ1240に書き込まれる。次の反復は、パスメトリックストア1280のB0およびB1からパスメトリックの適当なコラムを読み出すことによって開始される。
【0136】
反復プロセスの終了時には、新パスメトリックは、異なるコラム順序で、パスメトリックストア1280のB0およびB1に戻る。なお、各コラム内の順序は変わっていない。
【0137】
中間復号メモリ・プロセッサ1240内のトレースバックプロセッサ1510は、周知のポインタ型トレースバック演算を実行するので、トレリス処理方向と、判定ビットのビット位置を知っている。判定ビットは、1バイトから抽出され、トレースバックメモリ1530内への次のポインタを生成するために使用される。トレースバックは、あらかじめ規定されたトレースバック深さに達したときに終了する。トレースバック深さは一般に、符号の拘束長の5〜9倍の間にある。
【0138】
復号器1200がターボ復号のために使用されているときは、処理は、ダミーベータ/アルファ処理と、ベータ/LLR処理という2つの異なるフェーズに分かれる。トレリス状態の数が、バタフライプロセッサ1260のACSユニットサイズの整数(2の累乗)倍でACSユニットACS0〜ACS7の数と一致するという縮退した場合だけを除いては、順トレリスまたは逆トレリスのいずれかの演算が言及されているときには上記の処理が行われる。対数尤度プロセッサ0(1250a)およびバタフライプロセッサ1260内のACSユニットには、それぞれのACSユニットがアルファおよびベータの計算に必要な結果を累算することを可能にするレジスタがそれぞれ設けられる。
【0139】
ダミーベータおよびアルファの計算は並列に行われる。対数尤度プロセッサ0(1250a)は、リーフACSユニットを自由に使用してダミーベータ計算を実行する。この計算は、それぞれがウィンドウメモリシステムである入力シンボル履歴バッファおよび中間復号メモリ・プロセッサインタリーバメモリへのアクセスを必要とする。入力シンボル履歴バッファは、処理ウィンドウのサイズのバンク2216および2218として組織される。対数尤度プロセッサ0(1250a)は、時刻t+1に処理すべきウィンドウを時刻tに処理することによってダミーベータを累算する。対数尤度プロセッサ0(1250a)は、パスメトリックストア1280へのアクセスを必要としない。これが、対数尤度プロセッサ0(1250a)がバタフライプロセッサ1260内に含まれるACSユニットと並列に動作可能な理由である。
【0140】
対数尤度プロセッサ0(1250a)は、計算された最大のベータを決定するためにACSツリー内の加算器を使用することにより、ダミーベータ値に対する正規化を実行する。この最大値は、対数尤度プロセッサ0(1250a)のリーフACSユニットへの入力を使用する前に、その入力から減算される。
【0141】
バタフライプロセッサ1260は、アルファ計算を実行し、構成要素のACSユニット内にあるレジスタにおいてアルファ値を累算する。バタフライプロセッサ1260は、順トレリスをたどる間に行われるのと同様に、順トレリス演算および正規化を実行する。
【0142】
対数尤度プロセッサ0(1250a)によって計算されるダミーベータは、ベータ計算フェーズの開始時にバタフライプロセッサ1260に提供される。
【0143】
ベータの計算中は、対数尤度プロセッサ1250aおよび1250bの両方がバタフライプロセッサ1260とともに使用される。対数尤度プロセッサ1250a、1250bのそれぞれは、パスメトリックストア1280からのアルファと、前のクロックサイクルから得られたベータと、中間復号メモリ・プロセッサ1240から生成される外部情報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】
Figure 0004907802
【0152】
より少数のデータストリームを高速で復号するために2個または4個の復号器がどのように協働することができるかを例示するため、図35に、2個の復号器の間の相互接続を示す。「M」と記されたボックスは、隣の復号器からのパスメトリックの一部をパスメトリックメモリに書き込む前に入れ替えることを可能にするマルチプレクサである。さらに、図36には、単一の復号器、2個の復号器、または4個の復号器のいずれとしても機能するように、4個の復号器をどのようにして相互接続することができるかを示す。
【0153】
統合復号器の複数標準対応性を実証するため、復号器は、表2に示す標準の任意の組み合わせをサポートする。(このリストは決して完全ではないが、この統合復号器のフレキシブルな(したがって有用な)性質を実証するために記載している。)
【表2】
Figure 0004907802
【0154】
統合復号器900は、畳込み符号化データストリームおよびターボ符号化データストリームに必要な復号を実現し、複数のデータストリームおよび複数の音声ストリームを同時にサポートすることができる。ターボ符号化データストリームを復号するとき、この復号器は、最大値−対数MAPアルゴリズムまたは対数MAPソフト出力MAPアルゴリズムのいずれかを用いた反復ターボ復号器を実現する。この復号器は、畳込みおよびターボ復号方式の両方の効率的実現を可能にするように、その構成要素を最大限に再利用する。
【0155】
本発明の復号器は、相異なる標準の音声ストリームを復号するために、必要に応じて、動的に分割されることが可能である。本発明の復号器は、相異なる符号化レート(レート1/2、レート1/3、レート1/4など)でストリームを処理することができる。本発明の復号器はまた、相異なる拘束長で符号化されたストリームを処理することも可能である。したがって、本発明の統合復号器アーキテクチャは、現在規定されている移動ワイヤレス標準(音声およびデータの両方について、第1、第2および第3世代)のそれぞれをサポートすることが可能である。
【0156】
好ましい実施例の統合復号器アーキテクチャは、非組織(フィードフォワード)符号器と組織(フィードバックワード)符号器の機能を単一のアーキテクチャに組み込む。図37Aに、符号語3225の1個の符号ビット3225_0を生成するための、多項式3240と状態ビット3250のミキシングを示す。多項式3240は、対応するANDゲート3260に提供される。このANDゲート3260は、状態3250も入力として受け取る。それぞれのANDゲート3260は、対応するXORゲート3270への出力を生成する。それぞれのXORゲート3270はまた、遷移入力3280も受け取り、Mビット非組織符号器3230の出力3225_0を生成する。
【0157】
図37Bに、符号語3225に対する符号器3200の全体を示す。多項式3240は、対応するMビット非組織符号器3230に提供される。入力ビット3220は、XORゲート3275に提供される。RSC_ENABLE信号は、ANDゲート3280に提供され、このANDゲート3280の出力は、XORゲート3275の第2入力となる。ANDゲート3280はまた、入力として、符号器3230の出力も受け取る。XORゲート3275は、Mビットシフトレジスタ3210およびそれぞれの符号器3230に出力を提供する。Mビットシフトレジスタ3210はまた、クロック信号3285およびリセット信号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がアクティブのとき、CODE_WORD3225は通常1ビット幅である。出力CODE_WORD3225(今の場合1ビット幅)および入力ビット(INPUT_BIT)3220がRS符号語を形成する。
【0160】
【発明の効果】
上記の説明から明らかなように、本発明の実施例は、統合されたスケーラブルなアーキテクチャを用いて、複数の伝送標準の復号に適用可能である。
【0161】
上記の説明は、本発明の実施例についてのものに過ぎない。本発明の技術的範囲および技術思想から離れることなく、さまざまな修正や変形が可能である。実施例は例示であり、限定的なものではない。
【0162】
特許請求の範囲の発明の要件の後に括弧で記載した番号がある場合は、本発明の一実施例の対応関係を示すものであって、本発明の範囲を限定するものと解釈すべきではない。
【図面の簡単な説明】
【図1】複数のプロトコルを用いた通信ネットワークの概略ブロック図である。
【図2】符号化を用いた通信システムの概略ブロック図である。
【図3】符号化を用いた通信システムにおける一般的なビタビ復号器の概略ブロック図である。
【図4】符号化を用いた通信システムにおける一般的なターボ復号器の概略ブロック図である。
【図5】統合復号器の概略ブロック図である。
【図6】統合復号器のアーキテクチャの概略ブロック図である。
【図7】図6のバタフライプロセッサの概略ブロック図である。
【図8】図6の加算比較選択(ACS:Add-Compare-Select)ユニットの概略ブロック図である。
【図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〜1412hの第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,1440a ACSノードユニット
1420a′〜1420d′,1430a′,1430b′,1440′ ACSノードユニット
1420a″〜1420d″,1430a″,1430b″,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 リセット信号

Claims (6)

  1. (a)バタフライプロセッサ装置に入力される、第一と第二の入力パスメトリックスを受領する、第一と第二の加算−比較−選択モジュールと、前記第一と第二の加算−比較−選択モジュールの各々は、前記第一と第二の加算−比較−選択モジュールの各々の比較素子と選択素子に接続された対数和修正手段と、前記選択素子と前記対数和修正手段の出力を前記第一と第二の加算−比較−選択モジュールの各々の出力に選択的に結合する、制御可能なスイッチとを有し、
    (b)前記第一と第二の加算−比較−選択モジュールの各々に与えられる第一と第二の出力ブランチメトリックスを生成するために、入力データと外部データを受領するブランチメトリックカリキュレータと、前記第二出力ブランチメトリックスは、前記第一出力ブランチメトリックスと数学的に逆(arithmetic inverse)であり、
    (c)前記選択素子が出力の時に、畳み込み復号化を実行し、前記対数和修正手段が出力の時に、対数MAP復号化を実行するように前記制御可能なスイッチを作動させる手段と、
    を備える、バタフライプロセッサ装置。
  2. 前記対数和修正手段は、前記比較素子の差分出力に接続されたアドレス入力を有する対数和修正テーブルを有し、
    前記対数和修正テーブルは、対数和値を加算器の第一入力に出力し、
    前記加算器の第二入力は、前記選択素子の出力に接続され、
    前記加算器は、前記対数和修正手段の出力を与える
    ことを特徴とする、請求項1記載の装置。
  3. (a-1)バタフライプロセッサ装置に入力される、第一と第二の入力パスメトリックスを受領する、第一と第二の加算−比較−選択手段と、前記第一と第二の加算−比較−選択手段の各々は、前記第一と第二の加算−比較−選択手段の各々の比較素子と選択素子に接続された対数和修正手段と、
    -2)前記選択素子と前記対数和修正手段の出力を前記第一と第二の加算−比較−選択手段の各々の出力に選択的に結合する、制御可能なスイッチとを有し、
    (b)前記第一と第二の加算−比較−選択手段の各々に与えられる第一と第二の出力ブランチメトリックスを生成するために、入力データと外部データを受領するブランチメトリックカリキュレータ手段と、前記第二出力ブランチメトリックスは、前記第一出力ブランチメトリックの数学的に逆(arithmetic inverse)であり、
    (c)前記選択素子が出力の時に、畳み込み復号化を実行し、前記対数和修正手段が出力の時に、対数MAP復号化を実行するように前記制御可能なスイッチを作動させる手段と、
    を備える、バタフライプロセッサ装置。
  4. 前記対数和修正手段は、前記比較素子の差分出力に接続されたアドレス入力を有する対数和修正テーブル手段を有し、
    前記対数和修正テーブル手段は、対数和値を加算手段の第一入力に出力し、
    前記加算手段の第二入力は、前記選択素子の出力に接続され、
    前記加算手段は、前記対数和修正手段の出力を与える
    ことを特徴とする、請求項1記載の装置。
  5. 通信復号化に際し、バタフライ処理を実行する方法において、
    (a)入力データと外部データから、第一と第二のブランチメトリックスを生成するステップと、前記第二のブランチメトリックスは、第一のブランチメトリックスの数学的な逆数であり、
    (b)前記第一と第二の入力パスメトリックスと、前記第一と第二のブランチメトリックスに対し、加算−比較−選択操作を実行するステップと、
    (c)対数和修正出力を生成するために、前記選択操作出力を対数和修正するステップと、
    (d)前記対数和修正出力と前記選択操作出力を選択的に結合するステップと
    から成り、
    前記選択操作出力が出力の時は、前記バタフライ処理は、畳み込み復号化を実行し、
    前記対数和修正出力が出力の時は、前記バタフライ処理は、対数MAP復号化を実行する
    ことを特徴とする、通信復号化に際し、バタフライ処理を実行する方法。
  6. 前記対数和修正が、対数和修正テーブルを利用し、
    )対応する対数和値を出力するために、前記比較操作の差分出力を前記対数和修正テーブルのアドレス入力に与えるステップと、
    (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
US60/233369 2001-07-18
US09/908,000 US6865710B2 (en) 2000-09-18 2001-07-18 Butterfly processor for telecommunications
US09/908000 2001-07-18

Publications (2)

Publication Number Publication Date
JP2002176366A JP2002176366A (ja) 2002-06-21
JP4907802B2 true 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)

Families Citing this family (22)

* 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
US7107509B2 (en) * 2002-08-30 2006-09-12 Lucent Technologies Inc. Higher radix Log MAP processor
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
JP4702721B2 (ja) * 2004-06-23 2011-06-15 エスティー‐エリクソン、ソシエテ、アノニム ビタビ・メトリック計算のためのアドレッシング方法
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
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
GB0504483D0 (en) * 2005-03-03 2005-04-13 Ttp Communications Ltd Trellis calculations
US8745326B2 (en) * 2005-06-02 2014-06-03 Seagate Technology Llc Request priority seek manager
CN101682336B (zh) * 2007-06-14 2013-04-24 英特尔公司 用于卷积、Turbo和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.
JP5692780B2 (ja) 2010-10-05 2015-04-01 日本電気株式会社 マルチコア型誤り訂正処理システムおよび誤り訂正処理装置
US9363704B2 (en) 2014-06-20 2016-06-07 Apple Inc. Selecting a physical data channel based on application traffic pattern

Family Cites Families (12)

* 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
US5841819A (en) * 1996-04-09 1998-11-24 Thomson Multimedia, S.A. Viterbi decoder for digital packet signals
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
KR100557177B1 (ko) 1998-04-04 2006-07-21 삼성전자주식회사 적응 채널 부호/복호화 방법 및 그 부호/복호 장치
EP1311069A1 (en) * 1998-05-28 2003-05-14 Sony Corporation Soft output decoding apparatus and method for convolutional code
DE69936683T2 (de) 1998-06-01 2008-04-30 Her Majesty The Queen In Right Of Canada As Represented By The Minister Of Industry, Ottawa Verschachtelung unter Verwendung von Inkrementen basierend auf dem Goldenen Schnitt
US6477680B2 (en) * 1998-06-26 2002-11-05 Agere Systems Inc. Area-efficient convolutional decoder
WO2000038366A1 (en) 1998-12-18 2000-06-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for fast maximum a posteriori decoding
JP2000224054A (ja) * 1999-01-27 2000-08-11 Texas Instr Inc <Ti> ビタビデコ―ディングの速度を増大させる方法と装置
CA2352206C (en) 1999-10-05 2005-12-06 Samsung Electronics Co., Ltd. Component decoder and method thereof in mobile communication system
GB2357938A (en) 1999-12-24 2001-07-04 Nokia Networks Oy Selecting one of a plurality of equalisation algorithms

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4907802B2 (ja) 通信の復号化の際に用いられるバタフライプロセッサ装置
US7127664B2 (en) Reconfigurable architecture for decoding telecommunications signals
US7549113B2 (en) Turbo decoder, turbo decoding method, and operating program of same
JP4478668B2 (ja) 並列のターボ復号機中でのインターリーブの方法およびシステム。
US20030123579A1 (en) Viterbi convolutional coding method and apparatus
EP1204212B1 (en) Method and apparatus for path metric processing in telecommunications systems
JP5840741B2 (ja) 複数のコード・タイプをプログラマブル復号する方法および装置
US7984368B2 (en) Method and system for increasing decoder throughput
US7246298B2 (en) Unified viterbi/turbo decoder for mobile communication systems
US6993704B2 (en) Concurrent memory control for turbo decoders
US7200798B2 (en) Unified serial/parallel concatenated convolutional code decoder architecture and method
US7234100B1 (en) Decoder for trellis-based channel encoding
JP3540224B2 (ja) ターボ復号器とターボ復号方法及びその方法を記憶した記憶媒体
US8775914B2 (en) Radix-4 viterbi forward error correction decoding
Huang et al. A high speed turbo decoder implementation for CPU-based SDR system
US7120851B2 (en) Recursive decoder for switching between normalized and non-normalized probability estimates
Kunchamwar et al. Application specific instruction accelerator for multistandard Viterbi and turbo decoding
JP2006115534A (ja) 誤り訂正符号の復号方法、そのプログラム及びその装置
WO2011048997A1 (ja) 軟出力復号器
Divya et al. Design of convolutional encoder and map decoder using dual mode MLMAP decoding algorithm
JP4525658B2 (ja) 誤り訂正符号復号装置
Jamal et al. Design and FPGA Implementation of Low Power Punctured Soft Decision Viterbi Decoder

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