JP5360218B2 - 送信機、符号化装置、受信機、及び、復号化装置 - Google Patents

送信機、符号化装置、受信機、及び、復号化装置 Download PDF

Info

Publication number
JP5360218B2
JP5360218B2 JP2011528542A JP2011528542A JP5360218B2 JP 5360218 B2 JP5360218 B2 JP 5360218B2 JP 2011528542 A JP2011528542 A JP 2011528542A JP 2011528542 A JP2011528542 A JP 2011528542A JP 5360218 B2 JP5360218 B2 JP 5360218B2
Authority
JP
Japan
Prior art keywords
unit
block
bit
reliability information
bits
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
JP2011528542A
Other languages
English (en)
Other versions
JPWO2011024260A1 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2011024260A1 publication Critical patent/JPWO2011024260A1/ja
Application granted granted Critical
Publication of JP5360218B2 publication Critical patent/JP5360218B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/098Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit using single parity bit
    • 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/296Particular turbo code structure
    • H03M13/2963Turbo-block codes, i.e. turbo codes based on block codes, e.g. turbo decoding of product 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
    • H03M13/296Particular turbo code structure
    • H03M13/2966Turbo codes concatenated with another code, e.g. an outer block 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing

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

【技術分野】
【0001】
本書でなされる開示は、誤り訂正の技術に関する。
【背景技術】
【0002】
周知のように、デジタル通信においては、送信機から送信されたビット列のうちの何れかのビットの符号が、その送信中に入れ替わってしまうことがある。この現象は、符号誤り(ビットエラー)と称されている。符号誤りを生じさせる種々の要因は、通信路上から完全に排除することができない。そこで、デジタル通信の信頼性の向上のため、送信機と受信機には、それぞれ、誤り訂正符号化器と誤り訂正復号化器が、備えられている。誤り訂正符号化器は、符号誤りを検出して訂正できるようにするための誤り訂正符号を生成する。これにより、誤り訂正復号器では、誤り訂正符号化されたビット列に符号誤りが生じていた場合にこの符号誤りを訂正する可能性を高めることができる。なお、誤り訂正符号は、送信機・受信機間のデジタル通信に限られず、様々なデジタル情報処理装置、例えば、デジタルデータの記録装置・再生装置などにも利用可能である。
【0003】
誤り訂正符号化器の一つに、ターボ符号化器がある。ターボ符号化では、組織ビット列と、第1の検査ビット列と、第2の検査ビット列とを含む組織的符号を生成する。ここで、組織ビット列とは、入力されたビット列そのものを言う。また、第1の検査ビット列は、例えば、入力されたビット列に対し、過去に入力されたビット列を加算することにより生成される再帰的畳み込み符号である。また、第2の検査ビット列は、例えば、入力されたビット列をインターリーブして得られるビット列に対し、過去にインターリーブして得られたビット列を加算することにより生成される再帰的畳み込み符号である。また、インターリーブとは、データレートを保持したままビット列を所定の手順でシャッフルすることを言う。
【0004】
また、誤り訂正復号化器の一つに、ターボ復号化器がある。ターボ復号化では、組織ビット列内の各ビットについて、ビットが「1」又は「0」であることについての高い信頼度をターボ処理によって獲得することにより、符号誤りのない組織ビット列を確定させる。ターボ処理では、例えば、2個の要素復号化器が外部値、すなわち、信頼性の増分を互
いに供給しながら軟判定復号を繰り返す。なお、軟判定復号を繰り返すことで受信ビット列から送信ビット列を推定する手順を採用する符号化・復号化方式としては、例えば低密度パリティ符号の復号方式が知られている。低密度パリティ符号は、LDPCとも称される。
【先行技術文献】
【0005】
【特許文献】
【特許文献1】特開2008−141756号公報
【特許文献2】特開2005−295192号公報
【特許文献3】特表2006−528848号公報
【特許文献4】特表2007−525102号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
LTE[Long Term Evolution]は、平成22年(西暦2010年)頃からの世界中で
のサービス開始に向けて、3GPP[Third Generation Partnership Project]の参加団体により策定された移動体通信の国際標準規格である。なお、LTEは、E−UTRA[Evolved Universal Terrestrial Radio Access]、E−UTRAN[Evolved Universal Terrestrial Radio Access Network]、又は、Super3Gとも称されている。
【0007】
このLTEの技術仕様書ST36.212の8.5.0版には、誤り訂正符号化処理の一つとして、コードブロック分割が規定されている。コードブロック分割では、送信データは、同一のサイズを持つ複数のコードブロックに分割される。コードブロックには、それぞれ、例えば、符号誤りの検出に利用されるCRC[Cyclic Redundancy Check]符号
が付加され、その後、ターボ符号化が行われる。受信機では、ターボ復号化されたコードブロックに付加されているCRC符号が確認される。受信機は、何れか1つのコードブロックにでも符号誤りが検出されれば、全てのコードブロックの再送、すなわち、送信データの再送を送信側に要求する。
【0008】
一般に誤り訂正符号の復号処理は、コードブロック全体で、一番もっともらしいbit系
列を選ぶことにより行われる。理論的には符号長が長いほど特性がよくなる。
【0009】
しかしながら、送信データをコードブロックに分割しないとなると、誤り訂正復号化器の回路規模をかなり大きくせねばならない。また、受信機における誤り訂正復号化という複雑な処理が、TTI[Transmission Time Interval]以内で終わらなくなってしまう可能性もある。なお、TTIは、移動端末に割り当てられる最小の送信時間間隔である。したがって、現実的な符号では符号長に限界がある。そのため、LTEなどの標準化仕様では、この符号長の限界に十分近いサイズでコードブロックが分割されるようになっている。
【0010】
ところが、コードブロックに分割した場合、分割しない場合と比較して誤り訂正率が低下し、特性が劣化する。これは、コードブロックへの分割によって誤り訂正に寄与する情報の範囲が限定され、誤り訂正能力が劣ってしまうためである。
【0011】
本発明の一態様は、前述した従来技術の有する問題点に鑑みてなされたものであり、その課題は、コードブロック分割処理が行われるデジタル通信の信頼性を向上させることにある。
【課題を解決するための手段】
【0012】
本発明の一態様である符号化装置は、入力された信号ビット列をデータブロックに分割
する分割部と、データブロックをそれぞれ誤り訂正符号化し、信号ビットの信頼度を推定する演算を複数回実行する繰り返し復号演算によって復号可能なコードブロックをそれぞれ生成する符号化部と、分割されたデータブロックを複数組み合わせた、それぞれの組のデータブロック間でビット演算を行うことにより冗長ビットを生成する生成部と、生成されたコードブロックと冗長ビットとを出力する出力部と、を備える。
【0013】
また、本発明の一態様である復号化装置は、前述した課題を解決するため、以下の複数の要素を含むことを特徴としている。本復号化装置は、信号ビット列を分割したデータブロックを複数組み合わせて、それぞれの組に含まれるデータブロック間で生成された冗長ビットとデータブロックを誤り訂正符号化したコードブロックとを入力する入力部を有する。また、本復号化装置は、コードブロック内のビット列を入力として、コードブロックに誤り訂正符号化されているデータブロック内の信号ビットの信頼度情報を算出し、さらに、算出された信頼度情報を入力として、コードブロックに誤り訂正符号化されているデータブロック内の信号ビットの新たな信頼度情報を算出する処理を繰り返すブロック内反復演算部を有する。また、本復号化装置は、それぞれの組に含まれるデータブロック間で生成された冗長ビットとブロック内反復演算部で繰り返し算出されるデータブロック内の信号ビットの信頼度情報を基に、それぞれの組含まれるデータブロック内の冗長ビットの生成に寄与した信号ビットの信頼度を示すブロック間信頼度情報を算出し、ブロック間信頼度情報を該当する信号ビットの信頼度情報としてブロック内反復演算部に入力する処理を繰り返すブロック間反復演算部と、を有する。
【発明の効果】
【0014】
従って、本発明の一態様によれば、ビット列をブロックに分割する分割処理が行われるデジタル信号の信頼性が、向上することとなる。
【図面の簡単な説明】
【0015】
【図1】本実施形態である無線通信システムの構成を示す図
【図2】送信機の構成を示す図
【図3】誤り訂正符号化ユニットの構成を示す図
【図4】第1のターボ符号化回路の構成を示す図
【図5】RSC符号化部の構成を示す図
【図6】ビット列の分割とターボ符号化とを模式的に示す図
【図7】冗長ビット列の生成を模式的に示す図
【図8】ターボ符号化されたコードブロックと冗長ビット列との関係を示す図
【図9】組織的符号に対する冗長ビット列の挿入率とパケット誤り率との関係をグラフとして示す図
【図10】受信機の構成を示す図
【図11】誤り訂正復号化ユニットの構成を示す図
【図12】第1のターボ復号化回路の構成を示す図
【図13】第1のSISO復号化部の構成を示す図
【図14】相補復号化部の構成を示す図
【図15】ブロック誤り率とシンボル当たりのエネルギー対ノイズ密度の比との関係をグラフとして示す図
【図16】第1のターボ復号化回路21で実行されるターボ復号処理を示すフローチャート
【図17】実施例2に係る送信機の構成を例示する図
【図18】実施例2に係る受信機の構成を例示する図
【図19】LDPCユニットの詳細構成を例示する図
【図20】タナーグラフの例
【図21】実施例2に係る誤り訂正復号化ユニットの処理手順を示す図
【図22】実施例3に係る復号化装置の構成例示する図
【発明を実施するための形態】
【0016】
以下、本実施形態である無線通信システムについて、添付図面を参照しながら、説明する。
【0017】
なお、以下に説明する無線通信システムは、あくまでも実施形態であり、本発明の一態様である送信機、他の一態様である受信機、及び、その他の態様が、以下に説明する具体的な技術事項に限定されるものではない。
【実施例1】
【0018】
《構成》
図1は、本実施形態である無線通信システムの構成を示す図である。
【0019】
無線通信システムは、送信機10と受信機20とを含んでいる。送信機10は、高周波の電気信号を生成し、電気信号を電波に変換して放射する。受信機20は、感受した電波を電気信号に変換して取得する。なお、電波は、送信機10と受信機20との間においては、中継器により中継されてもよい。中継器としては、例えば、携帯電話中継器(回線補償器)、PHS[Personal Handyphone System]用電波中継器(レピータ)、無線LAN[Local Area Network]ルータ、無線ハブがある。
【0020】
〈送信機〉
図2は、送信機10の構成を示す図である。
【0021】
送信機10は、バイナリソース10a、コードブロック分割ユニット10b、誤り訂正符号化ユニット10c、レートマッチングユニット10d、変調ユニット10e、周波数アップコンバータ10f、アンテナ10g、及び、通信制御ユニット10hを、含んでいる。
【0022】
バイナリソース10aは、各種の処理の結果であるデジタル情報をビット列として出力する。なお、バイナリソース10aとしては、例えば、CPU[Central Processing Unit]、記憶ユニット、記録ユニットを含むコンピュータがある。記憶ユニットとしては、
例えば、DRAM[Dynamic Random Access Memory]、及び、SRAM[Static Random Access Memory]がある。記録ユニットとしては、例えば、SSD[Solid State Drive]装置、HDD[Hard Disk Drive]装置、BD[Blu-ray Disk]ドライブ装置、DVD[Digital Versatile Disk]ドライブ装置、+R/+RWドライブ装置、CD[Compact Disk]ドライブ装置、メモリーカードドライブ装置、及び、フレキシブルディスクドライブ
装置がある。コンピュータとしては、例えば、パーソナルコンピュータ、携帯電話機、及び、PDA[Personal Digital Assistant]がある。パーソナルコンピュータとしては、例えば、デスクトップ型PC[Personal Computer]、ノートブック型PC、ラップトッ
プ型PC、ペンコンピュータ、ネットブック、及び、ウェアラブルコンピュータがある。
【0023】
コードブロック分割ユニット10bは、バイナリソース10aから入力されたビット列を、N個のビット数を持つコードブロックに分割する。例えば、LTE[Long Term Evolution]では、ビット数Nの最大値は、6144ビットとなっている。また、本実施形態
では、ビット列は、2個のコードブロックに分割されているが、3個以上に分割されてもよい。コードブロック分割ユニット10bは、入力されたビット列を、互いに同じビット数を持つ複数のコードブロックに分割する。入力されたビット列が、分割数で割り切れない場合、コードブロック分割ユニット10bは、入力されたビット列に数ビットを補完して、割り切れるようにする。この補完については、例えば、特開2001−308720
号公報に記載されている。コードブロック分割ユニット10bが、分割部に相当する。
【0024】
なお、実施例1以下の実施例において、誤り訂正符号化されていないビット列が分割されたデータをデータブロックと呼ぶ場合がある。データブロックは、コードブロックがまだ誤り訂正符号化される前の状態であることを明示するための名称である。したがって、コードブロックという場合には、データブロックおよびデータブロックが誤り訂正符号化されたデータとしてのコードブロックの両方を含むものとする。
【0025】
誤り訂正符号化ユニット10cは、コードブロック分割ユニット10bから出力された2個ずつのコードブロックの誤り訂正符号化を行う。誤り訂正符号化ユニット10cが、符号化部に相当する。誤り訂正符号化ユニット10cの具体的な構成については、後述する。
【0026】
レートマッチングユニット10dは、誤り訂正符号化ユニット10cから出力されたビット列の中から実際に送信するビットを選別する。当然、選別されなかったビットは送信されないことになる。なお、選別されるビットの位置、すなわち、間引かれるビットの位置は、通信制御ユニット10hから与えられる符号化率(コーディングレート)に応じて変えられる。ここで、符号化率は、例えば、mビットの情報を符号化したときの符号語のビットが数Mであるとき、符号化率=m/Mによって定義できる。
【0027】
本無線通信システムでは、符号化率の値に応じてどのビットが選別されるかが、予め決められている。従って、受信機20は、送信機10から符号化率が通知されるだけで、間引かれたビットがどこに存在するかが分かるようになっている。選別されるビットの選別方法の具体例については、後述する。
【0028】
変調ユニット10eは、レートマッチングユニット10dから出力されるビット列をベースバンド信号としてキャリア信号に乗せる変調を行う。なお、変調方式は、通信制御ユニット10hからの指示に応じて変えられる。変調方式としては、例えば、QPSK[Quadrature Phase Shift Keying]、16QAM[Quadrature Amplitude Modulation]、及び、64QAMがある。
【0029】
周波数アップコンバータ10fは、変調ユニット10eから出力される変調されたキャリア信号の周波数を無線周波数にアップコンバートする。アップコンバートされたキャリア信号は、アンテナ10gにおいて電波に変換されて放射される。
【0030】
通信制御ユニット10hは、通信路の状況、送信データ量、データの優先度などに応じて、符号化率と変調方式とを決定する。また、通信制御ユニット10hは、制御用のチャンネルを通じて、受信機20に、符号化率と変調方式を示す情報とを送信するようになっている。また、物理ビット数が物理リソースにより変化するため、通信制御ユニット10hは、物理ビット数を確定するための情報も、制御用のチャンネルを通じて受信機20に送信する。ここで、物理ビット数は、例えば、送信機10がアンテナ10gからTTI[Transmission Time Interval]当たりに送信できるビット数で示される。また、物理リソースは、例えば、LTE(OFDM[Orthogonal Frequency Division Multiplexing])では、サブキャリア数であり、HSDPA[High Speed Downlink Packet Access](C
DMA[Code Division Multiple Access])では、コード数である。レートマッチング
ユニット10dが、出力部に相当する。ただし、レートマッチングユニット10dからアンテナ10gに至る送信機の構成が出力部に相当すると考えることもできる。
【0031】
図3は、誤り訂正符号化ユニット10cの構成を示す図である。
【0032】
誤り訂正符号化ユニット10cは、第1のCRC[Cyclic Redundancy Check]符号付
加回路11、第2のCRC符号付加回路12、第1のターボ符号化回路13、第2のターボ符号化回路14、及び、冗長ビット生成回路15を、含んでいる。なお、本実施形態では、コードブロック分割ユニット10bから2個のコードブロックが並列に出力される。並列に出力される2個のコードブロックを並列に処理するため、誤り訂正符号化ユニット10cには、CRC符号付加回路とターボ符号化回路とが、それぞれ2個ずつ備えられている。但し、コードブロック分割ユニット10bから3個以上のコードブロックが並列出力される場合、誤り訂正符号化ユニット10cは、CRC符号付加回路とターボ符号化回路とを、それぞれ、並列に出力されるコードブロックと同数備えるようにしてもよい。
【0033】
第1及び第2のCRC符号付加回路11、12は、入力されたコードブロックにCRC符号を付加する。ここで、コードブロックに付加されるCRC符号は、n個のビット列を(n−1)次の多項式で表現した場合には、その(n−1)次の多項式を所定の生成多項式で割って得られる剰余の式を基に作成される。生成多項式は、送信機10と受信機20とで同じものが用いられるよう、予め取り決められている。受信機20では、受信したコードブロックを基に多項式を作成する。そして、受信語から得られた多項式が、所定の生成多項式で除算される。そして、除算による余りがCRC符号と一致すれば、受信機20は、受信したコードブロックには符号誤りがないと、判断する。逆に、除算による余りがCRC符号と一致しなければ、受信機20は、受信したコードブロックに符号誤りがあると、判断する。このように、CRC符号は、コードブロックにおける符号誤りを検出するために用いられる。
【0034】
第1及び第2のターボ符号化回路13、14は、第1及び第2のCRC符号付加回路11、12によってCRC符号が付加されたコードブロックのターボ符号化を行う。ここで、ターボ符号化では、例えば、組織ビット列と、第1の検査ビット列と、第2の検査ビット列とが作成される。ここで、組織ビット列は、入力されたコードブロック内のビット列そのものである。また、第1の検査ビット列は、例えば、入力されたコードブロックに対し、過去に入力されたコードブロックを加算することにより生成される再帰的畳み込み符号によって作成される。また、第2の検査ビット列は、入力されたコードブロックをインターリーブして得られるビット列に対し、過去にインターリーブして得られたビット列を加算することにより生成される再帰的畳み込み符号により作成される。また、インターリーブでは、データレートを保持したままコードブロック内のビット列が所定の手順でシャッフルされる。なお、逆インターリーブでは、コードブロック内のビット列が上記所定の手順と逆の手順でシャッフルされる。
【0035】
図4は、第1のターボ符号化回路13の構成を示す図である。
【0036】
第1のターボ符号化回路13は、入力されたコードブロックを、そのまま、組織ビット列として出力する。また、第1のターボ符号化回路13は、第1のRSC[Recursive systematic convolutional]符号化部13aと、インターリーブ部13bと、第2のRSC符号化部13cとを、含んでいる。第1のRSC符号化部13aは、入力されたビット列に対し、過去に入力されたビット列を再帰的に加算し、加算されたビット列を第1の検査ビット列として出力する。具体的には、第1のRSC符号化部13aは、例えば、数個のmビットシフトレジスタと、2を法とする数個のmビット加算器とを含んでいる。図5に例示する第1のRSC符号化部13aでは、入力側から順に、2を法とする第1のmビット加算器131と、3個のmビットシフトレジスタ132〜134と、2を法とする第2のmビット加算器135とが、直列に接続されている。第1のmビット加算器131は、ビット列の入力があると、入力されたビット列に、第1及び第2のmビットシフトレジスタ132、133の出力ビット列を加算して、第1のmビットシフトレジスタ132に出力する。第1のmビットシフトレジスタ132は、第1のmビット加算器131からビッ
ト列の入力があると、内部に保持しているビット列を、第1及び第2のmビット加算器131、135と第2のmビットシフトレジスタ133へ出力する。第2のmビットシフトレジスタ133は、第1のmビットシフトレジスタ132からビット列の入力があると、内部に保持しているビット列を、第1のmビット加算器131と第3のmビットシフトレジスタ134へ出力する。第3のmビットシフトレジスタ134は、第2のmビットシフトレジスタ133からビット列の入力があると、内部に保持しているビット列を第2のmビット加算器135へ出力する。第2のmビット加算器135は、第1及び第3のmビットシフトレジスタ132、134から出力されたビット列を加算して出力する。このように、図5に例示される第1のRSC符号化部13aは、入力されたビット列に対し、過去に入力されたビット列を再帰的に加算して、第1の検査ビット列として出力する。本実施形態では、図4に示す第2のRSC符号化部13cも、第1のRSC符号化部13aと同様に、図5に例示されるような構成を有する。但し、第2のRSC符号化部13cには、インターリーブ部13bによりインターリーブされたビット列が、入力される。このため、第2のRSC符号化部13cは、インターリーブされたビット列に対し、過去にインターリーブされたビット列を再帰的に加算して出力する。従って、第2のRSC符号化部13cは、第2の検査ビット列を出力することとなる。
【0037】
本実施形態では、図3に示す第2のターボ符号化回路14も、図4に示した構成と同じ構成を有している。従って、第2のターボ符号化回路14は、入力されたコードブロックをそのまま組織ビット列として出力し、第1のRSC符号化部から第1の検査ビット列を出力し、第2のRSC符号化部から第2の検査ビット列を出力する。
【0038】
図6は、ビット列の分割とターボ符号化とを模式的に示す図である。
【0039】
図6に、並列にターボ符号化される2つのコードブロックを示す。図6に示すように、本実施形態では、バイナリソース10aから出力されたビット列は、所定ビット数を持つ第1及び第2のコードブロックに分割される。すでに述べたように、ターボ符号化前のコードブロックは、符号化前であることを明確にする場合には、データブロックとも称される。なお、この分割は、前述したように、コードブロック分割ユニット10bにおいて行われる。また、情報ビット数とCRC符号とを含むビット数がコードブロック2個よりも小さい場合には、2個目のコードブロックの空き領域には、固定値、例えば、ビット0が充当された後にCRC符号が付加される。第1のコードブロックは、図3に示す第1のCRC符号付加回路11によりCRC符号が付加された後、第1のターボ符号化回路13によりターボ符号化されて、組織的符号に変換される。この組織的符号は、組織ビット列と、第1の検査ビット列と、第2の検査ビット列を有する。また、第2のコードブロックは、図3に示す第2のCRC符号付加回路12によりCRC符号が付加された後、第2のターボ符号化回路14によりターボ符号化されて、組織的符号に変換される。この組織的符号も、組織ビット列と、第1の検査ビット列と、第2の検査ビット列を有する。なお、第1及び第2のコードブロックは、それぞれターボ符号化されて組織的符号に変換された後、図2に示すように、レートマッチングユニット10dへ出力される。
【0040】
図3に示す冗長ビット生成回路15は、図7の模式図に示すように、第1及び第2のコードブロックから、冗長ビット列を生成する。冗長ビット生成回路15が、生成部に相当する。冗長ビット列は、データブロック間のパリティビットとも呼ぶことができる情報である。例えば、冗長ビット生成回路15は、第1及び第2のコードブロックにおける先頭から末尾までの各位置について、ビット同士の排他的論理和(Exclusive OR)をとって冗長ビットを生成する。従って、冗長ビット生成回路15は、第1及び第2のコードブロックと同じビット数の冗長ビット列を出力することとなる。また、各冗長ビットは、ターボ符号化された第1及び第2のコードブロックに対し、図8に示すような関係を有することとなる。すなわち、第1及び第2のコードブロックは、冗長ビット列を通じて互いに相関
を持つこととなる。なお、本実施形態では、コードブロック分割ユニット10bから2個のコードブロックが出力されるため、冗長ビット生成回路15は、第1及び第2のコードブロックにおける先頭から同一番目のビット同士の排他的論理和をとっている。但し、コードブロック分割ユニット10bから3個以上のコードブロックが出力される場合、冗長ビット生成回路15は、3個以上のコードブロックにおける先頭から同一番目のビット同士の排他的論理和をとることとなる。何れにしても、冗長ビット列は、図2に示すように、レートマッチングユニット10dへ出力される。なお、本実施形態では、冗長ビットは、各コードブロックから1ビットずつ取り出して、排他的論理和を取ることによって、生成しているが、本発明の各態様は、これに限定されない。例えば、冗長ビットは、各コードブロックから2ビット以上の所定ビット数ずつ取り出して、排他的論理和を取ることによって、生成されてもよい。
【0041】
また、第2のコードブロックを所定ビット巡回シフトした後に、第1のコードブロックと第2のコードブロックとの間で排他的論理和を取るようにしてもよい。
【0042】
また、冗長ビットの作成手順は、同一番目のビット同士の排他的論理和には限定されない。例えば、ブロック符号として知られているどのような符号化方法を採用してもよい。例えば、コードブロックから選択されたビットを含むビット列に対して、CRC符号化を行ってよい。また、コードブロックから選択されたビットを含むビット列に対して、所定の手順によってハッシュ値を得るようにしてもよい。したがって、冗長ビットは、第1のコードブロックと第2のコードブロックに対する様々なビット演算から生成できる。
【0043】
レートマッチングユニット10dでは、前述したように、誤り訂正符号化ユニット10cから出力されたビット列の中から、実際に送信するビットが選別される。ビットの選別方法としては、例えば、Nビットの中から(N−M)ビットを選別する場合、すなわち、Mビットを間引く場合、間引きパラメータeを使用する方法がある。間引きパラメータeの初期値をNとし、その間引きパラメータeから、Mのa倍の値を繰り返し減算する。そして、n回目の減算を行った結果、間引きパラメータeがゼロ以下となったときに、n番目のビットを間引き対象として決定する。その後、間引きパラメータeに、Nのa倍の値を加算して、Mのa倍の値を繰り返し減算する処理を再開する。このような間引き対象の決定を回繰り返すことにより、Mビットの間引き対象が決定され、すなわち、(N−M)ビットが選別されることとなる。例えば、10ビットから3ビットを間引く場合において、aを1としたときには、Nが10であり、Mが3であるから、初期値10からMのa倍の値を繰り返し減算すると、4回目で間引きパラメータeは、−2となる。その後、間引きパラメータeに、Nのa倍の値である10を加算して、減算を再開すると、7回目で、間引きパラメータは、−1となる。その後、間引きパラメータeに、Nのa倍の値である10を加算して、減算を再開すると、10回目で、間引きパラメータは、0となる。この事例では、10ビット中、4番目、7番目、10番目のビットが間引かれることとなる。なお、レートマッチングユニット10dは、組織ビット列と、第1の検査ビット列と、第2の検査ビット列とで、aの値を変えるものであってもよい。本実施形態では、組織ビット列と、第1の検査ビット列と、第2の検査ビット列は、互いに同じビット数であるため、aの値を変えることにより、異なる位置のビットが間引かれることとなる。なお、第1の検査ビット列に対するaの値と、第2の検査ビット列に対するaの値は、送信機10と受信機20とにおいて、予め決められている。
【0044】
本実施形態の誤り訂正符号化ユニット10cは、図3に示すように、冗長ビット生成回路15を備えている。このため、従来の誤り訂正符号化ユニットに比べると、より多くのビット列が送信対象として出力されることとなる。しかしながら、前述したように、物理ビット数は決まっているため、誤り訂正符号化ユニット10cがレートマッチングユニット10dに出力するビット数が、物理ビット数を超えてしまう場合がある。この場合、レ
ートマッチングユニット10dは、冗長ビット列が存在しないときに比べて、第1及び第2の検査ビット列を多く間引くようになっている。このため、出力ビット数が物理ビット数を超えることがない。なお、レートマッチングユニット10dは、組織ビット列を間引くこともできるが、組織ビット列におけるビットの欠落は、第1及び第2の検査ビット列におけるビットの欠落に比べて、デジタル通信の信頼性に大きな影響を及ぼすため、本実施形態では、第1及び第2の検査ビット列が間引かれるようになっている。
【0045】
図9は、組織的符号に対する冗長ビット列の挿入率とパケット誤り率との関係をグラフとして示す図である。
【0046】
図9に示すグラフは、シミュレーション結果である。図9において、縦軸は、パケット誤り率(PER[Packet Error Rate])を示し、横軸は、組織的符号に対する冗長ビッ
ト列の挿入率を示している。ここで、挿入率とは、冗長ビット列のうち、組織的符号に組み込まれたビット数の割合を言う。例えば、組織ビット列と第1の検査ビット列と第2の検査ビット列と冗長ビット列のビット数がそれぞれ5000ビットである場合において、挿入率が0.3である場合の例としては、冗長ビット列のうち1500ビットが選別されるとともに、組織的符号のうち1500ビットが間引かれて13500ビットが選別される場合が相当する。このとき、組織ビット列5000ビットに対して、冗長ビット列のうち1500ビットが挿入され、挿入率=1500/5000=0.3となる。図9には、符号化率(コーディングレート)がそれぞれ1/3、1/2、3/4であるときのグラフが、示されている。図9に示されるように、符号化率が1/3である場合、冗長ビット列の挿入率が0.6であるときに、パケット誤り率が最も低くなる。また、符号化率が1/2である場合、冗長ビット列の挿入率が0.5であるときに、パケット誤り率が最も低くなる。また、符号化率が3/4である場合、冗長ビット列の挿入率が0.8であるときに、パケット誤り率が最も低くなる。従って、パケット誤り率を低減させるためには、冗長ビット列の挿入率は、符号化率に応じて変えられるとよい。本実施形態のレートマッチングユニット10dは、符号化率に応じて、冗長ビット列の挿入率を変えている。なお、冗長ビット列の挿入率と符号化率との対応関係は、送信機10と受信機20とにおいて、予め決められていてもよい。この場合、受信機20は、符号化率が送信機10から通知されるだけで、冗長ビット列の挿入率を把握することができる。また、冗長ビット列の挿入率は、通信制御ユニット10hによって制御用のチャンネルを通じて受信機20に通知されてもよい。
【0047】
また、本実施形態は、ビット列を、並列に処理する2つのコードブロックの組、例えば、第1及び第2のコードブロックに分割する。これに対し、ビット列が3個以上のコードブロックに分割し、並列に処理される形態を考える。例えば、N個のコードブロックの組について、各組に属するN個のコードブロック間で冗長ビットを作成する場合、1つの組織的符号についてみると、冗長ビット列の挿入のために間引かれるビットの数は、本実施形態よりも少なくなる。従って、冗長ビットを作成するコードブロックの組に含まれるコードブロック数が増えれば増えるほど、冗長ビット列の挿入率を上げることができる。
【0048】
〈受信機〉
図10は、受信機20の構成を示す図である。
【0049】
受信機20は、アンテナ20a、周波数ダウンコンバータ20b、復調ユニット20c、レートデマッチングユニット20d、誤り訂正復号化ユニット20e、コードブロック結合ユニット20f、バイナリシンク20g、及び、通信制御ユニット20hを、含んでいる。
【0050】
アンテナ20aは、電波を感受すると、その電波を電気信号に変換する。周波数ダウン
コンバータ20bは、アンテナ20aから入力される被変調キャリア信号の周波数を、ダウンコンバートする。
【0051】
復調ユニット20cは、ダウンコンバートされた被変調キャリア信号からベースバンド信号としてビット列を取り出す復調を行う。なお、復調方式は、通信制御ユニット20hからの指示に応じて変えられる。
【0052】
レートデマッチングユニット20dは、通信制御ユニット20hから通知される符号化率と挿入率とに基づいて、復調ユニット20cから入力されるビット列から、第1及び第2のコードブロックに対応する組織的符号と、冗長ビット列とを分離する。前述したように、符号化率と挿入率の値に応じてどのビットが選別されるかが、予め決められている。このため、レートデマッチングユニット20dは、符号化率と挿入率とに基づいて、入力されたビット列から、組織的符号と冗長ビット列とを分離することができる。また、レートデマッチングユニット20dは、分離した組織的符号と冗長ビット列のビット数の調整を行う。具体的には、レートデマッチングユニット20dは、組織的符号においてビットが間引かれている位置に、ビット0を補完して、ビット数を調整する。0は情報が何もな
いことを意味する。正の値で絶対値が大きいほど送信bitが0である確率が高くなり、負の値で絶対値が大きいほど送信bitが1である確率が高くなるからである。同様に、レートデマッチングユニット20dは、冗長ビット列においてビットが間引かれている位置にも、ビット0を補完して、ビット数を調整する。レートデマッチングユニット20dは、ビット数を調整した組織的符号と冗長ビット列とを、それぞれ、誤り訂正復号化ユニット20eへ出力する。
【0053】
誤り訂正復号化ユニット20eは、第1及び第2のコードブロックに対応する組織的符号を用いて、第1及び第2のコードブロックの誤り訂正復号化を行う。すなわち、誤り訂正復号化ユニット20eは、第1及び第2のコードブロックにおいて符号誤りが存在していた場合にその符号誤りを訂正する。誤り訂正復号化ユニット20eの具体的な構成については、後述する。
【0054】
コードブロック結合ユニット20fは、誤り訂正復号化ユニット20eから出力される第1及び第2のコードブロックを結合して、ビット列を生成する。
【0055】
バイナリシンク20gは、コードブロック結合ユニット20fから出力されるビット列をデジタル情報として受け取り、受け取ったデジタル情報を利用して各種の処理を行う。なお、バイナリシンク20gとしては、例えば、CPU、記憶ユニット、記録ユニットを含むコンピュータがある。記憶ユニットとしては、例えば、DRAM、及び、SRAMがある。記録ユニットとしては、例えば、SSD装置、HDD装置、BDドライブ装置、DVDドライブ装置、+R/+RWドライブ装置、CDドライブ装置、メモリーカードドライブ装置、及び、フレキシブルディスクドライブ装置がある。コンピュータとしては、例えば、パーソナルコンピュータ、携帯電話機、及び、PDAがある。パーソナルコンピュータとしては、例えば、デスクトップ型PC、ノートブック型PC、ラップトップ型PC、ペンコンピュータ、ネットブック、及び、ウェアラブルコンピュータがある。
【0056】
通信制御ユニット20hは、送信機10から制御用のチャンネルを通じて符号化率と変調方式を示す情報とを受信する。また、通信制御ユニット20hは、受信した情報が示す変調方式に対応する復調方式を決定して、復調ユニット20cに対し、決定した復調方式を利用した復調を指示する。また、通信制御ユニット20hは、受信した符号化率を、レートデマッチングユニット20dへ通知する。なお、冗長ビット列の挿入率と符号化率との対応関係が、送信機10と受信機20とにおいて、予め決められている形態である場合、通信制御ユニット20hは、符号化率に対応する挿入率を特定し、レートデマッチング
ユニット20dへ通知する。また、冗長ビット列の挿入率が、送信機10の通信制御ユニット10hによって制御用のチャンネルを通じて受信機20に通知される形態である場合、通信制御ユニット20hは、受信した挿入率を、レートデマッチングユニット20dへ通知する。
【0057】
図11は、誤り訂正復号化ユニット20eの構成を示す図である。
【0058】
誤り訂正復号化ユニット20eは、第1のターボ復号化回路21、及び、第2のターボ復号化回路22を、備えている。第1及び第2のターボ復号化回路21、22は、レートデマッチングユニット20dから入力される組織的符号に対してターボ復号化を行う。ここで、第1及び第2のターボ復号化回路21、22は、組織ビット列内の各ビットについて、ビットが「1」又は「0」であることの信頼性を、後述のターボ処理によって獲得することにより、組織ビット列を確定させる。また、従来のターボ復号化回路は、自回路に入力される組織的符号を利用して、符号誤りのない組織ビット列を生成するものとなっている。すなわち、ターボ符号化された個々のデータブロックごとに復号化を行っている。これに対し、本実施形態では、第1及び第2のターボ復号化回路21、22は、それぞれに入力されたターボ符号のデータブロックの反復符号の過程で、後述のターボ処理による結果を互いに引き渡す。そして、第1及び第2のターボ復号化回路21、22は、1回の反復復号ごとに、相互に受け取った相手の復号結果と送信機10から受信した冗長ビット列とによって、さらに、次の反復復号を繰り返し、ビットの状態(「1」又は「0」)の信頼性を更に高める処理を行うようになっている。
【0059】
図12は、第1のターボ復号化回路21の構成を示す図である。
【0060】
第1のターボ復号化回路21は、3個の対数尤度比演算器21aと、3個のレジスタ21bとを、備えている。レートデマッチングユニット20dから組織的符号が入力されると、その組織的符号に含まれる組織ビット列と、第1の検査ビット列と、第2の検査ビット列とにおける各ビットの対数尤度比(LLR[Log-likelihood ratio])が、3個の対数尤度比演算器21aによって算出される。算出された対数尤度比は、3個のレジスタ21bにそれぞれ記録される。また、第1のターボ復号化回路21は、1個の対数尤度比演算器21cと、1個のレジスタ21dとを、備えている。レートデマッチングユニット20dから冗長ビット列が入力されると、その冗長ビット列における各ビットの対数尤度比が、対数尤度比演算器21cによって算出される。算出された対数尤度比は、レジスタ21dに記録される。ここで、対数尤度比とは、ビットが「1」である確率と「0」である確率の比の自然対数を取ったものを言う。
【0061】
また、第1のターボ復号化回路21は、図4に示す第1のターボ符号化回路13が2個のRSC符号化部13a、13cを備えていることに対応し、2個のSISO[soft-input soft-output]復号化部21f、21jを備えている。
【0062】
第1のSISO復号化部(SISO Decoder)21fは、入力値に基づいて演算を行い、外部値(Extrinsic Information)Aを出力する。入力値としては、各ビットの事前対数尤
度比(Priori LLR)と、第1の検査ビット列用のレジスタ21b内の各ビットの対数尤度比とがある。事前対数尤度比は、組織ビット列用のレジスタ21b内の対数尤度比と、第2のSISO復号化部21jから出力される後述の外部値Bと、後述の相補復号化部21pから出力される外部値Cとを加算したものである。第1のSISO復号化部21fは、これら入力値を事前対数尤度比として用いて、事後対数尤度比(Posterior LLR)を算出
する。ここで、事前対数尤度比とは、ビットが「1」である事前確率と「0」である事前確率との比の自然対数を取ったものを言う。事後対数尤度比とは、ビットが「1」である事後確率と「0」である事後確率との比の自然対数を取ったものを言う。また、事前確率
とは、例えば、ある事象Bに対して、事象Bが発生したという情報が得られる前の、事象Aが発生する確率をいう。本実施形態では、或る状態のビットが送信される確率を言うことにする。あるいは、事前確率は、受信されたデータのあるビットが1、あるいは、0である確率として例示できる。また、事後確率とは、一般には、ある事象Bが発生したという情報が得られた後の、事象Aが発生する確率をいう。本実施形態では、或る状態のビットが受信されたという条件の下でその状態のビットが送信される確率をいうことにする。第1のSISO復号化部21fは、軟判定復号の結果として事後対数尤度比を算出した後、算出した事後対数尤度比の事前対数尤度比に対する増分を、外部値Aとして出力する。つまり、第1のSISO復号化部21fは、前述した要素復号器として作用する。第1の
SISO復号化部21fは、第1復号化部の一例である。
【0063】
第1のSISO復号化部21fは、具体的には、図13に例示されるように、γ演算器211、α演算器212a、β演算器212b、λ演算器213、及び、mビット加算器214を含んでいる。γ演算器211は、各ビットの事前対数尤度比と、第1の検査ビット列用のレジスタ21b内の各ビットの対数尤度比とに基づいて、各ビットの移行確率γを算出する。α演算器212aは、γ演算器211から出力される各ビットの移行確率γに基づいて、各ビットの前方確率αを算出する。β演算器212bは、γ演算器211から出力される各ビットの移行確率γに基づいて、各ビットの後方確率βを算出する。λ演算器21は、γ演算器211、α演算器212a、及び、β演算器212bから出力される移行確率γ、前方確率α、及び、後方確率βに基づいて、事後対数尤度比を算出する。mビット加算器21は、λ演算器21から出力される各ビットの事後対数尤度比から、γ演算器21に入力される各ビットの事前対数尤度比を減算して、外部値を生成する。従って、図13に例示される第1のSISO復号化部21fは、MAP[Maximum A Posteriori]演算を行うものとなっている。なお、図13に例示した構成は、例えば、特開2005−108332号公報にも開示されている。また、第1のSISO復号化部21fは、SOVA[Soft-Output Viterbi Algorithm]演算を行うものであってもよい。
【0064】
本実施形態では、図12に示す第2のSISO復号化部(SISO Decoder)21jも、図13に例示されるような構成を有し、第1のSISO復号化部21fと同様の演算を行う。すなわち、第2のSISO復号化部21jは、入力値に基づいて演算を行い、事後対数尤度比の事前対数尤度比に対する増分として、外部値Bを出力する。従って、第2のSISO復号化部21jも、前述した要素復号器として作用する。入力値としては、各ビットの事前対数尤度比と、第2の検査ビット列用のレジスタ21b内の各ビットの対数尤度比とがある。事前対数尤度比は、組織ビット列用のレジスタ21b内の各ビットの対数尤度比と、第1のSISO復号化部21fから出力される各ビットの外部値Aと、後述の相補復号化部21pから出力される各ビットの外部値Cとを加算したものである。第2のSISO復号化部21jは、第2復号化部の一例である。
【0065】
第1のターボ復号化回路21では、制御ユニット21tの制御にしたがって、第1及び第2のSISO復号化部21f、21jが外部値の遣り取りを所定回数繰り返すようになっている。このような外部値の遣り取りにより、事後対数尤度比が徐々に高まることとなる。このような外部値の遣り取りによって事後対数尤度比を高める処理は、ターボ処理と称される。第1及び第2のSISO復号化部21f、21jが外部値の遣り取りを所定回数繰り返した後、CRC部21qは、事後対数尤度比を基に、硬判定処理によって組織ビット列の各ビットの値を確定する。そして、制御ユニット21tは、出力信号制御スイッチ21sに対するイネーブル信号をアサートする。その結果、CRC出力信号制御スイッチ21sを通じて、CRC部21qが確定した組織ビット列が出力される。
【0066】
また、第1のターボ復号化回路21は、インターリーブ部(Π)21hとデインターリーブ部(Π−1)21kとを備えている。インターリーブ部21hは、第2のSISO復
号化部21jに入力される各ビットの事前対数尤度比の並び順を、第2のSISO復号化部21jに入力される第2の検査ビット列の各ビットの並び順と一致させる。なお、インターリーブ部21hによる各ビットの並び順の変更方法、すなわち、シャッフル方法は、送信機10と受信機20とで同じものとなるよう、予め決められている。デインターリーブ部21kは、第2のSISO復号化部21jから出力される各ビットの外部値の並び順を、第1のSISO復号化部21fに入力される各ビットの事前対数尤度比の並び順に戻す。
【0067】
また、第1のターボ復号化回路21は、4個のmビット加算器21e、21g、21m、21rを、備えている。第1のmビット加算器21eは、組織ビット列用のレジスタ21b内の各ビットの対数尤度比に対し、外部値Bと後述の外部値Cとを加算して、第1のSISO復号化部21fの事前対数尤度比を生成する。第2のmビット加算器21gは、第1のSISO復号化部21fから出力される各ビットの外部値Aに対し、組織ビット列用のレジスタ21b内の対数尤度比Sと後述の外部値Cとを加算して、第2のSISO復号化部21jの事前対数尤度比を生成する。第3のmビット加算器21mは、第2のSISO復号化部21jから出力されてデインターリーブ部21kにてデインターリーブされた各ビットの外部値Bに対し、組織ビット列用のレジスタ21b内の対数尤度比Sと外部値Aとを加算する。第4のmビット加算器21rは、後述のCRC部21qから出力される各ビットの対数尤度比から、第3のmビット加算器21mから出力される各ビットの対数尤度比を減算して、外部値Cを出力する。なお、外部値Cは、後述の相補復号化部21pにおける事後対数尤度比の事前対数尤度比に対する増分となっている。このため、後述の相補復号化部21pと後述のCRC部21qと第4のmビット加算器21rは、全体的には、外部値Cを出力する1つの要素復号器として作用する。また、この要素復号器の事前対数尤度比は、第3のmビット加算器21mにより生成されることとなる。
【0068】
また、第1のターボ復号化回路21は、シフトレジスタ(Shift Register)21nを備えている。シフトレジスタ21nには、第1のSISO復号化部21fから出力される外部値Aが記録される。シフトレジスタ21nは、第2のSISO復号化部21jから外部値Bが出力されてデインターリーブ部21kにてデインターリーブされるまで、外部値Aの出力を待機し、その後、外部値Aを出力する。換言すると、シフトレジスタ21nは、第2のSISO復号化部21jに入力される外部値Aと同じ値が、第3のmビット加算器21mに入力されるようにする。
【0069】
また、第1のターボ復号化回路21は、相補復号化部(Complementary Decoder)21
pを備えている。相補復号化部21pは、入力値に基づいて演算を行い、事後対数尤度比を出力する。入力値としては、第3のmビット加算器21mから出力された各ビットの事後対数尤度比と、第2のターボ復号化回路22の第3のmビット加算器から出力された各ビットの事後対数尤度比と、冗長ビット列用のレジスタ21d内の各ビットの対数尤度比とがある。相補復号化部21pは、具体的には、図14に例示されるように、第1のmビット加算器215、4個の指数化演算器216a〜216d、第2及び第3のmビット加算器217a、217b、2個の対数化演算器218a、218b、及び、第4のmビット加算器219を含んでいる。第1のmビット加算器215は、入力値を加算して、第2の指数化演算器216bへ出力する。第1の指数化演算器216aには、図12の第3のmビット加算器21mから出力される各ビットの事後対数尤度比(A+B+S)が、入力される。以下、図12の第3のmビット加算器21mから出力される各ビットの事後対数尤度比A+B+S=x1とする。第3の指数化演算器216cには、冗長ビット列用のレジスタ21d内の各ビットの対数尤度比が、入力される。第4の指数化演算器216dは、第2のターボ復号化回路22の第3のmビット加算器から出力された各ビットの事後対数尤度比(A+B+S)が、入力される。以下、第2のターボ復号化回路22の第3のmビット加算器から出力された各ビットの事後対数尤度比A+B+S=x2とする。第1乃
至第4の指数化演算器216a〜216dは、入力された各ビットの対数尤度比を指数化し、ネイピア数eの羃乗となる数値、すなわち、尤度比に変換する。第2のmビット加算器217aは、第1及び第2の指数化演算器216a、216bからそれぞれ出力された尤度比を加算して、第1の対数化演算器218aへ出力する。第3のmビット加算器217bは、第3及び第4の指数化演算器216c、216dからそれぞれ出力された尤度比を加算して、第2の対数化演算器218bへ出力する。第1及び第2の対数化演算器218a、218bは、入力された各ビットの尤度比の自然対数を取って、対数尤度比に変換する。第4のmビット加算器219は、第1の対数化演算器218aから出力された対数尤度比から、第2の対数化演算器218bから出力された対数尤度比を減算して、出力する。
【0070】
なお、図14に例示される相補復号化部21pによる演算の内容は、以下の式(1)で表現される。
【0071】
【数1】
Figure 0005360218
この式(1)において、x1は、図12の第3のmビット加算器21mから出力される事後対数尤度比である。また、x2は、第2のターボ復号化回路22の第3のmビット加算器から出力される事後対数尤度比である。yは、冗長ビットの対数尤度比である。
【0072】
ここで、前述した式(1)の導出について説明する。まず、1つのビットの状態が「0」である確率をP(0)とし、その状態が「1」である確率をP(1)としたとき、対数尤度比は、ln{P(0)/P(1)}と表現される。対数尤度比は、対象とするビットが0の場合に、正の無限大となり、ビットx1が1の場合に、負の無限大となり、ビットx1が0か1かで確率50%のとき、0となる。
【0073】
また、ビットの状態は「1」と「0」の2つしかないので、P(1)=1−P(0)である。これらの式を使うと、対数尤度比xは、x=ln[P(0)/{1−P(0)}]と表現できる。ここで、対数尤度比がXとして、両辺の指数を取ると、以下の式(2)の通りとなる。
exp(X)=[P(0)/{1−P(0)}] …(2)
この式(2)をP(0)について解くと、以下の式(3)の通りとなる。
P(0)=exp(X)/{1+exp(X)} …(3)
また、P(1)=1−P(0)であるから、P(1)は、以下の式(4)の通りとなる。
P(1)=1/{1+exp(X)} …(4)
ここで、P(0)/P(1)は、尤度比であるが、この尤度比の算出においては、「1」の状態の尤度と「0」の状態の尤度との相対関係が判明すればよい。このため、いま、式(3)と式(4)の分母が同じであることを利用して、「0」の状態の尤度を、exp(X)と看做し、「1」の状態の尤度を、1と看做して、議論を進める。
【0074】
以下の説明では、対数尤度比x1、x2で推定されるビットそのものを、単にビットx1、x2のように呼ぶ。本実施形態においては、冗長ビットは、第1及び第2のコードブロックにおける先頭から同一番目のビットの排他的論理和を取ることによって、生成されている。これを考慮すると、第1のコードブロックのビットx1が「0」の状態であるときの(x1,x2,y)の組み合わせには、(0,0,0),(0,1,1)があり、ビットx1が「1」の状態であるときの(x1,x2,y)の組み合わせには、(1,1,0),(1,0,1)がある。従って、ビットx1が「0」の状態となる尤度は、(0,
0,0)となる尤度と、(0,1,1)となる尤度とを加算したものとなり、ビットx1が「1」の状態となる尤度は、(1,1,0)となる尤度と(1,0,1)となる尤度とを加算したものとなる。ここで、例えば、(0,1,1)となる尤度は、ビットx1が「0」の状態となる尤度であるexp(x1)と、ビットx2が「1」の状態となる尤度である1と、ビットyが「1」の状態となる尤度である1とを、合成したものとなる。合成尤度は、尤度同士の乗算により表現されることから、(0,1,1)となる尤度は、exp(x1)と表現される。このことから、ビットx1が「0」の状態となる尤度は、exp(x1+x2+y)+exp(x1)となり、ビットx1が「1」の状態となる尤度は、exp(y)+exp(x2)となる。従って、(x1,x2,y)の組み合わせが事前対数尤度比として与えられたときのビットx1の事後対数尤度比は、式(1)で表される。
【0075】
なお、ここでは、冗長ビットが第1及び第2のコードブロックにおける先頭から同一番目のビットの排他的論理和で作成される場合の相補復号化部21pの処理を例示した。しかし、冗長ビットが、他のビット演算によって生成される場合には、冗長ビットを生成するビット演算に応じて、相補復号化部21pの演算手順を作成すればよい。要するに、第1のターボ復号化回路21において第1のコードブロックの事後対数尤度比x1=A+B+Cが得られ、第2のターボ復号化回路22において第2のコードブロックの事後対数尤度比x2=A+B+Cが得られた場合に、対数尤度x1を事前値として、対数尤度x2と、冗長ビットとによって、事後対数尤度を算出すればよい。
【0076】
第1のターボ復号化回路21のデータブロックの各ビットに対する事後対数尤度比算出処理は、第1のコードブロックの全ビットを用いた処理である。第2のターボ復号化回路22のデータブロックの各ビットに対する事後対数尤度比算出処理も同様である。
【0077】
一方、相補復号化部21pは、冗長ビットの作成に関与したデータブロックのそれぞれのビットと、冗長ビットとによって、データブロックのそれぞれのビットの事後対数尤度比を算出する。したがって、例えば、第1のターボ復号化回路21は、従来のターボ復号処理ではえられなかった第2のターボ復号化回路22での第2のコードブロックの処理結果、すなわち、事後対数尤度x2を得て、第1のコードブロックの各ビットの事後対数尤度x1の精度をさらに高めることができる。同様に、第2のターボ復号化回路22は、従来のターボ復号処理ではえられなかった第1のターボ復号化回路21での第1のコードブロックの処理結果、すなわち、事後対数尤度x1を得て、第2のコードブロックの各ビットの事後対数尤度x2の精度をさらに高めることができる。
【0078】
また、第1のターボ復号化回路21は、図12に示すように、CRC部21qを備えている。CRC部21qがCRC演算部に相当する。CRC部21qは、相補復号化部21pから出力される事後対数尤度比により状態が推定されるビット列についてCRCを行う。すなわち、CRC部21qは、ビット列を表現した多項式を所定の生成多項式で除算し、除算による余りがCRC符号と一致するか否かを、判別する。そして、除算による余りがCRC符号と一致していなかった場合、すなわち、符号誤りが検出された場合、CRC部21qは、相補復号化部21pから出力された各ビットの事後対数尤度比を、そのまま、第4のmビット加算器21rへ出力する。一方、除算による余りがCRC符号と一致していた場合、すなわち、符号誤りが検出されなかった場合、CRC部21qは、各ビットの事後対数尤度比の絶対値を最大に変更して、第4のmビット加算器21rへ出力する。事後対数尤度比の絶対値を最大に変更に変更するのは、CRC部21qにて得られたCRCによる判定結果、すなわち硬判定結果を対数尤度比として反映するためのである。
【0079】
なお、ビットの状態の信頼度が「1」と「0」とで半々であると、事後対数尤度比は、ゼロになり、ビットが「0」又は「1」であることについての信頼度が高いほど、事後対
数尤度比は、理論的には、正又は負の無限大に近づく。但し、処理上の制限やハードウェア上の制限があるため、現実的には、事後対数尤度比の最大値は、64や128といった値となる。CRC部21qは、制御ユニット21tの制御にしたがって、4個のレジスタ21b、21dに対数尤度比が記録された後、相補復号化部21pからの事後対数尤度比の入力回数が所定回数、例えば8回に到達するまでは、以上の判定処理及び出力処理を行う。要するに、制御ユニット21tは、相補復号化部21pからの事後対数尤度比の入力回数を計数するカウントとして作用する。そして、4個のレジスタ21b、21dに対数尤度比が記録された後、制御ユニット21tの制御にしたがって、相補復号化部21pからの事後対数尤度比の入力回数が所定回数に到達した場合、CRC部21qは、各ビットの事対数尤度比について硬判定を行う。すなわち、CRC部21qは、事対数尤度比が所定の閾値、例えばゼロを超えているか否かに応じて、各ビットの状態(「1」又は「0」)を決定する。その後、制御ユニット21tが、CRC出力信号制御スイッチ21sをイネーブルにアサートし、CRC部21qは、各ビットの状態が決定されたビット列を、符号誤りのない第1のコードブロックとして、図10に示すコードブロック結合ユニット20fへ出力する。CRC部21qが、出力部に相当する。
【0080】
図16は、第1のターボ復号化回路21で実行されるターボ復号処理を示すフローチャートである。この処理では、まず、制御ユニット21tが、繰り返し数nとして所定の値を設定する(F1)。所定の値は、例えば、外部からユーザが設定するパラメータ値であってもよい。また、制御ユニット21tが、実行回数カウンタi、メモリA,メモリB、メモリCの値を0に初期化する(F2)。なお、制御ユニット21tは、メモリ上に実行可能に展開されたコンピュータプログラムを実行することによって、機能するものでもよい。また、制御ユニット21tは、F1、F2の初期設定および実行回数を計数し、所定値に達したか否かを判定する制御回路であってもよい。なお、メモリAの値は、第1のSISO復号化部21fが、出力する事後対数尤度比の増分値、すなわち、外部値に相当する。また、メモリBの値は、第2のSISO復号化部21が、出力する事後対数尤度比の増分値、すなわち、外部値に相当する。また、メモリCの値は、相補復号化部21pが、出力する事後対数尤度比の増分値、すなわち、外部値に相当する。そして、対数尤度比演算器21aが組織ビット列中の現在処理中のビットから対数対数尤度比Sを算出する。
【0081】
次に、第1のSISO復号化部21fが、組織ビット列の現在処理中のビットから算出された対数対数尤度比S、第1の検査ビット列、メモリB、およびメモリCの値を入力し、SISO復号結果aを得る(F3)。SISO復号結果aは、入力された組織ビット中の当該ビットに対する事後対数尤度比に相当する。以下、入力された組織ビット中の当該ビットに対する事後対数尤度比を情報ビットLLRと呼ぶ。そして、第1のSISO復号化部21fが、情報ビットLLRから、対数対数尤度比S、メモリB、およびメモリCの値を減算し、新たな増分値としてメモリAに格納する(F4)。なお、対数対数尤度比S、メモリB、およびメモリCの合計値は、事前対数尤度比に相当する。
【0082】
次に、第2のSISO復号化部21jが、対数対数尤度比S、メモリ、およびメモリCの値をインターリーブしたものと、第2の検査ビット列を入力し、SISO復号結果bを得る(F5)。そして、第2のSISO復号化部21jが、復号結果bをデインターリーブし、情報ビットLLR S、メモリA、メモリCの値を減算し、新たな増分値としてメモリBに格納する(F6)。
【0083】
次に、相補復号化部21pが、冗長ビットに基づく対数対数尤度比と、すべてのコードブロックからのメモリA、メモリB、および情報ビットLLR S相当のデータを入力し、演算結果cを得る。演算結果cは、コードブロック間の検査ビットである冗長ビットを反映した、情報ビットの対数対数尤度比である。
【0084】
次に、CRC部21は、演算結果cのCRCを実行する。CRC結果がエラーなしの場合、CRC部21は、cの絶対値を最大値として、メモリc1に格納する。一方、CRC結果がエラーの場合、CRC部21は、cの値をそのまま、メモリc1に格納する(F8)。
【0085】
次に、mビット加算器21rは、メモリc1から情報ビットLLR S、メモリA、メモリBの値を減算し、新たな増分値としてメモリCに格納する(F9)。そして、制御ユニット21tは、カウンタiを1インクリメントする(F10)。そして、制御ユニット21tは、カウンタiが繰り返し数nを超えたか否かを判定する(F11)。カウンタiが繰り返し数nを超えていない場合、制御ユニット21tは、第1のターボ復号化回路21を処理F3に制御する。一方、カウンタiが繰り返し数nを超えた場合、制御ユニット21tは、CRC出力信号制御スイッチ21sをイネーブルにアサートし、CRC部21qによる硬判定結果を出力する。以上の処理は、第2のターボ復号化回路22等、他のコードブロックに対する復号化回路でも同様に実行される。
【0086】
実施例1では、図16の処理は、図12から図14のハードウェア回路で実行される処理として説明した。しかし、例えば、図16の処理をCPU、DSP(Digital signal processor)等のプロセッサがメモリ上に実行可能に展開されたコンピュータプログラムを実行することで、行ってもよい。
【0087】
《効果》
本実施形態の送信機10によれば、第1及び第2のターボ符号化回路13、14が、第1及び第2のコードブロックをそれぞれターボ符号化するとともに、冗長ビット生成回路15が、第1及び第2のコードブロックに相関を与える冗長ビット列を生成する。このため、第1及び第2のコードブロックは、ターボ符号化された際、冗長ビットによって互いに相関を持つようになる。
【0088】
本実施形態の受信機20内の第1及び第2のターボ復号化回路21、22によれば、第1及び第2のSISO復号化部が、互いに外部値を供給するのではなく、第1及び第2のSISO復号化部と相補復号化部とが、互いに外部値を供給する。而も、相補復号化部は、第3のmビット加算器から出力される対数尤度比と、他のターボ復号化回路の第3のmビット加算器から出力される対数尤度比と、冗長ビット列の対数尤度比とを、事前対数尤度比ととして、事後対数尤度比を生成する。このように、ターボ符号化されたコードブロックの軟判定復号は、自コードブロックに係る情報によってのみ行われるだけではなく、他のコードブロックの軟判定復号の結果と、他のコードブロックについて相関を持つ冗長ビットとによっても、行われることとなる。このため、第1及び第2のコードブロックの何れかから符号誤りが訂正される確率は、第1及び第2のコードブロックが個別にターボ復号化される場合に比べて、くなる。
【0089】
図15は、ブロック誤り率とシンボル当たりのエネルギー対ノイズ密度の比との関係をグラフとして示す図である。
【0090】
図15に示すグラフは、AWGN[Additive White Gaussian Noise]環境において、
コードブロック数を8とし、符号化率を1/3としたときのシミュレーション結果である。図15において、縦軸は、ブロック誤り率を示し、横軸は、シンボル当たりのエネルギー対ノイズ密度の比を示している。図15には、2本のグラフが示されている。右側のグラフは、第1及び第2のSISO復号化部を持ち相補復号化部を持たない従来のターボ復号化回路における測定結果を示す。左側のグラフは、第1及び第2のSISO復号化部を持つとともに相補復号化部をも持つ本実施形態のターボ復号化回路における測定結果を示す。図15に示されるように、本実施形態のブロック誤り率は、横軸の値、すなわち、シ
ンボル当たりのエネルギー対ノイズ密度の比が1以上の時に、従来例のブロック誤り率の1/10以下になっている。
【0091】
このように、本実施形態によれば、誤り訂正について高い特性が得られるため、コードブロック分割処理が行われるデジタル通信の信頼性が、向上することとなる。
【0092】
また、本実施形態によれば、冗長ビット生成回路15は、第1及び第2のコードブロックにおける先頭から同一番目のビット同士の排他的論理和を取る。このため、簡単な回路構成により冗長ビットを生成することができる。従って、回路規模や処理時間は、従来のターボ符号化回路に比べて殆ど増えることがない。
【0093】
また、本実施形態によれば、CRC部21qは、事後対数尤度比を生成する度にCRCを行う。そして、事後対数尤度比の生成回数が所定回数に到達する前に、符号誤りが検出されなくなると、事後対数尤度比の絶対値を最大にして第4のmビット加算器21rへ出力する。これにより、他のターボ復号化回路の相補復号化部には、絶対値が最大の対数尤度比が供給されることとなる。このため、この他のターボ復号化回路の相補復号化部は、事後対数尤度比の生成回数が所定回数に到達する前に、信頼度の高い対数尤度比を用いて軟判定復号を行うことができる。この結果、誤り訂正復号化ユニット20eは、誤り訂正について高い特性を得ることができる。
【0094】
すなわち、実施例1の受信機によれば、ターボ符号化されたコードブロックの軟判定復号は、自コードブロックに係る情報によってのみ行われるだけではなく、他のコードブロックの軟判定復号の結果と、他のコードブロックについて相関を持つ冗長ビットとによっても、行われることとなる。このため、複数のコードブロックの何れかから符号誤りが検出される確率は、コードブロックが個別にターボ復号化される場合に比べて、低くなる。
【0095】
また、本実施例の送信機10および受信機20では、情報ビット列を複数のコードブロックに分割して、授受する。このような分割を行わない場合には、送信機10および受信機20は、誤り訂正符号におけるbit数を物理チャネルのbit数に合わせるために、同じbitを繰り返し、あるbitを省く処理を実行する。誤り訂正符号のbit数が増えると、誤り訂
正符号におけるbit数を物理チャネルのbit数に合わせる処理のパラメータ計算の負荷が重くなる。本実施例の送信機10および受信機20では、情報ビット列を複数のコードブロックに分割するので、1つのコードブロックのbit数を使ってパラメータを計算し、計算
したパラメータを各コードブロックで流用することができる。本実施例の送信機10および受信機20では、誤り訂正符号におけるbit数を物理チャネルのbit数に合わせる処理の負荷を抑制した上で、誤り訂正の信頼性を高めることができる。
【0096】
《第1の変形形態》
先に説明した本実施形態では、送信機10のコードブロック分割ユニット10bは、ビット列を2個のコードブロックに分割しているため、受信機20の誤り訂正復号化ユニット20eには、2個のターボ復号化回路が備えられている。送信機10のコードブロック分割ユニット10bが、ビット列を3個以上に分割するものである場合、受信機20の誤り訂正復号化ユニット20eには、分割数と同数のターボ復号化回路が備えられる。このような形態においては、ターボ復号化回路内の相補復号化部には、他の全てのターボ復号化回路から、対数尤度比が入力されることとなる。
【0097】
例えば、分割数が3である場合、冗長ビットは、第1乃至第3のコードブロックにおける先頭から同一番目のビットの排他的論理和を取ることにより、生成される。ここで、第3のコードブロックのビットの対数尤度比を、x3と表すと、第1のコードブロックのビットx1が「0」の状態であるときの(x1,x2,x3,y)の組み合わせには、(0
,0,0,0),(0,0,1,1),(0,1,0,1),(0,1,1,0)がある。また、第1のコードブロックのビットx1が「1」の状態であるときの(x1,x2,x3,y)の組み合わせには、(1,0,0,1),(1,0,1,0),(1,1,0,0),(1,1,1,1)がある。このため、「0」の状態の尤度を、exp(X)と看做し、「1」の状態の尤度を、1と看做すと、ビットx1が「0」の状態となる尤度は、先の議論と同様に、exp(x1+x2+x3+y)+exp(x1+x2)+exp(x1+x3)+exp(x1+y)となる。また、ビットx1が「1」の状態となる尤度は、exp(x2+x3)+exp(x2+y)+exp(x3+y)+1となる。従って、分割数が3である場合、各ターボ復号化回路内の相補復号化部は、以下の式(5)の演算を行うものとなる。
【0098】
【数2】
Figure 0005360218
【0099】
《第2の変形形態》
先に説明した本実施形態及び第1の変形形態では、相補復号化部は、式(1)又は式(5)の演算を行うものとなっている。しかしながら、式(1)又は式(5)の演算は、例えば図14に示されるように、対数と指数とを変換する演算が必要であるため、演算量が多い。そこで、相補復号化部は、max−log−MAPと同様の議論により、式(1)又は式(5)の演算を行うものであってもよい。例えば、式(1)は、以下の式(6)のように展開できる。
【0100】
【数3】
Figure 0005360218
ここで、max(a,b,c,…)は、集合(a,b,c,…)の中の最大値を示す。そして、ln{1+exp(−|J|)}におけるJが十分に大きい場合、ln{1+exp(−|J|)}は、1に近似できるため、これを用いて式(6)を変形すると、以下の式(7)の通りとなる。
【0101】
【数4】
Figure 0005360218
この式(7)は、以下の式(8)に展開できる。
【0102】
【数5】
Figure 0005360218
ここで、sgn(Z)は、Zの符号(+又は−)を示す。また、min(a,b,c,…)は、集合(a,b,c,…)の中の最小値を示す。
【0103】
各ターボ復号化回路の相補復号化部が、以上の式(8)の演算を行うものとなっていれば、より演算量が減ることとなる。
【0104】
《第3の変形形態》
上記実施例1では、第1のターボ復号化回路21には、CRC部21qを用いる処理例を示した。しかし、本実施例の第1のターボ復号化回路21において、CRC部21qの代わりに他のブロック符号による誤り検出部を用いてもよい。
【0105】
上記実施例1では、第1のターボ復号化回路21と第2のターボ復号化回路22とが、コードブロックに対する復号化を並列して実行する処理を説明した。しかし、例えば、回路規模を小さくするため、ターボ復号化回路を1つだけ備えるようにしてもよい。そして、1つのターボ復号化回路が、複数のコードブロックを逐次処理し、複数のコードブロックに対する情報ビットLLR Si、メモリAi、メモリBi(i=1,2、...)を得た後、相補復号化部21pが、それぞれのコードブロックに対して、冗長ビットに基づく演算を行い、CRC部21qによるCRCを行ってもよい。すなわち、複数のコードブロックを記憶するメモリ、情報ビットLLR Si、メモリAi、メモリBiを保持することで、処理は逐次処理となるが、復号回路の回路規模を小さくできる。
【実施例2】
【0106】
図17から図21の図面を参照して、実施例2に係る符号化装置50および復号化装置60を説明する。本実施例では、コードブロック間の検査ビットによる対数尤度比を求める相補復号化部を低密度パリティ検査符号(以下、LDPC)による誤り訂正符号化ユニットおよび誤り訂正復号化ユニットに適用する。また、実施例2においても、実施例1と同様、誤り訂正符号化ユニットは、送信機の一部として、また、誤り訂正復号化ユニットは、受信機の一部として説明する。実施例2の送信機および受信機の構成のうち、低密度パリティ検査符号による誤り訂正符号化ユニットおよび誤り訂正復号化ユニット以外の構成は、実施例1と同様である。そこで、実施例2の構成要素のうち、実施例1と同様の構成要素については、同一の符号を付してその説明を省略する。
【0107】
LDPCの符号化は、生成行列Gを用いて行う。生成行列Gは、列数が情報bit数、行
数が情報bit数+Parity bit数の行列である。情報bitを列ベクトルs=(s1,s2,.
..,sm)として、左から生成行列Gに乗算することにより、Z=sGによって、送信系列Z(情報bit+Parity bit)が得られる。ただし、生成行列Gが、検査行Hに対して、GHt=0を満たす。ここで、Htは、検査行列Hの転置行列である。したがって、t=Z t=sG t=0となり、送信系列Zは、検査行列による検査式を満たす。
【0108】
図17に、実施例2に係る送信機50を示す。なお、図17では、送信機50の構成のうち、誤り訂正符号化ユニット50cと、レートマッチングユニット10dとが明示されている。したがって、図17では、誤り訂正符号化ユニット50cに、コードブロックを入力するコードブロック分割ユニット10bからバイナリソース側の構成が省略されている。また、レートマッチングユニット10dから送信アンテナ側の構成が省略されている。また、レートマッチングユニット10dの構成および作用は、実施例1の場合と同様である。
【0109】
また、誤り訂正符号化ユニット50cは、2つのLDPC符号化ユニット53、54、および冗長ビット生成回路15を含む。このうち、冗長ビット生成回路15は、コードブロック間の検査ビットを生成する。冗長ビット生成回路15の構成および作用は、実施例1の場合と同様である。
【0110】
LDPC符号化ユニット53、54は、それぞれ、例えば、図2に示したコードブロック分割ユニット10bから、情報ビット列を分割したコードブロックを受け取り、並列にLDPCに符号化する。すなわち、LDPC符号化ユニット53、54は、それぞれ、受け取ったコードブロックに生成行列Gを乗算する。LDPC符号化ユニット53、54は、例えば、積和回路を含む電子回路で構成できる。ただし、CPU、DSP等がメモリ上に実行可能に展開されたコンピュータプログラムを実行することによって、符号化処理を行うようにしてもよい。
【0111】
レートマッチングユニット10dは、LDPC符号化ユニット53、54で生成されたコードブロックのLDPCと、冗長ビット生成回路15で生成されたコードブロック間の検査ビットである、冗長ビットを後段の回路、例えば、図2に示した変調ユニット10e、周波数アップコンバータ10f等に引き渡す。
【0112】
図18に、実施例2に係る受信機60の構成を例示する。実施例2の受信機60の構成は、誤り訂正復号化ユニット20eに代えて誤り訂正復号化ユニット60eを用いる点以外は、図10に示した実施例1の受信機20と同様である。ただし、図18では、レートデマッチングユニット20dと、レートデマッチングユニット20dのから受信ビット列を入力される誤り訂正復号化ユニット60eと、コードブロック結合ユニット20fが例示されている。
【0113】
図18に示すように、誤り訂正復号化ユニット60eは、LLR生成ユニット66と、LDPCユニット64と、硬判定ユニット67と、制御ユニット65とを有する。LLR生成ユニット66は、受信ビットをLLRに変換する。受信ビットをLLRに変換した値は、各ビットに対応するLLRの初期値ということができる。LLR生成ユニット66の処理は、実施例1の対数尤度比演算器21aあるいは対数尤度比演算器21cと同様である。LLR生成ユニット66は、生成したLLRをLDPCユニット64に入力する(矢印s)。また、LLR生成ユニット66は、コードブロック間パリティである冗長ビットをLLRに変換して、LDPCユニット64に入力する(矢印p)。
【0114】
また、硬判定ユニット67は、LDPCユニット64によって、復号処理がなされた後の事後対数尤度比を基に、硬判定を行い、ビット0または1を確定する。例えば、事後対数尤度比が正ならばビット0として、負ならばビット1とする。さらに、硬判定ユニット67は、得られたコードブロックのビット列Zに対して、検査行列Tを乗算し、パリティ検査を実行する。パリティ検査は、t=0か否かを判定する。硬判定ユニット67が
、出力部に相当する。
【0115】
制御ユニット65は、LLR生成ユニット66、LDPCユニット64および硬判定ユニット67のデータフローを制御するとともに、LDPCユニット64での復号処理の反復回数を制御する。
【0116】
図19に、LDPCユニット64の詳細構成を例示する。図19に示すように、実施例2のLDPCユニット64は、複数のメッセージノード処理部61−1、61−2等と、複数のチェックノード処理部62−1、62−2等と、相補復号化部63とを有する。以下、複数のメッセージノード処理部61−1、61−2等を総称する場合には、単に、メッセージノード処理部61という。また、複数のチェックノード処理部62−1、62−2等を総称する場合には、単に、チェックノード処理部62という。メッセージノード処理部61が、情報ビット演算部に相当する。また、チェックノード処理部62がチェック演算部に相当する。
【0117】
このうち、チェックノード処理部62は、LDPC復号における行処理を実行する。L
DPC復号における行処理では、チェックノード処理部62は、検査行列Hの要素Hmn=1を満たす(m,n)について、行mごとに、検査行mに参加するビット列の集合に対して、情報ビットのn番目のビットの対数尤度比LLRを算出する。ただし、行mごとに算出されるn番目のビットの対数尤度比LLRは、部分対数尤度比と呼ばれる。さらに、チェックノード処理部62は、算出した部分対数尤度比から前回算出した部分対数尤度比を減算することにより、部分対数尤度比の増分値、すなわち、検査行列の行ごとの外部値を算出する。
【0118】
一方、メッセージノード処理部61は、LDPC復号における列処理を実行する。列処理では、メッセージノード処理部61は、検査行列Hの要素Hmn=1を満たす(m,n)について、列ごとに、情報ビットのn番目のビットの部分対数尤度比の増分値を加算することで、事後の対数尤度比LLRを算出する。なお、事後の対数尤度比LLRは、反復処理における次回の処理では、事前の対数尤度比LLRとなる。
【0119】
図19に示すメッセージノード処理部61、およびチェックノード処理部62は、検査行列に基づくタナーグラフに対応する構成としてしてもよい。すなわち、LDPCの符号語のビット数だけメッセージノードを設けてもよい。また、検査行列の行処理、すなわち、パリティ検査式に対応して、検査行列の行数分のチェックノード処理部62を設けてもよい。また、メッセージノード処理部61あるいはチェックノード処理部62は、ハードウェア回路で構成してもよい。また、メッセージノード処理部61あるいはチェックノード処理部62のハードウェア回路は、処理能力と要求される処理速度との関係から、集約してもよい。例えば、複数のメッセージノード処理部61として、複数のビットを処理するハードウェア回路を設けてもよい。また、複数のチェックノード処理部62として、検査行列の複数行の処理を実行するハードウェア回路を設けてもよい。
【0120】
また、CPU、DSP等のプロセッサが、メッセージノード処理部61あるいはチェックノード処理部62として、メモリ上に展開されたコンピュータプログラムを実行するようにしてもよい。CPU、DSP等のプロセッサが、メッセージノード処理部61あるいはチェックノード処理部62として機能する場合に、プロセッサの数は、要求される処理速度から決定すればよい。例えば、単一のCPUあるいはDSPが、すべてのメッセージノード処理部61あるいはチェックノード処理部62の処理を実行するようにしてもよい。また、個々のメッセージノード処理部61あるいはチェックノード処理部62ごとにCPUあるいはDSPを設けてもよい。
【0121】
図20に、検査行列に対応するタナーグラフの例を示す。タナーグラフにおいて、メッセージノードは、符号語のビットに対応し、チェックノードは、検査行列の行に対応する。また、メッセージノードと、チェックノードとを接続する線は、検査行列(Hmn)(m=1,...M,n=1,...N)において、要素Hmn=1によって、検査行列の第m行で検査される符号語の第n番目のビットと検査行列の第m行との関係を示している。
【0122】
図20のように、あるチェックノードに接続されるメッセージノードが3個である場合を考える。そのチェックノードに接続されるメッセージノードが3個である場合とは、検査行列(Hmn)において、該当する行に値1の要素が3個含まれる場合に相当する。この場合に、パリティ検査式=0となる符号語の場合、3つのメッセージノードMN0,MN1,MN2の値を(MN0の値 MN1の値 MN2の値)で表すと、以下の場合が考えられる。(000)、(011)、(101)、(110)。
【0123】
したがって、3つのメッセージノードのうちの1つが0となる確率は、他の2つのメッセージノードの値として、1が偶数個含まれる場合に高くなる。すなわち、3つのメッセ
ージノードのうちの1つのメッセージノードが0となる対数尤度比のうち、検査行列の1つの行に対応する部分対数尤度比は次のように求めることができる。すなわち、部分対数尤度比は、部分対数尤度比を求めるメッセージノードを除く、他の2つのメッセージノードの値を(0,0)または(1,1)にする確率を反映したものとなる。
【0124】
そこで、部分対数尤度比を生成されるメッセージノードをMN2とし、他の2つのメッセージノードMN0およびMN1の値をx(0)およびx(1)とすると、メッセージノードをMN2に送信すべき部分対数尤度比y(i)は、以下の数6で表すことができる。なお、数6では、メッセージのノードx(0)、x(1)のLLRをx(0)、x(1)としている。
【0125】
【数6】
Figure 0005360218
数6の分子は、2つのメッセージノードのうち、偶数個がビット1である確率に相当し、分母は、2つのメッセージノードのうち、奇数個がビット1である確率に相当する。
【0126】
図20に示したタナーグラフでは、チェックノードに接続される3つのメッセージノードのうち、2つのメッセージノードを選択し、それぞれのLLR値から、数6にしたがって、LLRであるy(i)を算出し、算出された部分対数尤度比の増分をメッセージノードxiに送信する。部分対数尤度比の増分は、数6で算出されたy(i)から、前回算出された部分対数尤度比を減算した値である。
【0127】
さらに、数6の部分対数尤度比をメッセージノードの組み合わせMN0とMN2についても算出し、算出された部分対数尤度比の増分をメッセージノードMN1に送る。また、数6の部分対数尤度比をメッセージノードの組み合わせMN1とMN2についても算出し、算出された部分対数尤度比の増分をメッセージノードMN0に送る。以上の処理によって、チェックノードによる1回の処理とする。
【0128】
なお、チェックノードに接続されるメッセージノードが4個存在する場合、4個のチェックノードを、部分対数尤度比y(i)を算出するための3つのチェックノードと、部分対数尤度比の増分を受けるメッセージノードMNiに分け、以下の数7による部分対数尤度比y(i)を算出する。
【0129】
【数7】
Figure 0005360218
【0130】
数7の分子は、3つのメッセージノードのうち、偶数個がビット1である確率に相当し、分母は、3つのメッセージノードのうち、奇数個がビット1である確率に相当する。
【0131】
数6あるいは数7を一般化すると、以下の数8で示すことができる。
【0132】
[数8]
y(i)=ln(チェックノードに接続されるメッセージノードのうち、ビットが1であるメッセージノードが偶数個である確率/チェックノードに接続されるメッセージノードのうち、ビットが1であるメッセージノードが奇数個である確率);
【0133】
一方、それぞれのメッセージノードでは、チェックノードから送られたLLR(部分対数尤度比)の増分値をx(i)とすると、以下の数によって、更新後のLLRであるzを算出する。
【0134】
[数9]
z=y+Σx(i)
【0135】
ここで、Σは、メッセージノードに接続されるチェックノードについての加算である。また、Σは、検査行列(Hmn)のうち、Hmn=1となる列nでの符号語n(=1,...,N)についての部分対数尤度比の加算ということができる。また、yは、前回のzの値である。
【0136】
図21に、実施例2に係る誤り訂正復号化ユニット60eの処理手順を示す。図21の処理は、図19に示したメッセージノード処理部61とチェックノード処理部62との協働処理によって実行される。ただし、例えば、CPUあるいはDSP(Data Signal Processor)が、コンピュータプログラムを実行することによって、図21の処理を実行して
もよい。
【0137】
この処理では、まず、相補復号化部63に、受信コードブロック間パリティ、すなわち、冗長ビットのLLRが入力される(F22)。例えば、図18に示したLLR生成ユニット66が、受信データから分離した冗長ビットをLLRに変換して相補復号化部63に入力する。
【0138】
次に、メッセージノード処理部61に1つずつ、受信情報ビットまたはパリティビットが入力される(F23)。例えば、図18に示したLLR生成ユニット66が、受信データから分離した受信情報ビットおよびパリティビットをLLRに変換し、それぞれの受信情報ビットおよびパリティビットを処理するメッセージノード処理部61に入力する。
【0139】
次に、制御ユニット65が、繰り返し回数nを設定する(F24)。繰り返し回数は、相補復号化部63、メッセージノード処理部61、およびチェックノード処理部62による一連の処理を繰り返す回数である。そして、制御ユニット65が、繰り返し回数のカウンタ値iを0に初期化する(F25)。そして、以下の復号処理が繰り返して実行される。
【0140】
まず、メッセージノード処理部61は、タナーグラフで接続されるチェックノード処理部62に送信するLLRを算出する。メッセージノード処理部61は、検査行列の各行の検査式を担当するチェックノードに、自メッセージノードでのLLRを、いわゆる事前値として送信する(F26)。
【0141】
ただし、タナーグラフで接続されるチェックノード処理部62から前回送られてきたLLRを、自メッセージノードでのLLRから減算しておく。以下、タナーグラフで接続されるチェックノード処理部62から前回送られてきたLLRを部分対数尤度比の前回値と呼ぶことにする。
【0142】
自メッセージノードでのLLRから部分対数尤度比の前回値を減算する理由は、次の通りである。部分対数尤度比は、タナーグラフで接続されるチェックノード処理部62が、
自メッセージノード以外の他のメッセージノードのLLRを基に、検査行列の行に相当する検査式にしたがって算出した値である。チェックノードでの次の部分対数尤度比を算出したときには、部分対数尤度比の前回値に相当する情報は、チェックノードに接続される他のメッセージノードにおいてさらに更新された後に、他のメッセージノードからチェックノードに送信されることになる。したがって、自メッセージノードでのLLRから部分対数尤度比の前回値を減算するのである。そして、メッセージノード処理部61は、タナーグラフで接続されるチェックノード処理部62に、部分対数尤度比の前回値を減算したLLRを送信する。ただし、F26の処理が第1回目の繰り返しでなされる場合には、受信情報ビットから算出されたLLRの初期値をそのままチェックノードに送信すればよい。
【0143】
なお、タナーグラフで接続されるチェックノード処理部62と、メッセージノード処理部61は、検査行列(Hnm)の各行で、Hnm=1となる列によって規定される。すなわち、Hnm=1となる列に該当する受信ビットを処理するメッセージノード処理部61と、当該行に相当するチェックノード処理部62とによって、タナーグラフが形成される。したがって、F26の処理は、検査行列(Hnm)の各行で、Hnm=1となる列に該当するメッセージノード処理部61から、それぞれの行に相当するチェックノード処理部62へのLLRの事前値を送信する処理ということができる。
【0144】
次に、チェックノード処理部62は、タナーグラフの各線ごとに、その線以外の線から送信されたLLRを用いて、LLRを算出する。LLRは、数6から数8で例示される。数6は、チェックノードに接続されるメッセージノードが3個の例であり、検査行列(Hmn)で、Hmn=1となる要素を3個含む行に対応する検査式の場合である。また、数7は、チェックノードに接続されるメッセージノードが4個の例であり、検査行列(Hmn)で、Hmn=1となる要素を4個含む行に対応する検査式の場合である。なお、検査行列の行に含まれるHmn=1となる要素の個数が、3個あるいは4個以外の場合も同様に算出できる。以下、各線用に求めたLLRを部分対数尤度比と呼ぶ。各線用に求めたLLRを部分対数尤度比と呼ぶ理由は、部分対数尤度比が検査行列の1つの行に対応する検査式から得られる情報に相当するからである。メッセージノード側では、複数の行に相当する複数のチェックノードからの部分対数尤度比を基に、次のLLRを算出することになる。
【0145】
そして、チェックノード処理部62は、各線用に求めたLLR(部分対数尤度比)から、前回のLLRを減算することで、各線用のLLR(部分対数尤度比)の増分を求める(F27)。
【0146】
そして、チェックノード処理部62は、各線用に求めたLLR(部分対数尤度比)の増分をメッセージノード処理部61に送信する(F28)。
【0147】
そして、メッセージノード処理部61で、タナーグラフで接続されるチェックノード処理部62から送られてきたLLR(部分対数尤度比)の増分に基づき、メッセージノードのLLRを更新する(F29)。メッセージノードのLLRは、例えば、数9によって算出される。F29の処理は、検査行列の列方向に対するLLR(部分対数尤度比)の増分の加算処理ということができる。このメッセージノードのLLRは、当該メッセージノードが担当するビットの現在の信頼度情報ということができる。
【0148】
次に、メッセージノード処理部61は、相補復号化部63に、メッセージノードのLLRを送信する(F30)。
【0149】
次に、相補復号化部63は、各コードブロックのビットに対応するメッセージノードか
ら送信されたLLRと冗長ビットを基に、LLRを更新する(F31)。F31の処理は、実施例1の相補復号化部21pの処理と同様である。F31の処理は、コードブロック間のパリティを用いて、メッセージノードのLLRの信頼度をさらに高める処理ということができる。
【0150】
そして、相補復号化部63は、F31の処理でのLLR送信元のメッセージノードに、更新後のLLRを送信する(F32)。
そして、メッセージノード処理部61は、相補復号化部63から送信されたLLRを更新後のLLRとする(F33)。すなわち、F33の処理は、相補復号化部63から送信されたLLRで、メッセージノード処理部61のLLRを置き換える処理である。
【0151】
そして、F33の処理後に、カウンタiが1インクリメントされる(F34)。カウンタiは、例えば、相補復号化部63からのデータ送信をトリガにして、インクリメントする回路とすればよい。ただし、図20の処理がコンピュータプログラムを実行するCPUあるいはDSPで実行される場合には、F34は、プログラム中の変数のインクリメントである。
【0152】
そして、図示しない比較器によって、カウンタiと、繰り返し回数nが比較される(F35)。そして、カウンタiが繰り返し数nより小さい場合には、F26の処理に制御が移される。F26の処理では、各メッセージノードは、タナーグラフで接続されるチェックノード処理部62から前回送られてきたLLRを、自メッセージノードでの現在のLLRから減算する。そして、各メッセージノードは、タナーグラフで接続されるチェックノードにLLR(事前値)を送信する。
【0153】
一方、F35の判定で、カウンタiが繰り返し数n以上となった場合には、制御部35が、硬判定処理およびパリティ検査を実行する(F36)。すなわち、硬判定処理によって、LLRから符号語(推定語)のビットが生成される。そして、符号語と検査行列が乗算されてパリティ検査が実行される。符号語と検査行列との乗算結果=0、すなわち、パリティ検査結果が正常であると、符号語が出力される。なお、符号語と検査行列との乗算結果!=0、すなわち、パリティ検査結果が正常でない場合、エラーが報告される。
【0154】
なお、硬判定処理およびパリティ検査は、専用の演算回路、例えば、コンパレータ、あるいは、積和演算を実行する演算回路等が実行するようにしてもよい。
【0155】
以上述べたように、本実施例の符号化装置50、復号化装置60によれば、データブロックごとに、低密度パリティ符号で符号化してコードブロックを生成し、それぞれのコードブロックに対して、メッセージノード処理部61でのLLR(事前値)の生成と、チェックノード処理部62でのLLR(部分対数尤度比)の生成を繰り返して実行する。さらに、各繰り返しにおいて、データブロック間で生成したパリティを基に、それぞれのデータブロックのビットのLLRを生成する。したがって、従来のように、個々のデータブロック内のデータを誤り訂正符号化したコードブロックに対して低密度パリティ符号の復号を実行する場合と比較して、複数データブロックにまたがる情報から、符号語の推定ができる。したがって、例えば、1つのデータブロックに、雑音等の障害原因が集中したような場合でも、他のデータブロックの情報を基に、誤り訂正できる可能性を高めることができる。
【0156】
なお、図21の処理では、メッセージノード処理部61,チェックノード処理部62、および相補復号化部63が、固定の回数n分の処理を繰り返す例を示した。図21の処理に代えて、各回数の処理の最後、例えば、相補復号化部63からメッセージノード処理部61にLLRが戻されたときに、一旦硬判定を行い、コードブロックのビット列sを求め
るようにして良い。そして、検査行列によるパリティ検査、すなわち、t=0か否
かのチェック処理を実行するようにしてもよい。そして、処理回数nの完了前であっても、検査行列による検査式t=0が満たされたときに、復号処理を終了するようにし
てもよい。
【0157】
また、図19−図21では、タナーグラフにしたがってLDPCの復号処理を説明した。しかし、タナーグラフ自体は、LDPCの復号処理を説明するための概念であって、復号化装置60がタナーグラフによって限定を受ける訳ではない。すなわち、図18に示したLDPCユニット64は、検査行列にしたがって、行方向の演算、すなわち、数6から数8の式にしたがって、LLR(部分対数尤度比)を求めればよい。また、LDPCユニット64は、検査行列にしたがって、列方向の演算、すなわち、数9にしたがって、それぞれのビットのLLRを算出すればよい。したがって、LDPCユニット64のハードウェア構成が、タナーグラフに厳密に対応する必要はない。ただし、例えば、CPU、DSPが実行するコンピュータプログラムのモジュールの分割をタナーグラフのメッセージノードと、チェックノードにしたがって行ってもよい。すなわち、メッセージノードごと、チェックノードごとにモジュールを構成し、互いに通信しつつ、反復復号する構成としてもよい。
【実施例3】
【0158】
図22に、実施例3に係る復号化装置の構成を例示する。図22の復号化装置は、例えば、送信機で符号化され、送信機から送信されたデータを受信する受信機、例えば、携帯電話、データ通信端末、あるいは、テレビジョン放送の受信機に内蔵される。また、例えば、音、音声、映像、テキスト、グラフィックス等が符号化されたデータを格納した記憶媒体、あるいは、記憶装置のデータを再生装置に内蔵することができる。
【0159】
図22のそれぞれの構成要素は、それぞれのデジタル信号処理を実行するハードウェア回路として例示できる。ただし、図22に示したそれぞれの構成要素として、CPU、DSP等のプロセッサがメモリ上に実行可能に展開にされたコンピュータプログラムを実行してもよい。また、図22の復号化装置が、CPU、DSP等と、ハードウェア回路の両方を含むものでもよい。
【0160】
図22のように、実施例3の復号化装置は、制御部81、入力部82、ブロック内反復演算部83−1、83−2、ブロック間反復演算部84−1、84−2、および出力部85を有する。以下、ブロック内反復演算部83−1、83−2を総称して、ブロック内反復演算部83と称する。また、ブロック間反復演算部84−1、84−2を総称して、ブロック間反復演算部84と称する。
【0161】
制御部81は、復号化装置全体の処理を制御する。例えば、復号化装置の起動、ブロック内反復演算部83、ブロック間反復演算部84の反復制御等を実行する。反復制御は、例えば、ブロック内反復演算部83、ブロック間反復演算部84を固定回数n回反復して実行させる処理である。ただし、例えば、ブロック内反復演算部83、ブロック間反復演算部84によって復号されるデータが所定の基準、例えば、復号されるデータの硬判定結果が、所定の検査条件を満足したときに、ブロック内反復演算部83、ブロック間反復演算部84による反復される処理を停止し、出力部85から硬判定結果を出力させてもよい。
【0162】
入力部82は、入力されるビット列を、コードブロックと冗長ビットに分離する。入力部82は、例えば、実施例1のレートデマッチングユニット20dである。ただし、例えば、アンテナ20aからレートデマッチングユニット20dに至る構成が、入力82に相当する考えることもできる。また、例えば、音、音声、映像、テキスト、グラフィック
スを記録した記録媒体、あるいは、音、音声、映像、テキスト、グラフィックスを記憶する記憶装置から、音、音声、映像、テキスト、グラフィックスを再生する再生装置では、図示しないデータ読み出し部が入力82に相当する考えることもできる。すでに述べたように、冗長ビットは、コードブロックに符号化されるデータブロック間で、ビットの論理演算した結果である。冗長ビットを生成するための論理演算に寄与したデータブロックに対応するコードブロックの組と、冗長ビットとの関係は、予め、送信機と受信機との間、あるいは、記録媒体へデータを記録する記録装置と再生装置の間、記憶装置と再生装置の間で取り決めておけばよい。以下、実施例3では、2つのデータブロックから冗長ビットを生成する場合を想定して説明する。ただし、冗長ビットの生成に寄与するデータブロックの数は、2個に限定されることはなく、3以上のデータブロックから冗長ビットを生成してもよい。
【0163】
例えば、2つのデータブロックから冗長ビットを生成したデータを復号する場合には、図22のように、2つのブロック内反復演算部83−1、83−2を設けることが好ましい。また、3以上のデータブロックから冗長ビットを生成する場合には、冗長ビットの生成に関与するデータブロック分のブロック内反復演算部83を設けることが好ましい。複数のコードブロックを並列に処理できるからである。ただし、ブロック内反復演算部83の処理が要求される復号速度を十分に達成できる場合には、ブロック内反復演算部83が1個設けられてもよい。すなわち、1つのブロック内反復演算部83がシーケンシャルに複数のコードブロックを復号していけゆけばよい。その場合には、反復処理途中のコードブロックを保持するバッファメモリを設ければよい。
【0164】
ブロック内反復演算部83は、コードブロック内のビット列を入力として、コードブロックに誤り訂正符号化されているデータブロック内の信号ビットの信頼度情報を算出し、さらに、算出された信頼度情報を入力として、前記コードブロックに誤り訂正符号化されているデータブロック内の信号ビットの新たな信頼度情報を算出する処理を繰り返す。ただし、新たな信頼度情報を算出するごとに、ブロック内反復演算部83は、算出した信頼度情報をブロック間反復演算部84に引き渡す。ブロック内反復演算部83は、例えば、図12の第1のターボ復号回路22から、相補復号化器21pを除いた構成として例示できる。また、ブロック内反復演算部83は、例えば、図12の第2のターボ復号回路21から、相補復号化器21pを除いた構成として例示できる。また、ブロック内反復演算部83は、例えば、図19のLDPCユニットから、相補復号化器63を除いた構成として例示できる。
【0165】
ブロック間反復演算部84は、それぞれの組に含まれるデータブロック間で生成された冗長ビットのLLRを入力部82から受け取る。また、ブロック内反復演算部83にて新たな信頼度情報が算出されるごとに、算出された信頼度情報をブロック内反復演算部83―1、83−2から受け取る。そして、ブロック内反復演算部83―1、83−2から受け取った信頼度情報を基に、データブロックの組において、冗長ビット生成に寄与したビット間で、さらに、LLRを作成し、作成したLLRをブロック内反復演算部83―1、83−2に戻す。
【0166】
ブロック間反復演算部84は、図12の相補復号化器21p、図19の相補復号化器63と同様である。すなわち、ブロック間反復演算部84は、ブロック内反復演算部83で繰り返し算出されるデータブロック内の信号ビットの信頼度情報を基に、それぞれの組含まれるデータブロック内の冗長ビットの生成に寄与した信号ビットの信頼度を示すブロック間信頼度情報を算出する。そして、ブロック間反復演算部84は、ブロック間信頼度情報を該当する信号ビットの信頼度情報としてブロック内反復演算部83に入力する。ブロック間反復演算部84は、ブロック内反復演算部83の処理と連動して、コードブロック間でのLLR作成処理を繰り返す。
【0167】
図22では、ブロック間反復演算部84は、複数設けられている。ただし、ブロック間反復演算部84は1つであってもよい。すなわち、例えば、ブロック間反復演算部84は冗長ビットの生成に関与した複数のデータブロックに対応するコードブロックの組について、冗長ビットに関与したコードブロックのビットに対するLLRが出そろうまで待つ制御を行う。そして、各コードブロックで、冗長ビットに関与したビットのLLRが出そろったときに、ブロック間反復演算部84は、そのビットのLLRを算出するようにしてもよい。また、複数のコードブロックの組に含まれるいずれか1つのコードブロックについて、冗長ビットに関与したビットのLLRが更新されたとき、他のコードブロックについては、すでに生成済みのLLRを用いて、冗長ビットによるコード間LLRの作成を実行してもよい。いずれにしても、反復処理途中のコードブロックを保持するバッファメモリを設ければよい。
【0168】
以上述べたように、実施例3の復号化装置によれば、信号ビット列が分割されたデータブロックが誤り訂正符号化されたコードブロックからデータブロックを復号する場合に、コードブロック間の冗長ビットによってコードブロック間で、冗長ビットの生成に寄与したビット間でLLRを作成する。冗長ビットの生成に寄与したビット間でLLRは、例えば、実施例1の数1の式(1)で示される。したがって、信号ビット列がデータブロックに分割され、コードブロックに誤り訂正符号化されている場合、コードブロックごとの反復処理によって、軟性判定復号を行う場合でも、他のコードブロックからの情報を取り込むことができる。すなわち、実効的にコードブロックの範囲、すなわち、信号ビット列を分割されたデータブロックの範囲に制限されることなく、広範囲の情報ビット列から、対象とするコードブロックを復号し、データブロックを得ることができる。
【0169】
《その他》
以上に説明した本実施形態並びに第1及び第2の変形形態では、符号化回路及び復号化回路は、ハードウェア要素を含む。ハードウェア要素としては、例えば、FPGA[Field Programmable Gate Array]、ASIC[Application Specific Integrated Circuit]、LSI[Large Scale Integration]、IC[Integrated Circuit]、ゲートアレイ、
論理ゲートがある。論理ゲートとしては、例えば、AND、OR、NOT、NAND、NOR、フリップフロップ、カウンタがある。
【0170】
た、符号化回路及び復号化回路は、ハードウェア要素とソフトウエア要素とを含むものであってもよい。ソフトウエア要素としては、例えば、インターフェースプログラム、ドライバプログラム、モジュールプログラム、コンポーネントプログラム、ファームウエア、オブジェクト、クラス、タスク、プロセス、関数、属性、プロシジャ、サブルーチン、プログラムコード、マイクロコード、コードセグメント、エクストラセグメント、スタックセグメント、テーブル、データ、プログラム領域、データ領域、データ、データベース、データ構造、フィールド、レコード、マトリックス、配列、変数、パラメータがある。
【0171】
また、以上に例示したソフトウエア要素は、何れも、C言語、C++、Java(米国サンマイクロシステムズ社の商標)、ビジュアルベーシック(米国マイクロソフト社の商標)、Perl、Ruby、その他多くのプログラミング言語により記述されたものであってもよい。
【0172】
また、実施例1、実施例2で説明した符号化装置、および復号化装置は、送信機と受信機とに適用できる他、例えば、音声、音、音楽、映像、各種データを格納する記録装置にも適用できる。また、実施例1、実施例2で説明した符号化装置、および復号化装置は、上記記録装置に記録されたデータから、音声、音、音楽、映像、各種データを再生する再
生装置にも適用できる。
【符号の説明】
【0173】
10 送信機
10a バイナリソース
10b コードブロック分割ユニット
10c 誤り訂正符号化ユニット
10d レートマッチングユニット
10e 変調ユニット
10f 周波数アップコンバータ
10g アンテナ
10h 通信制御ユニット
11 第1のCRC符号付加回路
12 第2のCRC符号付加回路
13 第1のターボ符号化回路
13a 第1のRSC符号化部
13b インターリーブ部
13c 第2のRSC符号化部
14 第2のターボ符号化回路
15 冗長ビット生成回路
20 受信機
20a アンテナ
20b 周波数ダウンコンバータ
20c 復調ユニット
20d レートデマッチングユニット
20e 誤り訂正復号化ユニット
20f コードブロック結合ユニット
20g バイナリシンク
20h 通信制御ユニット
21 第1のターボ復号化回路
21a 対数尤度比演算器
21b レジスタ
21c 対数尤度比演算器
21d レジスタ
21e 第1のmビット加算器
21f 第1のSISO復号化部
21g 第2のmビット加算器
21h インターリーブ部
21j 第2のSISO復号化部
21k デインターリーブ部
21m 第3のmビット加算器
21n シフトレジスタ
21p 相補復号化部
21q CRC部
21r 第4のmビット加算器
22 第2のターボ復号化回路
50 送信機
53,54 LDPC符号化ユニット
60 受信機
61 メッセージノード処理部
62 チェックノード処理部
63 相補復号化部
64 LDPCユニット
65 制御ユニット
66 LLR生成ユニット
67 硬判定ユニット

Claims (9)

  1. 入力された信号ビット列をデータブロックに分割する分割部と、
    前記データブロックをそれぞれ誤り訂正符号化し、信号ビットの信頼度を推定する演算を複数回実行する繰り返し復号演算によって復号可能なコードブロックをそれぞれ生成する符号化部と、
    前記分割されたデータブロックを複数組み合わせた、それぞれの組のデータブロック間でビット演算を行うことにより冗長ビットを生成する生成部と、
    前記冗長ビットのうちの幾つかを送信対象として選別するとともに、選別された冗長ビットの数に応じて前記コードブロックからビットを間引く出力ビット数調整部と、
    前記生成されたコードブロックと冗長ビットとを出力する出力部と、
    を備える符号化装置。
  2. 前記出力部は、前記コードブロックの符号化率に応じて決定されるビット数で前記コードブロックの組に含まれるビットを、前記冗長ビットに置換する請求項に記載の符号化装置。
  3. 入力された信号ビット列をデータブロックに分割する分割部と、
    前記データブロックをそれぞれ誤り訂正符号化し、信号ビットの信頼度を推定する演算を複数回実行する繰り返し復号演算によって復号可能なコードブロックをそれぞれ生成する符号化部と、
    前記分割されたデータブロックを複数組み合わせた、それぞれの組のデータブロック間でビット演算を行うことにより冗長ビットを生成する生成部と、
    前記冗長ビットのうちの幾つかを送信対象として選別するとともに、選別された冗長ビットの数に応じて前記コードブロックからビットを間引く出力ビット数調整部と、
    前記生成されたコードブロックと冗長ビットとを受信機に送信する送信部と、
    を備える送信機。
  4. 信号ビット列を分割したデータブロックを複数組み合わせて、それぞれの組に含まれるデータブロック間で生成された冗長ビットと前記データブロックを誤り訂正符号化したコードブロックとを入力する入力部と、
    前記コードブロックを入力として、前記コードブロックに誤り訂正符号化されているデータブロック内の信号ビットの信頼度情報を算出し、さらに、算出された信頼度情報を入力として、前記コードブロックに誤り訂正符号化されているデータブロック内の信号ビットの新たな信頼度情報を算出する処理を繰り返すブロック内反復演算部と、
    前記それぞれの組に含まれるデータブロック間で生成された冗長ビットと前記ブロック内反復演算部で繰り返し算出されるデータブロック内の信号ビットの信頼度情報を基に、前記それぞれの組含まれるデータブロック内の前記冗長ビットの生成に寄与した信号ビットの信頼度を示すブロック間信頼度情報を算出し、前記ブロック間信頼度情報を該当する信号ビットの信頼度情報として前記ブロック内反復演算部に入力する処理を繰り返すブロック間反復演算部と、
    前記ブロック内反復演算部および前記ブロック間反復演算部による信頼度情報の算出を所定の限度まで繰り返す制御部と、
    前記所定の限度まで信頼度情報の算出が繰り返された後、前記ブロック内反復演算部または前記ブロック間反復演算部で算出された信頼度情報を基に、前記データブロックのそれぞれの信号ビットの推定値を算出する出力部と、
    を備える復号化装置。
  5. 前記コードブロックは、信号ビット列と前記信号ビット列から生成された第1検査ビッ
    ト列と前記信号ビット列に所定の入れ替え操作を行ったビット列から生成された第2検査
    ビット列とを含み、
    前記ブロック内反復演算部は、第1復号化部と第2復号化部とを有し、
    前記第1復号化部は、(a)前記信号ビット列の値を基にしたそれぞれのビットの信頼
    度情報、(b)前記信頼度情報の前回演算結果に基づく信頼度情報の増分値、および(c)前記第2復号化部によって算出される前記データブロックの信号ビットの信頼度情報の
    第2の増分値を含む第1の事前推定値と前記第1検査ビット列とを基に、前記データブロックのそれぞれの信号ビットの信頼度情報の第1の増分値を算出して前記第2復号化部に入力し、
    前記第2復号化部は、(a)前記信号ビット列の値を基にしたそれぞれのビットの信頼
    度情報、(b)前記信頼度情報の前回演算結果に基づく信頼度情報の増分値、および(c)前記第1の増分値を含む第2の事前推定値と前記第2検査ビット列とを基に、前記データ
    ブロックのそれぞれのビットの信頼度情報の第2の増分値を算出して前記第1復号化部に入力し、
    (a)前記信号ビット列の値を基にしたそれぞれのビットの信頼度情報、(b)前記第1の増分値、および(c)前記第2の増分値が加算されて前記データブロックのそれぞれの信号ビットの信頼度情報として前記ブロック間反復演算部に入力される請求項に記載の復号化装置。
  6. 前記コードブロックは、ターボ符号化されたコードブロックであり、
    前記ブロック内反復演算部は、複数の要素復号化器が互いに、信号ビットの信頼度情報の増分値を供給しながら軟判定復号による信号ビットの信頼度情報の生成を繰り返すことにより、ターボ符号化されたコードブロックをターボ復号化する複数のターボ復号化部を有し、
    前記ターボ復号化部に含まれる複数の要素復号化器のうち、少なくとも1つの要素復号化器が、他の全てのターボ復号化部による信号ビットの信頼度情報と前記冗長ビットとに基づいて、当該ターボ復号化部が処理するコードブロックに誤り訂正符号化されているデータブロックの信号ビットに対する信頼度情報の増分値を生成する請求項4または5に記載の復号化装置。
  7. 前記複数のコードブロックは、CRC符号を含み、
    前記所定の限度まで信頼度情報の算出が繰り返されるまでの間、前記信頼度情報に基づ
    く前記データブロックのそれぞれのビットの推定値に対するCRCを行い、符号誤りがないと判定した場合には、前記信頼度情報を最大に変更して前記ブロック内反復演算部に入力するCRC演算部をさらに備える請求項4から6のいずれか1項に記載の復号化装置。
  8. 前記コードブロックは、所定の検査行列による検査式を満たす低密度パリティ符号で符号化され、
    前記ブロック内反復演算部は、チェック演算部と、前記コードブロックのそれぞれの信号ビットに対応する情報ビット演算部とを含み、
    前記チェック演算部は、前記検査行列の行に対応して設けられ、前記行の要素が1の列に対応する前記コードブロックの信号ビットの組み合わせが前記行の検査式を満足する条件にしたがって、当該組み合わせ中のそれぞれの信号ビットの信頼度情報を、当該組み合わせ中の他の信号ビットから算出し、
    前記情報ビット演算部は、コードブロック内の信号ビットに対応して設けられ、複数のチェック演算部で算出された当該信号ビットに対する部分信頼度情報を加算して前記コードブロックのそれぞれのビットに対応する信頼度情報を算出し、
    前記ブロック間反復演算部は、前記情報ビット演算部によって算出される前記データブロックのそれぞれのビットの信頼度情報と前記データブロック間の冗長ビットとから前記それぞれのビットの新たな信頼度情報を算出し、前記情報ビット演算部を通じて前記チェック演算部に入力する請求項に記載の復号化装置。
  9. 信号ビット列を分割したデータブロックを複数組み合わせて、それぞれの組に含まれるデータブロック間で生成された冗長ビットと前記データブロックを誤り訂正符号化したコードブロックとを受信する受信部と、
    前記コードブロック内のビット列を入力として、前記コードブロックに誤り訂正符号化されているデータブロック内の信号ビットの信頼度情報を算出し、さらに、算出された信頼度情報を入力として、前記コードブロックに誤り訂正符号化されているデータブロック内の信号ビットの新たな信頼度情報を算出する処理を繰り返すブロック内反復演算部と、
    前記それぞれの組に含まれるデータブロック間で生成された冗長ビットと前記ブロック内反復演算部で繰り返し算出されるデータブロック内の信号ビットの信頼度情報を基に、前記それぞれの組含まれるデータブロック内の前記冗長ビットの生成に寄与した信号ビットの信頼度を示すブロック間信頼度情報を算出し、前記ブロック間信頼度情報を該当する信号ビットの信頼度情報として前記ブロック内反復演算部に入力する処理を繰り返すブロック間反復演算部と、
    前記ブロック内反復演算部および前記ブロック間反復演算部による信頼度情報の算出を所定の限度まで繰り返す制御部と、
    前記所定の限度まで信頼度情報の算出が繰り返された後、前記ブロック内反復演算部または前記ブロック間反復演算部で算出された信頼度情報を基に、前記データブロックのそれぞれの信号ビットの推定値を算出する出力部と、
    を備える受信機。
JP2011528542A 2009-08-25 2009-08-25 送信機、符号化装置、受信機、及び、復号化装置 Expired - Fee Related JP5360218B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/064807 WO2011024260A1 (ja) 2009-08-25 2009-08-25 送信機、符号化装置、受信機、及び、復号化装置

Publications (2)

Publication Number Publication Date
JPWO2011024260A1 JPWO2011024260A1 (ja) 2013-01-24
JP5360218B2 true JP5360218B2 (ja) 2013-12-04

Family

ID=43627387

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011528542A Expired - Fee Related JP5360218B2 (ja) 2009-08-25 2009-08-25 送信機、符号化装置、受信機、及び、復号化装置

Country Status (5)

Country Link
US (1) US9602132B2 (ja)
EP (1) EP2472726A4 (ja)
JP (1) JP5360218B2 (ja)
CN (1) CN102484484B (ja)
WO (1) WO2011024260A1 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2614594A1 (en) * 2010-09-08 2013-07-17 Agence Spatiale Européenne Flexible channel decoder.
US8756473B1 (en) 2010-12-23 2014-06-17 Sk Hynix Memory Solutions Inc. Solid state device coding architecture for chipkill and endurance improvement
US8862960B2 (en) * 2011-10-10 2014-10-14 Lsi Corporation Systems and methods for parity shared data encoding
US20130142057A1 (en) * 2011-12-01 2013-06-06 Broadcom Corporation Control Channel Acquisition
US8918705B1 (en) * 2012-01-11 2014-12-23 Sk Hynix Memory Solutions Inc. Error recovery by modifying soft information
GB2500625B (en) * 2012-03-27 2014-11-12 Canon Kk Method and device for obtaining a data unit from a plurality of received data units
US20130262952A1 (en) * 2012-03-30 2013-10-03 Broadcom Corporation Memory architecture for turbo decoder
KR101881877B1 (ko) * 2012-04-19 2018-07-25 삼성전자주식회사 Ldpc 부호 복호기 및 복호 방법
US20150200747A1 (en) * 2012-07-27 2015-07-16 Panasonic Corporation Transmission method, reception method, transmitter, and receiver
KR101425506B1 (ko) * 2012-09-22 2014-08-05 최수정 보완적인 저밀도 역 코드를 이용한 부호화/복호화 방법 및 장치
CN103780329B (zh) * 2012-10-17 2018-05-04 华为技术有限公司 一种编译码的方法、装置及系统
KR102007770B1 (ko) 2012-12-14 2019-08-06 삼성전자주식회사 패킷의 부호화 방법과 그 복호화 장치 및 방법
US9137065B2 (en) * 2012-12-20 2015-09-15 Qualcomm Incorporated Systems and methods to mitigate phase noise
US9817728B2 (en) 2013-02-01 2017-11-14 Symbolic Io Corporation Fast system state cloning
US9628108B2 (en) 2013-02-01 2017-04-18 Symbolic Io Corporation Method and apparatus for dense hyper IO digital retention
US9467294B2 (en) * 2013-02-01 2016-10-11 Symbolic Io Corporation Methods and systems for storing and retrieving data
US9304703B1 (en) 2015-04-15 2016-04-05 Symbolic Io Corporation Method and apparatus for dense hyper IO digital retention
US10133636B2 (en) 2013-03-12 2018-11-20 Formulus Black Corporation Data storage and retrieval mediation system and methods for using same
KR102051527B1 (ko) 2013-02-12 2019-12-03 삼성전자주식회사 네트워크 압축­후­전달 기법을 이용하는 협력 통신 시스템,전송기,중계기 및 수신기
US9183095B1 (en) 2013-06-28 2015-11-10 Sk Hynix Memory Solutions Inc. Recovering from a program failure by combining write data
CN105306165B (zh) * 2014-06-23 2019-10-11 中兴通讯股份有限公司 数据发送方法及装置
US9577672B2 (en) * 2014-07-18 2017-02-21 Storart Technology Co., Ltd. Low density parity-check code decoder and decoding method thereof
CN105471545B (zh) * 2014-09-10 2020-07-21 中兴通讯股份有限公司 一种数据包处理方法及装置
CN105812107B (zh) * 2014-12-31 2019-12-06 中兴通讯股份有限公司 Ofdma系统中数据包处理方法及装置
US10061514B2 (en) 2015-04-15 2018-08-28 Formulus Black Corporation Method and apparatus for dense hyper IO digital retention
US9955365B2 (en) 2015-04-15 2018-04-24 Qualcomm Incorporated Conditional progressive encoding and decoding
CN107294652A (zh) * 2016-04-13 2017-10-24 中兴通讯股份有限公司 一种数据混合重传处理方法和装置
CN108540258B (zh) * 2017-03-01 2022-07-01 中兴通讯股份有限公司 一种循环冗余码校验方法及装置
WO2018174569A1 (en) * 2017-03-22 2018-09-27 Samsung Electronics Co., Ltd. Apparatus and method of transmission using harq in communication or broadcasting system
WO2019126072A1 (en) 2017-12-18 2019-06-27 Formulus Black Corporation Random access memory (ram)-based computer systems, devices, and methods
KR102475805B1 (ko) * 2018-08-20 2022-12-09 에스케이하이닉스 주식회사 디코더, 그것의 동작 방법 및 메모리 시스템
CN111294142A (zh) * 2018-12-10 2020-06-16 华为技术有限公司 一种卫星通信方法及装置
US10725853B2 (en) 2019-01-02 2020-07-28 Formulus Black Corporation Systems and methods for memory failure prevention, management, and mitigation
CN112448724B (zh) * 2019-08-29 2023-07-07 华为技术有限公司 一种数据编码的方法及设备
US11930296B2 (en) * 2019-11-20 2024-03-12 Sony Semiconductor Solutions Corporation Transmission device, reception device, and transmission system with padding code insertion
US11223372B2 (en) * 2019-11-27 2022-01-11 Hughes Network Systems, Llc Communication throughput despite periodic blockages
CN111506519B (zh) * 2020-04-22 2021-04-27 上海安路信息科技股份有限公司 为fpga码点分配sram单元的方法及系统
US20220375479A1 (en) * 2021-05-04 2022-11-24 Cypress Semiconductor Corporation Retransmission Softbit Decoding
CN118054797B (zh) * 2024-04-11 2024-06-25 山东派蒙机电技术有限公司 编码及译码方法、装置、设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS649539A (en) * 1987-07-02 1989-01-12 Hitachi Denshi Service Kk Protecting method for storing data
JPH05130081A (ja) * 1991-11-08 1993-05-25 Toshiba Corp 通信システム及び通信システムにおける誤り訂正方式
JPH06274421A (ja) * 1993-03-22 1994-09-30 N T T Data Tsushin Kk データ保証方式
JP2002171175A (ja) * 2000-11-30 2002-06-14 Matsushita Electric Ind Co Ltd 復号装置および復号方法
WO2003045000A1 (en) * 2001-11-19 2003-05-30 Motorola, Inc. Method and apparatus for transmitting voice information
JP2006279958A (ja) * 2005-03-22 2006-10-12 Fondazione Torino Wireless 情報処理の方法およびシステム
JP2007288721A (ja) * 2006-04-20 2007-11-01 Mitsubishi Electric Corp 通信装置および誤り検出方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0944181A3 (en) 1991-08-23 2000-06-28 Kabushiki Kaisha Toshiba Radio information communication system using multi-carrier spread spectrum transmission system and signal collision detection method
WO2002069545A1 (de) * 2001-02-28 2002-09-06 Infineon Technologies Ag Verfahren und vorrichtung zur fehlerkorrektur von datenblöcken in abhängigkeit von fehlerprüf- und softbit-informationen
WO2002091592A1 (en) * 2001-05-09 2002-11-14 Comtech Telecommunications Corp. Low density parity check codes and low density turbo product codes
US20030061558A1 (en) * 2001-09-25 2003-03-27 Fackenthal Richard E. Double error correcting code system
JP2004253017A (ja) * 2003-02-18 2004-09-09 Fujitsu Ltd 記録媒体再生装置、記録媒体再生方法およびハードディスクコントローラ
JP4244700B2 (ja) 2003-05-21 2009-03-25 日本電気株式会社 ターボ復号器及びそれに用いるダイナミック復号方法
ATE373904T1 (de) 2003-07-24 2007-10-15 Matsushita Electric Ind Co Ltd Verfahren, kodierer und kommunikationsvorrichtung zur kodierung von parallel verketteten daten
US7221680B2 (en) 2003-09-02 2007-05-22 Qualcomm Incorporated Multiplexing and transmission of multiple data streams in a wireless multi-carrier communication system
US8477809B2 (en) 2003-09-02 2013-07-02 Qualcomm Incorporated Systems and methods for generalized slot-to-interlace mapping
US8509051B2 (en) 2003-09-02 2013-08-13 Qualcomm Incorporated Multiplexing and transmission of multiple data streams in a wireless multi-carrier communication system
US8599764B2 (en) 2003-09-02 2013-12-03 Qualcomm Incorporated Transmission of overhead information for reception of multiple data streams
US8526412B2 (en) 2003-10-24 2013-09-03 Qualcomm Incorporated Frequency division multiplexing of multiple data streams in a wireless multi-carrier communication system
JP4431113B2 (ja) * 2003-11-14 2010-03-10 株式会社日立コミュニケーションテクノロジー データ伝送方法及びデータ伝送装置
KR100975061B1 (ko) * 2003-11-28 2010-08-11 삼성전자주식회사 저밀도 패리티 검사를 이용한 패리티 정보 생성 방법
JP2005167513A (ja) * 2003-12-01 2005-06-23 Matsushita Electric Ind Co Ltd 復号装置及び復号方法
JP4526293B2 (ja) 2004-03-31 2010-08-18 パナソニック株式会社 ターボ復号装置及びターボ復号方法
US7949926B2 (en) 2006-11-30 2011-05-24 Motorola Mobility, Inc. Method and apparatus for encoding and decoding data
US20090175210A1 (en) 2007-07-26 2009-07-09 Qualcomm Incorporated Multiplexing and transmission of multiple data streams in a wireless multi-carrier communication system
JP5056947B2 (ja) * 2008-06-04 2012-10-24 富士通株式会社 情報処理装置、データ送信装置およびデータ送信装置のデータ転送方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS649539A (en) * 1987-07-02 1989-01-12 Hitachi Denshi Service Kk Protecting method for storing data
JPH05130081A (ja) * 1991-11-08 1993-05-25 Toshiba Corp 通信システム及び通信システムにおける誤り訂正方式
JPH06274421A (ja) * 1993-03-22 1994-09-30 N T T Data Tsushin Kk データ保証方式
JP2002171175A (ja) * 2000-11-30 2002-06-14 Matsushita Electric Ind Co Ltd 復号装置および復号方法
WO2003045000A1 (en) * 2001-11-19 2003-05-30 Motorola, Inc. Method and apparatus for transmitting voice information
JP2006279958A (ja) * 2005-03-22 2006-10-12 Fondazione Torino Wireless 情報処理の方法およびシステム
JP2007288721A (ja) * 2006-04-20 2007-11-01 Mitsubishi Electric Corp 通信装置および誤り検出方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN5010007872; Boyce Jill M.: 'Packet loss resilient transmission of MPEG video over the Internet' SIGNAL PROCESSING. IMAGE COMMUNICATION , 1999, pp.7-24, ELSEVIER SCIENCE PUBLISHERS *
JPN6013019925; Joachim Hagenauer et al.: 'Iterative decoding of binary block and convolutional codes' Information Theory, IEEE Transactions on Vol.42, No.2, 199603, pp.429-445 *
JPN6013019928; 3GPP TS36.212 V8.7.0 , 200905, pp.8-20 *

Also Published As

Publication number Publication date
EP2472726A1 (en) 2012-07-04
CN102484484A (zh) 2012-05-30
US9602132B2 (en) 2017-03-21
EP2472726A4 (en) 2015-01-07
CN102484484B (zh) 2014-08-20
JPWO2011024260A1 (ja) 2013-01-24
WO2011024260A1 (ja) 2011-03-03
US20120159282A1 (en) 2012-06-21

Similar Documents

Publication Publication Date Title
JP5360218B2 (ja) 送信機、符号化装置、受信機、及び、復号化装置
TWI758295B (zh) 利用分段式的冗餘校驗對控制訊號傳遞進行編碼和解碼
JP6847252B2 (ja) 符号器、復号器及び送信機
JP5432367B2 (ja) 書込み検証を使用した符号のエラーフロア軽減
US8078936B2 (en) Encoding method, encoding apparatus, and program
US8751907B2 (en) Joint encoding and decoding methods for improving the error rate performance
US20130019141A1 (en) Min-Sum Based Non-Binary LDPC Decoder
US8880973B1 (en) Detector-decoder interface for GF(q) iterative decoding
TW201126918A (en) Improved turbo-equalization methods for iterative decoders
US20060123318A1 (en) Method and apparatus for decoding low density parity check code using united node processing
JP4253332B2 (ja) 復号装置、方法およびプログラム
KR20080053346A (ko) 저밀도 패리티 검사 디코더용 방법 및 장치
CN110999095B (zh) 用于极化码的按块并行冻结位生成
US20130007551A1 (en) Stochastic Stream Decoding of Binary LDPC Codes
JP2008035527A (ja) ハードウェア共用および直列和積アーキテクチャを用いる低密度パリティ検査復号の方法および装置
JP2018019401A (ja) リード・ソロモン復号器及び復号方法
EP3713096B1 (en) Method and device for decoding staircase code, and storage medium
Ortega et al. Optimizing the co‐design of message structure and channel coding to reduce the TTD for a Galileo 2nd generation signal
US20100017692A1 (en) Method and apparatus for cyclic redundancy check in communication system
KR20130012550A (ko) Ldpc 부호화 및 복호화 방법 및 그 방법을 사용하는 장치
JP2010093611A (ja) 通信システム
Heloir et al. Stochastic chase decoder for reed-solomon codes
Ullah et al. Performance improvement of multi-stage threshold decoding with difference register
US9325351B2 (en) Adaptive multi-core, multi-direction turbo decoder and related decoding method thereof
Zhang et al. A chase-type Koetter-Vardy algorithm for soft-decision Reed-Solomon decoding

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130705

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130819

R150 Certificate of patent or registration of utility model

Ref document number: 5360218

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees