JP5129216B2 - マップ・デコーダのためのメモリ・アーキテクチャ - Google Patents

マップ・デコーダのためのメモリ・アーキテクチャ Download PDF

Info

Publication number
JP5129216B2
JP5129216B2 JP2009209398A JP2009209398A JP5129216B2 JP 5129216 B2 JP5129216 B2 JP 5129216B2 JP 2009209398 A JP2009209398 A JP 2009209398A JP 2009209398 A JP2009209398 A JP 2009209398A JP 5129216 B2 JP5129216 B2 JP 5129216B2
Authority
JP
Japan
Prior art keywords
window
ram
decoding
state metric
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2009209398A
Other languages
English (en)
Other versions
JP2010016861A (ja
Inventor
スティーブン・ジェイ・ハルター
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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
Priority claimed from US09/259,665 external-priority patent/US6381728B1/en
Priority claimed from US09/283,013 external-priority patent/US6434203B1/en
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2010016861A publication Critical patent/JP2010016861A/ja
Application granted granted Critical
Publication of JP5129216B2 publication Critical patent/JP5129216B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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/3972Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows
    • 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

Description

本発明はコーディング(coding)に関する。より詳しくは、本発明は事後確率(posteriori probability)(MAP)復号を最大に実行する新規で改善された技術に関する。
「ターボ・コーディング(Turbo coding)」は、順方向エラー修正(FEC)の分野で重要な発展を示している。多数の多様なターボ・コーディングがあるが、ほとんど対話型復号すると組み合わせたインターリーブ工程によって分離されたマルチ・エンコーディング工程を使用している。この組み合わせが、通信システムにおけるノイズ・トレーランス(noise tolerance)に関する前もって利用できない性能を有することになる。すなわち、ターボ・コーディングは、既存の順方向エラー修正技術を使用する以前に許容されないE/Nレベルでの通信を許容する。
多数のシステムが順方向エラー修正技術を使用し、従って、ターボ・コーディングの使用することで利点がある。例えば、ターボ・コードは無線衛星リンクの性能を改善することができ、ここで制限されたダウンリンク送信電力が、低いE/Nレベルで動作する受信機を必要とする。無線衛星リンク中でターボ・コードを使用することは、デジタル・ビデオ放送(DVB)システムのためのディシュ・サイズ(dish size)を縮小し、あるいは別の方法として、所与の周波数帯域内でのより多くのデータの送信を許容する。
デジタル・セルラーおよびPCS電話システムのようなデジタル無線通信システムも、順方向エラー修正を使用する。例えば、IS−95オーバー・ザ・エア・インターフェース標準装置、およびIS−95Bのようなその誘導製品は、たたみ込みエンコーディングを使用してコーディング利得を提供してシステムの要領を増大するデジタル無線通信システムを規定する。IS−95標準装置の使用による実質的にRF信号を処理するためのシステムおよび方法は、本発明の譲渡人に譲渡された、「CDMAセルラー電話システムにおいて信号波形を発生させるためのシステムおよび方法」と称する米国特許第5,103,459号に開示されており、ここでは参照例として取り入れる(’459特許)。
IS−95のようなデジタル無線通信システムが、主として移動体通信装置であるため、電力利用が最小で、小型、計量であることが重要である。一般的に、これはほとんど、または全ての必要な処理を実行する半導体集積回路(「チップ」)の開発が必要である。たたみ込みエンコーディングが比較的複雑である一方で、回路がたたみ込みエンコーディングを実行する必要があり、また復号が、いずれの他の必要とされる回路とともに単一チップ上に規制される。
ターボ・コーディング(特に復号する操作)が、たたみ込みエンコーディング(および復号する)よりもずっと複雑である。それにもかかわらず、移動体デジタル通信システムおよび衛星通信システムを含むデジタル無線通信システムにおけるターボ・コーディングに含ませることが高く望まれている。従って、本発明はある一定の復号する操作が多様なシステム内でターボ・コーディングの使用を容易に実行できる率で増大することが望まれている。
本発明は、ターボ、または対話型復号する技術に、特定技術を適用するための新規で改良された技術である。本発明の一実施形態によれば、復号するためのシステムは、シンボル評価(symbol estimate)のブロックを記憶するためのチャネル・デインターリーバRAM、一連のS状態のメトリック(metric)計算装置を含んでいる。各状態メトリック計算装置は一連の状態メトリック計算装置と一連のS+1ウインドウRAMを発生させるためのものであり、ここに前記S+1ウインドウRAMのSはシンボル評価を前記S状態メトリック計算装置に提供する。残りのウインドウRAMは前記チャネル・デインターリーバRAMからのシンボル評価を受信する。
無線通信システムのブロック図。 無線通信システムのブロック図。 送信システムのブロック図。 ターボ・コーダの概略図。 ターボ・コーダの概略図。 受信処理システムのブロック図。 デコーダと、チャネル・デインターリーバの一部を示すブロック図。 例示的な一連の復号する工程を示すフローチャート。
本発明はターボ・コーディングを実行するための新規で完全された技術である。典型的な実施形態をデジタル・セルラー電話システムに関して説明する。この関連内での使用が有利であるが、本発明の異なる実施形態が、衛星通信システムおよびデジタル・ケーブルおよび電話システムのようなデジタル有線通信システムを含む異なる環境、形態ないしデジタル・データ送信システムと組み合わせることもできる。
一般的に、ここで説明する種々のシステムは、ソフトウエア制御プロセッサ、集積回路または専用ロジックを使用して形成できるが、集積回路内の実行も行われる。アプリケーション全体を通して関連するデータ、指示、命令、情報、信号、シンボルおよびチップは、電圧、電流、電磁波、磁場または粒子(particles)、光学フィールドまたは粒子あるいはこれらの組み合わせによって有利に表すことができる。さらに、各ブロック図に示したブロックはハードウエアまたは方法工程のいずれかを表している。
図1Aは本発明に基づいて形成されたセルラー電話システムの極めて簡略化された図である。電話または他の通信装置の呼び出しを実行するために、加入者ユニット10がRF信号を介して基地局12と連絡する。基地局12が基地局コントローラ(BSC)14を介して公衆交換電話ネットワークに連絡する。
図1Bは本発明の他の実施形態に基づいて形成された衛星通信システムの極めて簡略化された図である。アップリンク局(Uplink station)40が、ビデオ・プログラミングのような情報を含むRF信号を衛星42に送信する。衛星42がRF信号を地上にリレーし、ここで受信機44が受信したRF信号をデジタル・データに変換する。
図2は本発明の一実施形態に基づいて構成された典型的な送信システムのブロック図である。この送信機システムは、加入者ユニット10、基地局12またはアップリンク局40、送信のためのデジタル信号を発生するいずれの他のシステム内で使用することができる。送信処理を本発明のただ一つの可能な実施形態で示しているが、多数の他の送信処理構成が本発明の種々の実施形態を使用して、実施でき有利である。
データ70がCRC発生装置72に供給され、ここで受信データの所与の各所定量のためのCRCチェックサム(checksum)データが形成される(generate)。得られるデータ・ブロックがターボ・コーダー76に供給され、コード・シンボル(code symbols)が発生されて、チャネル・インターリーバ78に供給される。一般的に、コード・シンボルは、オリジナル・データ(システム的なシンボル)の再送信と一つまたはそれ以上のパリティ・シンボルを含んでいる。
各システム的なシンボルのために送信された多数のパリティ・シンボルはコーディング・レートに依存している。コーディング・レートについては、一つのパリティ・シンボルが全てのシステム的なシンボルのために送信され、また総計して二つのシンボルが受信された各データ・ビット(CRCを含む)のために発生される。レート1/3ターボ・コーダーについては、二つのパリティ・シンボルが各システム的なシンボルのために発生され、総計して三つのシンボルが受信された各データ・ビットのために発生される。
ターボ・コーダー76からのコード・シンボルがチャネル・インターリーバ78に供給される。チャネル・インターリーバ78が、シンボルが受信されるとこれをブロック上でインターリーブを実行して、インターリーブされたシンボルを出力する。これがマッパ(Mapper)80で受信される。一般的に、チャネル・インターリーバ78がブロックないしビット反転インターリーブを実行し、実質的には全ての他のタイプのインターリーブはチャネル・インターリーバとして使用される。
マッパ80がインターリーブされたコード・シンボルを取り入れ、所定のマッピング・スキームに基づいてある一定のビット幅のシンボル・ワードを発生する。次に、このシンボル・ワードが変調器82に加えられ、受信されたシンボル・ワードに基づいて変調波形が発生される。一般的な変調技術には、QPSK、8−PSKおよび16QAMが含まれるが、種々の他の変調スキームも利用することができる。次に、変調された波形がRF周波数で送信するためにアップコンバートされる。
図3Aは本発明の第1実施形態によって構成されたターボ・コーダのブロック図である。本発明のこの第1実施形態において、ターボ・コーダは並列結合ターボ・コーダとして構成されている。ターボ・コーダ76の変形例の内において、構成要素コーダ90とコード・インターリーバ92が、CRC発生装置72からのデータを受信し、上述したように、入力およびCRCチェックサム・ビットを出力する。構成要素コーダ90はテイル・ビット(tail bits)も発生し、各フレームの終端で既知の状態を提供する。
周知のように、コード・インターリーバ92は、最高性能を発揮するために最高にランダム化されたインターリーバとしなければならない。コード・インターリーバとして最小の複雑さを有する優れた性能を提供するインターリーバとしては、「インターリーバを基本とする状態マシンを備えたコード・システム」と称する1998年9月22日出願の米国特許願第09/158,459号、および「インターリーバを基本とする状態マシンを備えたコード・システム」と称する出願中の部分継続出願である1998年10月13日出願の出願番号第09/172,069号、さらに、「線形結合シーケンスを使用するターボ・コード・インターリーブ」と称する1998年12月4日出願の米国特許願第09/205,511号に開示されており、全て本願の譲受人に譲渡されたものであり、ここでは参照例として取り入れる。構成要素コーダ90はシステム的シンボル94(一般的にオリジナル入力のビットのコピーである)とパリティ・シンボル96を出力する。構成要素コーダ98がコード・インターリーバ92のインターリーブされた出力を受信し、付加的なパリティ・シンボル99を出力する。構成要素コーダ90は、テイル・ビットを付加して各フレームの終端で既知状態を提供する。
構成要素コーダ90と構成要素コーダ98の出力が、1/3のトータル・コーディング・レートRのための出力データ・ストリームに最大化される。付加的な構成要素コーダとコード・インターリーバ対が、増大された順方向エラー修正のためのコーディング・レートを縮小するために付加される。別の方法として、いくつかのパリティ・シンボル96と99が、何度も中断され(送信されない)、コーディング・レートを増大する。例えば、コーディング・レートが全ての他のパリティ・シンボル96と99を中断することによって増大させることができるが、パリティ・シンボル96を全く送信できない。
構成要素コーダ90と98は、ブロック・コードまたはたたみ込みコードを含む種々のタイプのコードである。たたみ込みコードとして、構成要素コーダ90と98は、一般的に4のような小さい圧縮長さを有し、複雑性を少なくし、また再帰システム的たたみ込み(RSC)エンコーダである。低い圧縮長さが受信システムにおける対応するデコーダの複雑性を少なくしている。
一般的に、二つのコーダが一つのシステム的シンボルと一つのパリティ・シンボルを出力し、各ビットは構成要素コーディング・レートR=_のために受信される。図1Aのターボ・コーダの総計コーディング・レートはR=1/3であるが、構成要素コーダ98からのシステム的ビットは使用されない。上述したように、付加的なインターリーバとコーダ対が、並列に付加されて、コーディング・レートが縮小され、またこれによってより高いエラー修正が提供されるか、または何回もの中断が実行されてコーディング・レートが増大される。
図3Bは本発明の他の実施形態による直列接続ターボ・コーダとしてのターボ・コーダ76を示す。図3Bのターボ・コーダ内で、CRC発生装置72からのデータが、構成要素コーダ(constituent coder)110によって受信され、得られたコード・シンボルがコード・インターリーバ112に供給される。得られるインターリーブされたパリティ・シンボルが構成要素コーダ114に供給され、付加的なエンコーディングを実行してパリティ・シンボル115を発生する。一般的に、構成要素コーダ110(外部コーダ)は、ブロック・エンコーダまたはたたみ込みエンコーダを含む種々のタイプのエンコーダでよいが、構成要素コーダ114(内部コーダ)は再帰コーダ(recursive coder)であるのが好ましく、また一般的に再帰システム的エンコーダである。
再帰システム的たたみ込み(RSC)エンコーダとして、構成要素コーダ110と114がコーディング・レートR<1でシンボルを発生する。すなわち、所与の数の入力ビットNに対して、Mの出力シンボルが発生される。ここにM>1である。図1Bの直列連結ターボ・コーダのための総計コーディング・レートは構成要素コーダ110のコーディング・レートに構成要素コーダ114のコーディング・レートを乗算したものである。付加的なインターリーバとコーダ対も直列に付加され、コーディング・レートが縮小され、従って、付加的なエラー保護が提供される。
図4は本発明の一実施形態によって構成された受信システムのブロック図である。アンテナ150が受信されたRF信号をRFユニット152に提供する。RFユニットがダウン変換と、フィルタと、デジタル化を実行する。マッパ140がデジタル化データを受信し、ソフト決定データをチャネル・ディインターリーバ156に提供する。ターボ・デコーダ158がチャネル・ディインターリーバ156からのソフト決定データをデコードし、得られた決定データを受信システムにおけるプロセッサないし制御ユニットに供給する。ここでCRCチェックサム・データを使用することでデータの精度がチェックすることができる。
図5は本発明の一実施形態によって構成されたターボ・コーダ158とチャネル・ディインターリーバの一部のブロック図である。図示したように、ターボ・デコーダ158は図3Aに示したターボ・コーダからのデータを復号するために構成されている。
開示された実施形態において、チャネル・インターリーバ・メモリの二つのバンク(banks)が、チャネル・インターリーバRAM160aと160bを提供し、各バンクが一つのチャネル・インターリーバ・ブロックを記憶する能力がある。二つのチャネル・インターリーバ・メモリ・バンクのアドレス入力が、マルチプレクサ208と210を介してアドレス入力に供給されたチャネル・アドレス発生装置204とカウンタ206によって制御される。マルチプレクサ208と210は、信号Iと信号!I(Iの論理反転)によって制御され、また従って、一つのチャネル・ディインターリーバRAMがチャネル・インターリーバ・アドレス発生装置204によって制御されたときに、他方がカウンタ206によって制御される。一般的に、いずれの制御機能性もメモリに記憶されたマイクロプロセッサ駆動ソフトウエアと、専用論理回路とによって提供されるが、制御システムの種々の他のタイプの使用も本発明の使用と一致する。
チャネル・インターリーバ・メモリ・バンクのI/Oポートがマルチプレクサ212と214に接続されている。マルチプレクサ212がマッパ140からソフト決定データを受信し、二つのチャネル・ディンターリーバ・メモリ・バンクの一つに供給する。マルチプレクサ214が二つのチャネル・ディインターリーバ・メモリ・バンクの一つに記憶されたソフト決定データを部分加算(partial sum)218に出力する。マルチプレクサ212と214は、それぞれ信号Bと!Bによって制御され、従って、一つのチャネル・ディインターリーバRAMがマッパ140からサンプルを受信すると、他方がサンプルを部分加算218に出力する。
動作中、チャネル・ディインターリーバ・アドレス発生装置204が、チャネル・ディインターリーバ・メモリ・バンクに、マッパ140からの受信サンプルを提供する。チャネル・ディインターリーバ・アドレス発生装置が、図3のチャネル・インターリーバ78によって実行されたインターリーバに関して逆の順序でアドレスが発生する。従って、サンプルが非インターリーブ順(チャネル・インターリーバに関して非インターリーブ)でチャネル・ディインターリーブ・メモリ・バンク内に読み込まれる。
カウンタ206が、チャネル・ディインターリーバ・メモリ・バンクに、部分加算218からの読み込みを提供する。ソフト決定データが逆の順序で読み込みされるので、ソフト決定データはカウンタ206を単に使用してディインターリーブ順に読み込みされる。ソフト決定データをバッファする種々の他の方法も使用され、デュアル・ポート・メモリを含んでいる。さらに、ディインターリーブ・アドレスを発生する他の方法も使用され、スイッチング・カウンタ206とチャネル・ディインターリーバ・アドレス発生装置204を含んでいる。
ターボ・コーダ158内で、部分加算218がAPPメモリ170からの優先確率(a priori probability)(APP)データだけでなく、チャネル・ディインターリーバから受信評価(receive estimates)(ソフト決定データ(soft decision data))を受信する。周知のように、APP値は以前の復号反復(decoding iteration)に基いて送信されたデータの評価である。最初の反復中、APP値が等価な確率状態に設定される。
チャネル・ディインターリーブ・メモリからの評価は、チャネル・インターリーバ・ブロックに関係する各データ・ビットにおける二つのパリティ・シンボルの評価だけでなく、システム的シンボルの評価を含んでいる。部分加算218がAPP値をシステム的シンボルに加算して、「精選システム的評価(refined systematic estimate)」を生成する。二つのパリティ・シンボルとともに精選システム的評価が、RAMファイル224内に読み込まれる。
RAMファイル224内において、評価値がウインドウRAM230a−d(RAM 0−RAM 3が付される)に書き込まれる。本発明の一実施形態において、評価はシーケンス順にRAM0−3のアドレス・スペース内に書き込まれる。この処理はRAM 0で開始され、RAM 3まで進行する。いずれの所与の時刻において、ただ一つのウインドウRAMが書き込まれる。三つの残りのウインドウRAM(これらは書き込まれない)が、マルチプレクサ260を介してMAPエンジン(engine)270に(読み取ることによって)印加される。これにつては次に詳細に説明する。
本発明の一実施形態において、滑り(sliding)ウインドウ・アーキテクチャがマップ・復号を実行するのに使用される。この滑りウインドウ・復号を実行するためのシステムと方法は、本発明の譲渡人に譲渡された出願中の「たたみ込み式にエンコードされたコードワードをデコードするためのソフト決定出力復号器」と称する米国特許出願番号第08/743,688号に開示されており、ここでは参照例として取り入れる。
本願において、MAP復号はデータの「ウインドウ」上で実行される。本発明の説明された実施形態において、RAMウインドウ・バンク230がLxqのサイズであり、ここにLはウインドウ内の送信されたデータ・ビット数であり、またqは精選システム的シンボルの評価と各データ・ビットのために発生された二つのパリティ・シンボルの評価を記憶するのに必要とするメモリ・ビット数である。本発明の一実施形態において、6ビットが二つのパリティ・シンボル評価のために使用され、7ビットが精選されたシステム的シンボル評価(上述したように、受信システム的シンボル評価とAPP値の加算である)のために使用される。ここにqは18ビットである。
上述したように、精選されたシステム的シンボル評価とパリティ・シンボル評価を含む評価が、シーケンス順でウインドウRAMa−d内に書き込まれる。一般的に、ただ一つのウインドウRAM230が書き込まれ、残りの三つのウインドウ230がMAPエンジン270によって読み込まれる。
例示的な処理において、新しいチャネル・ブロックからのデータがまずウインドウRAM230aに書き込まれ、次にウインドウRAM230bが書き込まれる。従って、ウインドウRAM230aが、評価の第1セットL(1L)を含み(セットは精選システム的評価と二つのパリティ評価からなる)、ウインドウRAM230bが、評価の第2セットL(2L)を含んでいる。最初の二つのセットのL評価がウインドウRAM230に記憶されたときに、マルチプレクサ260がウインドウRAM230に記憶されたデータを、以前の(MAP)復号器270の最高状態にある状態メトリック計算器(SMC)に供給する。本発明の一実施形態において、三つのSMCが順方向(forward)SMC(FSMC)272と二つの逆方向(reverse)SMC(RSMC)274aと274bからなる。
データが続いてRAMファイル224に書き込まれるにつれて、マルチプレクサ260が四つのウインドウRAMの三つに記憶された評価を、表Iに基づいてMAPデコーダ270内の三つの状態メトリック的計算器に供給される。
Figure 0005129216
特定状態メトリックに適用された特定ウインドウRAMにより、表Iはまたその時点におけるウインドウRAMに包含された一連の評価をリストし、従って、評価は対応するSMCによって処理される。
ウインドウは一度順方向に処理され、またMAP処理に基づいて一度逆方向に処理される。付加的に、ほとんどのウインドウが逆方向に付加的時間で処理され他の逆方向状態メトリック処理のために初期化状態を発生する。表Iにおいて、初期化処理はイタリック体によって記されている。開示された実施形態において、各セットの評価は3回処理され、従って、評価の記憶されたウインドウRAMはその上3回アクセスされる。3個のウインドウRAMを使用して、RAM論争を阻止する。
表Iによって示したように、いずれの特定時刻において、少なくとも一つのウインドウRAMがいずれのSMCとも結合されておらず、また従って、利用可能で書き込まれた新しいデータを有すること利用できる。RAMファイル224内のRAMの三つのウインドウよりも多く設けることにより、データが正しいシーケンスでMAPエンジンに連続的、かつ、反復して供給することができ、また三つのSMCの正しい一つに供給でき、一方パーシャル・サム218を介してチャネル・インターリーバ・メモリ160から同時に受信できる。
さらに注意しなければならないのは、表Iがデータの6個のウインドウにつき実行される結合を示していることである。従って、例示的なチャネル・インターリーバ・ブロック・サイズは6Lであり、チャネル・インターリーバ・メモリは6Lxqである。6Lのチャネル・ブロック・サイズはただの例であって、一般的なチャネル・ブロック・サイズは6Lよりも大きくなる。
なおも図5を参照して、MAPデコーダ270内で、FSMC272が上述したようにRAMファイル224から評価を受信し、ウインドウLを介して順方向状態のメトリック値を計算する。順方向状態のメトリック値が、メトリック・バッファ276に記憶される。付加的に、表Iに基づいて、一つのRSMC274がもう一つのウインドウLを介して逆方向状態のメトリック値を計算する。本発明の一実施形態において、各状態のメトリック計算器はそれ自体のブランチ(branch)・メトリック計算器を包含している。本発明の他の実施形態において、単一の時分割ブランチ・メトリック計算器が状態メトリックのセットに使用され、好ましくはブランチ・メトリック・バッファと組み合わされる。
本発明の一実施形態において、使用されるMAPデコーダはログMAPデコーダであって、評価を対数で操作してハードウエアの複雑性を小さくしている。状態メトリックとブランチ・メトリック計算器を含むログMAPデコーダの実行例は、「衛星通信のインターナショナル・ジャーナル」、1997年2月に提示されたS.S.ピエトロボーンによる「ターボ/MAPデコーダの装置および性能」の参考例に開示されている。ピエトロボーンのログMAPデコーダは、上述した参考例である「たたみ込み式にエンコードされたコードワードをデコードするためのソフト決定出力デコーダ」に開示された滑りウインドウ・アーキテクチャを使用していない。
第1RSMC274によって計算された最終値が、他のRSMC274を初期化するのに使用され、ウインドウL上で逆方向状態メトリック計算を実行し、順方向状態メトリックが既に計算され、メトリック・バッファ276に記憶されている。逆方向状態メトリックが計算されるにつれて、マルチプレキサ278を介してログ見込み比(log likelihood ratio)(LLR)計算器280に送られる。LLR計算器280が、マルチプレキサ278から受信された逆方向メトリックとメトリック・バッファ276に記憶された順方向状態メトリックとのログ見込み計算を実行する。
滑りメトリック計算処理を使用することにより、必要とする処理を実行するのに使用されるメモリの量が減じられる。例えば、一連のウインドウRAM230が、全体のインターリーバ・ブロックのサイズではなくウインドウLと同じだけの大きさを必要とする。同様にして、順方向状態メトリックのただ一つのウインドウLが、いずれの所与の時間でメトリック・バッファ276内に記憶するのに必要とされる。これが回路サイズを相当小さくする。
付加的に、三つのメトリック計算器の使用が、実行される復号のレートを相当増大させる。レートが増大するが、これは初期化と機能の復号するが平行に実行されるからである。初期化がデコーダの精度を高める。
本発明の別の実施形態において、二つの順方向状態メトリック計算器が一つの逆方向状態メトリック計算器に関して使用できる。さらに、クロックが十分高いレートで多数の操作で2度実行されれば、少ない状態メトリック計算器を使用することができる。しかし、クロック・レートの増大が、電力の消費を増大させ、これは移動体通信またはバッテリ駆動される通信システムの多くの場合において望ましいことではない。
付加的に、RAMファイル224の使用が回路エリアと、復号器内のRAM論争を小さくする一方で、本発明の他の実施形態が別のメモリ・アーキテクチャを選択する。
例示的な実施形態を参照して上述したように、復号は第1方向で第1ウインドウの第1の復号を実行することによって行なわれ、また同時に第2方向で第2ウインドウを実行する。第2方向は第1方向とは反対であるのが好ましい。
第1の復号の結果は蓄積される(stored)。第2の復号の結果が第2方向で第1ウインドウで実行される第3の復号を初期化するのに使用される。第3の復号中、LLR値が第3の復号中に計算された値と記憶された値を使用して計算される。
第3の復号と同時に、他のウインドウの第4の復号が第1方向に実行され、さらに他のウインドウ上で第2方向に第5の復号が実行される。第4の復号の結果が蓄積され、また第5の復号が、初期化値を発生するのに使用される。これらの工程は全チャネル・インターリーバ・ブロックがデコードされるまで、反復される。
本発明の種々の他の実施形態は、説明した実施形態に使用した工程のいくつかを省略することができる。しかし、説明した一連の工程を使用することは、メモリと付加的な回路を最少にして迅速、かつ、正確な復号を提供し、従って、相当優れた性能を発揮する。
本発明の一実施形態において、APPメモリ170は二つのAPPメモリ・バンク284からなる。マルチプレキサ286が、各メモリ・バンク284を、部分加算218による読取りと、LLR280による書込み間を切り替えして二重バッファ動作を提供する。マルチプレクサ288をカウンタ290かコード・インターリーバ・アドレス発生装置292のいずれかに適用して、復号の各反復のためのターボ・コード・インターリーブと逆インターリーブを実行する。
さらに、APPメモリ・バンク288が一つのチャネル・インターリーバ・ブロックのためのすべてのデータ評価を保有するのに十分な大きさであり、評価が送信されたデータであって、パリティ・シンボルではない。6ビット解像度の評価が使用できる。
全復号する処理が、チャネル・ディインターリーバ・バッファ160からの受信評価の反復読取りと、APPメモリ・バンク170からのAPP値による処理とによって進行される。一連の反復後、評価が一連の値として収束され、次にハード決定を発生するために使用される。こうして復号の結果がCTC値を使用してチェックされる。復号すると同時に、他のチャネル・ディインターリーバ・バッファが、受信評価の次のブロックを受信する。
図6は本発明の一実施形態に基づくチャネル・インターリーバ・ブロックのログMAP復号する中に実行される工程を示すフローチャートである。これらの工程は図5に示した要素を参照して説明する。
復号する工程300で開始され、工程302においてウインドウ・インデックスNが0にセットされる。工程304において、チャネル・インターリーバRAMに記憶された評価のウインドウ[N]およびウインドウ[N+1]が、それぞれウインドウRAM[Nmod3]とウインドウRAM[(N+1)mod3]に書き込まれる。上述したように、評価のウインドウは送信されるべきデータ・ビットのウインドウLに関して発生されたシンボルに対応している。
工程308において、FSMCが評価をRAM[Nmod3](この場合RAM0である)で処理し、RSMC0が評価をRAM[(N+1)mod3](RAM1である)で処理する。付加的に、チャネル・ディインターリーバRAMからの評価のウインドウ[N+1]がウインドウRAM[(N+2)mod3](RAM2である)に書き込まれる。
工程310において、ウインドウ・インデックスNが増大し、またXがNmod2にセットされ、Yが(N+1)mod2にセットされる。工程312において、N+1が処理されるべき評価の最終ウインドウに対応しているかどうかが決定される。もし対応していなければ、工程314が実行される。
工程314において、FSMCがウインドウRAM[Nmod3]に記憶された評価を処理し、RSMC X(第1パスにおいてX=0)がウインドウRAM[(N+1)mod3]に記憶された評価を処理し、またRSMC Y(第1パスにおいてY=1)がウインドウRAM[(N−1)mod3]に記憶された評価を処理する。付加的に、チャネル・ディインターリバRAMからの評価のウインドウ[N+1]がウインドウRAM[(N+2)mod3]に書き込まれる。
図示していないが、RSMC 1によって実行される処理中、データのウインドウ[N−1]に対応する一連のAPP値が工程314で発生される。ウインドウでの復号を実行することにより、メトリック・バッファのサイズが、各復号する工程で発生されたメトリック数の倍の長さLに維持される。多数のメトリックが各復号する工程で記憶されるので、メトリック・メモリの縮小が、全体のチャネル・デインターリーバ・ブロックによる状態メトリックを記憶するのと比較して重要である。
付加的に、第2逆方向状態メトリック計算器を使用することが、処理速度と精度を高める。例えば、第2RSMCが次の復号する・ウインドウのための新しい初期値を計算でき、一方で前回の復号する・ウインドウが処理される。この新しい初期値の計算が、新しい値が前回ウインドウの全てを復号するのに使用できるように、各復号する工程のための新しいRSMC計算を実行する必要性を排除している。
工程314がRAMファイル224によって例示されたように評価を処理することによって得られた効率の優れた実例を提供する。特に、工程314は復号する処理中の四つの工程を同時に実行する能力を示す。これが、コーディングが所与のクロック・レートで実行できるレートを高めることになる。説明した実施形態において、工程は状態メトリック計算処理および付加的なサンプルをRAMファイル224に書き込むことを含んでいる。さらに、APP値が工程314中に計算される。
一度工程314が完了すると、ウインドウ・インデックスNが工程310で増大される。もし値N+1が最終ウインドウに等しければ、次に配管処理が中断され、またRAMファイル224内の残りの評価が工程316から322で処理される。
特に、工程316において、FSMCがウインドウRAM[Nmod3]を処理し、RSMC XがウインドウRAM[(N+1)mod3]を処理し、またRSMC YがウインドウRAM[(N+1)mod3]を処理する。工程318において、ウインドウ・インデックスNが増大され、XがNモッド2にセットされ、またYが(N+1)mod2にセットされる。工程320において、FSMCがRAM[Nmod3]を処理し、またRSMC YがRAM[(N−1)mod3]を処理する。工程322において、RSMC1がRAM[Nmod3]を処理する。工程324において、チャネル・ディインターリーバ・ブロックが処理終了で完了される。
従って、ターボ・コーディングを実行するための新規で改良された技術が開示された。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]下記を具備する、復号システム:
a)1ブロックのシンボル評価を蓄積するためのチャネル・ディインターリーバーRAM;
b)S状態メトリック計算機の組、各状態メトリック計算機は1組の状態メトリック計算を形成する;
c)複数のS+1ウインドウRAMの組、前記複数のS+1ウインドウRAMのSは、シンボル評価を前記S状態メトリック計算機に供給し、及び残りのウインドウRAMは前記チャネル・ディインターリーバRAMからシンボル評価を受信する。
[2]Sは3に等しい、上記[1]に記載されたシステム。
[3]前記複数のウインドウRAMは前記チャネル・ディインターリーバーRAMよりも相当小さい、上記[1]に記載されたシステム。
[4]前記状態メトリック計算機は、複数のウインドウ上のデータをウインドウRAMのサイズ以下に処理する、上記[1]に記載されたシステム。
[5]下記を具備する復号器:
受信評価のチャネル・インターリーバー・ブロックを蓄積するためのチャネル・インターリーバー・メモリ;
受信評価を復号するための復号機エンジン;
第一の組の受信評価及び第二の組の受信評価を前記復号機エンジンに同時に読み出し、そして前記チャネルインターリーバー・メモリからの第三の組の受信評価に書き込むための復号機バッフア。
[6]前記復号機バッフアは、さらに第三の組の受信評価を同時に読み出す、上記[5]に記載された複合機。
[7]前記復号機エンジンは、MAP復号機エンジンである、上記[5]に記載された複合機。
[8]前記復号機エンジンは下記を具備する、上記[5]に記載された複合機:
前記第一の組の受信評価に応答して、順方向状態メトリックを形成するための順方向状態メトリック計算機;
前記第二の組の受信評価に応答して、逆方向状態メトリックを形成するための逆方向状態メトリック計算機。
[9]前記復号機エンジンは更に下記を具備する、上記[6]に記載された複合機:
前記第一の組の受信評価に応答して、順方向状態メトリックを形成するための順方向状態メトリック計算機;
前記第二の組の受信評価に応答して、逆方向状態メトリックを形成するための第一の逆方向状態メトリック計算機;及び
前記第三の組の受信評価に応答して、逆方向状態メトリックを形成するための第二の逆方向状態メトリック計算機。
[10]前記復号機バッフアが下記を具備する、上記[5]に記載された復号機:
複数の受信サンプルを読み出し及び書き込むための第一のメモリ;
複数の受信サンプルを読み出し及び書き込むための第二のメモリ;及び
複数の受信サンプルを読み出し及び書き込むための第三のメモリ。
[11]下記工程を具備する、データを復号する方法:
a)第一の状態メトリック計算機を第一の組の受信評価に結合し、初期値を形成する;
b)第二の状態メトリック計算機を第二の組の受信評価に結合し、第一の組の状態メトリックを形成する;
c)第三の状態メトリック計算機を第三の組の受信評価に結合し、第二の組の状態メトリックを形成する;
d)第四の組の受信評価をデータバッフアに結合する、
ここで、工程a、b、c及びdは、同時に実行する。
[12]前記第二の組の状態メトリックは、以前に計算された初期値を使用して形成し、及びデータ評価を形成するために以前に計算された組の状態メトリックを用いて処理される、上記[11]に記載された方法。
[13]さらに下記を具備をする上記[11]に記載された方法:
前記第一の状態メトリック計算機を前記第二の組の受信評価に結合する;
前記第三の状態メトリック計算機を前記第一の組の受信評価に結合する。
[14]下記を具備する復号方法:
a)第一の方向に第一のウインドウを第一の復号を実行し、及び同時に第二の方向に第二のウインドウ上で第二の復号を実行する、
b)第一の復号の結果を蓄積する、
c)第二の復号の結果を使用して第三の復号を初期化する、
d)前記第二の方向に前記第一のウインドウ上で第三の複合し、及び第三の復号及び前記結果の間において計算されたメトリックを使用してLLR値を計算する、及び
工程d)と同時に、
新しいウインドウ上で第二の方向に第六の複合することと同様に、第一の方向で他のウインドウについて第四の復号、第五の復号を実行する、
e)初期値に関する第六の復号の結果を使用して、前記第五の復号から第五の復号の結果を蓄積する。
[15]前記第二の方向は前記第一の方向と反対である、上記[14]に記載された方法。

Claims (3)

  1. 下記工程を具備する、データを復号する方法:
    a)第一の状態メトリック計算機を第一の組の受信評価に結合し、初期値を形成する; b)第二の状態メトリック計算機を第二の組の受信評価に結合し、第一の組の状態メトリックを形成する;
    c)第三の状態メトリック計算機を第三の組の受信評価に結合し、第二の組の状態メトリックを形成する;
    d)第四の組の受信評価をデータバッフアに書き込む
    ここで、工程a、b、c及びdは、同時に実行する。
  2. 前記第二の組の状態メトリックは、以前に計算された初期値を使用して形成し、及びデータ評価を形成するために以前に計算された組の状態メトリックを用いて処理される、請求項1に記載された方法。
  3. さらに下記を具備をする請求項1に記載された方法:
    前記第一の状態メトリック計算機を前記第二の組の受信評価に結合する;
    前記第三の状態メトリック計算機を前記第一の組の受信評価に結合する。
JP2009209398A 1998-08-14 2009-09-10 マップ・デコーダのためのメモリ・アーキテクチャ Expired - Lifetime JP5129216B2 (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US9648998P 1998-08-14 1998-08-14
US60/096,489 1998-08-14
US09/259,665 1999-02-26
US09/259,665 US6381728B1 (en) 1998-08-14 1999-02-26 Partitioned interleaver memory for map decoder
US09/283,013 US6434203B1 (en) 1999-02-26 1999-03-31 Memory architecture for map decoder
US09/283,013 1999-03-31

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000565607A Division JP4405676B2 (ja) 1998-08-14 1999-08-13 マップ・デコーダのためのメモリ・アーキテクチャ

Publications (2)

Publication Number Publication Date
JP2010016861A JP2010016861A (ja) 2010-01-21
JP5129216B2 true JP5129216B2 (ja) 2013-01-30

Family

ID=27378195

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2000565607A Expired - Lifetime JP4405676B2 (ja) 1998-08-14 1999-08-13 マップ・デコーダのためのメモリ・アーキテクチャ
JP2009209398A Expired - Lifetime JP5129216B2 (ja) 1998-08-14 2009-09-10 マップ・デコーダのためのメモリ・アーキテクチャ

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2000565607A Expired - Lifetime JP4405676B2 (ja) 1998-08-14 1999-08-13 マップ・デコーダのためのメモリ・アーキテクチャ

Country Status (12)

Country Link
EP (1) EP1118158B1 (ja)
JP (2) JP4405676B2 (ja)
CN (1) CN1211931C (ja)
AT (1) ATE476016T1 (ja)
AU (1) AU766116B2 (ja)
BR (1) BR9912990B1 (ja)
CA (1) CA2340366C (ja)
DE (1) DE69942634D1 (ja)
ES (1) ES2347309T3 (ja)
HK (1) HK1040842B (ja)
ID (1) ID28538A (ja)
WO (1) WO2000010254A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3450788B2 (ja) * 2000-03-06 2003-09-29 松下電器産業株式会社 復号化装置および復号化処理方法
DE10012873A1 (de) 2000-03-16 2001-09-27 Infineon Technologies Ag Optimierter Turbo-Decodierer
FI109162B (fi) * 2000-06-30 2002-05-31 Nokia Corp Menetelmä ja järjestely konvoluutiokoodatun koodisanan dekoodaamiseksi
US6662331B1 (en) 2000-10-27 2003-12-09 Qualcomm Inc. Space-efficient turbo decoder
CN100488060C (zh) * 2001-12-28 2009-05-13 Nxp股份有限公司 用于使用数据窗口译码数据的方法
WO2004028004A2 (en) * 2002-09-18 2004-04-01 Koninklijke Philips Electronics N.V. Method for decoding data using windows of data
US7702968B2 (en) * 2004-02-27 2010-04-20 Qualcomm Incorporated Efficient multi-symbol deinterleaver
CN102571107B (zh) * 2010-12-15 2014-09-17 展讯通信(上海)有限公司 LTE系统中高速并行Turbo码的解码系统及方法
US9128888B2 (en) * 2012-08-30 2015-09-08 Intel Deutschland Gmbh Method and apparatus for turbo decoder memory collision resolution
US10014026B1 (en) * 2017-06-20 2018-07-03 Seagate Technology Llc Head delay calibration and tracking in MSMR systems

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5862190A (en) * 1995-12-29 1999-01-19 Motorola, Inc. Method and apparatus for decoding an encoded signal

Also Published As

Publication number Publication date
AU766116B2 (en) 2003-10-09
HK1040842A1 (en) 2002-06-21
AU5563899A (en) 2000-03-06
BR9912990B1 (pt) 2012-10-02
ES2347309T3 (es) 2010-10-27
WO2000010254A1 (en) 2000-02-24
EP1118158A1 (en) 2001-07-25
HK1040842B (zh) 2005-12-30
DE69942634D1 (de) 2010-09-09
CA2340366A1 (en) 2000-02-24
JP2002523914A (ja) 2002-07-30
CA2340366C (en) 2008-08-05
JP4405676B2 (ja) 2010-01-27
JP2010016861A (ja) 2010-01-21
ATE476016T1 (de) 2010-08-15
ID28538A (id) 2001-05-31
CN1211931C (zh) 2005-07-20
BR9912990A (pt) 2001-12-11
EP1118158B1 (en) 2010-07-28
CN1323462A (zh) 2001-11-21

Similar Documents

Publication Publication Date Title
JP5129216B2 (ja) マップ・デコーダのためのメモリ・アーキテクチャ
JP4298170B2 (ja) マップデコーダ用の区分されたデインターリーバメモリ
CA2363410C (en) Highly parallel map decoder
JP4805883B2 (ja) 空間効率のよいターボデコーダ
US6434203B1 (en) Memory architecture for map decoder
AU3689001A (en) A system and method employing a modular decoder for decoding turbo and turbo-like codes in a communications network
RU2236085C2 (ru) Архитектура памяти для декодера максимальной апостериорной вероятности
KR19990017546A (ko) 터보부호기의 복호기
MXPA01001656A (en) Partitioned deinterleaver memory for map decoder
MXPA01001657A (en) Memory architecture for map decoder
JP2001326577A (ja) 直接連接畳込み符号器、及び、直接連接畳込み符号化方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091013

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111220

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120321

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120326

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120420

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120425

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120521

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120618

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: 20121002

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: 20121101

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5129216

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20151109

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term