JP5132738B2 - 誤り訂正復号器及び受信機 - Google Patents

誤り訂正復号器及び受信機 Download PDF

Info

Publication number
JP5132738B2
JP5132738B2 JP2010198058A JP2010198058A JP5132738B2 JP 5132738 B2 JP5132738 B2 JP 5132738B2 JP 2010198058 A JP2010198058 A JP 2010198058A JP 2010198058 A JP2010198058 A JP 2010198058A JP 5132738 B2 JP5132738 B2 JP 5132738B2
Authority
JP
Japan
Prior art keywords
symbol
change
label
unit
error correction
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
JP2010198058A
Other languages
English (en)
Other versions
JP2012054894A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2010198058A priority Critical patent/JP5132738B2/ja
Publication of JP2012054894A publication Critical patent/JP2012054894A/ja
Application granted granted Critical
Publication of JP5132738B2 publication Critical patent/JP5132738B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Description

本発明の実施形態は、多元LDPC符号の復号手法に関する。
低密度パリティ検査(LDPC; Low Density Parity Check)符号は、ガロア体(GF; Galois Field)(2)だけではなく拡大体GF(2)(Nは、2以上の任意の整数)上でも定義できる。以降の説明では、係るLDPC符号を、GF(2)上で定義されるバイナリLDPC符号と区別し、多元LDPC符号と称する。
多元LDPC符号を復号する場合にも、各復号対象シンボルの確率ベクトル(または対数尤度ベクトル)が利用される。具体的には、各確率ベクトルについて畳み込み演算、高速フーリエ変換(FFT; Fast Fourier Transform)などを用いて、BP(Belief Propagation)アルゴリズムが実行される。
BPアルゴリズムの実行時には、全復号対象シンボルの確率ベクトルの全要素について演算を行い、かつ、全復号対象シンボルの確率ベクトルの全要素をメモリなどに常に記憶させておく必要がある。尚、拡大体上には2個の要素が存在するので、個々の確率ベクトルもまた2個の要素を持つ。即ち、上記アルゴリズムによる多元LDPC符号の復号に必要な計算量及びメモリ容量は、O(2)のオーダーで増加する。故に、上記アルゴリズムによる多元LDPC符号の復号は、特に回路実装(ハードウェア実装)を困難にする。
バイナリLDPC符号に対する簡易な復号アルゴリズムとしてビットフリップアルゴリズムが提案されている。しかしながら、多元LDPC符号は、各シンボルに2通りのラベルが付与され得る(即ち、シンボルラベルがNビット値で表現される)ので、ビットフリップアルゴリズムの適用が困難である。
特許第4402700号公報
実施形態は、多元LDPC符号の復号に必要となる計算量及びメモリ容量を抑えることを目的とする。
一態様に係る誤り訂正復号器は、拡大体上で定義される多元LDPC(Low Density Parity Check)符号の検査行列と、複数の対象シンボルのラベルとに基づいて、検査行列の各行に対応するシンドローム値を生成する生成部を含む。この誤り訂正復号器は、シンドローム値の全てが零であれば、複数の対象シンボルの復号成功を判定する判定部と、シンドローム値のうち少なくとも1つが非零であれば、複数の対象シンボルから1つの変更シンボルを決定する第1の決定部とを含む。この誤り訂正復号器は、変更シンボルに付与する変更ラベルを決定する第2の決定部と、変更シンボルに変更ラベルを付与してから、生成部にシンドローム値を再生成させる変更適用部とを含む。
他の態様に係る誤り訂正復号器は、拡大体上で定義される多元LDPC(Low Density Parity Check)符号の検査行列と、複数の対象シンボルのラベルとに基づいて、検査行列の各行に対応するシンドローム値を生成する生成部を含む。この誤り訂正復号器は、シンドローム値の全てが零であれば、複数の対象シンボルの復号成功を判定する判定部を含む。この誤り訂正復号器は、シンドローム値のうち少なくとも1つが非零であれば、複数の対象シンボルのラベルの各々のバイナリ表現におけるエラービットを検査行列の各行に対応するシンドローム値に基づいて推定し、推定エラー情報を得る推定部を含む。この誤り訂正復号器は、複数の対象シンボルのラベルのバイナリ表現から1つの変更ビットを決定する決定部と、変更ビットを反転してから、生成部にシンドローム値を再生成させる変更適用部とを含む。
第1の実施形態に係る誤り訂正復号器を含む送受信システムを例示するブロック図。 第1の実施形態に係る誤り訂正復号器を含む記録再生システムを例示するブロック図。 第1の実施形態に係る誤り訂正復号器を例示するブロック図。 図3の誤り訂正復号器の動作を例示するフローチャート。 図3の誤り訂正復号器の効果を説明するためのグラフ。 第2の実施形態に係る誤り訂正復号器を例示するブロック図。 第3の実施形態に係る誤り訂正復号器を例示するブロック図。 図7の誤り訂正復号器の動作を例示するフローチャート。
以下、図面を参照して、実施形態について説明する。
(第1の実施形態)
第1の実施形態に係る誤り訂正復号器100は、典型的には、無線または有線で情報を送受信するための送受信システム、記録媒体に情報を書き込み/記録媒体から情報を読み出すための記録再生システムなどに適用される。
例えば、図1に例示する送受信システムは、誤り訂正復号器100、誤り訂正符号化部20、送信部30及び受信部40を含む。図1において、誤り訂正復号器100及び受信部40は、受信機を形成している。
誤り訂正符号化部20は、多元LDPC符号を用いてユーザデータ10を符号化し、符号化系列(多元LDPC符号語)を得る。送信部30は、誤り訂正符号化部20からの符号化系列に変調、デジタル−アナログ変換、アップコンバート、フィルタリング、電力増幅などの各種処理を行い、アンテナ(或いは、図示しない信号線)を介して信号を出力する。この信号は、符号化系列を搬送する。
受信部40は、アンテナ(或いは、図示しない信号線)を介して送信部30からの信号を入力し、低雑音増幅、フィルタリング、ダウンコンバート、アナログ−デジタル変換、復調などの各種処理を行い、符号化系列50を得る。誤り訂正復号器100は、上記多元LDPC符号の検査行列を用いて符号化系列50を復号し、ユーザデータ60を得る。
また、図2に例示する記録再生システムは、誤り訂正復号器100、誤り訂正符号化部20、記録部70及び再生部80を含む。図2において、誤り訂正復号器100及び再生部80は、再生機を形成している。尚、図2において、図1と同一のまたは類似する部分には同一のまたは類似する符号を付して示しており、重複する説明は省略する。記録部70は、誤り訂正符号化部20からの符号化系列をフラッシュメモリ、HDD(Hard Disk Drive)などの記憶媒体に記録するための各種処理を行う。再生部80は、記憶媒体に記録された符号化系列50を再生するための各種処理を行う。
誤り訂正復号器100は、多元LDPC符号を復号する。多元LDPC符号は、GF(2)上で定義される。Nは、2以上の任意の整数である。多元LDPC符号は、同じくGF(2)上で定義されるパリティ検査行列(以降、単に検査行列と称する)によって定められる。即ち、検査行列の各要素及び多元LDPC符号の各シンボルラベルは、下記の数式(1)に示されるように、GF(2)上の要素αで表すことができる。尚、xは、−∞,0,1,・・・,2−2のいずれかに等しい。
Figure 0005132738
検査行列の各行は、パリティ条件を規定する。下記の数式(2)は、パリティ条件の1つを例示する。
Figure 0005132738
尚、数式(2)においてBは、第t番目のシンボルに付与されるシンボルラベルを表す。BもまたGF(2)上の要素αで表される。また、tは1以上T以下の任意の整数を表し、Tは多元LDPC符号のシンボル長を表す。任意の多元LDPC符号語は、検査行列の全ての行のパリティ条件を満たすT個のシンボルにより構成される。前述のように、第t番目のシンボルラベルBは、αで表すことができる。また、数式(2)において、乗算(×)及び加算(+)は、GF(2)上で定義される乗算及び加算である。また、以降の説明においても、四則演算(尚、GF(2)において減算は加算と同義)はいずれもGF(2)上で定義される四則演算を指すものとする。
誤り訂正復号器100は、図3に示されるように、シンボル尤度算出部101、シンボル硬判定部102、硬判定情報バッファ103、シンドローム生成部104、検査行列情報記憶部105、シンドローム判定部106、変更指数導出部107、変更シンボル決定部108、変更ラベル決定部109及び変更適用部110を含む。
シンボル尤度算出部101は、符号化系列50に含まれる複数の対象シンボルの尤度ベクトルを算出する。具体的には、シンボル尤度算出部101は、符号化系列50に含まれる対象シンボル毎に、GF(2)上で定義される2個のラベルの尤度を算出する。即ち、1つの尤度ベクトルは、2個の要素を持つ。シンボル尤度算出部101は、各シンボルの尤度ベクトルをシンボル硬判定部102及び変更指数導出部107に入力する。
シンボル硬判定部102は、シンボル尤度算出部101からの各シンボルの尤度ベクトルに基づいて、各シンボルラベルを硬判定する。具体的には、シンボル硬判定部102は、所与のシンボルについて、最も尤度の大きい(最尤の)ラベルを尤度ベクトルから探索し、探索したラベルをシンボルラベルとして判定する。シンボル硬判定部102は、全てのシンボルについて係る硬判定を行い、判定結果(シンボルラベル)を要素とするシンボルベクトルを硬判定情報バッファ103に入力する。
硬判定情報バッファ103は、復号が終了するまで、シンボルベクトルを一時推定語として保存する。硬判定情報バッファ103は、シンボル硬判定部102からシンボルベクトルが入力されると、シンボルベクトルを保存すると共に、シンボルベクトルをシンドローム生成部104に入力する。また、硬判定情報バッファ103は、後述する変更適用部110によりシンボルベクトル中のシンボルラベルが変更されると、変更後のシンボルベクトルを保存すると共に、変更後のシンボルベクトルをシンドローム生成部104に入力する。更に、硬判定情報バッファ103は、後述するシンドローム判定部106から復号が成功した(即ち、一時推定語が多元LDPC符号語の1つに一致した)ことを通知されると、保存しているシンボルベクトルに対応するユーザデータ60を出力する。
シンドローム生成部104は、検査行列情報記憶部105からの検査行列情報と、硬判定情報バッファからのシンボルベクトルに基づいてシンドロームベクトルを生成する。具体的には、シンドローム生成部104は、検査行列情報によって表現される検査行列と、シンボルベクトル(の転置ベクトル)との乗算を行い、検査行列の全ての行のパリティ検査結果、即ち、シンドロームベクトルを得る。シンドロームベクトルにおける所与の要素(シンドローム値)は、検査行列の対応行の各要素と、シンボルベクトルの各要素との積和によって計算される。検査行列の行数がMであれば、シンドロームベクトルは下記の数式(3)で表される。
Figure 0005132738
数式(3)において、εは検査行列の第m行に対応するシンドローム値を表しており、GF(2)の2個の要素のいずれかに等しい。mは、1以上M以下の任意の整数である。シンドローム生成部104は、生成したシンドロームベクトルを変更シンボル決定部108及びシンドローム判定部106に入力する。
検査行列情報記憶部105には、検査行列情報が記憶される。この検査行列情報は、検査行列の全ての要素の値を示す情報であってもよいし、検査行列における非零の要素の位置及びその値を示す情報であってもよい。LDPC符号は、検査行列において非零の要素が零の要素に比べて疎なので、後者の情報によって検査行列を表現することにより検査行列情報の量を削減できる。
シンドローム判定部106は、シンドローム生成部104からのシンドロームベクトルに基づいてユーザデータ60が復号されているか否かを判定する。具体的には、シンドローム値が零であることは対応行のパリティ条件が満たされていることを意味し、シンドローム値が非零である(即ち、GF(2)上の零を除く2−1個の要素のいずれかに等しい)ことは対応行のパリティ条件が満たされていないことを意味する。即ち、全ての行のシンドローム値が零であれば、シンボルベクトルは検査行列によって定められる多元LDPC符号語の1つに一致している。係る場合に、シンドローム判定部106は、硬判定情報バッファ103に復号が成功したことを通知し、保存されているシンボルベクトルに対応するユーザデータ60を出力させる。一方、送受信または記録再生の過程で発生するノイズなどにより、シンボル誤りが生じていれば、少なくとも1つの行のシンドローム値が非零となる。誤り訂正復号器100は、全ての行に対応するシンドローム値が零となるか、或いは、所定の最大試行回数に達するまで、シンボルラベルを次々と変更し、多元LDPC符号の復号を繰り返し試みる。
変更指数導出部107は、ラベルを変更するシンボル(以降、変更シンボルとも称する)を決定するための変更指数を、シンボル尤度算出部101からの各シンボルの尤度ベクトル及びシンドローム生成部104からのシンドロームベクトルに基づいて導出する。尚、所与のシンボルの尤度ベクトルλは、下記の数式(4)で表すことができる。
Figure 0005132738
数式(4)において、p(α)はシンボルラベルαの尤度(例えば、受信確率密度関数)を表している。尚、各シンボルの尤度ベクトルにおいて、各要素が尤度の降順に従ってソートされてもよい。係るソートを適用する場合には、尤度ベクトルλにおいて、最も尤度の大きい要素が第1番目に配置される。
変更指数導出部107は、各シンボルの尤度ベクトルにおける最大の尤度を利用して、下記の数式(5)に従って可変重みwmtを計算する。
Figure 0005132738
数式(5)において、p(x)は第t番目のシンボルの尤度ベクトルにおける最大の尤度を表す。但し、wmtは、検査行列の第m行のパリティ検査に作用するシンボル(即ち、検査行列における第m行の非零の要素が乗じられるシンボル)について導出され、検査行列の第m行のパリティ検査に作用しないシンボル(即ち、検査行列における第m行の零の要素が乗じられるシンボル)について導出されない。p(xmaxは検査行列の第m行のパリティ検査に作用する全シンボルの尤度ベクトルにおける最大の尤度を表す。
数式(5)から明らかなように、可変重みwmtは、検査行列の第m行に対応するパリティ条件が満たされるならば負の値(≦−1)となり、満たされないならば正の値(≧1)となる。
変更指数導出部107は、数式(5)に従って可変重みwmtの値を各シンドロームεに応じて決定し、下記の数式(6)に従って各シンボルの変更指数Wを導出する。
Figure 0005132738
変更指数導出部107は、全てのシンボルについて変更指数を導出し、下記の数式(7)に示される変更指数ベクトルWを得る。変更指数導出部107は、変更指数ベクトルWを変更シンボル決定部108に入力する。
Figure 0005132738
変更シンボル決定部108は、変更指数ベクトルWに基づいて、変更シンボルを決定する。変更指数の大小によって、対応するシンボルがパリティ条件の不成立(不満足)に与えている影響を評価できる。具体的には、数式(5)から明らかなように、パリティ条件が不成立の場合には正の可変重みが与えられ、パリティ条件が成立の場合には負の可変重みが与えられる。また、数式(6)から明らかなように、変更指数は、係る可変重みを累積することにより導出される。従って、所与のシンボルが不成立のパリティ条件に数多く作用していれば、対応する変更指数は大きな値となる。変更シンボル決定部108は、典型的には、最大の変更指数に対応するシンボルを変更シンボルとして決定する。変更シンボル決定部108は、決定した変更シンボルを変更ラベル決定部109に通知する。
変更ラベル決定部109は、変更シンボルに次に付与するラベル(以降、変更ラベルと称する)を決定する。但し、変更シンボルに付与され得るラベルは2通り存在する。そこで、変更ラベル決定部109は、変更シンボルが作用する各パリティ条件を参照し、変更ラベルを決定する。
具体的には、変更ラベル決定部109は、変更シンボルが作用する各パリティ条件を満たす局所解ラベルを導出する。例えば、数式(2)のパリティ条件についてB=α及びB=αが正しいと仮定すれば、第2番目のシンボルの局所解ラベルB2cについて下記の数式(8)が成り立つ。
Figure 0005132738
故に、シンボルラベルBを下記の数式(9)に示されるように、局所解ラベルへ変更すれば、数式(2)のパリティ条件が満たされる。
Figure 0005132738
変更ラベル決定部109は、変更シンボルが作用する全てのパリティ条件について局所解ラベルを導出する。変更ラベル決定部109は、全ての局所解ラベルが一致すれば、当該局所解ラベルを変更ラベルとして決定する。
一方、変更ラベル決定部109は、局所解ラベルが2種類以上存在すれば、変更シンボルの尤度ベクトルに基づいて変更ラベルを決定する。例えば、変更ラベル決定部109は、尤度の降順に従って、変更シンボルに現在付与されているラベル以下の尤度を持つラベルを変更ラベルとして決定する。もし、変更シンボルのラベルの尤度が最小であれば、変更ラベル決定部109は尤度のより大きいラベル(例えば、尤度最大のラベル)を変更ラベルとして決定してもよいし、これ以外の処理を行ってもよい。変更ラベル決定部109は、決定した変更ラベルを変更適用部110に通知する。
変更適用部110は、硬判定情報バッファ103に保存されたシンボルベクトルのうち、変更シンボルに変更ラベルを付与することにより、変更を適用する。
以下、図4を用いて誤り訂正復号器100の動作例を説明する。
シンボル尤度算出部101は、符号化系列50を構成する各シンボルの尤度ベクトルを算出する(ステップS201)。シンボル硬判定部102は、ステップS201において算出された各シンボルの尤度ベクトルから最尤ラベルを探索し、探索したラベルをシンボルラベルとして夫々判定する(ステップS202)。ステップS202の判定結果であるシンボルベクトルは硬判定情報バッファ103に保存され、処理はステップS203に進む。
ステップS203において、シンドローム生成部104は、検査行列情報記憶部105からの検査行列情報と、硬判定情報バッファ103からの現在のシンボルベクトルに基づいてシンドロームベクトルを生成する。シンドローム判定部106は、ステップS203において生成されたシンドロームベクトルの全要素(即ち、全シンドローム値)が零であるか否かを判定する(ステップS204)。全てのシンドローム値が零であれば、シンドローム判定部106は、硬判定情報バッファ103に復号が成功したことを通知し、保存されているシンボルベクトルに対応するユーザデータ60を出力させ、復号処理は終了する。一方、少なくとも1つのシンドローム値が非零であれば、シンドローム判定部106(或いは、図示または不図示の別の要素)は復号試行回数が所定の最大試行回数に到達しているか否かを判定する(ステップS205)。復号試行回数が所定の最大試行回数に到達していれば、シンドローム判定部106(或いは、図示または不図示の別の要素)は復号の失敗を判定し、復号処理は終了する。復号試行回数が所定の最大試行回数に到達していなければ、復号処理はステップS206へ進む。
ステップS206において、変更指数導出部107は、ステップS203において生成された各シンドローム値に応じて可変重みの値を決定し、各シンボルの変更指数を導出する。尚、可変重みの具体値は、ステップS206の最初の実行時に計算されてもよいし、ステップS201の実行時からステップS206の最初の実行時までの間の任意の時点で予め計算されていてもよい。
変更シンボル決定部108は、ステップS206において導出された変更指数に基づいて、変更シンボルを決定する(ステップS207)。変更ラベル決定部109は、変更シンボルが作用する各パリティ条件を満たす局所解ラベルを導出する(ステップS208)。変更ラベル決定部109は、ステップS208において導出した全ての局所解ラベルが一致すれば、当該局所解ラベルを変更ラベルとして決定する(ステップS210)。変更ラベル決定部109は、ステップS208において導出した局所解ラベルが2種類以上存在すれば、変更シンボルの尤度ベクトルに応じて変更ラベルを決定する(ステップS211)。変更適用部110は、硬判定情報バッファ103に保存されているシンボルベクトルのうち、ステップS207において決定された変更シンボルに、ステップS210またはステップS211において決定された変更ラベルを付与することにより、変更を適用する(ステップS212)。処理はステップS212からステップS203に戻る。
誤り訂正復号器100によれば、多元LDPC符号の復号に必要となる計算量及びメモリ容量を抑えつつ、高い誤り訂正能力を実現できる。図5は、GF(2)上で定義される多元LDPC符号を誤り訂正復号器100により復号する場合のビットエラー率(図5の「Proposed Decoding BER」)を例示する。誤り訂正復号器100によれば、復号前ビットエラー率(図5の「Uncoded BER」)を大きく改善できる。
以上説明したように、第1の実施形態に係る誤り訂正復号器は、一度の復号処理において、シンボル毎に変更指数を導出し、変更指数に基づいて変更シンボルを決定し、変更シンボルが作用するパリティ条件毎に局所解ラベルを導出し、局所解ラベルの導出結果に基づいて変更ラベルを決定する。これらの諸処理はいずれも複雑な演算を必要としない。即ち、本実施形態に係る誤り訂正復号器によれば、多元LDPC符号の復号に必要となる計算量及びメモリ容量を抑えることができる。
(第2の実施形態)
第2の実施形態に係る誤り訂正復号器300は、図6に示されるように、シンボル尤度算出部101、シンボル硬判定部102、硬判定情報バッファ103、シンドローム生成部104、検査行列情報記憶部105、シンドローム判定部106、シンボル尤度ソート部311、変更指数導出部107、変更指数バッファ312、変更シンボル決定部308、シンボル変更回数カウンタ313、総変更回数カウンタ314、変更ラベル決定部109及び変更適用部110を含む。尚、図6において、図3と同一のまたは類似する部分には同一のまたは類似する符号を付して示しており、重複する説明は省略する。
シンボル尤度ソート部311は、シンボル尤度算出部101によって算出された各シンボルの尤度ベクトルを受け取る。シンボル尤度ソート部311は、各シンボルの尤度ベクトルの要素を、尤度の降順(尚、昇順でもよい)に従ってソートする。シンボル尤度ソート部311は、ソート済みの尤度ベクトルを変更指数導出部107に入力する。前述のように、変更指数導出部107は、各シンボルのうち最尤ラベルを探索する必要がある。また、変更ラベル決定部109は、局所解ラベルが2種類以上存在する場合に、典型的には尤度の降順に従って現在のラベル以下の尤度を持つラベルを探索する必要がある。尤度の降順に従って各シンボルの尤度ベクトルの要素をソートしておけば、係る探索処理に必要な計算量を節約できる。尚、シンボル尤度ソート部311は、任意のソーティングアルゴリズムを利用してよい。
変更指数バッファ312は、変更指数導出部107からの変更指数を保存し、変更シンボル決定部308に出力する。変更シンボル決定部308は、変更シンボルバッファ312に保存された変更指数に基づいて、変更シンボル決定部108と概ね同様の手法で変更シンボルを決定する。
総変更回数カウンタ314は、各シンボルが変更シンボルとして決定された回数の合計値をカウントする。即ち、総変更回数カウンタ314は、誤り訂正復号器300における復号試行回数をカウントする。例えば、総変更回数カウンタ314は、変更シンボル決定部308が変更シンボルを決定する度に、総変更回数のカウント値を1インクリメントする。
シンボル変更回数カウンタ313は、各シンボルが変更シンボルとして決定された回数をカウントする。例えば、シンボル変更回数カウンタ313は、変更シンボル決定部308が変更シンボルを決定する度に、対応するシンボルの変更回数のカウント値を1インクリメントする。
尚、シンボル変更回数カウンタ313及び総変更回数カウンタ314は、復号処理が終了する度に、初期値(例えば0)にリセットされる。
各シンボルの変更回数をカウントすることの技術的意義を説明する。
変更シンボル決定部308は、変更シンボル決定部108と同様に、最大の変更指数に対応するシンボルを変更シンボルとして決定する。ここで、同一のシンボルが変更シンボルとして繰り返し決定されるという状況が起こり得る。所与のシンボルの変更回数が2−1回であることは、当該シンボルについて全てのラベルが試行済みであることを意味する。同一のシンボルが2回連続して変更される状況を仮定する。係る状況では、どれだけ多く復号処理を繰り返しても当該シンボルについて一連のラベル変更が再現されるに過ぎず、復号が不成功に終わることは明らかである。
そこで、変更シンボル決定部308は、最大の変更指数に対応するシンボルの変更回数が2−1回に到達していれば、例外的に他のシンボルを変更シンボルとして決定する。例えば、変更シンボル決定部308は、2番目に大きい変更指数に対応するシンボルを変更シンボルとして決定する。勿論、変更シンボル決定部308は、他の規範に従って変更シンボルを決定してもよい。尚、係る例外処理に伴い、シンボル変更回数カウンタ313は、対応するシンボルの変更回数を初期値または他の値にリセットしてもよい。
尚、誤り訂正復号器300の動作例は、図4のフローチャートにいくつかのステップを付加することで理解できる。
シンボル尤度ソート部311は、ステップS201において算出された各シンボルの尤度ベクトルの要素を尤度の降順に従ってソートする。係る処理は、典型的には、ステップS203乃至ステップS212で形成されるループ処理よりも前に行われる。
変更シンボル決定部308は、ステップS206において導出された変更指数に基づいて、変更シンボルを決定する。具体的には、変更シンボル決定部308は、シンボル変更回数カウンタ313を参照することにより、最大の変更指数に対応するシンボルの変更回数を検出する。当該シンボルの変更回数が2−1回でなければ、変更シンボル決定部308は最大の変更指数に対応するシンボルを変更シンボルとして決定する。一方、当該シンボルの変更回数が2−1回であれば、変更シンボル決定部308は例外的に他のシンボルを変更シンボルとして決定する。
ステップS206の実行時または実行後に、シンボル変更回数カウンタ313及び総変更回数カウンタ314は、夫々カウント処理を行う。具体的には、シンボル変更回数カウンタ313は、ステップS206において変更シンボルとして決定されたシンボルに対応する変更回数のカウント値を1インクリメントする。また、総変更回数カウンタ314は、総変更回数のカウント値を1インクリメントする。総変更回数のカウント値は、ステップS205において参照される。
以上説明したように、第2の実施形態に係る誤り訂正復号器は、第1の実施形態に係る変更シンボルの決定処理において、シンボル変更回数に基づく例外処理を適用する。従って、本実施形態に係る誤り訂正復号器によれば、同一のシンボルが連続して変更され続けることにより復号が不成功に終わる事態を回避できる。
(第3の実施形態)
第3の実施形態に係る誤り訂正復号器400は、シンボル尤度算出部101、シンボル硬判定部102、硬判定情報バッファ103、シンドローム生成部104、検査行列情報記憶部105、シンドローム判定部106、変更指数導出部407、エラー位置推定部421、変更ビット決定部422及び変更適用部410を含む。尚、図7において、図3と同一のまたは類似する部分には同一のまたは類似する符号を付して示しており、重複する説明は省略する。
誤り訂正復号器400は、全ての行のシンドローム値が零となるか、或いは、所定の最大試行回数に達するまで、シンボルラベルを次々と変更し、多元LDPC符号の復号を繰り返し試みる。尚、本実施形態において、シンボルラベルの変更は、シンボルラベルのバイナリ表現であるビット列のうちの1ビットを反転させることにより実現される。尚、ビットの変更(即ち、反転)は一意に実現されるので、誤り訂正復号器400はビット毎の変更回数をカウントする必要がない。
以降、説明を簡単化するために、下記の数式(10)の原始多項式に基づく拡大体GF(2)を仮定する。
Figure 0005132738
係る拡大体GF(2)の各要素のバイナリ表現は、表1に示す通りである。
Figure 0005132738
エラー位置推定部421は、シンドローム生成部104からのシンドロームベクトルに基づいて、各シンボルラベルのバイナリ表現についてビット単位のエラー情報を推定する。具体的には、エラー位置推定部421は、各パリティ条件に作用する全てのシンボルラベルのバイナリ表現を対象にエラー情報を推定する。エラー位置推定部421は、各パリティ条件に関して、対象シンボルラベルを除く全てのシンボルラベルが正しいと仮定し、当該対象シンボルラベルのバイナリ表現における各ビットのエラーの有無を推定する。下記の数式(11)に示されるパリティ条件を用いて、エラー情報の推定手法を説明する。
Figure 0005132738
例えば、B=α、B=α及びB=αのように、シンボルラベルが付与されているとする。これらシンボルラベルを数式(11)に代入すると、下記の数式(12)が得られる。
Figure 0005132738
シンボルラベルBを対象にエラー情報を推定する場合には、B=α及びB=αが正しいと仮定する。この仮定により、数式(11)のパリティ条件についての局所解ラベルB2cに関して下記の数式(13)が導かれる。
Figure 0005132738
数式(13)を用いて、数式(12)は下記の数式(14)に書き換えられる。
Figure 0005132738
局所解ラベルB2cを基準とするシンボルラベルαの推定エラー情報をeで表すと、数式(14)は下記の数式(15)に書き換えられる。
Figure 0005132738
数式(15)を変形すれば、下記の数式(16)が得られる。
Figure 0005132738
推定エラー情報eの各ビットにおける「1」は、シンボルラベルの対応ビットのエラーを示す。本例であれば、推定エラー情報eは、シンボルラベルBの最上位ビットがエラーであることを示している。即ち、推定エラー情報eによれば、対象シンボルラベルにおけるエラービットを識別できる。同様に、エラー位置推定部421は、対象シンボルラベルをB及びBに順次切り替え、数式(11)のパリティ条件に作用する全てのシンボルラベルを対象にエラー情報を推定する。即ち、エラー位置推定部421は、各パリティ条件について、シンドローム値を対象シンボルラベルに対応する検査行列の要素で割った商を推定エラー情報として導出する。エラー位置推定部421は、推定エラー情報を変更指数導出部407に通知する。
変更指数導出部407は、反転させるビット(以降、変更ビットとも称する)を決定するための変更指数を、シンボル尤度算出部101からの各シンボルの尤度ベクトル及びエラー位置推定部421からの推定エラー情報に基づいて導出する。
変更指数導出部407は、各シンボルの尤度ベクトルにおける最大の尤度を利用して、下記の数式(17)に従って可変重みwmtnを計算する。
Figure 0005132738
数式(17)において、emtnは、検査行列の第m行のパリティ条件について導出された、対象シンボルラベルBの推定エラー情報emtの第n番目のビット値を表す。nは、1以上N以下の任意の整数である。但し、wmtnは、検査行列の第m行のパリティ検査に作用するシンボルについて導出され、検査行列の第m行のパリティ検査に作用しないシンボルについて導出されない。変更指数導出部407は、数式(17)に従って可変重みwmtnの値を各推定エラー情報emtに応じて決定し、下記の数式(18)に従って各シンボルの各ビットの変更指数Wtnを導出する。Wtnは、第t番目のシンボルのバイナリ表現における第n番目のビットの変更指数を表す。
Figure 0005132738
変更指数導出部407は、全てのシンボルのバイナリ表現における全てのビットについて変更指数を導出し、下記の数式(19)に示される変更指数ベクトルWを得る。変更指数導出部407は、変更指数ベクトルWを変更ビット決定部422に入力する。
Figure 0005132738
変更ビット決定部422は、変更指数ベクトルWに基づいて、変更ビットを決定する。変更指数の大小によって、対応するビットがエラーである可能性を評価できる。具体的には、数式(17)から明らかなように、エラーとして推定される場合には正の可変重みが与えられ、エラーでないと推定される場合には負の可変重みが与えられる。また、数式(18)から明らかなように、変更指数は、係る可変重みを総和することにより導出される。従って、所与のビットが数多くのパリティ条件に関してエラービットとして推定されていれば、対応する変更指数は大きな値となる。変更ビット決定部422は、典型的には、最大の変更指数に対応するビットを変更ビットとして決定する。変更ビット決定部422は、決定した変更ビットを変更適用部410に通知する。
変更適用部410は、硬判定情報バッファ103に保存されたシンボルベクトルのうち、変更ビットを反転させることにより、変更を適用する。
以下、図8を用いて誤り訂正復号器400の動作例を説明する。
シンボル尤度算出部101は、符号化系列50を構成する各シンボルの尤度ベクトルを算出する(ステップS501)。シンボル硬判定部102は、ステップS501において算出された各シンボルの尤度ベクトルから最尤ラベルを探索し、探索したラベルをシンボルラベルとして夫々判定する(ステップS502)。ステップS502の判定結果であるシンボルベクトルは硬判定情報バッファ103に保存され、処理はステップS503に進む。
ステップS503において、シンドローム生成部104は、検査行列情報記憶部105からの検査行列情報と、硬判定情報バッファ103からの現在のシンボルベクトルに基づいてシンドロームベクトルを生成する。シンドローム判定部106は、ステップS503において生成されたシンドロームベクトルの全要素が零であるか否かを判定する(ステップS504)。全てのシンドローム値が零であれば、シンドローム判定部106は、硬判定情報バッファ103に復号が成功したことを通知し、保存されているシンボルベクトルに対応するユーザデータ60を出力させ、復号処理は終了する。一方、少なくとも1つのシンドローム値が非零であれば、シンドローム判定部106(或いは、図示または不図示の別の要素)は復号試行回数が所定の最大試行回数に到達しているか否かを判定する(ステップS505)。復号試行回数が所定の最大試行回数に到達していれば、シンドローム判定部106(或いは、図示または不図示の別の要素)は復号の失敗を判定し、復号処理は終了する。復号試行回数が所定の最大試行回数に到達していなければ、復号処理はステップS506へ進む。
ステップS506において、エラー位置推定部421は、各パリティ条件について、ステップS503において生成されたシンドローム値を対象シンボルラベルに対応する検査行列の要素で割った商を推定エラー情報として導出する。
変更指数導出部407は、ステップS506において導出された推定エラー情報に応じて可変重みの値を決定し、各ビットの変更指数を導出する(ステップS507)。尚、可変重みの具体値は、ステップS507の最初の実行時に計算されてもよいし、ステップS501の実行時からステップS507の最初の実行時までの任意の時点で予め計算されていてもよい。
変更ビット決定部422は、ステップS507において導出された変更指数に基づいて、変更ビットを決定する(ステップS508)。変更適用部410は、硬判定情報バッファ103に保存されたシンボルベクトルのうち、ステップS508において決定された変更ビットを反転することにより、変更を適用する(ステップS509)。処理はステップS509からステップS503に戻る。
以上説明したように、第3の実施形態に係る誤り訂正復号器は、一度の復号処理において、各シンボルラベルのビット単位のエラー情報をパリティ条件毎に推定し、変更指数をビット毎に導出し、変更指数に基づいて変更ビットを決定する。これらの諸処理はいずれも複雑な演算を必要としない。即ち、本実施形態に係る誤り訂正復号器によれば、多元LDPC符号の復号に必要となる計算量及びメモリ容量を抑えることができる。
尚、上記各実施形態は、その記載の通りに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素を適宜組み合わせることによって種々の態様を形成できる。また、例えば、各実施形態に示される全構成要素からいくつかの構成要素を削除した構成も考えられる。さらに、異なる実施形態に記載した構成要素を適宜組み合わせてもよい。
上記各実施形態の処理は、汎用のコンピュータを基本ハードウェアとして用いることで実現可能である。上記各実施形態の処理を実現するプログラムは、コンピュータで読み取り可能な記憶媒体に格納して提供されてもよい。プログラムは、インストール可能な形式のファイルまたは実行可能な形式のファイルとして記憶媒体に記憶される。記憶媒体としては、磁気ディスク、光ディスク(CD−ROM、CD−R、DVD等)、光磁気ディスク(MO等)、半導体メモリなど、プログラムを記憶でき、かつ、コンピュータが読み取り可能な記憶媒体であれば、何れの形態であってもよい。また、上記各実施形態の処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ(サーバ)上に格納し、ネットワーク経由でコンピュータ(クライアント)にダウンロードさせてもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10,60・・・ユーザデータ
20・・・誤り訂正符号化部
30・・・送信部
40・・・受信部
50・・・符号化系列
70・・・記録部
80・・・再生部
100,300,400・・・誤り訂正復号器
101・・・シンボル尤度算出部
102・・・シンボル硬判定部
103・・・硬判定情報バッファ
104・・・シンドローム生成部
105・・・検査行列情報記憶部
106・・・シンドローム判定部
107,407・・・変更指数導出部
108,308・・・変更シンボル決定部
109・・・変更ラベル決定部
110,410・・・変更適用部
311・・・シンボル尤度ソート部
312・・・変更指数バッファ
313・・・シンボル変更回数カウンタ
314・・・総変更回数カウンタ
421・・・エラー位置推定部
422・・・変更ビット決定部

Claims (6)

  1. 拡大体上で定義される多元LDPC(Low Density Parity Check)符号の検査行列と、複数の対象シンボルのラベルとに基づいて、前記検査行列の各行に対応するシンドローム値を生成する生成部と、
    前記シンドローム値の全てが零であれば、前記複数の対象シンボルの復号成功を判定する判定部と、
    前記シンドローム値のうち少なくとも1つが非零であれば、前記複数の対象シンボルの各々がパリティ条件の不成立に与えている影響を示す変更指数を導出する導出部と、
    前記シンドローム値のうち少なくとも1つが非零であれば、前記複数の対象シンボルから1つの変更シンボルを決定する第1の決定部と、
    前記変更シンボルに付与する変更ラベルを決定する第2の決定部と、
    前記変更シンボルに前記変更ラベルを付与してから、前記生成部にシンドローム値を再生成させる変更適用部と
    を具備し、
    前記第1の決定部は、前記影響が最大である特定のシンボルの変更回数が前記拡大体の要素数から1を減じた値に到達していなければ、当該特定のシンボルを前記変更シンボルとして決定し、
    前記第1の決定部は、前記特定のシンボルの変更回数が前記拡大体の要素数から1を減じた値に到達していれば、前記特定のシンボルの代わりに別のシンボルを前記変更シンボルとして決定する、
    誤り訂正復号器。
  2. 前記複数の対象シンボルの各々の変更回数をカウントするカウンタを更に具備する、請求項1の誤り訂正復号器。
  3. 前記導出部は、前記複数の対象シンボルの各々が作用する各パリティ条件について、当該パリティ条件が満たされていれば第1の重みを累積し、当該パリティ条件が満たされていなければ前記第1の重みと異なる第2の重みを累積することにより、前記複数の対象シンボルの各々の変更指数を導出する、請求項1の誤り訂正復号器。
  4. 前記第2の決定部は、前記変更シンボルが作用する各パリティ条件を満たす局所解ラベルを導出し、前記局所解ラベルが2種類以上存在すれば、前記変更シンボルのラベル以下の尤度を持つラベルを前記変更ラベルとして決定する、
    請求項1の誤り訂正復号器。
  5. 前記第2の決定部は、前記変更シンボルが作用する各パリティ条件を満たす局所解ラベルを導出し、全ての前記局所解ラベルが一致すれば、前記局所解ラベルを前記変更ラベルとして決定する、
    請求項1の誤り訂正復号器。
  6. 多元LDPC符号語を搬送する受信信号を得る受信部と、
    請求項1記載の誤り訂正復号器と
    を具備し、
    前記誤り訂正復号器は、前記受信信号に基づいて前記複数の対象シンボルの初回のラベルを判定する、
    受信機。
JP2010198058A 2010-09-03 2010-09-03 誤り訂正復号器及び受信機 Expired - Fee Related JP5132738B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010198058A JP5132738B2 (ja) 2010-09-03 2010-09-03 誤り訂正復号器及び受信機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010198058A JP5132738B2 (ja) 2010-09-03 2010-09-03 誤り訂正復号器及び受信機

Publications (2)

Publication Number Publication Date
JP2012054894A JP2012054894A (ja) 2012-03-15
JP5132738B2 true JP5132738B2 (ja) 2013-01-30

Family

ID=45907733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010198058A Expired - Fee Related JP5132738B2 (ja) 2010-09-03 2010-09-03 誤り訂正復号器及び受信機

Country Status (1)

Country Link
JP (1) JP5132738B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9489977B1 (en) 2015-06-23 2016-11-08 Kabushiki Kaisha Toshiba Storage device, controller, and recording and reproducing method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2909499B1 (fr) * 2006-12-01 2009-01-16 Commissariat Energie Atomique Procede et dispositif de decodage pour codes ldpc, et appareil de communication comprenant un tel dispositif
JP5148586B2 (ja) * 2009-12-01 2013-02-20 株式会社東芝 復号装置および復号方法

Also Published As

Publication number Publication date
JP2012054894A (ja) 2012-03-15

Similar Documents

Publication Publication Date Title
US10326478B2 (en) Apparatus and method for encoding and decoding data in twisted polar code
JP5705106B2 (ja) ユークリッド空間リード−マラー符号の軟判定復号を実行する方法
JP5091996B2 (ja) 誤り訂正復号器、メモリコントローラ及び受信機
KR101216735B1 (ko) 프로덕트 부호의 복호 방법 및 장치
JP5132758B2 (ja) 誤り訂正復号器及び記憶装置
KR20120053122A (ko) 개선된 비트 반전 알고리즘 기반의 저밀도 패리티 검사 부호를 위한 복호 방법, 장치 및 이를 위한 기록 매체
JP2018019401A (ja) リード・ソロモン復号器及び復号方法
JP2019102950A (ja) 復号装置、復号方法および通信システム
KR102269322B1 (ko) 비트 매칭 기반으로 선형 부호를 고속 복호화하는 방법 및 장치
JP5132738B2 (ja) 誤り訂正復号器及び受信機
JP2008544639A (ja) 復号方法と装置
Hashemi et al. A tree search approach for maximum-likelihood decoding of Reed-Muller codes
US20220006472A1 (en) Method and apparatus for fast decoding linear code based on soft decision
KR101583165B1 (ko) 오류 정정 복호 장치
JP2009182421A (ja) 復号化方法及び復号化装置
US11777531B2 (en) Method and apparatus for high-speed decoding of linear code on basis of soft decision
CN113196671B (zh) 用于获得级联码结构的装置和方法及其计算机程序产品
JP4985843B2 (ja) 復号装置
JP4645640B2 (ja) 復号器、受信装置及び符号化データの復号方法
TW200814544A (en) Iterative soft decoding of constrained code words
JP6605839B2 (ja) 復号装置、復号方法及びプログラム
JP4973647B2 (ja) 誤り訂正符号の復号評価装置
KR102189920B1 (ko) 비트 매칭 기반으로 선형 부호를 고속 복호화하는 방법 및 장치
US20210295153A1 (en) Learning device
JPWO2014141484A1 (ja) パリティ検査行列作成方法、符号化装置及び記録再生装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120619

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120724

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120921

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121106

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

Free format text: PAYMENT UNTIL: 20151116

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20151116

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees