(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-23
(45)【発行日】2024-09-02
(54)【発明の名称】復号化における補正値の適応スケール変換方法及びその復号器
(51)【国際特許分類】
H03M 13/19 20060101AFI20240826BHJP
【FI】
H03M13/19
(21)【出願番号】P 2020046088
(22)【出願日】2020-03-17
【審査請求日】2023-03-01
(73)【特許権者】
【識別番号】000209751
【氏名又は名称】池上通信機株式会社
(74)【代理人】
【識別番号】100145470
【氏名又は名称】藤井 健一
(72)【発明者】
【氏名】井戸口 勇介
【審査官】阿部 弘
(56)【参考文献】
【文献】特開2011-055168(JP,A)
【文献】特開2011-129981(JP,A)
【文献】Wen Ji et al.,A novel hardware-friendly self-adjustable offset min-sum algorithm for ISDB-S2 LDPC decoder,2010 18th European Signal Processing Conference,IEEE,2010年08月27日,pp. 1394-1398,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7096393
【文献】Xiao-Yu Hu et al.,Efficient implementations of the sum-product algorithm for decoding LDPC codes,GLOBECOM'01. IEEE Global Telecommunications Conference,IEEE,2001年11月29日,pp. 1036-1036E,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=965575
(58)【調査した分野】(Int.Cl.,DB名)
H03M 13/19
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
LDPC符号で符号化された符号語を復号する復号方法において、ヤコビアンロガリズムによる展開により導入される関数g(x)=ln(1+e
-|x|)について、複数のg(x)のうち
少なくとも1つのg(x)をスケール変換する式に置き換える
方法であって、
【数44】
のうちスケール因子γ’は
【数34】
のI
K
-I
1
またはI
K
+I
1
の項で構成されるスケール因子を、
【数43】
のように変形して表す変動値であり、
このうちΔ
K
は
【数36】
のように適応的に変化する値であること
を特徴とする復号化における補正値の適応スケール変換方法。
【請求項2】
前記スケール変換する式のうち、スケール因子の乗算をシフト演算に変換することを特徴とする請求項1に記載の復号化における補正値の適応スケール変換方法。
【請求項3】
列処理演算部と、行処理入力部と、絶対値算出部と、符号抽出部と、符号演算部と、最小値探索部と、最小値選択部と、スケール因子演算部と、補正値演算部と、スケール変換部と、行処理出力部と、事後LLR演算部と、を有した復号器であって、
ヤコビアンロガリズムによる展開により導入される関数g(x)=ln(1+e
-|x|)について、複数のg(x)のうちの1つのg(x)をスケール変換する式に置き換える
復号器であって、
【数44】
のうちスケール因子γ’は
【数34】
のI
K
-I
1
またはI
K
+I
1
の項で構成されるスケール因子を、
【数43】
のように変形して表す変動値であり、
このうちΔ
K
は
【数36】
のように適応的に変化する値であること
を特徴とする復号化における補正値の適応スケール変換復号器。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、復号化方法における復号性能の向上のための方法及びその復号器に関する。
【背景技術】
【0002】
1963年にGallagerにより発見されたLow Density Parity Check(LDPC)符号は、伝送路で生じる誤りを訂正する誤り訂正符号の一つである。
【0003】
LDPC符号で最も問題となるのが復号法の実装である。最も一般的なBP復号法は高い復号性能を持つが式に複雑な関数を含むことから、実装するには関数をテーブル化する必要があった。そこで、簡易化されたMin-sum(MS)復号法が検討されたが、復号性能の劣化が問題となった。これらの問題を解決するため、これまでに様々な簡易復号法が提案されてきた。 簡易復号法は主にBP復号法をベースとしたBP-basedアルゴリズムとMin-sum(MS)復号法をベースとしたMS-basedアルゴリズムに大別できる。BP-basedは復号性能が高いが複雑度が高く、MS-basedは復号性能がある程度劣化するが複雑度が低いという特徴を持つ。
【0004】
復号法の一例として、特許文献1の復号方法及び復号装置では、Offset BP-based復号法よりSum-Product復号法における行演算を近似することによって誤り訂正符号の復号性能を向上する発明が公開されている。これは、行演算において、列LLRの絶対値の最小値の大きさに応じたオフセット値を当該列LLRの絶対値の最小値から引いた値を、当該列LLRの列に対応する行LLRとすることにより実現している。
【0005】
また、特許文献2の複合化装置では、低密度パリティーチェック符号化された受信信号の復号化において消費電力を削減した復号化装置の発明が公開されている。これは、伝送路の状態に応じてその補正値とゼロとのいずれかの値を選択し、行処理で使用する補正項を前述で選択した値に設定することにより実現している。
【0006】
また、特許文献3の複合化装置及び復号化方法では、復号化装置は、事前確率を初期値とする事後確率と第1の確率メッセージとから第2の確率メッセージを求めるビットノード処理部と、第2の確率メッセージに基づいて第1の確率メッセージの更新値を求めるチェックノード処理部と、第2の確率メッセージと第1の確率メッセージの更新値とに基づいて、事後確率の更新値を求める事後確率更新処理部とを含み、チェックノード処理部において、第1の確率メッセージを求めるBPアルゴリズムの式をヤコビアンロガリズムにより展開し更に数学的帰納法により展開した近似式に基づいて、第2の確率メッセージに基づいて第1の確率メッセージの更新値を求めることを特徴としており、Layered Normalized Min-sumアルゴリズムよりも良好なBER特性を有し、且つハードウェア実現が容易なアルゴリズムを用いた復号化装置及び復号化方法となっている。
【0007】
また、特許文献4はTMCCから制御情報を抽出した後、変調方式・符号化率・DU比に応じてAを適応的に決定するものであり、特許文献5は、LLRの理論式のスケールに合わせてBのスケール変換を行うものであり、特許文献6は、雑音の分散値に応じて、Bのスケールを変化させるか、0とするかを選択するものである。なお、MS(Min-sum)復号法で使用されるパラメータをA、BP復号法で使用される補正値をB、Bの近似式に含まれるパラメータをCとしている。
【先行技術文献】
【特許文献】
【0008】
【文献】特開2011-4229号公報
【文献】特開2010-200126号公報
【文献】特開2011-55168号公報
【文献】特開2014-147029号公報
【文献】特開2011-129981号公報
【文献】特開2010-200126号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
上述の特許文献のように、復号性能の向上・簡易化の手法は様々な方法で行われている。
現在、日本ではテレビジョン放送や素材伝送の更なる高解像度化が進められている。これらの誤り訂正符号には日本の衛星デジタル放送の規格であるISDB-S3と同様のLDPC符号が採用されつつある。ISDB-S3では所要CNRを低減できるLDPC復号器が要求されているが、実用化の観点から高い復号性能を有するBP-basedを適用することは難しい。そこで本発明では、復号アルゴリズムはBP-basedで現れる式の簡易化と、式の適応的な調整を行うことにより、高い復号性能と低い複雑度を両立する復号法及び復号器を提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明は、上述した課題を解決するためになされたものであり、請求項1に記載の発明は、
LDPC符号で符号化された符号語を復号する復号方法において、ヤコビアンロガリズムによる展開により導入される関数g(x)=ln(1+e
-|x|)について、複数のg(x)のうち
少なくとも1つのg(x)をスケール変換する式に置き換える
方法であって、
【数44】
のうちスケール因子γ’は
【数34】
のI
K
-I
1
またはI
K
+I
1
の項で構成されるスケール因子を、
【数43】
のように変形して表す変動値であり、
このうちΔ
K
は
【数36】
のように適応的に変化する値であること
を特徴とする復号化における補正値の適応スケール変換方法である。
【0011】
また、請求項2に記載の発明は、前記スケール変換する式のうち、スケール因子の乗算をシフト演算に変換することを特徴とする請求項1に記載の復号化における補正値の適応スケール変換方法である。
【0012】
また、請求項3に記載の発明は、
列処理演算部と、行処理入力部と、絶対値算出部と、符号抽出部と、符号演算部と、最小値探索部と、最小値選択部と、スケール因子演算部と、補正値演算部と、スケール変換部と、行処理出力部と、事後LLR演算部と、を有した復号器であって、
ヤコビアンロガリズムによる展開により導入される関数g(x)=ln(1+e
-|x|)について、複数のg(x)のうちの1つのg(x)をスケール変換する式に置き換える
復号器であって、
【数44】
のうちスケール因子γ’は
【数34】
のI
K
-I
1
またはI
K
+I
1
の項で構成されるスケール因子を、
【数43】
のように変形して表す変動値であり、
このうちΔ
K
は
【数36】
のように適応的に変化する値であること
を特徴とする復号化における補正値の適応スケール変換復号器である。
【発明の効果】
【0013】
本発明の効果は、補正式の演算量を低減することができる。また、補正式が適応的に調整することができるので演算精度が向上する。また、復号性能の劣化を抑制することができる利点がある。
【図面の簡単な説明】
【0014】
【
図1】本発明に係る実施例1のフローチャートである。
【
図2】本発明に係る実施例1のh(x)の特性を示す図である。
【
図3】本発明に係る実施例1の復号器構成例である。
【
図4】本発明に係る実施例1を用いた各復号法のBER特性を示す図である。
【
図8】比較器7個の場合の探索ツリーの一例である。
【
図9】比較器13個の場合の探索ツリーの一例である。
【
図10】本発明に係る実施例2の数値探索の構成である。
【
図11】本発明に係る実施例2の最頻値と頻度のグラフである。
【
図12】本発明に係る実施例2の探索ツリーの構成である。
【
図13】本発明に係る実施例2の並び替え部2の構成である。
【
図14】本発明に係る実施例2の探索ツリーのフローチャートである。
【
図15】本発明に係る実施例2のmin3の探索精度のグラフである。
【
図16】本発明に係る実施例2のmin4の探索精度のグラフである。
【
図17】本発明に係る実施例2の補正部の第1のフローチャートである。
【
図18】本発明に係る実施例2の補正部の第2のフローチャートである。
【
図19】本発明に係る実施例3のスケール変換の模式図である。
【
図20】本発明に係る実施例3のスケール変換の模式図である。
【
図21】本発明に係る実施例3の復号器の構成である。
【
図22】本発明に係る実施例3の復号器のフローチャートである。
【
図23】BP復号法と各実施例との関連を示す図である。
【発明を実施するための形態】
【実施例1】
【0015】
以下、図面を参照して、本発明の実施の形態の一例について説明する。
図1は本発明に係る一実施形態のフローチャート、
図2は本発明に係る一実施形態のh(x)の特性を示す図、
図3は本発明に係る一実施形態の復号器構成例、
図4は本発明に係る一実施形態を用いた各復号法のBER特性を示す図、
図5はLBP復号法のフローチャートの例である。
【0016】
LDPC符号は行列要素の非0が非常に少ない検査行列で定義される。 LDPC符号の検査行列をH=[Hm,n](m∈[1,M],n∈[1,N])と表すとき、m 行目に1を持つ列インデックスの集合をN(m)={n:Hm,n=1}、n列目に1を持つ行インデックスの集合をM(n)={m:Hm,n=1}と表す。
【0017】
LDPC符号の復号をLLR(Log Likelihood Ratio)による軟判定で行うとき 、LLRは
【数1】
と表される。
ここで、xとyはそれぞれ送信シンボルと受信シンボルである。変調方式をBPSK、通信路を分散σ
2のAWGN(Additive White Gaussian Noize)通信路と仮定すると、LLRは
【数2】
となる。
【0018】
LDPC符号の復号の方法はBelief Propagation(BP)復号法が最も一般的である。一般的にBP復号法の評価には行処理全体と列処理全体を交互に行う処理をパラレルスケジューリングか、行処理と列処理を部分的に交互に行う処理をシリアルスケジューリングを用いる。シリアルスケジューリングを採用したBP復号法のことをLayered BP(LBP)復号法と呼ぶ。
【0019】
LBP復号法の復号過程を以下に、
図5にLBP復号法のフローチャートを示す。ただし、λnをn番目のLLR(Log Likelihood Ratio)、lを現在の反復回数、lmaxを最大反復回数、α
(l)
m,nをチェックノードmから変数ノードn へ送る外部LLR、β
m,n
(l)を変数ノードnからチェックノードmへ送る事前LLR、β
n
(l)を事後LLR、
【数3】
を復号系列とする。
【0020】
ステップ1として初期化を行う。l=1、βm
(0)、lmaxを設定する。
【0021】
ステップ2として列処理を行う。現在のレイヤ内の各nについて、[H
m,n]=1であるノードに対して
【数4】
を計算する。nは1,2,・・・,Nの順序に従う。
【0022】
ステップ3として行処理を行う。現在のレイヤ内の各mについて、[H
m,n]=1であるノードに対して
【数5】
を計算する。ここで、
【数6】
と定義され、f(x)をGallager関数という。mは1,2,・・・,Mの順序に従う。
【0023】
ステップ4として事後LLRの更新を行う。現在のレイヤ内の各nについて、既に計算したα
m,n
(l)、β
m,n
(l)を用いて
【数7】
を計算する。
【0024】
ステップ5としてレイヤの判定を行う。次のレイヤが存在する場合はステップ2を行い、次のレイヤが存在しない場合はステップ6を行う。
【0025】
ステップ6として復号系列の推定を行う。
【数8】
を用いて行う。
【0026】
ステップ7としてパリティチェックを行う。もし、Hc∧T=0 or 1=lmaxの場合、復号結果としてc∧を出力して終了する。もしくはl=l+1の場合はステップ2を行う。
【0027】
BP復号法とLBP復号法の行処理は同じ式が使用される。BP復号法の行処理は
【数9】
と表すことができる。ここで、演算田は、
【数10】
【数11】
と定義される。ここで、I
i>0であり、演算田は可換性、結合性を有する。式(11)はJacobian Logarithmにより、
【数12】
と展開できる。ここで、min(A,B)は小さい方を選択する関数である。また、
【数13】
とおくと、
【数14】
と表せる。BP復号法は実装において関数g(x)の演算量が問題となるため、線形近似方式や区分線形近似方式、量子化テーブル方式などの手法が提案されている。
【0028】
g(x)の項を近似した復号法としてModified MS(MMS)復号法、δ-min(DM)復号法がある。MMS復号法、DM復号法はパラメータDを用いて次のように近似する。
【数15】
【数16】
【数17】
【0029】
パラメータDは復号中に求められるI
a、I
bにより決まるため予め定めておく必要が無く、符号の次数分布に影響を受けない。ただし、
【数18】
の演算毎にDを求めるため演算量が多くなる。行処理で演算されるI
iの個数は自ノードを除いた|N(m)|-1個であるため、式(18)の演算は|N(m)|-2回必要となる。
【0030】
式(18)の演算回数を抑えた復号法としてλ-min復号法が提案されている。λ-min復号法では行処理の演算に用いるLLRをL個だけ使用し、式(18)の回数をL-1回抑えることで近似する。
【数19】
ここで、N
L(m)はN(m)の最小値から昇順にL個まで選んだ集合である。関数g(x)の性質から最小値に近い値を用いるほど近似精度に対する貢献度が高くなる。
【0031】
MS-basedアルゴリズムについて、最も簡易な復号法であるMin-sum(MS)復号法はg(x)を無視することで次のように近似する。
【数20】
従って、
【数21】
と表すことができる。MS復号法は演算量が最も少なくなるがBP復号法に対する劣化が大きいことが問題となる。
【0032】
この劣化を低減するための復号法としてOffset MS(OMS)復号法、Normalized MS復号法が良く知られている。どちらも得られた最小値に対してBP復号法と同程度の値となるように定数で補正する復号法である。OMS復号法、NMS復号法はそれぞれパラメータγ、εを用いて次のように補正する。
【数22】
【数23】
ただし、パラメータγ,εは符号の次数分布によって変わるため、符号毎に適した値を予め定めておく必要がある。
【0033】
次数分布によるパラメータを必要としない復号法としてSelf-Adjustable Offset MS(SAOMS)復号法が提案されている。SAOMS復号法では貢献度の高い関数g(x)の項のみを近似した値を補正値に用いることで次のように近似する。
【数24】
ここで、βmin1とβmin2はβ
m,n’
(l)の最小値と第2最小値であり、パラメータγは無視したg(x)の項による誤差を補正するパラメータである。
【0034】
BP復号法の行処理の展開として、BP復号法の行処理は式(18)が再帰的に行われる。演算田が可換性を持つことから、式(10)にI
1<I
2<・・・<I
|A|-1<I
|A|が成り立つときを仮定する。ただし、AはI
i、(i∈[1,|N(m)|-1])を要素とする集合である。I
1,I
2,・・・I
|A|は次のように表される値とする。
【数25】
ここで、|A|=|N(m)|-1である。またminiはβ
m,n
(l)の値を除く値の集合からi番目に小さい値を取り出す演算である。このとき、式(18)から比較演算を取り除くことができるため、
【数26】
と表すことができる。ただし、J
|A|<J
|A-1|<・・・<J
2<J
1である。式(26)を1つの式にまとめると、
【数27】
となるから更に、
【数28】
と表せる。ただし、
【数29】
である。ここで、g(x)の項をまとめて、
【数30】
とおけば、
【数31】
と表せる。
【0035】
補正値の適応スケール変換について説明する。式(30)について、J
|A|≒J
|A-1|≒・・・≒J
2≒J
1と近似すると、
【数32】
と近似できる。
【0036】
式(32)はいくつかのg(x)が必要であり演算量が大きくなる。そこで、本願では1 つのg(x)をスケール変換する式に置き換えることで式を簡単化する。簡単のため、I
K-I
1またはI
K+I
1の項のみで構成される式を考える.例えばI
K-I
1の式は,
【数33】
と表すことができる。
【0037】
γ’ はスケール因子であり、
【数34】
と表せる。ここで、
【数35】
である。
【0038】
I
k=I
2+Δ
kとすると、
【数36】
と表せる。
【0039】
【0040】
また、0<e
-x≦1であるから、e
-x同士の乗算で表される項を0とおくと、
【数38】
と近似できる。
【0041】
ここで、
【数39】
はI
2-I
1の項以外が与えるスケールの変化量となり,
【数40】
はI
2-I
1の項が与えるスケールの変化量の感度を表す量となる。ただし、0<式(40)≦1である。
【0042】
このとき,式(34)は、
【数41】
と表すことができる。
【0043】
ここで、スケールの変化量の感度が最大となる式(40)= 1の場合を考えると、
【数42】
となる。
【0044】
このとき、スケールの変化量が非常に大きくなることがあるため、次のようにスケールの変化量を制限する。
【数43】
ここで、ηは感度係数であり、0<η<1である。
【0045】
I
1+I
kの式に対して上記の演算を適用すると、同様の結果が得られる。従って、式(32) を次のように近似できる。
【数44】
【0046】
次にスケール変換の簡易化について説明する。本手法ではスケール因子の乗算が必要であるため、演算量が多くなる。そこで、簡易化のためにスケール因子の乗算をシフト演算に変換する。ここでは、1未満の値が扱えるように、
【数45】
と変形する。
【0047】
このとき,式(44)は次のように表せる。
【数46】
【0048】
式(45)は、Δk>0であれば、
【数47】
と近似できる。
【0049】
ここで、
【数48】
とおくと、h(x)は次のように近似できる。
【数49】
ここで、S’、Tは定数であり、0<S’≦1、0<T≦1である。
【0050】
図2はh(x)とその近似式の特性の一例である。この例では、η=1/2、S’=η、T=η/2としている。
【0051】
式(49)は次のように別の形で表すことができる。
【数50】
ここで、S=S’/Tである。
【0052】
このとき、式(47) を、
【数51】
のように近似できる。ここで、Mk=min(Δ
k,S)である。
【0053】
更にTで除算した
【数52】
を定義する。ここで,V=(|A|-2)Sである。
【0054】
vの大きさにより、例えば、
【数53】
のように場合分けできる。場合分けの個数や条件は適宜変更しても良い。
【0055】
図1は式(44)に上記の簡易化を行った場合の演算を示すフローチャートである。
【0056】
ここで、g(x)を実装に適した近似式に置き換えた場合を考える。
本願ではg(x)の近似として、
【数54】
を用いる。ここで、C’、Dは定数であり、0<C’≦1、0<D≦1である。
【0057】
例えば、C’=0.9、D=1/2やC’=0.625、D=1/4のように組み合わせることができる。式(54)は次のように別の形で表すことができる。
【数55】
ここで、C=C’/Dである。
【0058】
【0059】
式(25)では、β
(l)
m,nの値を除く値の集合から、小さい順に並べた値をI
1,I
2,・・・I
|A|とするため、nが変わる度にI
1,I
2,・・・I
|A|を選びなおす必要がある。そこでβ
(l)
m,nの値も含む値の集合から、小さい順に並べた値をI’
1,I’
2,・・・I’
|B| とする。ただし、BはI’
i(i∈[1,|N(m)|])を要素とする集合である。このとき、I’
1,I’
2,・・・I’
|B| は次のように表される。
【数57】
【0060】
このとき、式(46)を次のように近似できる。
【数58】
ただし、
【数59】
である。
【0061】
次に、復号器に実装した場合を説明する。
行処理で求める最小値は符号を除く場合に2つの値のみをとる。チェックノードmに接続される全変数ノードn’∈N(m)の|β
(l)
m,n’|の最小値をmin1、第2最小値をmin2とする。min1のインデックスを
【数60】
とすると、
【数61】
と表すことができる。
【0062】
α
m,n
(l)の符号は、sign(β
m,n’
(l))・sign(β
m,n
(l))=1であることを利用すれば、
【数62】
と表すことができる。
【0063】
また,式(62)は符号ビットをb
m,n
(l)=sign(β
m,n
(l))で表すと、
【数63】
と表すことができる。
【0064】
ここで、
【数64】
は次の再帰的な性質
【数65】
を持ち、
【数66】
はXOR演算を表す。従って、α
m,n
(l)の符号はXOR演算をシリアルに実行することで得ることができる。
【0065】
本方式の復号器構成例を
図3に示す。列処理演算部では式(4)に従った演算を行う。つまり、事後LLRβ
n
(l-1)から行処理出力部から出力された行処理値α
m,n
(l-1)を減算することで列処理値β
m,n
(l)を算出する。
【0066】
行処理入力部はチェックノードmに接続される全変数ノードn’∈N(m)のβm,n’
(l)を絶対値算出部と符号抽出部に入力する。また、行処理入力部はFIFOを有しており、FIFOは変数ノードnのβm,n
(l)を順に符号抽出部と事後LLR演算部に入力する。
【0067】
絶対値算出部では|βm,n’
(l)|を算出し、最小値探索部では|βm,n’
(l)|より最小値から昇順に並んだL個までの値min1,min2,・・・minLとminlのインデックスnminlを求める。
【0068】
最小値選択部では式(61)に従った演算を行う。つまり、n=nmin1のときmin2を、n≠nmin1のときmin1を選択する。
【0069】
スケール因子演算部、補正値演算部、スケール変換部は
図1のフローチャートに従った演算を行う。スケール因子演算部ではmin1,min2,・・・minLからvを算出し、vを用いてγを選択する。補正値演算部ではmin1,min2から補正値D(min(I’
2+I’
1,C)-min(I’
2-I’
1,C)を算出する。スケール変換部では補正値演算部で得られた結果をγによりスケール変換する。
【0070】
符号抽出部ではβm,n’
(l)から符号ビットbm,n’
(l)を、FIFOから出力されたβm,n
(l)から符号ビットbm,n
(l)を抽出する。符号演算部では式(63)に従った演算を行う。つまり、bm,n’
(l)を再帰的にXOR演算することで得られる結果とbm,n
(l)をXOR演算することで符号ビットを得る。
【0071】
行処理出力部では最小値選択部と補正値選択部と符号演算部の出力からαm,n
(l)を算出する。また、行処理演算部はRAMを有しており、RAM は次の反復回数l+ 1 のときαm,n
(l)を列処理演算部に入力する。事後LLR演算部では式(7)に従った演算を行う。つまり、FIFOから出力されたβm,n
(l)とαm,n
(l)を加算することでβn
(l)を算出する。
【0072】
次に、ISDB-S3のLDPC符号を用いて,計算機シミュレーションによるBER評価を行った。シミュレーションモデルとしてQPSK変調、AWGN通信路を設定し、評価に用いる符号化率をR=2/3 とした。BER=10-7における擬似エラーフリー特性の評価のため10,771,200ビットを用いており、復号における最大反復回数を50回とした。
【0073】
図4に各復号法のBER特性を示す。BP復号法とLBP復号法は浮動小数点演算で評価を行った。その他の復号法は、実装においてメモリ長の制限から変数を量子化する必要があるため、LLRと外部LLRを6bitの符号付き絶対値として、事後LLRを8bitの符号付き絶対値として量子化して評価を行った。各復号法のパラメータはOMS復号法ではε=0.125、NMS復号法ではγ=0.875、Seif-Adjustable OMS復号法ではγ=0.125を使用した。提案手法はη=1/2、S=4η、T=η/2、C=2.5、D=1/4とした。また、Δ(x) を用いてL=2とした場合も評価した。全ての簡易復号法はシリアルスケージューリングで評価した。図に表すとおり提案手法は従来手法より高い復号性能を得られることがわかる。
【0074】
図4の特性のように、計算機シミュレーションにより、提案手法である高い復号性能と低い複雑度を両立する復号アルゴリズムは従来手法より高い復号性能が得られることを確認した。
【0075】
以上により、本発明は補正式の演算量を低減でき、補正式が適応的に調整されることで演算精度が向上し、復号性能の劣化を抑制できる利点がある。
【実施例2】
【0076】
実施例2では、確率的な数値探索と数値補正手法として高い復号性能と低い複雑度を両立する復号アルゴリズムを提案する。復号アルゴリズムはBP-basedで現れる式の簡易化と、式の適応的な調整を行う。計算機シミュレーションにより、提案手法は従来手法より高い復号性能が得られることを確認した。
【0077】
行処理で演算されるI
iの個数は自ノードを除いた|N(m)|-1個であるため、式(18)の演算は|N(m)|-2回必要となる。式(18)の演算回数を抑えた復号法としてλ
-min復号法が提案されている。λ
-min復号法では行処理の演算に用いるLLRをL 個だけ使用し、式(18)の回数をL-1回に抑えることができる。
【数67】
ここで、NL(m)はN(m)の最小値から昇順にL個まで選んだ集合である。
|N(m)|個から最小値などの極値を探索するには一般に|N(m)|-1回の比較を要する。探索ツリーの例を
図6に、ツリーに用いられる比較器を
図7(a) に示す。
【0078】
探索ツリーには
図6のようにシリアルに比較を行う逐次探索ツリーと、パラレルに比較を行うトーナメント探索ツリーがある。これらの探索ツリーを用いる場合、L 個の値の探索にL(|N(m)|-1)回の比較が必要となるため、少ない比較回数で探索する方法が提案されている。提案された探索ツリーを
図8、
図9に、ツリーに用いられる比較器を
図7に示す。比較回数を大幅に削減しつつ多くの値を探索できるが、正答率が低いという問題がある。
【0079】
本実施例2のλ-min復号法では復号に用いる値の個数に比例して、探索に用いる比較器の個数も増加する。少ない比較回数で探索する方法も提案されているが、正答率が低い場合に復号性能が劣化する。そこで、比較回数を抑えつつ高い精度で探索する方法と、誤りと考えられる値を補正する方法を提案する。
【0080】
次に、数値探索器の構成を説明する。数値探索の方法には逐次探索とトーナメント探索がある。逐次探索やトーナメント探索では全て入力値が比較されるため、探索したい数値が少なくとも1 つは必ず得られる。数値探索により得られるL個のLLRを最小値から昇順にmin1,min2,・・・Lth-minと表すことにする。
【0081】
L=4の場合を説明する。提案する数値探索器の構成を
図10に示す。各部での処理の流れを次に示す。ただし、探索ツリーへの入力を{x
l}(l∈[1|N(m)|])とする。
【0082】
(1)逐次探索部により{xl}からmin1を求める。
【0083】
(2)並び替え部1によりmin1以外の値{yl’}(l’∈[1|N(m)|-1])
を並び替える。
【0084】
(3)トーナメント探索部により{yl’}から2nd~min4を求める。トーナメント探索部は2つのトーナメントブロックを持つ。一方のトーナメントブロックでmin2が求まり、他方でmin3かmin4が求まる。
【0085】
(4)補助探索部により各トーナメントブロックで最後に選ばれなかった値{z1,z2}からmin3かmin4を求める。
【0086】
(5)並び替え部2によりトーナメント探索部と補助探索部で得られた値を並び替え、min2~min4を得る。
【0087】
(6)補正部によりmin3とmin4の値を補正する。
【0088】
この数値探索器は、逐次探索部で1 つ、トーナメント探索部で2つ、補助探索部で1 つの値を探索する。逐次探索部は逐次探索ツリー、トーナメント探索部と補助探索部はトーナメント探索ツリーに該当する。探索ツリーを2つ用いるためmin1とmin2は必ず求められる。しかし、min3とmin4はフルソートをした場合の本来の3番目と4番目の値にはならないことがあるため、逐次探索部の性質を利用した並び替えによりmin3とmin4の探索精度を向上させる。
【0089】
また、探索ツリーへ入力される値の数が多いほどmin3とmin4の探索精度が劣化するため、最後にmin3とmin4の値を補正する補正部を設けている。まず探索精度を向上させるため方法を説明し、次に値の補正方法を説明する。
【0090】
逐次探索部の性質を利用した並び替えについて説明する。逐次探索部では2値比較の出力を次の2値比較に入力することを繰り返すため、後の出力になっていくほど小さい値が出現しやすくなる。逐次探索部の出力に通し番号を与えたとき、通し番号に対する最頻値と頻度は
図11のようになる。通し番号が大きくなるほど小さい値の出現率が高くなることがわかる。
【0091】
逐次探索部の出力で小さい値が出現する頻度が高いのは、
図11よりy4,y5,y6,y7である。min3とmin4の探索精度を向上するには、トーナメント探索部で小さい値が互いに比較されないような構成が望ましい。そこで、トーナメント探索部では比較器への入力の前に値を並び替えることで、小さい値と大きい値が比較されるようにする。トーナメント探索部への入力を{y
l’}(l’∈[1|N(m)|-1])とする。
【0092】
(A){yl’}を奇数番の要素yi(i=2k+1)と偶数番の要素yj(j=2k+2) に分ける。
【0093】
(B){yl}を要素yi1(i1=4k+1)と要素yi2(i2=4k+3)に分ける。{yj}を要素yj1(j1=4k+2)と要素yj2(j2=4k+4)に分ける。
【0094】
(C)[{yi1},{yi2}]、[{yj1},{yj2}]を各トーナメントブロックへの入力とする。ただし、[{yi1},{yi2}]または[{yj1},{yj2}]の要素数が奇数である場合、トーナメントにシード枠が生じる。
【0095】
ここで、k=0,1,2,・・・である。並び替えた後、各トーナメントブロックでは2要素ずつ対にして比較する。簡単のため|N(m)|=8として説明する。
【0096】
(A)では|N(m)|-1個の数値{y1,y2,・・・y7}を奇数番の要素{y1,y3,y5,y7}と偶数番の要素{y2,y4,y6}に分ける。
【0097】
(B)では更に{y1,y3,y5,y7}を{y1,y5}と{y3,y7}に、{y2,y4,y6}を{y2,y6}とy4に分ける。
【0098】
(C)では各トーナメントブロックに{y1,y5,y3,y7}、{y2,y6,y4}が入力されるようにする。ただし、{y2,y6,y4}が入力されたトーナメントブロックではy4がシード枠になる。
【0099】
この方法により入力を並び替えた場合の探索ツリーの例を
図12に示す。探索ツリーの出力を最小値から昇順に並べる場合は
図13の並び替え部2を用いる。また,探索ツリーへの入力から復号器へ出力するまでのフローチャートを
図14に示す。
【0100】
探索精度について、入力を入れ替えない場合、入力をランダマイズした場合、提案手法の方法で入力を入れ替えた場合を比較した結果を
図15、
図16に示す。min1とmin2は各方法とも精度は100%である。提案手法は他の方法に比べてmin3とmin4の精度がそれぞれ最大5.4%、7.2%向上した。
【0101】
探索精度と比較器数について、提案手法と既存手法を比較した結果を表1に示す。ただし、|N(m)|=8、試行回数を10000回とし、小数第2位以下は切り捨てた。既存手法は本来1st~min3まで求める探索ツリーであるが、比較のためmin4まで精度を求めた。提案手法は近似法2と同等の比較器数でmin3とmin4の精度がそれぞれ4.3%、11.6%向上した。
【表1】
【0102】
次に、外れ値の補正について説明する。
行処理で求める最小値は符号を除く場合に2つの値のみをとる。チェックノードmに接続される全変数ノードn’∈N(m)の|β
m,n’
(l)|の最小値をmin1、第2の最小値をmin2とする。min1のインデックスを
【数68】
とすると,
【数69】
と表すことができる。一方、行処理で求めるg(x) は,
【数70】
と表すことができる。ただし,k≧2である。提案手法は式(69)は正しく得られるが、
k≧3の場合に式(70)は近似値となる可能性がある。min3、min4が誤まって得られる確率が高い値は、
図15、
図16より、それぞれフルソートした場合の本来の4,5 番目の値である。また、4、5番目の値に間違える確率は|N(m)|が大きいほど高くなる。このとき、g(x)の値が0に近づくため、計算コストに対する性能向上への貢献度は小さくなる。
【0103】
そこで、min3、min4が特定の値を超えた外れ値と見なせる場合、誤りと判定して補正を加える。min3、min4の外れ値をそれぞれmin3>X
3+E
3、min4>X
4+E
4と仮定する。ここで、X
3、X
4はそれぞれフルソートした場合の本来の3、4番目の値の平均値であり、シミュレーション等により事前に求めることができる。また、E
3、E
4はそれぞれE
3=(X
4-X
3)/2、E
4=(X
5-X
4)/2のように事前に求めることができ。min3、min4が外れ値であった場合、次の処理を行う。
【数71】
min3’、min4’は処理後の値である。ここで、C
3’、C
4’はmin2<min3-C
3’<min3、min3<min4-C
4’<min4となるような定数である。
例えば,
【数72】
のように与えることができる。γ
3’、γ
4’はスケール因子である。min3’、min4’で補正する場合のフローチャートを
図17に示す。
【0104】
また,min2が通常より小さい値となる場合、min3、min4も小さい値をとる確率が高くなる。この場合、min3、min4が外れ値と判断されたとき、誤差が非常に大きくなる。そこで、更に次の処理を行う。
【数73】
ここで、min3’’、min4’’は処理後の値である。ここで、C
3’’>C
3’、C
4’’>C
4’であり、min2<min3-C
3’’<min3、min3<min4-C
4’’<min4となるような定数である。例えば、
【数74】
のように与えることができる。γ
3’、γ
4’はスケール因子である。min3’’、min4で補正する場合のフローチャートを
図18に示す。
【0105】
実施例2では少ない比較回数で数値探索を行う手法を提案した。提案手法を他の復号法と組み合わせた場合、復号性能がほとんど劣化しないことを確認した。
【0106】
実施例2の発明の効果は、数値探索に要する比較回数を削減すること、比較回数の削減による探索精度の劣化を抑えること、 外れ値の補正により探索精度を向上することが挙げられる。
【実施例3】
【0107】
実施例3ではLLRと補正値のスケール変換手法について説明する。
式(1)より,送信シンボルxに割り当てられたビットb
iのLLRは
【数75】
と表される。ここで。b
i=0であるレプリカシンボルの集合をS
0、b
i=1であるレプリカシンボルの集合をS
1とし、通信路を分散σ
2のAWGN(Additive White Gaussian Noise)通信路と仮定している。式(75)は指数和を含むため演算が複雑となり、σ
2が非常に小さい場合にアンダーフローやオーバーフローが生じる。そこで、Max-log近似による近似式
【数76】
を利用する場合がある。変調方式をBPSKまたはQPSKとすると、LLR は
【数77】
となる。QPSKの場合はIQ平面の各相に割り当てられたビットに対してLLRが求められる。
【0108】
復号器を固定小数点で実装する場合、LLRのダイナミックレンジは有限となるため、σ
2が非常に小さい場合にアンダーフローやオーバーフローが生じる。そこで、σ
2が一定であれば式(77)を
【数78】
と近似できる。式(78)は2/σ
2で正規化した場合と等価であるため、正規化係数を
【数79】
とおき、式(76)についても正規化すると、
【数80】
と近似できる。また、
【数81】
と更に近似してもよい。
【0109】
近似LLRを使用する場合、式(14)のmin(A,B)とg(x)の比が大きく変わる場合がある。簡単のため、復号の初期を例に説明する。l=0のとき、β
n
(0)=λ
nより、β
m,n
(0)=λ
nとなる、このとき、式(14)は、
【数82】
と表すことができる。g(x)はλ
a、λ
bの和と差により計算されるが、近似LLRを使用する場合は和と差の大きさが変化する。近似LLRが近似前よりも小さくなる場合、min(A,B)の大きさは近似前より小さくなり、g(x)の大きさは近似前よりも大きくなる。対して、近似LLRが近似前よりも大きくなる場合、min(A,B)の大きさは近似前より大きくなり、g(x)の大きさは近似前よりも小さくなる。この場合、min(A,B)がg(x)により正しく補正されないため、復号性能が劣化する場合がある。
【0110】
LLRの近似やビット精度でLLRのスケールが変更されてもmin(A,B)とg(x)の比を可能な限り保持する方法を述べる。ここでは、式(78)や式(80)で計算される近似LLRを用いる。また、関数g(x)の近似式として、
【数83】
を用いる。C、Dはそれぞれ傾きと切片であり、0<C<1、0<D<1である。例えば、C=0.9、D=1/2やC=0.625、D=1/4のように組み合わせることができる。このとき、式(14)を、
【数84】
と近似できる。
【0111】
変調方式が多値の場合、送信シンボルに割り当てられたぞれぞれビットのLLRが計算される。送信シンボルのビットb
iのLLRをλ
iと表し、b
iの取り得るLLRの最大値をλ
i,maxとする。λ
i,maxの最大値をλ
maxとする。LLRをqビットの符号付絶対値として量子化する場合、
【数85】
により、γ
qλ
i∈[-2
q-12
q-1]としてスケール変換する。ここで、近似前のLLRをγ
sλ
iとし,スケール変換後のLLRをγ
qλ
iとすると、その比は、
【数86】
と表すことができる。式(78)や式(81)を用いるとき、γ
sは計算されないため、
【数87】
と近似できる。ここで、σ^
2 はBER(Bit Error Rate)=0となるCNR(Carrier-to-Noise Rate)から求められる分散である。
このとき、式(84)は、
【数88】
のように表される。このスケール変換はγ
c>1の場合にのみ行うγ
c>1の場合のmin(A,B)とg(x)のスケール変換の模式図を
図19に示す。この例では式(78)のみを示す。γ
c>1となる場合は、変調多値数が小さいときに起こりえる。変調多値数が小さい場合、ほとんどのビットのLLRがλ
i,max<2
q-1となる。そこで、LLRを2
q-1までスケールアップし、g(x)も適切にスケールアップすることで、比を保持したままダイナミックレンジを広げる。
【0112】
一方、γ
c≦1の場合は上記とは異なるスケール変換を行う。近似LLRはγ
Mによりγ
Mλ
iとしてスケール変換し、2
q-1でクリップする。γ
Mは変調多値数により異なる値を用いることができる。ただし、式(80)と式(81)の係数から、1≦γ
M≦1/4とする。g(x)のスケール変換は行わない。このとき、式(82)は、
【数89】
のように表される。γ
c≦1の場合のスケール変換の模式図を
図21に示す。γ
c≦1となる場合は、変調多値数が大きいときに起こりえる。変調多値数が大きい場合、λ
i,max≧2
q-1となるビットが増加する。LLRが大きいとき、min(A,B)に対するg(x)の大きさが非常に小さくなる。そのため、λ
i,max≧2
q-1となるビットb
iのLLRは重要になりにくい。また、λ
i≧2
q-1となる可能性も高いため、スケールアップしてもほとんどの場合クリップされる。そこで、λ
i,max<2
q-1となるビットb
iのLLRに対してスケールアップを適切に行うことで、特定のビットのLLRのみダイナミックレンジを広げる。
【0113】
LLRの絶対的な大きさは変調方式やマッピングの方法、符号化率などの伝送パラメータによって変わり、更に復号器をハードウェアで実装する場合はLLRのダイナミックレンジが有限となる。従って、式(84)のLLRとCを伝送パラメータとビット精度に合わせて調整する必要がある。日本ではテレビジョン放送や素材伝送のOFDM方式は変調方式やマッピングの方法、符号化率などの伝送パラメータを設定でき、伝送パラメータはTMCC(Transmission and Multiplexing Configuration and Control)信号に付与される。TMCCの伝送パラメータを利用してLLRとCの調整を行う場合の構成を
図21に、フローチャートに
図22に示す。
【0114】
動作制御部ではTMCC信号に含まれる伝送パラメータに対応するパラメータをテーブルから読み取った後、確率情報の演算部とLDPC復号器の行処理部にパラメータを出力する。テーブルには変調方式やマッピング方法,符号化率に関連付けられたパラメータが格納されている。スケール変換後のLLRをテーブル化して実現することもできる。
【0115】
実施例3では、限られたビット精度で復号性能の劣化を抑えるようにLLRをスケール変換する手法と、スケール変換されたLLRに対応して復号パラメータもスケール変換する手法を提案した。提案手法を他の復号法と組み合わせた場合、復号性能がほとんど劣化しないことを確認した。
【0116】
現在、日本ではテレビジョン放送や素材伝送の更なる高解像度化が進められている。高解像度映像の伝送を実現するために、変調多値数の増加による大容量化や、信号点配置を不均一にしたNUC(Non-Uniform Constellation)と高い誤り訂正能力を有するLDPC符号の利用による高信頼化が実施されている。LDPC符号は信号点に割り当てられたビットのLLRを利用して復号を行うが、変調多値数やマッピング方法の変更により信号点間隔が変わるとき、復号性能を維持するために必要なLLRのビット精度も変わる場合がある。そこで、実施例3では限られたビット精度で復号性能の劣化を抑えるようにLLRをスケール変換する手法と、スケール変換されたLLRに対応して復号パラメータもスケール変換する手法を提案する。提案手法を他の復号法と組み合わせた場合、復号性能がほとんど劣化しないことを確認した。
【0117】
実施例3より得られる効果は、復号性能の劣化を抑制できる。伝送パラメータの変化時に対応できることが挙げられる。
【0118】
次に、各実施例の方法を組み合わせた場合の評価を行う。
LDPC符号は行列要素の非0が非常に少ない検査行列で定義される符号である。LDPC符号の一般的な復号法であるBP復号法は、検査行列の各行に対する行処理と各列に対する列処理という2 つの演算から構成される。このうち、BP復号法の行処理は、
【数90】
と表される。
【0119】
LDPC符号で最も問題となるのが行処理の実装である。行処理の式には複雑な関数を含むことから、実装するには関数をテーブル化する必要がある。また、再帰演算が必要であるため演算量も問題となる。この問題の解決のため、様々な簡易復号法が提案されている。簡易復号法は主にBP復号法をベースとしたBP-basedアルゴリズムとMin-sum(MS)復号法をベースとしたMS-basedアルゴリズムに大別できる。BP-basedは対数関数を近似することで簡易化する。しかし、再帰演算は残るため演算量は多いままとなる。
【0120】
一方,MS-basedはmin(A,B)で得られる最小値をパラメータで補正することで簡易化する.しかし,符号毎に適したパラメータを予め定めておく必要があり,最適なパラメータが設定されていても復号性能が劣化する。
【0121】
このように、BP-basedは復号性能が高いが演算量が多く、MS-basedはパラメータを設定する必要があり復号性能が劣化するが演算量が低いという特徴を持つ。そこで、本研究の目的をBP-basedとMS-basedの双方の利点を持つ新しい復号アルゴリズムを提供する。
【0122】
提案手法はいくつかに分類することができる。
図23にLDPC符号の復号の各処理と各実施例の関連を示す。また、各実施例の提案手法により得られる効果を次に示す。
(実施例1)補正値の適応スケール変換手法(演算量の削減、復号性能の改善、復号パラメータ不要)。
(実施例2)確率的な数値探索と数値補正手法(演算量の削減)。
(実施例3)LLRと補正値のスケール変換手法(復号性能の改善,多値変調・マッピング方式への対応)。
ここで、(実施例1)は田の演算方法に関するアルゴリズムであり、(実施例2)は田の演算に用いる数値に関する探索アルゴリズムであり、(実施例3)はLLRとg(x)の演算手法である。なお、評価では便宜的に実施例1をA1と表し、実施例2をA3、実施例3をA4と表す。また、A1+A3のBER特性(QPSK,R=3/4)を
図24、A1+A4のBER特性(QPSK,R=3/4)を
図25、A1+A4のBER特性(1024QAM,R=2/3)を
図26、A1+A3+A4のBER特性(QPSK,R=3/4)を
図27に示す。
【0123】
実施例を組み合わせた場合の評価を行った。
A1のパラメータはη=1/2、S=4η、T=η/2、C=2.5、D=1/4とした。
A3のパラメータはγ3=1/8、γ4=1/4、γ3’=1、γ4’=5/8とした。
A4のパラメータはq=6、γM=1/2とした。
【0124】
評価結果では、A1は簡単なパラメータ設定で、BP-based以上の復号性能が得られた。演算量はBP-basedより非常に少なくMS-basedより多くなるが、A3など簡易化手法と組み合わせることでSAOMS復号法より少々多くなる程度となる。
【0125】
結果として、A1はBP-basedより演算量を大幅に抑えつつBP-based以上の復号性能を有するパラメータ設定が不要な復号アルゴリズムといえる。
【産業上の利用可能性】
【0126】
本願発明はテレビジョン放送や素材伝送の更なる高解像度化に必要なLDPC復号器の所要CNRを低減できるような高い複合性能と低い複雑度を両立することができるので、誤り訂正を使用するための多種の復号器に適用できる。