明 細 書
通信装置および復号方法
技術分野
[0001] 本発明は、ディジタル通信における誤り訂正技術に関するものであり、特に、 LDP C (Low-Density Parity Check)符号化された信号を復号する受信側の通信装置お よびその復号方法に関するものである。
背景技術
[0002] LDPC符号を復号する基本的なアルゴリズムとして、「Sum- Productアルゴリズム」と 「Min-S醒アルゴリズム」があり、これらは、受信信号の確率的な信頼度情報である対 数尤度比 (LLR: Log Likelihood Ratio)を算出しながら繰り返し演算を行うことにより 復号処理を行う(非特許文献 1参照)。上記 rSum-Productアルゴリズム」は、復号性能 は高いが、数学関数を用いた演算が要求されるため、テーブルを保持する必要が生 じるなど実装するには計算コストが高い。また、少なくとも" 0", "1"の 2元の検査行列 に含まれる" 1"の数の分だけ中間値を記憶するメモリが必要である。一方、「Min-S醒 アルゴリズム」は、数学関数を必要とせず、計算コストは小さくなるが、復号性能が劣 化する。
[0003] ここで、上記「Sum- Productアルゴリズム」につ!/、て説明する。まず、送信機側では、 M行 X N列のパリティ検査行列 Hを用いて送信データを LDPC符号ィ匕し、符号語 c = (c , c , · · ·, c )、c =0, 1を生成する (n= l, 2, · · ·, N)。そして、この符号語 cに
1 2 N n
対して、たとえば、 BPSK (Binary Phase Shift Keying)変調等の変調処理を実行し 、変調信号 x= (X , X , · · · , X )
1 2 Nを送信する。
[0004] 一方、受信機側では、カロ法'性白色ガウス通信路(Additive White Gaussian Noise
Channel :AWGN通信路)経由で、下記(1)式のように表記される信号 y= (y , y ,
1 2
· · ·, y )
Nを受信する。
y =x +e
なお、 eは、平均 0,分散値 σ 2 = Ν Ζ2となるガウス雑音系列である。
η 0
[0005] そして、受信機側では、上記通信路を介して受け取った変調信号に対して、上記 Β
PSK変調に応じた所定のディジタル復調を行い、さらに、復調結果から得られる対数 尤度比(LLR)に対して「Sum-Productアルゴリズム」による繰り返し復号を実施し、最 終的に硬判定結果を出力する。
[0006] つづ 、て、上記受信機にお 、て実施される、従来の復号方法「Sum-Productァルゴ リズム」を以下に示す。
[0007] (初期化ステップ)
まず、繰り返し回数 1= 1および最大繰り返し回数 1 を設定し、さらに、初期時にお max
ける、ビットノードからチェックノードへの LLR : β (1=1)として、下記(2)式に示すように mn
受信 LLR: λ を入力する。
β ω= λ
mn n
n= l, 2, · · ·, N
m= l, 2, · · ·, M - - - (2)
[0008] (行処理ステップ)
つぎに、行処理として、各 m, nについて、チェックノード mからビットノード nへ送るビ ット nの繰り返し 1回目の LLR : a (1)を、下記(3)式により更新する。
… )
[0010] ただし、 N (m)は m行目の" 1"を持つ列番号の集合を表し、 n は n以外の N (m)を 表し、 β )は η列目以外の(1—1)回のビットノードからチェックノードへの LLRを表 mn
す。
[0011] (列処理ステップ)
つぎに、列処理として、各 m, nについて、ビットノード nからチェックノード mへ送るビ ット nの繰り返し 1回目の LLR : β (1)を、下記 (4)式により更新する。
[0012] [数 2]
Pmn = + ^ a m'n
m'6M(n)\m
…(
[0013] また、各 nにつ 、て、硬判定のための、ビット nの繰り返し 1回目の事後値 /3 n (1)を下記
(5)式により更新する。
[0014] [数 3] mreM(n)
… )
[0015] ただし、 M (n)は n列目の" 1"を持つ行番号の集合を表し、 m"は m以外の M (n)を 表し、 a (1)は m行目以外の 1回目のチェックノードからビットノードへの LLRを表す。
m n
[0016] (停止規範)
その後、たとえば、ビット nの繰り返し 1回目の事後値 |8 (1)が「 (1)>0」の場合には、 復号結果「x ' = l」とし (χΊま元の送信信号 Xに対応)、一方、「j8 (1)≤0」の場合には 、復号結果「x ' =0」とし、復号結果 χ' = (χ ' , X · · · , X
η 1 2 Ν Ίを得る。
[0017] そして、パリティ検査の結果が「Hx' =0」または繰り返し回数が「1=1 」の場合 (い max ずれ力 1つの条件を満たしている場合)に、そのときの復号結果 χ'を出力する。なお 、上記 2つの条件のどちらも満たしていない場合は、「1=1+ 1」とし、上記行処理に戻 り、以降、順に演算を実行する。
[0018] 非特許文献 1 :低密度ノ^ティ検査符号とその復号法 LDPC (Low Density Parity
Check)符号 Zsum- product復号法、和田山正著、トリケップス
発明の開示
発明が解決しょうとする課題
[0019] しかしながら、上記「Sum- Productアルゴリズム」は、復号性能が高!、ことは知られて いるが、一方で、数学関数を用いた繰り返し演算 (tanh—1の演算)が要求されるため、 ハードウェア,ソフトウェアのどちらで実現しても受信機側の計算負荷が高くなる、とい う問題があった。また、計算負荷を低減させるために所定のテーブルを保持する方法 (テーブルルックアップ)もあるが、当該テーブルを保持するために必要なメモリ量が 増大する、という問題があった。
[0020] また、上記「Sum- Productアルゴリズム」においては、少なくとも" 0", "1"の 2元の検
查行列に含まれる" 1 (重み)"の数の分だけ中間値 (行毎の対数尤度比,繰り返し毎 の更新値等)を記憶するためのメモリが必要となる。すなわち、メモリの消費量が非常 に多くなる、という問題があった。また、「Sum- Productアルゴリズム」においては、量子 化ビット数が多い,繰り返し回数が多い、等の問題もある。
[0021] 本発明は、上記に鑑みてなされたものであって、 LDPC符号化された符号語の復 号処理にお!、て、計算量およびメモリ量を削減可能な通信装置および復号方法を得 ることを目的とする。また、量子化サイズの縮小、さらには、繰り返し回数の削減、を実 現する通信装置および復号方法を得ることを目的とする。
課題を解決するための手段
[0022] 上述した課題を解決し、目的を達成するために、本発明にカゝかる通信装置は、 LD PC符号ィ匕された符号語を検査行列を用いて復号する通信装置にお 、て、復号アル ゴリズムにおける所定の処理により得られる中間値を保持する保持手段と、検査行列 における行重みに対応した対数尤度比(ビットノードからチェックノードへ送る対数尤 度比:行処理用 LLRと呼ぶ)の絶対値に基づ 、て、列処理で用いる対数尤度比(チ エックノードからビットノードへ送る対数尤度比:列処理用 LLRと呼ぶ)を演算する行 処理を実行する行処理手段と、列重みに対応した列処理用 LLRを用いて、行処理 で用いる行処理用 LLRを演算し、さらに、行処理用 LLRの絶対値の最小 k値を前記 保持手段に保持する列処理、を実行する列処理手段と、を備え、前記列処理手段が 行の前記最小 k値を更新しながら復号を行うことを特徴とする。
発明の効果
[0023] この発明によれば、 LDPC復号にお!、て、行処理のための LLRの絶対値を、巡回 構造により行単位に最小 k値に縮小することとしたので、それらを保持するためのメモ リ量を大幅に削減することができる、という効果を奏する。また、本発明によれば、従 来の「Min-Sumアルゴリズム」よりも確率伝搬を効率的に行うことができるので、復号の 繰り返し回数を大幅に削減することができ、ひいては、復号処理における計算量を大 幅に低減させることができる、という効果を奏する。
図面の簡単な説明
[0024] [図 1]図 1は、 LDPC符号化器および LDPC復号器を含む通信システムの構成例を
示す図である。
[図 2]図 2は、 LDPC復号器にお!、て「Min-Sumアルゴリズム」の行処理ステップを実 行する場合の行処理部の構成例を示す図である。
[図 3]図 3は、 LDPC復号器にお!、て「Min-Sumアルゴリズム」の列処理ステップを実 行する場合の列処理部の構成例を示す図である。
[図 4]図 4は、「Min-Sumアルゴリズム」における処理の流れを示すフローチャートであ る。
[図 5-1]図 5—1は、実施の形態 1の LDPC復号器の構成例を示す図である。
[図 5-2]図 5— 2は、実施の形態 1の LDPC復号器の構成例を示す図である。
[図 6]図 6は、「巡回近似 minアルゴリズム」において行処理を実行する行処理部の構 成例を示す図である。
[図 7-1]図 7— 1は、「巡回近似 minアルゴリズム」において列処理を実行する列処理 部の構成例を示す図である。
[図 7-2]図 7— 2は、「巡回近似 minアルゴリズム」において列処理を実行する列処理 部の構成例を示す図である。
[図 8]図 8は、 n= 15の列処理において、 Min2LLRに n= 15の情報が保持されてい る場合の処理を示す図である。
[図 9]図 9は、「巡回近似 minアルゴリズム」における処理の流れを示すフローチャート である。
[図 10]図 10は、列番号表記を示す図である。
[図 11]図 11は、「巡回近似 minアルゴリズム」と「Min-Sumアルゴリズム」の比較シミュレ ーシヨンの結果を示す図である。
[図 12]図 12は、「巡回近似 minアルゴリズム」と「Min-Sumアルゴリズム」の比較シミュレ ーシヨンの結果を示す図である。
[図 13]図 13は、実施の形態 2の LDPC復号器の構成例を示す図である。
[図 14]図 14は、繰り返し回数についての性能比較を示す図である。
[図 15]図 15は、実施の形態 3の行処理を実行する行処理部の構成例を示す図であ る。
[図 16]図 16は、実施の形態 4の行処理を実行する行処理部の構成例を示す図であ る。
[図 17]図 17は、「δ minアルゴリズム」に対して「巡回近似 minアルゴリズム」または「0 verlapped巡回近似 minァノレゴリズム」を適用した復号アルゴリズムと、 「 Sum- Productァ ルゴリズム」と、の比較結果を示す図である。
[図 18]図 18は、実施の形態 5の行処理を実行する行処理部の構成例を示す図であ る。
[図 19]図 19は、実施の形態 6の「シリアル巡回近似 minアルゴリズム」において列処理 を実行する列処理部の構成例を示す図である。
符号の説明
1 LDPC符号化器
2 変調器
3 通信路
4 復調器
5 LDPC復号器
11 受信 LLR算出部
12 復号コア部
21, 21a 途中結果保持部
22, 22- 1, 22- 2, 22— G 行処理部
23, 23— 1, 23— 2, 23— G 列処理部
24 復号結果判定部
25, 25a 制御部
31, 31a, 31b, 31c 最小値選択部
32 符号演算部
33 LLR算出部
41 α加算部
42 λ加算部
43 最小 k値比較部
44 符号演算部
45 スィッチ
発明を実施するための最良の形態
[0026] 以下に、本発明にかかる通信装置および復号方法の実施の形態を図面に基づい て詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない 。また、本発明にかかる復号方法は、一例として、携帯電話等の無線通信において、 端末および基地局における復号処理として適用可能である。また、衛星通信, HDD ,光通信,無線 LAN,量子暗号,その他の復号処理として適用可能である。
[0027] 実施の形態 1.
まず、本発明に力かる通信装置および復号方法を実現するための LDPC復号器の 、通信システム内における位置付けについて説明する。図 1は、 LDPC符号化器およ び LDPC復号器を含む通信システムの構成例を示す図である。図 1において、送信 側の通信装置 (送信装置と呼ぶ)は、 LDPC符号化器 1と変調器 2を含む構成とし、 受信側の通信装置 (受信装置と呼ぶ)は、復調器 4と LDPC復号器 5を含む構成とす る。
[0028] ここで、 LDPC符号を採用する通信システムにおける符号化処理,復号処理の流 れを簡単に説明する。送信装置内の LDPC符号化器 1では、たとえば、既知の方法 により K行 X N列の生成行列 G (K:情報長, N :符号語長)を生成する。そして、情報 長 Kのメッセージ (m , m , · ··, m )を受け取り、このメッセージおよび上記生成行列
1 2 K
Gを用いて、下記(6)式のように、符号語 Cを生成する。ただし、 LDPC用のノ^ティ 検査行列を H (M行 X N列)とした場合、生成行列 Gは、 GHT=0 (Tは転置行列), H (c , c , · ··, c )T=0を満たす行列となる。
1 2 Ν
C= (m, m, "', m ) G
1 2 K
= (c, c,…, c ) … (6)
1 2 N
[0029] そして、変調器 2では、 LDPC符号化器 1で生成した符号語 Cに対して、 BPSK,多 値 PSK,多値 QAM等の所定の変調方式によりディジタル変調を行い、その変調信 号 x= (x , X , · · ·, x )を、通信路 3を介して受信装置に送信する。
1 2 N
[0030] 一方、受信装置では、復調器 4が、通信路 3を介して受け取った変調信号 y= (y ,
y , · · ·, y )に対して、上記 BPSK,多値 PSK,多値 QAM等の変調方式に応じたデ
2 N
イジタル復調を行い、さらに、 LDPC復号器 5が、復調結果から得られる対数尤度比( LLR)を用いて、後述する本実施の形態の復号アルゴリズムによる繰り返し復号を実 施し、その復号結果として硬判定値 (元のメッセージ m , m , · · ·, mに対応)を出力
1 2 K
する。
[0031] つづいて、本実施の形態の復号アルゴリズムについて説明を行う前に、その前提と なる従来の復号アルゴリズムである「Min-Sumアルゴリズム」について説明する。
[0032] 「Min-Sumアルゴリズム」では、まず、前述した「Sum- Productアルゴリズム」と同様の 初期化ステップを実行し、つぎに、当該「Min-Sumアルゴリズム」の行処理ステップを 実行し、その後、前述した「Sum- Productアルゴリズム」と同様の列処理ステップおよ び停止規範を実行することにより、確率情報の算出処理および更新処理を行う。以 下では、「Sum- Productアルゴリズム」と処理の異なる、「Min-Sumアルゴリズム」の行処 理ステップにつ 、て説明する。
[0033] 図 2は、 LDPC復号器にお!、て「Min-Sumアルゴリズム」の行処理ステップを実行す る場合の行処理部の構成例を示す図である。この行処理部は、パリティ検査行列 H の行重み分の LLR: β (1— ϋを保持するメモリ部 111,各 LLRを大小比較して LLRの mn
最小値を出力する比較部 112を備えた最小値選択部 101と、上記行重み分の LLR の符号を保持するメモリ部 113,各 LLRの符号( +または—)を乗算する乗算器 114 を備えた符号演算部 102と、最小値選択部 101から得られる最小値と符号演算部 10 2から得られる符号の乗算結果(+または—)とを乗算することによって LLR : a (1)を mn 算出する LLR算出部 103と、カゝら構成されている。
[0034] 上記行処理部において、最小値選択部 101の比較部 112は、 2入力(a, b)の比較 器を複数備え、上記メモリ部 111および前段の比較器(1段目の比較器は上記メモリ 部 111のみ)から比較対象の LLRを受け取った各比較器力 「 I a Iく I b I」の場 合は I a Iを出力し、その以外の場合は I b Iを出力することによって、 LLRの絶対 値の最小値を出力する。そして、 LLR算出部 103が、上記最小値と上記符号の乗算 結果とを乗算し、その乗算結果である LLR : a (1)を列処理部へ受け渡す。
mn
[0035] なお、図 3は、 LDPC復号器にお!、て「Min-Sumアルゴリズム」の列処理ステップを
実行する場合の列処理部の構成例を示しており、この列処理部では、パリティ検査行 列 Hの列重みの LLR: a (1)を保持し、各 LLRを加算することにより、繰り返し 1回目の m n
事後値 (1)を出力している。
[0036] (行処理ステップ)
また、上記「Min-Sumアルゴリズム」の行処理を一般ィ匕すると、下記(7)式のように表 すことができる。ここでは、行処理として、各 m, nについて、チェックノード mからビット ノード nへ送るビット nの繰り返し 1回目の LLR: a (1)を、下記(7)式により更新している
[0037] [数 4]
(7)
ただし、 (1-1)
[0038] min | β は、ノ リティ検査行列 Hの m行目において n列目を除く LL
R -. β (1— "の絶対値の最小値を表し、 sgn ^ ϋ)は、 n列目を除く LLR: J8 (1— ϋの mn mn mn 符号を表す。
[0039] 上記のように、行処理ステップを実行後、「Min-Sumアルゴリズム」では、さらに、前 述した「Sum-Productアルゴリズム」と同様の列処理および停止規範に基づく処理を 実行し、最終的な符号結果を得る。
[0040] つぎに、上記「Min-Sumアルゴリズム」における処理の流れを、図 4のフローチャート を用いて簡単に説明する。
[0041] 上記「Min-Sumアルゴリズム」にお!/、ては、まず、受信情報力 受信 LLRを算出し(
ステップ SI, S2)、その結果を初期値としてメモリ部 111に設定し、さらに、繰り返し 回数を 1= 1と初期化する (ステップ S3)。つぎに、繰り返し処理 (ステップ S4 :繰り返し 復号 1回目〜繰り返し復号最終回)として、まず、繰り返し 1回目の復号演算における 行処理を行!ヽ (行処理)、つぎに、繰り返し 1回目の復号演算における列処理を行 ヽ ( 列処理)、その後、繰り返し 1回目で算出した事後値を硬判定し、その判定値を復号 結果として決定し、さらに、ノ^ティ検査を行う(停止規範)。そして、上記停止規範に おいて、ノ^ティ検査結果が OKとなる力 または繰り返し回数が 1=1 となった場合 max
に、最終的にそのときの復号結果を出力する (ステップ S5)。
[0042] このように、上記「Min-Sumアルゴリズム」にお!/、ては、前述した「Sum- Productアル ゴリズム」の行処理、すなわち、(3)式を近似することにより、「Sum- Productァルゴリズ ム」よりも計算量およびメモリ量を削減している。し力しながら、上記「Min-Sumアルゴリ ズム」においては、中間値を保持するために、パリティ検査行列 Hに含まれる" 1 (重 み)"の数に対応する膨大なメモリ量が必要であり、よりメモリ量を削減するためには、 さらなる改良が必要である。
[0043] 以下において説明する本実施の形態の復号アルゴリズムは、上記さらなるメモリ量 の削減および計算量の低減を実現するものであり、たとえば、「Sum-Productアルゴリ ズム」の近似復号法である「Min-Sumアルゴリズム」を改良したアルゴリズムである。
[0044] つづ 、て、本発明に力かる受信装置を構成する LDPC復号器 5の構成、および LD PC復号器 5による復号方法 (復号アルゴリズム)を、図面にしたがって詳細に説明す る。
[0045] 図 5— 1は、本実施の形態の LDPC復号器 5の構成を示す図であり、この LDPC復 号器 5は、受信情報カゝら受信 LLRを算出する受信 LLR算出部 11と本実施の形態の 復号処理を行う復号コア部 12で構成されている。また、復号コア部 12は、復号の途 中結果(中間値)を保持しておくためのメモリで構成された途中結果保持部 21と、本 実施の形態の行処理を実行する行処理部 22と、本実施の形態の列処理を実行する 列処理部 23と、本実施の形態の停止規範として、列処理における事後値の硬判定 およびパリティ検査結果の正誤判定を行う復号結果判定部 24と、復号の繰り返し制 御を行う制御部 25と、を備えている。
[0046] なお、本実施の形態の復号アルゴリズムは、巡回的に最小 k値の LLRの絶対値の みを更新して 、く方法であり、正確な最小値ではなく近似的な最小値を用いて復号 する方法であることから、以降、「巡回近似 minアルゴリズム」と呼ぶこととする。また、 上記最小 k値とは、「最小値から昇順に k番目まで」を表す。
[0047] ここで、上記受信装置にお!/、て実施される「巡回近似 minアルゴリズム」を以下に示 す。
[0048] (初期化ステップ)
まず、繰り返し回数 1= 1および最大繰り返し回数 1 を設定する。さらに、初期時に
max
おける m行目の最小 k値の LLRを β (Q)として、受信 LLR: λを入力し、下記(8)式
mn(i) n
に示すように B を求める。また、初期時における m行目の LLR: β (Q)の符号として
mnw mn
、 sgn ( )を入力し、下記(8)式に示すように Sを求める。
n m
[0049] [数 5]
B β(
sm = Π η(λ η)
neN(m)
n(i) = arg ( min λη |]
neN(m)\{n(l),n(2),...,n(i— 1)}リ IJ
n(0) = φ
…
[0050] ただし、 B は、 m行目の最小 k値の LLR : j8 の絶対値であり、 n (i)は、 B の
mn(i) mnu mnu 中で最小 i番目の LLRの列番号であり、 Sは、 m行目の LLR : β の符号(+または
m mn
一)の積である。
[0051] (行処理ステップ)
つぎに、行処理として、 l≤n≤Nおよび各 mについて、チェックノード m力らビットノ ード nへ送るビット nの繰り返し 1回目の LLR: a (1)を、下記(9)式により更新する。な
mn
お、本実施の形態においては、行処理の開始列は任意とし、最終列まで処理が終了 した段階で、再度最初の列から巡回的に復号処理を行う。
[0052] [数 6]
„= nsgnfe!i ) FTsgn βϋ- n!) . . min [Bmn,
n'eN^ (m)\n
n'eN(m)\n n'eN(m)\n
(9)
[0053] 具体的には、現在の列番号が nの場合、「 <n」を満たす列番号については、 1回 目の列処理で更新された LLR: β (1)の符号の積をとり、また、「 >η」を満たす列 mn
番号については、(1— 1)回目の列処理で更新された LLR: β (1— ϋの符号の積をとり mn
、そして、それらの結果と m行目の最小 k値中の最小の LLR: min [ j8 ,]との乗算結 mn
果を、列番号 nの更新後の LLR: a (1)としている。なお、本実施の形態においては、 mn
さらに、上記 β
mn (1)の符号の積と上記 β
mn (1— 1〉の符号の積と乗算する項を、(1 1)回目 に更新された Sと (1 1)回目に更新された β の符号とを乗算する項に、置き換え m mn
ることとした。これにより、さらに、計算量およびメモリ量を削減できる。なお、上記(9) 式の N (m)は、 m行目の n(i)の集合であり、 N (m) = {n (l) , n (2) , · ··, n (k) }と表 k k
す。
[0054] (列処理ステップ)
つぎに、列処理として、各 m, nについて、ビットノード nからチェックノード mへ送るビ ット nの繰り返し 1回目の LLR: β (1)を、下記(10)式により更新する。
mn
(10)
[0056] 具体的には、列番号 nにおいて、受信 LLR: λ 1回目の行処理で更新された m 行目以外の LLR: a (1)の合計値と、の加算結果を、更新後の LLR: β (1)としている m n mn
。また、上記 S 'と 1回目の列処理で更新された β (1)の符号(+または-)とを乗算す m mn
ることにより、行処理にて使用する Sを更新している。なお、上記(10)式における下 m
の 2つの式は、 B の並べ替え処理 (最小 k値)を規定したものである。
mn(l)
[0057] また、各 nにつ 、て、硬判定のための、ビット nの繰り返し 1回目の事後値 β (1)を下記
(11)式により更新する。
[0058] [数 8] m'eM(n) ー(11)
[0059] (停止規範)
その後、たとえば、ビット nの繰り返し 1回目の事後値 |8 (1)が「 (1)>0」の場合には、 復号結果を「x' = l」とし (χΊま元の送信信号 Xに対応)、一方、「j8 (1)≤0」の場合に は、復号結果を「x'=0」とし、復号結果 χ'=(χ', χ', ···, χ Ίを得る。
n 1 2 Ν
[0060] そして、パリティ検査の結果が「Hx'=0」または繰り返し回数が「1=1 」の場合 (い max
ずれ力 1つの条件を満たしている場合)に、そのときの復号結果 χ'を出力する。なお 、上記 2つの条件のどちらも満たしていない場合は、「1=1+1」とし、上記行処理に戻 り、以降、順に演算を実行する。
[0061] つぎに、上記「巡回近似 minアルゴリズム」を実行する LDPC復号器 5の特徴的な動 作を、構成図を用いて具体的に説明する。
[0062] 図 6は、上記「巡回近似 minアルゴリズム」にお 、て行処理を実行する行処理部 22 の構成例を示す図であり、この行処理部 22は、最小値選択部 31と符号演算部 32と LLR算出部 33から構成されている。なお、図示の MinlLLR(m行目における最小 の LLR)は B であり、 Min2LLR(m行目における最小 2番目の LLR)は B であり mn(l) mn(2)
、それぞれ途中結果保持部 21に保持された値である。また、図示の Sおよび「(1— m
1)回目の m行 n列目の LLR: β の符号」についても、それぞれ途中結果保持部 21 mn
に保持された値である。
[0063] 最小値選択部 31では、行処理の対象となっている列番号 nと MinlLLR (B )の
mn(l) 列番号 n ( l)とが一致している場合は、 Min2LLR (B )を選択し、それ以外の場合
mn(2)
は、 MinlLLR (B )を選択し、出力する。また、符号演算部 32は、「(1—1)回目の
mn(l)
列処理で更新された S」および「( 1 1)回目の m行 n列目の LLR: β の符号」を乗
m mn
算し、その結果として S 'を出力する。このとき、 S
m m Ίま、途中結果保持部 21に保持さ れる。また、 LLR算出部 33は、最小値選択部 31から得られる最小の LLRと符号演 算部 32から得られる符号の乗算結果 S ' ( +または—)とを乗算することによって、 L
m
LR : a (1)を算出する。この構成により、「Min-Sumアルゴリズム」においては行重み分 mn
だけ必要であったメモリを、 k値分に縮小できる。
[0064] 図 7— 1は、上記「巡回近似 minアルゴリズム」において列処理を実行する列処理部 23の構成例を示す図であり、この列処理部 23は、 α加算部 41とえ加算部 42と最小 k値比較部 43と符号演算部 44から構成されている。なお、本実施の形態では、 k= 3 の場合を一例として記載している。また、図示の列重み分の LLR, a , λ , S ' , M
mn n m inlLLR, Min2LLR, Min3LLR (m行目における最小 3番目の LLR)は、それぞれ 途中結果保持部 21に保持された値である。
[0065] 上記列処理部 23では、 a加算部 41が、 1回目の行処理で更新された m行目以外 のすベての LLR : a (1)を加算し、さらに、 λ加算部 42が、 α加算部 41による加算結
m n
果に受信 LLR : λを加算し、 13 (1)を出力する。そして、最小 k値比較部 43 (k= 3)は
n mn
、 I β α) Iを受け取る。ここで、図 7—1に図示はしていないが、たとえば、列処理の mn
対象となる n列目の nと、 MinlLLR, Min2LLR, Min3LLRにそれぞれ保持されて いる B , B , B に対応する列番号を示す n ( l) , n (2) , n (3)のいずれかが一 mn(l) mn(2) mn(3)
致した場合、 n=n (i)となる B を間引きし、図 8に示すような操作を行う。具体的に
mn(i)
は、 Min2LLRに保持されている情報を削除し、 Min3LLRに保持されている情報を Min2LLRに移動し、さらに、 Min3LLRには、たとえば(16ビットの場合)、最大値" FFFF"を格納する。これにより、処理対象の列を除いた比較処理が可能となるととも に、少なくとも Min3LLRが列処理において必ず更新されることになる。この処理後、 図 7— 1に示すとおり、 I j8
mn (1) Iと、 MinlLLR, Min2LLR, Min3LLRと、をそれ ぞれ比較し、「 I j8 (1) Iく Min3LLR」であれば、最小 3値の LLRを更新する。一方
、 え加算部 42が出力する |8 (1)の符号を「1回目の m行 η列目の LLR : |8 (1)の符号」と
mn mn
して途中結果保持部 21に保持し、さら〖こ、符号演算部 44が、 1回目の行処理で更新 された S 'と上記 j8 (1)の符号とを乗算し、その結果を用いて途中結果保持部 21に保 m mn
持された Sを更新する。なお、 I j8 (1) Iと MinlLLR, Min2LLR, Min3LLRとの
m mn
比較の際に、 I j8 (1) Iを B の中心の値である Min2LLRと最初に比較し、それ以
mn mnu
降、図示のように、ツリー状に比較するようにした力 たとえば、最小値である MinlL LRから比較する場合に比べ、実行時間が { (k+ l)Z2}Zk(kが奇数の場合)となる 効果がある。また、 kが偶数の場合には、 B の中心の値は 2個になる力 最初に比
mnu
較を開始する対象は、そのいずれであってもよい。 kが偶数の場合は、最小値である MinlLLR力 比較する場合に比べ、実行時間が {kZ2+ l}Zk(kが偶数の場合) となる効果がある。
[0066] また、上記と同じ処理を、図 7— 2に示す構成でも実現することができ、その際、 a 加算部 41では、列重み分のすべての LLRの加算のみを行い、その後、 λ加算部 42 でえの加算を行い、その結果を復号結果判定部 24に出力するとともに、 m行目の L LRである α
mnの減算を行う。このような手順でも上記処理の手順と同一の結果を得る ことができる。この際の LDPC符号器の構成は図 5— 2のようになる。
[0067] つぎに、本実施の形態の「巡回近似 minアルゴリズム」における処理の流れを、図 9 のフローチャートを用いて説明する。
[0068] 上記「巡回近似 minアルゴリズム」にお ヽては、まず、受信 LLR計算部 11が、受信 情報力も受信 LLRを算出し (ステップ Sl l, S 12)、その結果を初期値として途中結 果保持部 21に設定し (ステップ S13)、さらに、制御部 25が、繰り返し回数を 1= 1と初 期化する (ステップ S 13)。また、列処理部 23のうち、 λ加算部 42,最小 k値比較部 4 3,符号演算部 44を用いて、 n= lから n=Nまで巡回的に、上記(8)式の演算を行う (ステップ S 13)。
[0069] つぎに、復号コア部 12は、制御部 25の制御により、 1回目(1回目〜最終回)の繰り 返し復号演算を行う(ステップ S 14)。具体的には、繰り返し復号の 1回目として、行処 理部 22が、 1列目に" 1"を持つ行に対して行処理 (受信 LLRを使用)を行い、その結 果を列処理部 23へ受け渡す。その後、列処理部 23が、 1列目の列処理を行い、そ
の結果である B と Sを、途中結果保持部 21に保持する(更新する)。以降、 2列目 , 3列目, · '·Ν列目の順に、上記と同様の処理を行い、それぞれ Β と Sを、途中結
mn(i) m
果保持部 21に保持する (繰り返し復号 1回目に相当)。その後、繰り返し復号の 2回 目以降は、 1つ前の処理で更新された LLRおよび Sを用いて行処理を行い、それ以
m
外は、上記 1回目と同様に復号処理を行う。
[0070] また、上記 1回目の繰り返し復号を実施後、復号結果判定部 24が、繰り返し 1回目で 算出した事後値を硬判定し、その判定値を復号結果 として決定し、さらにパリティ 検査を行う(停止規範)。そして、この停止規範において、パリティ検査結果が OK(「 Hx' =0」)となる力、または繰り返し回数が 1=1 となった場合に、最終的にそのとき
max
の復号結果 χ'を出力する (ステップ S15)。なお、上記 2つの条件を満たしていない 場合は、制御部 25が 1=1+ 1とし、復号コア部 12においては、(1+ 1)回目の繰り返し 復号を実行する。
[0071] つぎに、列番号の表記方法によるメモリサイズの削減について説明する。図 10は、 本実施の形態の列番号表記を示す図である。「巡回近似 minアルゴリズム」では、たと えば、列番号を n=0から昇順に表記することとした。また、従来、列番号 nを、パリティ 検査行列の列番号そのもの(絶対列番号)で表現して!/、たが、本実施の形態にぉ 、 ては、ノ^ティ検査行列における m行目の" 1"の最小の列番号を n=0とし、 m行目の 次の" 1"の列番号を n=lとし、以降、" 1"毎に n= 2, 3,…とする相対的列番号で表 現することとした。すなわち、従来は、ノ^ティ検査行列の" 1"の絶対列番号が、たと えば、 "32768"である場合、列番号を表現するために必要なビット数が 15ビットとな る力 一方、本実施の形態においては、たとえば、行重みが 8個であれば 0〜7を表 現できる 3ビットまで、行重みが 16個であれば 0〜15を表現できる 4ビットまで、メモリ サイズを縮小することできる。
[0072] 以上にように、本実施の形態では、 LDPC復号において、行処理のための LLRの 絶対値 I β Iを、巡回構造により行単位に最小 k値に縮小することとしたので、そ
mn
れらを保持するためのメモリ量を大幅に削減することができる。たとえば、行重みが 2 0で k= 3の場合は、従来と比較してメモリ量を 3Z20に削減することができる。また、 列番号を、絶対列番号 (1,3,10,15…;)から相対的列番号 (0,1,2,3· ··)に変更すること
により、さらにメモリ量を削減することができる。
[0073] また、本実施の形態の「巡回近似 minアルゴリズム」にお 、ては、行処理と列処理に よる確率情報 (LLR)の算出および更新を巡回的に 1ビットずつ行うこととした。これに より、従来の「Min- Sumアルゴリズム」よりも確率伝搬を効率的に行うことができる。
[0074] たとえば、図 11、図 12に、「巡回近似 minアルゴリズム」と「Min-Sumアルゴリズム」の 比較シミュレーションの結果を示す。 LDPC符号は、イレギュラー EG符号で最大行 重みは 8である。図 11においては、復号繰り返し回数を 100回に固定し、「巡回近似 minアルゴリズム」の保存する最小値の個数を 3, 4, 5個と変えて、「Min-Sumアルゴリ ズム」と性能比較を行った場合を表している。図中、 CyclicXminは最小 X値を保持し た「巡回近似 minアルゴリズム」を表し、 Min-Sumは「Min-Sumアルゴリズム」を表す。図 11からも明らかなように、本実施の形態の「巡回近似 minアルゴリズム」によって、メモ リを削減しつつ復号性能が劣化しないことが確認できる。
[0075] また、図 12には、「巡回近似 minアルゴリズム」と「Min-Sumアルゴリズム」において、 復号が成功するまでに要した平均繰り返し回数を比較した結果を示している。図中、 CyclicXminは最小 X値を保存した「巡回近似 minアルゴリズム」を表し、 Min-Sumは「M in-Sumアルゴリズム」を表す。この結果力らも明らかなように、「巡回近似 minアルゴリ ズム」では確率伝搬が効率的に行われ、復号繰り返し回数が大幅に削減されている 。すなわち、本実施の形態の「巡回近似 minアルゴリズム」により、復号処理における 計算量を大幅に低減させることができる。
[0076] なお、本実施の形態において、行処理の演算対象の LLRは、 1値である力 kの個 数は、 2値以上であれば何値でもよい。また、本実施の形態においては、行処理と列 処理とを交互に 1回ずつ実行し、これに応じて、行処理と列処理による確率情報 (LL R)の更新を 1ビットずつ巡回的に行う場合について説明したが、これに限定されるも のではなぐ行処理を複数回実行した後、列処理を複数回実行するようにしてもよい 。すなわち、行処理と列処理による確率情報 (LLR)の算出および更新を巡回的に複 数ビットずつ行うようにしてもよ 、。
[0077] 実施の形態 2.
つづいて、実施の形態 2の受信装置および復号方法について説明する。本実施の
形態の LDPC復号は、行処理と列処理による確率情報 (LLR)の算出および更新を 、 1ビットずつまたは予め定めた複数ビットずつ行う場合に適用可能であり、たとえば 、演算処理を並列化することにより、繰り返し回数の低減を図る。なお、本実施の形 態においては、途中結果保持部の B および Sを、並列化の数にかかわらず 1セッ mn(i) m
トとし、並列化されたすべての処理部が同一の B cおよび Sを更新していぐいわゆ mn m
る「Overlapped」された B cおよび Sを用いた「巡回近似 minアルゴリズム」を実行する mn m
。以降、本実施の形態の復号アルゴリズムを、「Overlapped巡回近似 minアルゴリズム 」と呼ぶ。
[0078] ここで、本実施の形態の受信装置にお!/、て実施される「Overlapped巡回近似 minァ ルゴリズム」を以下に示す。
[0079] (初期化ステップ)
まず、繰り返し回数 1= 1および最大繰り返し回数 1
maxを設定する。さらに、初期時に おける m行目の最小 k値の LLRを β (Q)として、受信 LLR: λを入力し、下記(12) mn(i) n
式に示すように B cを求める。また、初期時における m行目の LLR: β (Q)の符号と mn(i) mn して、 sgn ( )を入力し、下記(12)式に示すように Sを求める。
n m
[0080] [数 9]
Ν ί 、 、 r
(m)\{n(l),n(2),".,n (卜 j 1)} ll Vi e [l,k]
n(i) = arg min ||λ
neN(m)\{n(l),n(2),...,n(i— 1)} η| 11
n(0) = φ
- (12)
[0081] ただし、 B cは、 m行目の最小 k値の LLR: |8 の絶対値であり、並列処理の際 mn(i) mn(i)
に共通に用いられる。また、 n (i)は、 B cの中で最小 i番目の LLRの列番号である。
mn、リ
[0082] (行処理ステップ)
つぎに、行処理として、 0≤g≤G—l, g -N + l≤n≤(g+ l) -Nおよび各 mにつ
G G
いて、チェックノード mからビットノード nへ送るビット nの繰り返し 1回目の LLR : α (1)を mn
、下記(13)式により更新する。なお、 Gは並列数であり、 Nは並列化された各復号
G
回路が処理する列数である。また、 G'N =Nである。また、本実施の形態において g
は、各行処理の開始列は任意とし、最終列まで処理が終了した段階で、再度最初の 列から巡回的に復号処理を行う。
[0083] [数 10]
•••(13)
[0084] 具体的には、たとえば、列数: N毎に G個に分割された各列郡にそれぞれ割り当て
G
られた G個の行処理部力 並列に行処理を実行する。なお、 G個の行処理部が並列 に処理を行い、すべての処理部が同一の B cを用いる以外は、前述した「巡回近似 mn
minアルゴリズム」と同様に動作する。
[0085] (列処理ステップ)
つぎに、列処理として、 0≤g≤G—l, g-N + l≤n≤ (g+ 1) ·Νおよび各 mにつ
G G
いて、ビットノード nからチェックノード mへ送るビット nの繰り返し 1回目の LLR: β α)を mn
、下記(14)式により更新する。すなわち、本実施の形態においては、上記のように並 列に行処理が行われた後の各列について、並列に、下記(14)式に示す列処理を実 行する。
[0086] [数 11]
B^nfn = min IB βϊ„ ,Vi e [l,k]
^ n'eNk (m)\{n(l),n(2),...,n(i-l)>n(i)}L
•••(14)
[0087] また、各 nにつ 、て、硬判定のための、ビット nの繰り返し 1回目の事後値 β η (1)を下記
(15)式により更新する。
[0089] なお、停止規範については、前述した「巡回近似 minアルゴリズム」と同様である。
[0090] つづ!/、て、上記「Overlapped巡回近似 minアルゴリズム」を実現する実施の形態 2の LDPC復号器 5の構成および動作について説明する。
[0091] 図 13は、本実施の形態の LDPC復号器 5の構成例を示す図であり、受信情報から 受信 LLRを算出する受信 LLR算出部 11と本実施の形態の復号処理を行う復号コア 部 12aで構成されている。また、復号コア部 12aは、復号の途中結果(中間値)を保 持しておくためのメモリで構成された途中結果保持部 21aと、本実施の形態の行処 理 (並列処理)を実行する行処理部 22— 1〜22— Gと、本実施の形態の列処理 (並 列処理)を実行する列処理部 23— 1〜23— Gと、本実施の形態の停止規範として、 列処理における事後値の硬判定およびパリティ検査結果の正誤判定を行う復号結 果判定部 24と、復号の繰り返し制御を行う制御部 25aと、を備えている。
[0092] 図 13において、本実施の形態の LDPC復号器 5は、各行処理部および各列処理 部が並列に処理を行う際、上記(12)式, (13)式, (14)式に従って、途中結果保持 部 21aの B eおよび Sを共通に使用し、それぞれが更新する。この並列処理により、 mn m
B eおよび Sは、並列数に応じて急速に更新され、それに伴って、復号の繰り返し回 mn m
数を大幅に削減することができる。
[0093] なお、本実施の形態では、並列処理において、同一クロックで同一行の演算が発 生し、同一ノ ッファを参照するような問題が生じる場合には、たとえば、各処理部にメ モリアクセスの優先順位を設定する、メモリバンクを区切る、シフトレジスタを用いてメ モリアクセスのタイミングを調整する、等の対策を行う。
[0094] 以上のように、本実施の形態の「Overlapped巡回近似 minアルゴリズム」は、前述し
た「巡回近似 minアルゴリズム」を応用し、行処理および列処理をそれぞれ並列に実 行することとした。また、並列に実行される各列処理において更新される最小 k値を保 持する途中結果保持部を共有し、並列に実行される各列処理においてそれぞれ最 小 k値を更新することとした。これにより、「Min-Sumアルゴリズム」および前述した実施 の形態 1と比較して、復号の繰り返し回数を大幅に削減することができる。
[0095] 図 14は、繰り返し回数についての性能比較を示す図である。詳細には、並列数を 2 とした場合の「Overlapped巡回近似 minアルゴリズム」、「巡回近似 minアルゴリズム」、 「Min-Sumアルゴリズム」について、復号の繰り返し回数を固定した状態で、それぞれ の復号性能を比較した結果である。図 14において、復号の繰り返し回数が少なく制 限された場合、「巡回近似 minアルゴリズム」は、従来法である「Min-Sumアルゴリズム 」と比較して、復号性能が高いことが確認でき、さら〖こ、 「Overlapped巡回近似 minアル ゴリズム」は、「巡回近似 minアルゴリズム」の半分の復号繰り返し回数で同程度の復 号性能を持つことが確認できる。なお、図 14においては、並列数を 2としたため、復 号の繰り返し回数が半分程度であった力 「Overlapped巡回近似 minアルゴリズム」を 用いた場合、繰り返し回数は、「巡回近似 minアルゴリズム」の「1Z並列数」となる。
[0096] 実施の形態 3.
つづいて、実施の形態 3の受信装置および復号方法について説明する。本実施の 形態にお 、ては、「Min-Sumアルゴリズム」を応用した既知の復号アルゴリズムである 「Normalized BP-basedアルゴリズム」に対して、実施の形態 1の「巡回近似 minァルゴ リズム」または実施の形態 2の「Overlapped巡回近似 minアルゴリズム」における、巡回 的に最小 k値の LLRの絶対値のみを更新する処理、および近似的な最小値を用い た復号処理、を適用する。
[0097] ここで、本実施の形態の復号アルゴリズムにつ 、て説明を行う前に、その前提となる 既知の「Normalized BP-basedアルゴリズム」を以下に示す。なお、ここでは、「Min-S umアルゴリズム」と処理が異なる、行処理について説明する。
[0098] (行処理ステップ)
たとえば、「Normalized BP-basedアルゴリズム」の行処理を一般化すると、下記(16 )式のように表すことができる。ここでは、行処理として、各 m, nについて、繰り返し 1回
目の LLR : a (1)を、下記(16)式により更新している。また、式中の Aは正規ィ匕ファタ mn
ターと呼ばれる定数であり、「Normalized BP- basedアルゴリズム」では、「Min- Sumァ ルゴリズム」により得られる繰り返し 1回目の LLRを、正規ィ匕ファクター Aにより補正して いる。
[0099] [数 13]
(16)
[0100] つづ 、て、上記「Normalized BP-basedアルゴリズム」に対して「巡回近似 minァルゴ リズム」または「Overlapped巡回近似 minアルゴリズム」を適用した場合の復号アルゴリ ズムを以下に示す。なお、本実施の形態では、前述した「巡回近似 minアルゴリズム」 または「Overlapped巡回近似 minアルゴリズム」と同様の処理 (初期ィ 列処理,停止 規範)についてはその説明を省略する。以下では、前述した「巡回近似 minァルゴリズ ム」または「Overlapped巡回近似 minアルゴリズム」と処理の異なる、行処理につ!、て 説明する。
[0101] (巡回近似 minアルゴリズムを適用した場合の行処理ステップ)
たとえば、「巡回近似 minアルゴリズム」を適用した場合の本実施の形態の復号アル ゴリズムの行処理を一般ィ匕すると、下記(17)式のように表すことができる。ここでは、 行処理として、各 m, nについて、繰り返し 1回目の LLR : a (1)を、下記(17)式により mn
更新している。すなわち、下記(17)式においては、「巡回近似 minアルゴリズム」によ り得られる繰り返し 1回目の LLRを、正規ィ匕ファクター Aにより補正している。なお、本
実施の形態においては、行処理の開始列は任意とし、最終列まで処理が終了した段 階で、再度最初の列から巡回的に復号処理を行う。
= Asm - sgn( ^1)). , min [Bmn,]
- (17)
[0103] (Overlapped巡回近似 minアルゴリズムを適用した場合の行処理ステップ)
また、 Overlapped巡回近似 minアルゴリズム」を適用した場合の本実施の形態の復 号アルゴリズムの行処理を一般ィ匕すると、下記(18)式のように表すことができる。ここ では、行処理として、 0≤g≤G— l, g -N + l≤n≤(g+ l) -Nおよび各 mについて
G G
、繰り返し 1回目の LLR : a (1)を、下記(18)式により更新している。すなわち、下記(1 mn
8)式においては、「Overlapped巡回近似 minアルゴリズム」により得られる繰り返し 1回 目の LLRを、正規化ファクター Aにより補正している。
[0104] [数 15]
(18)
[0105] なお、本実施の形態の復号アルゴリズムでは、上記のように行処理ステップを実行 後、さらに、前述した「巡回近似 minアルゴリズム」または「Overlapped巡回近似 minァ ルゴリズム」と同様の列処理および停止規範に基づく処理を実行し、最終的な符号結
果を得ている。
[0106] つづいて、上記本実施の形態の復号アルゴリズムを実行する LDPC復号器 5の行 処理部の特徴的な動作を、図面を用いて説明する。なお、 LDPC復号器 5の全体構 成については、前述した図 5または図 13と同様である。
[0107] 図 15は、本実施の形態における行処理を実行する行処理部 22, 22— 1〜22— G の構成例を示す図であり、この行処理部は、最小値選択部 3 laを備えている。なお、 前述した図 6と同様の構成については、同一の符号を付してその説明を省略する。 本実施の形態の最小値選択部 3 laでは、たとえば、途中結果保持部 21 (または 21a )力も読み出した LLRの最小値(MinlLLRまたは Min2LLR)を、正規化ファクター Aを用いて補正している。具体的には、 LLRの最小値を Aで除算することにより正規 化を行っている。
[0108] 以上のように、本実施の形態においては、「Min-Sumアルゴリズム」よりも性能が良 好とされて 、る「Normalized BP-basedアルゴリズム」に「巡回近似 minアルゴリズム」ま たは「Overlapped巡回近似 minアルゴリズム」を適用することとした。これにより、前述し た実施の形態 1, 2と同様の効果が得られるとともに、さらに、ほぼ「Min- Sumアルゴリ ズム」と同等の回路量にもかかわらず「Sum- Productアルゴリズム」に近い性能を実現 できる。
[0109] なお、本実施の形態においては、「Normalized BP-basedアルゴリズム」に「巡回近 似 minアルゴリズム」または「Overlapped巡回近似 minアルゴリズム」を適用することとし た力 これに限らず、既知の「Offset BP-basedアルゴリズム」、またはそれ以外のァ ルゴリズムに巡回近似 minアルゴリズム」または「Overlapped巡回近似 minアルゴリズム 」を適用することも可能であり、この場合についても、上記と同様の効果を得ることが できる。
[0110] 実施の形態 4.
つづいて、実施の形態 4の受信装置および復号方法について説明する。本実施の 形態においては、「Normalized BP- basedアルゴリズム」や「Offset BP- basedアルゴリ ズム」よりも LLR: β の補正性能が優れて 、る既知の復号アルゴリズムである「 δ m mn
inアルゴリズム」に対して、実施の形態 1の「巡回近似 minアルゴリズム」または実施の
形態 2の「Overlapped巡回近似 minアルゴリズム」における、巡回的に最小 k値の LLR の絶対値のみを更新する処理、および近似的な最小値を用いた復号処理、を適用 する。
[0111] ここで、本実施の形態の復号アルゴリズムについて説明を行う前に、その前提となる 既知の「 δ minアルゴリズム」を以下に示す。なお、ここでは、「Min-Sumアルゴリズム 」と処理が異なる、行処理について説明する。
[0112] (行処理ステップ)
たとえば、「 δ minアルゴリズム」の行処理を一般ィ匕すると、下記(19)式のように表 すことができる。ここでは、行処理として、各 m, nについて、繰り返し 1回目の LLR : a (1)を、下記(19)式により更新して 、る。「 δ minアルゴリズム」の行処理では、繰り返 mn
し 1—1回目に更新された LLRの絶対値: I (i— 1〉 ら、 Θ
mn Iか の演算によりひ (1)を算 mn 出する。
nsA
a0b一 max( min(a, b) - Δ, 0 )
A≡max(0.9- | a - b | /2, 0)
•••( 19)
[0114] つづ!/、て、上記「 δ minアルゴリズム」に対して「巡回近似 minアルゴリズム」または「 Overlapped巡回近似 minアルゴリズム」を適用した場合の復号アルゴリズムを以下に 示す。なお、本実施の形態では、前述した「巡回近似 minアルゴリズム」または「Overla pped巡回近似 minアルゴリズム」と同様の処理 (初期化,列処理,停止規範)について はその説明を省略する。以下では、前述した「巡回近似 minアルゴリズム」または「Ove rlapped巡回近似 minアルゴリズム」と処理の異なる、行処理について説明する。また、 本実施の形態においては、行処理の開始列は任意とし、最終列まで処理が終了した 段階で、再度最初の列から巡回的に復号処理を行う。
[0115] (巡回近似 minアルゴリズムを適用した場合の行処理ステップ)
たとえば、「巡回近似 minアルゴリズム」を適用した場合の本実施の形態の復号アル ゴリズムの行処理を一般ィ匕すると、下記(20)式のように表すことができる。ここでは、 行処理として、 l≤n≤Nおよび各 mについて、繰り返し 1回目の LLR : a α)を、下記( mn
20)式により更新している。また、この復号アルゴリズムの行処理では、繰り返し 1—1 回目に更新された最小 k値の LLRの絶対値: B から、 Θの演算により α (1)を算出 mn mn する。
[0116] [数 17] い
= Sm ' sgn(P ;') Θ [Br
n'GNk (m)\n n , GNk (m)、\\n U
ー(20)
[0117] (Overlapped巡回近似 minアルゴリズムを適用した場合の行処理ステップ)
また、 Overlapped巡回近似 minアルゴリズム」を適用した場合の本実施の形態の復 号アルゴリズムの行処理を一般ィ匕すると、下記(21)式のように表すことができる。ここ では、行処理として、 0≤g≤G— l, g -N + l≤n≤(g+ l) -Nおよび各 mについて
G G
、繰り返し 1回目の LLR : a (1)を、下記(21)式により更新している。また、この復号ァ mn
ルゴリズムの行処理では、繰り返し 1 1回目に並列処理にて更新された最小 k値の L LRの絶対値: B cから、 Θの演算により α (1)を算出する。
mn mn
[0118] [数 18] い Efsgnte,). nsgnfe'1))' , 、'。、' [B 'j
η'εΝ(ιτι)\η n'ENk (m)\n
n'eN(m)\n
(21)
[0119] なお、本実施の形態の復号アルゴリズムでは、上記のように行処理ステップを実行
後、さらに、前述した「巡回近似 minアルゴリズム」または「Overlapped巡回近似 minァ ルゴリズム」と同様の列処理および停止規範に基づく処理を実行し、最終的な符号結 果を得ている。
[0120] つづいて、上記本実施の形態の復号アルゴリズムを実行する LDPC復号器 5の行 処理部の特徴的な動作を、図面を用いて説明する。なお、 LDPC復号器 5の全体構 成については、前述した図 5または図 13と同様である。
[0121] 図 16は、本実施の形態における行処理を実行する行処理部 22, 22— 1〜22— G の構成例を示す図であり、この行処理部は、最小値選択部 3 lbを備えている。なお、 前述した図 6と同様の構成については、同一の符号を付してその説明を省略する。ま た、ここでは、一例として、図 5の LDPC復号器 5の場合について説明する力 図 13 の LDPC復号器 5につ 、ても同様に適用可能である。
[0122] 本実施の形態の最小値選択部 3 lbでは、たとえば、途中結果保持部 21から Mini LLR(B ) , Min2LLR (B ) , MinkLLR (B )とそれぞれの列番号を読み出し mn(l) mn(2) mn(k)
、演算部が Θの演算を行う。すなわち、本実施の形態の最小値選択部 31bでは、処 理対象となっている n列目と、途中結果保持部 21に保持された B の列番号 n(k)と mn(k)
、がー致しない B に対して、演算部が、「 δ minアルゴリズム」における以下の演 mn(k)
算を行う。
[0123] たとえば、演算部は、符号を除く更新値 I α (1) I (= Θ [Β ])を下記 (22)式のよ mn mn
うに求める。
- (22)
[0125] また、演算対象の LLRを k値力 最小 3値に限定することで演算量を削減すること ができ、演算部は、符号を除く更新値 I a (1) I (= Θ [Β ,])を下記 (23)式のように mn mn
求める。
[0126] [数 20]
- (23)
[0127] なお、上記では、一例として、演算対象の LLRを k値力 最小 3値に限定した場合 について説明したが、最小 4, 5…値と限定した場合においても同様に適用可能であ る。
[0128] 以上のように、本実施の形態においては、「Min-Sumアルゴリズム」よりも性能が良 好とされて 、る「 δ minアルゴリズム」に「巡回近似 minアルゴリズム」または「Overlapp ed巡回近似 minアルゴリズム」を適用することとした。これにより、前述した実施の形態 1, 2と同様の効果が得られるとともに、さらに、ほぼ「Min-Sumアルゴリズム」と同等の 回路量にもかかわらず「Sum- Productアルゴリズム」に近い性能を実現できる。また、 本実施の形態にお!、ては、行処理用の LLRの絶対値の最小値を、既知の「 δ min アルゴリズム」にて規定された所定の補正式に基づ 、て最適値に補正する場合につ いて記載した力 補正式はこれに限定されるものではなぐ「δ minアルゴリズム」以 外のアルゴリズムにて規定された補正式を用いることとしてもよい。この場合も上記と 同様の効果を得ることができる。
[0129] 図 17は、「δ minアルゴリズム」に対して「巡回近似 minアルゴリズム」または「Overla pped巡回近似 minアルゴリズム」を適用した復号アルゴリズムと、 「Sum- Productァルゴ リズム」と、の比較結果を示す図である。たとえば、 overlap5deltal0は「Overlapped巡 回近似 minアルゴリズム」を適用した本実施の形態の復号アルゴリズム(並列数が 2, 最小 5値, 1= 10)、 Cyclic5delta50は「巡回近似 minアルゴリズム」を適用した本実施 の形態の復号アルゴリズム(並列なし,最小 5値, 1= 50)、 Sum- Product 100は「Sum- Productアルゴリズム」(1= 100)を示し、ほぼ重なって!/、る。この結果から、「 δ minァ ルゴリズム」に対して「巡回近似 minアルゴリズム」または「Overlapped巡回近似 minァ ルゴリズム」を適用することにより、「Sum- Productアルゴリズム」と同程度の性能を持つ
だけでなぐ復号の繰り返し回数についても大幅に削減することができる。
[0130] 実施の形態 5.
つづいて、実施の形態 5の受信装置および復号方法について説明する。本実施の 形態においては、「Sum-Productアルゴリズム」に対して、実施の形態 1の「巡回近似 minアルゴリズム」または実施の形態 2の「Overlapped巡回近似 minアルゴリズム」にお ける、巡回的に最小 k値の LLRの絶対値のみを更新する処理、および近似的な最小 値を用いた復号処理、を適用する。
[0131] ここで、本実施の形態の復号アルゴリズムについて説明を行う前に、その前提となる 既知の「Sum- Productアルゴリズム」を以下に示す。なお、本実施の形態では、数学 関数をテーブルィ匕して演算を行う方法、すなわち、 TLU (テーブルルックアップ)を利 用した一般的な「Sum-Productアルゴリズム」について記載する。また、ここでは、従来 技術にお 、て説明した「Sum- Productアルゴリズム」と処理が異なる、行処理につ!、て 記載する。
[0132] (行処理ステップ(1) )
たとえば、 TLUを利用した「Sum- Productアルゴリズム」の行処理を一般化すると、 下記(24)式のように表すことができる。ここでは、行処理として、各 m, nについて、繰 り返し 1回目の LLR : a (1)を、下記(24)式により更新している。 TLUを利用した「Sum mn
-Productアルゴリズム」の行処理では、繰り返し 1—1回目に更新された LLRの絶対値 : I β I に対して、 TLUを用いた演算を行っている。
mn
TLU(In )≡ TLU(I,,TLU(I2,·■ TLU(I|A|—】,I|A|
neA )》
Λ a , b 、
TLU(a,b)≡2tanh tanh— · tanh—
2 2
•••(24)
[0134] (行処理ステップ(2) )
また、上記とは異なる方法で、 TLUを利用した「Sum- Productアルゴリズム」の行処
理を実現することもできる。たとえば、上記とは異なる、 TLUを利用した「Sum-Produc tアルゴリズム」の行処理を一般ィ匕すると、下記(25)式のように表すことができる。ここ では、行処理として、各 m, nについて、繰り返し 1回目の LLR: a (1)を、下記(25)式 mn
により更新している。
[0135] [数 22] n'eN(m)\n
n'eN(m)\n
|A|
neA
a≡b≡ min(a,b) + TLU1(| a + b |) - TLU1(| a - b |) ー(25)
[0136] なお、 TLU1 (x)は、下記(26)に基づいて予めテーブルを用意しておく。
TLUl (x) =ln (l + exp (— X) ) - - - (26)
[0137] また、上記 TLUを利用した「Sum- Productアルゴリズム」において、上記(24)式に 示した行処理は、テーブルは大きくなるが演算回数が少ないという特徴があり、一方 、上記(25)に示した行処理は、テーブルは小さくなるが演算回数が多いという特徴 がある。
[0138] つづいて、上記 TLUを利用した「Sum- Productアルゴリズム」に対して「巡回近似 mi nアルゴリズム」を適用した場合の復号アルゴリズムを以下に示す。なお、本実施の形 態では、前述した「巡回近似 minアルゴリズム」と同様の処理 (初期ィ匕,列処理,停止 規範)についてはその説明を省略する。以下では、前述した「巡回近似 minァルゴリズ ム」と処理の異なる、行処理について説明する。また、本実施の形態においては、行 処理の開始列は任意とし、最終列まで処理が終了した段階で、再度最初の列から巡 回的に復号処理を行う。
[0139] (巡回近似 minアルゴリズムを適用した場合の行処理ステップ(1) )
たとえば、上記行処理ステップ(1)に対して「巡回近似 minアルゴリズム」を適用した 場合の本実施の形態の復号アルゴリズムの行処理を一般化すると、下記(27)式のよ うに表すことができる。ここでは、行処理として、 l≤n≤Nおよび各 mについて、繰り 返し 1回目の LLR: a (1)を、下記(27)式により更新している。また、この復号アルゴリ
ズムの行処理では、繰り返し 1 1回目に更新された最小 k値の LLRの絶対値: B ,に mn 対して、 TLUを用いた演算を行っている。
[0140] [数 23] [BmJ
= Sm - sgn(p^). TLU [Bmn -]
n eNk (m)\n
= S . TLU [Bmn,]
n'eNk (m)\nL 」
- (27)
[0141] (巡回近似 minアルゴリズムを適用した場合の行処理ステップ(2) )
また、上記行処理ステップ(2)に対して「巡回近似 minアルゴリズム」を適用した場合 の本実施の形態の復号アルゴリズムの行処理を一般化すると、下記(28)式のように 表すことができる。ここでは、行処理として、 1≤11≤?^ぉょび各111にっぃて、繰り返し 1 回目の LLR : a (1)を、下記(28)式により更新している。
mn
[0142] [数 24] = ). ). [Bmn,]
C ν , n eN (m)\n
n , GN(m)\n n eN(m)\n k '
n'<n n'>n
= Sm . Sgn(Pii- nり). Ξ [B
n eNk (m)\n mJ
- (28)
[0143] つづ!/、て、上記 TLUを利用した「Sum- Productアルゴリズム」に対して「Overlapped 巡回近似 minアルゴリズム」を適用した場合の復号アルゴリズムを以下に示す。なお、 本実施の形態では、前述した「Overlapped巡回近似 minアルゴリズム」と同様の処理( 初期化,列処理,停止規範)についてはその説明を省略する。以下では、前述した「 Overlapped巡回近似 minアルゴリズム」と処理の異なる、行処理について説明する。
[0144] (Overlapped巡回近似 minアルゴリズムを適用した場合の行処理ステップ( 1) )
たとえば、上記行処理ステップ(1)に対して「Overlapped巡回近似 minアルゴリズム」
を適用した場合の本実施の形態の復号アルゴリズムの行処理を一般化すると、下記(
29)式のように表すことができる。ここでは、行処理として、 0≤g≤G— 1, g 'N + 1≤
G
n≤ (g+ 1) ·Νおよび各 mについて、繰り返し 1回目の LLR: a α)を、下記(29)式に
G mn
より更新している。また、この復号アルゴリズムの行処理では、繰り返し 1—1回目に並 列処理にて更新された最小 k値の LLRの絶対値: B cに対して、 TLUを用いた演算 mn
を行っている。
[0145] [数 25]
TLU C
n'eNk (ni)\n
- (29)
[0146] (Overlapped巡回近似 minアルゴリズムを適用した場合の行処理ステップ(2) )
また、上記行処理ステップ(2)に対して「Overlapped巡回近似 minアルゴリズム」を適 用した場合の本実施の形態の復号アルゴリズムの行処理を一般ィ匕すると、下記(30) 式のように表すことができる。ここでは、行処理として、 0≤g≤G- l, g 'N + l≤n≤
G
(g+ 1) ·Νおよび各 mについて、繰り返し 1回目の LLR: a (1)を、下記(30)式により
G mn
更新している。
[0147] [数 26] α (1) (1—1)
, ^ 、、 L B C
Umn' .
n eN"m)\n
n'eN(m)\n n'eN(m)\n
n'<g NG n'>g-NG
: Sm . Sgn( ( ). ( Ξ [B ]
(30)
[0148] つづ 、て、上記本実施の形態の復号アルゴリズムを実行する LDPC復号器 5の行 処理部の特徴的な動作を、図面を用いて説明する。なお、 LDPC復号器 5の全体構 成については、前述した図 5または図 13と同様である。
[0149] 図 18は、本実施の形態における行処理を実行する行処理部 22, 22— 1〜22— G の構成例を示す図であり、この行処理部は、最小値選択部 31cを備えている。なお、 前述した図 6と同様の構成については、同一の符号を付してその説明を省略する。ま た、ここでは、一例として、図 5の LDPC復号器 5の場合について説明する力 図 13 の LDPC復号器 5につ 、ても同様に適用可能である。
[0150] 本実施の形態の最小値選択部 31cでは、たとえば、途中結果保持部 21から Mini LLR(B ), Min2LLR(B ), MinkLLR(B )とそれぞれの列番号を読み出し mn(l) mn(2) mn(k)
、演算部が TLUを用いた演算を行う。すなわち、本実施の形態の最小値選択部 31c では、処理対象となって!/、る n列目と、途中結果保持部 21に保持された B の列番 号 n (k)と、がー致しな!/、B に対して、演算部が、「Sum- Productアルゴリズム」にお mn(kノ
ける以下の演算を行う。
[0151] たとえば、演算部は、符号を除く更新値を下記(31)式のように求める。
[0152] [数 27]
TLU もしくは „,] ー(31)
[0153] また、演算対象の LLRを k値力 最小 3値に限定することで演算量を削減すること ができ、演算部は、符号を除く更新値を下記(32)式のように求める。
[0154] [数 28]
^ (n = n(,)) J J ,] = TLU( (,5,')もしくは ".J ,]= 2 歸) else ( = ) '】=丁^( „(,; (")もしくは^ ^[ ,]= 訓, else „. 」= 。)もしくは" m 」= ,
-(32)
[0155] なお、上記では、一例として、演算対象の LLRを k値力 最小 3値に限定した場合 について説明したが、最小 4, 5…値と限定した場合においても同様に適用可能であ る。
[0156] 以上のように、本実施の形態にぉ 、ては、 TLUを利用した「Sum- Productアルゴリ ズム」に「巡回近似 minアルゴリズム」または「Overlapped巡回近似 minアルゴリズム」を
適用することとした。これにより、他の実施の形態と比較して、計算量およびメモリ量 は多くなるが、復号性能を向上させることができる。なお、本実施の形態においては、
TLUを用いた「Sum- Productアルゴリズム」を例に説明した力 数学関数に対して TL Uを行う他の復号アルゴリズムにおいても同様である。また、本実施の形態において は、行処理用の LLRの絶対値の最小値に対して、既知の「Sum- Productアルゴリズム 」にて規定された TLUを用いた場合について記載した力 TLUはこれに限定される ものではなく、「Sum- Productアルゴリズム」にて規定された TLU以外の TLUを用いる こととしてもよ 、。この場合も上記と同様の効果を得ることができる。
[0157] 実施の形態 6.
つづいて、実施の形態 6の通信装置および復号方法について説明する。本実施の 形態の復号処理は、完全なビット単位のシリアル復号に対応させることにより、さらに 繰り返し回数の低減を図る。
[0158] 前述の実施の形態と同様に、図 5— 1は、本実施の形態の LDPC復号器 5の構成 を示す図であり、この LDPC復号器 5は、受信情報力 受信 LLRを算出する受信 LL R算出部 11と本実施の形態の復号処理を行う復号コア部 12で構成されて ヽる。また 、復号コア部 12は、復号の途中結果(中間値)を保持しておくためのメモリで構成さ れた途中結果保持部 21と、本実施の形態の行処理を実行する行処理部 22と、本実 施の形態の列処理を実行する列処理部 23と、本実施の形態の停止規範として、列 処理における事後値の硬判定およびパリティ検査結果の正誤判定を行う復号結果 判定部 24と、復号の繰り返し制御を行う制御部 25と、を備えている。
[0159] なお、本実施の形態の復号アルゴリズムは、巡回的に最小 k値の LLRの絶対値の みを更新して 、く方法であり、正確な最小値ではなく近似的な最小値を用いて復号 する方法であり、シリアル復号法であることから、以降、「シリアル巡回近似 minァルゴ リズム」と呼ぶこととする。また、上記最小 k値とは、「最小値力も昇順に k番目まで」を 表す。
[0160] ここで、上記受信装置にお!/ヽて実施される「シリアル巡回近似 minアルゴリズム」を以 下に示す。
[0161] (初期化ステップ)
まず、繰り返し回数 1= 1および最大繰り返し回数 1 を設定する。さらに、初期時に
max
おける m行目の最小 k値の LLRを β (Q)として、受信 LLR: λを入力し、下記(33)
mn(i) n
式に示すように B を求める。また、初期時における m行目の LLR: β (Q)の符号とし
mnw mn
て、 sgn( )を入力し、下記(33)式に示すように Sを求める。
n m
[0162] [数 29] nll Vie[l,k]
n(0) = ψ
•••(33)
[0163] ただし、 B は、 m行目の最小 k値の LLR: j8 の絶対値であり、 n(i)は、 B の
mn(i) mnu mnu 中で最小 i番目の LLRの列番号であり、 Sは、 m行目の LLR: β の符号(+または
m mn
一)の積である。
[0164] (行処理ステップ 1)
つぎに、行処理として、 l≤n≤Nおよび各 mについて、チェックノード m力らビットノ ード nへ送るビット nの繰り返し 1回目の LLR: a (1)を、下記(34)式により更新する。な
mn
お、本実施の形態においては、行処理の開始列は任意とし、最終列まで処理が終了 した段階で、再度最初の列から巡回的に復号処理を行う。
[0165] [数 30]
= Sm' . ' min [Bmn
n ^Nk(m)\n
Sm' =Sm-sgn /- 1)
(34)
[0166] 具体的には、現在の列番号が nの場合、「 < n」を満たす列番号については、 1回 目の列処理で更新された LLR: β (1)の符号の積をとり、また、「 >η」を満たす列 番号については、(1— 1)回目の列処理で更新された LLR : β (1— ϋの符号の積をとり mn
、そして、それらの結果と m行目の最小 k値中の最小の LLR : min[ j8 」との乗算結 mn
果を、列番号 nの更新後の LLR: a (1)としている。なお、本実施の形態においては、 mn
さらに、上記 β (1)の符号の積と上記 β (1— 1〉の符号の積と乗算する項を、(1 1)回目 mn mn
に更新された Sと (1 1)回目に更新された β の符号とを乗算する項に、置き換え mn
ることとした :れにより、さらに、計算量およびメモリ量を削減できる。なお、上記(34 )式の N (m)は、 m行目の n (i)の集合であり、 N (m) = {n (l) , n (2) , · · ·, n (k) }と k k
表す。
[0167] (列処理ステップ)
つぎに、列処理として、行処理ステップ 1で行った列番号 nの各 mについて、ビットノ ード nからチェックノード mへ送るビット nの繰り返し 1回目の LLR: β α)を、下記(35) mn
式により更新する。これ以降の列処理ステップおよび行処理ステップ 2は例えば行番 号 mの最も小さ ヽ行番号から順に 1行ずつ計算を実行する。但し実行する行番号の 順番は重複せずにすベての「1」の立って!/ヽる行が実行されれば、どの順番で実行し てもよい。
[0168] [数 31]
ー(35)
[0169] 具体的には、列番号 nにおいて、受信 LLR : , 1回目の行処理で更新された m 行目以外の LLR : a (1)の合計値と、の加算結果を、更新後の LLR: β (1)としている m n mn
。この計算は |8 (1)から、 a (1)を引く事によっても得られる。また、上記 S 'と 1回目の列
処理で更新された β (1)の符号(+または一)とを乗算することにより、行処理にて使 mn
用する Sを更新している。なお、上記(35)式における下の 2つの式は、 B の並べ m mn(i 替え処理 (最小 k値)を規定したものである。
[0170] (行処理ステップ 2)
さらに、再度行処理として、列番号 nの列処理で実行した行と同一の mについて、 チェックノード mからビットノード nへ送るビット nの繰り返し 1回目の LLR: a ' α)を、下 mn 記(36)式により更新する。
[0171] [数 32]
" = *5 sgn(y¾2)'
^ = ^-sgn(^)
ド n mn
•••(36)
[0172] 具体的には再度行処理として、 α ' (1)を更新し、さらにその結果を用いて |8 (1)にそ mn mn の更新した α ' (1)を加算して j8 (1)を更新する。この後、列番号 nのすベての mに対し mn n
て計算が完了するまで列処理ステップに戻り計算を繰り返す。また、列番号 nの検査 行列に "Γが立っている全ての行 mに対して列処理ステップと行処理ステップ 2が処 理終了したら停止規範の処理に移る。
[0173] (停止規範)
その後、たとえば、ビット nの繰り返し 1回目の事後値 |8 (1)が「 (1)>0」の場合には、 復号結果を「χ ' = 1」とし (χΊま元の送信信号 Xに対応)、一方、「j8 (1)≤0」の場合に は、復号結果を「x ' =0」とし、復号結果 χ' = (χ ' , χ ' , · · ·, χ Ίを得る。
n 1 2 Ν
[0174] そして、パリティ検査の結果が「Hx' =0」または繰り返し回数が「1=1 」の場合 (い max ずれ力 1つの条件を満たしている場合)に、そのときの復号結果 χ'を出力する。なお 、上記 2つの条件のどちらも満たしていない場合は、「1=1+ 1」とし、上記行処理ステ ップ 1に戻り、以降、順に演算を実行する。
[0175] つぎに、上記「シリアル巡回近似 minアルゴリズム」を実行する LDPC復号器 5の特 徴的な動作を、構成図を用いて具体的に説明する。
[0176] 前述の実施の形態と同様に、図 6は、上記「シリアル巡回近似 minアルゴリズム」に ぉ ヽて行処理を実行する行処理部 22の構成例を示す図であり、この行処理部 22は 、最小値選択部 31と符号演算部 32と LLR算出部 33から構成されている。なお、図 示の MinlLLR (m行目における最小の LLR)は B であり、 Min2LLR (m行目に
mn(l)
おける最小 2番目の LLR)は B であり、それぞれ途中結果保持部 21に保持された
mn(2)
値である。また、図示の Sおよび「(1 1)回目の m行 n列目の LLR: β の符号」に
m mn
っ 、ても、それぞれ途中結果保持部 21に保持された値である。
[0177] 最小値選択部 31では、行処理の対象となっている列番号 nと MinlLLR (B )の
mn(l) 列番号 n (l)とが一致している場合は、 Min2LLR (B )を選択し、それ以外の場合
mn(2)
は、 MinlLLR (B )を選択し、出力する。また、符号演算部 32は、「(1—1)回目の
mn(l)
列処理で更新された S」および「( 1 1)回目の m行 n列目の LLR: β の符号」を乗
m mn
算し、その結果として S 'を出力する。このとき、 S
m m Ίま、途中結果保持部 21に保持さ れる。また、 LLR算出部 33は、最小値選択部 31から得られる最小の LLRと符号演 算部 32から得られる符号の乗算結果 S ' ( +または—)とを乗算することによって、 L
m
LR : a (1)を算出する。この構成により、「Min-Sumアルゴリズム」においては行重み分 mn
だけ必要であったメモリを、 k値分に縮小できる。
[0178] 図 19は、上記「シリアル巡回近似 minアルゴリズム」において列処理を実行する列処 理部 23の構成例を示す図であり、この列処理部 23は、 α加算部 41とえ加算部 42と 最小 k値比較部 43と符号演算部 44から構成されている。なお、本実施の形態では、 k = 3の場合を一例として記載している。また、図示の列重み分の LLR, α ' , α ,
mn mn λ , S MinlLLR, Min2LLR, Min3LLR (m行目における最小 3番目の LLR) n m
は、それぞれ途中結果保持部 21に保持された値である。
[0179] 上記列処理部 23では、 a加算部 41が、 1回目の行処理で更新された m行目を含め たすベての LLR: a (1)を加算し、さらに、 λ加算部 42が、 α加算部 41による加算結
mn
果に受信 LLR : λを加算し、スィッチ 45が最初にその下のブロックに接続されるよう に制御され、そこから α (1)を引いて |8 (1)を出力する。そして、最小 k値比較部 43 (k
mn mn
= 3)は、 I β
mn (1) Iを受け取る。
[0180] ここで、図 19に図示はしていないが、前述の実施の形態と同様に、たとえば、列処
理の対象となる n列目の nと、 MinlLLR, Min2LLR, Min3LLRにそれぞれ保持さ れている B , B , B に対応する列番号を示す n(l) , n (2) , n (3)のいずれか
mn(l) mn(2) mn(3)
がー致した場合、 n=n (i)となる B を間引きし、図 8に示すような操作を行う。具体
mn(i)
的には、 Min2LLRに保持されている情報を削除し、 Min3LLRに保持されている情 報を Min2LLRに移動し、さらに、 Min3LLRには、たとえば(16ビットの場合)、最大 値" FFFF"を格納する。これにより、処理対象の列を除いた比較処理が可能となると ともに、少なくとも Min3LLRが列処理において必ず更新されることになる。
[0181] この処理後、図 19に示すとおり、 I β (1) Iと、 MinlLLR, Min2LLR, Min3LLR mn
と、をそれぞれ比較し、「 I j8
mn (1) Iく Min3LLR」であれば、最小 3値の LLRを更新 する。一方、 λ加算部 42が出力する β (1)の符号を「1回目の m行 η列目の LLR: β (1
mn mn
)の符号」として途中結果保持部 21に保持し、さらに、符号演算部 44が、 1回目の行処 理で更新された S 'と上記 j8 (1)の符号とを乗算し、その結果を用いて途中結果保持
m mn
部 21に保持された Sを更新する。なお、 I j8 (1) Iと MinlLLR, Min2LLR, Min3 m mn
LLRとの比較の際に、 I |8
mn (1) Iを B の中心の値である Min2LLRと最初に比較し
mn(i)
、それ以降、図示のように、ツリー状に比較するようにした力 たとえば、最小値である MinlLLR力 比較する場合に比べ、実行時間が { (k+ l)Z2}Zk(kが奇数の場 合)となる効果がある。また、 kが偶数の場合には、 B の中心の値は 2個になるが、
mn、リ
最初に比較を開始する対象は、そのいずれであってもよい。 kが偶数の場合は、最小 値である MinlLLR力 比較する場合に比べ、実行時間が {kZ2+ l}Zk(kが偶数 の場合)となる効果がある。この比較結果の MinlLLRと Min2LLRから図 6の回路に よりひ ' (1))を求め |8 (1)と加算して |8 (1)を算出し、スィッチ 45により次の列処理に移る mn mn n
[0182] つぎに、本実施の形態の「シリアル巡回近似 minアルゴリズム」における処理の流れ を、図 9のフローチャートを用いて説明する。なお、図中、「繰り返し復号 1回目」, 「繰 り返し復号 2回目」, ···, 「繰り返し復号最終回」において、「行処理」, 「列処理」, 「行 処理」, ···, 「列処理」と処理されるように記載されている力 本実施の形態において は、「行処理ステップ 1」を処理した後、「列処理ステップ」, 「行処理ステップ 2」を列番 号 nのすベての mに対して計算が完了するまで繰り返す処理を、繰り返すものとする
。即ち、「行処理ステップ 1」, 「列処理ステップ」, 「行処理ステップ 2」, 「列処理ステツ プ」, 「行処理ステップ 2」「列処理ステップ」, · ··, 「行処理ステップ 2」, 「行処理ステツ プ 1」, 「列処理ステップ」, 「行処理ステップ 2」, 「列処理ステップ」, 「行処理ステップ 2」「列処理ステップ」, · ··, 「行処理ステップ 2」と処理されるものとする。
[0183] 上記「シリアル巡回近似 minアルゴリズム」にお 、ては、まず、受信 LLR計算部 11が 、受信情報力も受信 LLRを算出し (ステップ Sl l, S 12)、その結果を初期値として途 中結果保持部 21に設定し (ステップ S13)、さらに、制御部 25が、繰り返し回数を 1= 1と初期化する (ステップ S13)。また、列処理部 23のうち、 λ加算部 42,最小 k値比 較部 43,符号演算部 44を用いて、 n= lから n=Nまで巡回的に、上記(33)式の演 算を行う(ステップ S 13)。
[0184] つぎに、復号コア部 12は、制御部 25の制御により、 1回目(1回目〜最終回)の繰り 返し復号演算を行う(ステップ S 14)。具体的には、繰り返し復号の 1回目として、行処 理部 22が、 1列目に" 1"を持つ行に対して行処理ステップ 1 (受信 LLRを使用)を行 い、その結果を列処理部 23へ受け渡す。その後、列処理部 23が、 1列目の列処理ス テツプを行 ヽ、その結果である B と Sを、途中結果保持部 21に保持する(更新す る)。またその後、行処理部 22が、行処理ステップ 2を行い、その結果を列処理部 23 へ渡し、行処理部 22と列処理部 23によって、列処理ステップと行処理ステップ 2を繰 り返す。以降、 2列目, 3列目, "·Ν列目の順に、上記と同様の処理を行い、それぞれ Β と Sを、途中結果保持部 21に保持する (繰り返し復号 1回目に相当)。その後、 mn(i) m
繰り返し復号の 2回目以降は、 1つ前の処理で更新された LLRおよび Sを用いて行
m
処理を行い、それ以外は、上記 1回目と同様に復号処理を行う。
[0185] また、上記 1回目の繰り返し復号を実施後、復号結果判定部 24が、繰り返し 1回目で 算出した事後値を硬判定し、その判定値を復号結果 として決定し、さらにパリティ 検査を行う(停止規範)。そして、この停止規範において、パリティ検査結果が OK(「 Hx' =0」)となる力、または繰り返し回数が 1=1 となった場合に、最終的にそのとき
max
の復号結果 χ'を出力する (ステップ S15)。なお、上記 2つの条件を満たしていない 場合は、制御部 25が 1=1+ 1とし、復号コア部 12においては、(1+ 1)回目の繰り返し 復号を実行する。
[0186] つぎに、前述の実施の形態と同様に列番号の表記方法によるメモリサイズの削減に ついて説明する。図 10は、本実施の形態の列番号表記を示す図である。「シリアル 巡回近似 minアルゴリズム」では、たとえば、列番号を n=0から昇順に表記することと した。また、従来、列番号 nを、パリティ検査行列の列番号そのもの (絶対列番号)で 表現していた力 本実施の形態においては、ノ^ティ検査行列における m行目の" 1" の最小の列番号を n=0とし、 m行目の次の" 1"の列番号を n=lとし、以降、 "1"毎に n= 2, 3,…とする相対的列番号で表現することとした。すなわち、従来は、パリティ 検査行列の" 1"の絶対列番号が、たとえば、 "32768"である場合、列番号を表現す るために必要なビット数が 15ビットとなる力 一方、本実施の形態においては、たとえ ば、行重みが 8個であれば 0〜7を表現できる 3ビットまで、行重みが 16個であれば 0 〜 15を表現できる 4ビットまで、メモリサイズを縮小することできる。
[0187] 以上にように、本実施の形態では、 LDPC復号において、行処理のための LLRの 絶対値 I β Iを、巡回構造により行単位に最小 k値に縮小することとしたので、そ mn
れらを保持するためのメモリ量を大幅に削減することができる。たとえば、行重みが 2 0で k= 3の場合は、従来と比較してメモリ量を 3Z20に削減することができる。また、 列番号を、絶対列番号 (1,3,10,15…;)から相対的列番号 (0,1,2,3· ··)に変更すること により、さらにメモリ量を削減することができる。
[0188] また、本実施の形態の「シリアル巡回近似 minアルゴリズム」にお 、ては、行処理と 列処理による確率情報 (LLR)の算出および更新を巡回的に 1ビットずつ行うこととし た。これにより、従来の「Min- Sumアルゴリズム」よりも確率伝搬を効率的に行うことが できる。
[0189] また、本実施の形態の「シリアル巡回近似 minアルゴリズム」にお ヽては、行処理ス テツプ 2として、 α ' (1)を更新し、さらにその結果を用いて |8 (1)にその更新した α ' (1) mn mn mn を加算して ι8 (1)を更新するようにしたので、完全なビット単位のシリアル復号に対応さ せることができ、さらに繰り返し回数を削減することができる。
[0190] なお、本実施の形態において、行処理の演算対象の LLRは、 1値である力 kの個 数は、 2値以上であれば何値でもよい。また、本実施の形態においては、行処理ステ ップ 1を実行した後、列処理ステップと行処理ステップ 2とを交互に実行し、これに応
じて、行処理と列処理による確率情報 (LLR)の更新を 1ビットずつ巡回的に行う場合 について説明した力 これに限定されるものではなぐ行処理と列処理による確率情 報 (LLR)の算出および更新を巡回的に複数ビットずつ行うようにしてもよい。
[0191] 実施の形態 7.
つづ 、て、実施の形態 7の受信装置 (通信装置)および復号方法につ!、て説明す る。本実施の形態の LDPC復号は、行処理と列処理による確率情報 (LLR)の算出 および更新を、 1ビットずつまたは予め定めた複数ビットずつ行う場合に適用可能で あり、たとえば、演算処理を並列化することにより、繰り返し回数の低減を図る。なお、 本実施の形態においては、途中結果保持部の B および Sを、並列化の数にかか
mn(i) m
わらず 1セットとし、並列化されたすべての処理部が同一の B cおよび Sを更新して
mn m
いく、いわゆる「Overlapped」された B cおよび Sを用いた「シリアル巡回近似 minアル
mn m
ゴリズム」を実行する。以降、本実施の形態の復号アルゴリズムを、 Overlappedシリア ル巡回近似 minアルゴリズム」と呼ぶ。
[0192] ここで、本実施の形態の受信装置にお!/、て実施される「Overlappedシリアル巡回近 似 minアルゴリズム」を以下に示す。
[0193] (初期化ステップ)
まず、繰り返し回数 1= 1および最大繰り返し回数 1
maxを設定する。さらに、初期時に おける m行目の最小 k値の LLRを β (Q)として、受信 LLR: λを入力し、下記(37)
mn(i) n
式に示すように B cを求める。また、初期時における m行目の LLR: β (Q)の符号と
mn(i) mn
して、 sgn ( )を入力し、下記(37)式に示すように Sを求める。
n m
[0194] [数 33]
Β ' = |β = Nf , min [λη|1 Vi E [l,k]
Sm = Π η(λ
neN(m)
n(i) = arg min |λη I
n€N(m)\{n(l),n(2),.." n(i-l)}u 1
n(0) = φ
- (37)
[0195] ただし、 B cは、 m行目の最小 k値の LLR: |8 の絶対値であり、並列処理の際 nn(i)
に共通に用いられる。また、 n (i)は、 B 0 ^の中で最小 i番目の LLRの列番号である。
nn(i)
[0196] (行処理ステップ 1)
つぎに、行処理として、 0≤g≤G- g -N + l≤n≤ (g+ 1) ·Νおよび各 mにつ いて、チェックノード mからビットノード nへ送るビット nの繰り返し 1回目の LLR : a α)を
mn
、下記(38)式により更新する。なお、 Gは並列数であり、 Nは並列化された各復号
G
回路が処理する列数である。また、 G 'N =Nである。また、本実施の形態において
g
は、各行処理の開始列は任意とし、最終列まで処理が終了した段階で、再度最初の 列から巡回的に復号処理を行う。
[0197] [数 34]
(38)
[0198] 具体的には、たとえば、列数: N毎に G個に分割された各列郡にそれぞれ割り当て
G
られた G個の行処理部力 並列に行処理を実行する。なお、 G個の行処理部が並列 に処理を行い、すべての処理部が同一の B cを用いる以外は、前述した「シリアル巡
mn
回近似 minアルゴリズム」と同様に動作する。
[0199] (列処理ステップ)
つぎに、列処理として、行処理ステップ 1で行った列番号 nの各 mについて、ビットノ ード nからチェックノード mへ送るビット nの繰り返し 1回目の LLR: β α)を、下記(39)
mn
式により更新する。すなわち、本実施の形態においては、上記のように並列に行処理 が行われた後の各列について、並列に、下記(39)式に示す列処理を実行する。た
だし、並列に列処理をする際、処理対象となる列番号 nに対して、これ以降の列処理 ステップおよび行処理ステップ 2は例えば行番号 mの最も小さい行番号カゝら順に 1行 ずつ計算を実行する。但し実行する行番号の順番は重複せずにすベての「1」の立つ て 、る行が実行されれば、どの順番で実行してもよ 、。
[0200] [数 35] mn — ん《 十 J " m'n — Pn amn
(39)
[0201] (行処理ステップ 2)
さらに、再度行処理として、列番号 nの列処理で実行した行と同一の mについて、 チェックノード mからビットノード nへ送るビット nの繰り返し 1回目の LLR: a ' (1)を、下 mn 記 (40)式により更新する。
[0202] [数 36]
" c
,! = Sw'sgn( ?£)' . min B
nf^k {m)\n
= sgn( ¾2)
ド n mn 1 " mn
(40)
[0203] 具体的には再度行処理として、 α ' υ;を更新し、さらにその結果を用いて j8 (1)にそ mn mn の更新した a ' (1)を加算して j8 (1)を更新する。この後、列番号 nのすベての mに対し mn n
て計算が完了するまで列処理ステップに戻り計算を繰り返す。また、列番号 nの検査 行列に "Γが立っている全ての行 mに対して列処理ステップと行処理ステップ 2が処 理終了したら停止規範の処理に移る。
[0204] なお、停止規範にっ 、ては、前述した「シリアル巡回近似 minアルゴリズム」と同様で
ある。
[0205] つづ!/、て、上記「Overlappedシリアル巡回近似 minアルゴリズム」を実現する実施の 形態 7の LDPC復号器 5の構成および動作について説明する。
[0206] 図 13は、前述の実施の形態と同様に、本実施の形態の LDPC復号器 5の構成例 を示す図であり、受信情報力 受信 LLRを算出する受信 LLR算出部 11と本実施の 形態の復号処理を行う復号コア部 12aで構成されている。また、復号コア部 12aは、 復号の途中結果(中間値)を保持しておくためのメモリで構成された途中結果保持部 21aと、本実施の形態の行処理 (並列処理)を実行する行処理部 22— 1〜22— Gと、 本実施の形態の列処理 (並列処理)を実行する列処理部 23— 1〜23— Gと、本実施 の形態の停止規範として、列処理における事後値の硬判定およびパリティ検査結果 の正誤判定を行う復号結果判定部 24と、復号の繰り返し制御を行う制御部 25aと、を 備えている。
[0207] 図 13において、本実施の形態の LDPC復号器 5は、各行処理部および各列処理 部が並列に処理を行う際、上記(37)式、(38)式、(39)式、(40)式に従って、途中 結果保持部 21aの B eおよび Sを共通に使用し、それぞれが更新する。この並列処 mn m
理により、 B eおよび Sは、並列数に応じて急速に更新され、それに伴って、復号の mn m
繰り返し回数を大幅に削減することができる。
[0208] なお、本実施の形態では、並列処理において、同一クロックで同一行の演算が発 生し、同一ノ ッファを参照するような問題が生じる場合には、たとえば、各処理部にメ モリアクセスの優先順位を設定する、メモリバンクを区切る、シフトレジスタを用いてメ モリアクセスのタイミングを調整する、等の対策を行う。
[0209] 以上のように、本実施の形態の「Overlappedシリアル巡回近似 minアルゴリズム」は、 前述した「シリアル巡回近似 minアルゴリズム」を応用し、行処理および列処理をそれ ぞれ並列に実行することとした。また、並列に実行される各列処理において更新され る最小 k値を保持する途中結果保持部を共有し、並列に実行される各列処理にお!ヽ てそれぞれ最小 k値を更新することとした。これ〖こより、「Min-Sumアルゴリズム」および 前述した実施の形態 6と比較して、復号の繰り返し回数を大幅に削減することができ る。
[0210] また、本実施の形態の「Overlappedシリアル巡回近似 minアルゴリズム」にお!/、ては 、行処理ステップ 2として、 ひ ' (1)を更新し、さらにその結果を用いて |8 (1)にその更新 mn mn
した α ' (1)を加算して j8 (1)を更新するようにしたので、完全なビット単位のシリアル復 mn n
号に対応させることができ、前述した実施の形態 2と比較して、さらに繰り返し回数を 肖 IJ減することがでさる。
[0211] 実施の形態 8.
つづ 、て、実施の形態 8の受信装置 (通信装置)および復号方法につ!、て説明す る。本実施の形態においては、「Min-Sumアルゴリズム」を応用した既知の復号ァルゴ リズムである「Normalized BP-basedアルゴリズム」に対して、実施の形態 6の「シリア ル巡回近似 minアルゴリズム」または実施の形態 7の「Overlappedシリアル巡回近似 mi nアルゴリズム」における、巡回的に最小 k値の LLRの絶対値のみを更新する処理、 および近似的な最小値を用いた復号処理、を適用する。
[0212] ここで、本実施の形態の復号アルゴリズムについて説明を行う前に、その前提となる 既知の「Normalized BP-basedアルゴリズム」を以下に示す。なお、ここでは、「Min-S umアルゴリズム」と処理が異なる、行処理について説明する。
[0213] (行処理ステップ 1)
たとえば、「Normalized BP-basedアルゴリズム」の行処理ステップ 1を一般化すると 、下記 (41)式のように表すことができる。ここでは、行処理ステップ 1として、各 m, n について、繰り返し 1回目の LLR : a (1)を、下記 (41)式により更新している。また、式 mn
中の Aは正規化ファクターと呼ばれる定数であり、「Normalized BP-basedァルゴリズ ム」では、「Min-Sumアルゴリズム」により得られる繰り返し 1回目の LLRを、正規化ファ クタ一 Aにより補正している。
(41 )
[0215] つづいて、上記「Normalized BP-basedアルゴリズム」に対して「シリアル巡回近似 m inアルゴリズム」または「Overlappedシリアル巡回近似 minアルゴリズム」を適用した場 合の復号アルゴリズムを以下に示す。なお、本実施の形態では、前述した「シリアル 巡回近似 minアルゴリズム」または「Overlappedシリアル巡回近似 minアルゴリズム」と 同様の処理 (初期化,列処理,停止規範)についてはその説明を省略する。以下で は、前述した「シリアル巡回近似 minアルゴリズム」または「Overlappedシリアル巡回近 似 minアルゴリズム」と処理の異なる、行処理ステップ 1につ 、て説明する。
[0216] (シリアル巡回近似 minアルゴリズムを適用した場合の行処理ステップ 1)
たとえば、「シリアル巡回近似 minアルゴリズム」を適用した場合の本実施の形態の 復号アルゴリズムの行処理ステップ 1、 2の α (l α ' (1)を一般ィ匕すると、下記 (42)式 mn mn
のように表すことができる。ここでは、行処理ステップ 1として、各 m, nについて、繰り 返し 1回目の LLR: a (1)を、下記 (42)式により更新している。すなわち、下記 (42)式 mn
においては、「シリアル巡回近似 minアルゴリズム」により得られる繰り返し 1回目の LL Rを、正規ィ匕ファクター Aにより補正している。なお、本実施の形態においては、行処 理の開始列は任意とし、最終列まで処理が終了した段階で、再度最初の列から巡回 的に復号処理を行う。
(42)
[0218] (Overlappedシリアル巡回近似 minアルゴリズムを適用した場合の行処理ステップ 1) また、「Overlappedシリアル巡回近似 minアルゴリズム」を適用した場合の本実施の 形態の復号アルゴリズムの行処理ステップ 1、 2の α (1)、 α ' (1)を一般化すると、下記 mn mn
(43)式のように表すことができる。ここでは、行処理ステップ 1として、 0≤g≤G— 1, g-N + l≤n≤(g+ l) 'Nおよび各 mについて、繰り返し 1回目の LLR: α (1)を、下
G G mn 記(43)式により更新している。すなわち、下記(43)式においては、「Overlappedシリ アル巡回近似 minアルゴリズム」により得られる繰り返し 1回目の LLRを、正規化ファタ ター Aにより補正している。
[0219] [数 39] a )
n'eN(m)\n ).":)」
n'eN( )\n
'<g-NG n'>g-NG
1 c
a '(/) = -Sm - sgn^ (!) min B,
n'eNk (m)\n ー(43)
[0220] なお、本実施の形態の復号アルゴリズムでは、上記のように行処理ステップ 1を実 行後、さらに、前述した「シリアル巡回近似 minアルゴリズム」または「Overlappedシリア
ル巡回近似 minアルゴリズム」と同様の列処理および停止規範に基づく処理を実行し 、最終的な符号結果を得ている。
[0221] つづいて、上記本実施の形態の復号アルゴリズムを実行する LDPC復号器 5の行 処理部の特徴的な動作を、図面を用いて説明する。なお、 LDPC復号器 5の全体構 成については、前述した図 5または図 13と同様である。
[0222] 図 15は、前述した実施の形態と同様に、本実施の形態における行処理を実行する 行処理部 22, 22— 1〜22— Gの構成例を示す図であり、この行処理部は、最小値 選択部 31aを備えている。なお、前述した図 6と同様の構成については、同一の符号 を付してその説明を省略する。本実施の形態の最小値選択部 31aでは、たとえば、 途中結果保持部 21 (または 21 a)力も読み出した LLRの最小値 (Min 1LLRまたは M in2LLR)を、正規ィ匕ファクター Aを用いて補正している。具体的には、 LLRの最小値 を Aで除算することにより正規ィ匕を行っている。
[0223] 以上のように、本実施の形態においては、「Min-Sumアルゴリズム」よりも性能が良 好とされて 、る「Normalized BP-basedアルゴリズム」に「シリアル巡回近似 minァルゴ リズム」または「Overlappedシリアル巡回近似 minアルゴリズム」を適用することとした。 これにより、前述した実施の形態 6、 7と同様の効果が得られるとともに、さらに、ほぼ「 Min-Sumアルゴリズム」と同等の回路量にもかかわらず「Sum- Productアルゴリズム」に 近い性能を実現できる。
[0224] なお、本実施の形態においては、「Normalized BP-basedアルゴリズム」に「シリアル 巡回近似 minアルゴリズム」または「Overlappedシリアル巡回近似 minアルゴリズム」を 適用することとした力 これに限らず、既知の「Offset BP-basedアルゴリズム」、また はそれ以外のアルゴリズムに「シリアル巡回近似 minアルゴリズム」または「Overlapped シリアル巡回近似 minアルゴリズム」を適用することも可能であり、この場合につ ヽても 、上記と同様の効果を得ることができる。
[0225] 実施の形態 9.
つづ 、て、実施の形態 9の受信装置 (通信装置)および復号方法につ!、て説明す る。本実施の形態においては、「Normalized BP- basedアルゴリズム」や「Offset BP- basedアルゴリズム」よりも LLR: β の補正性能が優れている既知の復号ァルゴリズ
ムである「 δ minアルゴリズム」に対して、実施の形態 6の「シリアル巡回近似 minアル ゴリズム」または実施の形態 7の「Overlappedシリアル巡回近似 minアルゴリズム」にお ける、巡回的に最小 k値の LLRの絶対値のみを更新する処理、および近似的な最小 値を用いた復号処理、を適用する。
[0226] ここで、本実施の形態の復号アルゴリズムについて説明を行う前に、その前提となる 既知の「 δ minアルゴリズム」を以下に示す。なお、ここでは、「Min-Sumアルゴリズム 」と処理が異なる、行処理について説明する。
[0227] (行処理ステップ 1)
たとえば、「δ minアルゴリズム」の行処理ステップ 1、 2の α ( (1)を一般化す mn mn
ると、下記 (44)式のように表すことができる。ここでは、行処理ステップ 1として、各 m , nについて、繰り返し 1回目の LLR : α (1)を、下記 (44)式により更新している。「 δ mn
minアルゴリズム」の行処理ステップ 1では、繰り返し 1—1回目に更新された LLRの絶 対値: I β G— " Iから、 Θの演算によりひ (1)を算出する。
mn mn
[0228] [数 40]
&b≡ max min( a,b) - Δ, 0 )
Δョ max( 0.9- | fl— b | / 2,の
ー(44)
[0229] つづ!/、て、上記「 δ minアルゴリズム」に対して「シリアル巡回近似 minアルゴリズム」 または「Overlappedシリアル巡回近似 minアルゴリズム」を適用した場合の復号ァルゴ リズムを以下に示す。なお、本実施の形態では、前述した「シリアル巡回近似 minアル ゴリズム」または「Overlappedシリアル巡回近似 minアルゴリズム」と同様の処理(初期 ィ匕,列処理,停止規範)についてはその説明を省略する。以下では、前述した「シリア ル巡回近似 minアルゴリズム」または「Overlappedシリアル巡回近似 minアルゴリズム」
と処理の異なる、行処理ステップ 1について説明する。また、本実施の形態において は、行処理の開始列は任意とし、最終列まで処理が終了した段階で、再度最初の列 から巡回的に復号処理を行う。
[0230] (シリアル巡回近似 minアルゴリズムを適用した場合の行処理ステップ 1)
たとえば、「シリアル巡回近似 minアルゴリズム」を適用した場合の本実施の形態の 復号アルゴリズムの行処理ステップ 1、 2の α il α ' (1)を一般ィ匕すると、下記 (45)式 mn mn
のように表すことができる。ここでは、行処理ステップ 1として、 l≤n≤Nおよび各 mに ついて、繰り返し 1回目の LLR: a (1)を、下記 (45)式により更新している。また、この mn
復号アルゴリズムの行処理ステップ 1では、繰り返し 1—1回目に更新された最小 k値 のの LLLLRRの絶対値: B 力 、 Θの演算により α (1)を算出する。
[0231] [数 41]
= Sm' . , Θ [Bmn
n k (m)\n
^Z = Sm - sgn(j3^)- Θ [βΜη,]
n N {m)\n ー(45)
[0232] (Overlappedシリアル巡回近似 minアルゴリズムを適用した場合の行処理ステップ 1) また、「Overlappedシリアル巡回近似 minアルゴリズム」を適用した場合の本実施の 形態の復号アルゴリズムの行処理ステップ 1、 2の α (1)、 α ' (1)を一般化すると、下記 mn mn
(46)式のように表すことができる。ここでは、行処理ステップ 1として、 0≤g≤G— 1, g-N + l≤n≤(g+ l) 'Nおよび各 mについて、繰り返し 1回目の LLR: α (1)を、下
G G mn 記 (46)式により更新している。また、この復号アルゴリズムの行処理ステップ 1では、 繰り返し 1 1回目に並列処理にて更新された最小 k値の LLRの絶対値: B cから、 mn
Θの演算により α (1)を算出する。
mn
a „ = Sm ' Sgn )' , Θ B mcnr
n ENk (m)\n ー(46)
[0234] なお、本実施の形態の復号アルゴリズムでは、上記のように行処理ステップ 1を実 行後、さらに、前述した「シリアル巡回近似 minアルゴリズム」または「Overlappedシリア ル巡回近似 minアルゴリズム」と同様の列処理、行処理ステップ 2および停止規範に 基づく処理を実行し、最終的な符号結果を得ている。
[0235] つづ 、て、上記本実施の形態の復号アルゴリズムを実行する LDPC復号器 5の行 処理部の特徴的な動作を、図面を用いて説明する。なお、 LDPC復号器 5の全体構 成については、前述した図 5または図 13と同様である。
[0236] 図 16は、前述の実施の形態と同様に、本実施の形態における行処理を実行する 行処理部 22, 22— 1〜22— Gの構成例を示す図であり、この行処理部は、最小値 選択部 31bを備えている。なお、前述した図 6と同様の構成については、同一の符号 を付してその説明を省略する。また、ここでは、一例として、図 5の LDPC復号器 5の 場合について説明するが、図 13の LDPC復号器 5についても同様に適用可能であ る。
[0237] 本実施の形態の最小値選択部 3 lbでは、たとえば、途中結果保持部 21から Mini LLR(B ) , Min2LLR (B ) , MinkLLR (B )とそれぞれの列番号を読み出し mn(l) mn(2) mn(k)
、演算部が Θの演算を行う。すなわち、本実施の形態の最小値選択部 31bでは、処 理対象となっている n列目と、途中結果保持部 21に保持された B の列番号 n(k)と mn(k)
、がー致しない B に対して、演算部が、「 δ minアルゴリズム」における以下の演 mn(k)
算を行う。
[0238] たとえば、演算部は、符号を除く更新値 I α (1) I (= Θ [Β ])を下記 (47)式のよ mn mn
ー (47)
[0240] また、演算対象の LLRを k値力 最小 3値に限定することで演算量を削減すること ができ、演算部は、符号を除く更新値 I a
mn (1) I ( = Θ [Β ,] )を下記 (48)式のように
mn
求める。
[0241] [数 44]
ー (48)
[0242] なお、上記では、一例として、演算対象の LLRを k値力 最小 3値に限定した場合 について説明したが、最小 4, 5…値と限定した場合においても同様に適用可能であ る。
[0243] 以上のように、本実施の形態においては、「Min-Sumアルゴリズム」よりも性能が良 好とされて 、る「 δ minアルゴリズム」に「シリアル巡回近似 minアルゴリズム」または「 Overlappedシリアル巡回近似 minアルゴリズム」を適用することとした。これにより、前 述した実施の形態 6、 7と同様の効果が得られるとともに、さらに、ほぼ「Min- Sumアル ゴリズム」と同等の回路量にもかかわらず「Sum- Productアルゴリズム」に近い性能を 実現できる。また、本実施の形態においては、行処理用の LLRの絶対値の最小値を 、既知の「 δ minアルゴリズム」にて規定された所定の補正式に基づ!/、て最適値に 補正する場合について記載した力 補正式はこれに限定されるものではなぐ「δ m inアルゴリズム」以外のアルゴリズムにて規定された補正式を用いることとしてもよ!/、。 この場合も上記と同様の効果を得ることができる。
[0244] 実施の形態 10.
つづ 、て、実施の形態 10の受信装置 (通信装置)および復号方法につ!、て説明す
る。本実施の形態においては、「Sum- Productアルゴリズム」に対して、実施の形態 6 の「シリアル巡回近似 minアルゴリズム」または実施の形態 7の「Overlappedシリアル巡 回近似 minアルゴリズム」における、巡回的に最小 k値の LLRの絶対値のみを更新す る処理、および近似的な最小値を用いた復号処理、を適用する。
[0245] ここで、本実施の形態の復号アルゴリズムにつ 、て説明を行う前に、その前提となる 既知の「Sum- Productアルゴリズム」を以下に示す。なお、本実施の形態では、数学 関数をテーブルィ匕して演算を行う方法、すなわち、 TLU (テーブルルックアップ)を利 用した一般的な「Sum-Productアルゴリズム」について記載する。また、ここでは、従来 技術にお 、て説明した「Sum- Productアルゴリズム」と処理が異なる、行処理につ!、て 記載する。
[0246] (行処理ステップ 1 (1) )
たとえば、 TLUを利用した「Sum- Productアルゴリズム」の行処理ステップ 1、 2の α m
(1)、 α ' (1)を一般化すると、下記 (49)式のように表すことができる。ここでは、行処理 n mn
ステップ 1として、各 m, nについて、繰り返し 1回目の LLR: a (1)を、下記 (49)式によ mn
り更新している。 TLUを利用した「Sum- Productアルゴリズム」の行処理ステップ 1では 、繰り返し 1—1回目に更新された LLRの絶対値: I β α~1}
mn Iに対して、 TLUを用い た演算を行っている。
[0247] [数 45] n'eN(m)\n n eN(m)\n
TLU (J ≡
a
7Zひ (a,)≡2tanh— tanh tanh- a : nsgn ^ ' ひ (0.
n,&Nk (m)\n 、
ー(49)
[0248] (行処理ステップ 1 (2) )
また、上記とは異なる方法で、 TLUを利用した「Sum- Productアルゴリズム」の行処 理ステップ 1を実現することもできる。たとえば、上記とは異なる、 TLUを利用した「Su
m- Productアルゴリズム」の行処理ステップ 1、 2の α α)、 α ' (1)を一般化すると、下記 mn mn
(50)式のように表すことができる。ここでは、行処理ステップ 1として、各 m, nについ て、繰り返し 1回目の LLR : a (1)を、下記(50)式により更新している。
mn
[0249] [数 46]
+ ^ [I —"'') I]
、 ,
三 ^ョ/ …^^
neA
dEb≡ mm(a, b) + TLU1{\ a + b \) - TLUl{\ a - b |) rieNk{m)\n n &Nk {m)\n ー(50)
[0250] なお、 TLU1 (x)は、下記(51)に基づいて予めテーブルを用意しておく。
TLUl (x) =ln (l + exp ( -x) ) - - - (51)
[0251] また、上記 TLUを利用した「Sum- Productアルゴリズム」において、上記(49)式に 示した行処理ステップ 1は、テーブルは大きくなるが演算回数が少ないという特徴が あり、一方、上記(50)式に示した行処理ステップ 1は、テーブルは小さくなるが演算 回数が多!、と!/、う特徴がある。
[0252] つづ!/、て、上記 TLUを利用した「Sum- Productアルゴリズム」に対して「シリアル巡 回近似 minアルゴリズム」を適用した場合の復号アルゴリズムを以下に示す。なお、本 実施の形態では、前述した「シリアル巡回近似 minアルゴリズム」と同様の処理 (初期 ィ匕,列処理,停止規範)についてはその説明を省略する。以下では、前述した「シリア ル巡回近似 minアルゴリズム」と処理の異なる、行処理ステップ 1につ 、て説明する。 また、本実施の形態においては、行処理の開始列は任意とし、最終列まで処理が終 了した段階で、再度最初の列から巡回的に復号処理を行う。
[0253] (シリアル巡回近似 minアルゴリズムを適用した場合の行処理ステップ 1 (1) )
たとえば、上記行処理ステップ 1 (1)に対して「シリアル巡回近似 minアルゴリズム」を 適用した場合の本実施の形態の復号アルゴリズムの行処理ステップ 1、 2のひ (1)、 a mn
' (1)を一般化すると、下記(52)式のように表すことができる。ここでは、行処理ステツ mn
プ 1として、 l≤n≤Nおよび各 mについて、繰り返し 1回目の LLR: a α)を、下記(52
)式により更新している。また、この復号アルゴリズムの行処理ステップ 1では、繰り返 し 1— 1回目に更新された最小 k値の LLRの絶対値: B に対して、 TLUを用いた演 mn
算を行っている。
[数 47]
= S
m' ' , TLJJ [B
mn, ]
TLU [B则,] - (52)
[0255] (シリアル巡回近似 minアルゴリズムを適用した場合の行処理ステップ 1 (2) )
また、上記行処理ステップ 1 (2)に対して「シリアル巡回近似 minアルゴリズム」を適 用した場合の本実施の形態の復号アルゴリズムの行処理ステップ 1、 2のひ (1)、 ひ ' '
mn mn ϋを一般化すると、下記(53)式のように表すことができる。ここでは、行処理ステップ 1 として、 1≤η≤Νおよび各 mについて、繰り返し 1回目の LLR : a (1)を、下記(53)式 mn
により更新している。
•••(53)
[0257] つづ!/、て、上記 TLUを利用した「Sum- Productアルゴリズム」に対して「Overlapped シリアル巡回近似 minアルゴリズム」を適用した場合の復号アルゴリズムを以下に示す
。なお、本実施の形態では、前述した「Overlappedシリアル巡回近似 minアルゴリズム 」と同様の処理 (初期化,列処理,停止規範)についてはその説明を省略する。以下 では、前述した「Overlappedシリアル巡回近似 minアルゴリズム」と処理の異なる、行処 理ステップ 1につ 、て説明する。
[0258] (Overlappedシリアル巡回近似 minアルゴリズムを適用した場合の行処理ステップ 1 ( 1 ) )
たとえば、上記行処理ステップ 1 (1)に対して「Overlappedシリアル巡回近似 minァ ルゴリズム」を適用した場合の本実施の形態の復号アルゴリズムの行処理ステップ 1、 2の a (l (1)を一般ィ匕すると、下記(54)式のように表すことができる。ここでは、 mn mn
行処理ステップ 1として、 0≤g≤G— 1, g - N + l≤n≤ (g + l) - Nおよび各 mにつ
G G
いて、繰り返し 1回目の LLR: a (1)を、下記(54)式により更新している。また、この復 mn
号アルゴリズムの行処理ステップ 1では、繰り返し 1 1回目に並列処理にて更新され た最小 k値の LLRの絶対値: B cに対して、 TLUを用いた演算を行っている。
mn
[0259] [数 49]
•••(54)
[0260] (Overlappedシリアル巡回近似 minアルゴリズムを適用した場合の行処理ステップ 1 (2 ) )
また、上記行処理ステップ 1 (2)に対して「Overlappedシリアル巡回近似 minアルゴリ ズム」を適用した場合の本実施の形態の復号アルゴリズムの行処理ステップ 1、 2の a (1)、 α ' (1)を一般ィ匕すると、下記(55)式のように表すことができる。ここでは、行処 mn mn
理ステップ 1として、 0≤g≤G—l, g ' N + l≤n≤ (g + l) - Nおよび各 mについて、
G G
繰り返し 1回目の LLR: a (1)を、下記(55)式により更新している。
[0261] [数 50]
(55)
[0262] つづいて、上記本実施の形態の復号アルゴリズムを実行する LDPC復号器 5の行 処理部の特徴的な動作を、図面を用いて説明する。なお、 LDPC復号器 5の全体構 成については、前述した図 5または図 13と同様である。
[0263] 図 18は、前述の実施の形態と同様に、本実施の形態における行処理を実行する 行処理部 22, 22— 1〜22— Gの構成例を示す図であり、この行処理部は、最小値 選択部 31cを備えている。なお、前述した図 6と同様の構成については、同一の符号 を付してその説明を省略する。また、ここでは、一例として、図 5の LDPC復号器 5の 場合について説明するが、図 13の LDPC復号器 5についても同様に適用可能であ る。
[0264] 本実施の形態の最小値選択部 31cでは、たとえば、途中結果保持部 21から Mini LLR(B ) , Min2LLR (B ) , MinkLLR (B )とそれぞれの列番号を読み出し mn(l) mn(2) mn(k)
、演算部が TLUを用いた演算を行う。すなわち、本実施の形態の最小値選択部 31c では、処理対象となって!/、る n列目と、途中結果保持部 21に保持された B の列番 mn(k) 号 n (k)と、がー致しな!/、B に対して、演算部が、「Sum- Productアルゴリズム」にお mn(kノ
ける以下の演算を行う。
[0265] たとえば、演算部は、符号を除く更新値を下記(56)式のように求める。
[0266] [数 51]
TLU k„-]もしくは , Ξ 、、 „,.
(56)
[0267] また、演算対象の LLRを k値力 最小 3値に限定することで演算量を削減すること ができ、演算部は、符号を除く更新値を下記(57)式のように求める。
[0268] [数 52]
- (57)
[0269] なお、上記では、一例として、演算対象の LLRを k値力 最小 3値に限定した場合 について説明したが、最小 4, 5…値と限定した場合においても同様に適用可能であ る。
[0270] 以上のように、本実施の形態にぉ 、ては、 TLUを利用した「Sum- Productアルゴリ ズム」に「シリアル巡回近似 minアルゴリズム」または「Overlappedシリアル巡回近似 min アルゴリズム」を適用することとした。これにより、他の実施の形態と比較して、計算量 およびメモリ量は多くなる力 復号性能を向上させることができる。なお、本実施の形 態においては、 TLUを用いた「Sum- Productアルゴリズム」を例に説明した力 数学 関数に対して TLUを行う他の復号アルゴリズムにおいても同様である。また、本実施 の形態においては、行処理用の LLRの絶対値の最小値に対して、既知の「Sum-Pro ductアルゴリズム」にて規定された TLUを用いた場合について記載した力 TLUはこ れに限定されるものではなぐ「Sum- Productアルゴリズム」にて規定された TLU以外 の TLUを用いることとしてもよい。この場合も上記と同様の効果を得ることができる。
[0271] 以上、各実施の形態においては、行処理の開始列を 1とし、昇順に処理を行ったが 、これに限らない。たとえば、開始列を任意とし、重複しない任意の列に対して処理を 行い、すべての列が終了した段階で、再度同一の順番で繰り返し復号を行うこととし てもよい。または、行処理の開始列を任意とし、重複しない任意の列に対して処理を 行い、すべての列が終了した段階で、続いて異なる順番で重複しない任意の列に対 してすベての列が終了するまで繰り返し復号を行うこととしてもょ 、。これらの処理に おいても、上記各実施の形態と同様の効果が得られる。また、上記実施の形態の説
明では、確率情報として対数尤度比 LLRを用いる場合について説明したが、対数尤 度比 LLR以外の確率情報を用いるようにしてもょ 、。
産業上の利用可能性
以上のように、本発明にかかる受信装置および復号方法は、ディジタル通信におけ る誤り訂正技術として有用であり、特に、 LDPC符号化された信号を復号する通信装 に適して 、 。