(57)【特許請求の範囲】
【請求項１】
ＬＤＰＣ符号で符号化された受信系列を復号するための誤り訂正復号装置であって、
前記ＬＤＰＣ符号の検査行列の列と行とにそれぞれ対応して設けられた列演算器および行演算器とを備え、
前記列演算器は、前記受信系列の受信ＬＬＲ（Log-Likelihood Ratio：対数尤度比）が入力されるとともに前記行演算器から行ＬＬＲが入力され、前記受信系列の前記受信ＬＬＲと前記行演算器からの前記行ＬＬＲとの合計値を算出し、
前記行演算器は、前回演算時に得られた行ＬＬＲまたは列ＬＬＲに関する演算結果を保持し、前記列演算器から入力された前記合計値と保持された前記演算結果とを用いて列ＬＬＲを算出し、算出された前記列ＬＬＲから行ＬＬＲを算出して前記列演算器へ出力する
誤り訂正復号装置。
【請求項２】
前記行演算器は、
前回演算時に前記列演算器へ出力した前回演算時の行ＬＬＲを列ごとに保持する記憶部と、
前記列演算器から入力される前記合計値から、前記記憶部に保持された前記前回演算時の列ごとの前記行ＬＬＲを減算して、列ごとの列ＬＬＲを算出する減算部と、
前記減算部から出力された列ごとの前記列ＬＬＲの絶対値の中から最小値と準最小値とを算出する算出部と、
前記算出部から出力された前記絶対値の最小値と準最小値とから前記行ＬＬＲを算出して前記列演算器へ出力する演算部と
を有している
請求項１に記載の誤り訂正復号装置。
【請求項３】
前記行演算器は、
前回演算時に算出された列ＬＬＲの絶対値の最小値と準最小値とを列ごとに保持する記憶部と、
前記列演算器から入力された前記合計値から、前記記憶部に保持された前記前回演算時の前記列ＬＬＲの絶対値の最小値と準最小値から算出される行ＬＬＲを減算して、列ＬＬＲを算出する減算部と、
前記減算部から出力された前記列ＬＬＲの絶対値の中から最小値と準最小値とを算出するとともに、算出した前記絶対値の最小値と準最小値とを前記記憶部に記憶させる算出部と、
前記算出部から出力された前記絶対値の最小値と準最小値とから前記行ＬＬＲを算出して前記列演算器へ出力する演算部と
を有している
請求項１に記載の誤り訂正復号装置。
【請求項４】
前記列演算器は、前記ＬＤＰＣ符号の検査行列の複数の列ごとに設けられ、それらの複数の列に対する処理を時分割で１列ごとに行うものであって、
前記行演算器は、
前回演算時に算出された列ＬＬＲの絶対値の最小値と準最小値とを列ごとに保持する記憶部と、
前記列演算器から入力された前記合計値から、前記記憶部に保持された前記前回演算時の前記列ＬＬＲの絶対値の最小値と準最小値から算出される行ＬＬＲを減算して、列ＬＬＲを算出する減算部と、
前記減算部から出力された前記列ＬＬＲの絶対値と前記記憶部に記憶された前記列ＬＬＲの絶対値の最小値と準最小値の中から、新たな最小値と準最小値とを算出するとともに、当該新たな最小値と準最小値とを用いて前記記憶部に保持された前記絶対値の最小値および準最小値を更新する算出部と、
前記算出部から出力された前記絶対値の最小値と準最小値とから前記行ＬＬＲを算出して前記列演算器へ出力する演算部と
を有している
請求項１に記載の誤り訂正復号装置。
【請求項５】
前記演算部は、前記絶対値の最小値と準最小値とからＭｉｎ−ｓｕｍ復号法に従った演算処理を行って前記行ＬＬＲを算出する
請求項２から４までに記載の誤り訂正復号装置。
【請求項６】
前記演算部は、前記絶対値の最小値と準最小値とからＯｆｆｓｅｔ  ＢＰ−ｂａｓｅｄ復号法に従った演算処理を行って前記行ＬＬＲを算出する
請求項２から４までのいずれか１項に記載の誤り訂正復号装置。
【請求項７】
前記演算部は、前記絶対値の最小値と準最小値とからＮｏｒｍａｌｉｚｅｄ  Ｍｉｎ−ｓｕｍ復号法に従った演算処理を行って前記行ＬＬＲを算出する
請求項２から４までのいずれか１項に記載の誤り訂正復号装置。
【請求項８】
前記演算部は、前記絶対値の最小値と準最小値とからδ−ｍｉｎ復号法に従った演算処理を行って前記行ＬＬＲを算出する
請求項２から４までのいずれか１項に記載の誤り訂正復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、誤り訂正復号装置に関し、特に、低密度パリティ検査符号（Low-Density Parity-Check符号；以下、ＬＤＰＣ符号と称す。）で符号化された受信系列の復号を行う誤り訂正復号装置に関する。
【背景技術】
【０００２】
ＬＤＰＣ符号は、図１に一例を示すように、１の数が疎の（すなわち、行列要素の大部分が０で、１の個数が全体に対して少ない）パリティ検査行列で定義される線形符号である。このとき、図２のように、パリティ検査行列のサイズをｍ×ｎ行列（ここで、ｍ＜ｎ）とすると、ＬＤＰＣ符号の符号長はｎ、パリティ検査行列のランク（階数）がパリティビット長ｍとなる。パリティ検査行列がフルランク（階数と行数が一致）の場合、パリティビット長はｍとなり、情報系列長はｎ−ｍとなる。【０００３】
ＬＤＰＣ符号を復号する復号法の代表的なものに、例えば特許文献１に記載のように、Ｓｕｍ−Ｐｒｏｄｕｃｔ復号法がある。Ｓｕｍ−Ｐｒｏｄｕｃｔ復号法では、受信信号（受信系列）の確率的な信頼度情報として対数尤度比（Log Likelihood Ratio；以下、ＬＬＲと称す。）を算出しながら繰り返し演算を行うことで復号を行う。Ｓｕｍ−Ｐｒｏｄｕｃｔ復号法は列演算と行演算と呼ばれる二つの演算化からなり、それぞれパリティ検査行列の列と行に対応する。回路等で実装するとき、列演算や行演算を行う部分は、列演算器および行演算器と呼ばれるが、それぞれ、ビットノードおよびチェックノードと呼ばれることもある。【０００４】
Ｓｕｍ−Ｐｒｏｄｕｃｔ復号法の具体的な演算について説明する。受信系列から符号長分ビットそれぞれに対して計算される受信対数尤度比（以下、受信ＬＬＲと称す。）を入力とし、行演算と列演算の２つの演算を交互に繰り返すことで復号演算を行う。【０００５】
行演算では、パリティ検査行列のｒ行目の要素が１である列番号の集合をＮ（ｒ）とおいたとき、Ｎ（ｒ）に含まれる各列ｃに対して次の（１）式によって行ＬＬＲ  εr,cを計算する。（１）式右辺のｚr,c'は、後に説明する列演算で計算される列ＬＬＲであるが、Ｓｕｍ−Ｐｒｏｄｕｃｔ復号法における繰り返し１回目においては、列ｃに対応する受信ＬＬＲ  λcが代入される。【０００６】
【数１】
0005971670.tif 000002
【０００７】
（１）式右辺に現れる各演算記号の定義は以下の通りである。【０００８】
【数２】
0005971670.tif 000003
【数３】
0005971670.tif 000004
【数４】
0005971670.tif 000005
【数５】
0005971670.tif 000006
【０００９】
次に、列演算について説明する。ここでは、パリティ検査行列の列ｃの要素が１である行の集合をＭ（ｃ）とする。列演算は、行演算で求めた行ＬＬＲ  εr,c'に対し、次の（６）式によって列ＬＬＲ  ｚr,cを計算する。【００１０】
【数６】
0005971670.tif 000007
【００１１】
また、送信ビットｂcの推定（ＬＤＰＣ符号の復号結果の算出）を（７）式によって行う。（７）式の結果、ｚcが０以上であれば、受信系列のｃビット目ｂcを１、ｚcが０より小さければｂc＝０とする。【００１２】
【数７】
0005971670.tif 000008
【００１３】
（６）式で得た列ＬＬＲに対して行演算を行い、以降、これらの演算を繰り返し、予め定めた繰り返し回数の上限に達したか、もしくは、推定ビットが符号語（パリティチェックにより判別可能）であれば、推定ビット列ｂcを出力し復号は終了となる。【００１４】
Ｓｕｍ−Ｐｒｏｄｕｃｔ復号法は、（１）式および（２）〜（５）式で示した行演算で指数や対数の演算が必要であり、演算量は膨大となる。【００１５】
特許文献１、および、他の特許文献の特許文献２では、（１）式を近似演算することにより演算量を削減した復号法がいくつか記載されている。代表的な近似方法として、（１）式の代わりに、次の（８）式を用いるＭｉｎ−ｓｕｍ復号法がある。【００１６】
【数８】
0005971670.tif 000009
【００１７】
Ｍｉｎ−ｓｕｍ復号法は、（８）式のようにしてｚr,cの絶対値の最小値を算出することで、（１）式で現れた指数や対数からなる演算を近似している。【００１８】
しかしながら、Ｍｉｎ−ｓｕｍ復号法は近似精度が粗くＳｕｍ−ｐｒｏｄｕｃｔ復号法と比べて復号性能の劣化が大きい。そのため、Ｍｉｎ−ｓｕｍ復号法よりわずかに演算量が大きいものの、復号性能が改善する復号法が考案されており、その一つが下記の（９）式で（１）式を置き換えるＯｆｆｓｅｔ  ＢＰ−ｂａｓｅｄ復号法である。【００１９】
【数９】
0005971670.tif 000010
【００２０】
Ｏｆｆｓｅｔ  ＢＰ−ｂａｓｅｄ復号法では、Ｍｉｎ−ｓｕｍ復号法と同様に最小値を演算し、その後にαを最小値から減算する。αは定数であり、予め密度発展法などで求めておく。Ｍｉｎ−ｓｕｍ復号法と比べ減算を追加するだけであり、演算量の増分は小さいが、復号性能が大きく改善される。【００２１】
また、Ｏｆｆｓｅｔ  ＢＰ−ｂａｓｅｄ復号法と同様にＭｉｎ−ｓｕｍ復号法より復号性能が高い復号法としてＮｏｒｍａｌｉｚｅｄ  Ｍｉｎ−ｓｕｍ復号法（（１０）式）や、δ−ｍｉｎ復号法（例えば、非特許文献１参照）があり、特許文献２にはＯｆｆｓｅｔ  ＢＰ−ｂａｓｅｄ復号法のαを最小値に従って可変とする復号法が示されている。【００２２】
【数１０】
0005971670.tif 000011
【００２３】
前記で説明したＳｕｍ−ｐｒｏｄｕｃｔ復号法の近似演算からなる復号法は、いずれもｚr,cの絶対値の最小値やそれに準ずる値（以下、準最小値と称す。）に対して何らかの低演算量な処理を行い、その結果を行ＬＬＲ  εr,cとするものである。【００２４】
Ｓｕｍ−ｐｒｏｄｕｃｔ復号法、および、Ｓｕｍ−ｐｒｏｄｕｃｔ復号法の近似演算からなる復号法を回路で実装する場合、列演算を行う列演算器と行演算を行う行演算器をそれぞれパリティ検査行列の列数、行数の分だけ実装する。図３のように、列演算器と行演算器はパリティ検査行列の各列および各行にそれぞれ対応して実装され、行列内の各１に対し、その列と行との間で配線が行われてデータの入出力を行う。例えば、図３（ａ）のパリティ検査行列の４行目、２列目の行列要素は１であり、従って、図３（ｂ）のように行演算器＃４と列演算器＃２の間に配線がなされる。同様に、パリティ検査行列の行列要素が１のところでは、その列の列演算器とその行の行演算器との間で配線が行われる。
【先行技術文献】
【特許文献】
【００２５】
【特許文献１】国際公開第２００６／０５９６８８号パンフレット
【特許文献２】特開２０１１−４２２９号公報
【非特許文献】
【００２６】
【非特許文献１】阪井塁，松本渉，吉田英夫，「更新式の近似に基づくＬｏｗ−Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ−Ｃｈｅｃｋ符号簡易復号法の検討」，電子情報通信学会，２００７年２月，電子情報通信学会論文誌Ａ，第Ｊ９０−Ａ巻，２号，p.８３−９１
【発明の概要】
【発明が解決しようとする課題】
【００２７】
従来のＬＤＰＣ符号の復号回路は、列演算を行う列演算器と行演算を行う行演算器との間の配線がパリティ検査行列の１の位置に従って配線され、１の数が多い場合には配線が多くなるという問題点があった。また、パリティ検査行列の１の位置は基本的に不規則であり、配線が複雑になるという問題点があった。【００２８】
この発明は上記のような問題点を解決するためになされたもので、配線数を減らし、配線複雑さを緩和することで、ＬＤＰＣ符号の復号回路の実装性を向上することが可能な、誤り訂正復号装置を得ることを目的とする。
【課題を解決するための手段】
【００２９】
この発明は、ＬＤＰＣ符号で符号化された受信系列を復号するための誤り訂正復号装置であって、前記ＬＤＰＣ符号の検査行列の列と行とにそれぞれ対応して設けられた列演算器および行演算器とを備え、前記列演算器は、前記受信系列の受信ＬＬＲ（Log-Likelihood Ratio：対数尤度比）が入力されるとともに前記行演算器から行ＬＬＲが入力され、前記受信系列の前記受信ＬＬＲと前記行演算器からの前記行ＬＬＲとの合計値を算出し、前記行演算器は、前回演算時に得られた行ＬＬＲまたは列ＬＬＲに関する演算結果を保持し、前記列演算器から入力された前記合計値と保持された前記演算結果とを用いて列ＬＬＲを算出し、算出された前記列ＬＬＲから行ＬＬＲを算出して前記列演算器へ出力する誤り訂正復号装置である。
【発明の効果】
【００３０】
この発明は、ＬＤＰＣ符号で符号化された受信系列を復号するための誤り訂正復号装置であって、前記ＬＤＰＣ符号の検査行列の列と行とにそれぞれ対応して設けられた列演算器および行演算器とを備え、前記列演算器は、前記受信系列の受信ＬＬＲ（Log-Likelihood Ratio：対数尤度比）が入力されるとともに前記行演算器から行ＬＬＲが入力され、前記受信系列の前記受信ＬＬＲと前記行演算器からの前記行ＬＬＲとの合計値を算出し、前記行演算器は、前回演算時に得られた行ＬＬＲまたは列ＬＬＲに関する演算結果を保持し、前記列演算器から入力された前記合計値と保持された前記演算結果とを用いて列ＬＬＲを算出し、算出された前記列ＬＬＲから行ＬＬＲを算出して前記列演算器へ出力する誤り訂正復号装置であるので、配線数を減らし、配線複雑さを緩和することで、ＬＤＰＣ符号の復号回路の実装性を向上することができる。
【図面の簡単な説明】
【００３１】
【図１】低密度パリティ検査行列の一例を示した図である。
【図２】ｍ×ｎ行列で構成されたパリティ検査行列の一例を示した図である。
【図３】従来の列演算器と行演算器との配線の一例を示した図である。
【図４】この発明の実施の形態１に係る誤り訂正復号装置の構成を示した構成図である。
【図５】従来の列演算器の演算例を示した図である。
【図６】従来の行演算器の演算例を示した図である。
【図７】この発明の実施の形態１に係る誤り訂正復号装置における列演算器の演算例を示した図である。
【図８】この発明の実施の形態１に係る誤り訂正復号装置における行演算器の演算例を示した図である。
【図９】この発明の実施の形態２に係る誤り訂正復号装置における行演算器の演算例を示した図である。
【図１０】この発明の実施の形態３に係る誤り訂正復号装置における行演算器の演算例を示した図である。
【図１１】この発明の実施の形態３に係る誤り訂正復号装置における行演算器の演算例を示した図である。
【発明を実施するための形態】
【００３２】
実施の形態１．
図４は、この発明の実施の形態１に係る誤り訂正復号装置の構成の一例を示したものである。図４においては、誤り訂正復号装置として、ＬＤＰＣ符号で符号化された受信系列を復号するためのＬＤＰＣ符号の復号装置（以下、ＬＤＰＣ復号回路１００と称す。）を例に挙げて示している。図４に示すように、ＬＤＰＣ復号回路１００は、列演算器１０１と行演算器１１１とから構成されている。列演算器１０１および行演算器１１１は、それぞれパリティ検査行列の列数および行数の数だけ設けられている。
【００３３】
ＬＤＰＣ復号回路１００は、パリティ検査行列の各列ｃに対応する受信ＬＬＲ  λcを入力とし、当該各列ｃに対応する推定ビット系列ｂcを出力する。ここで、各列ｃとは、上述したように、パリティ検査行列のｒ行目の要素が１である列番号の集合をＮ（ｒ）とおいたときに、集合Ｎ（ｒ）に含まれる各列のことである。また、受信ＬＬＲ  λcとは、上述したように、列ｃに対応する受信ＬＬＲのことである。
【００３４】
列演算器１０１は、複数の列演算器＃１，＃２，・・・，＃ｎで構成され、それぞれが、パリティ検査行列の各列に対応する。従って、ｎは、パリティ検査行列の列数である。
【００３５】
行演算器１１１は、複数の行演算器＃１，＃２，・・・，＃ｍで構成され、それぞれが、パリティ検査行列の各行に対応する。従って、ｍは、パリティ検査行列の行数である。
【００３６】
列演算器１０１と行演算器１１１は予め決められた回数、もしくは、演算途中経過に従って決まる回数だけ、データのやりとりを繰り返し行い、その後、列演算器１０１が（７）式に基づいて推定ビット系列ｂcを計算し、出力する。
【００３７】
この発明は、列演算器と行演算器の演算を従来の構成から変更したものである。従って、この発明の実施の形態１に係る誤り訂正復号装置の説明を行う前に、従来の列演算器および行演算器について説明する。
【００３８】
まず、図５に従来の列演算器の演算例、図６に従来の行演算器の構成例を示す。
【００３９】
図５の列演算器１０１は、例として、パリティ検査行列の要素１の位置に従って、行演算器＃１  １１１と、行演算器＃５  １１２と、行演算器＃６  １１３とに接続されているとする。これらの行演算器１１１，１１２，１１３から出力された行ＬＬＲ  ε1,1、ε5,1、ε6,1を列演算器１０１は入力とし、上記の（６）式に基づいて演算したｚ1,1、ｚ1,5、ｚ1,6を、それぞれ、行演算器＃１  １１１、行演算器＃５  １１２、及び、行演算器＃６  １１３に出力する。（６）式の演算結果を具体的に記述したものが、図５に示されているｚ1,1＝λ1＋ε5,1＋ε6,1、ｚ1,5＝λ1＋ε1,1＋ε6,1、ｚ1,6＝λ1＋ε1,1＋ε5,1である。
【００４０】
行演算器１１１、行演算器１１２、行演算器１１３では、Ｓｕｍ−Ｐｒｏｄｕｃｔ復号法に従った、上記の（１）式から（５）式に基づいて、各行ＬＬＲ  ε1,1、ε5,1、ε6,1を計算し、列演算器１０１へ出力する。
【００４１】
行演算器１１１，１１２，１１３の従来構成例を、行演算器＃ｘ  １１４として、図６に示す。
【００４２】
図６において、行演算器＃ｘ  １１４は、例として、パリティ検査行列の要素１の位置に従って、列演算器＃１  １０１、列演算器＃i  １０２、列演算器＃ｊ  １０３、列演算器＃ｋ  １０４と接続されているとする。これらの列演算器１０１〜１０４の構成は、図５に示した列演算器＃１  １０１と基本的に同じ構成とする。行演算器＃ｘ  １１４は、図６に示すように、「絶対値の最小値および準最小値の算出部１１５」と「近似に伴う演算処理部１１６」と「セレクタ１１７」とから構成されている。
【００４３】
図６の行演算器＃ｘ  １１４は、Ｍｉｎ−ｓｕｍ復号法（（８）式）、Ｏｆｆｓｅｔ  ＢＰ−ｂａｓｅｄ復号法（（９）式）、Ｎｏｒｍａｌｉｚｅｄ  Ｍｉｎ−ｓｕｍ復号法（（１０）式）、あるいは、δ−ｍｉｎ復号法といった、Ｓｕｍ−ｐｒｏｄｕｃｔ復号法の近似演算からなる復号法に基づく構成を示している。
【００４４】
絶対値の最小値および準最小値の算出部１１５は、列演算器＃１  １０１、列演算器＃i  １０２、列演算器＃ｊ  １０３、列演算器＃ｋ  １０４で演算された列ＬＬＲ  ｚx,1、ｚx,i、ｚx,j、ｚx,kが入力され、それらの絶対値の中から最小値とそれに準ずる値とを算出する。具体的には、絶対値の最小値および準最小値の算出部１１５は、後段の近似に伴う演算処理部１１６やセレクタ１１７でＭｉｎ−ｓｕｍ復号法（（８）式）、あるいは、Ｏｆｆｓｅｔ  ＢＰ−ｂａｓｅｄ復号法（（９）式）及びＮｏｒｍａｌｉｚｅｄ  Ｍｉｎ−ｓｕｍ復号法（（１０）式）等のＭｉｎ−ｓｕｍ復号法をベースとした復号法の近似を用いる場合には、各入力ｚx,c、すなわち、入力ｚx,1，ｚx,i，ｚx,j，ｚx,kの絶対値の中から最小値と２番目に小さい値とを算出する。一方、後段の近似に伴う演算処理部１１６やセレクタ１１７でδ−ｍｉｎ復号法あるいはそれと同様の近似を用いる場合には各入力ｚx,c、すなわち、入力ｚx,1，ｚx,i，ｚx,j，ｚx,kの絶対値の中から最小値、２番目に小さい値、及び、３番目に小さい値を算出する。ただし、最小値から何番目までの小さい値をそれぞれ求めれば良いかは、所望の近似精度に従って自由に決定でき、この発明では限定されるものではない。すなわち、最小値、２番目に小さい値、３番目に小さい値、それより大きい値（以下、これらを準最小値という）を、絶対値の最小値および準最小値の算出部１１５で算出し、それらの値によって後段の近似に伴う演算処理部１１６やセレクタ１１７によって行ＬＬＲが算出可能である復号法であれば、いかなる復号法もこの発明に適用することができる。
【００４５】
近似に伴う演算処理部１１６は、後段のセレクタ１１７でＯｆｆｓｅｔ  ＢＰ−ｂａｓｅｄ復号法（（９）式）やＮｏｒｍａｌｉｚｅｄ  Ｍｉｎ−ｓｕｍ復号法（（１０）式）、あるいは、δ−ｍｉｎ復号法を行う場合に、その前処理として、最小値や２番目の最小値等への各種演算を行う。例えば、Ｏｆｆｓｅｔ  ＢＰ−ｂａｓｅｄ復号法であれば、（９）式における最小値ｍｉｎ｜ｚr,c'｜からαを減算する演算などである。このように、近似に伴う演算処理部１１６で前処理を行っておくと、後段のセレクタ１１７の演算負荷が減り、セレクタ１１７の回路構成が簡素化される。なお、当然であるが、Ｍｉｎ−ｓｕｍ復号法（（８）式）と同様の処理を行う場合には、近似に伴う演算処理部１１６は特に必要ないので、設けなくてもよい。
【００４６】
セレクタ１１７は、近似に伴う演算処理部１１６の出力を用いて、Ｏｆｆｓｅｔ  ＢＰ−ｂａｓｅｄ復号法（（９）式）、または、Ｎｏｒｍａｌｉｚｅｄ  Ｍｉｎ−ｓｕｍ復号法（（１０）式）、または、δ−ｍｉｎ復号法、または、Ｍｉｎ−ｓｕｍ復号法（（８）式）等のいずれかに従った演算処理を行って、各列演算器＃ｃ、すなわち、列演算器＃１，＃ｉ，＃ｊ，＃ｋ  １０１〜１０４への出力値（行ＬＬＲ  εx,c）を算出して出力する。具体的には、近似に伴う演算処理部１１６の出力に対し、（１１）式により正負の符号ｓｇx,cを算出後、（８）〜（１０）式等のいずれかを用いて、列演算器＃１  １０１，＃ｉ  １０２，＃ｊ  １０３，＃ｋ  １０４へ出力するための行ＬＬＲ  εx,1、εx,i、εx,j、εx,kを算出し、算出した行ＬＬＲ  εx,1、εx,i、εx,j、εx,kを適切な列演算器＃１  １０１，＃ｉ  １０２，＃ｊ  １０３，＃ｋ  １０４に選択して出力する。なお、（１１）式の正負の符号算出は他の部位で行ってもよい。
【００４７】
【数１１】
0005971670.tif 000012
【００４８】
なお、上記の説明においては、近似に伴う演算処理部１１６とセレクタ１１７とを別個に設けるとして説明したが、必ずしもこれに限定されることはなく、これらを一体化させて設けてもよい。以下、近似に伴う演算処理部１１６とセレクタ１１７とは、絶対値の最小値および準最小値の算出部１１５から出力された絶対値の最小値と準最小値とから行ＬＬＲを算出するための演算部を構成しているので、これらを纏めた場合、単に、演算部と呼ぶ。
【００４９】
以上、従来技術について説明したが、以下、この発明の実施の形態１に係る列演算器および行演算器について説明する。
【００５０】
図７に、この発明の実施の形態１に係る列演算器の構成を示す。
【００５１】
図７において、列演算器＃１  ２０１は、例として、パリティ検査行列の要素１の位置に従って、３つの行演算器、すなわち、行演算器＃１  ２１１と行演算器＃５  ２１２と行演算器＃６  ２１３とに接続されているとする。列演算器＃１  ２０１は、復号対象である受信系列の受信ＬＬＲ  λ1が入力されるとともに、これらの行演算器２１１〜２１３から出力された行ＬＬＲ  ε1,1、ε5,1、ε6,1が入力される。列演算器＃１  ２０１は、入力されたそれらの値を用いて、（７）式と同様の演算であるｚ1＝λ1＋ε1,1＋ε5,1＋ε6,1を行って、受信ＬＬＲと行ＬＬＲとの合計値ｚ1を求め、行演算器＃１  ２１１と行演算器＃５  ２１２と行演算器＃６  ２１３とに当該合計値ｚ1を出力する。本実施の形態では、従来と異なり、列演算器＃１  ２０１で（６）式の列ＬＬＲを求める演算は行わず、さらに出力もしない。図５の従来の構成と大きく異なる点は、従来の列演算器１０１では、図５に示すように、接続された行演算器ごとに異なる値（ｚ1,1、ｚ1,5、ｚ1,6）を出力していたが、本実施の形態では、図７に示すように、列演算器２０１が接続された行演算器２１１〜２１３に対してすべて同一の値（合計値ｚ1のみ）を出力する点である。これにより、配線の複雑さが大幅に改善され、実装性が向上する。
【００５２】
行演算器＃１  ２１１、行演算器＃５  ２１２、行演算器＃６  ２１３は、それぞれ、記憶部（図示省略）を有し、列演算器＃１  ２０１へ出力した行ＬＬＲ  ε1,1、ε5,1、ε6,1を当該記憶部に記憶しておく。ここで、記憶部に保持されたε1,1、ε5,1、ε6,1を、それぞれ、ε’1,1、ε’5,1、ε’6,1と表すこととする。本実施の形態における行演算器＃１  ２１１、行演算器＃５  ２１２、行演算器＃６  ２１３では、列演算器＃１  ２０１から入力された合計値ｚ1から、それぞれの記憶部に保持している、ε’1,1、ε’5,1、ε’6,1を減算することで、列ＬＬＲ  ｚ1,1、ｚ5,1、ｚ6,1を得る。詳細は後述する。
【００５３】
次に、図８を用いて、本実施の形態に係る行演算器の構成を示す。
【００５４】
図８に示すように、行演算器＃ｘ  ２１４は、例として、パリティ検査行列の要素１の位置に従って、列演算器＃１  ２０１、列演算器＃ｉ  ２０２、列演算器＃ｊ  ２０３、列演算器＃ｋ  ２０４と接続されているとする。なお、これらの各列演算器２０１〜２０４は、行演算器＃ｘ  ２１４以外の行演算器とも接続されており、接続関係は前記のとおりパリティ検査行列によって定まる。行演算器＃ｘ  ２１４は、「絶対値の最小値および準最小値の算出部１１５」と、「近似に伴う演算処理部１１６」と、「セレクタ１１７」と、「記憶部２１８」と、「減算部２２０，２２１，２２３，２２４」とから構成される。「近似に伴う演算処理部１１６」は、従来の図６と同様のものであるため、ここでは詳細な説明を省略する。図６と大きく異なる点は、本実施の形態では、図８に示すように、記憶部２１８と減算部２２０，２２１，２２３，２２４とが追加されたことである。
【００５５】
絶対値の最小値および準最小値の算出部１１５では、後述する減算部２２０，２２１，２２３，２２４から列ＬＬＲ  ｚx,1、ｚx,i、ｚx,j、ｚx,kが入力され、それらの列ＬＬＲの絶対値の中から最小値とそれに準ずる値とを算出する。算出方法については、従来の図６の絶対値の最小値および準最小値の算出部１１５と同じでよいため、ここでは説明を省略する。
【００５６】
セレクタ１１７は、演算処理の内容としては、図６のセレクタ１１７と同じであるため、ここでは説明を省略するが、図６と異なる点は、図８では、セレクタ１１７の出力線が、各列演算器２０１〜２０４だけでなく、記憶部２１８へも接続されていることである。これらの出力線には、従来構成（図６）で列演算器１０１〜１０４へと出力していたのと同じ値、すなわち、行ＬＬＲ  εx,cが出力される。具体的には、列演算器＃１  ２０１へは行ＬＬＲ  εx,1が出力され、列演算器＃ｉ  ２０２へは行ＬＬＲ  εx,iが出力され、列演算器＃ｊ  ２０３へは行ＬＬＲ  εx,jが出力され、列演算器＃ｋ  ２０４へは行ＬＬＲ  εx,kが出力され、記憶部２１８へは、行ＬＬＲ  εx,1、εx,i、εx,j、εx,k（以下、纏めて、行ＬＬＲ  εx,cと称す。）が出力される。
【００５７】
記憶部２１８は、セレクタ１１７からの出力、すなわち、行ＬＬＲ  εx,cを保持する。保持した行ＬＬＲ  εx,cの値を、それぞれ、ε’x,cとここでは表記することとする。記憶部２１８は、セレクタ１１７から列演算器＃１  ２０１に出力されたεx,1が列演算器＃１  ２０１で処理された後、行演算器＃ｘ  ２１４にｚ1として入力されるタイミングで、保持している行ＬＬＲ  ε’x,1を、適切に、減算部２２０へと出力する。同様に、セレクタ１１７から列演算器＃ｉ  ２０２に出力されたεx,iが、列演算器＃ｉ  ２０２で処理された後、行演算器＃ｘ  ２１４にｚiとして入力されるタイミングで、記憶部２１８はε’x,iを、適切に、減算部２２１へと出力する。他の減算部２２３，２２４についても同様である。
【００５８】
減算部２２０では、列演算器＃１  ２０１から入力された合計値ｚ1からε’x,1を減算するｚx,1＝ｚ1−ε’x,1の減算処理を行い、列ＬＬＲ  ｚx,1を算出する。減算部２２１、減算部２２３、減算部２２４も、減算部２２０と同様の処理を行い、それぞれ、列ＬＬＲ  ｚx,i（＝ｚ1−ε’x,i）、列ＬＬＲ  ｚx,j（＝ｚ1−ε’x,j）、列ＬＬＲ  ｚx,k（＝ｚ1−ε’x,k）を算出する。
【００５９】
なお、行演算器＃ｘ  ２１４に接続される列演算器はいくつであってよく、図８のように４つでなくても、本実施の形態は構成可能である。接続される列演算器の数に応じて、減算部の設置数や他の部の処理は異なるが、本分野の技術者であれば、これまでに説明した内容で容易に想定できる。
【００６０】
従来の列演算器では、接続された行演算器ごとに異なる値を出力するために、各行演算器への出力値を接続された行演算器の数だけそれぞれ算出していたが、本実施の形態では、行演算器＃ｘ  ２１４で、前回演算時の行ＬＬＲ  εx,cを、ε’x,cとして保持して、合計値ｚcからの減算を行うようにしたので、各列演算器２０１〜２０４は、それに接続された行演算器へ、同一の値（合計値ｚcのみ）を出力することを可能としている。本実施の形態によれば、列演算器から行演算器への出力を同一の値としたことにより、配線の複雑さが改善し、実装性が向上する効果がある。
【００６１】
また、列演算器の出力値をフリップフロップで一旦蓄えて出力する場合、従来列演算器では接続された行演算器それぞれに対して異なる値を出力するために、フリップフロップをそれぞれ設置する必要があったが、本実施の形態では、接続された行演算器へ同一の値を出力するためフリップフロップは１種のみでよい。本実施の形態によれば、フリップフロップ数の削減により、回路規模削減効果が得られる。
【００６２】
以上のように、本実施の形態においては、ＬＤＰＣ符号で符号化された受信系列を復号するためのＬＤＰＣ符号の復号装置であって、前記ＬＤＰＣ符号の検査行列の列と行とにそれぞれ対応して設けられた複数の列演算器２０１〜２０４と複数の行演算器２１４とを備えている。列演算器２０１〜２０４は、受信系列の受信ＬＬＲが入力されるとともに行演算器２１４から行ＬＬＲが入力され、受信系列の受信ＬＬＲと行演算器２１４からの行ＬＬＲとの合計値ｚcを算出する。また、行演算器２１４は、前回演算時に得られた行ＬＬＲまたは列ＬＬＲに関する演算結果を保持し、列演算器２０１〜２０４から入力された合計値ｚcと保持された前記演算結果とを用いて列ＬＬＲを算出し、算出された前記列ＬＬＲから行ＬＬＲを算出して前記列演算器へ出力するようにした。こうして、列演算器２０１〜２０４で、列ＬＬＲを求めずに、受信ＬＬＲと行演算器２１４からの行ＬＬＲとの合計値ｚcのみを算出して、すべての行演算器に対して、同一の値（合計値ｚc）を出力する構成とした。これにより、列演算器と行演算器との間の配線数を減らし、配線複雑さを緩和することで、ＬＤＰＣ符号の復号回路の実装性を向上させることができる。
【００６３】
また、本実施の形態においては、行演算器２１４は、前回演算時に列演算器２０１〜２０４へ出力した前回演算時の行ＬＬＲを列ごとに保持する記憶部２１８と、列演算器２０１〜２０４から入力される合計値ｚcから、前記記憶部に保持された前記前回演算時の列ごとの前記行ＬＬＲを減算して、列ごとの列ＬＬＲを算出する減算部２２０，２２１，２２３，２２４と、減算部２２０，２２１，２２３，２２４から出力された列ごとの列ＬＬＲの絶対値の中から最小値と準最小値とを算出する絶対値の最小値および準最小値の算出部１１５と、絶対値の最小値および準最小値の算出部１１５から出力された絶対値の最小値と準最小値とから行ＬＬＲを算出して列演算器へ出力する演算部１１６，１１７とを有しているようにした。従来の列演算器では、接続された行演算器ごとに異なる値を出力するために、各行演算器への出力値を接続された行演算器の数だけそれぞれ算出していたが、本実施の形態では、上記のように構成することで、行演算器２１４で、行ＬＬＲ  εx,cを保持して合計値ｚcから減算することで、列演算器２０１〜２０４は接続された行演算器２１４へ同一の値を出力することを可能としたため、本実施の形態によれば、列演算器から行演算器への出力を同一の値としたことにより、配線の複雑さが改善し、実装性が向上する効果がある。
【００６４】
さらに、本実施の形態においては、セレクタ１１７で行う復号処理を、Ｓｕｍ−Ｐｒｏｄｕｃｔ復号法ではなく、Ｍｉｎ−ｓｕｍ復号法（（８）式）、Ｏｆｆｓｅｔ  ＢＰ−ｂａｓｅｄ復号法（（９）式）、Ｎｏｒｍａｌｉｚｅｄ  Ｍｉｎ−ｓｕｍ復号法（（１０）式）、または、δ−ｍｉｎ復号法などの、Ｓｕｍ−Ｐｒｉｄｕｃｔ復号法の近似演算からなる復号法を用いて行うようにしたので、演算量を削減することができるという効果が得られる。
【００６５】
実施の形態２．
上述した実施の形態１では、行演算器２１４が前回演算時の行ＬＬＲ  εx,cを記憶部に保持し、列演算器２０１〜２０４からの入力に対して減算を行うことで、列演算器２０１〜２０４が、接続されている行演算器へ同一の値を出力することを可能としたものであるが、行演算器に記憶部２１８の設置が必要である。本実施の形態では記憶部の設置方法を変えた構成を示す。
【００６６】
図９に本実施の形態に係る誤り訂正復号装置の行演算器＃ｘ  ３１４の構成を示す。
【００６７】
行演算器＃ｘ  ３１４は、パリティ検査行列に基づいて、例えば、列演算器＃１  ２０１、列演算器＃i  ２０２、列演算器＃ｊ  ２０３、列演算器＃ｋ  ２０４と接続されているとする。なお、これらの各列演算器は、行演算器＃ｘ  ３１４以外の行演算器とも接続されており、接続関係は前記のとおり、パリティ検査行列によって定まる。行演算器＃ｘ  ３１４は、「絶対値の最小値および準最小値の算出部１１５」と、「近似に伴う演算処理部１１６」と、「セレクタ１１７」と、「記憶部３１８」と、「近似に伴う演算処理部２  ３１９」と、「減算部２２０，２２１，２２３，２２４」とから構成される。
【００６８】
列演算器＃１  ２０１、列演算器＃ｉ  ２０２、列演算器＃ｊ  ２０３、列演算器＃ｋ  ２０４、絶対値の最小値および準最小値の算出部１１５、近似に伴う演算処理部１１６、セレクタ１１７、及び、減算部２２０〜２２４は、実施の形態１と同様である。実施の形態１と異なる点は、記憶部２１８の代わりに記憶部３１８が設けられたことと、近似に伴う演算処理部２  ３１９が追加されたことである。従って、実施の形態１と異なる記憶部３１８および近似に伴う演算処理部２  ３１９に対し、ここでは説明する。
【００６９】
記憶部３１８は、絶対値の最小値および準最小値の算出部１１５からの出力が保持される。すなわち、記憶部３１８は、絶対値の最小値および準最小値の算出部１１５で算出された、減算部２２０，２２１，２２３，２２４から出力された列ＬＬＲ  ｚx,1、ｚx,i、ｚx,j、ｚx,kの絶対値の中の最小値および準最小値を記憶する。記憶された最小値および準最小値は演算処理部２  ３１９に入力され、そこで行ＬＬＲ  ε’x,1、ε’x,i等を算出するのに用いられる。
【００７０】
近似に伴う演算処理部２  ３１９は、記憶部３１８から出力された最小値および準最小値を基づいて、行ＬＬＲ  ε’x,1、ε’x,i等を算出する。演算方法としては、近似に伴う演算処理部  １１６と同等の処理を行う。ただし、近似に伴う演算処理部２  ３１９は、セレクタ１１７の機能も一部有しており、算出したε’x,1、ε’x,i等を適切な減算部２２０に選択して出力する機能や、（１１）式に基づいた正負の符号算出機能も有する。
【００７１】
なお、行演算器＃ｘ  ３１４に接続される列演算器はいくつであってよく、図のように４つでなくても本実施の形態は構成可能である。接続される列演算器の数に応じて、減算部の設置数や他の部の処理は異なるが、本分野の技術者であれば、これまでに説明した内容で容易に想定できる。
【００７２】
本実施の形態によれば、列演算器への接続数が多い行演算器においても、実施の形態１と比べて記憶部を小さくすることができ、回路規模を削減することができる。
【００７３】
近似に伴う演算処理部２  ３１９の設置が必要となるが、当該処理部３１９は、前記の通り、最小値や２番目に小さい値といった数種類の値に対する減算などを行うのみの回路であり、回路規模は他の演算部と比べて小さい。
【００７４】
また、本実施の形態によっても、従来構成（図６）には無かった記憶部が必要となるが、従来構成においても、回路として成り立たせるためには、記憶部が何処かに必要となる。従来構成において記憶部が設置される箇所は、列演算器や行演算器、もしくはその外部であり、構成の自由度が高いために図６では図示を省略した。本実施の形態やその他の実施の形態で設置される記憶部は、従来構成において設置される記憶部の一部、もしくは全ての役割を備えており、回路規模の増加に大きく寄与するものではない。
【００７５】
以上のように、本実施の形態によれば、上記の実施の形態１と同様の効果が得られるとともに、本実施の形態においては、絶対値の最小値および準最小値の算出部１１５で算出された最小値と準最小値だけを記憶部３１８に記憶するようにしたので、実施の形態１に比べて、記憶部３１８の記憶容量を小さくすることができ、回路規模を削減することができる。
【００７６】
実施の形態３．
上述した実施の形態１，２では、列演算器をパリティ検査行列の列数だけ設置する構成について記載したが、本実施の形態では、パリティ検査行列の列数よりも少ない個数の列演算器を設置し、それらが時分割処理を行って、全列分の処理を行う。
【００７７】
図１０に、本実施の形態に係る誤り訂正復号装置の構成を示す。図１０（ａ）は、パリティ検査行列の一例と、当該パリティ検査行列の列と行を、どの列演算器およびどの行演算器が処理するかを説明している。図１０（ｂ）では、列演算器＃１  １１と列演算器＃２  １２および、行演算器＃１  ２１、行演算器＃２  ２２、行演算器＃３  ２３、行演算器＃４  ２４、行演算器＃５  ２５、行演算器＃６  ２６が一例として示され、各列演算器や行演算器との間に在る配線を図示し、矢印でデータの入出力関係を表している。
【００７８】
図１０（ａ）の例では、左から１〜３列目の列演算を列演算器＃１  １１が、４〜６列目の列演算を列演算器＃２  １２がそれぞれ時分割で１列ずつ行うことを示している。この場合には、図１０（ｂ）に示すように、列演算器＃１  １１は、パリティ検査行列の要素に従って、行演算器＃１  ２１、行演算器＃２  ２２、行演算器＃４  ２４、行演算器＃５  ２５、行演算器＃６  ２６とに接続されている。つまり、図３の列演算器＃１から＃３が接続される行演算器の全てと、図１０の列演算器＃１は配線を持つことになる。しかし、図示したように、列演算を時分割処理することにより、行演算器から列演算器への配線は、列番号の異なるものどうしで共通化することが可能である。なぜなら列演算器＃１は、ある単位時刻においては1列分の列処理を行うため、行演算器からの入力信号も1列分でよいからである。例えば、列演算器＃１  １１と行演算器＃６  ２６は、列１、２、３のいずれの場合でもデータのやり取りが行われるが、列演算器＃１  １１で同時に処理されるデータは１列分であるので、配線を共通化でき、図１０で３本示す配線は１本に簡略化できる。
【００７９】
列演算を時分割処理するには、列演算器の入力データを制御して、その時に処理したい列に対応する行ＬＬＲを各行演算器から出力すればよい。すなわち、列演算器＃１  ４０２は、予め定められた時刻に、定められた列に対する列処理を行う。行演算器の構成は次に示す。
【００８０】
図１１に本実施の形態に係る誤り訂正復号装置の構成を示す。
【００８１】
図１１に示すように、本実施の形態においては、行演算器＃ｘ  ４１４は、列演算器＃１  ４０２、列演算器＃ｉ  ４０３、もしくは、それ以外の列演算器とも接続されているとする。なお、各列演算器は、行演算器＃ｘ  ４１４以外の行演算器とも接続されており、接続関係は前記のとおりパリティ検査行列によって定まる。また、図１１に示すように、行演算器＃ｘ  ４１４は、「絶対値の最小値および準最小値の算出部４１５」と、「近似に伴う演算処理部１１６」と、「セレクタ４１７」と、「記憶部４１８」と、「近似に伴う演算処理部２  ４１９」と、「減算部４２０、４２１」とから構成される。
【００８２】
列演算器＃１  ４０２は、前記で説明したように、予め定められた時刻に、定められた列に対する列処理を行う。ここでは一例として、列１から列iまでの列処理を行うとしている。どの列に対する列演算を行うかの制御は外部から行い、行ＬＬＲ  εr,cと受信ＬＬＲ  λcを適切に選択して適切なタイミングで列演算器４０１へ入力すればよい。また、出力される推定ビットｂcは、外部に設置されるバッファメモリなどの記憶装置に適切な順番で蓄えられる。
【００８３】
列演算器＃２  ４０３も、列演算器＃１  ４０２と同様の処理を行う。
【００８４】
絶対値の最小値および準最小値の算出部４１５では、減算部４２０および４２１から入力される列ＬＬＲ  ｚx,p，ｚx,qと記憶部４１８に蓄えられた最小値および準最小値を入力として、新たな最小値および準最小値を算出し、近似に伴う演算処理部１１６や記憶部４１８に出力される。これは、列演算処理が時分割処理であるために、絶対値の最小値および準最小値を逐次的に処理するための措置である。なお、ここで、ｐやｑは、列演算器＃１  ４０２や列演算器＃２  ４０３で行われる列処理の列番号を示している。すなわち、ｐは１からｉまでのいずれかであり、ｑはｊからｋまでのいずれかである。
【００８５】
近似に伴う演算処理部１１６の演算処理は、上述の実施の形態１および２と同じであるため、説明を省略する。
【００８６】
セレクタ４１７では、近似に伴う演算処理部１１６の出力に対し、各列演算器＃ｃ  ４０２，４０３への出力値（行ＬＬＲ  εx,c）を算出して出力する。列演算が時分割処理を行う関係上、セレクタ４１７に接続された列演算器＃ｃ  ４０２，４０３の全てへ常に毎時刻データが出力されるとは限らない。出力の必要のない列演算器への接続線に対しては０を出力するよう、セレクタ４１７が選択を行う。なお、実施の形態１，２で示したセレクタ１１７と同様に、セレクタ４１７は、近似に伴う演算処理部１１６の出力に対し、（１１）式により正負の符号を算出後、（８）〜（１０）式等のいずれかのようにして列演算器へ出力する行ＬＬＲを算出し、算出した行ＬＬＲを適切な列演算器に選択して出力する。（１１）式の正負の符号算出は他の部位で行ってもよい。
【００８７】
記憶部４１８では、実施の形態２と同様に、絶対値の最小値および準最小値の算出部４１５で算出した前回演算時の最小値および準最小値を蓄え、絶対値の最小値および準最小値の算出部４１５や近似に伴う演算処理部２  ４１９に対して当該蓄えた最小値および準最小値を出力する。このとき、絶対値の最小値および準最小値の算出部４１５は、減算部４２０，４２１で用いられるε’x,p、ε’x,qが算出可能な範囲で、記憶部４１８に記憶される最小値と準最小値の更新を行う。このことは、減算部４２０や４２１で用いるε’x,pやε’x,qは、以前に行演算器＃ｘ  ４１４で出力したεx,pやε’x,qと同値である必要があるため、記憶部４１８の最小値および準最小値を常に更新すると、時刻の差によってε’x,pやε’x,qが適切に算出できない可能性があるためである。
【００８８】
近似に伴う演算処理部２  ４１９では、記憶部４１８から出力された最小値および準最小値を基づいて行ＬＬＲ  ε’x,p、ε’x,q等を算出する。ここで、ｐやｑは、列演算器＃１  ４０２や列演算器＃２  ４０３で行われる列処理の列番号を示しており、その時刻で行う列処理に対応するε’x,p、ε’x,q等を算出し、減算部４２０や４２１へ出力する。ε’x,p、ε’x,q等の算出は近似に伴う演算処理部１  １１６と同等の処理を行う。ただし、近似に伴う演算処理部２  ４１９は、セレクタ４１７の機能も一部有しており、算出したε’x,1、ε’x,i等を適切な減算部２２０に選択して出力する機能や、（１１）式に基づいた正負の符号算出機能も有する。
【００８９】
減算部４２０では、列演算器＃１  ４０２から入力されたｚp（＝ｚ1〜ｚi）から、近似に伴う演算処理部２  ４１９から入力された行ＬＬＲ  ε’x,pを減算する処理を行い、ｚx,p＝ｚp−ε’x,pを算出し出力する。なお、列演算が時分割処理を行う関係上、列演算器＃１  ４０２から行演算器＃ｘ  ４１４へ常に有意なデータが出力されるとは限らないことがある。すなわち、行演算器＃ｘ  ４１４が対応するパリティ検査行列の行と、列演算器＃１  ４０２がある時刻で列演算する列とにおいて、パリティ検査行列の行列要素が０となる場合である。この場合、減算部４２０では、出力値を入力値によらず所定の大きな値に固定する。回路においては各データにビット幅が定められるため、ビット幅に応じた最大値（正の値）を出力すればよい。最大値を出力することで、次段の絶対値の最小値および準最小値の算出部４１５では自動的に無視されることとなる。
【００９０】
減算部４２１も同様である。
【００９１】
なお、行演算器＃ｘ  ４１４に接続される列演算器はいくつであってよく、図１１のように２つでなくても本実施の形態は構成可能である。接続される列演算器の数に応じて、減算部の設置数や他の部の処理は異なるが、本分野の技術者であれば、これまでに説明した内容で容易に想定できる。
【００９２】
上記の構成によれば、列演算処理を時分割で行うことで、行演算器から列演算器への配線を共通化することができ、配線複雑さを改善することができる。
【００９３】
また、列演算処理を時分割で行うことで列演算器の数を減らすことができ、回路規模を削減することができる。
【００９４】
上記において、図１１を用いて、行演算器＃ｘ  ４１４内部の構成を説明したが、この発明の範囲は必ずしもこの構成に限ってはいない。例えば、減算部４２０では列演算器＃１  ４０２から入力されたｚp（＝ｚ1〜ｚi）に対し、近似に伴う演算処理部２  ４１９から入力された行ＬＬＲ  ε’x,pを減算する処理を行うと説明したが、次のような構成も可能である。すなわち、近似に伴う演算処理部２  ４１９において、行ＬＬＲ  ε’x,pの正負を反転した−ε’x,pを減算部４２０に出力することにすれば、減算部４２０では、ｚpと−ε’x,pの加算を行うことで同等の演算が可能である。同様のことが実施の形態１や実施の形態２でも成り立つ。
【００９５】
その他に、（１１）式に基づく正負の符号ｓｇｘ,ｃの算出は、毎回、（１１）式を計算する必要はなく、（１２）式の算出結果ｓｙｎｃを保持しておき、ｓｙｎｃに対し、ｓｇｎ（ｚx,c）を乗算することでも行える。また、ｓｇｎ（ｚx,c'）＝＋１を０、ｓｇｎ（ｚx,c'）＝−１を１として、それぞれ１ビットで表現すれば、ｓｇｎ（ｚx,c'）の乗算は排他的論理和で同等の演算となる。同様のことが実施の形態１や実施の形態２でも成り立つ。
【００９６】
【数１２】
0005971670.tif 000013
【００９７】
これらの例のように、実施の形態で示した構成は一例でしかなく、同等の演算を行うことで、この発明の構成は可能となる。その場合でも、配線複雑さを改善する効果や、回路規模削減の効果を得ることができる。
【００９８】
また、本実施の形態に類似した構成として、行演算処理を時分割処理する構成がある。行演算処理を時分割処理する行演算器＃ｘは、図９（列演算処理を時分割にしない場合）もしくは図１１（列演算処理と行演算処理の双方を時分割処理する場合）の構成とわずかの違いを除いて同様であるが、行演算器＃ｘが時分割処理を行う複数の行とパリティ検査行列の１の位置の対応に従って行演算器＃ｘと列演算器の接続関係が異なる。また、記憶部は行演算器＃ｘで処理を行う行数分だけ、図９や図１１の構成よりも大きな記憶容量が必要となる。ただし、記憶容量の増加は行演算器一つあたりにおける増加であり、全行演算器を考慮した記憶容量の総和は、図９や図１１の構成と同等である。
【００９９】
この場合でも列演算処理を時分割処理するのと同様に、配線の共通化によって配線複雑さを改善することができる。また、行演算器の数を減らすことができ、回路規模を削減することができる。
【０１００】
本実施の形態における列演算の時分割処理では、各列演算器が時分割処理を行う複数の列が同一の行に行列要素１を多く含む程、配線を多く共通化でき、配線複雑さを改善することができる。特に、空間結合ＬＤＰＣ符号と呼ばれるＬＤＰＣ符号の一種ではパリティ検査行列が規則的であり、複数の列が同一の行に行列要素１を多く含むような列のセットを容易に見つけることができる。言い換えれば、各列演算器が時分割処理を行う列の割り当てを効率的に行うことができ、配線を多く共通化可能で、配線複雑さを改善することができる。また、行演算処理を時分割処理する場合でも同様に、空間結合ＬＤＰＣ符号のパリティ検査行列が規則性を用いて、各行演算器が時分割処理を行う行の割り当てを効率的に行うことができ、配線を多く共通化可能で配線複雑さを改善することができる。
【０１０１】
以上のように、本実施の形態によれば、上記の実施の形態１，２と同様の効果が得られるとともに、さらに、本実施の形態においては、パリティ検査行列の列数よりも少ない個数の列演算器が設置され、それらが時分割処理を行って、全列分の処理を行うようにしたので、行演算器から列演算器への配線を共通化することができ、配線複雑さを改善することができるとともに、列演算器の数を減らすことができ、回路規模を削減することができる。
【図１】
0005971670.tif 000014
【図２】
0005971670.tif 000015
【図３】
0005971670.tif 000016
【図４】
0005971670.tif 000017
【図５】
0005971670.tif 000018
【図６】
0005971670.tif 000019
【図７】
0005971670.tif 000020
【図８】
0005971670.tif 000021
【図９】
0005971670.tif 000022
【図１０】
0005971670.tif 000023
【図１１】
0005971670.tif 000024