(57)【特許請求の範囲】
【請求項１】
ＬＤＰＣ（Low-Density  Parity  Check）符号用のパリティ検査行列を生成する検査行列生成方法であって、
巡回置換行列が行方向と列方向に配置されかつ当該巡回置換行列に特定の規則性を持たせた正則（行と列の重みが一様）な擬似巡回行列を生成する擬似巡回行列生成ステップと、
マスク化擬似巡回行列と巡回置換行列を階段状に配置した行列とを所定位置に配置した、ＬＤＧＭ（Low  Density  Generation  Matrix）構造の非正則なパリティ検査行列を取得するステップと、
前記正則な擬似巡回行列を非正則（行と列の重みが非一様）にするための、複数の符号化率のうちの一つの符号化率に対応可能なマスク行列を生成するマスク行列生成ステップと、
生成したマスク行列を用いて、前記正則なパリティ検査行列をマスクするとともに、一つの符号化率を満たすように、前記マスクした非正則なパリティ検査行列と階段状下三角行列とを組み合わせたパリティ検査行列を生成する検査行列生成ステップと、
を有することを特徴とする検査行列生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ディジタル通信における符号化技術に関するものであり、特に、ＬＤＰＣ（Low-Density  Parity  Check）符号用のパリティ検査行列を生成する検査行列生成方法、当該パリティ検査行列を用いて所定の情報ビットを符号化する符号化方法、および通信装置に関するものである。
【背景技術】
【０００２】
以下、符号化方式としてＬＤＰＣ符号を採用する従来の通信システムについて説明する。ここでは、ＬＤＰＣ符号の一例として擬似巡回（ＱＣ：Quasi-Cyclic）符号（非特許文献１参照）を採用する場合について説明する。【０００３】
まず、符号化方式としてＬＤＰＣ符号を採用する従来の通信システムにおける、符号化／復号処理の流れを簡単に説明する。【０００４】
送信側の通信装置（送信装置と呼ぶ）内のＬＤＰＣ符号化器では、後述する従来の方法でパリティ検査行列Ｈを生成する。さらに、ＬＤＰＣ符号化器では、たとえば、Ｋ行×Ｎ列の生成行列Ｇ（Ｋ：情報長，Ｎ：符号語長）を生成する。ただし、ＬＤＰＣ用のパリティ検査行列をＨ（Ｍ行×Ｎ列）とした場合、生成行列Ｇは、ＧＨT＝０（Ｔは転置行列）を満たす行列となる。【０００５】
その後、ＬＤＰＣ符号化器では、情報長Ｋのメッセージ（ｍ1，ｍ2，…，ｍK）を受け取り、このメッセージおよび上記生成行列Ｇを用いて、式（１）のように、符号語Ｃを生成する。ただし、Ｈ（ｃ1，ｃ2，…，ｃN）T＝０とする。
Ｃ＝（ｍ1，ｍ2，…，ｍK）Ｇ
＝（ｃ1，ｃ2，…，ｃN）                    …（１）【０００６】
そして、送信装置内の変調器では、ＬＤＰＣ符号化器で生成した符号語Ｃに対して、ＢＰＳＫ（Binary  Phase  Shift  Keying），ＱＰＳＫ（Quadrature  Phase  Shift  Keying），多値ＱＡＭ（Quadrature  Amplitude  Modulation）等の所定の変調方式によりディジタル変調を行い、その変調信号ｘ＝（ｘ1，ｘ2，…，ｘN）を受信装置に送信する。【０００７】
一方、受信側の通信装置（受信装置と呼ぶ）では、復調器が、受け取った変調信号ｙ＝（ｙ1，ｙ2，…，ｙN）に対して、上記ＢＰＳＫ，ＱＰＳＫ，多値ＱＡＭ等の変調方式に応じたディジタル復調を行い、さらに、受信装置内のＬＤＰＣ復号器が、復調結果に対して「ｓｕｍ−ｐｒｏｄｕｃｔアルゴリズム」による繰り返し復号を実施し、その復号結果（元のメッセージｍ1，ｍ2，…，ｍKに対応）を出力する。【０００８】
ここで、ＬＤＰＣ符号用の従来のパリティ検査行列生成方法を具体的に説明する。ＬＤＰＣ符号用のパリティ検査行列としては、たとえば、非特許文献１において、以下のＱＣ符号のパリティ検査行列が提案されている。図１０に示すＱＣ符号のパリティ検査行列は、ｐ行×ｐ列の巡回置換行列（ｐ＝５）が縦方向（Ｊ＝３）と横方向（Ｌ＝５）に配置された行列となっている。【０００９】
一般的には、Ｍ（＝ｐJ）行×Ｎ（＝ｐL）列の（Ｊ，Ｌ）ＱＣ符号のパリティ検査行列ＨQCは、式（２）のように定義することができる。なお、ｐは奇数（２以外）の素数であり、Ｌはパリティ検査行列ＨQCにおける巡回置換行列の横方向（列方向）の個数であり、Ｊはパリティ検査行列ＨQCにおける巡回置換行列の縦方向（行方向）の個数である。【００１０】
【数１】
0004598085.tif 000002
【００１１】
ただし、０≦ｊ≦Ｊ−１，０≦ｌ≦Ｌ−１において、Ｉ（ｐj,l）は、行番号：ｒ（０≦ｒ≦ｐ−１），列番号：「（ｒ＋ｐj,l）ｍｏｄ  ｐ」の位置が“１”となり、その他の位置が“０”となる巡回置換行列である。【００１２】
また、ＬＤＰＣ符号の設計の際には、一般的に、長さが短いループが多く存在するときに性能の劣化を引き起こすため、内径を大きくし、長さが短いループ（ループ４，ループ６等）の数を少なくする必要がある。【００１３】
なお図１１に、検査行列の一例をタナーグラフで表現した場合を示す。図の｛０，１｝の２元のＭ行×Ｎ列のパリティ検査行列Ｈにおいて、各列に対応するノードをビットノードｂn（１≦ｎ≦Ｎ）と呼び（図中の○に相当）、各行に対応するノードをチェックノードｃm（１≦ｍ≦Ｍ）と呼び（図中の□に相当）、さらに、検査行列の行と列の交点に“１”がある場合にそのビットノードとチェックノードを枝で接続する２部グラフをタナーグラフと呼ぶ。また、ループとは、図１１に示すように、特定のノード（図中の○や□に相当）から始まりそのノードで終わる閉路のことを表し、また、内径とは、その最小ループを意味する。また、ループの長さは、閉路を構成する枝の数で表現され、長さに応じて、簡易的にループ４，ループ６，ループ８…と表現する。【００１４】
また、非特許文献１においては、（Ｊ，Ｌ）ＱＣ−ＬＤＰＣ符号のパリティ検査行列ＨQCにおける内径ｇの範囲が、「４≦ｇ≦１２（ｇは偶数）」とされている。ただし、ｇ＝４を回避することは容易であり、多くの場合、ｇ≧６である。【００１５】
【非特許文献１】M.Fossorier “Quasi-Cyclic  Low  Density  Parity  Check  Code”  ISIT2003,  pp150,  Japan,  June  29-July  4,  2003
【発明の開示】
【発明が解決しようとする課題】
【００１６】
しかしながら、上記従来の技術によれば、符号化率を変化させる為に複数の異なる検査行列が必要でありメモリ量が大きくなり、回路も複雑になるという問題があった。
【課題を解決するための手段】
【００１７】
かかる問題を解決するために、この発明における検査行列生成方法では、ＬＤＰＣ（Low-Density  Parity  Check）符号用のパリティ検査行列を生成する検査行列生成方法であって、巡回置換行列が行方向と列方向に配置されかつ当該巡回置換行列に特定の規則性を持たせた正則（行と列の重みが一様）な擬似巡回行列を生成する擬似巡回行列生成ステップと、マスク化擬似巡回行列と巡回置換行列を階段状に配置した行列とを所定位置に配置した、ＬＤＧＭ（Low  Density  Generation  Matrix）構造の非正則なパリティ検査行列を取得するステップと、前記正則な擬似巡回行列を非正則（行と列の重みが非一様）にするための、複数の符号化率のうちの一つの符号化率に対応可能なマスク行列を生成するマスク行列生成ステップと、生成したマスク行列を用いて、前記正則なパリティ検査行列をマスクするとともに、一つの符号化率を満たすように前記マスクした非正則なパリティ検査行列と階段状下三角行列とを組み合わせたパリティ検査行列を生成する検査行列生成ステップと、を有することとした。
【発明の効果】
【００１８】
この発明によれば、ある情報長に対して複数の符号化率を得る為に必要な検査行列は一つで対応できる為、回路規模を大幅に削減することができる。
【図面の簡単な説明】
【００１９】
【図１】図１は、この発明の実施の形態１による通信システムの構成を示すブロック図である。
【図２】図２は、この発明の実施の形態１による通信システムの構成の詳細を示すブロック図である。
【図３】図３は、この発明の実施の形態２による非正則なパリティ検査行列の構成を示す図である。
【図４】図４は、この発明の実施の形態１及び２による符号構成法と実施の形態３に夜符号構成法との性能を比較した図である。
【図５】図５は、この発明の実施の形態３による符号構成法の説明図である。
【図６】図６は、この発明の実施の形態３による符号構成法の説明図である。
【図７】図７は、この発明の実施の形態３によるパリティ検査行列の構成を示す図である。
【図８】図８は、この発明の実施の形態５によるパリティ検査行列の構成を示す図である。
【図９】図９は、この発明の実施の形態６によるパリティ検査行列の構成を示す図である。
【図１０】図１０は、パリティ検査行列の例を示した図である。
【図１１】図１１は、ＬＤＰＣ符号化処理における検査行列をタナーグラフで示した図である。
【符号の説明】
【００２０】
１  送信装置
２  通信路
３  受信装置
１１  ＬＰＤＣ符号化器
１２  パリティ検査行列生成器
１３  変調器
１４  復調器
２１  ＱＣ−ＬＤＰＣ検査行列記憶手段
２２  マスキング手段
【発明を実施するための最良の形態】
【００２１】
実施の形態１．
以下に、本発明にかかる検査行列生成方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。【００２２】
図１は、この発明の実施の形態１に係る送信装置及び受信装置を含む通信システムの構成例を示す図である。図において、送信装置１は、ＬＤＰＣ符号化器１１とパリティ検査行列生成器１２、変調器１３とを含む構成とされている。また通信路２は典型的には無線伝送ネットワークや光伝送ネットワークなどの情報伝送路である。受信装置３は、復調器１４とＬＤＰＣ復号器１５を含む構成とされている。【００２３】
なお、通信路２は、必ずしも双方向通信が可能である必要はなく、例えば記憶媒体を直接搬送する形で情報伝送するような構成であってもよい。その場合には、送信装置１は例えば記憶媒体に情報を書き込む側の装置であり、受信装置２は記憶媒体から情報を読みとる側の装置が該当することになる。【００２４】
ここで、図１に示す通信システムにおける符号化処理，復号処理の流れを簡単に説明する。【００２５】
送信装置１のＬＤＰＣ符号化器１１は、情報長Ｋのメッセージｕ＝（ｕ1，ｕ2，…，ｕK）を受け取る。そして、パリティ検査行列生成器１２から出力されるパリティ検査行列ＨMを用いて、メッセージｕを符号化し、式（３）を満たす長さＮの符号語ｖを生成する。
ｖ＝｛（ｖ1，ｖ2，…，ｖN）∈ＧＦ（２）｜（ｖ1，ｖ2，…，ｖN）ＨMT＝０｝  （３）【００２６】
ここでパリティ検査行列生成器１２が出力するパリティ検査行列ＨMは、所定のマスキングルールに基づいてマスキング処理が行われたＭ行×Ｎ列のパリティ検査行列である。【００２７】
変調器１３は、ＬＤＰＣ符号化器１２が生成した符号語ｖに対して、ＢＰＳＫ，ＱＰＳＫ，多値ＱＡＭ等の所定の変調方式によりディジタル変調を行い、変調信号ｘ＝（ｘ1，ｘ2，…，ｘN）を生成する。変調信号ｘは、通信路２を介して送信され、受信装置３において変調信号ｙ＝（ｙ1，ｙ2，…，ｙN）として受信される。【００２８】
受信装置３において、復調器１４は、受信した変調信号ｙに対して、ＢＰＳＫ，ＱＰＳＫ，多値ＱＡＭ等の送信装置側で採用される変調方式に応じたディジタル復調を行う。その復調結果はＬＤＰＣ復号器１５に入力される。ＬＰＤＣ復号器１５は、復調結果に対して繰り返し復号を実施し、推定結果Ｕ（元のメッセージｕ＝（ｕ1，ｕ2，…，ｕK）に対応）を出力する。【００２９】
従来のＬＤＰＣ符号化復号方式による送受信システムでは、このような場合に情報長Ｋ、符号語長Ｎとなるような生成行列Ｇを用いて情報ビットの符号化を行っていたが、この発明の実施の形態による通信システムでは、パリティ検査行列を用いて符号化を行う点に特徴がある。【００３０】
そこで、次にパリティ検査行列生成器１２における検査行列ＨMの生成方法を詳細に説明する。図２は、パリティ検査行列生成器１２の詳細な構成を示すブロック図である。図において、ＱＣ−ＬＤＰＣ（擬似巡回ＬＤＰＣ）検査行列記憶手段２１はＬＤＧＭ構造のＱＣ−ＬＤＰＣ検査行列ＨQCL（以下、単に検査行列ＨQCLという）を記憶する記憶素子又は回路、媒体である。【００３１】
また、マスキング手段２２は、ＱＣ−ＬＤＰＣ検査行列記憶手段２１より検査行列ＨQCLを取得するとともに、符号化率２３に応じて検査行列ＨQCLをマスキングし、イレギュラー（非正則、重み分布が非一様）なパリティ検査行列ＨM２４を出力する部位である。符号化率２３としては複数の符号化率が想定されている。すなわち、この実施の形態の通信システムは、共通の検査行列ＨQCLを、想定される複数の符号化率に適合させて、それぞれの符号化率に応じたパリティ検査行列ＨMを生成する点に特徴がある。【００３２】
そこで次に、ＱＣ−ＬＤＰＣ検査行列記憶手段２１によって記憶される検査行列ＨQCLの構成について説明する。【００３３】
検査行列ＨQCL（＝［ｈm,n］）を、Ｍ（＝ｐJ）行×Ｎ（＝ｐL＋ｐJ）列で構成する場合、式（４）のように定義される。【００３４】
【数２】
0004598085.tif 000003
【００３５】
なお、ｈm,nは、検査行列ＨQCLにおいて、行番号ｍ，列番号ｎの要素（行列成分）を表すものとする。またｐJは情報ビット数がＫであって、符号化率２３として想定される最小の符号化率が１／Ｍである場合には、ｐJ＝Ｋ×Ｍで与えられる。またｐLはｐL＝Ｋ×(Ｍ＋１)で与えられる。【００３６】
また、０≦ｊ≦Ｊ−１，０≦ｌ≦Ｌ−１において、Ｉ（ｐj,l）は、行番号ｒ（ただし、０≦ｒ≦ｐ−１），列番号「（ｒ＋ｐj,l）ｍｏｄ  ｐ」の要素が“１”となり、その他の要素が“０”となる正則なｐ×ｐの巡回置換行列である。たとえば、Ｉ（１）は、式（５）のように表される。【００３７】
【数３】
0004598085.tif 000004
【００３８】
またｐとしては通常２以外の素数が選択される。しかしながら、ｐを可変とする場合は奇数としてもよい。ｐを素数としたまま可変としようとすると、素数をメモリに記憶させる必要があるが、奇数の場合はメモリを必要としないという利点を有する。またｐを素数とした場合に比べて、奇数としても、高符号化率のパンクチャ時に性能が劣化する場合があってもその劣化は僅かにとどまる。【００３９】
なお、以下の説明において、検査行列の成分のうち、情報ビットに対応する部分、すなわち情報ビット数に等しい列までの部分行列を”左側の行列”と呼ぶこととする。すなわち情報ビット数がＫであるならば、１列目からＫ列目までの列成分のみを切り出した部分行列が左側の行列に相当する。また、パリティ検査行列の成分のうち、パリティビットに対応する部分、すなわち左側の行列を除く列成分のみを切り出した部分行列を”右側の行列”と呼ぶこととする。【００４０】
同様に、以下の説明において、左側という場合には、情報ビットに対応する成分のことを指し、右側という場合にはパリティビットに対応する成分のことを指すものとする。
式（４）に示した検査行列ＨQCLは、左側の行列が、式（２）で示したＱＣ符号のパリティ検査行列と同一の擬似巡回行列ＨQCとなる。また、検査行列ＨQCLの右側の成分は、式（６）に示すようなＩ（０）を階段状に配置した行列ＨT（階段状下三角行列）となっている。【００４１】
【数４】
0004598085.tif 000005
【００４２】
なお、行列ＨTの部分は式（７）に示すＨDのようにしても構わない。【００４３】
【数５】
0004598085.tif 000006
【００４４】
なお、式（６）及び式（７）において階段状に配置される巡回置換行列としては、Ｉ（０）の他、任意のＩ（ｓ｜ｓ∈［０，ｐ−１］）を用いてもよいし、異なるＩ（ｓ１）とＩ（ｓ２）（ただし、ｓ１，ｓ２∈［０，ｐ−１］かつｓ１≠ｓ２）を組み合わせて用いてもよい。【００４５】
ここで、ＬＤＧＭ構造とは、式（４）に示す行列のように、パリティビットに対応する行列の成分（右側の成分）が下三角行列となるように巡回置換行列を配置した構造のことをいう。この構造を用いることにより、生成行列Ｇを用いずに符号化を容易に実現できる。たとえば、組織符号語ｖを式（８）のように表し、情報メッセージｕ＝（ｕ1，ｕ2，…，ｕK）が与えられた場合、パリティ要素ｐm＝（ｐ1，ｐ2，…，ｐM）は、「ＨQCL・ｖT＝０」を満たすように、すなわち、式（９）のように生成する。
ｖ＝（ｖ1，ｖ2，…，ｖK，ｖK+1，ｖK+2，…，ｖN）
＝（ｕ1，ｕ2，…，ｕK，ｐ1，ｐ2，…，ｐM）                …（８）
ここで、Ｎ＝Ｋ＋Ｍである。【００４６】
【数６】
0004598085.tif 000007
【００４７】
さらに、この実施の形態による通信システムでは、式（４）で定義された検査行列ＨQCLの左側の擬似巡回行列ＨQC部分において、特定の規則性を設けることとする。すなわち、擬似巡回行列ＨQC部分の行番号ｊ（＝０，１，２，…Ｊ−１），列番号ｌ（＝０，１，２，…Ｌ−１）に配置されるｐ行×ｐ列の巡回置換行列Ｉ（ｐj,l）の成分を定めるにあたって、ｐ0,lを任意の整数とし、式（１０）または式（１１）によってｐj,lが求められるように巡回置換行列Ｉ（ｐj,l）の成分を定める。
ｐj,l＝ｐ0,l（ｊ＋１）ｍｏｄ  ｐ              …（１０）
ｐj,l＝（（ｐ−ｐ0,l）（ｊ＋１））ｍｏｄ  ｐ  …（１１）【００４８】
以上がＱＣ−ＬＤＰＣ検査行列記憶手段２１において記憶されている検査行列ＨQCLの構成である。【００４９】
続いて、マスキング手段２２において行われる検査行列ＨQCLに対するマスク処理について説明する。【００５０】
たとえば、式（４）によって示されるＨQCL左側の行列を、式（１２）に示すように、Ｊ×Ｌの擬似巡回行列ＨQCと表すものとする。【００５１】
【数７】
0004598085.tif 000008
【００５２】
そうすると、マスク行列Ｚ（＝［ｚj,l］）をＧＦ（２）上のＪ行×Ｌ列の行列とした場合、後述する所定のルールを適用すると、マスク処理後の行列ＨMQCは、式（１３）のように表すことができる。【００５３】
【数８】
0004598085.tif 000009
【００５４】
なお、式（１３）におけるｚj,lＩ（ｐj,l）は、式（１４）のように定義される。【００５５】
【数９】
0004598085.tif 000010
【００５６】
式（１４）における０行列は、ｐ行×ｐ列の０行列である。また、行列ＨMQCは、擬似巡回行列ＨQCをマスク行列Ｚの０要素によりマスクすることによって、重み分布を非一様（イレギュラー）にした行列であり、また、行列ＨMQCの巡回置換行列の分布は、マスク行列Ｚの次数分布と同じである。【００５７】
ただし、ＨMQCの重み分布を非一様にする場合のマスク行列Ｚの重み分布は、後述するように、所定の密度発展法で求めることとする。たとえば、情報ビット数Ｋ＝３２とした場合、符号化率２３が１／３として与えられた場合には、６４行×３２列のマスク行列を準備すればよい。このようなマスク行列は、符号化率１／２に対応するマスク行列ＺAを用いて、密度発展法による列次数分布から式（１５）のように表すことができる。【００５８】
【数１０】
0004598085.tif 000011
【００５９】
式（１５）において、［］は行列を表しており、［］中のバー（横線）より上の成分はＺAと同じ成分となることを意味する。【００６０】
また前述の通り、ＺAは符号化率１／２に対応するマスク行列であって、例えば式（１６）のようなものである。【００６１】
【数１１】
0004598085.tif 000012
【００６２】
式（１５）において、バーより下の成分はＺA（１：３２，２：５）ＺA（１：３２，１）ＺA（１：３２，７：１６）０３２×１５とすることを意味している。またＺA（１：３２，２：５）とは行列ＺAの１行目から３２行目、２列目から５列目までを切りだした部分行列を意味する。ＺA（１：３２，１）は１行目から３２行目までの１列目の成分を切り出した部分行列である。またＺA（１：３２，７：１６）は１行目から３２行目までの７列目から１６列目までの成分を切り出した部分行列である。【００６３】
また、符号化率に応じた各マスク行列は、列方向に同一パターンができないように、マスク行列ＺAの部分行列をシフトしながら使用している点にも注意すべきである。具体的には、マスク行列ＺAの部分行列を列次数の重い部分行列（重み１４）と軽い部分行列（重み４以下）とに分け、それぞれをシフトしながら用いている。【００６４】
たとえば、マスク行列ＺAにおいて、ＺA（１：３２，１：５）は列次数１４の部分行列であるが、マスク行列ＺA(1/3)においては、これを列単位で左シフトさせ、シフト後のＺA（１：３２，２：５）ＺA（１：３２，１）をマスク行列ＺAのＺA（１：３２，１：５）の下に連結させている。【００６５】
また、マスク行列ＺAにおいて、ＺA（１：３２，６：３２）は列次数４以下の部分行列であるが、マスク行列ＺA(1/3)においては、ＺA（１：３２，６：３２）の中から必要な列数の部分行列ＺA（１：３２，７：１６）を使用し、このＺA（１：３２，７：１６）をマスク行列ＺAのＺA（１：３２，６：１５）の下に連結させている。これにより、ＨTを用いた場合に発生しやすい小さいループを、回避することができる。【００６６】
マスキング手段２２は、このようなマスク行列Ｚを用いることによって、イレギュラーなパリティ検査行列ＨMを出力する。このパリティ検査行列ＨMは、たとえば、６４行×３２列のマスク行列Ｚ、６４（行番号ｊは０〜６３）×３２（列番号ｌは０〜３１）の擬似巡回行列ＨQC、および６４（行番号ｊは０〜６３）×６４（列番号ｌは０〜３１）のＨTを用いて、式（１７）のように表すことができる。
ＨM＝［Ｚ×ＨQC｜ＨT］＝［ＨMQC｜ＨT］    …（１７）【００６７】
このように、ＬＤＰＣ符号Ｃを生成するためのパリティ検査行列ＨMQCは、マスク行列Ｚと擬似巡回行列ＨQCの行番号ｊ＝０の巡回置換行列を決定し、マスク行列Ｚを与えてやれば定めることができる。【００６８】
また符号化率１／３に対応したマスク行列Ｚは、符号化率１／２に対応したマスク行列の部分行列を組み合わせることで求めることが可能であるため、異なる符号化率に対応させるために複数のマスク行列を記憶しておく必要もない。すなわちマスク行列を記憶させるための記憶容量を削減することが可能となるのである。【００６９】
実施の形態２．
実施の形態１におけるパリティ検査行列生成方法は、符号化率１／３に対応したものであったが、符号化率がその他の値をとる場合であっても対応可能である。次に、符号化率１／５までのパリティ検査行列生成方法について説明する。なお、通信システムの構成としては図１に示したものと同じであり、またパリティ検査行列生成器の構成方法は図２に示したものと同じである。【００７０】
ここで、情報ビット数が３２の場合、符号化率２３が１／５とすると、擬似巡回行列ＨQCは１２８（行番号ｊは０〜１２７）×３２（列番号ｌは０〜３１）となる。この場合、マスキング手段２２は、擬似巡回行列ＨQCを、１２８行×３２列のマスク行列Ｚの０要素によりマスクする。【００７１】
なお、マスク行列Ｚを生成した後、マスキング手段２２が出力するイレギュラーなパリティ検査行列ＨMは、１２８行×３２列のマスク行列Ｚ、上記１２８×３２の擬似巡回行列ＨQC、および１２８（行番号ｊは０〜１２７）×１２８（列番号ｌは０〜１２７）のＨTを用いて、式（１８）のように表すことができる。
ＨM＝［Ｚ×ＨQC｜ＨT］＝［ＨMQC｜ＨT］    …（１８）【００７２】
なお、式（１８）のＨTは式（１９）として与えられる。【００７３】
【数１２】
0004598085.tif 000013
【００７４】
また式（１９）のＨTにおけるＴDは式（２０）のように与えられる。【００７５】
【数１３】
0004598085.tif 000014
【００７６】
ここで、符号化率１／２の符号に対応するイレギュラーなパリティ検査行列を「ＨM(1/2)＝［ＺA×ＨQC(1/2)｜ＨT(1/2)］」と表す。ただし、ＺA（＝ＺA(1/2)）は式（１６）で与えられた符号化率１／２に対応する３２行×３２列のマスク行列である。またＨQC(1/2)は、擬似巡回行列ＨQCにおける上から１／４の３２（行番号ｊは０〜３１）×３２（列番号ｌは０〜３１）の擬似巡回行列を表し、ＨT(1/2)は式（２０）で与えられるＴDである。【００７７】
同じように、符号化率１／３，１／４，１／５に対応して、イレギュラーなパリティ検査行列をＨM(1/3)，ＨM(1/4)，ＨM(1/5)（＝ＨM）と表すこととする。また、マスク行列をＺA(1/3)，ＺA(1/4)，ＺA(1/5)（＝Ｚ）と表し、擬似巡回行列をＨQC(1/3)，ＨQC(1/4)，ＨQC(1/5)（＝ＨQC）と表し、ＨT(1/3)，ＨT(1/4)，ＨT(1/5)（＝ＨT）と表すこととする。【００７８】
実施の形態２におけるマスキング手段２２は、式（２１）によって表されるマスク行列Ｚを用いてＨQCLをマスクする。【００７９】
【数１４】
0004598085.tif 000015
【００８０】
図３は、マスク行列Ｚを用いてマスクすることで生成されたイレギュラーなパリティ検査行列ＨMの構成を示す図である。【００８１】
このように、符号化率１／５に対応するマスク行列Ｚ（マスク行列ＺA(1/5)）であっても、符号化率１／２に対応するマスク行列ＺAの部分行列のみを使って構成しているため、符号化率に応じてマスク行列が大きくなった場合であっても、マスク行列を記憶するためのメモリを少なくすることができる。【００８２】
また、符号化率１／３の場合のマスク行列と同様に、符号化率１／５の場合も、列方向に同一パターンができないように、マスク行列ＺAの部分行列をシフトしながら使用している。具体的には、マスク行列ＺAの部分行列を列次数の重い部分行列（重み１４）と軽い部分行列（重み４以下）とに分け、それぞれをシフトしながら用いている。すなわちマスク行列ＺA(1/3)においてシフトさせた部分行列の下に、さらに、マスク行列ＺA(1/4)，ＺA(1/5)について、列方向に同一パターンができないように、マスク行列ＺAの部分行列をシフトしながら使用する。これにより、ＨTを用いた場合に発生しやすい小さいループを、回避することができる。【００８３】
実施の形態３．
次に１／６よりも小さな符号化率の下限を設定する構成について次に説明する。実施の形態１及び実施の形態２の通信システムにおいては、符号化率の下限を１／３から１／６までの値とすることが望ましい。それ以下の符号化率を達成する場合は、実施の形態１や２で述べた方法で構成するよりも、繰り返し送信を用いて達成した方が良好な性能が得られるため有利である。【００８４】
図４に実施の形態１及び２で示した符号構成法で１/１０まで作成した場合と、以降述べる符号語の繰り返し送信を用いた場合（符号化率１/５までは前述の符号を用い、それより小さい符号化率では繰り返し送信を用いた）を示す。なお、図４では符号は情報長１３１２ビットのＬＤＰＣ符号を用いている。また通信路はＡＷＧＮであり、変調はＢＰＳＫ方式を仮定している。【００８５】
この実施の形態においても、送信装置の構成は図１に示したものを用いる。この実施の形態ではＬＰＤＣ符号化器１１の構成が実施の形態１および２と異なる。次に実施の形態３におけるＬＰＤＣ符号化器１１の処理について説明する。【００８６】
図５は、ＬＰＤＣ符号化器１１における符号構成法を示す図である。このように、ＬＰＤＣ符号化器１１は、符号化率０．５の符号を基準符号語としておき、それよりも高い符号化率（＝０．７５）の符号語を生成する場合はパリティのパンクチャを行う。なお、この際の復号には符号化率１／２の検査行列を使って、パンクチャリングビットに対応する受信ＬＬＲに０を挿入し、通常のＬＤＰＣ復号を行えばよい。【００８７】
一方、ＬＰＤＣ符号化器１１は、基準符号語より低い符号化率（＝１／３）の符号語を生成する場合にパリティを追加する。ＬＰＤＣ復号器１５において、この符号を復号するには図３に示すように符号化率に対応した検査行列ＨMの部分行列のみを用いて復号するようにする。【００８８】
ここで、複数の符号化率に対応したＬＤＰＣ符号の構成法を具体的に説明する。たとえば、システムで用意する一番低い符号化率をＲ0＝１／３以下とする。図６では、たとえば、システムで用意する一番低い符号化率をＲ0＝１／５とした場合の符号を示す図である。【００８９】
たとえば、符号化率Ｒ0＝１／５に対応する符号がメモリに記憶され、符号化率Ｒ1の符号を構成する場合、符号化率Ｒ1が１／２未満であれば、すなわち、符号化率Ｒ1が１／２〜１／５の間であれば、パリティビットを符号語の最後尾から順にパンクチャする。【００９０】
ここで、もし１/５以下の符号化率が必要となった場合、図７に示すように情報長Ｋ、符号長Ｎの符号化率Ｋ／Ｎ＝１/５の符号語（図６中のＡ＋パリティビット）に，列重みの重い順から選択した符号語ビットＢ（長さｂ：各列に対応するビットの情報はＡと同じ）を加えて符号化率Ｋ／（Ｎ＋ｂ）の符号語を生成することが可能となる。例えばｂ＝Ｋの場合、符号化率１/６となり、ｂ＝Ｎの場合、符号化率１/１０となる。【００９１】
またｂ＝Ｎの場合のように符号語が全て繰り返し２回送られて、システムで用意する一番低い符号化率よりも低い符号化率が必要な場合は、再度列重みの重い順から選択した符号語ビットを送り、同様な操作を繰り返す。これによって、原理的にはどんなに低い符号化率でも実現可能となる。【００９２】
このような方法により符号化された符号語ｖが通信路を通って受信装置３で受信され、ＬＰＤＣ復号器１５で誤りを訂正する際に、符号語の一部、あるいは全てが重複した際、その重複したビットの受信値を重複した個数分、加算平均してＬＰＤＣ復号器１５に渡す処理を行い復号する。【００９３】
この手法の効果として、列重みの重い列に対応する符号語ビットの信頼度が高い（誤り確率が低い）場合には復号性能がよくなることが知られている為、列重みの重い順に繰り返し送り、受信側で加算平均により、ノイズ成分の分散値を下げる処理を行なう事で信頼度が上がり（対応するビットの誤り確率が下がり）、復号性能を向上させる事ができる効果がある。【００９４】
実施の形態４．
なお、実施の形態１から３の通信システムにおいて、正則（行と列の重みが一様）なｐ×ｐの擬似巡回行列の大きさｐを可変とした場合に、情報長Ｋ（情報ビット数）がｐ×ｒで表現できないときは、Ｋ／ｒの切り上げした整数値をｐに選び、ｋ−（k/rを切り上げた整数）×ｐの数だけ検査行列における列次数の重い箇所に対応するビット順に既知の値の“０”か“１”を挿入して符号化し、ＬＰＤＣ復号器１５側では検査行列の同一のビットに対応する値は既知数“０”か“１”を確定して復号するようにしてもよい。【００９５】
こうすることで、既知データを信頼度の最も高い（１００％誤り無し）既知の値を列次数の重いビットに割り振ることができ、復号性能がよくなる効果がある。【００９６】
実施の形態５．
また、実施の形態１から４の通信システムにおいて、非正則（行と列の重みが非一様）なパリティ検査行列を用いて符号化し符号長Ｎの符号語を生成する際に、パリティ検査行列の行数Ｍと列数Ｎによって決まる符号化率（Ｎ−Ｍ）／Ｎ以下の符号化率を用意する為に、図８に示すように情報ビットに対応する検査行列の中で列次数の重い順に既知の値の“０”か“１”を挿入して符号化し、復号器側では検査行列の同一のビットに対応する値は既知数“０”か“１”を確定して復号することにより低符号化率の符号の符号化復号を可能とする。この方法により、低符号化率の符号を構成でき、既知データを信頼度の最も高い（１００％誤り無し）既知の値を列次数の重いビットに割り振る事が出来る為、復号性能がよくなる効果がある。【００９７】
実施の形態６．
実施の形態５では、パリティ検査行列の行数Ｍと列数Ｎによって決まる符号化率（Ｎ−Ｍ）／Ｎ以下の符号化率を用意するために、既知の数を列次数の重い列に対応するビットに割り振ったが、既知の数が多すぎた場合、性能劣化を起こすことがある。このような場合には、以下の方法により、低符号化率を用意することも可能である。【００９８】
非正則（行と列の重みが非一様）なパリティ検査行列を用いて符号化し符号長Ｎの符号語を生成する際に、パリティ検査行列の行数Ｍと列数Ｎによって決まる符号化率（Ｎ−Ｍ）／Ｎ以下の符号化率を用意する為に、情報ビットが割り当て可能な検査行列に対応する列の中でＮ−Ｍより小さい情報ビット数に対応する列を図９に示すようにほぼ一様な間隔で選択し、それ以外の列に既知の値の“０”か“１”を挿入して符号化し、復号器側では検査行列の既知のビットに対応する値は既知数“０”か“１”を確定して復号することにより低符号化率の符号の符号化復号を行なう。【００９９】
例えば情報ビット数が検査行列の情報ビットに対応する列数の１/２である場合、情報ビット系列をｕ＝｛ｕ1，ｕ2２，…，ｕK｝とすると既知数“０”を挿入した情報系列ｕ0はｕ0＝｛ｕ1，ｕ2，…，ｕK，０｝となる。符号化率１/５の符号構成で構成した符号では、この操作により符号化率が１/１０となる。同様に情報ビット数を検査行列の情報ビットに対応する列数の１/３とした場合は、既知数が大きくても劣化が発生しない場合がある。【０１００】
この方法により、低符号化率の符号を用意でき、既知数が大きい場合の劣化を抑えられる。
【産業上の利用可能性】
【０１０１】
この発明によるパリティ検査行列生成方法によれば、幅広い符号化率に対応した符号化が可能となる。
【図１】
0004598085.tif 000016
【図２】
0004598085.tif 000017
【図３】
0004598085.tif 000018
【図４】
0004598085.tif 000019
【図５】
0004598085.tif 000020
【図６】
0004598085.tif 000021
【図７】
0004598085.tif 000022
【図８】
0004598085.tif 000023
【図９】
0004598085.tif 000024
【図１０】
0004598085.tif 000025
【図１１】
0004598085.tif 000026