JP2008167378A - 復号装置および復号方法 - Google Patents

復号装置および復号方法 Download PDF

Info

Publication number
JP2008167378A
JP2008167378A JP2007000537A JP2007000537A JP2008167378A JP 2008167378 A JP2008167378 A JP 2008167378A JP 2007000537 A JP2007000537 A JP 2007000537A JP 2007000537 A JP2007000537 A JP 2007000537A JP 2008167378 A JP2008167378 A JP 2008167378A
Authority
JP
Japan
Prior art keywords
data
decoding
column
index
input
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.)
Pending
Application number
JP2007000537A
Other languages
English (en)
Inventor
Makiko Yamamoto
真紀子 山本
Mineshi Yokogawa
峰志 横川
Satoshi Okada
諭志 岡田
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2007000537A priority Critical patent/JP2008167378A/ja
Publication of JP2008167378A publication Critical patent/JP2008167378A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

【課題】外側繰り返し復号を的確に行うことができ、信頼性の高い復号を行うことが可能な復号装置および復号方法を提供する。
【解決手段】受信値の信頼度(LLR)の小さいシンボルに対応する列順に対角化されたパリティ検査行列を用いて信頼性伝播を行い、更新された信頼度に基づきこの動作を繰り返す内側繰り返し復号処理と、パリティ検査行列の列の対角化優先順位の初期値として、受信値の信頼性順以外の複数の順位を用いて、繰り返し内側繰り返し復号を行う外側繰り返し復号処理と、を含む復号装置30であって、受信語の信頼度(LLR)のソートを行うソート部32を有し、ソート部32は、外側繰り返し復号における対角化対象列の組み合わせを逆写像ソートで行う逆写像ソート装置を含む。
【選択図】図6

Description

本発明は、たとえば代数的手法を用いた誤り訂正符号技術を実現するための回路およびプログラム記憶媒体に関して適用される復号装置および復号方法に関するものである。
代数幾何符号、たとえばリードソロモン(Reed−Solomon)符号やその部分体部分符号としてのBCH符号には、その代数的性質を利用した、性能・計算コスト共に良い復号法が知られている。
たとえば、符号長n、情報長k、定義体GF(q)(q=p,p:素数)、最小距離d=n−kのReed−Solomon符号をRS(n,k)とすると、硬判定受信語をハミング(Hamming)距離が最小の符号語に復号する最小距離復号(通常復号)はt<d/2を満たすt個の誤りシンボルの訂正を保証するものとして良く知られている。
また、グルスワミ−スーダン(Guruswami−Sudan)によるリスト復号(以下G−Sリスト復号)は、t<√nkを満たすt個の誤りシンボルの訂正を保証している(非特許文献1参照)。
Guruswami−Sudanのリスト復号の拡張版として軟判定受信語を用いたコータ−バルディ(Koetter−Vardy)によるリスト復号(以下K−Vリスト復号)は、Guruswami−Sudan同様に(1)受信情報から各シンボルの信頼性を算出、(2)信頼性から2変数多項式補間条件の抽出、(3)2変数多項式の補間、(4)補間多項式の因数分解を行い復号語リスト作成、の4つの手順により構成され、硬判定復号時に比べてより高い性能を持つことが知られている(非特許文献2参照)。
また、リエンコード(Re−encode)により、その計算コストも現実的な範囲まで削減できることが知られている(非特許文献3参照)。
一方、線形符号としては、信頼性伝播(belief propagation:BP)を用いた繰り返し復号により限界性能に近い高性能を得られる低密度パリティ検査符号(Low density parity−check code,LDPC符号)が昨今注目されている(非特許文献4参照)。
LDPC符号に用いられる信頼性伝播(BP)は、一般に低密度なパリティ検査行列を持つ線形符号にしか有効でないことが理論的に知られており、また、Reed−Solomon符号やBCH符号のパリティ検査行列を低密度化することはNP−hardであることが知られている(非特許文献5参照)。
よって、Reed−Solomon符号やBCH符号に信頼性伝播(BP)を適用することは困難であるとされてきた。
しかし、2004年、受信語の信頼性に応じて対角化を行ったパリティ検査行列を用いてReed−Solomon符号やBCH符号、その他低密度でないパリティ検査行列を持つ線形符号への信頼性伝播(BP)の適用が効果的であることがナラヤナン(Narayanan)等によって紹介された(非特許文献6参照)。
この手法は、適応的信頼性伝播(ABP:Adaptive Belief Propagation)復号と呼ばれる。以下、このABP復号法について説明する。
たとえば、符号長n=6、情報長k=3、符号化率r=1/2の符号で、以下の3×6行列Hをパリティ検査行列として持つような線形符号Cを考える。
Figure 2008167378
符号空間Cは、次のように表される。
Figure 2008167378
ある符号語があるチャネル、たとえばBPSK変調+AWGNチャネル(Additive White Gaussian Noiseチャネル)を通った後、次のような受信語rとして受信機が受け取ったとする。
Figure 2008167378
このとき、受信値の各絶対値の大きさは受信語の信頼性の高さを表す。つまり、信頼性の低い順に番号をつけると以下のようになる。
Figure 2008167378
次に、信頼性の低いシンボルに対応する列より順にパリティ検査行列Hの対角化を行う。この例においては、信頼性の低いシンボルに対応する列は順に第3列、第5列、第1列、第4または第6列、第2列となるので、その優先順位に従ってHの対角化を行う。
Figure 2008167378
Figure 2008167378
Figure 2008167378
対角化を試みた列がそれ以前に対角化した列と線形従属であった場合は、その列はそのまま残し、次の順位の列で対角化を試みる。
このようにして行列Hのランク分対角化が行われた結果得られる新たなパリティ検査行列Hnewを用いて、信頼性伝播(BP)による信頼性の更新を行う。
図1はパリティ検査行列Hnewに対応するタナーグラフである。
信頼性伝播(BP)はタナーグラフのエッジに沿ってメッセージを行き来させることによって実現される。
行列の各列に対応するノードを可変(variable:バリアブル)ノード1、各行に対応するノードを検査(check:チェック)ノード2と呼ぶ。
i番目のバリアブルノードからj番目のチェックノードへのメッセージをQi,j、j番目のチェックノードからi番目のバリアブルノードへのメッセージをRi,j、さらにi番目のバリアブルノードに連接するチェックノードのインデックス集合をJ(i)、j番目のチェックノードに連接するバリアブルノードのインデックス集合をI(j)とした場合、それぞれの更新式は以下のようになる。
Figure 2008167378
ここで、θはバーティカルステップダンピングファクタ(vertical step damping factor)と呼ばれる係数を示し、0<θ≦1なる条件を満足する。Qi,jの初期値はrjが設定され、外部情報(extrinsic information)Λ 更新は次式により行われる。
Figure 2008167378
さらに、各符号ビットのLLRΛ の更新は、次式により行われる。
Figure 2008167378
ここで、α1は適応的信頼性伝播ダンピングファクタ(adaptive belief propagation damping factor)と呼ばれる係数を示し、0<α1≦1なる条件を満足する。
この信頼性伝播(BP)によるLLRの更新は事前に用意された繰り返し停止条件を満たすまで、たとえば最大繰り返し数Itに達成するまで繰り返される。
また、LLRを更新する列は、全ての列を対象とせずとも一部の列、たとえば対角化の対象となった列についてのみ行ってもよい。
信頼性伝播(BP)によって更新されたLLRの信頼性を用いて、つまり、LLRの絶対値の大きさを信頼性として、信頼性の低いシンボルに対応する列順に対角化を行うことにより、新たな信頼性伝播(BP)による繰り返し復号を行うことができる。
これを内側繰り返し復号と呼ぶ。このLLRの更新は事前に用意された内側繰り返し復号停止条件SC1を満たすまで繰り返される。
さらに、パリティ検査行列の列の対角化優先順位の初期値として、受信値の信頼性順以外の順位を複数用意する。複数の順位を用いて、シリアルもしくはパラレルに繰り返し内側繰り返し復号を行う。
これを外側繰り返し復号と呼ぶ。このLLR更新は事前に用意された外側繰り返し復号停止条件SC2を満たすまで繰り返される。
以上のABP(adaptive belief propagation)手順により繰り返し更新されたLLRを入カとして、復号器により復号を行う。
今、対象となる線形符号がReed−Solomon符号であった場合、繰り返し復号停止条件SC1、SC2として、たとえば以下のものが考えられる。
(A) H・d == 0または繰り返し数t≧N、
(B) 限界距離復号成功または繰り返し数t≧N、
(C) Koetter−Vardy軟判定リスト復号成功または繰り返し数t≧N。
ここで、d=(d,d,・・・,d)はΛの硬判定結果、d={Λ >0なら1,Λ ≦0なら0}であり、Nは事前に決めた最大繰り返し回数である。
また、復号方法として、たとえば以下のものが考えられる。
(a) 硬判定復号
(b) 限界距離復号
(c) Koetter−Vardy軟判定リスト復号
図2は、ABP復号法を用いた繰り返し復号のフローチャートである。
受信語の信頼性順の探索を行い(ST1)、順序変換を行う(ST2)。
変換した順序に応じてパリティ検査行列の対角化を行い(ST3)、このパリティ検査行列を用いて信頼性伝播(BP)を行う(ST4)。
次に、LLRを計算し(ST5)、計算したLLRの信頼性順を探索し(ST6)、復号を行い、復号語をリストへ追加する(ST7)。
そして、繰り返し復号停止条件N1,N2を満足するまで以上の処理を繰り返す(ST8、ST9)。
そして、復号語を1つ選択する(ST10)。
V.Guruswami,M.Sudan,Improve decoding of Reed−Solomon and Algebraic−Geometry codes,IEEE Transactions on Information Theory,vol.45,pp.1757−1767,1999 R.Koetter,A.Vardy,Algebraic soft−decision decoding of Reed−Solomon codes,IEEE Transactions on Information Theory,2001 R.Koetter,J.Ma,A.Vardy,A,Ahmed,Effcient Interpolation and Factorization in Algebraic Soft−Decision Decoding of Reed−Solomon codes,Proceedings of ISIT2003 D.MacKay,Good Error−Correcting Codes Based on Very Sparse Matrices,IEEE Transactions on Information Theory,1999 Berlekamp,R.McEliece,H.van Tilborg,On the inherent intractability of certain coding problems,IEEE Transactions on Information Theory,vol.24,pp.384−386,May,1978)。 Jing Jiang,K.R.Narayan,Soft Decision Decoding of RS Codes Using Adaptive Parity Check Matrices,Proceeding of IEEE International Symposium on Information Theory 2004
ところで、上述の技術では、受信LLRの大きさ順に列インデックスをソートする作業、および信頼性伝播(BP)によって更新されたLLRを用いて再び列インデックスをソートしなおす作業を行うソート装置が必要となる。
しかし、このソート装置をどうやって実現するかについては特に提案されていない。
また、ソートを行った後に、後段の対角化装置が望むタイミングで列インデックスを出力する必要や、更新されたLLRをソートする際に、一部の列のみLLRが更新され、更新されたインデックスのみ入力される場合は、更新前のソートされたインデックス順の中にLLRが更新されたインデックスを反映していく必要があるなど、様々な制約条件がある。
さらに、インデックスをソートする場合、LLRが同じインデックスについてはその入力順は特に気にする必要がないといったABP復号特有の特徴がある。
さらにまた、ソートの方法には、選択整列法、挿入整列法、シェルソートなど様々な方法がある。
以上から、上記制約条件やABP復号特有の特徴に適したソート装置とその方法を決めることは簡単ではない。
また、外側繰り返し復号は、図3のような方法が考えられる。
まず、受信LLRをソートする。
ソートされたLLRをブロック毎に分割する。たとえば外側繰り返し回数を4回とすると、図3に示すように4分割する。
4分割したブロックをそれぞれ、1、2、3、4と名づける。外側繰り返し一回目はブロック1を、二回目は2を、三回目は3を、四回目は4を入れ替えブロックとして先頭に移動させる。これにより、外側繰り返し毎に異なった初期の対角化対象列が割りあてられる。
しかし、この外側繰り返しは既存技術では実現することは困難である。
本発明は、外側繰り返し復号を的確に行うことができ、信頼性の高い復号を行うことが可能な復号装置および復号方法を提供することにある。
本発明の第1の観点は、受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す処理に、受信値の信頼度(LLR)の小さいシンボルに対応する列順に対角化されたパリティ検査行列を用いて信頼性伝播を行い、更新された信頼度に基づきこの動作を繰り返す内側繰り返し復号処理と、パリティ検査行列の列の対角化優先順位の初期値として、受信値の信頼性順以外の複数の順位を用いて、繰り返し内側繰り返し復号を行う外側繰り返し復号処理と、を含む復号装置であって、受信語の信頼度(LLR)のソートを行うソート部を有し、前記ソート部は、外側繰り返し復号における対角化対象列の組み合わせを逆写像ソートで行う逆写像ソート装置を含む。
本発明の第2の観点は、受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す処理に、受信値の信頼度(LLR)の小さいシンボルに対応する列順に対角化されたパリティ検査行列を用いて信頼性伝播を行い、更新された信頼度に基づきこの動作を繰り返す内側繰り返し復号処理と、パリティ検査行列の列の対角化優先順位の初期値として、受信値の信頼性順以外の複数の順位を用いて、繰り返し内側繰り返し復号を行う外側繰り返し復号処理と、を含む復号方法であって、受信語の信頼度(LLR)のソートを行うソートステップを有し、前記ソートステップは、外側繰り返し復号における対角化対象列の組み合わせを逆写像ソートで行う逆写像ソートステップを含む。
本発明によれば、ソート部において、各データがいくつ入力されたかを記憶しておく機能が付加される。これを利用すると、入れ替えブロックの先頭がどのデータの列インデックスなのかを決定することができる。入れ替えブロックの先頭位置が決まれば、入れ替えブロック数分、そこから列インデックスを読み出し、それが完了すれば、最小のデータへ移り、以降は従来のソート装置の出力フェーズと同様に列インデックスを読み出す。以上で、外側繰り返し復号は実現される。
本発明によれば、外側繰り返し復号を的確に行うことができ、信頼性の高い復号を行うことができる利点がある。
以下、本発明の実施形態を図面に関連付けて説明する。
本発明の実施形態に係る復号装置は、代数的手法を用いた誤り訂正符号技術を実現するための回路、たとえば適応的信頼性伝播(Adaptive Belief Propagation:ABP)復号器に応用できる。
ABP復号は、リードソロモン(Read−Solomon:RS)符号やBCH符号、その他低密度でないパリティ検査行列を持つ線形符号に対する復号法であり、ある伝送路から符号語を受信すると、その受信語をより信頼できる値に更新する。
以下、ABP復号における復号装置の通信システム上の位置づけについて説明した後、本実施形態に係る復号装置の具体的な構成および機能について説明する。
図4は、デジタル信号受信機、たとえばデジタルテレビなどの誤り訂正システムにABP復号器を用いた通信システムの構成例を示す図である。
本通信システム10は、図4に示すように、RS符号化器11、インタリーバ12、畳み込み符号器13、畳み込み符号の軟出力復号器14、デインタリーバ15、RS符号の既知情報付きABP繰り返し復号器16、およびチャネル17を有する。
本通信システム10では、RS符号化、畳み込み符号化された送信語に対して、畳み込み符号の軟出力復号をした後にABP復号を行っている。
ここで言う畳み込み符号の軟出力復号とは、たとえばBCJRアルゴリズムやSOVAによる復号のことである。
ABP復号器16においては、ABPによる信頼性の更新後、硬判定後限界距離復号、リスト復号、もしくは、軟値をそのまま入力として軟判定リスト復号を行う。
図5は、MAP復号が後段についたABP復号器の構成例を示す図である。
この復号器20は、図5に示すように、ABP復号部21、限界距離(BD)復号部22、受信信頼度(LLR)保持部23、およびMAP復号部24を有している。
復号器20においては、ABP復号部21による信頼性(LLR)の更新後、硬判定してBD復号部22において、限界距離復号を行い、この結果をリストに集め、最終的にMAP復号部24において最大事後確率復号(Maximum a posteriori Probability:MAP)復号を行う。
図6は、ABP復号器の復号装置の構成例を示す図である。
図6のABP復号器30は、図4のABP復号器16や図5のABP復号部21に適用可能であり、ソート入力選択部31、ソート部32、パリティ検査行列の対角化部33、信頼度(LLR)保持部34、および信頼性伝播(BP)部35を有している。
ABP復号器30においては、入力として、受信LLRS32が入力される。
列インデックスS31は、入力された受信LLRの符号語の始まりからカウンタで0、1、2、3、、とカウントアップされた値を生成し利用する。
ソート入力選択部31で、初回は、列インデックスS31と受信LLRS32を選択し、繰り返し二回目以降は信頼性伝播(BP)後、更新LLRS40とその列インデックスS39を選択する。
図6に示すように、受信語が入力されたら、まず、ソート部32において、その信頼度(LLR)の大きさに応じて列インデックスのソートを行う。
次に、信頼度の低いシンボルに対応する列より順に、対角化部33でパリティ検査行列の対角化を行う。
最後に、対角化されたパリティ検査行列を用いて、信頼性伝播(BP)を行うことにより、値が更新される。
更新された値に対して、再びソート、対角化、信頼性伝播(BP)を行う。繰り返し数が予め決められており、その繰り返し数だけこれを繰り返す。
なお、復号処理には、信頼性伝播によって更新された受信語の信頼度(LLR)に基づいて、信頼性の低いシンボルを対応する列順に対角化を行うことにより、新たな信頼性伝播による繰り返し復号を行う内側繰り返し復号処理と、パリティ検査行列の列の対角化優先順位の初期値として、受信値の信頼性順以外の複数の順位を用いて、シリアルもしくはパラレルに繰り返し内側繰り返し復号を行う外側繰り返し復号処理と、を含む
この復号器30のソート部32において、本発明の実施形態に係るデータソート装置を適用することが可能である。
<第1実施形態>
図7は、本発明の第1の実施形態に係るABP復号器のデータソート装置の構成例を示す図である。
本第1の実施形態に係るデータソート装置32Aは、図7に示すように、アドレスがデータの大きさに対応し、インデックスメモリ321、バッファとしてのバケツメモリ322に加えて、第1書込み読出しアドレス選択部323、第2書込み読出しアドレス選択部324、書込みデータ選択部325、および出力インデックス選択部326を有している。
基本的にデータソート装置32Aは逆写像ソートを行う機能を有する。
インデックスメモリ321は、アドレス入力ADに第2書込み読出しアドレス選択部324による第2書込み読出しアドレスS46を受け、入力IDATAにバケツメモリ322によるバケツ先頭インデックスS45を受けて、あるインデックスをアドレスとして指定すると、データが同じ大きさである別のインデックスを保持し、出力ODATAから読出しインデックスS17を出力インデックス選択部326および書込みデータ選択部325に出力する。
バケツメモリ322は、アドレス入力ADに第1書込み読出しアドレス選択部323による第1書込み読出しアドレスS44を受け、入力IDATAに書き込みデータ選択部325による書込みインデックスS49を受けて各アドレスにそのデータの代表となるインデックスを持ち、出力ODATAからバケツ先頭インデックスS45をインデックスメモリ321および出力インデックス選択部326に出力する。
第1書込み読出しアドレス選択部323は、図示しない制御系の制御の下、入力データS41と読出しデータS42のいずれかを選択し、第1書込み読出しアドレスS44としてバケツメモリ322のアドレス入力ADに出力する。
第2書込み読出しアドレス選択部324は、図示しない制御系の制御の下、入力インデックスS43と出力インデックス選択部326から出力される出力インデックスS48のいずれかを選択し、第2書込み読出しアドレスS46としてインデックスメモリ321のアドレス入力ADに出力する。
書込みデータ選択部325は、図示しない制御系の制御の下、入力インデックスS43とインデックスメモリ321による読出しインデックスS47のいずれかを選択し、書込みインデックスS49としてバケツメモリ322の入力IDATAに出力する。
書込みデータ選択部325は、入力時に入力インデックスS43を、出力時にインデックスメモリ321の読出しインデックスS47を選択するように制御される。
出力インデックス選択部326は、図示しない制御系の制御の下、バケツメモリ322から出力されるバケツ先頭インデックスS45とインデックスメモリ321から出力される読出しインデックスS47のいずれかを選択し、出力インデックS48として次段の対角部33および第2書込み読出しアドレス選択部324に出力する。
以下、第1の実施形態に係るデータソート装置32Aの動作例を図7〜図17に関連付けて説明する。
ここでは、ソート部32において、符号長n=6、情報長k=3、符号化率r=1/2の符号で、3×6-行列Hをパリティ検査行列として持つような線形符号Cを復号する場合を考える。この場合、ソート部32では、入力をソートした後、対角化対象列3列のインデックスを出力する。
図7において、入力データS11にはLLRが、入力インデックスS43には列インデックスが入力される。読出しデータS42はソート装置内部で生成するパラメータである。
入力データS41と入力インデックスS43が入力完了すると、データの大きさ順に並びなおされた列インデックスが出力列インデックスとして読み出される。入力データS41は、LLRの絶対値どうしを比較するので、入力後絶対値に直されるものとする。
データS41、インデックスS43が入力された時は、これらをインデックスメモリ321、バケツメモリ322に書き込む作業を行う。
まず、バケツメモリ322の初期値として存在しないインデックスを保持しておく。この場合は、列インデックスが0〜5まで存在するとして、存在しないインデックスは6としておく。入力が開始されると、入力データS41を読出しアドレスS44としてバケツメモリ322から読み出したインデックスS45を、入力インデックスS43をアドレスS46としてインデックスメモリ321に書き込む。
また、入力データS41をアドレスS44として入力インデックスS43をバケツメモリ322に書込む。入力として、データS41={2,0,1,2,1,2}、インデックスS43={0,1,2,3,4,5}が入力されるとすると、入力完了後、データソート装置32Aは、図8に示すようになる。
出力時は、図9〜図13に示すように、列インデックスを読出す。バケツメモリ322の書き換えも行われる。対角化対象となる3列を読出した時点で、出力は終了する。
まず、図9に示すように、データ0のインデックスの読出しを開始する。バケツメモリ322から1を読出し、これを出力する。出力データが存在しないインデックス6ではないので、データ0のインデックスの読出しを続ける。
次に、図10に示すように、まず、出力インデックスS48である1をアドレスとして、インデックスメモリ321から6を読み出す。さらに、読出した6をバケツメモリ3222のアドレス0に書き込む。これにより、既に出力されたインデックスについては、インデックス順の系列から外れることになる。また、出力インデックスS48に存在しないインデックス6が読み出されたので、次からデータ1のインデックスを読み出す。
次に、図11に示すように、読出しデータ1を指定する。出力インデックスS48に4が読み出される。
次に、図12に示すように、出力インデックスS48に2が読み出される。また、バケツメモリ3222のアドレス1に読出したインデックスS47として2が書き込まれる。
既に3列読み出されたのでこの時点で出力は完了するが、最後に図13に示すように、バケツメモリ322のアドレス1に読出しインデックスS47として6を書き込んでおく。これによりメモリ内部のインデックス順の情報の更新も完了する。
以上の操作により、対角化部33に出力されたインデックスS48={1,4,2}のデータ情報は既にメモリ内のインデックス系列のリストから外れたことになる。
次に、出力されたインデックスS48={1,4,2}のLLRが信頼性伝播(BP)で更新されて再びこのソート装置に入力された場合を考える。
二回目の繰り返し入力の時点で、メモリに格納されている列インデックスは、図13と同様に図14に示すようになる。二回目の繰り返しの入力は、データS41={1,0,2}、インデックスS43={1,4,2}と入力された場合を考える。
図15に示すように、入力インデックスS43として1が、更新された入力データS41でありそれが入力されると、通常の書き込み動作と同様に、バケツメモリ322に1を書込み、バケツメモリ322から読出したインデックスS45である6をインデックスメモリ321に入力インデックスS43をアドレスとして書き込む。
そして、図16、さらには図17に示すように、列インデックス4、2についても同様に行う。入力はこれで完了である。これを、通常の読出し動作と同様に列インデックスを読み出すと、データ0のインデックス={4}、データ1のインデックス1={1}、データ0のインデックス={2,5,3,0}というように正しくソートされて読み出される。
繰り返しを重ねても、常にインデックスを出力するたびに上記の通りバケツメモリ112を更新すれば、LLRが更新された一部のインデックスのみ入力される場合に適応できる。
以上でデータのソートは実現される。
次に、さらに実用に即した外部繰り返し復号を的確に実現することが可能なデータソート装置(図6のソート部)を第2の実施形態として説明する。
<第2実施形態>
図18は、本発明の第2の実施形態に係るABP復号器の逆写像ソート機能を含むデータソート装置の構成例を示す図である。
本第2の実施形態に係るデータソート装置32Bが、第1の実施形態に係るデータソート装置32Aと異なる点は、バケツカウンタ327をさらに設け、第1書込み読出しアドレス選択部323Aが入力データS41およびバケツカウンタ327の読出しデータS42のいずれかを選択するように構成したことにある。
すなわち、第1の実施形態に係るデータソート装置32Bは、図18に示すように、アドレスがデータの大きさに対応し、インデックスメモリ321、バッファとしてのバケツメモリ322に加えて、第1書込み読出しアドレス選択部323A、第2書込み読出しアドレス選択部324、書込みデータ選択部325、出力インデックス選択部326、およびバケツカウンタ327を有している。
インデックスメモリ321は、アドレス入力ADに第2書込み読出しアドレス選択部324による第2書込み読出しアドレスS46を受け、入力IDATAにバケツメモリ322によるバケツ先頭インデックスS45を受けて、あるインデックスをアドレスとして指定すると、データが同じ大きさである別のインデックスを保持し、出力ODATAから読出しインデックスS17を出力インデックス選択部326および書込みデータ選択部325に出力する。
バケツメモリ322は、アドレス入力ADに第1書込み読出しアドレス選択部323による第1書込み読出しアドレスS44を受け、入力IDATAに書き込みデータ選択部325による書込みインデックスS49を受けて各アドレスにそのデータの代表となるインデックスを持ち、出力ODATAからバケツ先頭インデックスS45をインデックスメモリ321および出力インデックス選択部326に出力する。
第1書込み読出しアドレス選択部323Aは、図示しない制御系の制御の下、入力データS41とバケツメモリ327の読出しデータS42のいずれかを選択し、第1書込み読出しアドレスS44としてバケツメモリ322のアドレス入力ADに出力する。
第2書込み読出しアドレス選択部324は、図示しない制御系の制御の下、入力インデックスS43と出力インデックス選択部326から出力される出力インデックスS48のいずれかを選択し、第2書込み読出しアドレスS46としてインデックスメモリ321のアドレス入力ADに出力する。
書込みデータ選択部325は、図示しない制御系の制御の下、入力インデックスS43とインデックスメモリ321による読出しインデックスS47のいずれかを選択し、書込みインデックスS49としてバケツメモリ322の入力IDATAに出力する。
書込みデータ選択部325は、入力時に入力インデックスS43を、出力時にインデックスメモリ321の読出しインデックスS47を選択するように制御される。
出力インデックス選択部326は、図示しない制御系の制御の下、バケツメモリ322から出力されるバケツ先頭インデックスS45とインデックスメモリ321から出力される読出しインデックスS47のいずれかを選択し、出力インデックS48として次段の対角部33および第2書込み読出しアドレス選択部324に出力する。
バケツカウンタ327は、各データにいくつのデータ(入力データS41)が到来したかを記憶しておく機能を有しており、読出しデータS42を第1書込み読出しアドレス選択部323Aに出力する。
以下、第2の実施形態に係るデータソート装置32Bの動作例を図18〜図22に関連付けて説明する。
第2の実施形態に係るデータソート装置32Bは、第1の実施形態に係るデータソート装置32Aにバケツカウンタ327なる各データにいくつのデータが到来したかを記憶しておく機能を付加している。
ここでは、データの種類を0〜5の6個、到来するインデックスを0〜39の計40個とし、図3のような外側繰り返し復号を行う場合を考える。
受信LLRソート後の並びを順に0、1、2、3、、、とすると、外側繰り返し第1回目において入れ替えブロック先頭は0、外側繰り返し第2回目において入れ替えブロック先頭は10、外側繰り返し第3回目において入れ替えブロック先頭は20、外側繰り返し第4回目において入れ替えブロック先頭は30となる。
特に、外側繰り返しを試みるのは、受信LLRが直接入力される場合であることから、列インデックスは、0、1、2、3、、と順にインクリメントされた値が入力される。
バケツカウンタ327は、入力データが到来したらそのデータに対応するアドレスの保持する値をインクリメントする。
入力が完了した後、図19に示すようになったとする。これをどういった入力が入ったかをイメージで表した図が図20である。
図20に示すように、バケツカウンタ327に確保された値だけ各データにインデックスが入力されている。これを外側繰り返しの分割ブロックずつに分割すると、ブロックBLK1、BLK2、BLK3、BLK4のように分割される。
たとえば、外側繰り返し二回目を考える。入れ替えブロックはBLK2であり、この先頭はデータ1に存在する14であるが、即座にこの列インデックス14は読み出せないので、データ1のバケツ先頭インデックス34を改めてBLK2の先頭とする。大きさは、BLK2の元々の先頭データ14もバケツ先頭インデックス34のデータも同じなので、バケツ先頭インデックス34をBLK2の先頭にすることは、全く問題ではない。
その後、図21に示すように、ブロックBLK2のデータ1のインデックス数だけデータ1のインデックスを読出し、残りはデータ2、3からブロックBLK2の分だけ列インデックスを読み出す。
ブロックBLK2の読出しが完了すると、図22に示すように、各バケツ先頭インデックスが更新された状態になっているので、データ0から順に、第1の実施形態の場合の出力フェーズと同様に列インデックスをデータ順に読み出す。
以上で、外側繰り返しは実現される。
なお、第1の実施形態では、存在しない列インデックスにたどりついたら次のデータへ移るということをしているが、本第2の実施形態においては、バケツカウンタ327を利用して、バケツカウンタ数だけ読出した時点で次のデータへ移る方法も可能であり、これを利用すると存在しない列インデックスを読み出す作業を省くことができる。
<第3実施形態>
図23は、本発明の第3の実施形態に係るABP復号器の逆写像ソート機能を含むデータソート装置の構成例を示す図である。
本第3の実施形態に係るデータソート装置32Cが、第2の実施形態に係るデータソート装置32Bと異なる点は、バケツカウンタ327に加えて、さらに空でないバケツ保持部328、および入れ替えブロック先頭データ保持部329を設け、入れ替えブロック先頭データ保持部329から読出しデータS42が第1書込み読出しアドレス選択部323Aに出力するようにしたことにある。
すなわち、第3の実施形態に係るデータソート装置32は、データと列インデックス入力完了後、即座に入れ替えブロックの先頭を読み出すための機能を付加した逆写像ソート装置である。
バケツカウンタ327に新たに入れ替えブロック先頭データ保持部329と空でない隣のバケツ保持部328が付加されている。
以下、第3の実施形態に係るデータソート装置32Cの動作例を図23〜図29に関連付けて説明する。
入れ替えブロック先頭データ保持部329では、バケツ力ウンタ327に保持されている値を常にチェックし、その値を更新する。空でない隣のバケツ保持部328では、自身よりデータの小さいバケツのうち、既に一つでも入力のあった最大のデータを保持しておく。
また、本第3の実施形態においては、バケツカウンタ327は自身のデータが来たときカウントアップするのではなく、自身のデータ未満のデータが来たときにカウントアップする。
ここでは簡単のため、5つのインデックスとデータが入力され、入力完了後、そのうち大きさが3番目のデータを入れ替えブロックの先頭として即座に読出したい場合を考える。
入力として、データ=1,4,2,5,1が入力される場合を考える。つまり、最終的にデータ2が先頭データだとできればよい。
まず、図24に示すように、初期値として、入れ替えブロック先頭データ保持部329には最大データ5を、空でない隣のバケツ保持部328は0、バケツカウンタ327も0を入力しておく。
そして、図25に示すように、入力1が到来すると、バケツカウンタ327はデータ2以上がカウントアップする。また、空でない隣のバケツ保持部328は2以上が、一番近いデータは1になるので、1と更新する。
さらに、入れ替えブロック先頭データ保持部329は5なので、バケツカウンタ327のデータ5の値を見て、これが1(3未満)であるため、入れ替えブロック先頭データ保持部329は5を維持する。
次に、図26に示すように、入力4が到来すると、バケツカウンタ327はデータ5以上がカウントアップする。また、空でない隣のバケツ保持部328は5以上が、一番近いデータは4になるので、4と更新する。
さらに、入れ替えブロック先頭データ保持部329は5なので、バケツカウンタ327のデータ5の値を見て、これが2(3未満)であるため、入れ替えブロック先頭データ保持部329は5を維持する。
次に、図27に示すように、入力2が到来すると、バケツ力ウンタ327はデータ3以上がカウントアップする。また、空でない隣のバケツ保持部328は3と4が、自身の隣は1となっており2のほうがより近いデータになるので、2と更新する。
さらに、入れ替えブロック先頭データ保持部329は5なので、バケツカウンタ327のデータ5の値を見て、これが3(3未満でない)であるため、5の空でない隣のバケツ4に更新する。
次に、図28に示すように、入力5が到来すると、バケツカウンタ327はデータ6以上(存在しないが)がカウントアップする。また、空でない隣のバケツ保持部328は、5のほうがより近い隣のデータになるデータはないのでどのデータも更新しない。
さらに、入れ替えブロック先頭データ保持部329は4なので、バケツカウンタ327のデータ4の値を見て、これが2(3未満)であるため、入れ替えブロック先頭データ保持部329は4を維持する。
最後に、図29に示すように、入力1が到来すると、バケツカウンタ327はデータ2以上がカウントアップする。また、空でない隣のバケツ保持部328は、1のほうがより近い隣のデータになるデータはないのでどのデータも更新しない。
さらに、入れ替えブロック先頭データ保持部329は4なので、バケツカウンタ327のデータ4の値を見て、これが3(3未満でない)であるため、4の空でない隣のバケツ2に更新する。
以上より、入れ替えブロック先頭データは、入力が完了すると共に2とすることができる。これにより、外側繰り返し復号が実現される。
なお、以上詳細に説明した方法は、上記手順に応じたプログラムとして形成し、CPU等のコンピュータで実行するように構成することも可能である。
また、このようなプログラムは、半導体メモリ、磁気ディスク、光ディスク、フロッピー(登録商標)ディスク等の記録媒体、この記録媒体をセットしたコンピュータによりアクセスし上記プログラムを実行するように構成可能である。
パリティ検査行列Hnewに対応するタナーグラフである。 ABP復号法を用いた繰り返し復号のフローチャートである。 外側繰り返し復号のフローの一列を示す図である。 デジタル信号受信機、たとえばデジタルテレビなどの誤り訂正システムにABP復号器を用いた通信システムの構成例を示す図である。 MAP復号が後段についたABP復号器の構成例を示す図である。 ABP復号器の復号装置の構成例を示す図である。 本発明の第1の実施形態に係るABP復号器のデータソート装置の構成例を示す図であり、処理を説明するための第1図である。 第1の実施形態に係るソート装置の処理を説明するための第2図である。 第1の実施形態に係るソート装置の処理を説明するための第3図である。 第1の実施形態に係るソート装置の処理を説明するための第4図である。 第1の実施形態に係るソート装置の処理を説明するための第5図である。 第1の実施形態に係るソート装置の処理を説明するための第6図である。 第1の実施形態に係るソート装置の処理を説明するための第7図である。 第1の実施形態に係るソート装置の処理を説明するための第8図である。 第1の実施形態に係るソート装置の処理を説明するための第9図である。 第1の実施形態に係るソート装置の処理を説明するための第10図である。 第1の実施形態に係るソート装置の処理を説明するための第11図である。 本発明の第2の実施形態に係るABP復号器の逆写像ソート機能を含むデータソート装置の構成例を示す図であり、処理を説明するための第1図である。 第2の実施形態に係るソート装置の処理を説明するための第2図である。 第2の実施形態に係るソート装置の処理を説明するための第3図である。 第2の実施形態に係るソート装置の処理を説明するための第4図である。 第2の実施形態に係るソート装置の処理を説明するための第5図である。 本発明の第3の実施形態に係るABP復号器の逆写像ソート機能を含むデータソート装置の構成例を示す図であり、処理を説明するための第1図である。 第3の実施形態に係るソート装置の処理を説明するための第2図である。 第3の実施形態に係るソート装置の処理を説明するための第3図である。 第3の実施形態に係るソート装置の処理を説明するための第4図である。 第3の実施形態に係るソート装置の処理を説明するための第5図である。 第3の実施形態に係る対角化部の処理を説明するための第6図である。 第3の実施形態に係る対角化部の処理を説明するための第7図である。
符号の説明
10・・・通信システム、11・・・RS符号化器、12・・・インタリーバ、13・・・畳み込み符号器、14・・・畳み込み符号の軟出力復号器、15・・・デインタリーバ、16・・・ABP繰り返し復号器、17・・・チャネル、20・・・復号器、21・・・ABP復号部、22・・・限界距離(BD)復号部、23・・・受信信頼度(LLR)保持部、24・・・MAP復号部、30・・・ABP復号器、31・・・ソート入力選択部、32・・・ソート部、32A,32B,32C・・・データソート装置、33・・・パリティ検査行列の対角化部、34・・・信頼度(LLR)保持部、35・・・信頼性伝播(BP)部、321・・・インデックスメモリ、322・・・バケツメモリ、323・・・第1書込み読出しアドレス選択部、324・・・第2書込み読出しアドレス選択部、325・・・書込みデータ選択部、326・・・出力インデックス選択部、327・・・バケツカウンタ、328・・・空でないバケツ保持部、329・・・入れ替えブロック先頭データ保持部。

Claims (16)

  1. 受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す処理に、受信値の信頼度(LLR)の小さいシンボルに対応する列順に対角化されたパリティ検査行列を用いて信頼性伝播を行い、更新された信頼度に基づきこの動作を繰り返す内側繰り返し復号処理と、パリティ検査行列の列の対角化優先順位の初期値として、受信値の信頼性順以外の複数の順位を用いて、繰り返し内側繰り返し復号を行う外側繰り返し復号処理と、を含む復号装置であって、
    受信語の信頼度(LLR)のソートを行うソート部を有し、
    前記ソート部は、
    外側繰り返し復号における対角化対象列の組み合わせを逆写像ソートで行う逆写像ソート装置を含む
    復号装置。
  2. 前記逆写像ソート装置は、
    入力されたデータ毎にそのデータが過去いくつ入力されたかの情報を保持する
    請求項1記載の復号装置。
  3. 前記逆写像ソート装置は、
    各データが過去いくつ入力されたかの情報を用いて、外側繰り返しの入れ替えブロックの先頭列がどのデータの列集合に存在するのかを決定する
    請求項2記載の復号装置。
  4. 前記逆写像ソート装置は、
    アドレスが所定のデータに対応し、各アドレスに当該データの代表となるインデックスを保持するバッファを有し、
    入れ替えブロックの先頭列が存在するデータの列インデックス集合のうち、入れ替えブロックの前記バッファに保持されている列インデックスを改めて入れ替えブロックの先頭とし直す
    請求項3記載の復号装置。
  5. 前記逆写像ソート装置は、
    データ毎に列インデックスを読み出す際、存在しない列インデックスが読み出されるまで列インデックスを読み出す代わりに、そのデータが過去いくつ入力されたかの情報を用いて、列インデックスをそのデータのカウンタ数分読み出した時点で読み出しを終了する
    請求項2記載の復号装置。
  6. 前記逆写像ソート装置は、
    外側繰り返し復号を実現する逆写像ソート装置において、入力されたデータ毎にそのデータ未満のデータが過去いくつ入力されたかの情報を保持する
    請求項1記載の復号装置。
  7. 前記逆写像ソート装置は、
    各データが保持する自身のデータ未満のデータが過去いくつ入力されたかの情報を用いて、外側繰り返しの入れ替えブロックの先頭列がどのデータの列集合に存在するのかを決定する
    請求項6記載の復号装置。
  8. 前記逆写像ソート装置は、
    アドレスが所定のデータに対応し、各アドレスに当該データの代表となるインデックスを保持するバッファを有し、
    入れ替えブロックの先頭列が存在するデータの列インデックス集合のうち、入れ替えブロックの前記バッファに保持されている列インデックスを改めて入れ替えブロックの先頭とし直す
    請求項7記載の復号装置。
  9. 受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す処理に、受信値の信頼度(LLR)の小さいシンボルに対応する列順に対角化されたパリティ検査行列を用いて信頼性伝播を行い、更新された信頼度に基づきこの動作を繰り返す内側繰り返し復号処理と、パリティ検査行列の列の対角化優先順位の初期値として、受信値の信頼性順以外の複数の順位を用いて、繰り返し内側繰り返し復号を行う外側繰り返し復号処理と、を含む復号方法であって、
    受信語の信頼度(LLR)のソートを行うソートステップを有し、
    前記ソートステップは、
    外側繰り返し復号における対角化対象列の組み合わせを逆写像ソートで行う逆写像ソートステップを含む
    復号方法。
  10. 前記逆写像ソートステップにおいては、
    入力されたデータ毎にそのデータが過去いくつ入力されたかの情報を保持する
    請求項9記載の復号方法。
  11. 前記逆写像ソートステップにおいては、
    各データが過去いくつ入力されたかの情報を用いて、外側繰り返しの入れ替えブロックの先頭列がどのデータの列集合に存在するのかを決定する
    請求項10記載の復号方法。
  12. 前記逆写像ソートステップにおいては、
    入れ替えブロックの先頭列が存在するデータの列インデックス集合のうち、入れ替えブロックのバッファに保持されている列インデックスを改めて入れ替えブロックの先頭とし直す
    請求項11記載の復号方法。
  13. 前記逆写像ソートステップにおいては、
    データ毎に列インデックスを読み出す際、存在しない列インデックスが読み出されるまで列インデックスを読み出す代わりに、そのデータが過去いくつ入力されたかの情報を用いて、列インデックスをそのデータのカウンタ数分読み出した時点で読み出しを終了する
    請求項10記載の復号方法。
  14. 前記逆写像ソートステップにおいては、
    外側繰り返し復号を実現する逆写像ソート装置において、入力されたデータ毎にそのデータ未満のデータが過去いくつ入力されたかの情報を保持する
    請求項9記載の復号方法。
  15. 前記逆写像ソートステップにおいては、
    各データが保持する自身のデータ未満のデータが過去いくつ入力されたかの情報を用いて、外側繰り返しの入れ替えブロックの先頭列がどのデータの列集合に存在するのかを決定する
    請求項14記載の復号方法。
  16. 前記逆写像ソートステップにおいては、
    入れ替えブロックの先頭列が存在するデータの列インデックス集合のうち、入れ替えブロックのバッファに保持されている列インデックスを改めて入れ替えブロックの先頭とし直す
    請求項15記載の復号方法。
JP2007000537A 2007-01-05 2007-01-05 復号装置および復号方法 Pending JP2008167378A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007000537A JP2008167378A (ja) 2007-01-05 2007-01-05 復号装置および復号方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007000537A JP2008167378A (ja) 2007-01-05 2007-01-05 復号装置および復号方法

Publications (1)

Publication Number Publication Date
JP2008167378A true JP2008167378A (ja) 2008-07-17

Family

ID=39696160

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007000537A Pending JP2008167378A (ja) 2007-01-05 2007-01-05 復号装置および復号方法

Country Status (1)

Country Link
JP (1) JP2008167378A (ja)

Similar Documents

Publication Publication Date Title
KR101176433B1 (ko) 복호 장치 및 방법, 및 프로그램
USRE44421E1 (en) Decoding apparatus for low-density parity-check codes using sequential decoding, and method thereof
US8566666B2 (en) Min-sum based non-binary LDPC decoder
US7536628B2 (en) Decoding apparatus, decoding method and program
US9015547B2 (en) Multi-level LDPC layered decoder with out-of-order processing
US8103945B2 (en) Decoding method and decoding apparatus as well as program
JP4412401B2 (ja) 復号装置、復号方法、受信装置、および記憶媒体再生装置
US8650451B2 (en) Stochastic stream decoding of binary LDPC codes
CN107979445B (zh) 使用预先排序的输入的基于基本校验节点的校正子解码
US20050210358A1 (en) Soft decoding of linear block codes
Scholl et al. Hardware implementation of a Reed-Solomon soft decoder based on information set decoding
US10038456B1 (en) Decoders with look ahead logic
CN111034055A (zh) 在非二进制ldpc解码器中简化的校验节点处理
JP2009225325A (ja) 復号方法および復号装置、並びにプログラム
JP4862657B2 (ja) 復号方法および復号装置、並びにプログラム
JP5130715B2 (ja) データソート装置およびデータソート方法
JP4910708B2 (ja) 復号装置および復号方法
JP2008167378A (ja) 復号装置および復号方法
JP4862658B2 (ja) 復号方法および復号装置、並びにプログラム
KR101267756B1 (ko) 가변 부호화율 불규칙 반복 다상 누산 부호화 및 복호화 방법과 이를 위한 장치
JP2008199149A (ja) 復号装置および復号方法
JP2008205547A (ja) 復号方法および復号装置
JP2008199148A (ja) 復号装置、復号方法、およびプログラム
JP2008199308A (ja) 復号装置および復号方法
JP2008205546A (ja) 復号方法および復号装置、並びにプログラム