[go: up one dir, main page]

JP4191598B2 - 多数のスケール選択を備えたターボデコーダ - Google Patents

多数のスケール選択を備えたターボデコーダ Download PDF

Info

Publication number
JP4191598B2
JP4191598B2 JP2003509645A JP2003509645A JP4191598B2 JP 4191598 B2 JP4191598 B2 JP 4191598B2 JP 2003509645 A JP2003509645 A JP 2003509645A JP 2003509645 A JP2003509645 A JP 2003509645A JP 4191598 B2 JP4191598 B2 JP 4191598B2
Authority
JP
Japan
Prior art keywords
hypothesis
bits
code segment
decoded
decoding
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
JP2003509645A
Other languages
English (en)
Other versions
JP2005521269A (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 JP2005521269A publication Critical patent/JP2005521269A/ja
Application granted granted Critical
Publication of JP4191598B2 publication Critical patent/JP4191598B2/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
    • 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/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
    • H03M13/2975Judging correct decoding, e.g. iteration stopping criteria
    • 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/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • 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/3776Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using a re-encoding step during the decoding process
    • 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/3911Correction factor, e.g. approximations of the exp(1+x) function
    • 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/63Joint error correction and other techniques
    • H03M13/6337Error control coding in combination with channel estimation
    • 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/6577Representation or format of variables, register sizes or word-lengths and quantization
    • 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/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/658Scaling by multiplication or division

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

本発明はデータ通信に関する。とくに、本発明は、改善された性能を提供する方法で知られていないスケール情報によりコードセグメントをターボ復号する技術に関する。
無線通信システムは、音声、パケットデータ等の種々のタイプの通信を提供するように広範囲にわたって配置されている。これらのシステムは、符号分割多元アクセス(CDAM)、時分割多元アクセス(TDMA)、あるいは別のある多元アクセス技術に基づいていることができる。CDAMシステムは、他のタイプのシステムにまさるシステム容量の増加を含む利点を提供する。
CDMAシステムは、IS−95、W−CDMA、cdma2000およびその他のような1以上のCDMA規格をサポートするように設計されている。各規格は典型的に、順方向および逆方向リンクでの送信の前のデータ処理を規定している。たとえば、音声および、またはパケットデータは特定のデータレートでコード化され、規定されたフレームフォーマットにフォーマット化され、特定の処理方式にしたがって処理される(たとえば、エラー補正および、または検出のために符号化され、インターリーブされる等)ことができる。
多くの新しいCDMA規格は、並列連結コンボリューショナルエンコーダ(ターボエンコーダと呼ばれることが多い)を使用し、それはコードセグメント(たとえば、データパケット)を送信前に符号化するために選択されてもよい。このターボエンコーダは並列に、コードインターリーバと組合せられて動作される2つの構成エンコーダを使用する。このコードインターリーバは、規定されたインターリーブ方式にしたがってコードセグメント中の情報ビットをシャッフルする(すなわち、インターリーブする)。1つの構成エンコーダはコードセグメント中の情報ビットを符号化し、パリティビットの第1のシーケンスを生成し、他方の構成エンコーダはシャッフルされた情報ビットを符号化し、パリティビットの第2のシーケンスを生成する。情報ビットならびに第1および第2のシーケンスの一部または全てのパリティビットが送信される。
相補的な(および計算量が膨大な)ターボ復号は受信装置において行われる。各ターボ符号化されたセグメントに対して、受信された(ソフト値)ビットは典型的にスケールされ、量子化され、バッファに記憶される。その後、第1の構成エンコーダに対する情報およびパリティビットはバッファから検索され、第1の構成デコーダによって第1の構成コードに基づいて復号され、情報ビットに対する検出された値における信頼度の調節を示す“エキストリンシック(extrinsic)”情報を提供する。その後、第1の構成デコーダからのエキストリンシック情報を含む中間的な結果は、送信装置において使用されたコードインターリーブに一致するインターリーブされた順序で記憶装置に記憶される。
その後、この中間的な結果と第2の構成エンコーダからのパリティビットは、それらの各ソースから検索され、第2の構成デコーダによって第2の構成コードに基づいて復号され、情報ビットに対する検出された値における信頼度の別の調節を示すエキストリンシック情報を提供する。その後、第2の構成デコーダからのエキストリンシック情報を含む中間的な結果は、送信装置において使用されたコードインターリーブとは相補的なデインターリーブされた順序で記憶装置に記憶される。中間的な結果は、第1の構成デコーダの次の反復によって使用される。第1および第2の構成デコーダによる復号が何回か繰返され、最終的な復号された結果が得られる。
各構成デコーダは、コードセグメントのビットエラーの最小化を試みる最大経験的(a posteriori)(MAP)デコーダとして構成されてもよい。MAPデコーダにより復号される各情報ビットに対して、エキストリンシック情報を得るために多量の計算が行われる。あるデコーダ構成に対しては、計算の正確さは、MAPデコーダに供給された入力ビット(すなわち、サンプル)の“スケール”の知識に依存する。このスケール情報には、MAPデコーダに供給されたサンプルの分散および振幅が含まれていてもよい。入力ビットのスケールの知識なしに、あるいはその間違った仮定により復号が行われた場合、復号性能は低下する可能性が高い。
したがって、改善された性能を提供するように知られていないスケール情報によりコードセグメントを復号することのできるターボデコーダが必要とされている。
本発明の特徴は、改善された復号結果を提供するようにコードセグメントをターボ復号する技術を提供する。いくつかのターボ復号方式(一般に使用されている最大経験的(MAP)復号方式)に対して、復号の性能は、復号されるビットに対するスケール情報を知っていることに依存する。このようなスケール情報は、復号されるべきビットの分散および振幅に関するものであってもよく、MAP復号に対する特定の関数を正確に評価するために必要とされる可能性がある。間違ったスケール情報がコードセグメントを復号するために使用された場合、MAP復号の性能は、関数が正確に評価されないために低下する可能性がある。
本発明の特徴は、受取られたビットに対するスケール情報が知られていないときに、ターボデコーダの性能を改善するための技術を提供する。一般に、復号される所定のコードセグメントに対していくつかの仮説が形成され、各仮説hは、そのコードセグメントを復号するために使用される1以上のパラメータのセットに対する1以上の値の特定のセットに対応している。MAP復号方式に対して、これらのパラメータは、(1)コードセグメントで受取られたビットをスケールして復号されるべきビットを得るために使用されるスケーリング係数のシーケンスに対するもの、および、または(2)コードセグメントを復号するための(たとえば、min*関数)関数を評価するために使用されるスケールに対するものであることができる。
コードセグメントはMAP復号方式に基づいて、および各仮説にしたがって復号される。したがって、各仮説に対する復号された結果の品質は、1以上の性能測定基準(たとえば、CRCチェック、相関計量、再度符号化された相関計量等)に基づいて決定される。全ての仮説に対する復号された結果の品質が比較され、性能測定基準によって決定される復号された“最良の”結果を提供する仮説に対する復号されたビットが、そのコードセグメントに対するターボデコーダ出力として供給される。
以下、本発明の種々のアスペクト、実施形態および特徴を説明する。
本発明の特徴性質および利点は、以下の詳細な説明および添付図面からさらに明らかになるであろう。なお、図面において一貫した対応的な識別をするために同じ参照符号が使用されている。
図1は、本発明の実施形態の種々のアスペクトを実施することのできる通信システム100の簡単なブロック図である。1実施形態において、通信システム100は、cdma2000、W−CDMA、IS−856および、またはある別のCDMA規格に従ったCDMAシステムである。送信装置110において、データは典型的にブロックでデータソース112から送信(TX)データプロセッサ114に送られ、このTXデータプロセッサ114がデータをフォーマット化し、コード化して処理し、1以上のアナログ信号を生成する。その後、アナログ信号は送信機(TMTR)116に供給され、このTMTR116が信号を(直交)変調し、濾波し、増幅し、上方変換して変調された信号を生成する。その後、この変調された信号は、1以上のアンテナ118(図1には1個のみ示されている)を介して1以上の受信装置に送信される。
受信装置150において、送信された信号は1以上のアンテナ152(再び、1個のみ示されている)によって受信され、受信機(RCV)154に供給される。受信機154内において、受信された信号は増幅され、濾波され、下方変換され、(直交)復調されてデジタル化され、サンプルを生成する。その後、サンプルは受信(RX)データプロセッサ156によって処理されて復号され、送信されたデータを再生する。受信装置150における処理および復号は、送信装置110で行われた処理およびコード化と相補的な方法で行われる。再生されたデータはデータシンク158に供給される。
上述された信号処理は1つの方向における音声、ビデオ、パケットデータ、メッセージングおよびその他のタイプの通信の送信をサポートする。両方向通信システムは両方向データ送信をサポートする。しかしながら、図1においては、簡明化のために別の方向に対する信号処理は示されていない。
図2は、W−CDMA規格により規定された並列連結コンボリューショナルエンコーダ200(ターボエンコーダとも呼ばれている)の概略図である。ターボエンコーダ200は、図1におけるTXデータプロセッサ114内でチャンネルコード化を行うために使用されることができる。ターボエンコーダ200は1対の構成エンコーダ212aおよび212b、コードインターリーバ214ならびに、パンクチュアラおよびマルチプレクサ216を含んでいる。コードインターリーバ214は、特定のインターリーブ方式(たとえば、実施されているその規格により定められた)にしたがってコードセグメント(たとえば、データパケット)中の情報ビットを受取ってインターリーブする。
各構成エンコーダ212は線形順序またはインターリーブされた情報ビットを受取り、受取られた情報ビットを規定された構成コードで符号化し、パリティビットのシーケンスを提供する。パンクチュアラおよびマルチプレクサ216は情報ビットおよびパリティビットを両方の構成エンコーダ212aおよび212bから受取り、所望の数のビットを得るためにゼロまたは多くのパリティビットをパンクチャし(すなわち、削除し)、パンクチャされていない情報およびパリティビットをコード化されたビットのシーケンスに多重化する。パンクチャされる代りに、ゼロまたは多くのコード化されたビットが繰返されてもよい。しかしながら、簡明化のために、パンクチュアラおよびマルチプレクサ216は一般原理を損なわずに必要に応じてパンクチャおよび、または反復を行うことができる。
図2に示されている実施形態において、各構成エンコーダ212には、3個の直列接続された遅延素子222と、4個のモジュロ2(2を法とする)加算器224と、およびスイッチ226とが含まれている。最初に、遅延素子222の状態はゼロに設定されており、スイッチ226は上方の位置である。その後、コードセグメント中の各情報ビットに対して、加算器224aは情報ビットxと加算器224dからの出力ビットのモジュロ2加算を行い、その結果を遅延素子222aに供給する。加算器224bおよび224cは加算器224aならびに遅延素子222aおよび222cからビットのモジュロ2加算を受取ってパリティビットyを供給する。加算器224dは、遅延素子222bおよび222cからのビットのモジュロ2加算を行なう。
コードセグメント中のNBの情報ビット全てが符号化された後、スイッチ226は下方の位置に移動され、3つのゼロ(“0”)のテールビットは構成エンコーダ212aに供給される。その後、構成エンコーダ212aは3つのテールビットを符号化し、6つのテールパリティビットを供給する。
Bの情報ビットの各セグメントに対して、構成エンコーダ212aはNBのパリティビットおよび最初の6つのテールパリティビットy1を供給し、構成エンコーダ212bはNBのパリティビットおよび最後の6つのテールパリティビットy2を供給する。各セグメントに対して、パンクチュアラおよびマルチプレクサ216はNBの情報ビットxと、NB+6のパリティビットy1とをエンコーダ212aから受取り、NB+6のパリティビットy2をエンコーダ212bから受取る。パンクチュアラおよびマルチプレクサ216はいくつかのパリティビットをパンクチャ(すなわち、削除)して必要とされる数のコード化されたビットを提供することができ、このコード化されたビットにはパンクチャされていない情報およびパリティビットが含まれる。
ターボエンコーダ200によって供給された情報およびパリティビットのシーケンス(またはベクトル)Xは次のように表されてもよい:
Figure 0004191598
再び、これらのビットの全てまたはサブセットは送信装置110から受信装置150に送信されることができる。
送信されるべき各ビットに対して、ビットがゼロ(“0”)である場合は値Aが送信され、ビットが“1”である場合には値−Aが送信される。送信された各ビットはチャンネル雑音、送信装置および受信装置の両方におけるそのビットに関するアナログおよびデジタル信号処理、ならびにその他の現象によって歪を与えられる。受信装置において受取られたビットのシーケンスは、次のように表されてもよい:
V={v123・・・v3N}, 式(1)
ここでVは、テールビットに対応したものおよびN=NB+4を含む受取られたビットのシーケンス全体である。シーケンスV中の受取られた各ビットvkは次のように表される:
Figure 0004191598
ここで、
Z={z123・・・z3N}は、静的シナリオ中にノーマルユニット(normal unit)を有する独立して等しく分散された(iid)ランダムな変数のベクトルであり、
kは受取られたビットに対する振幅であり、典型的にAに等しく、
σkは受取られたビットに対するランダムな変数zkの、チャンネル雑音による標準偏差であり、k=1,2,・・・3Nに対してσk=σとして近似されることができる。
同じビットに対応したシンボルの適切な累算後のフェーディング条件下あるいは反復条件下においては、受信された信号振幅は送信された信号振幅と異なる可能性がある。
図3は、受信装置におけるRXデータプロセッサ156内の処理の一部を象徴的に示すブロック図である。受信された信号は最初に受信機154によって調整され、デジタル化され、デジタル的に処理されて(たとえば、濾波され、デスプレッドされ、デカバーされる等)、受信された各ビットvkに対する“ソフト”値を提供する。受信されたビットvkに対するソフト値は、デジタル信号処理後の分解能の多くの(たとえば、16)ビットを有していてもよい。多くのデコーダ構成に対して、受信された各ビットに対してこの分解能の多くのビットを記憶することは実際的ではなく、あるいは必要ない。とくに、ビットのコードセグメント全体はターボ復号のために記憶される必要があるため、復号されるコードセグメント中の各ビットに対する分解能の多数のビットを記憶するために非常に大型の記憶装置が必要とされる。
記憶要求を減少させるために、受取られたビットV={v123・・・v3N}は、乗算装置312を介してスケーリング係数のシーケンスS={s123・・・s3N}によって有効にスケールされる。受信された各ビットvkに対して1つのスケーリング係数が与えられてもよく、このスケーリングはシーケンスVに対してエレメント単位で行われてもよい。その後、スケールされたビットは量子化装置314により量子化され、デコーダ入力ビットU={u123・・・u3N}を提供する。したがって、ターボデコーダへの入力ビットukは受信されたビットvkのスケールされて量子化された変形であり、減少された分解能(たとえば、4,5,6またはある別の数のビットの)を有する。
スケーリング係数skは、受信されたビットvk中の情報が十分に表わされると共に量子化された出力uk中の適切な範囲内にあるように選択される。スケーリング係数が大き過ぎた場合、スケールされたビットのクリッピングが量子化期間中に発生し、その結果生じたクリッピング雑音が復号性能を低下させる可能性が高い。また、スケーリング係数が小さ過ぎた場合、スケールされたビットの信号振幅は量子化雑音に関して小さくなり、復号性能もまた低下する。
特定のコード化されたビットに対して多くのビット(すなわち、コード化されたビットに対して反復されたビット)が受信された場合、これらの反復されたビットに対して受信装置で相補的な処理が行われる。コードビットに対応した反復されたビットは最初に、平均を超えた分散がこのコードビットに対する全てのシンボルに対して一定になるようにスケールされ、その後、スケールされたビットは、そのコードビットに対して1つのシンボルを得るために共に加算される。コード化されたビットが送信装置においてパンクチャされた場合、ゼロ(“0”)のソフトシンボル(すなわち、消去)がパンクチャされたビットの代りに挿入されるので、優先度はa+1(ビット“0”)にもa−1(ビット“1”)にも与えられない。
ターボデコーダ316は入力ビットukおよびその入力ビットのスケールに関する追加情報を受取る。その後、ターボデコーダ316は、スケール情報を使用して入力ビットukを復号し、復号されたビットの候補シーケンスを提供する。ポストプロセッサ318はさらに復号されたビットを処理して、復号された結果の品質を示すことができる。たとえば、ポストプロセッサ318は、CRCビットが送信されたコードセグメント中に含まれている場合には、復号された結果のCRCチェックを行なうことができる。その復号された結果に対しては、以下に説明するように別の性能計量もまた評価され、復号性能の別の表示を提供することができる。
図4は、ターボデコーダ316に対する特定の設計のブロック図である。この設計において、ターボデコーダ316は2個の構成デコーダ410aおよび410bと、コードインターリーバ412と、コードデインターリーバ414と、および検出器416とを含んでいる。各構成デコーダ410は典型的に、コードシーケンスのビットエラーの最小化を試みるソフト入力/ソフト出力(SISO)最大経験的(MAP)デコーダとして構成される。しかしながら、ソフト出力ヴィタビ(Viterbi)アルゴリズム(SOVA)を実施するデコーダのような別のタイプのデコーダもまた使用されることができる。
MAPデコーダは典型的に入力ビットukのログ尤度比(LLR)で動作し、この入力ビットukは量子化された情報およびパリティビットを含み、次のように表されることができる:
Figure 0004191598
時間kにおける入力ビットxkのLLRは次のように計算されることができる:
LLR(xk)=log[Pr(xk=1|U)/Pr(xk=0|U)] 式(3)
入力ビットxkのLLRは、1(“1”)であるビットの確率に対するその受信されたシーケンスUを与えられたゼロ(“0”)であるビットの確率の比の対数である。各入力ビットに対するこの確率Pr(xk=0|U)およびPr(xk=1|U)は、復号されたコードセグメントとして受信されたそのビットおよびそのビットシーケンスに対するソフト値に基づいている。消去(すなわち、パンクチャされたビット)に対するLLRは、ゼロまたは1であるビットにおける等しい信頼度を示している(すなわち、LLR=0)。
図4に示されている実施形態において、加算装置408aはLLR(APP0)、
Figure 0004191598
および、デインターリーバ414からのエキストリンシック情報を受取って加算し、デコーダ410aにアプリオリ確率(APP)を供給する。LLR(APP0)は、情報ビットの基礎をなす仮定から得られたログ尤度比である。コードセグメント中の各情報ビットがゼロ(“0”)または“1”のいずれかであることの可能性が同じとするならば、LLR(APP0)はコードセグメント中の全てのビットに対してゼロに等しく、LLR(APP0)に関連した部分はどれでも無視される。デインターリーバ414からのエキストリンシック情報は、最初の復号反復に対してはゼロに設定される。
Figure 0004191598
は受取られた情報ビット:
Figure 0004191598
のログ尤度比である。
デコーダ410aは加算装置408aからAPPを受取ると共に、第1の構成エンコーダから受取られたパリティビット:
Figure 0004191598
のLLRである
Figure 0004191598
を受取る。
Figure 0004191598
には、パンクチャされた(すなわち、送信されていない)パリティビットがあれば、それに対する消去が含まれる。その後、デコーダ410aはMAPアルゴリズムに基づいてAPPおよび
Figure 0004191598
を復号して経験的確率を生成する。その後、APPが加算装置408bにより経験的確率から減算されてエキストリンシック情報ek 1を提供し、このエキストリンシック情報はパリティビット:
Figure 0004191598
の影響を受けた情報ビット:
Figure 0004191598
に対する値の信頼度の補正/調節を示す。
加算装置408bからのエキストリンシック情報ek 1は、情報ビットLLR、
Figure 0004191598
と加算され、中間結果(次のデコーダに対するAPPである)はコードインターリーバ412に記憶される。コードインターリーバ412はターボエンコーダで使用された同じコードインターリーブ方式を実施する(たとえば、同じ方式が図2のコードインターリーバ214に対して使用される)。
デコーダ410bはインターリーバ412からのインターリーブされたAPPと、第2の構成エンコーダから受取られたパリティビット:
Figure 0004191598
のLLRである
Figure 0004191598
とを受取る。その後、デコーダ410bはMAPアルゴリズムにしたがってAPPおよび
Figure 0004191598
を復号して経験的確率を生成する。その後、APPが加算装置408dにより経験的確率から減算されてエキストリンシック情報ek 2を提供し、このエキストリンシック情報は、受信されたパリティビット:
Figure 0004191598
の影響を受けた情報ビット:
Figure 0004191598
に対する値の信頼度のさらに別の補正/調節を示す。このエキストリンシック情報ek 2はデコーダ410bからの中間結果を含んでおり、この中間結果はコードのデインターリーバ414に記憶される。デインターリーバ414は、インターリーバ412に対して使用されたインターリーブ方式と相補的なデインターリーブ方式を実行する。
情報ビットLLRの復号は、多数回(たとえば、12,16,20または、おそらく、それより多くの回数)繰返される。各反復により、情報ビットの検出された値に対して高い信頼度が得られる。最終的なLLRは、全ての復号反復が終了した後に検出器418に与えられ、それによって受信された情報ビットに対するハード決定値(すなわち、“0”または“1”)がそれらのLLRに基づいて提供される。
各MAPデコーダ410は次のように表されることができる尤度比λkの計算を行なう:
λk=Pr(xk=1|U)/Pr(xk=0|U) 式(4)
ここでxkは、時間kにおけるエンコーダへの知られていない(および検出されることとなる)入力ビットであり、Uはデコーダに入力されたシンボルのシーケンス(すなわち、受信された情報およびスケーリングおよび量子化後のパリティビット)である。尤度比λkは、受信されたシーケンスUを与えられた0であるビットxkの尤度に対する受信されたシーケンスUを与えられた1であるビットxkの尤度を表す。
尤度比λkはまた次のように表されることができる:
Figure 0004191598
ここで、αk mはトレリス(trellis)状態mに対する時間kにおける順方向の状態計量(すなわち、時間kにおけるトレリス状態がmであると仮定したときの時間kまでに受取られたベクトルの確率)を表し、
βk+1 f(i,m)はトレリス状態mに対する時間kにおける逆方向の状態計量(すなわち、時間kにおける次のトレリス状態がf(i,m)であると仮定したときの時間kからそのトレリスの終りまでに受取られたベクトルの確率)を表し、ここでf(i,m)は入力iおよび現在の状態mを与えられた次の状態を表し、
δk i,mは状態mおよび入力iに対する時間kにおけるブランチ計量である。
式(5)における2つの加算は全てのエンコーダ状態に対して行われる。
図5のAおよびBは、順方向および逆方向状態計量計算をそれぞれグラフで表している。順方向状態計量は以下のように反復的に計算されることができる:
Figure 0004191598
ここで、b(i,m)は、入力iに対応したブランチが状態mに移行した前の時間インデックスk−1における状態である。逆方向状態計量もまた以下のように反復的に計算されることができる:
Figure 0004191598
上記の式(5)乃至(7)によって示されているように、MAPアルゴリズムは、ハードウェアでは容易に行われないいくつかの乗算を行う。しかしながら、このアルゴリズムは、その項の対数(または負の対数)を取ることによってログドメインに変換されることができる。ログドメインにおいては、2つの項の乗算は比較的簡単な加算に変換され、それはmin*関数によって行われることができる。このmin*関数は、次のように表されることができる:
min*(a,b)=−ln(e-a+e-b)=min(a,b)+p(g) 式(8)
ここで、p(g)は補正項であり、次のように表されることができる:
p(g)=−ln(1+e-g
ここで、g=−|a−b|である。
ログドメインにおいて、上述された項は、次のように定義されることができる:
k=−ln(λk
k m=−ln(αk m) 式(9)
k m=−ln(βk m
k i,m=−ln(δk i,m
それ故、MAPアルゴリズムに対する計算は次のように表されることができる:
Figure 0004191598
ここで、cn,i,mは、入力ビットiおよび状態mを仮定したときのパリティビットnに対するパリティ仮説である。式(13)において、2つのmin*関数はそれぞれ、式(5)における加算と同様に、全ての可能な状態mに対して動作する。
MAPアルゴリズムに対する上記の式の導出は、技術的によく知られている。このような導出は、この明細書にでは参考文献とされているSteven S. Pietrobon氏による論文(“Implementation and Performance of a Turbo/Map Decoder,”International Journal of Satellite Communications,Vol.16,1988,pp.23-46,)に記載されている。
min*関数は、この関数に与えられた入力aおよびbのスケール情報に依存する。式(2)に示されている受取られたビットvkのシーケンスに対して、スケールされたビットは次のように表されることができる:
Figure 0004191598
スケールされたビットの平均に対する分散比は次のように表されることができる:
Figure 0004191598
ここで、wkは、MAPデコーダへの入力ビットukの“スケール”を表す。スケーリング係数skは典型的に、スケールされた全てのビットukに対する品質skσk 2/Akがほぼ等しくなるように(すなわち、所定のコードセグメントに対してwk=w)、コードセグメント中の受取られた各ビットvkに対して選択される。適切なスケーリング係数を評価する(あるいは予め測定する)ために種々の技術が使用されることができる。これらの技術はMAPデコーダに関連したものであってもよいし、あるいは
ターボデコーダの前の復号計量の組合せのある別の粗雑な形式であってもよい。
受取られたビットvkの分散σk 2および振幅Akが知られている場合、スケーリング係数skは、量子化されたビットuk(min*関数への入力aおよびbとして使用された)が絶対値でそれらの平均の2倍の分散を有する、すなわち、skσk 2/Ak=2となるように、σk 2、Akおよび量子化分解能の関数として選択されることができる。この場合、min*関数に対する関数p(g)は簡単に次のように表されることができる:
P(g)=−ln(1+e-g) 式(14a)
しかしながら、スケーリング係数skがskσk 2/Ak≠2となるようなものである場合、関数p(g)は次のようなさらに一般化された形で表されることができる:
P(g,w)=−0.5w・ln(1+e-g/(0.5w)) 式(14b)
式(14b)から認められるように、スケール情報はmin*関数に対する関数p(g,w)を正確に評価することが必要とされる。
あるMAPデコーダ構成においては、式(14b)に示されている関数p(g,w)は、min*関数の評価を促進することのできるルックアップテーブルにより実施される。1組のルックアップテーブルが1組のスケール値wに対して設けられてもよい。たとえば、w=0,3,6,9および12の5つの値に対して5つのルックアップテーブルが設けられることができる。スケールに対する値w(σk 2、Akに対する評価された、あるいは知られている値と、量子化後のビットの数とに基づいて決定されてもよい)に応じて、関数p(g,w)を評価するために適切なルックアップテーブルが使用される。たとえば、w=12に対するルックアップテーブルは、入力ビットukが6ビットに適切にスケールされて量子化されたときの使用のために設計され、w=6に対するルックアップテーブルは、入力ビットukが5ビットに適切にスケールされて量子化されたときの使用のために設計され、w=3に対するルックアップテーブルは、入力ビットukが4ビットに適切にスケールされて量子化されたときの使用のために設計されてもよい。
多くの例において、受取られたビットの分散σk 2および振幅Akは知られない。その代り、これらの量は、たとえば、データ送信に対して使用されるビットレート等の種々のシステムパラメータに基づいて評価されてもよい。その後、スケールwに対する所望の値が得られるように、このシステムパラメータ(および、必らずしもそれに限らないが、スケーリングまたは雑音)に基づいてスケーリング係数skが選択される。しかしながら、受取られたビットに対する実際のスケーリングが1以上の理由(フェーディング、電力制御、セル構成等のような)のために所望のスケーリングから逸れた場合には、関数p(g,w)を評価するために間違ったルックアップテーブル(すなわち、間違ったスケール値)が使用されるために、MAPデコーダの性能は低下する。
本発明の特徴は、受取られたビットに対するスケール情報が知られていないときにターボデコーダの性能を改善する技術を提供することである。一般に、復号される所定のコードセグメント(たとえば、データパケット)に対して、いくつかの仮説が形成される。各仮説hは、スケーリング係数の仮説を設けられたシーケンスShおよび仮説を設けられたスケールwhに対応している。その後、コードセグメントは、形成された各仮説にしたがって復号され、各仮説に対する復号された結果が1以上の性能計量に基づいて評価される。全ての仮説に対する性能が比較され、性能計量により決定された“最良の”復号された結果を提供した特定の仮説がコードセグメントに対して使用される。ここに記載されている技術を使用することにより、利用可能な復号性能は理論上の限界に近づくことがシミュレーションにより示されており、ここで、理論上の限界は、たとえば、ルックアップテーブルが生成されるスケールwに対する量子化された値等により制限されてもよい。たとえば、w=0,3,6,9および12のスケール値に対して5つのルックアップテーブルが設けられた場合、復号性能はスケールwに対するこれらの量子化された値によって制限されてもよい。
図6は、本発明の特徴にしたがってコードセグメントをターボ復号するプロセスのフロー図である。最初に、ステップ612においてコードセグメントに対するいくつかの仮説が形成され、各仮説hはスケーリング係数の特定のシーケンスShおよび特定のスケール選択whに対応している。形成される仮説の特定の数は、たとえば、コードセグメントを復号するために利用可能な時間の量、σk 2およびAkの最初の評価における信頼度等の種々の考慮事項に依存する。
その後、ステップ614において、評価されていない仮設が評価のために選択される。評価の最初の部分において、ステップ616でコードセグメントがその選択された仮説(すなわち、特定のShおよびwh)にしたがってターボ復号される。これは、復号されたビットの候補シーケンスを提供するために受取られたビットをスケーリング係数のシーケンスShでスケールし、そのスケールされたビットを分解能の必要とされる数のビット(たとえば、σk 2、AkおよびShによって決定される)に量子化し、その量子化されたビットをスケール選択whで復号する(たとえば、whの特定の値に対するルックアップテーブルを使用して)ことを必然的に伴なってもよい。その後、ステップ618において、1以上の性能計量を使用してその仮説に対する復号された結果の品質が決定され、これについて以下説明する。
その後、ステップ620において、現在の仮説に基づいたコードセグメントに対する復号された結果がこれまでの最良のものであるか否かが決定される。この仮説がこれまでの最良である場合、ステップ622において、性能計量は後で比較されるために記憶される。仮説値(たとえば、スケーリング係数シーケンスShおよびスケールwh)、復号された結果のような別の情報もまた記憶されてもよい。その後、プロセスはステップ624に進む。そうではなく、現在の仮説が最良のものではない場合、プロセスは単にステップ620からステップ624に進む。
ステップ624において、全ての仮説が評価された否かが決定される。答えがノーならば、プロセスはステップ614に戻り、別の評価されていない仮説が評価のために選択される。そうでなく、全ての仮説が評価されている場合、プロセスはステップ626に進み、最良の仮説に対する復号された結果が提供される。その後、プロセスは終了する。
図6に示されている復号方式は、受取られたビットに対するスケーリング情報が知られていないときに使用されることのできる一般的な形態を表している。多くの実際の構成においては、評価されることのできる仮説の数は、種々の考慮事項によって制限される可能性がある。たとえば、コードセグメントを復号するために利用可能な時間期間が制限され、そのために評価されることのできる仮説の数が制限される可能性がある。min*関数が1組のルックアップテーブルにより評価された場合、スケールwに対する可能な値もまた制限される。たとえば、w=0,3,6,9および12に対して5つのルックアップテーブルが設けられることができるが、その場合スケールwはこれら5つの値に制限される。図6に示されている復号方式への種々の変化が本発明の技術的範囲内で考えられる。これら復号方式のいくつかを以下に説明する。
図7は、本発明の別の実施形態によるターボ復号方式のフロー図である。この復号方式は、スケーリング係数の同じシーケンスSおよび異なったスケール選択wによりいくつかの仮説を評価する。最初に、ステップ710において、ある基準(たとえば、σk 2およびAkに対する評価された値、コードセグメントのデータレート等)に基づいて、スケーリング係数の特定のシーケンスSが選択される。その後、コードセグメント中の受取られたビットvkは選択されたスケーリング係数にしたがってスケールされ、所望の数のビット(たとえば、評価されたσk 2およびAkおよび選択されたSに基づいて決定される)に量子化されて入力ビットukを形成し、これは後に記憶装置中に記憶される。ステップ712では、評価のために1組のスケール値whもまた選択される。これらのスケール値は、種々の基準(たとえば、σk 2およびAkに対する評価された値、選択されたS、復号するために利用可能な時間期間等)に基づいて選択されてもよい。たとえば、全てのルックアップテーブルに対するスケール値(たとえば、wh=0,3,6,9および12)が評価のために選択されてもよい。
その後、ステップ714において、評価されていないスケール値whが評価のために選択される。次に、ステップ716において、コードセグメントがその選択された仮説(すなわち、特定のスケール値wh)にしたがってターボ復号される。これは、復号されたビットの候補シーケンスを提供するためにそのコードセグメントに対する入力ビットukを記憶装置から検索し、そのビットをスケール選択whで復号する(たとえば、whに対するルックアップテーブルを使用して)ことを必然的に伴なってもよい。その後、ステップ718において、復号された結果の品質は1以上の性能計量に基づいて決定される。ステップ720、722、724および726における残りの処理は、図6のステップ620、622、624および626に対するものにそれぞれ類似している。
このようにして、図7に示されている復号方式は、特定のシーケンスSおよび1組のスケール選択whに基づいてコードセグメントを復号し、性能計量により決定された最良のスケール選択に対応した復号された結果を提供する。
別のターボ復号方式では、コードセグメントは、特定のスケール選択wおよびスケーリング係数の異なったシーケンスShにより形成されたいくつかの仮説にしたがって復号される。たとえば、スケーリング係数のシーケンスShはS0、2S0、S0/2等として選択されてもよい。最初に、コードセグメント中の受取られたビットvkが記憶装置に記憶される。評価される各仮説に対して、入力ビットukを得るためにコードセグメント中の受取られたビットvkが記憶装置から検索され、評価されている仮説に対してスケーリング係数のシーケンスShにしたがってスケールされて、所望の数のビットに量子化される。
その後、スケールwにしたがって入力ビットukがターボ復号され、復号されたビットの候補セグメントを生成する。再び、復号された結果の品質は1以上の性能計量に基づいて決定される。スケーリング係数の別のシーケンスShに対する別の仮説もまた同様に評価される。その後、性能計量により決定された最良のシーケンスShに対応した復号された結果は、ターボデコーダ出力として供給される。
上記のターボ復号方式に対しては、ターボデコーダに対する入力ビットukを得るために、受取られたビットvkに関して異なったスケーリングが行われる。受取られた各ビットvkは分解の多くのビット(たとえば、16ビット)を有している可能性があるので、受取られたビットのコードシーケンス全体を記憶する記憶要求が大きくなる可能性がある。
記憶要求を減少させるために、受取られたビットvkは連続してスケールされ、量子化されて評価され、最大スケーリング係数のシーケンスによりスタートしてもよい。たとえば、選択されたシーケンスがS0、2S0およびS0/2である場合、受取られたビットvは最初に2S0によってスケールされ、その最初の仮説に対して記憶されることができる。次の仮説に対して、その記憶されたビットが検索され、0.5倍に再びスケールされ(S0を得るために)、量子化されて評価される。そして第3の仮説に対しては、記憶されたビットが検索され、さらに0.5倍に再びスケールされ(S0/2を得るために)、量子化されて評価される。このようにして、記憶要求は最大スケーリング係数に対して必要とされる記憶サイズに減少される。しかしながら、連続したスケーリングおよび量子化は典型的に量子化雑音の量を増加させ、復号性能を低下させる可能性がある。
さらに別のターボ復号方式において、コードセグメントは、スケーリング係数の特定のシーケンスSおよび種々のスケール値whにより形成されたいくつかの仮説にしたがって復号される。最初に、コードセグメント中の受取られたビットvkがスケールされて量子化され、入力ビットukとして記憶装置に記憶される。評価される各仮説に対して、コードセグメント中の入力ビットukが記憶装置から検索され、スケール値whにしたがってその仮説に対して再び評価される。
しかしながら、この復号方式に対して、各仮説に対して実行される反復数が少ない。たとえば、コードセグメントを完全に復号するために通常必要とされる可能性のある15,17または19の代りに、3,5またはある別の数の反復が各仮説に対して行われてもよい。各仮説に対する少ない反復数は、所定量の時間に対して多くの仮説が評価されることを可能にする。各仮説に対して、復号結果の品質は、1以上の性能計量に基づいて評価される。したがって、コードセグメントを完全に復号するために最良の性能による仮説が使用され、これはその後ターボデコーダ出力として供給される。
ここに記載されているターボ復号方式の種々の変形もまた実施されてもよく、それは本発明の技術的範囲内にある。一般に、任意の数の仮説が評価されてもよく、各仮説はパラメータ(たとえば、スケーリング係数のシーケンスおよび、またはスケール)の任意のセットに対する値の任意の特定のセットを含んでいる。さらに、各仮説は種々の方法で(たとえば、部分的または完全な復号で)評価されてもよい。
性能計量
上述したように、復号された結果の品質を決定するために種々の性能計量が使用されることができる。これらの計量には、(1)CRCチェック、(2)候補シーケンス中の復号されたビットに対する最小または平均LLR、(3)復号されたセグメントが宣言されたときに完了される反復の数、(4)相関計量、(5)再度符号化されたエネルギ、および(6)再度符号化されたビットエラーレート(BER)が含まれる。以下、これらの計量を説明する。
コードセグメントは、復号された結果をチェックするために使用されることのできるCRCビットを含んでいる可能性がある。CRCチェックがパスした場合、コードセグメントがエラー無しに復号されている可能性が高い。多くの仮説に対する多くの候補シーケンスがCRCチェックにパスした場合には、そのシーケンスの1つが選択されることができる(たとえば、任意に、ある基準または別のある計量により)。
候補シーケンス(最終的な反復後の)中の復号されたビット間の最小または平均LLRが性能計量として使用されてもよい。いくつかの適用において、受取られたコードシーケンス中の情報ビットの任意の1つにエラーがある場合、コードシーケンスは許容不可能と考えられる可能性がある。また、別のいくつかの適用においては、コードシーケンス中の少数の情報ビットに対するエラーは許容可能である可能性がある。したがって、適用の要求に応じて、最悪のLLR(すなわち、最小の大きさを有するLLR)またはいくつかの悪いLLRが、復号されたセグメントの品質の表示として使用されてもよい。いくつかの悪いLLRの平均はまた性能計量として使用されてもよい。
ターボ復号は典型的に、復号されたセグメントを宣言する前に第1および第2の構成デコーダにより多数回(たとえば、12,16,20またはおそらくそれ以上の回数)反復される。構成デコーダによる各反復により、受取られた情報ビットの信頼度は増加し、漸近的に最終的な値に到達する。ターボデコーダは、コードセグメント中のビットに対するLLRが特定のしきい値を超えた場合に復号を終了するために復号プロセス中にチェックを使用してもよい。その代り、ターボデコーダは組込まれたエラー検出機能(たとえば、CRCチェック)を使用して、復号が成功して許容最大反復数に達する前に終了することができるか否かを決定してもよい。これらの場合において、コードセグメントを復号するために行われる反復の数は性能計量として使用されることができる。
補正計量は、受取られた情報ビット:
Figure 0004191598
(スケーリングおよび量子化前または後のいずれの)と候補シーケンス中の復号されたビットbkの内積を行うことによって得られることができる。この内積は、受取られた情報ビットシーケンスにより要素単位で(すなわち、ビット単位で)候補シーケンスを乗算し、その乗算の結果得られた積を累算することにより行われることができる。累算された最終的な値は、2つのシーケンス間の相関を表す。この内積は、次のように表されることができる:
Figure 0004191598
相関計量Meに対する高い値は、受取られたビットと復号されたビットとの間における高度の相関を示す。反対に、相関計量に対する低い値は、復号されたビット中のエラーおよび、または受取られたビットに対する低い値を示す。したがって、相関計量に対する高い値は、高品質の復号結果に対応する。
受取られたおよび復号されたビットのパワー間の相関もまた計算されることができる。この場合、各受取られた情報ビットおよび各復号されたビットが最初に二乗される。その後、二乗された復号されたビットおよび二乗された受取られた情報ビットのベクトルに関して内積が行われる。
再度符号化された相関計量に対しては、復号されたセグメント中の復号されたビットbkが最初に同じターボエンコーダによって再度符号化され、再度符号化されたビットrkを得るために送信装置において使用された同じパンクチャ方式によりパンクチャされる。その後、この再度符号化されたビットrkは、受取られたビットukまたはvkと相関される。しかしながら、その相関は、相関計量に対する場合のように受取られた情報に対してだけでなく、受取られた情報およびパリティビットの全てに対して行われる。再度符号化された相関計量に対する内積は、次のように表されることができる:
Figure 0004191598
上述された相関計量と同様に、再度符号化された相関計量Mreに対する高い値は、高品質の復号結果に対応する。再度符号化された相関計量は相関計量より正確であることもある。これは、受取られた情報およびパリティビットの全て(情報ビットだけでなく)が計量によって評価されるためである。
再度符号化されたビットエラーレートは、候補シーケンスを再度符号化して再度符号化されたビットをビット単位で受取られた情報およびパリティビット(ハード決定または2進値に変換されている)と比較することによって得られることができる。比較中に、再度符号化されたビットと受取られたビットとの間のエラーがカウントされる。その後、再度符号化されたBERは、比較された合計ビット数で除算されたビットエラーの数として決定される。再度符号化されたBERに対する低い値は、高品質の復号結果を表すものである。
上記の性能計量のいくつかは、本出願人にその権利が譲渡された米国特許第 6,175,590号明細書(“METHOD AND APPARATU FOR DETERMINING THE RATE OF DATA IN A VARIABLE RATE COMMUNICATION SYSTEM,”2001年1月16日出願)にさらに詳細に記載されている。別の性能計量もまた本発明の技術的範囲内で使用されることができる。また、性能計量の任意の組合せが復号された結果の品質決定に使用されることができる。
図8は、本発明の1実施形態によるターボデコーダ800のブロック図である。ターボデコーダ800は図3および4のターボデコーダ316の1つの特定の構成である。この実施形態においては、ターボデコーダ800はローカルメモリ/結合装置808と、MAPデコーダ810と、検出装置812と、ルックアップテーブル814と、性能計量計算装置816と、記憶装置820と、およびアドレス発生装置830とを備えている。再び図4を参照とすると、2つの構成デコーダ410aおよび410bは直列に動作され、一方のデコーダからのエキストリンシック情報が他方のデコーダへの入力として供給される。2つの構成デコーダは直列に動作されるので、両構成デコーダを構成するために使用されるデコーダは1つ(物理的デコーダ)だけでよい。
スケーラ/量子化装置806は受信ビットvkを受取って、スケーリング係数のシーケンスSでスケールし、そのスケールされたビットを量子化し、量子化されたビットukをローカルメモリ/結合装置808に供給する。受取られたビットは、それがターボデコーダ800に供給される前に別の装置(たとえば、チャンネルインターリーバ)によって送信装置でパンクチャされていた場合には、デパンクチャ(de-puncture)されてもよい。デパンクチャは、コードセグメント中のパンクチャされた各ビットに対して消去を実施することにより行われ、この消去はビットがゼロまたは1である可能性が同じであることを示す。あるいは、同じビットに対応した受取られたシンボルは、そのビットが反復されていたならば、適切なやり方で組合せられてもよい。
行われている特定の復号反復(すなわち、第1または第2の構成エンコーダに対する復号)に応じて、情報およびパリティビットの適切なシーケンスがローカルメモリ/結合装置808に供給される。前の復号反復から得られたAPPもまたAPP記憶装置820からローカルメモリ/結合装置808に供給される。1実施形態において、ローカルメモリ/結合装置808は、(1)情報ビット:
Figure 0004191598
を受取って、これらのビットに対するLLR:
Figure 0004191598
を計算し、(2)ステップ(1)において計算された
Figure 0004191598
を対応したエキストリンシック情報と組合せてAPPを生成し、(3)パリティビット:
Figure 0004191598
を受取って、これらのビットに対するLLR:
Figure 0004191598
を計算するように設計される。
1実施形態において、ローカルメモリ/結合装置808は、たとえば、情報およびパリティビット分の4つのウインドウを一時的に記憶するスライディングウインドウアーキテクチャ(SWA)を使用して構成される。情報およびパリティビットの3つのウインドウがMAPデコーダ810内の3状態計量計算装置により動作されているが、第4のウインドウが情報ビットに対する値および記憶装置820からのAPPにより更新される。1実施形態において、各ウインドウは32のサイズを有している。
すなわち、各ウインドウは、
Figure 0004191598
を有している。別のウインドウ長および、または異なった数のウインドウも本発明の技術的範囲内で使用されることができる。
1実施形態において、MAPデコーダ810は、ログMAPアルゴリズムを実行するSISOデコーダを構成する。MAPベースの復号アルゴリズム(たとえば、共に技術的に知られているmaxログMAPアルゴリズムまたはmax*ログMAPアルゴリズム)もまた使用されてもよい。1実施形態において、MAPアルゴリズムを実施するために、MAPデコーダ810は、1個の順方向状態計量計算装置および2個の逆方向状態計量計算装置とを備えている。各順方向(または逆方向)状態計量計算装置は、(1)前の(または将来の)時間インスタンスにおける状態の確率と、および(2)前の(または将来の)状態と現在時間の状態との間の通路の確率とに基づいて、所定の時間インスタンスkにおけるトレリス中の2K+1状態のそれぞれの確率の対数を計算し、ここでKは構成エンコーダの制約長である。その後、これらの順方向および逆方向の状態計量は、情報ビットに対する経験的確率を計算するために使用される。順方向および逆方向の状態計量計算は上記に説明されている。
ルックアップテーブル814は、順方向および逆方向の状態計量ならびにブランチ計量を上述したように計算するために使用されたmin*関数を促進するために使用されてもよい。異なったスケール値wに対して複数のルックアップテーブルが設けられてもよく、または使用される特定のルックアップテーブルがスケール選択(制御装置840によって提供されてもよい)によって決定されてもよい。
性能計量計算装置816は、復号結果の品質を決定するために使用されるある候補シーケンスに対する1以上の性能計量を計算するために使用されてもよい。性能計量計算装置816は、CRCチェックを行い、および、または最小または平均LLR、相関計量、再度符号化されたエネルギ、再度符号化されたBER、ある別の計量、あるいはその任意の組合せを決定することができる。
記憶装置820は復号反復からのAPPを記憶し、このAPPはその後次の復号反復のために使用される。APPは、アドレス発生装置830によって与えられた書込みおよび読取りアドレスにより指図された記憶装置820内の適切な位置に記憶され、この位置から検索される。アドレスは、送信装置においてコードセグメントを符号化するために使用されたインターリーブ方式にしたがってAPPが適切にインターリーブされ、デインターリーブされるように生成される。
制御装置840は、ターボデコーダ800の動作を指図することができる。制御装置840はあるコードセグメントに対していくつかの仮説を公式化し、そのコードセグメントに対して使用されるスケーリング係数およびスケール値を示す制御信号を供給することができる。制御装置840はさらに、仮説に対して計算された性能計量に対する値を受取り、仮説の1つを最良の仮説として選択することができる。その後、ターボデコーダ800から最良の仮説に対する復号されたビットが供給される。
以上、異なったスケール値wに対してmin*関数を構成するために1組のルックアップテーブルを使用するターボデコーダ設計に対して、復号技術の種々の特徴を説明してきた。しかしながら、これらの復号技術はルックアップテーブルの使用に制限されず、min*関数は、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組合せを含む別の手段を使用して評価されることができる。
ここに記載されている復号技術は、スケール情報が知られていないときにコードセグメントをターボ復号するために有効に使用されることができる。これらの技術は、cdma2000、W−CDMA、IS−856およびその他のようなターボ復号を使用する任意の通信システムに対して使用されてもよい。これらの技術はまた逆方向リンク(すなわち、アップリンク)だけでなく、順方向リンク(すなわち、ダウンリンク)でも使用されることができる。
スケーリング係数およびスケール値に加えて、別のパラメータがターボ復号のために調節されることができる(たとえば、反復回数、ウインドウサイズ、およびおそらくその他)。また、ここに記載されている技術はターボデコーダ以外の別のタイプのデコーダに適応されることができる。たとえば、スケーリング概念は、ヴィタビデコーダはwから独立しているために変数(スケーリング係数S)が1つしか存在しないことは別として、ヴィタビデコーダに適用されることができる。
この明細書に記載されているターボデコーダは、ハードウェア、ソフトウェア、ファームウェアまたはその組合せで構成されることができる。ハードウェア設計に対して、ターボデコーダはデジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、プロセッサ、マイクロプロセッサ、制御装置、マイクロ制御装置、フィールドプログラム可能なゲートアレイ(FPGA)、プログラム可能な論理装置、別の電子装置またはその組合せ内に構成されることができる。また、ソフトウェアまたはファームウェア設計に対しては、ターボデコーダは、プロセッサ(たとえば、図8中の制御装置840等)により実行されるコードにより構成されることができる。記憶装置およびルックアップテーブルはまた、たとえば、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、フレッシュメモリ他等の、種々のメモリ技術により構成されることができる。ターボデコーダおよび記憶装置の種々の構造および構成が本発明の技術的範囲内で可能である。
好ましい実施形態の上記の説明は、当業者が本発明を形成し、あるいは使用することを可能にするために示されている。これらの実施形態に対する種々の修正は、当業者に容易に明らかになり、ここに定められている一般原理は発明力を要することなく別の実施形態に適応されることができる。したがって、本発明はこの明細書に示されている実施形態に制限されるものではなく、ここに開示されている原理および新しい特徴に一致した広い技術範囲を与えられている。
本発明の種々の特徴および実施形態を実施することのできる通信システムの簡単なブロック図。 W−CDMA規格により規定されたターボエンコーダの概略図。 受信装置におけるRXデータプロセッサ内の処理の一部を象徴的に示すブロック図。 ターボデコーダの設計のブロック図。 MAPデコーダに対する順方向および逆方向状態計量計算をそれぞれグラフィックで表す概略図。 本発明の実施形態によるターボ復号方式に対するフロー図。 本発明の実施形態によるターボ復号方式に対するフロー図。 本発明の実施形態によるターボデコーダのブロック図。

Claims (17)

  1. コードセグメントに対する複数の仮説を形成し、それらの各仮説がコードセグメントを復号するために使用される1以上のパラメータのセットに対する1以上の値の特定のセットに対応しており、
    各仮説にしたがってコードセグメントを復号し、
    各仮説に対する復号された結果に対する1以上の性能計量を評価し、
    1以上の評価された性能計量に基づいた最良の復号された結果を有する特定の仮説を決定し、
    その最良の復号された結果を有する仮説に対して復号されたビットのシーケンスに与えるステップを含んでおり、
    復号は最大経験的 (a posteriori) (MAP)復号方式に基づいて行われ、
    MAP復号方式はコードセグメントを復号する関数を使用し、1以上のパラメータのセットはその関数に対する少なくとも1つのパラメータを含んでいるターボ符号化されたコードセグメントの復号方法。
  2. 復号は各仮説に対して特定の反復数で行われ、特定の反復数の終了後、各仮説に対して1以上の性能計量が評価される請求項1記載の方法。
  3. 特定の反復数は、コードセグメントを完全に復号するために必要とされる回数よりも少ない請求項2記載の方法。
  4. 関数はmin*関数である請求項記載の方法。
  5. 関数は、その関数パラメータに対する異なった値に対応したルックアップテーブルのセットにより部分的に構成されている請求項記載の方法。
  6. コードセグメントに対する複数の仮説を形成し、それらの各仮説がコードセグメントを復号するために使用される1以上のパラメータのセットに対する1以上の値の特定のセットに対応しており、
    各仮説にしたがってコードセグメントを復号し、
    各仮説に対する復号された結果に対する1以上の性能計量を評価し、
    1以上の評価された性能計量に基づいた最良の復号された結果を有する特定の仮説を決定し、
    その最良の復号された結果を有する仮説に対して復号されたビットのシーケンスに与えるステップを含んでおり、
    1以上のパラメータのセットは、コードセグメントに対して受取られたビットをスケールして復号されるべきビットを得るために使用されるスケーリング係数のシーケンスに対するパラメータを含んでおり、
    複数の仮説は、スケーリング係数の複数のシーケンスに対応しているターボ符号化されたコードセグメントの復号方法。
  7. 1以上のパラメータのセットは、関数を評価するために使用されたスケールに対するパラメータを含んでいる請求項記載の方法。
  8. 複数の仮説は、複数のスケール値に対応している請求項記載の方法。
  9. コードセグメントに対する複数の仮説を形成し、それらの各仮説がコードセグメントを復号するために使用される1以上のパラメータのセットに対する1以上の値の特定のセットに対応しており、
    各仮説にしたがってコードセグメントを復号し、
    各仮説に対する復号された結果に対する1以上の性能計量を評価し、
    1以上の評価された性能計量に基づいた最良の復号された結果を有する特定の仮説を決定し、
    その最良の復号された結果を有する仮説に対して復号されたビットのシーケンスに与えるステップを含んでおり、
    1以上のパラメータのセットは、コードセグメントに対して受取られたビットをスケールして復号されるべきビットを得るために使用されるスケーリング係数のシーケンスに対するパラメータを含んでおり、
    1以上のパラメータのセットはさらに、コードセグメントを復号する関数を評価するために使用されるスケールに対するパラメータを含んでおり、複数の仮説はスケーリング係数のシーケンスとスケール値の複数の組合せに対応しているターボ符号化されたコードセグメントの復号方法。
  10. 1以上の性能計量はCRCチェックを含んでいる請求項1記載の方法。
  11. 1以上の性能計量は相関計量を含んでいる請求項1記載の方法。
  12. 1以上の性能計量は再度符号化された相関計量を含んでいる請求項1記載の方法。
  13. 1以上の性能計量は復号されたビットの最小または平均のログ尤度比(LLR)を含んでいる請求項1記載の方法。
  14. コードセグメントに対する複数の仮説を形成し、各仮説がコードセグメントを復号するために使用される1以上のパラメータのセットに対する1以上の値の特定のセットに対応しており、
    最大経験的(MAP)復号方式に基づいて、各仮説にしたがってコードセグメントを復号し、
    各仮説に対する復号された結果に対する1以上の性能計量を評価し、
    1以上の評価された性能計量に基づいた最良の復号された結果を有する特定の仮説を決定し、
    その最良の復号された結果を有する仮説に対して復号されたビットのシーケンスに与えるステップを含んでおり、
    1以上のパラメータのセットは、MAP復号方式を実施するために使用されたmin*関数用のスケールに対するパラメータを含んでいるターボ符号化されたコードセグメントの復号方法。
  15. 特定の復号方式に基づいて、特定の仮説にしたがってコードセグメントに対するビットを受取って復号し、仮説に対する復号された結果を提供するように構成された構成デコーダと、
    仮説に対する復号された結果に対して1以上の性能計量を評価するように構成された性能計量計算装置と
    MAPデコーダに対して関数を構成するように構成された複数のルックアップテーブルとを具備しており、
    コードセグメントに対して複数の仮説が形成され、各仮説がコードセグメントを復号するために使用される1以上のパラメータのセットに対する1以上の値の特定のセットに対応し、構成デコーダおよび性能計量計算装置はコードセグメントに関して各仮説に対して動作し、
    構成デコーダは最大経験的(MAP)デコーダであり、
    各ルックアップテーブルは関数に対する特定のスケール値に対応しており、
    複数の仮説は、コードセグメントを復号するために使用される複数のスケール値に対応しているターボデコーダ。
  16. 複数のルックアップテーブルは、MAPデコーダに対してmin*関数を構成するように構成されている請求項15記載のターボデコーダ。
  17. 復号されるビットは、受取られたビットをスケーリング係数のシーケンスでスケールすることにより得られ、複数の仮説はスケーリング係数の複数のシーケンスに対応している請求項15記載のターボデコーダ。
JP2003509645A 2001-06-27 2002-06-26 多数のスケール選択を備えたターボデコーダ Expired - Fee Related JP4191598B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/893,046 US6885711B2 (en) 2001-06-27 2001-06-27 Turbo decoder with multiple scale selections
PCT/US2002/020345 WO2003003586A2 (en) 2001-06-27 2002-06-26 Turbo decoder with multiple scale selections

Publications (2)

Publication Number Publication Date
JP2005521269A JP2005521269A (ja) 2005-07-14
JP4191598B2 true JP4191598B2 (ja) 2008-12-03

Family

ID=25400933

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003509645A Expired - Fee Related JP4191598B2 (ja) 2001-06-27 2002-06-26 多数のスケール選択を備えたターボデコーダ

Country Status (6)

Country Link
US (1) US6885711B2 (ja)
EP (2) EP1410515A2 (ja)
JP (1) JP4191598B2 (ja)
KR (1) KR100941346B1 (ja)
CN (1) CN1539204B (ja)
WO (1) WO2003003586A2 (ja)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7236536B2 (en) * 2001-07-26 2007-06-26 Lucent Technologies Inc. Method and apparatus for detection and decoding of signals received from a linear propagation channel
FR2828359A1 (fr) * 2001-07-31 2003-02-07 Koninkl Philips Electronics Nv Emetteur, recepteur, procedes, programme et signal adaptes a des modulations a grand nombre d'etats
US6961921B2 (en) * 2001-09-06 2005-11-01 Interdigital Technology Corporation Pipeline architecture for maximum a posteriori (MAP) decoders
JP2003203435A (ja) * 2002-01-09 2003-07-18 Fujitsu Ltd データ再生装置
DE10207146A1 (de) * 2002-02-20 2003-08-28 Infineon Technologies Ag Hardware-Schaltung zur Punktierung und Wiederholungscodierung von Datenströmen und Verfahren zum Betrieb der Hardware-Schaltung
US7657822B2 (en) * 2002-05-31 2010-02-02 Broadcom Corporation True bit level decoding of TTCM (turbo trellis code modulation) of variable rates and signal constellations
JP4185314B2 (ja) * 2002-06-07 2008-11-26 富士通株式会社 情報記録再生装置、光ディスク装置及び、データ再生方法
JP3973026B2 (ja) * 2002-08-30 2007-09-05 富士通株式会社 復号装置、復号方法、及びその方法をプロセッサに行わせるプログラム
US7505534B1 (en) * 2002-11-04 2009-03-17 Nortel Networks Limited Method for determination of discontinuous transmission, frame erasure, and rate
US20070234178A1 (en) * 2003-02-26 2007-10-04 Qualcomm Incorporated Soft information scaling for interactive decoding
JP4224329B2 (ja) * 2003-03-25 2009-02-12 パナソニック株式会社 符号化装置および符号化方法
EP1521375A3 (en) * 2003-10-03 2005-04-13 Kabushiki Kaisha Toshiba Signal decoding methods and apparatus
US7451362B2 (en) * 2003-12-12 2008-11-11 Broadcom Corporation Method and system for onboard bit error rate (BER) estimation in a port bypass controller
US7228489B1 (en) * 2003-12-26 2007-06-05 Storage Technology Corporation Soft viterbi Reed-Solomon decoder
US7515658B2 (en) * 2004-06-29 2009-04-07 Stmicroelectronics Asia Pacific Pte. Ltd. Method to adaptively scale the input to a channel decoder
US7706481B2 (en) * 2004-08-20 2010-04-27 Broadcom Corporation Method and system for improving reception in wired and wireless receivers through redundancy and iterative processing
US7543197B2 (en) 2004-12-22 2009-06-02 Qualcomm Incorporated Pruned bit-reversal interleaver
US7515601B2 (en) * 2005-05-31 2009-04-07 Broadcom Corporation Turbo decoding module supporting state n metric value normalization operations
US7672256B2 (en) * 2005-08-29 2010-03-02 Interdigital Technology Corporation Wireless communication method and apparatus for generating a serving grant based on a received relative grant
US7861135B2 (en) * 2006-02-03 2010-12-28 Electronics And Telecommunications Research Institute Of Daejeon Low-complexity and low-power-consumption turbo decoder with variable scaling factor
KR100943606B1 (ko) * 2006-03-30 2010-02-24 삼성전자주식회사 디지털 통신 시스템에서 양자화 장치 및 방법
US7746961B2 (en) * 2006-04-11 2010-06-29 Telefonaktiebolaget L M Ericsson (Publ) Efficient detection of predetermined sequences
US8230306B2 (en) * 2006-06-01 2012-07-24 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus relating to channel decoding
US7533328B2 (en) * 2006-07-04 2009-05-12 Sandisk Il, Ltd. Method of error correction in a multi-bit-per-cell flash memory
KR100826558B1 (ko) 2006-08-31 2008-04-30 포스데이타 주식회사 디코딩 장치 및 방법
US20080092015A1 (en) * 2006-09-28 2008-04-17 Yigal Brandman Nonvolatile memory with adaptive operation
JP4709119B2 (ja) * 2006-10-13 2011-06-22 ルネサスエレクトロニクス株式会社 復号装置及び復号方法
US20080120530A1 (en) * 2006-11-22 2008-05-22 Yu-Min Chuang Transceiver puncture circuit of wireless communication system
US8483240B2 (en) * 2006-12-19 2013-07-09 Lockheed Martin Corporation Piggyback networks
US7885289B2 (en) * 2006-12-19 2011-02-08 Lockheed Martin Corporation System and method for relaying turbo-coded piggyback messages
US20090077457A1 (en) * 2007-09-19 2009-03-19 Rajaram Ramesh Iterative decoding of blocks with cyclic redundancy checks
US8127216B2 (en) 2007-11-19 2012-02-28 Seagate Technology Llc Reduced state soft output processing
US20090132894A1 (en) * 2007-11-19 2009-05-21 Seagate Technology Llc Soft Output Bit Threshold Error Correction
JP2010011119A (ja) * 2008-06-27 2010-01-14 Nec Electronics Corp 復号方法および復号装置
US8458536B2 (en) 2008-07-17 2013-06-04 Marvell World Trade Ltd. Data recovery in solid state memory devices
EP2202894B1 (en) 2008-12-23 2011-11-02 Ntt Docomo, Inc. Relay station for a mobile communication system
EP2202904B1 (en) * 2008-12-23 2013-10-02 Ntt Docomo, Inc. A relay station and a decoder
US8972254B2 (en) * 2011-06-28 2015-03-03 Utah State University Turbo processing for speech recognition with local-scale and broad-scale decoders
JP5696604B2 (ja) * 2011-06-30 2015-04-08 富士通株式会社 誤り訂正符号の復号装置、誤り訂正符号の復号方法及び基地局装置ならびに移動局装置
US20130170842A1 (en) * 2012-01-04 2013-07-04 Toshiaki Koike-Akino Method and System for Equalization and Decoding Received Signals Based on High-Order Statistics in Optical Communication Networks
JP2013236236A (ja) * 2012-05-08 2013-11-21 Fujitsu Ltd 量子化装置
US8977934B2 (en) * 2013-02-04 2015-03-10 National Tsing Hua University Method of early termination of channel decoding by re-encoding
JP6123436B2 (ja) 2013-04-04 2017-05-10 富士通株式会社 受信装置および復号方法
US9124403B2 (en) * 2013-04-30 2015-09-01 Qualcomm Incorporated Puncturing scheme based decoder optimizations
MA37600B1 (fr) * 2014-11-28 2017-05-31 Université Abdelmalek Essaâdi (Faculté Des Sciences De Tétouan) Procédé amélioré de décodage du turbo-code par utilisation d'une combinaison soft.
EP4135205A1 (en) * 2021-08-12 2023-02-15 Nokia Solutions and Networks Oy Apparatus and method for low density parity check code decoding
WO2023167453A1 (ko) * 2022-03-04 2023-09-07 삼성전자 주식회사 무선 통신 시스템에서 복호 장치 및 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6175590B1 (en) 1997-08-08 2001-01-16 Qualcomm Inc. Method and apparatus for determining the rate of received data in a variable rate communication system
KR100326157B1 (ko) * 1998-12-31 2002-07-03 윤종용 통신시스템에서반복디코더에대한양자화방법
US6208699B1 (en) * 1999-09-01 2001-03-27 Qualcomm Incorporated Method and apparatus for detecting zero rate frames in a communications system
US6393076B1 (en) * 2000-10-11 2002-05-21 Motorola, Inc. Decoding of turbo codes using data scaling
US8014473B2 (en) * 2001-01-26 2011-09-06 Qualcomm Incorporated Method and apparatus for detecting messages with unknown signaling characteristic

Also Published As

Publication number Publication date
WO2003003586A2 (en) 2003-01-09
CN1539204A (zh) 2004-10-20
US20030007577A1 (en) 2003-01-09
WO2003003586A3 (en) 2003-12-04
KR20040012976A (ko) 2004-02-11
US6885711B2 (en) 2005-04-26
EP1708368A3 (en) 2007-03-14
JP2005521269A (ja) 2005-07-14
EP1708368A2 (en) 2006-10-04
CN1539204B (zh) 2010-04-21
EP1410515A2 (en) 2004-04-21
KR100941346B1 (ko) 2010-02-11

Similar Documents

Publication Publication Date Title
JP4191598B2 (ja) 多数のスケール選択を備えたターボデコーダ
EP1383246B1 (en) Modified Max-LOG-MAP Decoder for Turbo Decoding
JP3610329B2 (ja) 大最小距離を用いたターボ符号化方法及びそれを実現するシステム
JP4709119B2 (ja) 復号装置及び復号方法
JP4194015B2 (ja) 通信システムおよび方法
US20020168033A1 (en) Turbo decoder
EP1480347A1 (en) Digital transmission method of the error-correcting coding type
US7886209B2 (en) Decoding device, decoding method, and receiving apparatus
US20090254792A1 (en) Hybrid decoding using multiple turbo decoders in parallel
US20020013922A1 (en) Digital transmission method of the error correcting coding type
EP1147611B1 (en) Quantization method for iterative decoder in communication system
US20030056167A1 (en) Look-up table addressing scheme
US7277508B2 (en) Method of decoding a turbo-code encoded signal in a receiver and corresponding receiver
US7634703B2 (en) Linear approximation of the max* operation for log-map decoding
US20030023919A1 (en) Stop iteration criterion for turbo decoding
US8996948B2 (en) Methods, systems, and apparatus for tail termination of turbo decoding
EP1587218B1 (en) Data receiving method and apparatus
US7770092B2 (en) Method for iterative decoding in a digital system and apparatus implementing the method
KR20040086872A (ko) 터보 복호기의 반복복호 횟수 제어장치 및 그 방법
M Shah et al. Performance analysis of turbo iterative decoder with EXIT chart
JP3514213B2 (ja) 直接連接畳込み符号器、及び、直接連接畳込み符号化方法
KR20090075039A (ko) 다중 사용자 통신시스템의 수신 장치 및 제어 방법
KR20020058757A (ko) 최대사후복호(map) 알고리즘을 이용한 복호 알고리즘

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050627

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070925

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071225

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080325

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

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

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

Free format text: PAYMENT UNTIL: 20110926

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees