JP4116554B2 - 無線通信のためのターボ復号方法および装置 - Google Patents

無線通信のためのターボ復号方法および装置 Download PDF

Info

Publication number
JP4116554B2
JP4116554B2 JP2003531618A JP2003531618A JP4116554B2 JP 4116554 B2 JP4116554 B2 JP 4116554B2 JP 2003531618 A JP2003531618 A JP 2003531618A JP 2003531618 A JP2003531618 A JP 2003531618A JP 4116554 B2 JP4116554 B2 JP 4116554B2
Authority
JP
Japan
Prior art keywords
node
symbol
nodes
communication
state
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
JP2003531618A
Other languages
English (en)
Other versions
JP2005528811A (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
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2005528811A publication Critical patent/JP2005528811A/ja
Application granted granted Critical
Publication of JP4116554B2 publication Critical patent/JP4116554B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/114Shuffled, staggered, layered or turbo decoding schedules
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1191Codes on graphs other than LDPC codes
    • 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
    • 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/0047Decoding adapted to other signal detection operation
    • 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

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

本発明は、通信分野そしてとくに無線通信に関する。
誤り制御符号はデータシンボルのシーケンスの通信に冗長性を与え、そしてそれは雑音および干渉の存在の下でデータシンボルのもとのシーケンスを再生するために受信端において利用される。ビタビ(Viterbi)復号器を用いた畳み込み符号は、CDMA無線通信システムにおいて、電力を制限されたチャネルおよび干渉を制限されたチャネル上で、信頼できる通信を達成するために広く使用されてきている。ターボ符号と称される誤り訂正符号の新しい種類はさらに、古い符号に勝って特性の向上を与えている。受信機におけるターボ符号に対する復号処理は反復アルゴリズムを含み、そしてそれは受信機にとっては複雑であり計算的に徹底している。
その結果、当業界においては、ターボ符号が使用される通信システムにおける改善された復号器に対するニーズが存在する。
通信システムにおいて、方法および装置がターボ符号化されたデータシンボル(turbo encoded data symbol)のシーケンスを復号することを与える。本発明に関する種々の観点が、種々のノードおよび接続ブランチを含む図によって示される。ノードは、チャネルノード(channel node)、シンボルノード(symbol node)、ステートノード(state node)、および計算上のノード(computational node)を含む種々の形式のものである。ノードを接続しているブランチは、1個のノードから他へのメッセージの流れを可能にする。ノードおよびブランチは、ソフトウエア、ハードウエア、あるいは両者の組み合わせによって実現することが可能である。ノードは、到来メッセージの値に基づいた値を有する出発メッセージ(outgoing message)の送出によって更新されることが可能である。一つの実施例においては、チャネルノードR、R、およびRは、受信されたチャネル出力に基づいて更新され、そしてシンボルノードからの出発メッセージは初期化される。シンボルノードはチャネルノードR、R、およびRと通信している。計算上のノードCおよびDに関する更新は、トリガリング計画(triggering schedule)に従って実行される。一つの実施例においては、計算上のノードCおよびDに関する更新は、すべての可能性のある時刻段階(time instance)に対して同時にトリガされる。トリガリング計画は、復号処理に関する1個あるいはそれ以上の反復を得るために繰り返されることが可能である。1個あるいはそれ以上の反復の後に、シンボルノードは、復号されたシンボルに対する値を保持する。結果として、復号処理は効率的に、正確に、そして迅速に実行される。
本発明の特徴、目的、および利点が、図面と関連させた場合に、以下に記述する詳細な説明からより明白になろう。図面において同様の参照符号は、全体を通して同一のものと認定する。
本発明の種々の実施例は、米国通信工業会(TIA)、第3世代パートナーシッププロジェクト(3GPP)、および第3世代パートナーシッププロジェクト2(3GPP2)によって刊行された種々の標準の中に開示され、そして記述されてきている、符号分割多元接続(CDMA)技術に従って動作する無線通信システム内に組み入れられることが可能である。これらの標準は、TIA/EIA‐95標準、TIA/EIA‐IS‐856標準、IMT‐2000標準(cdma2000標準およびWCDMA標準を含む)、ここに参照によって組み込まれたすべてのものを含む。標準の写しは、http://www.3gpp2.orgなるアドレスのワールドワイドウエブにアクセスすることによって、あるいは、アメリカ合衆国、VA22201、Arlington、2500Wilson Boulevard、米国通信工業会標準および技術部あてに手紙を書くことによって入手が可能である。一般的にWCDMA標準として識別され、この中に参照によって組み込まれている標準は、3GPPサポートオフィス、650Route des Lucioles‐Sophia Antipolis、Valbonne‐Franceとコンタクトすることによって、入手することが可能である。
一般的に述べられた、新しいそして改善された方法およびこれに伴う装置は、通信システムにおける符号化されたデータシンボルのシーケンスに関する効率的な復号を与える。ここに記述された1個あるいはそれ以上の典型的な実施例は、ディジタル無線データ通信システムにおいて示されている。この範囲内における使用においては有利である一方、本発明の異なった実施例は、異なった環境あるいは配置と組み合わせられることが可能である。一般的に、ここに記述される種々のシステムは、ソフトウエアで制御される処理装置、集積回路、あるいはディスクリート論理を用いて形成することが可能である。応用を通じて参照されるかも知れないデータ、命令、指令、情報、信号、シンボル、およびチップは、電圧、電流、電磁波、磁場あるいは粒子、光学場あるいは粒子、あるいはこれらの組み合わせによって好都合に示される。さらに、各ブロック線図内に示されるブロックは、ハードウエアあるいは方法ステップを示すかも知れない。
図1は、チャネル上での動作のための送信機および受信機を含む通信システム10に関するブロック線図である。送信端においては、システム10は、符号化動作のための入力データシーケンスを受信するための符号器12を含む。符号器12は、変調器14に符号化されたデータシーケンスを出力する。変調器14は、符号化されたデータシーケンスを搬送波信号上に変調する。変調器14は、結果となる信号を送信機16に与える。送信機16は、加法性白色ガウス雑音(AWGN)チャネル17上に信号を送信するために必要な、電力増幅器およびアンテナを含むかも知れない。受信機18は信号を受信する。受信された信号は復調器19によって復調されそして復号器20に進められる。復号器20は入力データシーケンスの推定値を出力する。変調器14、送信機16、受信機18、および復調器19の動作は、関連業界において既知の技術に従うことが可能である。
符号器12は、入力データビットの数(k)に対して生成された符号語内の符号化されたシンボルの数(n)に対応する符号化率(k/n)において符号化するための、畳み込み符号器を含むことが可能である。拘束長(K)がまた、データの畳み込み符号化に使用されるシフトレジスタの長さとして定義される。畳み込み符号器はバイナリ係数および長さK−1を有する有限インパルス応答濾波器として動作するかも知れない。符号器は、2から(K−1)乗までの可能な状態を有することが可能である。
図2を参照して、一つの実施例に従ったシステム10における使用のための畳み込み符号器100に関するブロック線図が示される。符号器100は、データシンボルXを入力し、そして符号化されたシンボルXおよびYを含む符号語を出力する。その結果、符号化は符号化率1/2におけるものである。添字“i”は、時刻のある段階を表しているインデックスである。符号器110は、データシンボルYを生成するために、多項式に従って入力データシンボルXを符号化する。多項式は、畳み込み符号に従うことが可能である。このような多項式の実行は、バイナリフリップフロップ111および112を含むかも知れない。バイナリフリップフロップ111および112は、それぞれ状態“D0”および“D1”にあることが可能である。状態D0およびD1は、時刻の任意段階において状態“0”あるいは“1”の何れかであることが可能である。システム10においては、符号化されたデータシンボルXおよびYは、AWGNチャネル17上で受信機18に送信される。
それは必要ではないが、符号特性あるいは最適復号器の特性の何れかを理解するときに、符号をトレリス線図(trellis diagram)上に表すことが有効である。トレリス線図は、符号器のための状態線図に関する無限の写しである。トレリス中の一つのレベルにおけるノード(状態)は、前のレベルのノード(状態)から、状態線図によって決定されるように1個の入力ビットに対応する1個のブランチを経ての移行によって達成される。状態メトリック、パスメトリック、およびブランチメトリック等のいくつかのメトリックの形式が復号処理に使用されることが可能である。最も可能性のある経路が、確実性の高い程度をもって選定されることが可能である。選定された経路の各ブランチに関するシンボルに対応する符号語は、送信された符号語の最も可能性のある組み合わせである。
図3を参照して、トレリス(trellis)200は、受信された符号化されたデータシンボルXおよびYを復号器20において復号するために示される。トレリス200は、時刻段階“i−1”、“i”および“i+1”におけるフリップフロップ111および112のそれぞれの状態に対する状態空間(state space)201、202、および203を示す。4個の可能性のある状態211、212、213、および214は、典型的実施例に示されるように各状態空間と組み合わせられる。たとえば、状態211、212、213、および214は、可能性のある状態“00”、“10”、“01”、および“11”におけるそれぞれ、フリップフロップ111および112の状態を示す。一つの状態空間における一つの状態から、他の状態空間における他の状態への移行は、異なった可能性のある符号語ブランチによって示される。各ブランチは、符号化されたシンボルXおよびYに対する特定の選択を示す。たとえば、符号語ブランチ“01”は、データシンボルXに対する“0”の値、およびデータシンボルYに対する“1”の値を示す。符号語ブランチ“01”は、フリップフロップ111および112の、ある時刻の段階における状態空間の状態213から次の時刻の段階における他の状態空間の状態211への、そしてある時刻の段階における状態空間の状態214から次の時刻の段階における他の状態空間の状態214への移行を示すことが可能である。レート1/2に対しては、各状態空間における各状態は、少なくとも2個の可能性のある符号語ブランチによって到達されることが可能である。
種々の実施例に従って、復調器19内の相関器は、各受信された符号化されたデータシンボルに関する確率を、チャネル出力に基づいて決定することが可能である。各受信された符号化されたデータシンボルと組み合わせられた確率は、記憶エレメント内に保存されるかも知れない。各データシンボルXおよびYに対する決定された確率は、ブランチメトリック(チャネルメトリック)を決定するために使用される。
MAPアルゴリズムとして一般に知られるアルゴリズムは、復号処理に使用されることが可能である。トレリス200における復号処理は、状態メトリックおよびパスメトリックを初期の状態空間および最終の状態空間から、順方向および逆方向法で(in a forward and backward fashion)、同時に決定することを含むかも知れない。軟判定(soft decision)は、符号化されたデータシンボルXおよびYの値を、トレリス内の状態空間に対応する時刻段階におけるブランチによって表されるとして決定する。符号化されたデータシンボルXおよびYの値に対する軟判定を行うために、各ブランチに関するデュアルメトリック(DM)が決定される。ブランチのDMは順方向状態メトリック(forward state metric)(FSM)、逆方向状態メトリック(backward state metric)(BSM)、およびブランチメトリック(BM)に基づいている。DMは、FSM、BSM、およびBMの合計であるかも知れない。ブランチのBMは、チャネル出力に基づいて決定されるかも知れない。
状態のFSMは順方向パスメトリック(FPM)に基づいているかも知れない。ブランチの一端におけるFPMは、ブランチの開始点における状態のFSMおよびブランチのBMの合計に等しいかも知れない。トレリスの初期の状態空間における状態のFSMは、既知であり、あるいはあらかじめ設定されているかも知れない。トレリスの初期の状態空間における状態以外の状態のFSMは、初期の状態空間から出発しそして状態において終了する経路のFPMの汎用最小値(generalized minimum)に等しいかも知れない。状態のBSMは、逆方向パスメトリック(BPM)に基づくかも知れない。ブランチの一端におけるBPMは、ブランチの開始点における状態のBSMおよびブランチのBMに等しいかも知れない。トレリスの最終の状態空間における状態のBSMは、既知であり、あるいはあらかじめ設定されているかも知れない。トレリスの最終の状態空間における状態以外の状態のBSMは、その状態から出発し、そして最終の状態空間に関する状態において終了する経路のBPMの汎用最小値に等しいかも知れない。このように、初期の状態および最終の状態からの状態空間のFSM、BSM、およびBMは、両方向からの経路がブランチすべてに対するDMを決定するために反対の終端に到達するまで、連続した方法で決定されるかも知れない。ブランチのDMは、順方向からのブランチの一端における状態のFSM、逆方向からのブランチの一端における状態のBSM、およびブランチのBMに基づくかも知れない。
2個の連続した状態空間の間のブランチのDMは、二つのグループに分類することが可能である。第1のグループは“0”に等しいXシンボルを有する符号語をもったブランチを含んでいる。第2のグループは“1”に等しいXシンボルを有する符号語をもったブランチを含んでいる。第1のグループ(GMB0)に関する汎用最小値、および第2のグループ(GMB1)に関する汎用最小値が決定される。 Xシンボルに対する軟判定は、GMB0およびGMB1間の差に等しいかも知れない。符号語の他のデータシンボルに対する軟判定は、同様にしてブランチを二つのグループに分類することによって決定されるかも知れない。第1のグループは“0”に等しいデータシンボルを有することかも知れず、そして第2のグループは“1”に等しい(データシンボルを有することかも知れない)。データシンボルに対する軟判定はGMB0およびGMB1間の差に等しいかも知れない。
トレリスの各ブランチは、いくつかのデータシンボルを含む符号語を示している。たとえば、符号化率1/2に対しては、トレリス200内に示される各ブランチ内の符号語は、データシンボルXおよびYに対する値を示している。もしも送信機内の符号器が符号化率1/3で符号化されたデータシンボルを送信する場合は、各入力データシンボルに対して3個のデータシンボルが生成されることが可能である。このような例においては、各ブランチ内の符号語は3個のデータシンボルを示す。
図4を参照して、従来のレート1/3ターボ符号器(turbo encoder)400に関する一般的ブロック線図が示されている。一般的に言えば、レート1/3ターボ符号器は、少なくとも2個の並列符号器を含む。ターボ符号器400は、第1の要素符号(constituent code)401および第2の要素符号402、および符号インターリーバ403を含む。データシンボルXは、入力410においてターボ符号器400に入力する。第1の要素符号401は、データシンボルXを符号化されたデータシンボルYを生成するために入力する。符号インターリーバ403は、データシンボルXを生成するためにデータシンボルXをインタリーブするためにデータシンボルXを受信する。データシンボルXは、再配列されたデータシンボルXを含むかも知れない。第2の要素符号402は、データシンボルXを符号化し、そしてデータシンボルZを出力する。第1および第2の要素符号401および402内のデータシンボルを符号化するために用いられた多項式は、同じであるかあるいは異なるかも知れない。第1および第2の要素符号401および402における符号化は、図2に示される畳み込み符号110に従うかも知れない。
データシンボルXi、、およびZは、伝送のためのデータシンボルを選定するためにパンクチャリングブロック(図示せず)に通されるかも知れない。選定は、パンクチャリングパターンに従うかも知れない。選定されたデータシンボルは、専らデータシンボルXi、、およびZのみである。システム10においては、選定されたデータシンボルは変調および受信機18への伝送のために変調器14に通される。復号器20は、データシンボルXi、、およびZの雑音を含んだ形態を受信する。
図5を参照して、データシンボルXの推定値を生成するためにデータシンボルXi、、およびZの、雑音を含んだ形態を復号するための復号器500に関するブロック線図が示される。復号器500は、システム10における復号器20内で用いられるかも知れない。符号化されたデータシンボルXi、、およびZの雑音を含んだ形態は、入力542における復号ブロック501へのルーチングのために、データシンボルXおよびYの雑音を含んだ形態を選定するために動作する、データシンボル選択器ブロック520を通過するかも知れない。データシンボルXの雑音を含んだ形態は、局部的にデータシンボルXの雑音を含んだ形態を再生成するためにインターリーバ599を内部的に通過する。局部的に生成されたデータシンボルXおよびZの雑音を含んだ形態は、入力540において復号器ブロック502に通される。復号器501は、説明されそして示されたようにMAP等の復号処理に従って、データシンボルXおよびYの雑音を含んだ形態を復号することが可能である。復号器501は、出力550においてデータシンボルXの推定値を生成する。復号器502は、説明されそして示されたようにMAP等の復号処理に従って、データシンボルZおよびXの雑音を含んだ形態を復号する。復号器502は、出力560においてデータシンボルXの推定値を生成する。復号器501および502内の復号処理は連続的に実行されるかも知れない。情報は、各反復の終了後に復号器501から復号器502に通されるかも知れない。当業界において通常に熟練した人は、記述されそして示されたような種々の実施例における復号器は、符号化されたデータシンボルの雑音を含んだ形態上で動作することを正しく評価するであろう。
真の値を保持するために、データシンボルXの推定値に対する信頼性を増加するために、出力550においてデータシンボルXの推定値は、復号器502の入力532においてデータシンボルXの推定値を生成するためにインターリーバ530を通過するかも知れない。復号器502は、出力560においてデータシンボルXの新しい推定値を生成するために、入力540におけるデータシンボルの推定値と共に、入力532におけるデータシンボルXの推定値を使用する。出力560におけるデータシンボルXの推定値は、ターボ符号400内のインターリーバ430のインターリービング機能の処理を反転するために、そして入力541においてデータシンボルXの推定値を生成するためにデインターリーバ531を通過する。入力541におけるデータシンボルXの推定値は、出力550においてデータシンボルXの新しい推定値を生成するために入力542におけるデータシンボルの推定値と共に用いられる。処理はデータシンボルXの推定値に対する信頼度が満足できるレベルに達するまで繰り返されるかも知れない。このように、データシンボルXの復号のための処理は時間を消費するものであり、そして通信システム10における応用に対して間に合うような方法で、データシンボルXの正確な推定値を生成しないかも知れない。
図6を参照して、図表600は、通信システム10内で使用されることが可能な本発明の種々の実施例に従った復号器内の信号および情報の流れを示す。図表600に述べられた復号動作はターボ符号に従って送信機において符号化されているデータシンボルのシーケンスを復号するのに適している。図4に示されたターボ符号器400は、ターボ符号に従ったデータシンボルのシーケンスの符号化に対する典型的な実施例である。復号器20のような本発明の実施例と組み合わせられた復号器は、本発明の種々の観点から非常に有益である。本発明の一つの実施例は、高い信頼度をもってデータシンボルXの正確な推定値を決定するための高速復号動作を与える。本発明の種々の実施例に従った図表600における信号および情報に関する流れの種々の観点をフォローするために、いくつかの表示が定義されるかも知れない。データシンボルXによって形成されたデータシンボルのシーケンスは長さNのバイナリシンボルであることが可能である。Nに対する値は、任意の有限の数値であることが可能である。第1の要素符号401に対する時刻インデックスは、1およびNの間の数値を有する“i”に対する“I”であることが可能である。データシンボルYおよびZもまた長さNのバイナリシンボルであることが可能である。第2の要素符号402に対する時刻インデックスは、1およびNの間の数値を有する“k”に対する“k”であることが可能である。“k”に対する値は、符号インターリーバ403におけるインターリービング後の時刻インデックス“i”のイメージである。
図6を参照して、シンボルXノード601は、時刻“i”における第1の要素符号401の入力におけるデータシンボルと組み合わせられたシンボルノードであるかも知れない。シンボルYノード602は、時刻“i”における第1の要素符号401の出力におけるデータシンボルと組み合わせられたシンボルノードであるかも知れない。シンボルZノード603は、時刻“k”における第2の要素符号の出力におけるデータシンボルと組み合わせられたシンボルノードであるかも知れない。時刻“i−1”および“i”における第1の要素符号401と組み合わせられたトレリスの状態ノード(state node)は、それぞれ状態Si−1ノード604および状態Sノード605によって表されることが可能である。時刻“k−1”および“k”における第2の要素符号402と組み合わせられたトレリスの状態ノードは、それぞれ状態σk−1ノード606および状態σノード607とによって表されることが可能である。時刻“i−1”、“i”、および“i+1”における第1の要素符号401と組み合わせられた計算上のノードは、それぞれCi−1ノード608、Cノード609、およびCi+1ノード610によって表されることが可能である。時刻“k−1”、“k”、および“k+1”における第2の要素符号402と組み合わせられた計算上のノードは、それぞれDk−1ノード611、 Dノード612、Dk+1ノード613によって表されることが可能である。チャネルRノード614は、受信されたデータシンボルXと組み合わせられる。チャネルRノード615は、受信されたデータシンボルYと組み合わせられる。チャネルRノード616は、受信されたデータシンボルZと組み合わせられる。
図表600において、ブランチは2個のノードを接続することが可能である。一つのブランチは、ソースノードから宛先ノードへのメッセージを搬送することが可能である。一般的に、もしもαおよびβが任意の2個のノードである場合は、表示M(α,β)はノードαからノードβへのメッセージを表す。たとえば、ブランチ651は、Xノード601等のシンボルノードを、Cノード609等の計算上のノードに接続することが可能である。ブランチ651は、ソースノード、X601から宛先ノード、 Cノード609へメッセージを搬送することが可能である。その結果、ブランチ651によって搬送されたメッセージは、M( X , C )として表される。シンボルノード601、シンボルノード602、およびシンボルノード603に接続されたブランチは、1個の数字を含むメッセージを搬送する。シンボルノードに接続されたブランチは、ハードウエア、ファームウエアあるいはソフトウエア、あるいはこれらの組み合わせの中に、レジスタあるいは変数、あるいはこれらの組み合わせとして実現することが可能である。レジスタあるいは変数によって保持される値は、ブランチによって搬送されたメッセージを示すことが可能である。
状態Sノード605、状態Si−1ノード604、状態σk−1ノード606、および状態σ607ノードに接続されたブランチは、数字の配列を含むメッセージを搬送する。数字の配列は接続する状態ノードと組み合わせられたトレリス内の状態の数に等しい長さを有することが可能である。対応する要素符号と組み合わせられた符号器は状態の数を確立することが可能である。たとえば、要素符号401は、各時刻の段階における各状態空間に4個の状態を有している。その結果、数の配列は4個の数を含み、ここで、一つの数は状態空間における各状態に対する。状態ノードに接続されたブランチは、ハードウエア、ファームウエアあるいはソフトウエア、あるいはこれらの組み合わせの中に、レジスタあるいは変数、あるいはこれらの組み合わせとして実現することが可能である。レジスタあるいは変数によって保持された値は、ブランチによって搬送されたメッセージを示すことが可能である。
一般的に、ノードはいくつかの入力および出力をもった論理回路の形で、ハードウエア内に実現することが可能である。ノードはまた、機能あるいはサブルーチンの形で、ソフトウエア/ファームウエア内に実現されることが可能である。ノードはいつでも、いかなる情報も記憶しあるいは保存する必要はないかも知れない。ノードは到来メッセージによって“更新される”かも知れない。ノードが“更新される”場合、ノードはその到来ブランチにおけるメッセージの現在の値に基づいてその出発ブランチのすべてに、メッセージを出力する。ノードの出発ブランチ上のメッセージの形式は、またノードの形式によって異なる。
チャネルノード614‐616は、対応するデータシンボルと組み合わせられたチャネル出力を受信することによって更新される。復調器19内の相関器は、各データシンボルに対するチャネル出力を出力するかも知れない。たとえば、データシンボルX、Y、およびZと組み合わせられたチャネル出力は、それぞれチャネルノード614、615、および616を更新する。チャネルノードが更新される場合、メッセージがチャネルノードから組み合わせられたシンボルノードへ通される。たとえば、データシンボルXの場合、データシンボルXと組み合わせられたチャネルノード614において、 Xチャネル出力を受信した後、チャネルノード614は、チャネルノード614からシンボルノード601へメッセージを通すことによって更新される。チャネルノード614からシンボルノード601へ通されたメッセージは、シンボルXチャネル出力の対数‐尤度比(log-likelihood ratio)、
Figure 0004116554
に等しいことが可能である。たとえば、もしもシンボルXが、1は正の電圧として送信され、そして0は負の電圧として送信されるようにBPSK変調され、そして実数rによって示される電圧としてAWGNチャネル上で受信される場合は、そこでメッセージは
Figure 0004116554
に等しいことが可能である。ここで、E/NはチャネルのシンボルSNRを表す。ある時刻の段階におけるデータシンボルに対してチャネルノードは一度だけ更新されることを必要とする。チャネルノードはチャネル出力を受信することによって更新されることが可能である。
シンボルノードは、接続ブランチ上のメッセージを受信することによって更新されるかも知れない。シンボルノードはいくつかのノードに接続されるかも知れない。たとえば、シンボルノードX601は、チャネルノード614、Cノード609、およびDノード612に接続される。シンボルノードが更新される場合、出発メッセージは到来メッセージの和によって決定される。次の表示が有用であるかも知れない。シンボルノードαが更新される場合、シンボルノードαからの出発メッセージは次のように推定される。
Figure 0004116554
総和はノードαと接続されている他のノード(β′)からの到来メッセージのすべてについてである。ノードαの更新をトリガしたノードβからの到来メッセージM(β,α)は、ノードαからノードβへの出発メッセージM(α,β)の決定には用いられない。シンボルノードX601の場合、ノードはメッセージが到来ブランチ650、653、および659上で受信される場合に更新される。ブランチ650は、 Cノード609からのメッセージM(Ci,)を搬送する。ブランチ653は、Dノード612からのメッセージM(D,X)を搬送する。ブランチ659は、チャネルノード614からのメッセージM(R, X)を搬送する。 Cノード609への出発メッセージは、ブランチ651上で搬送される。 Dノード612への出発メッセージは、ブランチ652上で搬送される。もしも更新がブランチ650上でのメッセージM(Ci,)の受信による場合は、出発メッセージM(Xi,)はブランチ651上には送出されず、その結果ブランチ652上への出発メッセージM(X,D)のみが送出される。シンボルノードからチャネルノードへの出発メッセージは存在しない。もしも更新がブランチ659上でのメッセージM(R,X)の受信に起因する場合は、ブランチ652上でDノード612に送出されたメッセージは、チャネルノードR614からのメッセージM(R,X)およびCノード609からのメッセージM(Ci,)からの寄与を有しているであろう。同様にもしも更新がブランチ659上でのメッセージM(R,X)の受信に起因する場合は、ブランチ651上でCノード609に送出されたメッセージは、チャネルノードR614からのメッセージM(R,X)およびDノード612からのメッセージM( D,X)からの寄与を有しているであろう。
一つの実施例においては、共通の時刻の段階と組み合わせられた到来メッセージは、ノードに本質的には同時に到着される。その結果、出発メッセージは共通の時刻の段階と組み合わせられたすべての到来メッセージを有することによってトリガされる。時刻の段階と組み合わせられた到来メッセージは、メッセージが本質的に同時に各ノードに到着されない場合は、他の時刻の段階と組み合わせられた出発メッセージをトリガしない。
状態ノードもまた接続されたブランチ上でメッセージを受信することによって更新されるかも知れない。状態ノードを更新するために、状態ノードは受信されたメッセージを、到来ブランチ上の接続された計算上のノードから、出発ブランチ上の他の接続された計算上のノードに通す。状態ノードは計算上のノードのみに接続される。状態ノードは基本的には計算上のノードからの到来メッセージを、他の計算上のノードに通す。状態Sノード605は、計算上のCノード609およびCi+1ノード610に接続される。状態Si−1ノード604は、Ci−1ノード608およびCノード609に接続される。状態Sノード605がCノード609からの到来ブランチ665上でメッセージM(C,S)を受信することによって更新される場合は、メッセージM(C,S)は、Ci+1ノード610への出発ブランチ667上のメッセージM(S,Ci+1)として通される。状態Sノード605が、到来ブランチ668上でメッセージM(Ci+1,S)を受信することによって更新される場合は、メッセージM(Ci+1,S)は、Cノード609への出発ブランチ上のメッセージM(S,C)として通される。同様な動作が、状態Si−1ノード604、状態σノード607、および状態σk−1ノード606を更新する場合に実行される。
計算ノードにおける出発メッセージの推定値を記述するために、要素符号と組み合わせられたトレリスに関する若干の表示が述べられる。トレリスの各ブランチは状態sを状態tに接続し、そして第1および第2の要素符号401および402の場合2個のバイナリシンボルで名づけられる。状態のある対のみがトレリス内に接続される。第1の要素符号401と組み合わせられたトレリス内の各ブランチは、(f〔s,t〕,g〔s,t〕)として表示される。同様に、第2の要素符号402と組み合わせられたトレリスの各ブランチは、状態sを状態tに接続しており、(f′〔s,t〕,g′〔s,t〕)として表示される。 f〔s,t〕は第1の要素符号401と組み合わせられた体系的なシンボル(すなわちX)を示し、そしてg〔s,t〕はパリティシンボル(すなわちYおよびZ)を示す。 f′〔s,t〕は第2の要素符号402と組み合わせられた体系的なシンボル(すなわちX )を示し、そしてg′〔s,t〕はパリティシンボル(すなわちYおよびZ)を示す。当業界において通常に熟練した人は、データシンボルXは体系的シンボルであり、そしてYおよびZはターボ符号と組み合わせられたパリティシンボルであることを正しく評価するであろう。
計算ノードから状態ノードへの出発メッセージは、数字の配列の形態である。説明したように、状態ノードはメッセージを一つの計算ノードから他へと通す。その結果、状態ノードからの出発メッセージはまた、数字の配列の形態である。配列の長さは、トレリスの各状態空間内の状態の数に等しい。たとえば、計算上のノードC609から状態Sノード605へのメッセージM(C,S)の場合、 M(C,S)〔s〕は、メッセージM(C,S)における数字の配列のs番目の成分を示す。同様に、M(S,C)〔s〕は、状態ノードから計算ノードへのメッセージM(S,C)のs番目の成分を示す。計算Cノード609からの出発メッセージは、次のように推定される。
Figure 0004116554
ここで総和は、状態sおよびtに対して、トレリス内に状態sから状態tへのブランチがあるように制約される。計算上のCノード609からシンボルノードY602への出発メッセージは、ブランチ657が(破線で)たとえ示されていても存在しないかも知れない。シンボルノードY602はメッセージをCノード609のみに送出するために、ノードY602はCノード609からはメッセージを受信しない。同様に、計算ノードD612からのメッセージは、次のように推定される。
Figure 0004116554
計算上のノードD609からシンボルノードZへの出発メッセージは、ブランチ654が(破線で)たとえ示されていても存在しないかも知れない。シンボルノードZ603はメッセージをDノード603のみに送出するために、ノードZ603はDノード603からはメッセージを受信しない。
上記の計算は、通常
Figure 0004116554
によって定義される基本的数学的演算を用いる。
上記のn配列演算はバイナリ演算
Figure 0004116554
の連結として実現可能であることは容易に知られるであろう。
さらにバイナリ演算は
Figure 0004116554
として実現が可能である。
実用上、関数ψ(|u−u|)は、小さいルックアップテーブルを用いて近似される。計算ノードが“トリガされた”場合は、次のステップが順に起きることが可能である。(1)計算ノードに接続されたすべての状態ノードおよびシンボルノードが更新され、そして(2)計算ノードそれ自身が更新される。
種々の実施例に従ったメッセージ通過復号アルゴリズム(message passing decoding algorithm)は、すべてのチャネルノードを一度更新し、そしてそこでトリガリング計画に従って計算ノードをトリガすることを含む。典型的には、計算ノードは、復号処理の期間中、計画に従って数回トリガされる。計算ノードからの出発メッセージは初期化され、そして更新トリガが計画される。
初期化処理の間、すべての計算ノードからシンボルノードへのメッセージは0に初期化される。すべての計算ノードから状態ノードへの出発メッセージの各成分は、−log(M)に初期化される。ここでMはトレリスの各状態空間内の状態の数である。もしも要素符号器が符号化に先立って0の状態にあることが知られる場合は、そこで処理は、時刻“0”において、トレリスセクション内のすべての0でない状態sに対して、M(C,S)[0]=M(D,σ)[0]=0、およびM(C,S)[s]= M(D,σ)[s]=−∞、と初期化する。同様に、もしも要素符号器が符号化の終期において0の状態にあることが知られる場合は、処理はすべての0でない状態sに対して、M(CN+1,S)[0]=M(DN+1,σ)[0]=0、およびM(CN+1,S)[s]=M(DN+1,σ )[s]=−∞と、初期化する。
図7を参照して、図表700は、本発明の種々の実施例に従った異なった時刻の段階に対応する異なったノード間のメッセージの流れを示す。符号化されたデータシンボルX、Y、およびZと組み合わせられたチャネル出力は、復調器19内の記憶エレメント内に保存されることが可能である。このように、異なった時刻段階に対する符号化されたデータシンボルX、Y、およびZと組み合わせられたチャネル出力は、復号処理に対してすべて同時に利用可能となることが可能である。時刻段階“i−1”、“i”、および“i+1”に対応するデータシンボルXi−1、X、およびXi+1と組み合わせられたチャネル出力は、シンボルノード701に通過する。状態Si−2、Si−1、S、およびSi+1ノード702はまた、計算上のCi−2、Ci−1、C、Ci+1、およびCi+2ノード704と接続するために形成されるかも知れない。状態σk−2、σk−1、σおよび、σk+1ノード705もまた、計算上のDk−2、Dk−1、 D、Dk+1、およびDk+2ノード706と接続するために形成されるかも知れない。時刻段階“i−1”、“i”、および“i+1”に対応する、データシンボルYi−1、Y、およびYi+1と組み合わせられたチャネル出力は、シンボルノード707に通過する。時刻段階“k−1”、“k”、および“k+1”に対応する、データシンボルZk−1、Z、およびZk+1と組み合わせられたチャネル出力は、シンボルノード708に通過する。図表700は3個の時刻段階に対応するメッセージ通過流れを示しているが、当業界において通常に熟練した人は、図表700は1からNに対するすべての時刻段階を含むように拡張が可能であることを正しく認識するであろう。一つの実施例に従って、すべての計算ノード704および706は本質的に同時にトリガされることが可能である。このように、一つのステップ内ですべての計算上のノードは一度更新される。各時刻にすべての計算上のノードは更新され、復号処理は復号化の反復上で完了していることが可能である。計算上のノード704および706に関する同時のトリガは、復号処理の1個あるいはそれ以上の反復を達成するために繰り返されることが可能である。
他の実施例においては、計算上のノードは、フルMAP復号化を用いて従来のターボ復号アルゴリズムの単一の反復を得るために、C、C、C、…、C、CN−1、CN−2、CN−3、…、C、C、C、D、D、D、…、D,DN−1、DN−2、DN−3、…、D、D、Dの順序でトリガされることが可能である。計算ノードC、C、C、…、Cのシーケンスはいくつかの部分的に重畳するサブブロックに分割されることが可能であり、そしてノードは各サブブロック内で順々に、しかしすべてのサブブロックに亙っては同時にトリガされる。第1の要素符号に関するスライディングブロックMAP復号化に対する精密な近似を得ることが可能である。ノードD、D、D、…、Dは、スライディングブロックMAP復号化を用いて標準のターボ復号アルゴリズムに関する近似を得るのと同じ方法でトリガされるかも知れない。
一般的に計算ノードの(重畳している)サブセットの任意の集合が定義されるかも知れず、そしてサブセットがトリガされる順序もまた定義されるかも知れない。各サブセットの中で、ノードは任意の順序で、あるいは同時にトリガされるかも知れない。あるいは、順序は、サブセット内の各計算ノードに関するトリガと一致するように規定されるかも知れない。異なったサブセットが任意の順序で、あるいは同時にトリガされるかも知れない。すべての計算上のノードが一度トリガされる場合に、復号反復が起きると定義される。完全な復号処理はいくつかの反復を含むかも知れない。第1の要素符号に関する計算ノードのトリガリングのいくつかの反復の後に、第2の要素符号に関する計算ノードが同様にトリガされるかも知れない。処理はまた、実施例に従ってあらかじめ定義された反復数の後に完了されるかも知れない。処理はまた、実施例に従って動的な形態におけるいくつかの反復の後に完了されるかも知れない。処理は体系的なデータシンボル(X)の満足できる組が満足できる品質レベルで生成される場合に完了される。シンボルノードX601におけるデータシンボルXの値は、各反復の後に巡回冗長検査(CRC)を通るかも知れない。もしもCRCを通過する場合は、復号動作は完了することが可能であり、そして付加的な反復は必要とされないことが可能である。
当業界において熟練した人々は、ここに開示された実施例に関連して記述された、種々の例証となる論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子的ハードウエア、計算機ソフトウエア、あるいは両者の組み合わせとして実現可能であることを正しく評価するであろう。ハードウエア、およびソフトウエアに関するこの互換性を明らかに示すために、種々の例証となるコンポーネント、ブロック、モジュール、回路、およびステップが以上に一般的に、それらの機能の形で記述されてきている。これらの機能がハードウエアあるいはソフトウエアで実現されるか否かは、システム全体に課せられた特定の応用、および設計制約によって異なる。熟練した技術者は、記述された機能を各特定の応用に対して異なった方法で実現するかも知れない。しかしこのような実現の決定は本発明の範囲から逸脱する原因として解釈されるべきではない。
ここに開示された実施例に関連して記述された種々の例証となる論理ブロック、モジュールおよび回路は、汎用処理装置、ディジタル信号処理装置(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FGPA)あるいは他のプログラマブル論理デバイス、ディスクリートゲートあるいはトランジスタ論理、ディスクリートハードウエアコンポーネント、あるいはここに記述された機能を実行するように設計された、任意のこれらの組み合わせで実現されあるいは実行されることが可能である。汎用処理装置はマイクロ処理装置であるかも知れず、しかし代わりに処理装置は任意の従来の処理装置、制御器、マイクロ制御器、あるいはステートマシンであるかも知れない。処理装置はまた、計算デバイスの組み合わせ、たとえば、DSPおよびマイクロ処理装置の組み合わせ、複数のマイクロ処理装置、DSPコアを伴った1個あるいはそれ以上のマイクロ処理装置、あるいは任意の他のこのような配列として実現されるかも知れない。
ここに開示された実施例に関連して記述された方法あるいはアルゴリズムのステップは、直接にハードウエア内で、処理装置によって実行されるソフトウエアモジュールの中で、あるいは組み合わせの中で具体化されるかも知れない。ソフトウエアモジュールはRAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、抵抗器、ハードディスク、リムーバブルディスク、CD‐ROM、あるいは当業界において知られた記憶媒体の任意の他の形態の中に置かれるかも知れない。典型的な記憶媒体は処理装置が記憶媒体からの情報を読み、そして(記憶媒体に)情報を書き込むことが可能なように処理装置に結合される。代わりに、記憶媒体は処理装置と一体化されるかも知れない。処理装置および記憶媒体はASIC内に置かれるかも知れない。ASICはユーザ端末内に置かれるかも知れない。代わりに処理装置および記憶媒体はユーザ端末内にディスクリートコンポーネントとして置かれるかも知れない。
望ましい実施例に関する以上の記述は、当業界において熟練したいかなる人に対しても本発明を作成しあるいは使用することを可能とする。これらの実施例に対する種々の修正は当業界において熟練した人々に対しては容易に明白であろうし、そしてここに定義された一般的原理は創造的能力を使用することなしに他の実施例に適用が可能である。従って、本発明はここに示された実施例に限定されることを意図したものではなく、しかしここに開示された原理および新しい特徴に一致する最も広い範囲に一致されるべきものである。
本発明の種々の実施例に従って動作することが可能な通信システムを示す。 エンコーダに関するブロック線図を示す。 トレリス線図を示す。 ターボエンコーダに関するブロック線図を示す。 復号器に関するブロック線図を示す。 本発明の種々の実施例に従って符号化されたデータシンボルのシーケンスを復号するための種々の形式のノード間の情報の流れに対する図表を示す。 本発明の種々の実施例に従って符号化されたデータシンボルのシーケンスを復号するための種々の形式のノード間の情報の流れに対する一般化された図表を示す。
符号の説明
10…通信システム、 12…符号器、 14…変調器、 16…送信機、 17…加法性白色ガウス雑音(AWGN)チャネル、 18…受信機、 19…復調器、 20…復号器、 100…符号器、 110…符号器、 111…フリップフロップ、 200…トレリス、 201…状態空間、 202…状態空間、 211…状態、 212…状態、 213…状態、 214…状態、 400…ターボ符号器、 403…符号インターリーバ、 410…入力、 430…インターリーバ、 500…復号器、 501…復号器(復号ブロック)、 502…復号器(復号ブロック)、 520…データシンボル選択器ブロック、 530…インターリーバ、 531…デインターリーバ、 532…入力、 540…入力、 541…入力、 542…入力、 550…出力、 560…出力、 599…インターリーバ、 601…シンボルノード、 602…シンボルノード、 603…シンボルノード、 604…ノード、 605…ノード、 606…ノード、 607…ノード、 608…ノード、 609…ノード、 610…ノード、 611…ノード、 612…ノード、 613…ノード、 614…チャネルノード、 615…チャネルノード、 615…ノード、 616…ノード、 650…ブランチ、 651…ブランチ、 652…ブランチ、 653…ブランチ、 654…ブランチ、 657…ブランチ、 659…ブランチ、 665…到来ブランチ、 667…出発ブランチ、 668…到来ブランチ、 701…シンボルノード、 702…ノード、 704…ノード、 705…ノード、 706…ノード、 707…シンボルノード、 708…シンボルノード

Claims (25)

  1. 通信システムにおいて、チャネル上に送信されたターボ符号化されたデータシンボルのシーケンスを復号するための方法であって、
    受信されたチャネル出力に基づいてチャネルノードR、Ry、およびRを更新し、
    シンボルノードX、Y、およびZから出発メッセージを初期化し、ここで前記シンボルノードX、Y、およびZは、前記チャネルノードR、Ry、およびRと通信しており、そして
    トリガリング計画に従って異なった時刻の段階と組み合わせられた計算上のノードCおよびDの更新をトリガすることを含、ここで計算上のノードC前記シンボルノードXおよびYと通信しており、そして計算上のノードD前記シンボルノードXおよびZと通信している方法。
  2. ここで、前記計算上のノードCは第1の要素符号と組み合わせられた状態ノードSおよびSi−1と通信しており、そして前記計算上のノードDは第2の要素符号と組み合わせられた状態ノードσおよびσk−1と通信しており、ここで前記第1および第2の要素符号は、符号化されたデータシンボルの前記シーケンスを符号化するために使用される前記通信システム内のターボ符号と組み合わせられている、請求項1に記載された方法。
  3. さらに、前記計算上のノードCおよびDの前記更新をトリガすることの少なくとも1度の反復の後に、前記シンボルノードXにおいて、シンボルXの復号された値としてシンボルXの値を受け入れることを含む、請求項1に記載された方法。
  4. ここで、前記トリガリング計画は、異なった時刻段階における前記計算上のノードCおよびDを、本質的に同時にトリガすることを含む、請求項1に記載された方法。
  5. ここで、前記トリガリング計画は、異なった時刻段階における前記計算上のノードCおよびDを、C、C、C、…、C、CN−1、CN−2、CN−3、…、C、C、C、D 、D、D、…、D,DN−1、DN−2、DN−3、…、D、D、Dの順序でトリガすることを含む、請求項1に記載された方法。
  6. さらに、時刻段階C、C、C、…、Cにおける前記計算上のノードCを、少なくとも2個のサブセットに分割することを含、ここで前記トリガリング計画は、各サブセット内で異なった時刻段階において順々に計算上のノードCの更新をトリガすることを含む、請求項1に記載された方法。
  7. さらに、前記更新をトリガするために、各サブセット内で異なった時刻段階における前記順序を決定することを含む、請求項6に記載された方法。
  8. ここで、前記少なくとも2個のサブセット内の異なった時刻段階における計算上のノードCに関する前記トリガリングは同時に生じる、請求項6に記載された方法。
  9. ここで、異なった時刻段階C、C、C、…、Cにおける計算上のノードCに関する前記少なくとも2個のサブセットは、少なくとも1個の共通した計算上のノード時刻段階を有する、請求項6に記載された方法。
  10. さらに、異なった時刻段階D、D、D、…、Dにおける計算上のノードDを少なくとも2個のサブセットに分割することを含、ここで前記トリガリング計画は計算上のノードDを、異なった時刻段階において各サブセット内で順々にトリガすることを含む、請求項1に記載された方法。
  11. さらに、前記更新をトリガするために、各サブセット内で異なった時刻段階における前記順序を決定することを含む、請求項10に記載された方法。
  12. ここで、前記少なくとも2個のサブセット内の異なった時刻段階における計算上のノードDに関する前記トリガリングは同時に生じる、請求項10に記載された方法。
  13. ここで、時刻段階D、D、D、…、Dにおける計算上のノードDに関する前記サブセットは、少なくとも1個の共通した計算上のノード時刻段階を有する、請求項10に記載された方法。
  14. ここで、前記更新は、出力メッセージを生成するために到来メッセージを合計し、そして更新のために前記出力メッセージを出力することを含む、請求項1に記載された方法。
  15. ここで、前記受信されたチャネル出力に基づいて前記チャネルノードR、R、およびR前記更新することは、
    前記チャネルノードRにおいてシンボルXと組み合わせられた前記チャネル出力を受信し、
    前記チャネルノードRにおいてシンボルYと組み合わせられた前記チャネル出力を受信し、
    前記チャネルノードRにおいてシンボルYと組み合わせられた前記チャネル出力を受信し、
    前記受信されたチャネル出力に基づく前記シンボルXの確度を前記チャネルノードRから前記シンボルノードXに送り、
    前記受信されたチャネル出力に基づく前記シンボルYの確度を前記チャネルノードRから前記シンボルノードYに送り、そして
    前記受信されたチャネル出力に基づいて前記シンボルZの確度を前記チャネルノードRから前記シンボルノードZに送る、
    ことを含む、請求項1に記載された方法。
  16. ここで、シンボルノードX、Y、およびZからの出発メッセージを前記初期化することは、
    前記シンボルノードXからのメッセージを、前記計算上のノードCに関する前記計算上のノードCに送り、ここで前記メッセージは前記シンボルノードXにおける到来メッセージの総和に基づいており、
    前記シンボルノードXからのメッセージを、前記計算上のノードDに関する前記計算上のノードDに送り、ここで前記メッセージは前記シンボルノードXにおける到来メッセージの総和に基づいており、
    前記シンボルノードYからのメッセージを、前記計算上のノードCに送り、ここで前記メッセージはデータシンボルY前記確度に基づいており、そして
    前記シンボルノードZからのメッセージを、前記計算上のノードDに送ることを含、ここで前記メッセージはデータシンボルZ前記確度に基づいている、請求項1に記載された方法。
  17. ここで、データの前記シーケンスはシンボルの“N”個の数を含み、ここで前記シーケンス内の各シンボルは添字“i”あるいは“k”の何れかによって識別され、そしてここで前記添字“i”および“k”は、復号処理における時刻段階に対する参照である、請求項1に記載された方法。
  18. チャネル上に通信されたターボ符号化されたデータシンボルのシーケンスを復号するための装置であって、
    チャネル出力を受信するためのチャネルノードR、R、およびRと、
    前記チャネルノードR、R、およびRと通信しているシンボルノードX、Y、およびZと、
    ターボ符号内の第1の要素符号と組み合わせられた状態ノードSおよびSi−1と、
    前記ターボ符号内の第2の要素符号と組み合わせられた状態ノードσおよびσk−1と、
    前記シンボルノードXおよびYと通信している計算上のノードCと、そして
    前記シンボルノードXおよびZと通信している計算上のノードDと、ここで前記計算上のノードC前記状態ノードSおよびSi−1と通信しており、そして前記計算上のノードD前記状態ノードσおよびσk−1と通信しており、
    前記状態ノードSと通信している計算上のノードCi+1と、
    前記状態ノードSi−1と通信している計算上のノードCi−1と、
    前記状態ノードσと通信している計算上のノードDk+1と、そして
    前記状態ノードσk+1と通信している計算上のノードDk−1とを含み、ここで異なった時刻段階における計算上のノードCおよびDは、更新トリガリング計画に従った更新のために配列されている装置。
  19. ここで、前記更新トリガリング計画は、前記計算上のノードCおよびDの更新を、C、C、C、…、C、CN−1、CN−2、CN−3、…、C、C、C、D、D、D、…、D、DN−1、DN−2、DN−3、…、D、D、Dの順序でトリガすることを含む、請求項18に記載された装置。
  20. ここで、前記更新トリガリング計画は、少なくとも2個のサブセット分割された計算上のノードC、C、C、…、Cの中で順々に、そして少なくとも2個のサブセット分割された計算上のノードD、D、D、…、Dの中で順々に、更新をトリガすることを含む、請求項18に記載された装置。
  21. ここで、データの前記シーケンスはシンボルの“N”個の数を含み、ここで、
    前記シーケンス内の各シンボルは前記状態ノードおよび前記計算上のノードに対して使用される添字に対応する添字“i”あるいは“k”の何れかによって識別される、請求項18に記載された装置。
  22. チャネル上の通信のためのターボ符号化されたデータシンボルのシーケンスを復号するために配列された処理装置であって、
    チャネル出力を受信するためのチャネルノードR、R、およびRと、
    前記チャネルノードR、R、およびRと通信しているシンボルノードX、Y、およびZと、
    ターボ符号内の第1の要素符号と組み合わせられた状態ノードSおよびSi−1と、
    前記ターボ符号内の第2の要素符号と組み合わせられた状態ノードσおよびσk−1と、
    前記シンボルノードX、およびYと通信している計算上のノードCと、そして
    前記シンボルノードX、およびZと通信している計算上のノードDと、ここで前記計算上のノードC前記状態ノードSおよびSi−1と通信しており、そして前記計算上のノードD前記状態ノードσおよびσk−1と通信しており、
    前記状態ノードSと通信している計算上のノードCi+1と、
    前記状態ノードSi−1と通信している計算上のノードCi−1と、
    前記状態ノードσと通信している計算上のノードDk+1と、そして
    前記状態ノードσk+1と通信している計算上のノードDk−1とを含み、ここで異なった時刻段階における計算上のノードCおよびDは、更新トリガリング計画に従った更新のために配列されている処理装置。
  23. ここで、前記更新トリガリング計画は、前記計算上のノードCおよびDの更新を、C、C、C、…、C、CN−1、CN−2、CN−3、…、C、C、C、D、D、D、…、D、DN−1、DN−2、DN−3、…、D、D、Dの順序でトリガすることを含む、請求項22に記載された処理装置。
  24. ここで、データの前記シーケンスはシンボルの“N”個の数を含み、ここで、前記シーケンス内の各シンボルは前記状態ノードおよび前記計算上のノードに対して使用される添字に対応する添字“i”あるいは“k”の何れかによって識別される、請求項22に記載された処理装置。
  25. チャネル上の通信のためのターボ符号化されたデータシンボルのシーケンスを復号するための装置であって、
    チャネル出力を受信するためのチャネルノードR、R、およびRに対する手段と、
    前記チャネルノードR、R、およびRと通信しているシンボルノードX、Y、およびZに対する手段と、
    ターボ符号内の第1の要素符号と組み合わせられた状態ノードSおよびSi−1に対する手段と、
    前記ターボ符号内の第2の要素符号と組み合わせられた状態ノードσおよびσk−1に対する手段と、
    前記シンボルノードXおよびYと通信している計算上のノードCに対する手段と、
    前記シンボルノードXおよびZと通信している計算上のノードDに対する手段と、ここで、前記計算上のノードC前記状態ノードSおよびSi−1と通信しており、なお、前記計算上のノードD前記状態ノードσおよびσk−1と通信しており、
    前記状態ノードSと通信している計算上のノードCi+1に対する手段と、
    前記状態ノードSi−1と通信している計算上のノードCi−1に対する手段と、
    前記状態ノードσと通信している計算上のノードDk+1に対する手段と、そして
    前記状態ノードσk+1と通信している計算上のノードDk−1に対する手段とを含、ここで異なった時刻段階における計算上のノードCおよびDは、更新トリガリング計画に従った更新のために配列されている装置。
JP2003531618A 2001-09-25 2002-09-24 無線通信のためのターボ復号方法および装置 Expired - Fee Related JP4116554B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/965,518 US7489744B2 (en) 2001-09-25 2001-09-25 Turbo decoding method and apparatus for wireless communications
PCT/US2002/030384 WO2003028222A2 (en) 2001-09-25 2002-09-24 Turbo decoding method and apparatus for wireless communications

Publications (2)

Publication Number Publication Date
JP2005528811A JP2005528811A (ja) 2005-09-22
JP4116554B2 true JP4116554B2 (ja) 2008-07-09

Family

ID=25510087

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003531618A Expired - Fee Related JP4116554B2 (ja) 2001-09-25 2002-09-24 無線通信のためのターボ復号方法および装置

Country Status (9)

Country Link
US (1) US7489744B2 (ja)
EP (1) EP1433262A2 (ja)
JP (1) JP4116554B2 (ja)
KR (1) KR100928861B1 (ja)
CN (1) CN1602589B (ja)
AU (1) AU2002334666A1 (ja)
BR (1) BR0212766A (ja)
TW (1) TW577211B (ja)
WO (1) WO2003028222A2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7634710B2 (en) * 2005-03-25 2009-12-15 Teranetics, Inc. Efficient decoding
US8098774B1 (en) * 2007-06-15 2012-01-17 Marvell International Ltd. Methods and apparatus for providing a ML decoding pipeline for QPSK MIMO OFDM receivers
US11018795B2 (en) * 2014-09-29 2021-05-25 The Regents Of The University Of California Methods and apparatus for coding for interference network
CN117336128A (zh) * 2023-10-12 2024-01-02 青岛柯锐思德电子科技有限公司 一种bpm-bpsk接收机位置解调软判决方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2675971B1 (fr) * 1991-04-23 1993-08-06 France Telecom Procede de codage correcteur d'erreurs a au moins deux codages convolutifs systematiques en parallele, procede de decodage iteratif, module de decodage et decodeur correspondants.
US5442627A (en) 1993-06-24 1995-08-15 Qualcomm Incorporated Noncoherent receiver employing a dual-maxima metric generation process
DE19526416A1 (de) * 1995-07-19 1997-01-23 Siemens Ag Verfahren und Anordnung zur Bestimmung eines adaptiven Abbruchkriteriums beim iterativen Decodieren multidimensional codierter Infomation
US6023783A (en) * 1996-05-15 2000-02-08 California Institute Of Technology Hybrid concatenated codes and iterative decoding
US5933462A (en) 1996-11-06 1999-08-03 Qualcomm Incorporated Soft decision output decoder for decoding convolutionally encoded codewords
US6292918B1 (en) 1998-11-05 2001-09-18 Qualcomm Incorporated Efficient iterative decoding
US6304996B1 (en) * 1999-03-08 2001-10-16 General Electric Company High-speed turbo decoder
US6754290B1 (en) * 1999-03-31 2004-06-22 Qualcomm Incorporated Highly parallel map decoder
US6307901B1 (en) * 2000-04-24 2001-10-23 Motorola, Inc. Turbo decoder with decision feedback equalization
US6829313B1 (en) * 2000-07-17 2004-12-07 Motorola, Inc. Sliding window turbo decoder
US7415079B2 (en) * 2000-09-12 2008-08-19 Broadcom Corporation Decoder design adaptable to decode coded signals using min* or max* processing
US6393076B1 (en) * 2000-10-11 2002-05-21 Motorola, Inc. Decoding of turbo codes using data scaling
US20030123563A1 (en) * 2001-07-11 2003-07-03 Guangming Lu Method and apparatus for turbo encoding and decoding

Also Published As

Publication number Publication date
EP1433262A2 (en) 2004-06-30
AU2002334666A1 (en) 2003-04-07
US7489744B2 (en) 2009-02-10
WO2003028222A2 (en) 2003-04-03
US20030058969A1 (en) 2003-03-27
KR100928861B1 (ko) 2009-11-30
JP2005528811A (ja) 2005-09-22
CN1602589A (zh) 2005-03-30
BR0212766A (pt) 2006-05-23
TW577211B (en) 2004-02-21
CN1602589B (zh) 2011-04-20
KR20040039418A (ko) 2004-05-10
WO2003028222A3 (en) 2003-12-11

Similar Documents

Publication Publication Date Title
US5537444A (en) Extended list output and soft symbol output viterbi algorithms
KR100491910B1 (ko) 비동일 에러 보호를 갖는 통신 신호를 검출하는 방법 및 장치
US8443265B2 (en) Method and apparatus for map decoding and turbo decoder using the same
US5349589A (en) Generalized viterbi algorithm with tail-biting
US7260766B2 (en) Iterative decoding process
JP4282192B2 (ja) 反復式ターボ符号復号装置及び該装置の性能を最適化する方法
US6484285B1 (en) Tailbiting decoder and method
JP2002532938A (ja) 通信システムで直列鎖相構造を有する符号化及び復号化装置
KR20010052058A (ko) 인터리빙없이 병렬 코딩을 이용한 통신 시스템 및 방법
JP2002271210A (ja) 穿孔されたパリティシンボルを復元するターボデコーダ用プリデコーダ及びターボコードの復元方法
KR20000053091A (ko) 콘벌루션 인코딩된 코드워드를 디코딩하기 위한 소프트 결정 출력 디코더
Dhaliwal et al. Performance analysis of convolutional code over different code rates and constraint length in wireless communication
US5822340A (en) Method for decoding data signals using fixed-length decision window
KR20030036845A (ko) 트렐리스에 기초한 채널 부호화를 위한 복호기
JP4116554B2 (ja) 無線通信のためのターボ復号方法および装置
KR100799147B1 (ko) 디코딩 방법 및 장치
US7634703B2 (en) Linear approximation of the max* operation for log-map decoding
JP5586504B2 (ja) 復号装置
JP3987153B2 (ja) マンハッタンあるいはハミングメトリックスキームに基づくビタビデコーダのための信号のデコード
KR100317377B1 (ko) 변복조 시스템의 부호화 및 복호화 장치
KR20010113792A (ko) 재귀적 컨벌루션형 심벌들을 디코딩하기 위한 방법 및 장치
US20110202819A1 (en) Configurable Error Correction Encoding and Decoding
KR100240868B1 (ko) 다중비율 전송 시스템
JP4991481B2 (ja) 反復復号装置及び反復復号方法
Pukkila Source and Channel Encoder and Decoder Modeling

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070619

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070919

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070927

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071019

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071026

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071119

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071219

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080417

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

Free format text: PAYMENT UNTIL: 20110425

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4116554

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110425

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120425

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120425

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130425

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20140425

Year of fee payment: 6

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

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