JP4862658B2 - 復号方法および復号装置、並びにプログラム - Google Patents
復号方法および復号装置、並びにプログラム Download PDFInfo
- Publication number
- JP4862658B2 JP4862658B2 JP2007000538A JP2007000538A JP4862658B2 JP 4862658 B2 JP4862658 B2 JP 4862658B2 JP 2007000538 A JP2007000538 A JP 2007000538A JP 2007000538 A JP2007000538 A JP 2007000538A JP 4862658 B2 JP4862658 B2 JP 4862658B2
- Authority
- JP
- Japan
- Prior art keywords
- llr
- reliability
- updated
- column
- update
- 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
Links
Images
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Description
このようにして行列Hのランク分対角化が行われた結果得られる新たなパリティ検査行列Hnewを用いて、信頼性伝播(BP)による信頼性の更新を行う。
信頼性伝播(BP)はタナーグラフのエッジに沿ってメッセージを行き来させることによって実現される。
行列の各列に対応するノードを可変(variable:バリアブル)ノード1、各行に対応するノードを検査(check:チェック)ノード2と呼ぶ。
この信頼性伝播(BP)によるLLRの更新は事前に用意された繰り返し停止条件を満たすまで、たとえば最大繰り返し数ItHに達成するまで繰り返される。
また、LLRを更新する列は、全ての列を対象とせずとも一部の列、たとえば対角化の対象となった列についてのみ行ってもよい。
これを内側繰り返し復号と呼ぶ。このLLRの更新は事前に用意された内側繰り返し復号停止条件SC1を満たすまで繰り返される。
これを外側繰り返し復号と呼ぶ。このLLR更新は事前に用意された外側繰り返し復号停止条件SC2を満たすまで繰り返される。
今、対象となる線形符号がReed−Solomon符号であった場合、繰り返し復号停止条件SC1、SC2として、たとえば以下のものが考えられる。
(B) 限界距離復号成功または繰り返し数t≧N、
(C) Koetter−Vardy軟判定リスト復号成功または繰り返し数t≧N。
また、復号方法として、たとえば以下のものが考えられる。
(b) 限界距離復号
(c) Koetter−Vardy軟判定リスト復号
変換した順序に応じてパリティ検査行列の対角化を行い(ST3)、このパリティ検査行列を用いて信頼性伝播(BP)を行う(ST4)。
次に、LLRを計算し(ST5)、計算したLLRの信頼性順を探索し(ST6)、復号を行い、復号語をリストへ追加する(ST7)。
そして、繰り返し復号停止条件N1,N2を満足するまで以上の処理を繰り返す(ST8、ST9)。
そして、復号語を1つ選択する(ST10)。
また、LLR更新を符号語全てのノードに対して行うとかなり演算量がかかり、特に対角化対象列以外のノードは、部分行列が非常に密であるため、その演算量は非常に大きくなる。
特に、信頼性伝播(BP)装置においては、チェックノード演算とバリアブルノード演算を両方行わなければならず、両者のためパリティ検査行とパリティ検査行列の列の両方必要になり、前段の対角化回路から両方とも読み出すのは一般的なメモリの構成上でも困難である。
また、そもそも、バリアブルノード演算装置とメッセージメモリ自体の回路規模も大きい。
また、信頼性伝播(BP)では、タナーグラフ上で2nのサイクルが存在する場合、n回以上の信頼性伝播の繰り返しを行うとメッセージどうしの独立性が損なわれ性能劣化を生じる可能性がある。実際、パリティ検査行列も非常に密でn=2のサイクルを多数持つ。このことから、本発明においては、信頼性伝播(BP)の繰り返し数を一回に限定されるように構成されている。
ABP復号は、リードソロモン(Read−Solomon:RS)符号やBCH符号、その他低密度でないパリティ検査行列を持つ線形符号に対する復号法であり、ある伝送路から符号語を受信すると、その受信語をより信頼できる値に更新する。
ここで言う畳み込み符号の軟出力復号とは、たとえばBCJRアルゴリズムやSOVAによる復号のことである。
ABP復号器16においては、ABPによる信頼性の更新後、硬判定後限界距離復号、リスト復号、もしくは、軟値をそのまま入力として軟判定リスト復号を行う。
この復号器20は、図4に示すように、ABP復号部21、限界距離(BD)復号部22、受信信頼度(LLR)保持部23、およびMAP復号部24を有している。
列インデックスS31は、入力された受信LLRの符号語の始まりからカウンタで0、1、2、3、、とカウントアップされた値を生成し利用する。
ソート入力選択部31で、初回は、列インデックスS31と受信LLRS32を選択し、繰り返し二回目以降は信頼性伝播(BP)後、更新LLRS40とその列インデックスS39を選択する。
次に、信頼度の低いシンボルに対応する列より順に、対角化部33でパリティ検査行列の対角化を行う。
最後に、対角化されたパリティ検査行S37を用いて、信頼性伝播(BP)を行うことにより、値が更新される。
更新された値に対して、再びソート、対角化、信頼性伝播(BP)を行う。繰り返し数が予め決められており、その繰り返し数だけこれを繰り返す。
図6で、まずバリアブルノード(variable node)ノード41からチェックノード(check node)42へのメッセージの初期値を決定する。初期値は、受信語riが設定される。つまり、次式で与えられる。
なお、図3のような畳み込み符号と連接したシミュレーションモデルにおいて、図9のように、本発明による性能劣化はほとんど存在しないことが、シミュレーションにより示されている。
たとえば、RS(204,188)を想定した場合、全1632列のLLRS42が入力されると、更新列LLR選択部351と更新する列のインデックスS41により、更新したい列のLLRS87が選択される。
また、入力LLRS42とパリティ検査行S43を利用して、チェックノード演算部352でチェックノード演算が行われる。
ここで、更新したいバリアブルノード(variable node)は常に対角化対象列であるため、このバリアブルノードにつながっているチェックノードは必ず一つしか存在しない。つまり、一回の行入力とLLR入力で、その更新したいバリアブルノードに到来する全てのメッセージが演算されることになる。
よって、チェックノード演算で更新されたメッセージS45と更新列LLR選択部351で選択されたLLRS44をLLR更新部353で足し合わせれば、つまり、次の演算を行うことにより、更新列S41のLLRは更新される
バリアブルノード演算入力選択部354は、信頼性伝播(BP)の繰り返し一回目は、入力LLRS52を選択し、繰り返し二回目以降は、チェックノード演算後のメッセージS85を選択する。
v2cメッセージメモリ356は、バリアブルノードからチェックノードへのメッセージメモリとして機能し、c2vメッセージメモリ357は、チェックノードからバリアブルノードへのメッセージメモリとして機能する。
ただし、上記のとおり、繰り返し一回目は、この更新メッセージS55は入力LLRS52に設定される。バリアブルノード演算完了後、v2cメッセージメモリ356からバリアブルノードからチェックノードへのメッセージを出力し、チェックノード演算部352Aでチェックノード演算を行う。
その後、更新メッセージがc2vメッセージメモリ357に保持される。c2vメッセージメモリ357からメッセージS59がバリアブルノード演算部355に送られる。
以降、これを繰り返す。繰り返し数だけこれを繰り返した後、LLR更新部353Aで、更新したいLLRS57とメッセージS59を利用してLLRを更新し、出力する。
また、パリティ検査行のみ必要で列は必要ないため、図5に示すように、対角化部33は、パリティ検査行S37のみ信頼性伝播(BP)部35に出力すればよく、一般的なメモリの構成上この実現は難しくない。また、これにより、計算量が削減され動作周波数の低減も可能である。
特に、装置においては、信頼性伝播(BP)の繰り返し数が一回であるため、バリアブルノード演算を行う必要がなく、その結果、バリアブルノード演算装置を省け、回路規模を縮小できる。
また、バリアブルノード演算に必要なパリティ検査行列の列を対角化部から読み出す必要もなくなる。さらに、信頼度を対角化対象列にのみ更新すると、LLRを更新するバリアブルノードとつながっているチェックノードの数が1である。そのため、チェックノード演算更新メッセージと更新したい列のLLRを直接LLR更新部に入力すればLLR更新は完了することから、チェックノード演算部後段のメッセージメモリを設ける必要もなくなる。
また、このようなプログラムは、半導体メモリ、磁気ディスク、光ディスク、フロッピー(登録商標)ディスク等の記録媒体、この記録媒体をセットしたコンピュータによりアクセスし上記プログラムを実行するように構成可能である。
Claims (9)
- 受信語の信頼度の大きさに従いソートし、その順番に行列のランク分対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す復号方法であって、
パリティ検査行列に対応するタナーグラフの行列の各列に対応するバリアブルノードと各行に対応するチェックノード間でメッセージを行き来させることにより、受信語の信頼度(LLR)の信頼性伝播(BP)を行い、信頼性伝播(BP)の繰り返し数を一回に抑え、さらに信頼度(LLR)を対角化対象列のみ更新するBPステップを有し、
前記BPステップにおいては、
バリアブルノードからチェックノードへのメッセージの初期値を受信語として設定し、
チェックノードからバリアブルノードへのメッセージを演算し、
バリアブルノードにおけるバリアブルノード演算は行わず、各ビットのLLRを更新し、当該更新に際し、
対角化対象列については、値を更新して更新値として出力し、
非対角化対象列については、受信語をそのまま更新値として出力する
復号方法。 - 前記BPステップは、
入力LLRとパリティ検査行によりチェックノード演算を行い、更新メッセージを生成する第1ステップと、
更新する列のインデックスにより選択された更新する列のLLRと前記第1ステップで生成された更新メッセージにより更新列のLLRを更新する第2ステップと、を含む
請求項1記載の復号方法。 - 前記第2ステップにおいては、
選択された更新する列のLLRと更新メッセージとを足し合わせてLLRを更新する
請求項2記載の復号方法。 - 受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す復号装置であって、
パリティ検査行列に対応するタナーグラフの行列の各列に対応するバリアブルノードと各行に対応するチェックノード間でメッセージを行き来させることにより、受信語の信頼度(LLR)の信頼性伝播(BP)を行い、信頼性伝播(BP)の繰り返し数を一回に抑え、さらに信頼度(LLR)を対角化対象列のみ更新する信頼性伝播部を有し、
前記信頼性伝播部は、
バリアブルノードからチェックノードへのメッセージの初期値を受信語として設定し、
チェックノードからバリアブルノードへのメッセージを演算し、
バリアブルノードにおけるバリアブルノード演算は行わず、各ビットのLLRを更新し、当該更新に際し、
対角化対象列については、値を更新して更新値として出力し、
非対角化対象列については、受信語をそのまま更新値として出力する
復号装置。 - 前記信頼性伝播部は、
入力LLRとパリティ検査行によりチェックノード演算を行い、更新メッセージを生成する演算部と、
更新する列のインデックスにより選択された更新する列のLLRと前記第1ステップで生成された更新メッセージにより更新列のLLRを更新する更新部と、を含む
請求項4記載の復号装置。 - 前記更新部は、
選択された更新する列のLLRと更新メッセージとを足し合わせてLLRを更新する
請求項5記載の復号装置。 - 受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播(Belief propagation:BP)を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す復号処理において、
パリティ検査行列に対応するタナーグラフの行列の各列に対応するバリアブルノードと各行に対応するチェックノード間でメッセージを行き来させることにより、受信語の信頼度(LLR)の信頼性伝播(BP)を行い、信頼性伝播(BP)の繰り返し数を一回に抑え、さらに信頼度(LLR)を対角化対象列のみ更新するBP処理であって、
バリアブルノードからチェックノードへのメッセージの初期値を受信語として設定する処理と、
チェックノードからバリアブルノードへのメッセージを演算する処理と、
バリアブルノードにおけるバリアブルノード演算は行わず、各ビットのLLRを更新する処理とを含み、当該更新処理に際し、
対角化対象列については、値を更新して更新値として出力する処理と、
非対角化対象列については、受信語をそのまま更新値として出力する処理と、を含むBP処理を
コンピュータに実行させるプログラム。 - 前記BP処理において、
入力LLRとパリティ検査行によりチェックノード演算を行い、更新メッセージを生成する第1の処理と、
更新する列のインデックスにより選択された更新する列のLLRと前記第1の処理で生成された更新メッセージにより更新列のLLRを更新する第2の処理と、を含むBP処理を
コンピュータに実行させる請求項7記載のプログラム。 - 前記第2の処理においては、
選択された更新する列のLLRと更新メッセージとを足し合わせてLLRを更新する
請求項8記載のプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007000538A JP4862658B2 (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 |
---|---|---|---|
JP2007000538A JP4862658B2 (ja) | 2007-01-05 | 2007-01-05 | 復号方法および復号装置、並びにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008167379A JP2008167379A (ja) | 2008-07-17 |
JP4862658B2 true JP4862658B2 (ja) | 2012-01-25 |
Family
ID=39696161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007000538A Expired - Fee Related JP4862658B2 (ja) | 2007-01-05 | 2007-01-05 | 復号方法および復号装置、並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4862658B2 (ja) |
Family Cites Families (4)
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符号検出方法 |
-
2007
- 2007-01-05 JP JP2007000538A patent/JP4862658B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008167379A (ja) | 2008-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4595574B2 (ja) | 復号装置および方法、並びにプログラム | |
US8918694B2 (en) | Non-concatenated FEC codes for ultra-high speed optical transport networks | |
JP4412401B2 (ja) | 復号装置、復号方法、受信装置、および記憶媒体再生装置 | |
US20200321985A1 (en) | Non-concatenated fec codes for ultra-high speed optical transport networks | |
JP2006238127A (ja) | 復号装置および方法、並びにプログラム | |
CN107979445B (zh) | 使用预先排序的输入的基于基本校验节点的校正子解码 | |
CN101903890A (zh) | 用于迭代解码器的改进的turbo均衡方法 | |
US8103945B2 (en) | Decoding method and decoding apparatus as well as program | |
KR101895164B1 (ko) | 코드 디코딩 에러 정정 방법 및 장치 | |
US8074156B2 (en) | Decoding method and decoding apparatus | |
Lou et al. | Channel Coding | |
Alberge | On some properties of the mutual information between extrinsics with application to iterative decoding | |
CN111034055A (zh) | 在非二进制ldpc解码器中简化的校验节点处理 | |
JP2009225325A (ja) | 復号方法および復号装置、並びにプログラム | |
JP4862658B2 (ja) | 復号方法および復号装置、並びにプログラム | |
JP2008205547A (ja) | 復号方法および復号装置 | |
JP2008199149A (ja) | 復号装置および復号方法 | |
JP2008199308A (ja) | 復号装置および復号方法 | |
JP4862657B2 (ja) | 復号方法および復号装置、並びにプログラム | |
Rani et al. | Comparative Analysis of Turbo and LDPC Codes for Reduced Storage and Retrieval of Data | |
US11245421B2 (en) | Check node processing methods and devices with insertion sort | |
JP2008199148A (ja) | 復号装置、復号方法、およびプログラム | |
Kan et al. | Hardware implementation of soft-decision decoding for Reed-Solomon code | |
JP5130715B2 (ja) | データソート装置およびデータソート方法 | |
JP4910708B2 (ja) | 復号装置および復号方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091127 |
|
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: 20110726 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110920 |
|
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: 20111011 |
|
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: 20111024 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141118 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141118 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 |