JPWO2009075143A1 - 復号装置、データ蓄積装置、データ通信システム、および復号方法 - Google Patents

復号装置、データ蓄積装置、データ通信システム、および復号方法 Download PDF

Info

Publication number
JPWO2009075143A1
JPWO2009075143A1 JP2009545368A JP2009545368A JPWO2009075143A1 JP WO2009075143 A1 JPWO2009075143 A1 JP WO2009075143A1 JP 2009545368 A JP2009545368 A JP 2009545368A JP 2009545368 A JP2009545368 A JP 2009545368A JP WO2009075143 A1 JPWO2009075143 A1 JP WO2009075143A1
Authority
JP
Japan
Prior art keywords
data
storage means
data stored
check node
stored
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.)
Granted
Application number
JP2009545368A
Other languages
English (en)
Other versions
JP5333233B2 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2009545368A priority Critical patent/JP5333233B2/ja
Publication of JPWO2009075143A1 publication Critical patent/JPWO2009075143A1/ja
Application granted granted Critical
Publication of JP5333233B2 publication Critical patent/JP5333233B2/ja
Active 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

データ変換手段が、第1の記憶手段に記憶されたデータと第2の記憶手段に記憶されたデータとから、列ベクトルと一対一に対応する第1の中間データを生成する。チェックノード処理手段が、第1の中間データと受信データの加算結果に基づいて、第1の記憶手段に記憶されたデータを更新するための第2の中間データを生成する。データ変換手段が、第1の中間データを用いて第2の記憶手段に記憶されたデータを更新するとともに、チェックノード処理手段によって生成された第2の中間データを用いて第1の記憶手段に記憶されたデータを更新する。データ変換手段とチェックノード処理手段による処理により復号結果のデータを生成する。

Description

本発明は、情報系列に冗長系列を付加して符号化されたデータから、情報系列を復号するとともに冗長系列を用いた誤り訂正を行う技術に関する。
衛星通信や移動体通信などの通信システムには、所要電力の低減やアンテナの小型化など、システム構成上の要件がある。それらの要件を満たすために、大きな符号化利得を得ることのできる誤り訂正符号化技術が導入されている。
低密度パリティ検査符号は、非常に大きな符号化利得を有する誤り訂正符号として知られており、様々な通信システムやデータを記録する記憶装置への導入が進んでいる。低密度パリティ検査符号は、特定の誤り訂正符号化方式を意味するものではなく、検査行列が疎であるという特徴を有する誤り訂正符号の総称である。検査行列が疎とは、検査行列のほとんどの成分が0であり、1である成分の数が非常に少ないことをいう。低密度パリティ検査符号は、検査行列によって特徴付けられる。
疎な検査行列を選択し、繰り返し復号方式を用いることにより、理論的な限界に近い、非常に大きな符号化利得を持つ誤り訂正符号化方式を実現することが可能となる(文献2、3参照)。このような方式には、例えばサム・プロダクト(sum−product)アルゴリズムあるいはミン・サム(min−sum)アルゴリズムを用いることができる。
文献4には、低密度パリティ検査符号の復号方法の一例が開示されている。復号装置は、受信データを一定長のブロックに区切り、ブロック毎に、誤り訂正の対象となる受信データと、メッセージと呼ばれる復号処理の過程で生じるデータとを保持し、検査行列を用いてメッセージを更新しながら受信データの誤りを訂正する。ここでは1ブロックがN個(Nは1より大きい整数)の受信データからなるものとする。また検査行列は、各成分が0または1のN行R列(RはN以下の正の整数)の行列であるものとする。
受信データの各々がb個(bは正の整数)のビットで表現されるとすると、N個の受信データからなるブロックを保持するのにb×Nビット分の記憶領域が必要とされる。一方、メッセージの保持については、検査行列の非零成分の個数分だけのメッセージを保持するので、b×(非零成分の個数)ビット分の記憶領域が必要とされる。非零成分は値が0ではなく1である成分のことである。
また、データをRAM(ランダムアクセスメモリー)に保持し、複数のデータに同時にアクセスしながら並列処理を行えば、復号処理を高速化することができる。ただし、同時にアクセスすることのできるデータを増加させて並列処理を実現するには、データを複数のRAMに分割して記録しておくことが必要となる。そのため復号装置の回路規模が増大するとともに、アドレス生成などの処理が複雑化する。
RAMの個数については装置構成によって解決する方法(文献5参照)があるが、この方法では復号処理の誤り率特性が大幅に劣化する。また、RAMではなく、シフトレジスタを用いることにより回路構成を単純化するという手法があるが(文献1参照)、その手法では、ブロックの長さNが数万ビットを超えるような場合や、冗長ビット数が多く符号化率が著しく小さい場合には回路規模が大きくなる。
<文献リスト>
文献1: 特開2007−089064号公報
文献2: ロバート ギャラガ(Robert Gallager)、“ロー・デンシティ パリティ・チェック コーズ(Low−Density Parity−Check Codes)”、アイトリプルイー トランザクションズ オン インフォメーション セオリー(IEEE Transactions on Information Theory)、1962年1月、第21頁から第28頁
文献3: ディー・ジェー・シー マッカイ(D.J.C. MacKay)、“グット エラー・コレクティング コーズ ベースト オン ベリー スパース メトリシィーズ(Good Error−Correcting Codes Based on very sparse matrices)”、アイトリプルイー トランザクションズ オン インフォメーション セオリー(IEEE Transactions on Information Theory)、1999年3月、第399頁から第431頁
文献4: エラン・シャロン(Eran Sharon)、シモン・リシン(SimonLitsyn)、ヤコブ・ゴールドバーガー(Jacob Goldberger)、“アン エフィシェント メッセージ・パッシング スケジュール フォー エル・ディー・ピー・シー デコーディング(An Efficient Message−Passing Schedule for LDPC Decoding)”、プロシーディングス 2004 アイトリプルイー コンベンション オブ エレクトリカル アンド エレクトロニクス エンジニアーズ イン イスラエル(Proceedings 2004 IEEE Convention of Electrical and Electronics Engineers in Israel)、2004年9月、第223頁から第226頁
文献5: イー・イェオ(E Yeo)、ピー・パザド(P.Pakzad)、ビー・ニコリック(B.Nikolic)、ヴィー・アナンタラン(V Anantharam)、“ハイ スループット ロー・デンシティ パリティ・チェック デコーダー アーキテクチャ(High Throughput Low−Density Parity−Check Decoder Architecture)”、2001 アイトリプルイー グローバル テレコミュニケーションズ コンファレンス(2001 IEEE Global Telecommunications Conference)、2001年11月、第3019頁から第3024頁
上述したような方法で低密度パリティ検査符号を復号する場合、復号処理の過程で一時的に生じるデータを記憶するために大きな記憶領域が必要とされる。例えば、文献4に開示された復号方法では、一時的に生成されるデータ(メッセージ)を保持するために、検査行列中の非零成分の個数に比例した大きさの記憶領域が必要となる。
特に衛星通信や移動体通信では装置規模と消費電力に対する条件が厳しく、記憶容量および回路規模の削減が強く求められる。復号処理の過程で一時的に生じるデータを使用しないような方法を採用すればデータの保持が不要となるので、記憶領域は削減される。しかし、そのような方法では復号処理の誤り率特性が劣化する。
上述したように、誤り訂正を伴うデータの復号において、良好な誤り率特性を確保しつつ、記憶領域を低減することは困難であった。
本発明の目的は、少ない記憶容量で良好な誤り率特性を確保することのできる低密度パリティ検査符号の復号技術を提供することである。
上記目的を達成するために、本発明の一態様による復号装置は、低密度パリティ検査符号を用いて符号化された受信データの誤り訂正を行う復号装置であって、
前記低密度パリティ検査符号の検査行列の列ベクトルの数と同数のデータを記憶する第1の記憶手段と、
前記第1の記憶手段と同数のデータを記憶する第2の記憶手段と、
データ変換手段と、
チェックノード処理手段と、を有し、
前記データ変換手段が、前記第1の記憶手段に記憶されたデータと前記第2の記憶手段に記憶されたデータとから、前記列ベクトルと一対一に対応する第1の中間データを生成し、
前記チェックノード処理手段が、前記第1の中間データと前記受信データの加算結果に基づいて、前記第1の記憶手段に記憶されたデータを更新するための第2の中間データを生成し、
前記データ変換手段が、前記第1の中間データを用いて前記第2の記憶手段に記憶されたデータを更新するとともに、前記チェックノード処理手段によって生成された前記第2の中間データを用いて前記第1の記憶手段に記憶されたデータを更新し、
前記データ変換手段と前記チェックノード処理手段による処理により復号結果のデータを生成する。
本発明の一態様によるデータ蓄積装置は、
蓄積装置に蓄積するデータを、低密度パリティ検査符号を用いて符号化する符号化装置と、
前記低密度パリティ検査符号の検査行列の列ベクトルの数と同数のデータを記憶する第1の記憶手段と、前記第1の記憶手段と同数のデータを記憶する第2の記憶手段と、データ変換手段と、チェックノード処理手段と、を有し、前記データ変換手段が、前記第1の記憶手段に記憶されたデータと前記第2の記憶手段に記憶されたデータとから、前記列ベクトルと一対一に対応する第1の中間データを生成し、前記チェックノード処理手段が、前記第1の中間データと前記蓄積装置に蓄積されたデータとの加算結果に基づいて、前記第1の記憶手段に記憶されたデータを更新するための第2の中間データを生成し、前記データ変換手段が、前記第1の中間データを用いて前記第2の記憶手段に記憶されたデータを更新するとともに、前記チェックノード処理手段によって生成された前記第2の中間データを用いて前記第1の記憶手段に記憶されたデータを更新し、前記データ変換手段と前記チェックノード処理手段による処理により復号結果のデータを生成する、復号装置と、を有している。
本発明の一態様によるデータ通信システムは、
低密度パリティ検査符号を用いて符号化したデータを送信する送信装置と、
前記低密度パリティ検査符号の検査行列の列ベクトルの数と同数のデータを記憶する第1の記憶手段と、前記第1の記憶手段と同数のデータを記憶する第2の記憶手段と、データ変換手段と、チェックノード処理手段と、を有し、前記データ変換手段が、前記第1の記憶手段に記憶されたデータと前記第2の記憶手段に記憶されたデータとから、前記列ベクトルと一対一に対応する第1の中間データを生成し、前記チェックノード処理手段が、前記第1の中間データと前記送信装置からの受信データとの加算結果に基づいて、前記第1の記憶手段に記憶されたデータを更新するための第2の中間データを生成し、前記データ変換手段が、前記第1の中間データを用いて前記第2の記憶手段に記憶されたデータを更新するとともに、前記チェックノード処理手段によって生成された前記第2の中間データを用いて前記第1の記憶手段に記憶されたデータを更新し、前記データ変換手段と前記チェックノード処理手段による処理により復号結果のデータを生成する、受信装置と、を有している。
本発明の一態様による復号方法は、低密度パリティ検査符号を用いて符号化された受信データの誤り訂正を行う復号方法であって、
前記低密度パリティ検査符号の検査行列の列ベクトルの数と同数のデータを第1の記憶手段に記憶するとともに、前記第1の記憶手段と同数のデータを第2の記憶手段に記憶し、
前記第1の記憶手段に記憶されたデータと前記第2の記憶手段に記憶されたデータとから、前記列ベクトルと一対一に対応する第1の中間データを生成し、
前記第1の中間データと前記受信データの加算結果に基づいて、前記第1の記憶手段に記憶されたデータを更新するための第2の中間データを生成し、
前記第1の中間データを用いて前記第2の記憶手段に記憶されたデータを更新するとともに、前記第2の中間データを用いて前記第1の記憶手段に記憶されたデータを更新し、
前記データ変換手段と前記チェックノード処理手段による処理により復号結果のデータを生成する。
本実施形態の復号装置の構成例を示すブロック図である。 本実施形態の復号装置の動作例を示すフローチャートである。 図1Aに示したデータ変換器13の構成例を示すブロック図である。 図1Aに示したチェックノード処理器14の構成例を示すブロック図である。 図1Aのメモリブロック(F)11の構成例を示すブロック図である。 図1Aに示したメモリブロック(L(1),L(2))12の構成例を示すブロック図である。 並列型のチェックノード処理装置を示すブロック図である。 本実施形態の復号装置の動作を時系列で示したタイムチャートである。 本実施形態の復号装置を用いたデータ通信システムの構成を示すブロック図である。
本発明の実施形態について図面を参照して詳細に説明する。
図1Aは、本実施形態の復号装置の構成例を示すブロック図である。図1Bは、本実施形態の復号装置の動作例を示すフローチャートである。本実施形態の復号装置は、低密度パリティ検査符号のデータを生成する符号化装置(不図示)からデータを受信し、データから情報系列を復号する装置である。
図1Aを参照すると、復号装置10はメモリブロック(F)11、メモリブロック(L(1),L(2))12、データ変換器13、チェックノード処理器14、および加算器15を有している。復号装置10は通信路(不図示)からの受信データ系列を入力とする。受信データ系列は低密度パリティ検査符号で符号化されている。一般に、受信データには雑音などによって誤りが生じている。復号装置10は、受信データから送信ビット列を推定し、推定された送信ビット列を出力する。
低密度パリティ検査符号は、式(1)に示すような、各成分が0あるいは1のいずれかであるR行N列の検査行列によって特徴付けられる。ここでNは1より大きい整数であり、RはN以下の正の整数である。
Figure 2009075143
また、特に、式(1)の検査行列が行ベクトルと列ベクトルの入れ替えによって、式(2)の形に変形できる場合、低密度パリティ検査符号は擬似巡回低密度パリティ検査符号の一種であるといえる。
Figure 2009075143
なお、式(2)は、m×m行列(mはNの約数)を成分とする、r×nブロック行列(r=R/m、n=N/m)である。m×m行列Is,t(0≦s<r、0≦t<n)のそれぞれは巡回置換行列かあるいは成分が全て零の行列である。
ここでは通信路からの受信データ列をF,F,・・・,FN−1とする。また、受信データ列を構成する各シンボルFがbビットで表現されるものとする。iは0からN−1の整数であり、bは正の整数である。
メモリブロック(F)11は、受信データ系列F,F,・・・,FN−1を記憶する装置であり、b×Nビットの記憶容量が必要とされる。
メモリブロック(L(1),L(2))12は、復号処理において一時的に保持すべきデータL (1),L (1),・・・,LN−1 (1)、L (2),L (2),・・・,LN−1 (2)を記憶する装置であり、2×b×Nビットの記憶容量が必要とされる。データL (1),L (1),・・・,LN−1 (1)、L (2),L (2),・・・,LN−1 (2)については後述する。
式(1)に示した検査行列のR個の各行ベクトル(hi,0,hi,1,…,hi,N−1)(iは0≦i<Rの整数)は、0からN−1までのN個の整数からなる集合の部分集合U(i)によって、非零成分の位置を式(3)のように示すことができる。即ち、U(i)は検査行列の第i行ベクトルの非零成分の位置を示す集合である。メモリブロック(L(1),L(2))12には、U(i)によって定めまるアドレスのデータが保持される。データ変換器13、チェックノード処理部14、および加算器15の具体的な動作は後述する。
Figure 2009075143
図2は、図1Aに示したデータ変換器13の構成例を示すブロック図である。図2を参照すると、データ変換器13は、ビット結合部21A,21B、ビット分割部22A,22B、加算部23、減算部24、セレクタ25,27、および遅延部36を有している。
データ変換器13は、図1Aのメモリブロック(L(1),L(2))12から読み出された2bビットのデータと、チェックノード処理器14の出力であるbビットのデータとを入力としている。メモリブロック(L(1),L(2))12から読み出された2bビットのデータはビット分割部22A、減算部24、およびセレクタ25によってbビットのデータに変換され、図1Aの加算器15へ出力される。
また、このbビットのデータはビット結合部21A、遅延部26、およびビット分割部22Bを経て、加算器23にて、図1Aのチェックノード処理器14からの出力であるbビットのデータに加算され、ビット結合部21Aを経て2bビットのデータに変換された後に、メモリブロック(L(1),L(2))12に出力される。この2bビットのデータはメモリブロック(L(1),L(2))12に書き込まれる。
なお図2に示した構成は、2bビットのデータが、図1Aに示したメモリブロック(F)11内の同一アドレスに保持される場合の例である。2bビットのデータを2つのbビットのデータに分割して保持する場合にはビット分割部22A,
22Bとビット結合部21A,21Bが不要となる。
図3は、図1Aに示したチェックノード処理器14の構成例を示すブロック図である。図3を参照すると、チェックノード処理器14は、ビット分割部31A〜31C、データ変換テーブル32A〜32C、加算部33、減算部34A〜34C、データ変換テーブル35A〜35C、ビット結合部36A〜36C、および排他的論理和演算器37,38A〜38Cを有している。
チェックノード処理器14は、図1Aの加算器15からの出力を入力としている。チェックノード処理器14からの出力は、図1Aのデータ変換器13へ入力される。チェックノード処理器14は、図1Bに示したフローチャート中のステップ103の処理を実行する。
この処理に用いる関数の例として、関数f(Z)は式(4)で示され、逆関数f−1(Z)は式(5)で示される。
Figure 2009075143
式(4)の関数f(Z)は、入力Zに対して、Z<0であるときに1を返し、それ以外の場合に0を返す関数signの結果と、双曲線正接関数の対数に対応する値の2つを返す関数である。式(4)の関数f(Z)の逆関数f−1(S,Z)は、2つの数値S,Zを入力し、式(5)の右辺に示されている値を返す関数である。
Figure 2009075143
チェックノード処理器14は、メモリブロック(L(1),L(2))のデータの更新を所定回だけ繰り返す。式(4)にある双曲線正接関数の対数の演算はデータ変換テーブル32により行われ、式(5)の右辺にある関数演算はデータ変換テーブル35により行われる。
次に、低密度パリティ検査符号の復号装置を、式(2)に検査行列が示された擬似巡回低密度パリティ検査符号に適用する場合の例について説明する。式(2)の検査行列は上述したようにm×m行列(mはNの約数)を成分とするブロック行列である。ここでは並列処理数pをmの約数とする場合について説明する。
図4は、図1Aのメモリブロック(F)11の構成例を示すブロック図である。図4を参照すると、メモリブロック(F)11は、n個(n=N/m)のRAM41を有している。各RAM41は、ビット長がbpであり、ワード数がm/pである。よって、n個のRAM41の記憶容量の総計はbNビットとなる。
各RAM41の各アドレスにはp個分の受信データが保持される。第j番目(0≦j<n)のRAM41の第k番目(0≦k<m/p)のアドレスには、式(6)によって示されるp個の受信データが保持される。
Figure 2009075143
メモリブロック(F)11に保持されている受信データは復号処理を実行する間に繰り返し参照される。各RAM41に対する読み出しアドレスを生成する方法については後述する。
図5は、図1Aに示したメモリブロック(L(1),L(2))12の構成例を示すブロック図である。図5を参照すると、メモリブロック(L(1),L(2))12は、n個のRAM51を有している。各RAM51は、ビット長が2bpであり、ワード数がm/pである。よって、n個のRAM51の記憶容量の総計はbNビットである。各RAM51の各アドレスには2p個分の中間データが保持される。第j番目(0≦j<n)のRAMの第k番目(0≦k<m/p)のアドレスには、式(7)に示される2p個のデータが保持される。
Figure 2009075143
メモリブロック(L(1),L(2))12に保持されるデータは復号処理の間に参照と更新が繰り返される。各RAM51の読み出しアドレスおよび書き込みアドレスを生成する方法については後述する。
次に、図1Bのフローチャートを用いて本実施形態の復号装置の動作について説明する。まず、式(1)の検査行列を有する低密度パリティ検査符号を復号する復号装置について説明する。それに続いて、式(2)の検査行列を有する擬似巡回低密度パリティ検査符号を復号する復号装置に並列処理を適用した場合について説明する。
図1Bを参照すると、復号装置10はまず初期化の処理を行う(ステップ101)。初期化処理において、復号装置10はメモリブロック(F)11に受信データ列をF,F,・・・,FN−1を記録する。ここで、受信データ列を構成する各シンボルFはbビットで表現されている(0≦i<N,bは整数)。また、復号装置10はメモリブロック(L(1),L(2))12中のデータL (1),L (1),・・・,LN−1 (1)、L (2),L (2),・・,LN−1 (2)を全て0に初期化する。さらに、復号装置10は、復号処理の繰り返し回数をカウントするカウンターを初期化(t=1)する。なお、このカウンターの構成は自明であるため、記述の煩雑さを考慮して、図1Aのブロック図から省略してある。
初期化処理に続いて、復号装置10は、検査行列の行ベクトルのインデックスである変数iを初期値の0にセットする(ステップ102)。
続いて、復号装置10は、第i行ベクトルの非零成分の位置を示す集合U(i)(式(3)参照)中の各成分jについて、L (1)を更新する(ステップ103)。その際、復号装置10は、データFをメモリブロック(F)11より読み出し、データL (1),L (2)をメモリブロック(L(1),L(2))12より読み出す。そして、復号装置10は、加算器15にてF+L (1)を算出する。復号装置10は、U(i)に含まれる全てのjについてF+L (1)を算出し、チェックノード処理器14に入力する。それにより、チェックノード処理器14はU(i)に含まれる全ての整数jについて処理を行い、その処理結果を新たな値としてL (1)を更新することとなる。新たな値はメモリブロック(L(1),L(2))12に書き込まれる。この間、各j=0,1,・・・,N−1に関して、データF,L (1),L (2)は検査行列における第j列ベクトルの非零成分の回数だけアクセスされる。
復号装置10は、ステップ103の処理を、検査行列の各行ベクトルに対応するi=0,1,・・・,R−1について順次行う(ステップ104、105)。
次に、復号装置10は、F+L (1)が負の値であるときx=1とし、そうでないときx=0とするようにしてxを決定する(ステップ106)。復号装置10は、ステップ102〜106の処理を、検査行列と(x,x,・・・,xN−1)の積Hx=0、またはt=Tmax(tの最大値)のいずれかの条件が満たされるまで繰り返す(ステップ107〜109)。
ここで、実際には、図2に示したデータ変換器13による処理(ステップ109)が入るが、その処理については後述する。
以上の処理で得られる(x,x,・・・,xN−1)と検査行列の積により算出されるシンドロームが0であれば、復号装置10は(x,x,・・・,xN−1)を送信データ列と推定し、その送信データ列を出力して復号処理を終了する(ステップ110)。なお、検査行列と(x,x,・・・xN−1)の積を算出する装置は、記述の煩雑さを考慮して図1Aのブロック図から省略してある。
ここで上記ステップ109におけるデータ変換器13の動作について説明する。
ステップ109の処理は、j=0,1,・・・,N−1に関して、メモリブロック(L(1),L(2))中のデータL (1)とL (2)とを各々データL (1)−L (2)とL (1)−L (2)に更新する処理である。この更新処理は復号処理の繰り返し毎に1回ずつ行われる。上述のように各繰り返しにおいて、データL (1),L (2)は検査行列おける第j列ベクトルの非零成分の回数だけアクセスされるが、データ変換器13では、1回目のアクセスでデータL (1),L (2)を読み出した時にのみ、これらを各々L (1)=L (1)−L (2)とL (2)=L (1)−L (2)と更新し、出力する構成となっている。
なお、図2には、メモリブロック(L(1),L(2))12が各アドレスに2bビットのデータを保持し、その上位bビットがL (1)であり、下位bビットがL (2)であるとしたときのデータ変換器13の構成が示されている。即ち、図2において、メモリブロック(L(1),L(2))12のアドレスj(0≦j<N)から2bビットのデータが読み出され、それがデータ変換器13の入力となる。その2bビットのデータの上位bビットがL (1)であり、下位bビットがL (2)である。その2bビットのデータがビット分割部22Aによって上位bビット(L (1))と下位bビット(L (2))に分割される。セレクタ25へは、L (1)と、減算部24を介したL (1)−L (2)とが入力される。
前述のように、各繰り返しにおいて、アドレスjへのアクセスが1回目の場合には、セレクタ25においてL (1)−L (2)が選択され、そうでない場合にはL (1)が選択される。セレクタの出力は、加算器15へ出力されるとともに、ビット結合部21Aで下位bビットにL (2)が結合され、遅延部26へ入力される。
遅延部26は入力した信号をチェックノード処理器14の処理に要する時間分だけ遅延させた後、ビット分割部22Bに入力する。ビット分割部22Bは、入力した信号を、上位bビットと下位bビットに分割し、それらを共にセレクタ27へ入力する。上位bビットはL (1)かあるいはL (1)−L (2)であり、下位bビットはL (2)である。上位bビットは加算部23へも入力され、そこで、チェックノード処理器14からのデータに加算される。加算部23による加算結果と、セレクタ27から出力されたbビットとがビット結合部21Bで結合され、メモリブロック(L(1),L(2))のアドレスjへ保存される。
これにより、データ変換器13は、データL(1)か、あるいはデータL(1)からデータL(2)を減算した結果のいずれかを選択することによって、加算器15に送るデータを生成することになる。また、データ変換器13は、データL(2)か、あるいはデータL(1)からデータL(2)を減算した結果のいずれかを選択することによって、データL(2)を更新することになる。
以上説明したように、本実施形態によれば、メモリブロック(L(1),L(2))12に保持したデータを変換しながら処理することにより復号結果を得るので、検査行列の各列ベクトルに対して、bビットのデータL(1)とbビットのデータL(2)との合計2bビットのデータを保持すればよく、データを保持するための記憶容量が既存の復号方法よりも少なく済む。
具体的には、本実施形態によれば、検査行列の各列ベクトル、例えば第j列ベクトル(j=0,1,・・・,N−1)に対して合計2bビットのデータL (1),L (2)を保持し、そのデータを更新しながら処理を行う。各行ベクトル、例えば第i行ベクトル(i=0,1,・・・,R−1)と、集合U(i)の成分に対し、各々bビットのデータを保持し、それを更新しながら処理を行う既存の復号方法よりも本実施形態の復号方法の方が、データを保持するための記憶容量が少なく済む。
なお、本実施形態の復号装置10は、自身の備えるメモリブロック(F)11に受信データを保持して処理を実行することとしたが、本発明はこれに限定されるものではない。他の例として、低密度パリティ検査符号を用いて符号化されたデータを記録した記録媒体を復号装置10に装着し、復号装置10が記録媒体に記録されているデータを参照しながら、そのデータを復号することにしてもよい。その場合、メモリブロック(F)11は不要となる。
また、上述した本実施形態の復号装置10では、列ベクトル毎にデータを読み出し、チェックノード処理をしてデータを更新し、記憶するといった一連の処理を逐次的に繰り返すこととした。しかし、本発明はこの構成に限定されるものではない。他の例として、並列処理を導入することによって、上述した復号処理を高速化することにしてもよい。
式(2)に示した検査行列を有する擬似巡回低密度パリティ検査符号の復号処理に並列処理を適用した場合を例示する。ここでは、上述した並列処理数pを式(2)の検査行列の成分となる巡回行列のサイズmの約数とした場合について説明する。この場合、メモリブロック(F)11とメモリブロック(L(1),L(2))12は、それぞれ図4と図5に示したものと同じ構成である。また、各メモリブロック内のRAMにおけるデータ構造は式(6)と式(7)に示したものと同じである。また、各メモリブロック内に含まれるRAMの数は同じn個である。さらに各RAMにアクセスするためのアドレスの生成方法については、上述した逐次的処理を行なう実施形態と同様に、メモリブロック(F)11とメモリブロック(L(1),L(2))12とで同じ方法である。そのため、ここではメモリブロック(L(1),L(2))12についてのみ説明することにする。n個の各RAMの各々にr個の初期アドレス値A(i,j)(0≦i<r,0≦j<n)を割り当てる。第j番目のRAMの第i番目の初期アドレス値A(i,j)を次のように決める。
Figure 2009075143
ここで、k(i,j)は、式(2)の検査行列に関する(i,j)成分であるm×m巡回置換行列Ii,jの第1行ベクトルにおける非零成分位置を表す整数である(0≦k(i,j)<m)。アドレス値A(i,j)はk(i,j)をm/pで割った剰余に一致する。各RAMの読み出しと書き込みに関するアドレス生成は全てr個のパターンからなる。これらr個のパターンは初期アドレス値が異なるだけで、単に1を加算することによってそれ以降のアドレス値を生成するという点では同一である。
アドレス生成の各パターンはm/p単位時間周期で変わる。例えば、第j番目のRAMの最初の初期アドレス値はA(0,j)であり、式(7)においてk=A(0,j)としたデータが読み出される。次いで読み出されるのがアドレス値A(0,j)+1のデータであり、これは式(7)においてk=A(0,j)+1としたものである。以下同様にアドレス値に1を加算する。ただし、アドレス値m/p−1の次はアドレス値0とし、その後アドレス値A(0,j)−1のデータ読み出しまで同様に続ける。
次いで読み出されるのが次の初期アドレス値A(1,j)に対応するデータである。以下、上述と同様の手順でデータを読み出す。i=0,1,・・・,r−1のr個のパターンの初期アドレス値A(i,j)の全てについて同様の処理を行うことが1回の繰り返し復号処理に相当する。1回の繰り返し復号処理を終えたら初めに戻り、同様の処理を予め定められた最大繰り返し回数分だけ繰り返す。
以上のように、n個のRAMに関するアドレス生成はMOD(m/p)のカウンターを用いて行うことができる。また、このカウンター値(アドレス値)がm/p−1から0となるタイミングで1ビットの信号を出力する。これは、図6に示した並列型のチェックノード処理装置中のシフト回路62,63で使用される。
メモリブロック(L(1),L(2))12から読み出される式(7)の各データは、データ幅を2bビットから2bpビットに拡大され、並列型のデータ変換器に入力される。並列型データ変換器の処理は、図2に示したデータ変換器13と同様であり、データ変換器13がRAMと同数のn個だけ配置される。並列型のデータ変換器を通して得られるL(1)部分のbpビットのデータは、メモリブロック(F)11から読み出された式(6)のbpビットのデータと加算される。なお、この加算はbビット単位で行われる。
このような手順による加算で生成された、RAMの個数と同数のn個のbpビットのデータは全て並列型のチェックノード処理装置へ入力される。
図6は、並列型のチェックノード処理装置を示すブロック図である。並列型のチェックノード処理装置は、図1Bにおけるステップ103の処理をp個分並列に実行する。
図6を参照すると、並列型のチェックノード処理装置は、p個のチェックノード処理器61、2n個のシフト回路62,63、および2個のデータ整列器64,65を有している。チェックノード処理器61は、図3に示したチェックノード処理器14と同じものである。シフト回路62,63はb×pビットの情報を入力とし、その入力をbビット毎に巡回シフトして出力する回路である。シフト回路62,63のシフト量は、式(2)に示した検査行列に依存して定まる。
図6に示した並列型のチェックノード処理装置では、n個のbpビットのデータの各々はシフト回路62へ入力される。並列型のチェックノード処理装置はn個のシフト回路62を備えており、その各々にbpビットのデータが入力される。シフト回路62は入力されたbpビットのデータをbビット単位で予め定められた分だけ巡回シフトして出力する。そのシフト量は、RAMに関する初期アドレス値(式(8)参照)に基づいて、式(9)によって定まる。
Figure 2009075143
初期アドレス値A(i,j)からアドレス値m/p−1まで順次読み出される第j番目のRAMデータに対応するシフト量は式(9)のs(i,j)に一致する。次いでアドレス値0からアドレス値A(i,j)−1まで順次読み出される第j番目のRAMデータに対応するシフト量はs(i,j)+1に一致する。ここで、s(i,j)+1=pであればシフト量が0として、入力をそのまま出力することになる。上記のRAMのアドレス生成の説明において述べたように、アドレス値がm/p−1から0となるタイミングで出される1ビットの信号を利用して、シフト量がs(i,j)からs(i,j)+1に切り替えられる。
n個のシフト回路62の各々の出力はbpビットである。データ整列器64は、n個のシフト回路62の各出力のデータからp個のチェックノード処理器への入力を生成する装置である。データ整列器64は、n個の各シフト回路の出力bpビットを入力し、これらをbビット毎に区切って表記した、j=0,1,・・・,n−1のn個のデータ(d (j),d (j),・・・,dp−1 (j))を整列させることにより、i=0,1,・・・,p−1のp個の(d (0),d (1),・・・,d (n―1))を生成し、それぞれを対応するチェックノード処理器61に出力する。
p個の各チェックノード処理器61は、nbビットのデータ(d (0),d (1),・・・,d (n―1))を入力し、それらに対して所定の処理を行い、処理結果であるnbビットのデータを出力する。それぞれnbビットからなるp個の出力データはデータ整列器65に入力される。データ整列器65では、データ整列器64とは逆の方法で、p個のnbビットからなる出力データを、n個のbpビットからなるデータに整列させ、それぞれをシフト回路63へ入力する。シフト回路63は、シフト回路62による巡回シフトを元に戻す役割をはたす。即ち、シフト回路63のシフト量とシフト回路62のシフト量の和がpもしくは0に一致する。図6に示した並列型のチェックノード処理装置から出力されたデータに対する処理は、上述した逐次的な処理を行う実施形態のデータ変換器13による処理と同じである。ただし、本実施形態ではn個のデータ変換器13が並列で処理を行う。
図7は、本実施形態の復号装置の動作を時系列で示したタイムチャートである。メモリブロック(F)11のn個のRAMに受信データが保持されている状態で復号処理を開始する。n個のRAMに保持される受信データは、1シンボル=bビットとして、n×p×(m/p)シンボル分である。図7は、メモリブロック(F)11とメモリブロック(L(1),L(2))12に含まれるn個のRAMの内の1つのRAM内に注目し、そのデータの更新について1周期分の処理の流れが示されている。他のn−1個のRAMについても初期アドレス値、およびシフト回路におけるシフト量の設定以外は、これと同じである。
最上段の処理の流れを見ると、まず、設定された初期アドレス値A(式(8)参照)を用いて、メモリブロック(F)11からbビット×pのデータを読み出し、メモリブロック(L(1),L(2))12からbビット×p×2のデータを読み出し、それらを加算器あるいはデータ変換器および加算器を介して、シフト回路62に入力する。なお、ここでのデータ変換処理は、bビット×p×2のデータを上位bビット×pと下位bビット×pとに分離し、差分の算出や結合を行うものである。このデータ変換処理は基本的に上述したデータ変換器13の処理と同じである。上述したデータ変換器13の処理は、ここでのデータ変換処理におけるp=1の場合の処理である。
初期シフト量sは初期アドレス値Aと式(9)によって定まる。シフト回路62の出力は、他のn−1個のRAMからシフト回路62を経由して導かれたデータと共にデータ整列器64によって整列され、チェックノード処理器61に入力される。チェックノード処理器61によって処理されたデータは、データ整列器65により、データ整列器64と逆の整列方法で整列された後にシフト回路63によりシフトされる。このbビット×pのデータはデータ変換器によってbビット×pのデータと結合される。結合によって得られたbビット×p×2のデータは、メモリブロック(L(1),L(2))12のRAMのアドレス値Aに書き込まれる。
以上の処理をアドレス値A+1,A+2,・・・に保持されている各RAMデータに対して、図7に示されているようにパイプラインで実行する。例えば第1周期が終了すると、初期アドレス値とシフト量をセットし直して第2周期を実行し、RAMデータを更新する。r個の全ての初期アドレス値について処理を実行していき、合計r周期が終了すると1回の復号処理が終了したことになる。これが予め定められた最大指定回数だけ繰り返される。
なお、上述した各実施形態では、図1Bのステップ103のチェックノード処理において、式(4)および式(5)を用い、双曲線正接関数の対数によってL (1)を算出する例を示したが、本発明はこれに限定されるものではない。他の例として、式(10)を用いてL (1)を算出することにしてもよい。
Figure 2009075143
式(10)を用いたチェックノード処理では加算器からの入力としてF+βL (1))が必要である。そのため、加算器15は、メモリブロック(F)11のデータと、メモリブロック(L(1),L(2))12からデータ変換器13を経て得られるデータとを加算するとき、メモリブロック(L(1),L(2))12からデータ変換器13を経て得られるデータに重み付けをすることとする。式(10)ではβが重みを表している。重み値βは検査行列(式(1)、式(2))の選択に応じて調整すればよい。また、重み値βは必ずしも一定である必要はなく、適応的に変化させてもよい。
入力の最上位ビット部分が正負の極性を表し、残りのビット部分が絶対値を表している場合、式(10)を用いたチェックノード処理では、最上位ビット部分の排他的論理和と、残りのビット部分の最小値とを算出すればよいことになる。これは、式(4)および式(5)を用いて行うチェックノード処理と比較して、双曲線正接関数の対数関数を利用することに起因して必要となるテーブル32,35が不要となる。その結果として、チェックノード処理を単純な比較回路で実現できるという利点がある。
次に、上述した復号装置を用いたデータ通信システムを例示する。
図8は、本実施形態の復号装置を用いたデータ通信システムの構成を示すブロック図である。図8を参照すると、データ通信システム80は送信装置81と受信装置82とを有している。
送信装置81は、符号化装置83、同期制御・変調器入力生成装置84、および変調器85を有している。符号化装置83は、低密度パリティ検査符号を用いて符号化したデータを出力する。同期制御・変調器入力生成装置84は、符号化装置83からの出力を、受信装置82での同期を可能にするフレームにのせ、変調器85の変調方式に適合するデータに変換して出力する。変調器85は、同期制御・変調器入力生成装置84は所定の変調方式で変調して送出する。変調器85の出力は通信路を介して受信装置82にて受信される。
受信装置82は、復調器86、同期制御・復号装置入力生成装置87、および復号装置88を有している。復調器86は、通信路からの信号を受信し、変調器85の変調方式に対応する方式で復調を行い、得られたデータを出力する。同期制御・復号装置入力生成装置87は、復調器86から出力されたデータのフレーム同期をとり、復号装置86への入力に適合するデータに変換して出力する。復号装置88は、同期制御・復号装置入力生成装置87から出力されたデータから、上述の実施形態に示した処理によって低密度パリティ検査符号の復号を行い、得られたデータを出力する。
なお、ここでは上述した実施形態の復号装置を通信システムに適用した例を示したが、復号装置は他にも適用することができる。他の例としてデータ蓄積システムに、上述の復号装置を適用することもできる。誤り訂正技術を用いることにより、蓄積したデータの信頼性向上を図ったデータ蓄積システムにおいて、低密度パリティ検査符号を用いて符号化したデータを蓄積装置に蓄積し、蓄積装置から取り出したデータを復号装置で復号するという形態が考えられる。
次に、上述した復号方法について数値を用いた具体例を示す。
ここでは、式(1)に示した検査行列のサイズがN=4095、R=504であるとする。また、式(2)で定義される集合U(i)は、iが0≦i<504であり、U(i)の成分数が全て64に一致するとする。その場合、通信システムを例にとれば、フレーム長が4095ビットのフレームを単位としてビット列を転送するシステムとするができる。その場合、一般的には、1フレーム中の約10%が誤り訂正のための冗長部分となる。復号装置への入力データを構成する各シンボルのビット幅bが6ビットであるとすると、復号装置では、メモリブロック(F)11として4095×6ビットの記憶容量が必要とされる以外に、メモリブロック(L(1),L(2))12に必要な記憶容量は2×4095×6ビットである。この数値例を文献4に開示された既存の復号方法を用いる復号装置と比較すると記憶容量が約75%削減されている。その一方で誤り率特性の劣化は0.1〜0.2dB程度に抑えられている。
以上、実施形態を参照して本発明を説明したが、本発明は実施形態に限定されるものではない。クレームに定義された本発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2007年12月13日に出願された日本出願特願2007−321928を基礎として優先権の利益を主張するものであり、その開示の全てを引用によってここに取り込む。

Claims (8)

  1. 低密度パリティ検査符号を用いて符号化された受信データの誤り訂正を行う復号装置であって、
    前記低密度パリティ検査符号の検査行列の列ベクトルの数と同数のデータを記憶する第1の記憶手段と、
    前記第1の記憶手段と同数のデータを記憶する第2の記憶手段と、
    データ変換手段と、
    チェックノード処理手段と、を有し、
    前記データ変換手段が、前記第1の記憶手段に記憶されたデータと前記第2の記憶手段に記憶されたデータとから、前記列ベクトルと一対一に対応する第1の中間データを生成し、
    前記チェックノード処理手段が、前記第1の中間データと前記受信データの加算結果に基づいて、前記第1の記憶手段に記憶されたデータを更新するための第2の中間データを生成し、
    前記データ変換手段が、前記第1の中間データを用いて前記第2の記憶手段に記憶されたデータを更新するとともに、前記チェックノード処理手段によって生成された前記第2の中間データを用いて前記第1の記憶手段に記憶されたデータを更新し、
    前記データ変換手段と前記チェックノード処理手段による処理により復号結果のデータを生成する、復号装置。
  2. 前記データ変換手段と前記チェックノード処理手段による処理を複数回繰り返すことにより、前記第1の記憶手段のデータと前記第2の記憶手段のデータを繰り返し更新することで前記復号結果のデータを得る、請求項1に記載の復号装置。
  3. 前記データ変換手段は、
    前記第1の記憶手段に記憶されたデータか、あるいは前記第1の記憶手段に記憶されたデータから前記第2の記憶手段に記憶されたデータを減算した結果のいずれかを選択することによって、前記第1の中間データを生成し、
    前記第2の記憶手段に記憶されたデータか、あるいは前記第1の記憶手段に記憶されたデータから前記第2の記憶手段に記憶されたデータを減算した結果のいずれかを選択することによって、前記第2の記憶手段に記憶されたデータを更新する、請求項1に記載の復号装置。
  4. 前記チェックノード処理手段は、前記検査行列の行ベクトルの各々について、該行ベクトルの非零成分と交わる前記列ベクトルと一対一に対応する前記第1の中間データと前記受信データとの和から、前記第1の記憶手段のデータの内、前記列ベクトルに対応するデータを更新するための第2の中間データを生成し、
    前記データ変換手段は、一通りの行ベクトルについて前記チェックノード処理手段による該データの更新を終了する毎に、前記第1の中間データとして、前記第1の記憶手段に記憶されたデータから前記第2の記憶手段に記憶されたデータを減算した結果を選択し、前記第2の記憶手段に記憶されたデータの更新データとして、前記第1の記憶手段に記憶されたデータから前記第2の記憶手段に記憶されたデータを減算した結果を選択する、請求項1に記載の復号装置。
  5. 前記低密度パリティ検査符号は、前記検査行列がサイズm(mは正の整数)の巡回置換行列か、あるいは零行列を成分とするr行n列(r,nは正の整数)のブロック行列である、擬似巡回低密度パリティ検査符号であり、
    前記第1の記憶手段および前記第2の記憶手段は、ワード数がm/p(pはmの約数)のn個のランダム・アクセス・メモリであり、
    前記データ変換手段は、並列で処理を行う最大n個のデータ変換器を有し、
    前記チェックノード処理手段は、前記データ変換器からの長さpのデータを巡回シフトする最大n個の第1のシフト回路と、最大n個の前記第1のシフト回路からの長さがpである最大n個のデータを長さが最大nであるp個のデータに整列する第1のデータ整列器と、前記第1のデータ整列器からのp個のデータを並列で処理するp個のチェックノード処理器と、p個の前記チェックノード処理器からの長さが最大nであるp個のデータを長さがpである最大n個のデータに整列する第2のデータ整列器と、前記第2のデータ整列器からの最大n個のデータを、前記第1のシフト回路の巡回シフトと逆に巡回シフトする最大n個の第2のシフト回路と、を有し、
    前記チェックノード処理手段と前記データ変換手段によって、前記第1の記憶手段および前記第2の記憶手段のデータを最大n個ずつ並列で更新する、請求項4に記載の復号装置。
  6. 蓄積装置に蓄積するデータを、低密度パリティ検査符号を用いて符号化する符号化装置と、
    前記低密度パリティ検査符号の検査行列の列ベクトルの数と同数のデータを記憶する第1の記憶手段と、前記第1の記憶手段と同数のデータを記憶する第2の記憶手段と、データ変換手段と、チェックノード処理手段と、を有し、前記データ変換手段が、前記第1の記憶手段に記憶されたデータと前記第2の記憶手段に記憶されたデータとから、前記列ベクトルと一対一に対応する第1の中間データを生成し、前記チェックノード処理手段が、前記第1の中間データと前記蓄積装置に蓄積されたデータとの加算結果に基づいて、前記第1の記憶手段に記憶されたデータを更新するための第2の中間データを生成し、前記データ変換手段が、前記第1の中間データを用いて前記第2の記憶手段に記憶されたデータを更新するとともに、前記チェックノード処理手段によって生成された前記第2の中間データを用いて前記第1の記憶手段に記憶されたデータを更新し、前記データ変換手段と前記チェックノード処理手段による処理により復号結果のデータを生成する、復号装置と、を有するデータ蓄積装置。
  7. 低密度パリティ検査符号を用いて符号化したデータを送信する送信装置と、
    前記低密度パリティ検査符号の検査行列の列ベクトルの数と同数のデータを記憶する第1の記憶手段と、前記第1の記憶手段と同数のデータを記憶する第2の記憶手段と、データ変換手段と、チェックノード処理手段と、を有し、前記データ変換手段が、前記第1の記憶手段に記憶されたデータと前記第2の記憶手段に記憶されたデータとから、前記列ベクトルと一対一に対応する第1の中間データを生成し、前記チェックノード処理手段が、前記第1の中間データと前記送信装置からの受信データとの加算結果に基づいて、前記第1の記憶手段に記憶されたデータを更新するための第2の中間データを生成し、前記データ変換手段が、前記第1の中間データを用いて前記第2の記憶手段に記憶されたデータを更新するとともに、前記チェックノード処理手段によって生成された前記第2の中間データを用いて前記第1の記憶手段に記憶されたデータを更新し、前記データ変換手段と前記チェックノード処理手段による処理により復号結果のデータを生成する、受信装置と、を有するデータ通信システム。
  8. 低密度パリティ検査符号を用いて符号化された受信データの誤り訂正を行う復号方法であって、
    前記低密度パリティ検査符号の検査行列の列ベクトルの数と同数のデータを第1の記憶手段に記憶するとともに、前記第1の記憶手段と同数のデータを第2の記憶手段に記憶し、
    前記第1の記憶手段に記憶されたデータと前記第2の記憶手段に記憶されたデータとから、前記列ベクトルと一対一に対応する第1の中間データを生成し、
    前記第1の中間データと前記受信データの加算結果に基づいて、前記第1の記憶手段に記憶されたデータを更新するための第2の中間データを生成し、
    前記第1の中間データを用いて前記第2の記憶手段に記憶されたデータを更新するとともに、前記第2の中間データを用いて前記第1の記憶手段に記憶されたデータを更新し、
    前記データ変換手段と前記チェックノード処理手段による処理により復号結果のデータを生成する、復号方法。
JP2009545368A 2007-12-13 2008-10-28 復号装置、データ蓄積装置、データ通信システム、および復号方法 Active JP5333233B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009545368A JP5333233B2 (ja) 2007-12-13 2008-10-28 復号装置、データ蓄積装置、データ通信システム、および復号方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2007321928 2007-12-13
JP2007321928 2007-12-13
PCT/JP2008/069488 WO2009075143A1 (ja) 2007-12-13 2008-10-28 復号装置、データ蓄積装置、データ通信システム、および復号方法
JP2009545368A JP5333233B2 (ja) 2007-12-13 2008-10-28 復号装置、データ蓄積装置、データ通信システム、および復号方法

Publications (2)

Publication Number Publication Date
JPWO2009075143A1 true JPWO2009075143A1 (ja) 2011-04-28
JP5333233B2 JP5333233B2 (ja) 2013-11-06

Family

ID=40755388

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009545368A Active JP5333233B2 (ja) 2007-12-13 2008-10-28 復号装置、データ蓄積装置、データ通信システム、および復号方法

Country Status (6)

Country Link
US (1) US8429486B2 (ja)
EP (1) EP2230767A4 (ja)
JP (1) JP5333233B2 (ja)
CN (1) CN102037651B (ja)
RU (1) RU2440669C1 (ja)
WO (1) WO2009075143A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4320418B2 (ja) * 2005-09-26 2009-08-26 日本電気株式会社 復号装置および受信装置
KR102113900B1 (ko) * 2013-05-02 2020-05-21 소니 주식회사 데이터 처리 장치 및 데이터 처리 방법
JP6229900B2 (ja) * 2013-05-02 2017-11-22 ソニー株式会社 データ処理装置、及びデータ処理方法
CN105191148B (zh) * 2013-05-02 2019-06-21 索尼公司 数据处理装置以及数据处理方法
EP2993793B1 (en) * 2013-05-02 2021-06-23 Sony Corporation Ldpc coded modulation in combination with 8psk and 16apsk
CN106549702B (zh) * 2016-10-14 2020-05-19 上海微小卫星工程中心 用于卫星的数据存储机
KR102467072B1 (ko) 2017-10-26 2022-11-11 삼성전자주식회사 반복 연산 과정을 이용하여 디코딩을 수행하는 디코더 및 이를 이용한 스토리지 장치

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1008316B (zh) * 1985-05-08 1990-06-06 索尼公司 纠错码的译码方法和系统
EP0933768A4 (en) * 1997-05-19 2000-10-04 Sanyo Electric Co DIGITAL MODULATION AND DEMODULATION
US7178080B2 (en) * 2002-08-15 2007-02-13 Texas Instruments Incorporated Hardware-efficient low density parity check code for digital communications
JP4062435B2 (ja) 2002-12-03 2008-03-19 日本電気株式会社 誤り訂正符号復号装置
US6957375B2 (en) * 2003-02-26 2005-10-18 Flarion Technologies, Inc. Method and apparatus for performing low-density parity-check (LDPC) code operations using a multi-level permutation
JP2005051469A (ja) 2003-07-28 2005-02-24 Sony Corp 符号化装置および符号化方法、並びにプログラム
KR100809619B1 (ko) 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
KR100918763B1 (ko) 2003-11-14 2009-09-24 삼성전자주식회사 병렬 연접 저밀도 패리티 검사 부호를 사용하는 채널 부호화/복호 장치 및 방법
JP4296949B2 (ja) 2004-02-03 2009-07-15 ソニー株式会社 復号装置及び方法、並びに情報処理装置及び方法
KR100703271B1 (ko) * 2004-11-23 2007-04-03 삼성전자주식회사 통합노드 프로세싱을 이용한 저밀도 패리티 검사 코드복호 방법 및 장치
JP4492352B2 (ja) 2005-01-05 2010-06-30 日本電気株式会社 復号装置及びその方法並びにプログラム
EP1699138A1 (en) 2005-03-02 2006-09-06 STMicroelectronics N.V. Method and device for decoding LDPC encoded codewords, in particular DVB-S2 LDPC encoded codewords
JP2006339799A (ja) 2005-05-31 2006-12-14 Toshiba Corp イレギュラー低密度パリティチェック符号復号器及び方法
JP4293172B2 (ja) * 2005-09-13 2009-07-08 ソニー株式会社 復号装置および復号方法
JP4320418B2 (ja) 2005-09-26 2009-08-26 日本電気株式会社 復号装置および受信装置
US8122315B2 (en) * 2005-12-01 2012-02-21 Electronics And Telecommunications Research Institute LDPC decoding apparatus and method using type-classified index
KR100899738B1 (ko) 2006-02-02 2009-05-27 삼성전자주식회사 노드 메모리 기반의 ldpc 복호기 및 복호방법
US7941737B2 (en) * 2006-04-19 2011-05-10 Tata Consultancy Services Limited Low density parity check code decoder

Also Published As

Publication number Publication date
EP2230767A1 (en) 2010-09-22
CN102037651A (zh) 2011-04-27
EP2230767A4 (en) 2012-02-22
JP5333233B2 (ja) 2013-11-06
RU2440669C1 (ru) 2012-01-20
US20100251063A1 (en) 2010-09-30
WO2009075143A1 (ja) 2009-06-18
US8429486B2 (en) 2013-04-23
CN102037651B (zh) 2013-05-22

Similar Documents

Publication Publication Date Title
KR100958234B1 (ko) 패리티 검사 디코더들에서 사용하기 위한 노드 처리기들
JP4062435B2 (ja) 誤り訂正符号復号装置
JP5333233B2 (ja) 復号装置、データ蓄積装置、データ通信システム、および復号方法
JP4602406B2 (ja) データをエンコード及びデコードするための方法並びに装置
WO2010073922A1 (ja) 誤り訂正符号化装置、復号装置、符号化方法、復号方法、及びそのプログラム
KR100861674B1 (ko) 송신기 및 수신기를 동작시키는 방법, 및 데이터를 엔코딩 및 디코딩하는 장치
CN110771047B (zh) 具有f功能和g功能的llr域计算的极性解码器
US20110191653A1 (en) Quasi-cyclic ldpc encoding and decoding for non-integer multiples of circulant size
JP2005506733A5 (ja)
WO2007034870A1 (ja) 復号装置および受信装置
KR20070063851A (ko) 패리티 검사 행렬, 패리티 검사 행렬 생성 방법, 인코딩방법 및 에러 정정 장치
US10833704B1 (en) Low-density parity check decoder using encoded no-operation instructions
EP2309650B1 (en) A systematic encoder with arbitrary parity positions
JP5488472B2 (ja) 復号装置、この復号装置を有するデータ通信装置およびデータ記憶装置
WO2018219001A1 (zh) Ldpc码校验矩阵的构造方法和设备
US10193574B1 (en) Efficient syndrome calculation in processing a GLDPC code
KR101206137B1 (ko) 모바일 와이맥스용 ldpc 복호기
JP2016208309A (ja) 誤り訂正復号装置、受信装置及び誤り訂正復号方法
CN105556852A (zh) 用于共享公共硬件资源的不同的低密度奇偶校验(ldpc)码的低密度奇偶校验编码
CN114499541A (zh) 分层译码方法、装置、终端设备及介质
US8508391B1 (en) Code word formatter of shortened non-binary linear error correction code
CN112470405A (zh) 非二进制码的消息传递解码的可变节点处理方法和设备
CN112152637B (zh) Dvb-s2 ldpc译码变量节点更新模块及其实现方法
JP2000315955A (ja) 符号化方法、シンドローム演算方法、誤りビット数推定方法、誤りビット位置推定方法、復号方法および復号装置
KR20140034579A (ko) 채널 복호화 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110905

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130715

R150 Certificate of patent or registration of utility model

Ref document number: 5333233

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150