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

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

Info

Publication number
JP4910708B2
JP4910708B2 JP2007000535A JP2007000535A JP4910708B2 JP 4910708 B2 JP4910708 B2 JP 4910708B2 JP 2007000535 A JP2007000535 A JP 2007000535A JP 2007000535 A JP2007000535 A JP 2007000535A JP 4910708 B2 JP4910708 B2 JP 4910708B2
Authority
JP
Japan
Prior art keywords
index
address
data
input
memory
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
JP2007000535A
Other languages
English (en)
Other versions
JP2008167376A (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.)
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 JP2007000535A priority Critical patent/JP4910708B2/ja
Priority to US11/959,551 priority patent/US8103945B2/en
Publication of JP2008167376A publication Critical patent/JP2008167376A/ja
Application granted granted Critical
Publication of JP4910708B2 publication Critical patent/JP4910708B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

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 0004910708
符号空間Cは、次のように表される。
Figure 0004910708
ある符号語があるチャネル、たとえばBPSK変調+AWGNチャネル(Additive White Gaussian Noiseチャネル)を通った後、次のような受信語rとして受信機が受け取ったとする。
Figure 0004910708
このとき、受信値の各絶対値の大きさは受信語の信頼性の高さを表す。つまり、信頼性の低い順に番号をつけると以下のようになる。
Figure 0004910708
次に、信頼性の低いシンボルに対応する列より順にパリティ検査行列Hの対角化を行う。この例においては、信頼性の低いシンボルに対応する列は順に第3列、第5列、第1列、第4または第6列、第2列となるので、その優先順位に従ってHの対角化を行う。
Figure 0004910708
Figure 0004910708
Figure 0004910708
対角化を試みた列がそれ以前に対角化した列と線形従属であった場合は、その列はそのまま残し、次の順位の列で対角化を試みる。
このようにして行列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 0004910708
ここで、θはバーティカルステップダンピングファクタ(vertical step damping factor)と呼ばれる係数を示し、0<θ≦1なる条件を満足する。Qi,jの初期値はrjが設定され、外部情報(extrinsic information)Λ 更新は次式により行われる。
Figure 0004910708
さらに、各符号ビットのLLRΛ の更新は、次式により行われる。
Figure 0004910708
ここで、α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復号特有の特徴に適したソート装置とその方法を決めることは簡単ではない。
本発明は、より少ない計算量で高速に、かつ小さい回路規模で受信値の信頼度のソートを的確に行うことが可能な復号装置および復号方法を提供することにある。
本発明の第1の観点は、受信語の信頼度の大きさに従いソートし、その順番に行列のランク分対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す復号装置であって、受信語の信頼度(LLR)のソートを行うソート部を有し、前記ソート部は、入力されるデータとこれに対応するインデックスに基づいて、所定の前記ソート処理を行う逆写像ソート装置を含み、前記逆写像ソート装置は、アドレスが所定のデータに対応し、各アドレスに当該データに対応するインデックスを保持するバッファと、インデックスをアドレスとして指定すると、データが同じ大きさである別のインデックスを保持しているインデックスメモリと、を有し、インデックスがデータと共に入力された後、所定データに対応する前記バッファのアドレスからインデックスを読出して取得し、当該バッファから読み出したインデックスをアドレスとして前記インデックスメモリから読み出されたインデックスを取得し、当該インデックスメモリから読み出したインデックスをアドレスとして利用することを繰り返して連続的に同じ大きさのインデックスを取得する機能を有する
本発明の第2の観点は、受信語の信頼度の大きさに従いソートし、その順番に行列のランク分対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す復号方法であって、受信語の信頼度(LLR)のソートを行うソートステップを有し、前記ソートステップは、入力されるデータとこれに対応するインデックスに基づいて、所定のソート処理を行う逆写像ソートステップを含み、前記逆写像ソートステップにおいて、アドレスが所定のデータに対応し、各アドレスに当該データに対応するインデックスを保持するバッファと、ンデックスをアドレスとして指定すると、データが同じ大きさである別のインデックスを保持しているインデックスメモリと、を用い、複数のインデックスがデータと共に入力された後、所定データに対応する前記バッファのアドレスからインデックスを読出して取得し、当該バッファから読み出したインデックスをアドレスとして前記インデックスメモリから読み出されたインデックスを取得し、当該インデックスメモリから読み出したインデックスをアドレスとして利用することを繰り返して連続的に同じ大きさのインデックスを取得する
本発明によれば、ABP復号のソート装置として逆写像ソート装置を利用する。逆写像ソート装置は、アドレスがデータの大きさに対応し、各アドレスにそのデータの代表となるインデックスを持つバッファ(バケツメモリ)と、あるインデックスをアドレスとして指定すると、データが同じ大きさである別のインデックスが保持されているインデックスメモリとを持ち、インデックスがデータと共に入力されると、入力インデックスを書き込みアドレスとして入力データに対応するバッファのアドレスに確保されたインデックスをインデックスメモリに書き込み、さらに入力データに対応するバッファのアドレスに入力インデックスを書き込む。
入力完了後、あるデータに対応するバッファのアドレスからインデックスを読出し、さらにそのインデックスをアドレスとしてインデックスメモリから読み出されたインデックスを取得しまたそのインデックスをアドレスとしてインデックスメモリに与えることを繰り返すと、連続的に同じ大きさのインデックスが取得される。
本発明によれば、より少ない計算量で高速に、かつ小さい回路規模で受信値の信頼度のソートを的確に行うことができる利点がある。
以下、本発明の実施形態を図面に関連付けて説明する。
本発明の実施形態に係るソート装置は、代数的手法を用いた誤り訂正符号技術を実現するための回路、たとえば適応的信頼性伝播(Adaptive Belief Propagation:ABP)復号器に応用できる。
ABP復号は、リードソロモン(Read−Solomon:RS)符号やBCH符号、その他低密度でないパリティ検査行列を持つ線形符号に対する復号法であり、ある伝送路から符号語を受信すると、その受信語をより信頼できる値に更新する。
以下、ABP復号におけるソート装置のシステム上の位置づけについて説明した後、本実施形態に係るソート装置の具体的な構成および機能について説明する。
図3は、デジタル信号受信機、たとえばデジタルテレビなどの誤り訂正システムにABP復号器を用いた通信システムの構成例を示す図である。
本通信システム10は、図3に示すように、RS符号化器11、インタリーバ12、畳み込み符号器13、畳み込み符号の軟出力復号器14、デインタリーバ15、ABP繰り返し復号器16、およびチャネル17を有する。
本通信システム10では、RS符号化、畳み込み符号化された送信語に対して、畳み込み符号の軟出力復号をした後にABP復号を行っている。
ここで言う畳み込み符号の軟出力復号とは、たとえばBCJRアルゴリズムやSOVAによる復号のことである。
ABP復号器16においては、ABPによる信頼性の更新後、硬判定後限界距離復号、リスト復号、もしくは、軟値をそのまま入力として軟判定リスト復号を行う。
図4は、MAP復号が後段についたABP復号器の構成例を示す図である。
この復号器20は、図4に示すように、ABP復号部21、限界距離復号(BD)復号部22、受信信頼度(LLR)保持部23、およびMAP復号部24を有している。
復号器20においては、ABP復号部21による信頼性(LLR)の更新後、硬判定してBD復号部22において、限界距離復号を行い、この結果をリストに集め、最終的にMAP復号部24において最大事後確率復号(Maximum a posteriori Probabiliy:MAP)復号を行う。
図5は、ABP復号器の復号装置の構成例を示す図である。
図5のABP復号器30は、図3のABP復号器16や図4のABP復号部21に適用可能であり、ソート入力選択部31、ソート部32、パリティ検査行列の対角化部33、信頼度(LLR)保持部34、および信頼性伝播(BP)部35を有している。
ABP復号器30においては、入力として、受信LLRS32が入力される。
列インデックスS31は、入力された受信LLRの符号語の始まりからカウンタで0、1、2、3、、とカウントアップされた値を生成し利用する。
ソート入力選択部31で、初回は、列インデックスS31と受信LLRS32を選択し、繰り返し二回目以降は信頼性伝播(BP)後、更新LLRS40とその列インデックスS39を選択する。
図5に示すように、受信語が入力されたら、まず、ソート部32において、その信頼度(LLR)の大きさに応じて列インデックスのソートを行う。
次に、信頼度の低いシンボルに対応する列より順に、対角化部33でパリティ検査行列の対角化を行う。
最後に、対角化されたパリティ検査行列を用いて、信頼性伝播(BP)を行うことにより、値が更新される。
更新された値に対して、再びソート、対角化、信頼性伝播(BP)を行う。繰り返し数が予め決められており、その繰り返し数だけこれを繰り返す。
この復号器30のソート部32において、本発明の実施形態に係る逆写像ソート装置を適用することが可能である。
<第1実施形態>
図6は、本発明の第1の実施形態に係るABP復号器の逆写像ソート装置の構成例を示す図である。
なお、本実施形態においても、符号長n=6、情報長k=3、符号化率r = 1/2の符号で、3×6-行列Hをパリティ検査行列として持つような線形符号Cを復号する場合を考える。
本実施形態は、ABP復号繰り返し二回目以降に全列のインデックスとLLRが改めて入力される、つまり一回のデータとインデックスの入力系列は繰り返しごとに完結する場合の例である。
本実施形態においては、入力されるデータS11とインデックスS13を内部で処理する。入力データS11は、受信LLRに対応し、実際には、LLRの絶対値どうしを比較するので、入力後絶対値に直されるものとする。
図6の逆写像ソート装置32は、アドレスがデータの大きさに対応し、バッファとしてのバケツメモリ321、インデックスメモリ322、第1書込み読出しアドレス選択部323、第2書込み読出しアドレス選択部324、および出力インデックス選択部325を有している。
バケツメモリ321は、アドレス入力ADに第1書込み読出しアドレス選択部323による第1書込み読出しアドレスS14を受け、入力IDATAに入力インデックスS13を受けて各アドレスにそのデータの代表となるインデックスを持ち、出力ODATAからバケツ先頭インデックスS15をインデックスメモリ322および出力インデックス選択部325に出力する。
インデックスメモリ322は、アドレス入力ADに第2書込み読出しアドレス選択部324による第2書込み読出しアドレスS16を受け、入力IDATAにバケツメモリ321からのバケツ先頭インデックスを受けて、あるインデックスをアドレスとして指定すると、データが同じ大きさである別のインデックスを保持し、出力ODATAから読出しインデックスS17を出力インデックス選択部325に出力する。
第1書込み読出しアドレス選択部323は、図示しない制御系の制御の下、入力データS11と読出しデータS12のいずれかを選択し、第1書込み読出しアドレスS14としてバケツメモリ321のアドレス入力ADに出力する。
第2書込み読出しアドレス選択部324は、図示しない制御系の制御の下、入力インデックスS13と出力インデックス選択部325から出力される出力インデックスS18のいずれかを選択し、第1書込み読出しアドレスS16としてインデックスメモリ322のアドレス入力ADに出力する。
出力インデックス選択部325は、図示しない制御系の制御の下、バケツメモリ321から出力されるバケツ先頭インデックスS15とインデックスメモリ322から出力される読出しインデックスS17のいずれかを選択し、出力インデックS18として次段の対角部33および第2書込み読出しアドレス選択部324に出力する。
このような構成を有する逆写像ソート装置32においては、データS11、インデックスS13が入力された時は、これらをインデックスメモリ322、バケツメモリ321に書き込む作業を行う。
まず、バケツメモリ321の初期値として存在しないインデックスを保持しておく。入力が開始されると、入力データS11を読出しアドレスS14としてバケツメモリ321から読み出したインデックスS15を、入力インデックスS13をアドレスS16としてインデックスメモリ322に書き込む。また、入力データS11をアドレスS14として入力インデックスS13をバケツメモリ321に書込む。
入力が完了すると、データが同じ大きさのインデックス系列を読み出す時は、バケツメモリ321の対応するアドレスからインデックスS15を読出し、それをアドレスS16としてインデックスメモリ322に与え、存在しないインデックスにたどりつくまで連続的(芋づる式)に読み出したインデックスS17をアドレスS16としてインデックスS17を読出すことを繰り返す。
データ順に全ての入力インデックスを読出す時は、バケツメモリ321のアドレスADR0のインデックスをアドレスとしてインデックスメモリ322からインデックスS17を読出し、このインデックスS17をアドレスS16として再びインデックスメモリ322からインデックスS17を読出し、同様にインデックスを連続的(芋づる式)に取得し、存在しないインデックスにたどり付けば、次のバケツメモリ321のアドレスのインデックスに移って同様の操作をバケツメモリ321の最後まで行う。
具体的に、入力をメモリに書き込む処理を、図7〜図13に関連付けて説明する。
今回は、LLRの絶対値は、0,1,2のどれかをとるものとし、インデックスは、符号長が6なので、0、1、2、3、4、5の値を取る。入力として、データS11={2,0,1,2,1,2}、インデックスS13={0,1,2,3,4,5}が入力された場合を考える。
まず、図7に示すように、バケツメモリ321に存在しないインデックス、この場合は6が入力されている。
次に、図8に示すように、まず、入力インデックスS13である0を書き込みアドレスとして、インデックスメモリ322のアドレスADR0に、入力データS11である2が対応するバケツメモリ321のアドレスADR2のインデックス6を書き込む。また、バケツメモリ321のアドレスADR2に入力インデックスS13である0を書き込む。
次に、図9に示すように、入力インデックスS13である1を書き込みアドレスとして、インデックスメモリ322のアドレスADR1に、入力データS11である0が対応するバケツメモリ321のアドレスADR0のインデックス6を書き込む。また、バケツメモリ321のアドレス0に入力インデックスS13である1を書き込む。
次に、図10に示すように、入力インデックスS13である2を書き込みアドレスとして、インデックスメモリ322のアドレスADR2に、入力データS11である1が対応するバケツメモリ321のアドレスADR1のインデックス6を書き込む。また、バケツメモリ321のアドレスADR1に入力インデックスS13である2を書き込む。
次に、図11に示すように、入力インデックS13であるス3を書き込みアドレスとして、インデックスメモリ322のアドレスADR3に、入力データS11である2が対応するバケツメモリ321のアドレスADR2のインデックスADR0を書き込む。また、バケツメモリ321のアドレスADR2に入力インデックスS13である3を書き込む。
次に、図12に示すように、入力インデックスS13である4を書き込みアドレスとして、インデックスメモリ322のアドレスADR4に、入力データS11である1が対応するバケツメモリ321のアドレス1のインデックス2を書き込む。また、バケツメモリ321のアドレスADR1に入力インデックスS13である4を書き込む。
最後に、図13に示すように、入力インデックスS13である5を書き込みアドレスとして、インデックスメモリ322のアドレスADR5に、入力データS11である2が対応するバケツメモリ321のアドレス2のインデックスADR3を書き込む。また、バケツメモリ321のアドレスADR2に入力インデックスS13である5を書き込む。
これで、ソートは完了である。
ソートされたインデックスを読出す時の処理を図14〜図17に関連付けて説明する。
今回は、3×6行列なので、対角化回路に、対角化対象となるインデックスを3列出力する。0、1、2のデータに対応するインデックス系列を順に読出し、計3列読み出された時点で読出しを完了する。
まず、図14のようにバケツメモリ321のアドレスADR0から1を読出し、図15に示すように、読み出された1が指すインデックスメモリ322のインデックス6を読出し、これは存在しないインデックスなので、読出しデータは1に増やし、図16に示すように、バケツメモリ321からインデックス4を読出し、これを図17に示すように、インデックスメモリ322のアドレスADR4からインデックス2を読み出せば、3つの対角化対象となる列{1、4、2}が対角化部33に出力される。
次の繰り返し結果のデータS11とインデックスS13が入力される前にバケツメモリ321を存在しないインデックス6に初期化しておけば、次の入力に対応できる。
なお、存在しないインデックスを同じデータのインデックス群の終端の目印とする代わりに、バケツメモリ321とアドレスと1対1対応するバケツカウンタを持ち、バケツカウンタで、各々のデータに蓄積したインデックス数を数えることにより、インデックスを読み出す時に、そのデータの蓄積数分だけインデックスを連続的(芋づる式)に読み出してもよい。
また、ソート処理が完了後、インデックス読み出しまでに待ち時間が存在した場合、所望のインデックス列を前もって読み出しておけばよい。
この操作は、バケツメモリ321のアドレスの数、つまりはデータの種類、大きさが多く、インデックスの種類が少ない際に起こりやすい、多くのバケツメモリ321の中身が空の場合、つまりは存在しないインデックスで占有されている場合に有効である。
<第2実施形態>
図18は、本発明の第1の実施形態に係るABP復号器の逆写像ソート装置の構成例を示す図である。
本第2の実施形態係る逆写像ソート装置32Aは、初期のデータとインデックス入力が完了後、一部の読出したインデックスのみ、二回目以降更新されたデータと共に再入力され、残りのインデックスは初期のデータとインデックス順を維持する場合の一例である。
ABP復号では、一部の、対角化部に出力した列インデックスのみLLRを更新する復号法もあるので、この場合、二回目の繰り返し以降は、一部のLLRが更新されたインデックスしか入力されない。
本第2の実施形態係る逆写像ソート装置32Aは、図18に示すように、上述した第1の実施形態の逆写像ソート装置32と比較して、新たに書込みデータ選択部326が付加されている。
書込みデータ選択部326は、図示しない制御系の制御の下、入力インデックスS13とインデックスメモリ322から出力される読出しインデックスS17のいずれかを選択し、書込みインデックスS19としてバケツメモリ321の入力IDATAに出力する。
このように、書込みデータ選択部326は、入力インデックスS13とインデックスメモリ322からの読出しインデックスS17を選択する部位である。
書込みデータ選択部326は、入力時に入力インデックスS13を、出力時にインデックスメモリ322の読出しインデックスS17を選択する。
以下、図19〜図28に関連付けて第2の実施形態に係る逆写像ソート装置32Aの動作について説明する。
入力時は、第1の実施形態と全く同じように動作する。第1の実施形態と同様、入力として、データS11={2,0,1,2,1,2}、インデックスS13={0,1,2,3,4,5}が入力されるとすると、入力完了後、図19に示すようになる。図19の例では、バケツメモリ321のアドレスADR0,1,2にそれぞれ1,4,5が保持され、インデックスメモリ322のアドレス0,1,2,3,4,5にそれぞれ6,6,6,0,2,3が保持されている。
出力時は、図20〜図24に示すように読み出す。第2の実施形態が上述した第1の実施形態と異なる点は、バケツメモリ321の書き換えが行われることである。今回も、対角化対象となる3列を読み出した時点で、出力は終了する。
まず、図20に示すように、データ0のインデックスの読み出しを開始する。バケツメモリ321から1を読み出し、これを出力する。出力データが存在しないインデックス6ではないので、データ0のインデックスの読み出しを続ける。
次に、図21に示すように、まず、出力インデックスS18である1をアドレスとして、インデックスメモリ322から6を読み出す。さらに、読み出した6をバケツメモリ321のアドレスADR0に書き込む。これにより、既に出力されたインデックスについては、インデックス順の系列から外れることになる。
また、出力インデックスS18に存在しないインデックス6が読み出されたので、次からデータ1のインデックスを読み出す。
次に、図22に示すように、読出しデータ1を指定する。出力インデックスS18に4が読み出される。次に、図23に示すように、出力インデックスS18に2が読み出される。また、バケツメモリ321のアドレスADR1に読出したインデックスS17として2が書き込まれる。
既に3列読み出されたのでこの時点で出力は完了するが、最後に図24に示すように、バケツメモリ321のアドレスADR1に読出しインデックスS17として6を書き込んでおく。これによりメモリ内部のインデックス順の情報の更新も完了する。
以上の操作により、対角化装置に出力されたインデックスS18={1,4,2}のデータ情報は既にメモリ内のインデックス系列のリストから外れた。
次に、出力されたインデックスS18={1,4,2}のLLRが信頼性伝播(BP)部35で更新されて再びこのソート装置33に入力された場合を考える。
二回目の繰り返し入力の時点で、メモリに格納されている列インデックスは、図24の場合と同様に図25に示すようになる。
二回目の繰り返しの入力は、データS11={1,0,2}、インデックスS13={1,4,2}と入力された場合を考える。
図26に示すように、入力インデックスS13として1が、更新された入力データS11である1と共に入力されると、通常の書き込み動作と同様に、バケツメモリ321に1を書込み、バケツメモリ321から読み出したインデックスS15である6をインデックスメモリ322に入力インデックスS13をアドレスとして書き込む。
図27および図28に示すように、列インデックス4、2についても同様に行う。入力はこれで完了である。
これを、通常の読出し動作と同様に列インデックスを読み出すと、データ0のインデックス={4}、データ1のインデックス={1}、データ0のインデックス={2,5,3,0}というように正しくソートされて読み出される。
繰り返しを重ねても、常にインデックスを出力するたびに上記の通りバケツメモリ321を更新すれば、LLRが更新された一部のインデックスのみ入力される場合に適応できる。
なお、存在しないインデックスを同じデータのインデックス群の終端の目印とする代わりに、バケツメモリ321とアドレスと1対1対応するバケツカウンタを持ち、バケツカウンタで、各々のデータに蓄積したインデックス数を数えることにより、インデックスを読み出す時に、そのデータの蓄積数分だけインデックスを連続的(芋づる式)に読み出してもよい。
なお、ソート処理が完了後、インデックス読出しまでに待ち時間が存在した場合、所望のインデックス列を前もって読み出しておけばよい。この操作は、バケツメモリ321のアドレスの数、つまりはデータの種類、大きさが多く、インデックスの種類が少ない際に起こりやすい、多くのバケツメモリ321の中身が空の場合、つまりは存在しないインデックスで占有されている場合に有効である。
以上説明したように、本実施形態によれば、ABP復号のソート装置として逆写像ソート装置を利用する。逆写像ソート装置は、アドレスがデータの大きさに対応し、各アドレスにそのデータの代表となるインデックスを持つバケツメモリと、あるインデックスをアドレスとして指定すると、データが同じ大きさである別のインデックスが保持されているインデックスメモリとを持ち、インデックスがデータと共に入力されると、入力インデックスを書き込みアドレスとして入力データに対応するバッファのアドレスに確保されたインデックスをインデックスメモリに書き込み、さらに入力データに対応するバッファのアドレスに入力インデックスを書き込む。
入力完了後、あるデータに対応するバケツメモリのアドレスからインデックスを読出し、さらにそのインデックスをアドレスとしてインデックスメモリから読み出されたインデックスを取得しまたそのインデックスをアドレスとしてインデックスメモリに与えることを繰り返すと、連続的に同じ大きさのインデックスが取得される。
また、このインデックス取得をデータの大きさ順に行うとソートされたインデックスが読み出される。
この逆写像ソート装置を利用することにより、ABP復号では、後段の対角化装置が望むタイミングで即座にインデックスを供給することができ、また、LLRが更新されたインデックスを適応的に、更新前のインデックスの順番に組み込むことができる。
また、逆写像ソートでは、入力されたLLR同じ大きさの場合、入力と逆順にインデックスが読み出される上、連続的にしかインデックスを読み出せないのだが、ABP復号にそれで問題が生じることはない。
これにより、ABP復号のソートが実現され、さらに、計算量が少ないソート方法で実現される。
なお、以上詳細に説明した方法は、上記手順に応じたプログラムとして形成し、CPU等のコンピュータで実行するように構成することも可能である。
また、このようなプログラムは、半導体メモリ、磁気ディスク、光ディスク、フロッピー(登録商標)ディスク等の記録媒体、この記録媒体をセットしたコンピュータによりアクセスし上記プログラムを実行するように構成可能である。
パリティ検査行列Hnewに対応するタナーグラフである。 ABP復号法を用いた繰り返し復号のフローチャートである。 デジタル信号受信機、たとえばデジタルテレビなどの誤り訂正システムにABP復号器を用いた通信システムの構成例を示す図である。 MAP復号が後段についたABP復号器の構成例を示す図である。 ABP復号器の復号装置の構成例を示す図である。 本発明の第1の実施形態に係るABP復号器の逆写像ソート装置の構成例を示す図である。 第1の実施形態に係るソート装置の入力をメモリに書き込む処理(書き込み1)を説明するための図である。 第1の実施形態に係るソート装置の入力をメモリに書き込む処理(書き込み2)を説明するための図である。 第1の実施形態に係るソート装置の入力をメモリに書き込む処理(書き込み3)を説明するための図である。 第1の実施形態に係るソート装置の入力をメモリに書き込む処理(書き込み4)を説明するための図である。 第1の実施形態に係るソート装置の入力をメモリに書き込む処理(書き込み5)を説明するための図である。 第1の実施形態に係るソート装置の入力をメモリに書き込む処理(書き込み6)を説明するための図である。 第1の実施形態に係るソート装置の入力をメモリに書き込む処理(書き込み7)を説明するための図である。 第1の実施形態に係るソート装置の入力をメモリに読み出し処理(読み出し1)を説明するための図である。 第1の実施形態に係るソート装置の入力をメモリに読み出し処理(読み出し2)を説明するための図である。 第1の実施形態に係るソート装置の入力をメモリに読み出し処理(読み出し3)を説明するための図である。 第1の実施形態に係るソート装置の入力をメモリに読み出し処理(読み出し4)を説明するための図である。 本発明の第2の実施形態に係るABP復号器の逆写像ソート装置の構成例を示す図である。 第2の実施形態に係るソート装置の入力をメモリに書き込む処理を説明するための図である。 第2の実施形態に係るソート装置の入力をメモリに読み出し処理(読み出し1)を説明するための図である。 第2の実施形態に係るソート装置の入力をメモリに読み出し処理(読み出し2)を説明するための図である。 第2の実施形態に係るソート装置の入力をメモリに読み出し処理(読み出し3)を説明するための図である。 第2の実施形態に係るソート装置の入力をメモリに読み出し処理(読み出し4)を説明するための図である。 第2の実施形態に係るソート装置の入力をメモリに読み出し処理(読み出し5)を説明するための図である。 第2の実施形態に係るソート装置の繰り返し二回目の入力をメモリに書き込む処理(書き込み1)を説明するための図である。 第2の実施形態に係るソート装置の繰り返し二回目の入力をメモリに書き込む処理(書き込み2)を説明するための図である。 第2の実施形態に係るソート装置の繰り返し二回目の入力をメモリに書き込む処理(書き込み3)を説明するための図である。 第2の実施形態に係るソート装置の繰り返し二回目の入力をメモリに書き込む処理(書き込み4)を説明するための図である。
符号の説明
10・・・通信システム、11・・・RS符号化器、12・・・インタリーバ、13・・・畳み込み符号器、14・・・畳み込み符号の軟出力復号器、15・・・デインタリーバ、16・・・ABP繰り返し復号器、17・・・チャネル、20・・・復号器、21・・・ABP復号部、22・・・限界距離(BD)復号部、23・・・受信信頼度(LLR)保持部、24・・・MAP復号部、30・・・ABP復号器、31・・・ソート入力選択部、32,32A・・・ソート部、33・・・パリティ検査行列の対角化部、34・・・信頼度(LLR)保持部、35・・・信頼性伝播(BP)部、321・・・バケツメモリ、322・・・インデックスメモリ、323・・・第1書込み読出しアドレス選択部、324・・・第2書込み読出しアドレス選択部、325・・・出力インデックス選択部、326・・・書込みデータ選択部。

Claims (12)

  1. 受信語の信頼度の大きさに従いソートし、その順番に行列のランク分対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す復号装置であって、
    受信語の信頼度(LLR)のソートを行うソート部を有し、
    前記ソート部は、
    入力されるデータとこれに対応するインデックスに基づいて、所定の前記ソート処理を行う逆写像ソート装置を含み、
    前記逆写像ソート装置は、
    アドレスが所定のデータに対応し、各アドレスに当該データに対応するインデックスを保持するバッファと、
    インデックスをアドレスとして指定すると、データが同じ大きさである別のインデックスを保持しているインデックスメモリと、を有し、
    インデックスがデータと共に入力された後、所定データに対応する前記バッファのアドレスからインデックスを読出して取得し、当該バッファから読み出したインデックスをアドレスとして前記インデックスメモリから読み出されたインデックスを取得し、当該インデックスメモリから読み出したインデックスをアドレスとして利用することを繰り返して連続的に同じ大きさのインデックスを取得する機能を有する
    復号装置。
  2. 前記逆写像ソート装置は、
    インデックスがデータと共に入力されると、入力されたインデックスを書き込みアドレスとして入力データに対応する前記バッファのアドレスに書き込まれ保持されたインデックスを前記インデックスメモリに書き込み、さらに入力データに対応する前記バッファのアドレスに入力インデックスを書き込む
    請求項1記載の復号装置。
  3. 前記逆写像ソート装置は、
    データが同じ大きさのインデックスを連続的に取得した後、最後尾に当たるインデックスが指すインデックスを存在しないインデックスの値に設定しておくことで、同じデータに対応するインデックスが最後尾であることを識別する
    請求項1記載の復号装置。
  4. 前記逆写像ソート装置は、
    前記バッファの初期値を存在しないインデックスの値に設定する
    請求項3記載の復号装置。
  5. 前記逆写像ソート装置は、
    データの大きさの順に前記バッファのアドレスと対応付け、データに対応するインデックスの書き込みが終了した後に、前記バッファのアドレス順に同じ大きさのデータに対応するインデックスを読み出すことで、データの大きさ順にソーティングされたインデックス系列を取得する
    請求項1記載の復号装置。
  6. 前記逆写像ソート装置は、
    インデックスを読み出す時に、インデックスメモリから読み出されたインデックスを前記バッファのそのインデックスが対応するアドレスに書込む
    請求項1記載の復号装置。
  7. 受信語の信頼度の大きさに従いソートし、その順番に行列のランク分対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す復号方法であって、
    受信語の信頼度(LLR)のソートを行うソートステップを有し、
    前記ソートステップは、
    入力されるデータとこれに対応するインデックスに基づいて、所定のソート処理を行う逆写像ソートステップを含み、
    前記逆写像ソートステップにおいて、
    アドレスが所定のデータに対応し、各アドレスに当該データに対応するインデックスを保持するバッファと、
    インデックスをアドレスとして指定すると、データが同じ大きさである別のインデックスを保持しているインデックスメモリと、を用い、
    複数のインデックスがデータと共に入力された後、所定データに対応する前記バッファのアドレスからインデックスを読出して取得し、
    当該バッファから読み出したインデックスをアドレスとして前記インデックスメモリから読み出されたインデックスを取得し、
    当該インデックスメモリから読み出したインデックスをアドレスとして利用することを繰り返して連続的に同じ大きさのインデックスを取得する
    復号方法。
  8. 前記逆写像ソートステップにおいて、
    インデックスがデータと共に入力されると、入力されたインデックスを書き込みアドレスとして入力データに対応する前記バッファのアドレスに書き込まれ保持されたインデックスを前記インデックスメモリに書き込み、
    さらに入力データに対応する前記バッファのアドレスに入力インデックスを書き込む
    請求項7記載の復号方法。
  9. 前記逆写像ソートステップにおいて、
    データが同じ大きさのインデックスを連続的に取得した後、最後尾に当たるインデックスが指すインデックスを存在しないインデックスの値に設定しておくことで、同じデータに対応するインデックスが最後尾であることを識別する
    請求項7記載の復号方法。
  10. 前記逆写像ソートステップにおいて、
    前記バッファの初期値を存在しないインデックスの値に設定すること
    請求項9記載の復号方法。
  11. 前記逆写像ソートステップにおいて、
    データの大きさの順に前記バッファのアドレスと対応付け、データに対応するインデックスの書き込みが終了した後に、前記バッファのアドレス順に同じ大きさのデータに対応するインデックスを読み出すことで、データの大きさ順にソーティングされたインデックス系列を取得する
    請求項9記載の復号方法。
  12. 前記逆写像ソート装置において、
    インデックスを読み出す時に、インデックスメモリから読み出されたインデックスを前記バッファのそのインデックスが対応するアドレスに書込む
    請求項7記載の復号方法。
JP2007000535A 2007-01-05 2007-01-05 復号装置および復号方法 Expired - Fee Related JP4910708B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007000535A JP4910708B2 (ja) 2007-01-05 2007-01-05 復号装置および復号方法
US11/959,551 US8103945B2 (en) 2007-01-05 2007-12-19 Decoding method and decoding apparatus as well as program

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2008167376A JP2008167376A (ja) 2008-07-17
JP4910708B2 true JP4910708B2 (ja) 2012-04-04

Family

ID=39696158

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007000535A Expired - Fee Related JP4910708B2 (ja) 2007-01-05 2007-01-05 復号装置および復号方法

Country Status (1)

Country Link
JP (1) JP4910708B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4138700B2 (ja) * 2004-05-31 2008-08-27 株式会社東芝 復号装置および復号回路
JP4595574B2 (ja) * 2005-02-07 2010-12-08 ソニー株式会社 復号装置および方法、並びにプログラム
JP2006238127A (ja) * 2005-02-25 2006-09-07 Sony Corp 復号装置および方法、並びにプログラム
JP4519694B2 (ja) * 2005-03-29 2010-08-04 財団法人北九州産業学術推進機構 Ldpc符号検出装置及びldpc符号検出方法

Also Published As

Publication number Publication date
JP2008167376A (ja) 2008-07-17

Similar Documents

Publication Publication Date Title
KR101176433B1 (ko) 복호 장치 및 방법, 및 프로그램
JP5276173B2 (ja) ニア・コードワードのromリスト復号
US8566666B2 (en) Min-sum based non-binary LDPC decoder
JP2006238127A (ja) 復号装置および方法、並びにプログラム
US8103945B2 (en) Decoding method and decoding apparatus as well as program
JP4412401B2 (ja) 復号装置、復号方法、受信装置、および記憶媒体再生装置
US8650451B2 (en) Stochastic stream decoding of binary LDPC codes
JP4462342B2 (ja) 復号装置および復号方法
KR20170020305A (ko) 체크 노드 계산유닛을 관리하는 방법, 장치, 및 상기 방법을 실행하기 위한 소프트웨어
Scholl et al. Hardware implementation of a Reed-Solomon soft decoder based on information set decoding
JP2009225325A (ja) 復号方法および復号装置、並びにプログラム
JP4910708B2 (ja) 復号装置および復号方法
JP3888135B2 (ja) 誤り訂正符号復号装置
JP5130715B2 (ja) データソート装置およびデータソート方法
US11323139B2 (en) Apparatuses and methods for mapping frozen sets between polar codes and product codes
JP4862657B2 (ja) 復号方法および復号装置、並びにプログラム
CN110708077B (zh) Ldpc码大数逻辑译码方法、装置和译码器
JP2008167378A (ja) 復号装置および復号方法
JP4862658B2 (ja) 復号方法および復号装置、並びにプログラム
JP2008199148A (ja) 復号装置、復号方法、およびプログラム
JP2008205547A (ja) 復号方法および復号装置
JP2008205546A (ja) 復号方法および復号装置、並びにプログラム
JP2008199308A (ja) 復号装置および復号方法
JP2008199149A (ja) 復号装置および復号方法
JP2008140337A (ja) 行列対角化装置、行列対角化方法、および復号装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110719

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111011

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111130

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

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

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

Free format text: PAYMENT UNTIL: 20150127

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees