JP5385944B2 - 復号器 - Google Patents
復号器 Download PDFInfo
- Publication number
- JP5385944B2 JP5385944B2 JP2011115731A JP2011115731A JP5385944B2 JP 5385944 B2 JP5385944 B2 JP 5385944B2 JP 2011115731 A JP2011115731 A JP 2011115731A JP 2011115731 A JP2011115731 A JP 2011115731A JP 5385944 B2 JP5385944 B2 JP 5385944B2
- Authority
- JP
- Japan
- Prior art keywords
- decoding
- stage
- data
- input data
- processing
- 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
- Error Detection And Correction (AREA)
Description
かかる誤り訂正技術の一つとして、低密度パリティ検査(LDPC:Low-Density Parity-Check)符号と、その復号法であるサムプロダクト(sum-product)復号法とが注目されている(特許文献1並びに非特許文献1及び2)。
また、サムプログラム復号法は、並列処理による復号処理を実行するため、符号長を長くすることができるとともに、処理能力を向上させることができる。また、復号法としては、サムプロダクト復号法を簡略化した、ミニサム(min-sum)復号法も知られている。
上記のような復号器では、行処理及び列処理の復号処理は、反復して繰り返し行われる。そして、行処理及び列処理の繰り返し回数が所定値(反復可能回数)に到達するか、又は所定値に達する前であっても所定の条件を満たすと、行処理及び列処理の反復が終了する。
例えば、図10に示すように、復号処理部(Decoder)101が、入力誤り訂正を行う復号処理を10回反復する復号器100を想定する。
また、図10の復号器100では、復号処理部101の入力側に、S/P変換部(シリアル/パラレル変換部)102が設けられ、復号処理部102の出力側に、P/S変換部(パラレル/シリアル変換部)103が設けられている。S/P変換部102により、シリアルの入力データは、パラレルの入力データに変換される。復号処理部101は、パラレルの入力データに対して並列的に復号処理を行い、パラレルの出力データを出力する。パラレルの出力データは、P/S変換部103により、シリアルの出力データに変換される。
したがって、復号処理部101における反復が終了するまでは、新たな入力データを、復号処理部101に与えることができない。
処理能力=(F×符号長)/(N×Y)
ただし、
「F」は、復号処理部101の動作クロック周波数
「N」は、復号処理の反復回数
「Y」は、1回の復号処理の所要サイクル数(所要クロック数)
である。
処理能力=(100[MHz]×1000[bit])/(10×1)
=10[Gbit/s]
しかし、動作クロック周波数Fの高速化は、半導体回路技術の進歩を待つ必要があり、復号器自体の改良で対処できる範疇の方策ではない。
また、復号処理の反復回数Nを少なくすると、復号精度を低下させるため、復号精度を下げてまで、復号器の処理能力を上げるという方策は、採用し難いものである。具体的には、反復回数は最悪の場合で、例えば10回程度は確保したいところである。
しかし、復号処理部は、元来、大規模な回路であり、そのような復号処理部を複数具備させることは、回路規模が非現実的なほど大きくなってしまう。
したがって、超全並列復号器も、現実的な方策ではない。
復号処理の反復時間間隔を、Yとし、
復号処理の反復可能回数を、Nとしたときに、
下記式を満たすように構成されている復号器であるのが好ましい。
式 : (Y × N) < XとYの最小公倍数
この場合、データの衝突を確実に回避することができる。
(4)上記(1)〜(3)のいずれか1項において、前記復号処理部の動作クロック周波数を調整して、前記入力データが前記復号処理部に与えられる入力時間間隔を調整する手段を備えているのが好ましい。この場合、動作クロック周波数の調整で、入力時間間隔を調整することができる。
図1は、本発明の実施形態に係る復号器を有する、通信システムの構成例を示す図である。図1に示すように、この通信システムは、符号化データを送信する送信装置(送信側通信装置)Sと、符号化データを受信して復号する受信装置(受信側通信装置)Rとを備えている。
符号化器1は、Kビットの情報に対し、パリティ計算用の冗長ビットMビットを付加して、(K+M)ビットのLDPC(低密度パリティ検査)符号化データを生成する。低密度パリティ検査行列においては、行が冗長ビットに対応し、列が符号ビットに対応する。
変調器2は、この通信路3の構成に応じて、振幅変調、位相変調、コード変調、周波数変調または直交周波数分割多重変調などの変調を行なう。
復調器4は、この通信路3における送信形態に応じて復調処理を行なう。例えば、振幅変調、位相変調、コード変調、周波数変調および直交周波数分割多重変調等の場合、復調器4において、振幅復調、位相復調、コード復調、および周波数復調等の処理が行なわれる。
図2において、上述のように、通信路3が光ファイバの場合、変調器2においては、送信データが“0”のときには、”1”に変換され、送信用のレーザダイオード(発光ダイオード)の発光強度が強くなり、また送信データビットが“1”のときには、”−1”に変換され、レーザダイオードの発光強度を弱くして送信する。
図2においては、8段階に受光レベルが量子化された場合の受信信号強度を示す。すなわち、受光レベルがデータ“7”のときには、発光強度がかなり強く、受光レベルが“0”のときには、光強度がかなり弱い状態である。
復号器5は、この復調器4から与えられた(K+M)ビットの受信符号化データ(各ビットは、多値情報を含む)の入力を受け、サムプロダクト(sum-product)復号法、或いは、これの変形アルゴリズムであるミニサム(min-sum)復号法又はファーストミニサム(fast mini-sum)復号法に従ってLDPCパリティ検査行列を適用して、元のKビットの情報を復元(誤り訂正)する。
また、図2においては、比較器を用いて、ある閾値を使って受信信号のレベルを判定し、2値信号を生成してもよい。
この図3においては、復調器4および通信路3も併せて示している。
復調器4は、通信路3から与えられた信号を復調する復調回路4aと、この復調回路4aにより生成されたアナログ復調信号をデジタル信号に変換するアナログ/デジタル変換回路4bを含み、このアナログ/デジタル変換回路4bの出力データ(符号化データ)Xnが復号器5へ与えられる。
また、復号器5は、復調器4からの復調シンボルXnの対数尤度比λnを生成する対数尤度比算出部6(単に、算出部6と表記することがある。)と、算出部6から出力されたシリアルの対数尤度比λnを、符号長分のパラレルデータに変換するS/P変換部7、パラレルの対数尤度比λnのデータを複数個記憶できる対数尤度比記憶部8と、パラレルの対数尤度比λnを入力データとして復号処理を行う復号処理部11(単に、処理部11と表記することがある。)と、を含む。
しかし、本実施形態においては、この対数尤度比算出部6は、定数乗算回路で形成され、対数尤度比λnは、Xn・fで与えられる。ここで、fは非ゼロの正の数である。
本実施形態の復号処理部11は、列処理部10の出力が行処理部9にフィードバック入力されるようになっている。すなわち、行処理部9と列処理部10とは、ループ状に接続されている。
具体的には、行処理部9が、式(1)による外部値対数比(第1変数)αmnを算出する演算を行い、列処理部10が、式(2)による事前値対数比βmnを算出する演算を行う。
また、αおよびβの行列内の位置を示す添え字“mn”は、通常は下付文字で示されるが、本明細書においては、読みやすさのために、「横並びの文字」で示す。
式(1)中において、fはギャラガ(Gallager)のf関数であり、関数sign(x)は次の式(3)で定義される。
A(m)={n:Hmn=1} …(4)
B(n)={m:Hmn=1} …(5)
より具体的に説明するために、例えば図4に示す検査行列Hを考える。
この図4の検査行列Hにおいては、第1行の第1列から第3列に“1”が立ち、また第2行の第3列および第4列に“1”が立ち、また第3行の第4列から第6列に、“1”が立つ。従って、この場合、部分集合A(m)は以下のようになる。
A(2)={3,4}
A(3)={4,5,6}
B(1)=B(2)={1}
B(3)={1,2}
B(4)={2,3}
B(5)=B(6)={3}
すなわち、図5に示すように、変数ノード1,2,3は、チェックノードX(第1行)に接続され、変数ノード3,4が、チェックノードY(第2行)に接続される。変数ノード4,5,6が、チェックノードZ(第3行)に接続される。
LDPCの検査行列Hでは、“1”の数は少なく、低密度の検査行列であり、これにより、計算量を低減できる。この変数ノードとチェックノードの間で各条件確率P(Xi|Yi)を伝播させ、MAPアルゴリズムに従って、尤もらしい符号を各変数ノードについて決定する。ここで、条件付確率P(Xi|Yi)は、Yiの条件下でXiとなる確率を示す。
なお、式(6)において、関数minは最小値を求める演算子である。また、サムプロダクト復号法の式(2)とミニサム復号法の式(7)とは同じものである。
この判定部13は、行処理及び列処理からなる復号処理(復号演算)の反復回数が、終了回数に達したか否かを判定し、行処理と列処理の反復回数が終了回数に達すると、復号処理部11による復号処理の反復を終了させる。なお、反復回数が、所定の終了回数に達する前であっても、十分な精度の復号結果が得られた場合には、反復を打ち切るように反復を制御してもよい。
具体的には、判定部12は、次の式(8)に従ってQnを算出する。
図3の復号処理部11においては、機能的な面に着目して、行処理部9と列処理部10とを書き分けたが、図6では、復号処理部11のハードウェア構成として分けられる複数のステージを示した。本実施形態の復号処理部11は、3つのステージ11a,11b,11cを有している。
これら3つのステージ11a,11b,11cは、それぞれ、1回の復号処理(1回の行処理及び1回の列処理)が分割された部分処理を実行するためのものである。例えば、複数のステージのうち、先頭ステージ11aは行処理の前半を実行し、第2ステージ11bは、行処理の後半を実行し、最終ステージ11cは、列処理全体を実行するものとする。
なお、加算部16は、先頭ステージ11aの一部として考えても良い。このように考えた場合、先頭ステージ11aは、λnとβmnとをそれぞれ入力として受け付けることになる。
したがって、図6の復号処理部11では、1回の復号処理(1回の反復処理)を完了するのに、3クロック(3サイクル)要する。
一方、本実施形態に係るステージ11a,11b,11cは、クロックが与えられたときの入力に応じて、当該ステージが担当する部分処理に係る演算を行い、その演算結果を出力するものである。
したがって、列処理を行う前記最終ステージ11cには、組み合わせ論理回路によって構成された列処理回路に加えて、クロックを待ってから出力するためのメモリが付加されることになる。
また、復号処理が複数のステージによって実行されていれば足り、行処理及び/又は列処理が分割されている必要はない。例えば、行処理及び列処理を1クロック(1サイクル)で実行できる一つのステージと、遅延回路からなる1又は複数のステージとで、複数のステージを構成してもよい。
さらに、行処理や列処理を分割する場合、分割された部分処理それぞれは、機能的に意味のある単位である必要はない。
この対数尤度比記憶部8は、複数の対数尤度比(パラレルデータ)λn−A,λn−B,λn−Cを蓄積することができ、蓄積された複数の対数尤度比のうちの一の対数尤度比を、選択的に、必要なステージ11aに与えることができる。対数尤度比記憶部8では、復号処理部11において処理対象となっている入力データ(対数尤度比)を全て記憶できるように、対数尤度比記憶部8に記憶可能な対数尤度比の数は、ステージ数以上の数に設定される。
なお、図6においては、動作クロック15によって動作する範囲を、反復処理部20として示した。反復処理部20には、対数尤度比記憶部8、復号処理部11、判定部12、制御部14など反復処理に必要なものが含まれる。
この場合、反復処理部20における動作クロック15の周波数(処理速度)を200MHzとした場合、S/P変換部から、復号処理部11の処理対象とするパラレルの入力データ(対数尤度比λn)が、S/P変換部7から出力されて反復処理部20に与えられる間隔(入力間隔)Xは、下記式のように、11サイクル(11クロック)となる。
入力間隔X=(550bit/10GHz)/(1/200MHz)=11サイクル
また、図示はしないが、CLK=15などで、先頭ステージ11aにおいて第2入力データ△についての処理が行われる場合には、対数尤度比記憶部8からは、第2入力データとしての対数尤度比λnが選択的に出力される。
このCLK=23の時点で、第1入力データ□についての処理データは、第2ステージ11bに存在し、第2入力データ△についての処理データは最終ステージ11cに存在するめ、新たな入力データである第3入力データについての処理データと、先に入力された第1及び第2データの処理データとの衝突が回避されている。
また、CLK=25,28などで、先頭ステージ11aにおいて第1入力データ□についての処理が行われる場合には、対数尤度比記憶部8からは、第1入力データとしての対数尤度比λnが選択的に出力される。
また、CLK=26,29などで、先頭ステージ11aにおいて第3入力データ○についての処理が行われる場合には、対数尤度比記憶部8からは、第3入力データとしての対数尤度比λnが選択的に出力される。
CLK=30の時点では、第1入力データ□についての10回目(反復回数の上限)の復号処理の最終ステージ11cにおける処理が完了している。このため、第1入力データについての処理データは、破棄され、先頭ステージ11aの入力に反映されない。したがって、次のCLK=31の時点では、先頭ステージ11aには、処理中のデータが存在しない。
したがって、新たに入力された第4入力データと、先に入力されたデータとの衝突が回避されている。
条件式 : (Y × N) < XとYの最小公倍数
X:入力データが先頭ステージに与えられる入力時間間隔
Y:復号処理の反復時間間隔(ステージ数)
N:復号処理の反復可能回数
なお、図6の例では、X=11、Y=3、N=10であった。
また、上記条件式の右辺である「XとYの最小公倍数」=LCM(Y,X)は、復号処理部11への入力が、復号処理部における反復と衝突する間隔である。
LCM(Y,X)で求まる衝突間隔よりも、ある入力データについての処理データが、反復される復号処理のために復号処理部11内に滞留する最大時間を短くすることで、衝突が発生する前に、復号処理部11のステージを新たな入力データに開放することができ、データの衝突を防止できる。
例えば、図6の復号器5の設計後に、図6通信路4の伝送速度を上げたくなった場合を考える。伝送速度が上がった場合、同じ動作クロック周波数であれば、S/P変換部7からパラレルの入力データが出力されるサイクル間隔(クロック数)は、小さくなる。
仮に、図6においてX=11であった入力間隔Xが9サイクルになった場合、LCM(Y,X)=LCM(3,9)=9である。この場合、反復可能回数Nの最大値を、上記条件式から求めると、反復可能回数N=2となる。
3 × N < LCM(3,9)=9
N < 3
また、図6通信路4の伝送速度をさらに上げたくなった場合を考える。さらに伝送速度が上がった場合、同じ動作クロック周波数であれば、S/P変換部7からパラレルの入力データが出力されるサイクル間隔(クロック数)は、さらに小さくなる。ここでは、仮に、入力間隔X=8になったとする。この場合、反復可能回数N=8となる。
3 × N < LCM(3,8)=24
N < 9
そこで、伝送速度が低速になった場合、十分な反復回数が確保できる場合には、故意に、動作クロック15の周波数を低下させて、入力間隔Xが大きくなるのを抑制する(例えば、X=11を維持する)ことができる。この場合、動作クロック周波数が低くできるため、復号器5の消費電力を抑えることができる。
例えば、本発明の復号器の復号器は、LDPC符号の復号器に限られるものではなく、ターボ復号器のように他の反復復号型の復号器であってもよい。
また、上記実施形態では、復号処理部11の外部にある対数尤度比記憶部8から、先頭ステージ11aに対数尤度比λnを与えたが、各ステージ11a,11,11cがλnの記憶部を備えておき、処理対象となっている入力データについての対数尤度比λnを、処理データの一部としてとして、各ステージ11a,11b,11cが保持できるようにしてもよい。また、復号処理として、1回目の反復では対数尤度比を用いるが、2回目の反復では対数尤度比λnを用いない方式を採用する場合、対数尤度比記憶部8は不要である。
さらに、上記実施形態では、復号処理部11は、全並列型のものを示したが、部分並列型であってもよい。
4a:復調回路 4b:アナログ/デジタル変換回路
5:復号器 6:対数尤度比算出部 7:S/P変換部 8:対数尤度比記憶部
9:行処理部 10:列処理部 11:復号処理部 11a:先頭ステージ
11b:第2ステージ 11c:最終ステージ 12:判定部
13:P/S変換部 14:制御部 15:動作クロック 16:加算部
20:反復処理部 S:送信装置 R:受信装置 Xn:符号化データ
Cn:復号データ λn:対数尤度比
Claims (1)
- 復号処理部が、符号化された入力データに対する復号処理を反復して行う復号器であって、
前記復号処理部は、反復の対象である前記復号処理が分割された複数の部分処理を、復号処理部の動作クロックに従って順次実行するための複数のステージを有し、
前記複数のステージは、前記復号処理における最初の部分処理を実行する先頭ステージと、前記復号処理における最後の部分処理を実行する最終ステージと、を含み、
前記復号処理を反復できるように、前記最終ステージの出力を前記先頭ステージに与えるべく、前記最終ステージと前記先頭ステージとが接続されており、
先に前記復号処理部に入力された入力データについての処理データが、前記最終ステージから前記動作クロックに従って前記先頭ステージに順次与えられることで前記処理データが前記先頭ステージに存在しているときには、新たな入力データは前記先頭ステージには与えられず、前記処理データが、前記複数のステージのうち前記先頭ステージ以外のステージに存在しているタイミングにおいて、新たな入力データが前記先頭ステージにおいて処理されるよう構成されている
ことを特徴とする復号器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011115731A JP5385944B2 (ja) | 2011-05-24 | 2011-05-24 | 復号器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011115731A JP5385944B2 (ja) | 2011-05-24 | 2011-05-24 | 復号器 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008302778A Division JP4755238B2 (ja) | 2008-11-27 | 2008-11-27 | 復号器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011160491A JP2011160491A (ja) | 2011-08-18 |
JP5385944B2 true JP5385944B2 (ja) | 2014-01-08 |
Family
ID=44591960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011115731A Expired - Fee Related JP5385944B2 (ja) | 2011-05-24 | 2011-05-24 | 復号器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5385944B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5869968B2 (ja) * | 2012-06-04 | 2016-02-24 | パナソニック株式会社 | 復号装置 |
US9141470B2 (en) | 2012-03-19 | 2015-09-22 | Panasonic Corporation | Decoding device |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4314254B2 (ja) * | 2006-08-21 | 2009-08-12 | 株式会社モバイルテクノ | 低密度パリティチェック符号復号装置及び方法 |
JP4755238B2 (ja) * | 2008-11-27 | 2011-08-24 | 住友電気工業株式会社 | 復号器 |
-
2011
- 2011-05-24 JP JP2011115731A patent/JP5385944B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011160491A (ja) | 2011-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100846869B1 (ko) | 저 복잡도 ldpc복호 장치 및 그 방법 | |
US10103751B2 (en) | Non-concatenated FEC codes for ultra-high speed optical transport networks | |
WO2017080249A1 (zh) | 生成用于在信道中传输的低密度奇偶校验码的方法及设备 | |
KR20080035585A (ko) | Ldpc 코드용 디코더 및 ldpc 디코딩 방법 | |
CN109586732B (zh) | 中短码ldpc编解码系统和方法 | |
JP4832447B2 (ja) | チャネルコードを用いた復号化装置及び方法 | |
CN102457286B (zh) | 准循环ldpc码编码方法、装置及校验矩阵生成方法 | |
US8930790B1 (en) | Method and apparatus for identifying selected values from among a set of values | |
US8762812B2 (en) | Decoding device, decoding method, and program | |
JP5385944B2 (ja) | 復号器 | |
JP4645645B2 (ja) | 復号装置及び検査行列生成方法 | |
JP4755238B2 (ja) | 復号器 | |
JP5523064B2 (ja) | 復号装置及び方法 | |
JP2009182421A (ja) | 復号化方法及び復号化装置 | |
CN118694379A (zh) | 用于ldpc码的解码的提前收敛 | |
JP4985843B2 (ja) | 復号装置 | |
JP4618293B2 (ja) | 復号装置及び検査行列生成方法 | |
JP4645640B2 (ja) | 復号器、受信装置及び符号化データの復号方法 | |
JP2008153874A (ja) | 軟判定復号装置、軟判定復号方法および軟判定復号プログラム | |
US8706792B1 (en) | Low-complexity q-ary LDPC decoder | |
CN112470405A (zh) | 非二进制码的消息传递解码的可变节点处理方法和设备 | |
JP4766013B2 (ja) | 復号器、受信装置及び符号化データの復号方法 | |
TWI523437B (zh) | Bch碼編碼與癥狀計算共用設計電路及決定該共用設計電路的方法 | |
KR101268061B1 (ko) | 다상-누산 코드를 이용한 부호화 방법 및 복호화 방법 | |
KR101218658B1 (ko) | 불규칙 반복 다상 누산 코드를 이용한 부호화 방법 및 복호화 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110929 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130625 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130812 |
|
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: 20130917 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131004 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5385944 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |