JP2008199148A - 復号装置、復号方法、およびプログラム - Google Patents
復号装置、復号方法、およびプログラム Download PDFInfo
- Publication number
- JP2008199148A JP2008199148A JP2007030101A JP2007030101A JP2008199148A JP 2008199148 A JP2008199148 A JP 2008199148A JP 2007030101 A JP2007030101 A JP 2007030101A JP 2007030101 A JP2007030101 A JP 2007030101A JP 2008199148 A JP2008199148 A JP 2008199148A
- Authority
- JP
- Japan
- Prior art keywords
- reliability
- parity check
- check matrix
- order
- decoding
- 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
Links
Images
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
- Error Detection And Correction (AREA)
Abstract
【課題】適応的信頼性伝播(ABP)復号を的確に行うことが可能な復号方法、復号装置、およびプログラムを提供する。
【解決手段】受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す復号方法であって、受信語の信頼度の大きさに応じてインデックスのソートを行う第1ステップST32と、パリティ検査行列の対角化を行う第2ステップST33と、対角化されたパリティ検査行列を用いて信頼性伝播を行う第3ステップST34と、を有し、受信語の信頼度のソートに伴う、受信語の順番の入れ替え、およびパリティ検査行列の列の入れ替えの少なくともいずれかを、対応するインデックスの入れ替えで代用する。
【選択図】図8
【解決手段】受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す復号方法であって、受信語の信頼度の大きさに応じてインデックスのソートを行う第1ステップST32と、パリティ検査行列の対角化を行う第2ステップST33と、対角化されたパリティ検査行列を用いて信頼性伝播を行う第3ステップST34と、を有し、受信語の信頼度のソートに伴う、受信語の順番の入れ替え、およびパリティ検査行列の列の入れ替えの少なくともいずれかを、対応するインデックスの入れ替えで代用する。
【選択図】図8
Description
本発明は、たとえば代数的手法を用いた誤り訂正符号技術を実現するための回路およびプログラム記憶媒体に関して適用される復号装置、復号方法、およびプログラムに関するものである。
代数幾何符号、たとえばリードソロモン(Reed−Solomon)符号やその部分体部分符号としてのBCH符号には、その代数的性質を利用した、性能・計算コスト共に良い復号法が知られている。
たとえば、符号長n、情報長k、定義体GF(q)(q=pm,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を考える。
符号空間Cは、次のように表される。
ある符号語があるチャネル、たとえばBPSK変調+AWGNチャネル(Additive White Gaussian Noiseチャネル)を通った後、次のような受信語rとして受信機が受け取ったとする。
このとき、受信値の各絶対値の大きさは受信語の信頼性の高さを表す。つまり、信頼性の低い順に番号をつけると以下のようになる。
次に、信頼性の低いシンボルに対応する列より順にパリティ検査行列Hの対角化を行う。この例においては、信頼性の低いシンボルに対応する列は順に第3列、第5列、第1列、第4または第6列、第2列となるので、その優先順位に従ってHの対角化を行う。
対角化を試みた列がそれ以前に対角化した列と線形従属であった場合は、その列はそのまま残し、次の順位の列で対角化を試みる。
このようにして行列Hのランク分対角化が行われた結果得られる新たなパリティ検査行列Hnewを用いて、信頼性伝播(BP)による信頼性の更新を行う。
このようにして行列Hのランク分対角化が行われた結果得られる新たなパリティ検査行列Hnewを用いて、信頼性伝播(BP)による信頼性の更新を行う。
図1はパリティ検査行列Hnewに対応するタナーグラフである。
信頼性伝播(BP)はタナーグラフのエッジに沿ってメッセージを行き来させることによって実現される。
行列の各列に対応するノードを可変(variable:バリアブル)ノード1、各行に対応するノードを検査(check:チェック)ノード2と呼ぶ。
信頼性伝播(BP)はタナーグラフのエッジに沿ってメッセージを行き来させることによって実現される。
行列の各列に対応するノードを可変(variable:バリアブル)ノード1、各行に対応するノードを検査(check:チェック)ノード2と呼ぶ。
i番目のバリアブルノードからj番目のチェックノードへのメッセージをQi,j、j番目のチェックノードからi番目のバリアブルノードへのメッセージをRi,j、さらにi番目のバリアブルノードに連接するチェックノードのインデックス集合をJ(i)、j番目のチェックノードに連接するバリアブルノードのインデックス集合をI(j)とした場合、それぞれの更新式は以下のようになる。
ここで、θはバーティカルステップダンピングファクタ(vertical step damping factor)と呼ばれる係数を示し、0<θ≦1なる条件を満足する。Qi,jの初期値はrjが設定され、外部情報(extrinsic information)Λj x更新は次式により行われる。
さらに、各符号ビットのLLRΛi qの更新は、次式により行われる。
ここで、α1は適応的信頼性伝播ダンピングファクタ(adaptive belief propagation damping factor)と呼ばれる係数を示し、0<α1≦1なる条件を満足する。
この信頼性伝播(BP)によるLLRの更新は事前に用意された繰り返し停止条件を満たすまで、たとえば最大繰り返し数ItHに達成するまで繰り返される。
また、LLRを更新する列は、全ての列を対象とせずとも一部の列、たとえば対角化の対象となった列についてのみ行ってもよい。
この信頼性伝播(BP)によるLLRの更新は事前に用意された繰り返し停止条件を満たすまで、たとえば最大繰り返し数ItHに達成するまで繰り返される。
また、LLRを更新する列は、全ての列を対象とせずとも一部の列、たとえば対角化の対象となった列についてのみ行ってもよい。
信頼性伝播(BP)によって更新されたLLRの信頼性を用いて、つまり、LLRの絶対値の大きさを信頼性として、信頼性の低いシンボルに対応する列順に対角化を行うことにより、新たな信頼性伝播(BP)による繰り返し復号を行うことができる。
これを内側繰り返し復号と呼ぶ。このLLRの更新は事前に用意された内側繰り返し復号停止条件SC1を満たすまで繰り返される。
これを内側繰り返し復号と呼ぶ。このLLRの更新は事前に用意された内側繰り返し復号停止条件SC1を満たすまで繰り返される。
さらに、パリティ検査行列の列の対角化優先順位の初期値として、受信値の信頼性順以外の順位を複数用意する。複数の順位を用いて、シリアルもしくはパラレルに繰り返し内側繰り返し復号を行う。
これを外側繰り返し復号と呼ぶ。このLLR更新は事前に用意された外側繰り返し復号停止条件SC2を満たすまで繰り返される。
これを外側繰り返し復号と呼ぶ。このLLR更新は事前に用意された外側繰り返し復号停止条件SC2を満たすまで繰り返される。
以上のABP(adaptive belief propagation)手順により繰り返し更新されたLLRを入カとして、復号器により復号を行う。
今、対象となる線形符号がReed−Solomon符号であった場合、繰り返し復号停止条件SC1、SC2として、たとえば以下のものが考えられる。
今、対象となる線形符号がReed−Solomon符号であった場合、繰り返し復号停止条件SC1、SC2として、たとえば以下のものが考えられる。
(A) H・d == 0または繰り返し数t≧N、
(B) 限界距離復号成功または繰り返し数t≧N、
(C) Koetter−Vardy軟判定リスト復号成功または繰り返し数t≧N。
(B) 限界距離復号成功または繰り返し数t≧N、
(C) Koetter−Vardy軟判定リスト復号成功または繰り返し数t≧N。
ここで、d=(d1,d2,・・・,d6)はΛiの硬判定結果、di={Λi q>0なら1,Λi q≦0なら0}であり、Nは事前に決めた最大繰り返し回数である。
また、復号方法として、たとえば以下のものが考えられる。
また、復号方法として、たとえば以下のものが考えられる。
(a) 硬判定復号
(b) 限界距離復号
(c) Koetter−Vardy軟判定リスト復号
(b) 限界距離復号
(c) Koetter−Vardy軟判定リスト復号
図2は、ABP復号法を用いた繰り返し復号のフローチャートである。
受信後の信頼性順の探索を行い(ST1)、順序変換を行う(ST2)。
変換した順序に応じてパリティ検査行列の対角化を行い(ST3)、このパリティ検査行列を用いて信頼性伝播(BP)を行う(ST4)。
次に、LLRを計算し(ST5)、計算したLLRの信頼性順を探索し(ST6)、復号を行い、復号語をリストへ追加する(ST7)。
そして、繰り返し復号停止条件N1,N2を満足するまで以上の処理を繰り返す(ST8、ST9)。
そして、復号語を1つ選択する(ST10)。
変換した順序に応じてパリティ検査行列の対角化を行い(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
ところで、上述したようにABP復号においては、対角化されたパリティ検査行列を用いて、信頼性伝播(BP)を行うことにより、値が更新され、更新された値に対して、所定の繰り返し回数、ソート、対角化、信頼性伝播(BP)を行う。
しかし、ABP復号を行う復号装置をどうやって実現するかについては特に提案されていない。
しかし、ABP復号を行う復号装置をどうやって実現するかについては特に提案されていない。
本発明は、適応的信頼性伝播(ABP)復号を的確に行うことが可能な復号装置、復号方法、およびプログラムを提供することにある。
本発明の第1の観点は、受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す復号方法であって、受信語の信頼度の大きさに応じてインデックスのソートを行う第1ステップと、パリティ検査行列の対角化を行う第2ステップと、対角化されたパリティ検査行列を用いて信頼性伝播を行う第3ステップと、を有し、上記受信語の信頼度のソートに伴う、受信語の順番の入れ替え、およびパリティ検査行列の列の入れ替えの少なくともいずれかを、対応するインデックスの入れ替えで代用する。
本発明の第2の観点は、受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す復号装置であって、受信語の信頼度の大きさに応じてインデックスのソートを行うソート部と、パリティ検査行列の対角化を行う対角化部と、対角化されたパリティ検査行列を用いて信頼性伝播を行う信頼性伝播部と、を有し、上記ソート部は、受信語の信頼度のソートに伴う、受信語の順番の入れ替え、およびパリティ検査行列の列の入れ替えの少なくともいずれかを、対応するインデックスの入れ替えで代用する。
本発明の第3の観点は、受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す処理をコンピュータに実行させるプログラムであって、受信語の信頼度の大きさに応じてインデックスのソートを行う第1処理と、パリティ検査行列の対角化を行う第2処理と、対角化されたパリティ検査行列を用いて信頼性伝播を行う第3処理と、を含み、上記受信語の信頼度のソートに伴う、受信語の順番の入れ替え、およびパリティ検査行列の列の入れ替えの少なくともいずれかを、対応するインデックスの入れ替えで代用する処理をコンピュータに実行させるプログラムである。
本発明によれば、たとえば、受信語の信頼性順を探索して順序変換を行う際、受信語を直接入れ替えるのではなく、対応するインデックス、例えばパリティ検査行列の第1列、第2列、、を順にインデックス1、2、、と名づけ、これを入れ替えて保持する。繰り返し復号により信頼度(LLR)が更新された場合は、これに従いこのインデックスの順番を更新する。
また、パリティ検査行列の対角化を行う時には、インデックスを順に読出し、対応する列を順に基本変形し、対角化を行う。
また、信頼性伝播(BP)を行う際は、この入れ替えられていないLLRとパリティ検査行列を利用してLLRの更新を行う。
また、パリティ検査行列の対角化を行う時には、インデックスを順に読出し、対応する列を順に基本変形し、対角化を行う。
また、信頼性伝播(BP)を行う際は、この入れ替えられていないLLRとパリティ検査行列を利用してLLRの更新を行う。
本発明によれば、適応的信頼性伝播(ABP)復号を的確に行うことができる。
以下、本発明の実施形態を図面に関連付けて説明する。
本発明の実施形態に係る復号装置は、代数的手法を用いた誤り訂正符号技術を実現するための回路、たとえば適応的信頼性伝播(Adaptive Belief Propagation:ABP)復号器に応用できる。
ABP復号は、リードソロモン(Read−Solomon:RS)符号やBCH符号、その他低密度でないパリティ検査行列を持つ線形符号に対する復号法であり、ある伝送路から符号語を受信すると、その受信語をより信頼できる値に更新する。
ABP復号は、リードソロモン(Read−Solomon:RS)符号やBCH符号、その他低密度でないパリティ検査行列を持つ線形符号に対する復号法であり、ある伝送路から符号語を受信すると、その受信語をより信頼できる値に更新する。
以下、ABP復号器のシステム上の位置づけについて説明した後、本実施形態に係る復号装置の具体的な構成および機能について説明する。
図3は、デジタル信号受信機、たとえばデジタルテレビなどの誤り訂正システムにABP復号器を用いた通信システムの構成例を示す図である。
本通信システム10は、図3に示すように、RS符号化器11、インタリーバ12、畳み込み符号器13、畳み込み符号の軟出力復号器14、デインタリーバ15、RS符号の既知情報付きABP繰り返し復号器16、およびチャネル17を有する。
本通信システム10では、RS符号化、畳み込み符号化された送信語に対して、畳み込み符号の軟出力復号をした後にABP復号を行っている。
ここで言う畳み込み符号の軟出力復号とは、たとえばBCJRアルゴリズムやSOVAによる復号のことである。
ABP復号器16においては、ABPによる信頼性の更新後、硬判定後限界距離復号、リスト復号、もしくは、軟値をそのまま入力として軟判定リスト復号を行う。
ここで言う畳み込み符号の軟出力復号とは、たとえばBCJRアルゴリズムやSOVAによる復号のことである。
ABP復号器16においては、ABPによる信頼性の更新後、硬判定後限界距離復号、リスト復号、もしくは、軟値をそのまま入力として軟判定リスト復号を行う。
図4は、MAP復号が後段についたABP復号器の構成例を示す図である。
この復号器20は、図4に示すように、ABP復号部21、限界距離(BD)復号部22、受信信頼度(LLR)保持部23、およびMAP復号部24を有している。
この復号器20は、図4に示すように、ABP復号部21、限界距離(BD)復号部22、受信信頼度(LLR)保持部23、およびMAP復号部24を有している。
復号器20においては、ABP復号部21による信頼性(LLR)の更新後、硬判定してBD復号部22において、限界距離復号を行い、この結果をリストに集め、最終的にMAP復号部24において最大事後確率復号(Maximum a posteriori Probability:MAP)復号を行う。
<第1実施形態>
図5は、本発明の第1の実施形態に係るABP復号器の復号装置の構成例を示す図である。
図6は、図5の復号装置の処理を示すフローチャートである。
図5は、本発明の第1の実施形態に係るABP復号器の復号装置の構成例を示す図である。
図6は、図5の復号装置の処理を示すフローチャートである。
図5のABP復号装置30は、図3のABP復号器16や図4のABP復号部21に適用可能であり、ソート入力選択部31、ソート部32、パリティ検査行列の対角化部33、信頼度(LLR)保持部34、信頼性伝播(BP)部35、順序情報保持部36、パリティ検査行列の列入れ替え部37、および順序再入れ替え部38を有している。
ABP復号装置30においては、入力として、受信LLRS31が入力される。
そして、ソート入力選択部31で、内側繰り返し一回目は、受信LLRS31を選択する。ここで、LLRは信頼性を指す。
また、内側繰り返し二回目以降は、信頼性伝播(BP)で更新されたLLRS40を選択する(ST11)。
ソート部32においては、LLRをその大きさ順に入れ替えた後に(ST12)、その入れ替えた順序情報S33を順序情報保持部605に(ST13)、またソートしなおしたLLRS34をLLR保持部34にそれぞれ出力する。
順序情報を受け取った順序情報保持部36は、その情報をパリティ検査行列列入れ替え部37に出力し、その列入れ替え部37でパリティ検査行列の列をLLR順に入れ替える(ST14)。
入れ替えたパリティ検査行列S36を使って、パリティ検査行列対角化部33でその行列の対角化を行う(ST15)。
対角化された行列の行S37をLLR保持部34から出力されたLLRとともに信頼性伝播(BP)部35に出力し、ここでLLRを更新する(ST16、ST17)。
更新されたLLRS39は、その順序を順序情報保持部36から送られる順序情報S35を利用して再び入れ替えられ(ST18、ST19)、元の受信語の順番に戻され再びソート部32に送られるとともに、後段の復号器、たとえば限界距離復号へ出力される(ST20〜ST23)。
そして、ソート入力選択部31で、内側繰り返し一回目は、受信LLRS31を選択する。ここで、LLRは信頼性を指す。
また、内側繰り返し二回目以降は、信頼性伝播(BP)で更新されたLLRS40を選択する(ST11)。
ソート部32においては、LLRをその大きさ順に入れ替えた後に(ST12)、その入れ替えた順序情報S33を順序情報保持部605に(ST13)、またソートしなおしたLLRS34をLLR保持部34にそれぞれ出力する。
順序情報を受け取った順序情報保持部36は、その情報をパリティ検査行列列入れ替え部37に出力し、その列入れ替え部37でパリティ検査行列の列をLLR順に入れ替える(ST14)。
入れ替えたパリティ検査行列S36を使って、パリティ検査行列対角化部33でその行列の対角化を行う(ST15)。
対角化された行列の行S37をLLR保持部34から出力されたLLRとともに信頼性伝播(BP)部35に出力し、ここでLLRを更新する(ST16、ST17)。
更新されたLLRS39は、その順序を順序情報保持部36から送られる順序情報S35を利用して再び入れ替えられ(ST18、ST19)、元の受信語の順番に戻され再びソート部32に送られるとともに、後段の復号器、たとえば限界距離復号へ出力される(ST20〜ST23)。
このように、第1の実施形態によれば、順序情報保持部やパリティ検査行列の列の入れ替え、および順序再入れ替えなどの作業を行ってABP復号処理を的確に行うことができる。
<第2実施形態>
図7は、本発明の第2の実施形態に係るABP復号器の復号装置の構成例を示す図である。
図8は、図7の復号装置の処理を示すフローチャートである。
図7は、本発明の第2の実施形態に係るABP復号器の復号装置の構成例を示す図である。
図8は、図7の復号装置の処理を示すフローチャートである。
図7のABP復号装置30Aは、図3のABP復号器16や図4のABP復号部21に適用可能であり、ソート入力選択部31、ソート部32、パリティ検査行列の対角化部33、信頼度(LLR)保持部34、および信頼性伝播(BP)部35を有し、図5の順序情報保持部36、パリティ検査行列の列入れ替え部37、および順序再入れ替え部38は設けられていない。
第1の実施形態に係る復号装置30は、ABP復号処理を的確に行うことができるものの、受信語を信頼性に応じてソートし、さらにそれに対応するように順序に応じてパリティ検査行列の列入れ替えを行う必要がある。
また、最終的に復号するときのために、その受信語と行列を入れ替えた履歴情報を別途保持しておき、それを利用して、最終的に復号する前に、更新した値を再入れ替えし順番を元に戻す必要があり、これらに多くの計算量を要するおそれがある。
また、最終的に復号するときのために、その受信語と行列を入れ替えた履歴情報を別途保持しておき、それを利用して、最終的に復号する前に、更新した値を再入れ替えし順番を元に戻す必要があり、これらに多くの計算量を要するおそれがある。
そこで、本第2の実施形態に係る復号装置30Aにおいては、受信語の信頼性順を探索して順序変換を行う際、受信語を直接入れ替えるのではなく、対応するインデックス、例えばパリティ検査行列の第1列、第2列、、を順にインデックス1、2、、と名づけ、これを入れ替えて保持する。繰り返し復号によりLLRが更新された場合は、これに従いこのインデックスの順番を更新する。
パリティ検査行列の対角化を行うときには、インデックスを順に読出し、対応する列を順に基本変形し、対角化を行う。
信頼性伝播(BP)を行う際は、この入れ賛えられていないLLRとパリティ検査行列を利用してLLRの更新を行う。
このような構成を有する復号装置30Aによればパリティ検査行列の列入れ替えを行う必要はなくなる。また、最終的に復号する前の更新値の再入れ替えの作業も省かれ、計算量が削減される。
パリティ検査行列の対角化を行うときには、インデックスを順に読出し、対応する列を順に基本変形し、対角化を行う。
信頼性伝播(BP)を行う際は、この入れ賛えられていないLLRとパリティ検査行列を利用してLLRの更新を行う。
このような構成を有する復号装置30Aによればパリティ検査行列の列入れ替えを行う必要はなくなる。また、最終的に復号する前の更新値の再入れ替えの作業も省かれ、計算量が削減される。
図7に示すように、復号装置30Aにおいては、受信LLRS42が入力される。受信LLRは受信語の信頼度のことである。
今回は、受信語の信頼度のソートに伴う、受信語の順番の入れ替えやパリティ検査行列の列を代用するインデックスとして列インデックスS41を利用する。列インデックスS41は、入力された受信LLRが符号語の始まりからパリティ検査行列において第1列、第2列、、に対応するので、符号語の始まりからカウンタで1、2、3、、とカウントアップされた値を生成し利用する。
ソート入力選択部31で、内側繰り返し一回目は、列インデックスS41と受信LLRS62を選択し、繰り返し二回目以降は信頼性伝播(BP)後,更新LLRS50とその列インデックスS49を選択する。
図7に示すように、受信語が入力されたら、まず、そのLLRの大きさに応じて列インデックスのソートを行う。この時に、受信語を直接入れ替えるのではなく、列インデックスを入れ替える。
入れ替えた列インデックスをパリティ検査行列の対角化部33に出力し、信頼度の低いシンボルに対応する列より順にパリティ検査行列の対角化を行う。
また、LLR保持部34には、受信語の順番そのままのLLRがソートされる前に入力される。
最後に、対角化されたパリティ検査行列とLLR保持部34から読み出されたLLRS4を用いて、信頼性伝播(BP)を行うことにより、値が更新される。
更新された値に対して、再びソート、対角化、信頼性伝播(BP)を行う。繰り返し数が予め決められており、その繰り返し数だけこれを繰り返す。
以上より、受信語が直接入れ賛えられることはなく、列インデックスを入れ替えてABP復号装置を実現しており、パリティ検査行列の列入れ替えを行う必要はなく、また、図4において最終的にBD,MAP復号する前の更新LLR、つまり図7の出力更新LLRの再入れ替えの作業も行う必要がなく、計算量が低減される。
今回は、受信語の信頼度のソートに伴う、受信語の順番の入れ替えやパリティ検査行列の列を代用するインデックスとして列インデックスS41を利用する。列インデックスS41は、入力された受信LLRが符号語の始まりからパリティ検査行列において第1列、第2列、、に対応するので、符号語の始まりからカウンタで1、2、3、、とカウントアップされた値を生成し利用する。
ソート入力選択部31で、内側繰り返し一回目は、列インデックスS41と受信LLRS62を選択し、繰り返し二回目以降は信頼性伝播(BP)後,更新LLRS50とその列インデックスS49を選択する。
図7に示すように、受信語が入力されたら、まず、そのLLRの大きさに応じて列インデックスのソートを行う。この時に、受信語を直接入れ替えるのではなく、列インデックスを入れ替える。
入れ替えた列インデックスをパリティ検査行列の対角化部33に出力し、信頼度の低いシンボルに対応する列より順にパリティ検査行列の対角化を行う。
また、LLR保持部34には、受信語の順番そのままのLLRがソートされる前に入力される。
最後に、対角化されたパリティ検査行列とLLR保持部34から読み出されたLLRS4を用いて、信頼性伝播(BP)を行うことにより、値が更新される。
更新された値に対して、再びソート、対角化、信頼性伝播(BP)を行う。繰り返し数が予め決められており、その繰り返し数だけこれを繰り返す。
以上より、受信語が直接入れ賛えられることはなく、列インデックスを入れ替えてABP復号装置を実現しており、パリティ検査行列の列入れ替えを行う必要はなく、また、図4において最終的にBD,MAP復号する前の更新LLR、つまり図7の出力更新LLRの再入れ替えの作業も行う必要がなく、計算量が低減される。
以下に、本第2の実施形態に係る復号方法についてさらに詳述する。
前述したように、本第2の実施形態に係るABP復号方法において、受信語の信頼性順を探索して順序変換を行う際、受信値を直接入れ替えるのではなく、対応するインデックス、例えばパリティ検査行列の第1列、第2列、、を順にインデックス1、2、、と名づけ、これを入れ替えて保持する。受信語が更新されて再順序変換が行われた場合は、これに従いこのインデックスの順番を更新する。
ここで、符号長n=6、情報長k=3、符号化率r=1/2の符号で、以下の3×6-行列Hをパリティ検査行列として持つような線形符号Cを考える。
符号空間Cは、次のように表される。
ある符号語があるチャネル、たとえばBPSK変調+AWGNチャネル(Additive White Gaussian Noiseチャネル)を通った後、次のような受信語rとして受信機が受け取ったとする。
これらは、パリティ検査行列上で、第1列、第2列、、に対応し、受信系列をインデックス1、2、3、4、5、6と名づけ、受信値の代わりにこのインデックスをソートする。結果、以下のインデックス系列を得る。
次に、信頼性の低いシンボルに対応する列より順にパリティ検査行列Hの対角化を行う。この例においては、上記idxを先頭から順に読み出して、信頼性の低いシンボルに対応する列は順に第3列、第5列、第1列、第4または第6列、第2列となるので、その優先順位に従ってHの対角化を行う。
対角化を試みた列がそれ以前に対角化した列と線形従属であった場合は、その列はそのまま残し、次の順位の列で対角化を試みる。
このようにして行列Hのランク分対角化が行われた結果得られる新たなパリティ検査行列Hnewを用いて、信頼性伝播(BP)による信頼性の更新を行う。
このようにして行列Hのランク分対角化が行われた結果得られる新たなパリティ検査行列Hnewを用いて、信頼性伝播(BP)による信頼性の更新を行う。
図9は、本第2の実施形態に係るパリティ検査行列Hnewに対応するタナーグラフである。図9において、201はバリアブルノードを、202はチェックノードをそれぞれ示している。
信頼性伝播(BP)によってLLRが更新されたらそれを再びソートする際インデックスの順番も更新する。以下通常と同様に、内側繰り返し復号、外側繰り返し復号を行い,最終的に、限界距離復号などで復号する。この最終的な復号の前に、更新値の再入れ替えは必要ない。
信頼性伝播(BP)によってLLRが更新されたらそれを再びソートする際インデックスの順番も更新する。以下通常と同様に、内側繰り返し復号、外側繰り返し復号を行い,最終的に、限界距離復号などで復号する。この最終的な復号の前に、更新値の再入れ替えは必要ない。
以上より、フローチャートは図8に示すようになり、順序に応じてパリティ検査行列の列入れ替えを行う必要はなくなる。また、最終的に復号する前の更新値の再入れ替えの作業も省かれる。
受信語の信頼性順の探索を行い(ST31)、対応するインデックスの順序変換を行う(ST32)。
変換した順序に応じてパリティ検査行列の対角化を行い(ST33)、このパリティ検査行列を用いて信頼性伝播(BP)を行う(ST34)。
次に、LLRを計算し(ST35)、計算したLLRの信頼性順に従いインデックス順序の並べ替えを行う(ST36)。
そして、繰り返し復号停止条件SC1,SC2を満足するまで以上の処理を繰り返す(ST37、ST38)。
そして、復号を行う(ST39)。
変換した順序に応じてパリティ検査行列の対角化を行い(ST33)、このパリティ検査行列を用いて信頼性伝播(BP)を行う(ST34)。
次に、LLRを計算し(ST35)、計算したLLRの信頼性順に従いインデックス順序の並べ替えを行う(ST36)。
そして、繰り返し復号停止条件SC1,SC2を満足するまで以上の処理を繰り返す(ST37、ST38)。
そして、復号を行う(ST39)。
なお、以上詳細に説明した方法は、上記手順に応じたプログラムとして形成し、CPU等のコンピュータで実行するように構成することも可能である。
また、このようなプログラムは、半導体メモリ、磁気ディスク、光ディスク、フロッピー(登録商標)ディスク等の記録媒体、この記録媒体をセットしたコンピュータによりアクセスし上記プログラムを実行するように構成可能である。
また、このようなプログラムは、半導体メモリ、磁気ディスク、光ディスク、フロッピー(登録商標)ディスク等の記録媒体、この記録媒体をセットしたコンピュータによりアクセスし上記プログラムを実行するように構成可能である。
10・・・通信システム、11・・・RS符号化器、12・・・インタリーバ、13・・・畳み込み符号器、14・・・畳み込み符号の軟出力復号器、15・・・デインタリーバ、16・・・ABP繰り返し復号器、17・・・チャネル、20・・・復号器、21・・・ABP復号部、22・・・限界距離(BD)復号部、23・・・受信信頼度(LLR)保持部、24・・・MAP復号部、30,30A・・・ABP復号装置、31・・・ソート入力選択部、32・・・ソート部、33・・・パリティ検査行列の対角化部、34・・・信頼度(LLR)保持部、35・・・信頼性伝播(BP)部。
Claims (15)
- 受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す復号方法であって、
受信語の信頼度の大きさに応じてインデックスのソートを行う第1ステップと、
パリティ検査行列の対角化を行う第2ステップと、
対角化されたパリティ検査行列を用いて信頼性伝播を行う第3ステップと、を有し、
上記受信語の信頼度のソートに伴う、受信語の順番の入れ替え、およびパリティ検査行列の列の入れ替えの少なくともいずれかを、対応するインデックスの入れ替えで代用する
復号方法。 - 上記インデックスにパリティ検査行列の列インデックスを用い、パリティ検査行列の対角化の時に、入れ替えられたインデックスの先頭の列から順に基本変形を施す
請求項1記載の復号方法。 - 受信語の順番を入れ替えることなく、そのまま信頼性伝播(BP)で更新された値を出力する
請求項2記載の復号方法。 - パリティ検査行列の列同士の入れ替えを行わない
請求項3記載の復号方法。 - 上記信頼性伝播(BP)で値が更新されるたびに、インデックスの順番を更新する
請求項4記載の復号方法。 - 受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す復号装置であって、
受信語の信頼度の大きさに応じてインデックスのソートを行うソート部と、
パリティ検査行列の対角化を行う対角化部と、
対角化されたパリティ検査行列を用いて信頼性伝播を行う信頼性伝播部と、を有し、
上記ソート部は、受信語の信頼度のソートに伴う、受信語の順番の入れ替え、およびパリティ検査行列の列の入れ替えの少なくともいずれかを、対応するインデックスの入れ替えで代用する
復号装置。 - 上記インデックスにパリティ検査行列の列インデックスを用い、パリティ検査行列の対角化の時に、入れ替えられたインデックスの先頭の列から順に基本変形を施す
請求項6記載の復号装置。 - 受信語の順番を入れ替えることなく、そのまま信頼性伝播(BP)で更新された値を出力する
請求項7記載の復号装置。 - パリティ検査行列の列同士の入れ替えを行わない
請求項8記載の復号装置。 - 上記信頼性伝播(BP)で値が更新されるたびに、インデックスの順番を更新する
請求項9記載の復号装置。 - 受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す処理をコンピュータに実行させるプログラムであって、
受信語の信頼度の大きさに応じてインデックスのソートを行う第1処理と、
パリティ検査行列の対角化を行う第2処理と、
対角化されたパリティ検査行列を用いて信頼性伝播を行う第3処理と、を含み、
上記受信語の信頼度のソートに伴う、受信語の順番の入れ替え、およびパリティ検査行列の列の入れ替えの少なくともいずれかを、対応するインデックスの入れ替えで代用する処理をコンピュータに実行させるプログラム。 - 上記インデックスにパリティ検査行列の列インデックスを用い、パリティ検査行列の対角化の時に、入れ替えられたインデックスの先頭の列から順に基本変形を施す処理をコンピュータに実行させる
請求項11記載のプログラム。 - 受信語の順番を入れ替えることなく、そのまま信頼性伝播(BP)で更新された値を出力する処理をコンピュータに実行させる
請求項12記載のプログラム。 - パリティ検査行列の列同士の入れ替えを行わない
請求項13記載のプログラム。 - 上記信頼性伝播(BP)で値が更新されるたびに、インデックスの順番を更新する処理をコンピュータに実行させる
請求項14記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007030101A JP2008199148A (ja) | 2007-02-09 | 2007-02-09 | 復号装置、復号方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007030101A JP2008199148A (ja) | 2007-02-09 | 2007-02-09 | 復号装置、復号方法、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008199148A true JP2008199148A (ja) | 2008-08-28 |
Family
ID=39757728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007030101A Pending JP2008199148A (ja) | 2007-02-09 | 2007-02-09 | 復号装置、復号方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008199148A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429508B2 (en) | 2010-10-29 | 2013-04-23 | Kabushiki Kaisha Toshiba | Data storage apparatus with encoder and decoder |
-
2007
- 2007-02-09 JP JP2007030101A patent/JP2008199148A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429508B2 (en) | 2010-10-29 | 2013-04-23 | Kabushiki Kaisha Toshiba | Data storage apparatus with encoder and decoder |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4595574B2 (ja) | 復号装置および方法、並びにプログラム | |
JP4412401B2 (ja) | 復号装置、復号方法、受信装置、および記憶媒体再生装置 | |
US10326478B2 (en) | Apparatus and method for encoding and decoding data in twisted polar code | |
US7536628B2 (en) | Decoding apparatus, decoding method and program | |
US20200321985A1 (en) | Non-concatenated fec codes for ultra-high speed optical transport networks | |
US8103945B2 (en) | Decoding method and decoding apparatus as well as program | |
CN107979445B (zh) | 使用预先排序的输入的基于基本校验节点的校正子解码 | |
CN101903890A (zh) | 用于迭代解码器的改进的turbo均衡方法 | |
JP4005084B2 (ja) | 検査行列生成方法および検査行列生成装置 | |
JP2008259051A (ja) | 符号化方法および符号化装置、並びにプログラム | |
EP3293885A1 (en) | Check node processing for syndrome computation in the decoding of non-binary ldpc codes | |
JP2009152654A (ja) | 復号装置および復号方法 | |
JP2008205579A (ja) | 復号方法および復号装置 | |
JP2009225325A (ja) | 復号方法および復号装置、並びにプログラム | |
JP2008199148A (ja) | 復号装置、復号方法、およびプログラム | |
JP2008205547A (ja) | 復号方法および復号装置 | |
JP4862658B2 (ja) | 復号方法および復号装置、並びにプログラム | |
JP4862657B2 (ja) | 復号方法および復号装置、並びにプログラム | |
JP2008199149A (ja) | 復号装置および復号方法 | |
JP4910708B2 (ja) | 復号装置および復号方法 | |
JP5130715B2 (ja) | データソート装置およびデータソート方法 | |
Kan et al. | Hardware implementation of soft-decision decoding for Reed-Solomon code | |
JP2008199308A (ja) | 復号装置および復号方法 | |
JP2008205546A (ja) | 復号方法および復号装置、並びにプログラム | |
JP2008167378A (ja) | 復号装置および復号方法 |