[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4856605B2 - 符号化方法、符号化装置、及び送信装置 - Google Patents

符号化方法、符号化装置、及び送信装置 Download PDF

Info

Publication number
JP4856605B2
JP4856605B2 JP2007224621A JP2007224621A JP4856605B2 JP 4856605 B2 JP4856605 B2 JP 4856605B2 JP 2007224621 A JP2007224621 A JP 2007224621A JP 2007224621 A JP2007224621 A JP 2007224621A JP 4856605 B2 JP4856605 B2 JP 4856605B2
Authority
JP
Japan
Prior art keywords
matrix
input data
vector
encoding
ldpc
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007224621A
Other languages
English (en)
Other versions
JP2008086008A (ja
Inventor
直也 四十九
周太 岡村
豊 村上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2007224621A priority Critical patent/JP4856605B2/ja
Priority to PCT/JP2007/067067 priority patent/WO2008026740A1/ja
Priority to US12/377,107 priority patent/US20100180176A1/en
Priority to CN2007800268808A priority patent/CN101490964B/zh
Publication of JP2008086008A publication Critical patent/JP2008086008A/ja
Application granted granted Critical
Publication of JP4856605B2 publication Critical patent/JP4856605B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • H03M13/1188Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal wherein in the part with the double-diagonal at least one column has an odd column weight equal or greater than three
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Description

本発明は、符号化方法、符号化装置、及び送信装置に関し、特に、LDPC(Low Density Parity Check)符号の検査行列に準じて入力データのパリティビットを生成する符号化方法、符号化装置、及び送信装置に関する。
近年、誤り訂正符号(Error Correction Code)として、パリティ検査行列で定義されるLDPC符号が用いられている。LDPC符号は、非常に疎な検査行列、すなわち行列内の非零要素の数が非常に少ない検査行列により定義される線形符号である。従来、このような検査行列から直接符号化が行われている。
具体的には、従来の符号化においては、例えば図26に示す検査行列からパリティビットを生成する際に、行列式を変形して演算数を減らして行っていた(例えば、非特許文献1)。
図26のLDPC検査行列は、q行p列の行列で、6個の部分行列A、B、C、D、E、Tを含んで構成されている。このうち、部分行列Tは、下三角行列を表す特殊な行列である。ここで、図26の検査行列をHで表すと、Hは、式(1)で表される。
Figure 0004856605
このとき、入力ビット(入力データ)をs、部分行列B、Dにかかるパリティビットをp、部分行列T、Eにかかるパリティビットをpとすると、式(2)を得る。
Figure 0004856605
そして、式(2)において、式(3)の行列を左からHに乗算すると、式(4)の展開を経て、式(5)を得る。
Figure 0004856605
Figure 0004856605
Figure 0004856605
ここで、式(5)において、(−ET−1B+D)を式(6)のように定義すると、式(7)によりpが求まる。
Figure 0004856605
Figure 0004856605
また、式(5)より、式(8)を得る。
Figure 0004856605
式(8)の右辺のpに、式(7)を代入すると、行列Tが下三角行列であるため、左辺のpは、第1行から逐次演算することが可能となる。
このような演算は、ハードウェア上でも行われている(例えば、非特許文献2)。具体的には、従来のハードウェアは、式(7)のpを求めるために、図27に示すように、まずAsの行列演算を行う。次にT−1[As]の演算結果を求めるために、Tx=Asを満たすxを求める操作を行う。このとき、Tが下三角行列であることを利用し、xの第1行から逐次演算をすることでxを求める。この操作をFS(Forward Substitution)と呼ぶ。その後、−E[T−1As]の行列演算を行う。
さらに、ハードウェアは、[−ET−1As]+[Cs]を計算し、p=−φ−1[−ET−1As+Cs]を計算する。次に、ハードウェアは、式(8)のpを求めるために、先ほど求めたpからBp、As+Bpを順次計算する。そして、ハードウェアは、Tp=−[As+Bp]をFSすることでpを求める。以上の操作により入力データからパリティビットを求めるハードウェアを実装している。
Thomas J. Richardson and Rudiger L. Urbanke, "Efficient Encoding of Low-Density Parity-Check Codes," IEEE TRANSACTION INFORMATION THEORY, VOL. 47, NO.2, FEBURUARY 2001, pp638-656 Dong-U Lee and Wayne Luk, "A Flexible Hardware Encoder for Low-Density Parity-Check Codes," Proceedings of the 12th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM’04) 三瓶政一著、"ディジタルワイヤレス伝送技術"、ピアソンエデュケーション出版 松本渉、落合秀樹、"OFDM変調方式の応用"、トリケップス Bertland M. Hochwald and Stephan ten Brink, "Achieving Near-Capacity on a Multiple Antenna Channel, " IEEE Transaction on Communications, vol. 51, no. 3, March 2003 和田山正、"低密度パリティ検査符号とその復号法"、トリケップス
しかしながら、非特許文献1及び非特許文献2に開示された方法においては、漸化式を解いてパリティビットを求めているため、並列処理を行うことが困難であり、その結果、符号化の計算速度を向上させることが困難であるという問題があった。
そこで、本発明は、上記問題を解決するためになされたものであり、符号化速度を向上させる符号化方法、符号化装置、及び送信装置を提供することを目的とする。
上記課題を解決するために、本発明は、QC(Quasi Cyclic)擬似下三角行列の形態の検査行列から生成行列を生成するステップと、上記生成した生成行列の部分行列と入力データとを用いて線形演算を行うステップと、上記線形演算により、上記入力データのパリティビットを出力するステップと、を含む。
QC行列とは、行列を部分行列に分解したとき、それら部分行列が全て単位行列のサイクリックシフトまたは零行列となる行列のことを指す。また、疑似下三角行列とは、行列の右上に位置する部分行列が下三角行列になっているものを指す。ここで下三角とは行列の対角の右上に当たる部分が全て0で、対角および対角から左下に当たる部分には行列要素が存在する行列のことを指す。
上記のように構成すると、生成行列を構成する部分行列と入力データとの線形演算により、パリティビットを出力することが可能となる。
本発明によれば、従来技術のように逐次的にパリティを求める必要がなく、生成行列の部分行列と入力データとの線形演算からパリティを求めており、事前に求めたパリティを用いて新たに次のパリティを求めるという操作を行わなくてよい。よって線形演算を並列処理することが可能となり、符号化速度を向上させることができる。
まず、本発明の主な特徴点について説明する。本発明は、QC疑似下三角検査行列から求めたLDPC符号の生成行列を構成する部分行列が、単位行列のサイクリックシフトのGF(2)上の総和になることに着目して符号化を行う点に特徴がある。なお、GF(2)は、ガロア体を表す。ガロア体というのは、符号で用いる数体系の一種である。サイクリックシフトとは、行列の要素をローテーションすることに相当し、例えば、式(9)に示す行列は、単位行列を右に3サイクリックシフトしたものである。
Figure 0004856605
例えば、生成行列が、式(10)に示すような7×7の生成行列Gの場合、Gは、G=I (1)+I (3)+I (6)のように、単位行列のサイクリックシフトI (1),I (3),I (6)の和で表される。なお、Iは、7×7の単位行列を表し、その上付き()内の数値は、サイクリックシフト量を表す。
Figure 0004856605
次に、本発明で用いる検査行列について説明する。
本発明で用いる検査行列は、QC(Quasi Cyclic)行列であり、かつ疑似下三角行列の行列である(以下、QC疑似下三角行列ともいう)。このような検査行列の概略例を図1に示す。
図1は、QC疑似下三角検査行列をL×Lの部分行列に分割した様子を表している。図1において、点線は分割を表している。また、図1において実斜線部分には要素「1」が存在し、それ以外には要素「0」が存在することを表している。図1の検査行列は、L×Lの部分行列からなるK×N(例えば、K=4L、N=8L)のQC疑似下三角行列である。
検査行列Hの一例を式(11)に示す。式(11)中、「−」は零行列を表しており、数値は単位行列のサイクリックシフト量を表している。
Figure 0004856605
次に、QC疑似下三角行列の形態の検査行列から生成行列を求める。
ここで、図1の検査行列H(K×N)のうち、情報ビットにかかる部分行列をH(K×(N−K))、パリティビットにかかる部分行列をHとすると、式(12)の関係が成り立つ。なお、式(12)において、sは情報ビット系列、pはパリティビット系列を表す。
Figure 0004856605
式(12)は、GF(2)上で成立するので、式(13−1),(13−2)のように変形することができる。
Figure 0004856605
ここで、式(13−2)をさらに展開して、式(14)〜式(16)を得る。
Figure 0004856605
Figure 0004856605
Figure 0004856605
式(15)から、パリティビットは情報ビットから一意に求まることがわかる。なお、式(16)のGは、パリティビットの生成行列を表す。生成行列Gは、(K×(N−K))の行列である。このようにして、QC擬似下三角検査行列からパリティビットの生成行列を求めることができる。
そして、このようにして求めたパリティビットの生成行列を、L×Lの部分行列に分割する。例えば図1の疑似下三角検査行列から生成行列を求めた場合、生成行列は(K×(N−K))=(4L×4L)となり、4行ブロック×4列ブロックに分割できる。ここでブロックとは、部分行列のことを表している。
このとき、ブロックは、L×Lの単位行列のサイクリックシフトのGF(2)上の総和になっている。このことは後述の(証明例)において証明がなされている。
ここで、例えば、7×7の生成行列のブロックの一例は、式(10)のようなものである。
生成行列と入力データとを乗算し、パリティビットを得る際に、上記ブロックが単位行列のサイクリックシフトのGF(2)上の和で表せる性質を用いると、その乗算式は、ブロックの第1列目のベクトル(これをリファレンスベクトルと呼ぶこととする)と、そのベクトルを巡回シフトしたものとを用いて表すことが可能となる。
例えば、入力データをs(入力データ値:s,・・・,s、t:時間)とすると、式(10)のGとsとの乗算式は、式(17)のように展開することができる。
Figure 0004856605
例えば、1ビット幅の入力データの場合、式(17)から、Gは、Gのリファレンスベクトル(式(17)の[0100101]:Tは転置行列を表す)、そのベクトルの1ビット巡回シフト、論理積および排他的論理和を組み合わせて求めることができることがわかる。複数ビット幅が、例えば2ビット幅の入力データであれば、上記1ビット巡回シフトを2ビット巡回シフトとすればよい。すなわち、ブロックと入力データとの乗算Gは、式(17)に示すように、リファレンスベクトル、巡回シフト演算、論理積および排他的論理和のみで表すことができる。
(証明例)
次に、本発明で用いたQC擬似下三角検査行列(単に、検査行列ともいう)から生成行列を求めると、そのブロックは、単位行列のサイクリックシフトをGF(2)上で総和をとることの証明を行う。
検査行列Hにおいて、パリティビットにかかる部分行列Hを行方向にM、列方向にM、(L×L)の部分行列が並ぶように分割する(K=ML)。このとき、Hは、式(18)で表される。
Figure 0004856605
なお、式(18)の検査行列Hの数値(要素)は、L×Lの単位行列のサイクリックシフト量を表す。また、「−」は零行列(L×L行列)を表す。さらに、s,s,…,sM−1は、Hの対角上および対角上の位置から一つサイクリックシフトした要素にある。また、式(18)において、M行1列の要素には、mがある(s≠m)。
又、式(18)において、例えば、検査行列H内の数値aは、L×Lの単位行列を右方向にaシフトし、そして、検査行列Hからはみ出た要素を左側に挿入した行列を表す。このときの行列式を式(19)に示す。
Figure 0004856605
なお、aが負数であるときは、左方向にサイクリックシフトを行うことを表す。
まず、Hの逆行列を求める。ここで、Hの逆行列をAとおき、AをHと同様、L×Lの部分行列に分割すると、式(20)のように表すことができる。
Figure 0004856605
なお、式(20)において、IはM×Mの単位行列を表す。
ここで、任意の行列と単位行列のサイクリックシフトとを乗算すると、その乗算結果は、任意行列のサイクリックシフトになるという性質がある。そこで、任意の行列をB、単位行列のサイクリックシフトをI(b)とすると、BとI(b)との乗算結果は、式(21)のように表記することができる。
Figure 0004856605
次に、式(21)に示した関係を利用して、式(20)の左辺をAのk段目の部分行列Ak,1,Ak,2,…,Ak,Mに関して展開すると、式(22)のようになる。
Figure 0004856605
なお、以下において、式(22)のAk,xは、Aと表記する。Aのk段目の部分行列の集合を観測しているため、kの値によって式(22)の右辺にくる値が変わる。そこで、以下、k値を場合分けして、逆行列を求める。
まず、k=1の場合について、逆行列を求める(式(23−1)〜式(23−M)参照)。
Figure 0004856605
ここで、式(24)を式(23−1)に代入すると、式(25)のようになる。
Figure 0004856605
Figure 0004856605
次に、2≦k≦Nの場合について、逆行列を求める(式(26−1)〜式(26−M)参照)。
Figure 0004856605
ここで、式(27)、式(28)を式(26−1)、式(26−k)に代入すると、式(29−1),(29−2)のようになる。
Figure 0004856605
Figure 0004856605
Figure 0004856605
ここで、式(29−1)より、式(30)を得る。
Figure 0004856605
ここで、式(30)を式(29−1)に代入すると、式(31)を得る。
Figure 0004856605
次に、N<k≦Mの場合について、逆行列を求める(式(32−1)〜式(32−M)参照)。
Figure 0004856605
ここで、式(32−1)〜式(32−(k−1))から、式(33−1)を得る。また、式(32−(k+1))〜式(32−M)から、式(33−2)を得る。
Figure 0004856605
ここで、式(33−1)、式(33−2)を、式(32−1)、式(32−k)にそれぞれ代入すると、式(34−1)、式(34−2)を得る。
Figure 0004856605
ここで、式(34−2)から、式(35)を得る。
Figure 0004856605
ここで、式(35)を式(34−1)に代入すると、式(36−1)を得る。また、式(36−1)を式(34−2)に代入すると、式(36−2)を得る。
Figure 0004856605
以上から、Hの逆行列の構成部分行列(L×L行列)は、全て単位行列のサイクリックシフトのGF(2)上での足し算で表せることがわかる。
なお、式(15)の生成行列Gは、検査行列Hのパリティビットにかかる部分行列Hの逆行列と、入力情報ビットにかかる部分行列Hとの乗算で表せる。このとき、Hを構成部分行列(L×L行列)に分割したとき、これらL×L行列が単位行列のサイクリックシフトのGF(2)上の和で表すことができる場合、式(21)の関係より、G行列の構成部分行列(L×L行列)も単位行列のサイクリックシフトのGF(2)上での足し算で表すことができる。(証明終了)
また、式(18)に示すHの構成部分行列の列を入れ替えても、上記証明は、同様に成立する。さらに、式(18)の一列目を行方向に入れ替えても、上記証明は成立する。
ここで、式(18)の構成部分行列の列を入れ替えた場合の一例を式(37)、式(38)に示す。
Figure 0004856605
Figure 0004856605
以下、上記説明を踏まえ、本発明の実施の形態について図面を参照しながら説明する。
(実施の形態1)
図2は本発明の実施の形態1の符号化装置の構成例を示す図である。本実施の形態は、LDPC符号の生成行列の行ベクトルと、入力データ系列を列ベクトルとしたものとの乗算を行うことでLDPC符号語を得る。本実施の形態は上記構成をとることで、一度にLDPC符号のパリティを得ることができ、高速な符号化が行えることを特徴とする。
また、本実施の形態では入力データからパリティデータを生成する前に、一度入力データを符号化装置に格納する。これはLDPC符号語を生成する際に、入力データの後ろに(または前に)パリティデータを並べて出力するためであり、LDPC符号を生成するタイミングを合わせるためである。
例えば、入力データが全て符号化装置に入力され、パリティデータが生成されるまでには、符号化装置によって決まる生成遅延量が存在する。ここで、入力データとパリティデータとを並べてLDPC符号を生成し、タイミングを合わせて出力するために、符号化装置には入力データを格納する入力データ格納部が必要となる。
また、入力データとパリティデータとを並べて出力するには、入力データ格納部から、入力データを読み出すタイミングを生成する必要がある。例えば、符号化装置において、パリティデータが生成され、LDPC符号語系列生成部が、入力データの後ろに(または前に)パリティデータを並べて、LDPC符号系列に変換して出力することが可能となったときに、入力データ格納部から入力データを読み出すタイミングを生成し、入力データ格納部が、前記タイミングを用いて、入力データの読み出しを行う。
以上の操作により、LDPC符号を、まずは入力データ、次にパリティデータといった順序で出力することができる。なお、上記入力データ格納部は、図2における符号化装置100の入力データ格納部107に相当し、上記入力データの読み出しタイミングは、出力制御信号108に相当する。これら入力データ格納部107および出力制御信号108は、以降の実施の形態でも同様の機能を有する。
以下、図面を用いて説明する。図2の符号化装置100は、入力データカウント部(カウント部ともいう)101、出力制御部102、各1ビット格納部103−1〜103−(N−K)、各行ベクトル格納部104−1〜104−K、ベクトル乗算部105−1〜105−K、LDPC符号語系列生成部106、入力データ格納部107およびパリティ格納部109を有する。符号化装置100において、各部101〜105をパリティ生成部と呼ぶ。また、パリティ生成部と各部106、109とを合わせてLDPC符号語生成部(符号語生成部)と呼ぶ。
なお、本実施の形態においては、各1ビット格納部103−1〜103−(N−K)を1ビット格納部103、各行ベクトル格納部104−1〜104−Kを行ベクトル格納部104、各ベクトル乗算部105−1〜105−Kをベクトル乗算部105としても、それぞれ表す。
図2の符号化装置100の各部の機能について概説する。入力データ格納部107は、入力データを格納し、出力制御信号108に従って格納した入力データを入力データカウント部101及び出力制御部102に出力する。入力データカウント部101は、入力データD101の符号化装置100への入力数をカウントする機能を有する。出力制御部102は、入力データ数に応じて入力データの出力先を制御する機能を有する。1ビット格納部103は、1ビットデータを保持する機能を有する。行ベクトル格納部104は、符号化装置100で生成するLDPC符号の生成行列の行ベクトルを保持している。例えば、生成行列の第X(Xは自然数)行のベクトルであれば、そのベクトルは、行ベクトル格納部104−Xに格納されている。
ベクトル乗算部105は、行ベクトルと列ベクトルの乗算を行う機能を有する。具体的には、ベクトル乗算部105−Xは、第X行の生成行列の行ベクトルと入力データベクトルとの乗算を行う。パリティ格納部109は、符号化装置100において生成されたパリティ系列を保持する機能を有する。LDPC符号語系列生成部106は、入力データ系列と、符号化装置100で生成したパリティ系列からLDPC符号語を生成し、出力する機能を有する。
次に、本実施の形態の符号化について詳述する。図2の符号化装置100において、入力データ格納部107は入力データD100を格納する。入力データ格納部107に格納したデータは出力制御信号108に従って入力データカウント部101及び出力制御部102に出力される。出力制御信号108は、符号化装置100において入力データD100からパリティデータを生成し、LDPC符号系列に変換して出力し終わる際に、入力データ格納部107に対して格納データ(入力データ格納部107内のデータ)を入力データカウント部101及び出力制御部102に出力するよう制御する信号である。このようにすることで、パリティデータが生成され出力される前に入力データD100がLDPC符号語生成部に入力されないよう制御することができる。
入力データカウント部101は、入力データD101の入力数をカウントし、出力する。
出力制御部102は、入力データカウント部101の出力、すなわちカウント数から入力データD100の出力先を制御する。具体的には、例えば、入力数のカウント数が1の場合には、入力データD100を1ビット格納部103−1に出力する。そして、カウント数が2の場合には、出力制御部102は、入力データD100を1ビット格納部103−2に出力し、以下順々に入力データカウント数が(N−K)になるまで、上記の場合と同様に、入力データD100を各1ビット格納部へ出力する。ここで(N−K)は、生成行列の列数に相当する。以上のように(N−K)ビットの入力データ系列を1ビット格納部に格納することで、入力データ系列を列ベクトルとして扱うことができる。
次に、行ベクトル格納部104は、入力データカウント部101の出力であるカウント数が(N−K)であるときに、保持している行ベクトルを出力する。ベクトル乗算部105は、行ベクトル格納部104から出力される行ベクトルと、1ビット格納部103−1〜103−(N−K)から出力される入力データ系列とを乗算したものをパリティ格納部109に出力する。ここで入力データ系列は(N−K)ビットあるため、入力データベクトルとして扱うことができる。このときの出力結果がパリティビットに相当する。
LDPC符号語系列生成部106は、1ビット格納部103−1〜103−(N−K)から出力されるデータを、103−1出力(1ビット格納部103−1からの出力を指す)、103−2出力、…、103−(N−K)出力といった順番に並べて出力する。またその後に、LDPC符号語系列生成部106は、ベクトル乗算部105−1〜105−Kから出力されるパリティビットを順番に並べて出力する。例えば、ベクトル乗算部105−1からの出力パリティビット、ベクトル乗算部105−2からの出力パリティビット、…、ベクトル乗算部105−Kからの出力パリティビットといった順番に並べて出力する。このように出力することで、LDPC符号語系列生成部106からの出力は、データビット、パリティビットの順に正しく並べられることができる。
以上より、本実施の形態ではLDPC符号の生成行列の行ベクトルと、入力データ系列を列ベクトルとしたものとの乗算を行う構成をとることで、一度にLDPC符号のパリティを得ることができ、高速な符号化が行える。
(実施の形態2)
図3は本発明の実施の形態2の符号化装置200の構成例を示す図である。なお、実施の形態2において、実施の形態1と同一の部分は実施の形態1と同一の符号(用語を含む)を付し、重複説明を適宜省略する。
本実施の形態は、生成行列の列ベクトルと入力データとの乗算を行い、その結果を累積加算することでパリティを得る。本実施の形態では、生成行列と入力データとの乗算を、生成行列の列ベクトルを用いて行う。このため、乗算の際に入力データを保持し、入力データベクトルを生成する必要がない。以上のように、本実施の形態の符号化装置200は、入力データの格納部が必要ないために回路規模を削減できること、および入力データが全て入力された時点でパリティが得られることから高速な符号化が行える点に特徴がある。
以下、本実施の形態について図面を用いて説明をする。
図3の符号化装置200は、実施の形態1と異なり、列ベクトル格納部201−1〜201−(N−K)、ベクトル乗算部202およびベクトル累積加算部203を有する。なお、ベクトル乗算部202は、実施の形態1のベクトル乗算部105とは機能が異なるため、異なる符号を付した。本実施の形態において、各部101、201〜203をパリティ生成部と呼ぶ。また、パリティ生成部と各部106、109とを合わせてLDPC符号語生成部と呼ぶ。
なお、本実施の形態においては、各列ベクトル格納部201−1〜201−(N−K)を列ベクトル格納部201としても表す。
次に、図3の符号化装置の各部の機能について、概説する。列ベクトル格納部201−1〜201−(N−K)は、LDPC符号を生成する生成行列の第1列から第(N−K)列までのベクトルを保持している。なお、本実施の形態で用いている生成行列は(N−K)列である。
ベクトル乗算部202は、入力データ1ビットと列ベクトルとの乗算を行う機能を有する。このとき、ベクトル乗算部202は、入力データが「1」なら入力列ベクトルをそのまま出力し、入力データが「0」なら零ベクトルを出力する構成を採ってもよい。ベクトル累積加算部203は、入力されるベクトルを累積加算していく機能を有する。
次に、本実施の形態について詳述する。入力データD100は、実施の形態1と同様、入力データ格納部107に保持され、出力制御信号108に従って出力される。
列ベクトル格納部201−1〜201−(N−K)では、入力データカウント部101から入力される入力データカウント数に応じて、格納している生成行列の列ベクトルを出力する。例えば、カウント数が1であれば、第1列ベクトル格納部201−1が生成行列の第1列ベクトルを出力し、他の列ベクトル格納部は何も出力しない。カウント数がX(Xは自然数)であれば、第X列ベクトル格納部201−Xが生成行列の第X列ベクトルを出力し、他の列ベクトル格納部は何も出力しない。このようにカウント数に応じた生成行列の列ベクトルが出力される。
ベクトル乗算部202は、入力データ格納部107から出力される入力データと、列ベクトル格納部201−1〜201−(N−K)から入力データカウント数に応じて出力される生成行列の列ベクトルとを乗算し、その結果を出力する。列ベクトル格納部201から出力される生成行列の列ベクトルは、入力データカウント数に応じて出力されている。このため、入力データと列ベクトルとの乗算は、生成行列において対応する列ベクトルとのものになっている。
ベクトル累積加算部203は、入力データカウント部101から入力される入力データカウント数が0のときに累積加算されてきたベクトルをリセットする。入力データカウント数が0でないときは、ベクトル乗算部202から入力されるベクトルを累積加算する。
例えば、ベクトル乗算部202の出力が[0,1,1,0,0,1,0]、累積加算されてきたベクトルが[1,1,1,0,0,1,0]のとき、累積加算ベクトルは[1,0,0,0,0,0,0]となる。
また、ベクトル累積加算部203では、入力データカウント数が生成行列の列数となったときのベクトル乗算部202からの出力を累積加算したベクトルを出力する。このときの出力ベクトルがパリティデータとなっている。
パリティ格納部109では、実施の形態1と同様、ベクトル累積加算部203で生成されたパリティデータを保持する。また、LDPC符号語系列生成部106では、入力データと生成されたパリティデータを正しい順序に並べて出力する。そして、LDPC符号語系列生成部106は、入力データとパリティデータを出力し終えると入力データ格納部107に対して出力制御信号108を出力する。
以上の構成とすることで、入力データと生成行列との乗算の際に入力データを格納して入力データベクトルを生成する必要がなく、入力データの格納部が必要ないために回路規模を削減できる。また、入力データが全て入力された時点でパリティが得られることから高速な符号化が行える。
(実施の形態3)
図4は本発明の実施の形態3の符号化装置300の構成例を示す図である。なお、実施の形態3において、実施の形態1と同一の部分は実施の形態1と同一の符号(用語を含む)を付し、重複説明を適宜省略する。
本実施の形態は、QC(Quasi Cyclic)擬似下三角検査行列から求まる生成行列と入力データとの乗算からパリティデータを得る。そして、LDPC符号化を行うのに生成行列のブロックのリファレンスベクトルを用いる。生成行列と入力データとの乗算は、生成行列のブロックのリファレンスベクトルを巡回シフトしたものと入力データとの乗算を行い、その結果を累積加算することでパリティデータを得る。以上のように構成することで、符号化装置300においては、LDPC符号の生成行列を再生するための回路規模を削減できる。また、符号化装置300は、求めたパリティを用いて新たにパリティを求める必要がなく、符号化のための処理が並列に行えるため高速な符号化が可能になる。
以下、本実施の形態について図面を用いて説明をする。
図4の符号化装置300は、実施の形態1と異なり、行ブロックリファレンスベクトル格納部(行リファレンス格納部ともいう)301−1〜301−B、巡回シフト部302−1〜302−B、ベクトル乗算部303−1〜303−Bおよびベクトル累積加算部304−1〜304−Bを有する。本実施の形態においては、各部101、301〜304をパリティ生成部と呼ぶ。また、パリティ生成部と各部106、109とを合わせてLDPC符号語生成部と呼ぶ。
なお、本実施の形態においては、各行ブロックリファレンスベクトル格納部301−1〜301−Bを行ブロックリファレンスベクトル格納部301、巡回シフト部302−1〜302−Bを巡回シフト部302、ベクトル乗算部303−1〜303−Bをベクトル乗算部303、ベクトル累積加算部304−1〜304−Bをベクトル累積加算部304としても、それぞれ表す。
図4の符号化装置300の各部の機能について概説する。行ブロックリファレンスベクトル格納部301−1〜301−Bは、LDPC符号化を行うための生成行列の行ブロックのリファレンスベクトルが格納されている。本実施の形態で用いている生成行列はQC(Quasi Cyclic)擬似下三角検査行列から求まる生成行列である。
ここで生成行列の行ブロックとは、生成行列をブロックに分割したときに行方向に並んでいるブロックのことを指す。例えば、生成行列Gを式(39)のように3行ブロック×4列ブロックに分割したとき、生成行列の行ブロックをG11、G12、G13、G14を第1行ブロック、G21、G22、G23、G24を第2行ブロック、G31、G32、G33、G34を第3行ブロックのように表現することとする。
Figure 0004856605
例えば、第1行ブロックリファレンスベクトル格納部301−1には、G11、G12、G13、G14のそれぞれのリファレンスベクトルが格納されている。なお、本実施の形態における生成行列は、B行ブロック(B=K/L)まであるものとする。
巡回シフト部302−1〜302−Bは、入力されるリファレンスベクトルを巡回シフトし、巡回シフト後のリファレンスベクトルをベクトル乗算部303−1〜303−Bに出力する。ベクトル乗算部303−1〜303−Bは、巡回シフト後のリファレンスベクトルと入力データベクトルとを乗算し、乗算後のベクトルをベクトル累積加算部304−1〜304−Bに出力する。ベクトル累積加算部304−1〜304−Bは、入力されるベクトルの累積加算を出力する。
次に、本実施の形態について詳述する。
図4の符号化装置300においては、入力データD100が入力され、生成されたパリティと入力データとを正しい順序にしてLDPC符号語として出力する点では、実施の形態1、2と同様である。本実施の形態において、実施の形態1、2と異なるのは、入力データD100と生成行列との乗算の処理方法である。
本実施の形態では、生成行列をブロックに分割したときに、行ブロックのリファレンスベクトルから生成行列を再生し、入力データとの乗算を行う。
行ブロックリファレンスベクトル格納部301−1〜301−Bでは、入力データカウント部101から入力される入力データカウント数に応じて、出力するリファレンスベクトルを変更する。入力データ数が1のときは、生成行列の1列目ブロックのリファレンスベクトルを出力する。
例えば、式(39)のGの場合、第1行ブロックリファレンスベクトル格納部301−1は、G11のリファレンスベクトルを出力し、第2行ブロックリファレンスベクトル格納部301−2は、G21のリファレンスベクトルを出力する。ブロックの大きさをL×L行列であるとすると、以降入力データがLビット入力されるごとに右列のブロックのリファレンスベクトルを出力するよう切り替える。
例えば、式(39)のGにおいて、入力データがLビット入力されると、行ブロックリファレンスベクトル格納部301−1は現在出力中のG11ブロックのリファレンスベクトルからG12ブロックのリファレンスベクトルを出力するよう切り替える。以降Lビット入力されるごとにブロックを切り替えていき、最右列のブロックのリファレンスベクトルを出力中に入力データがLビット入力されると最左列のブロックへと切り替える。
例えば、式(39)のGにおいて、第1行ブロックリファレンスベクトル格納部301−1がG14ブロックのリファレンスベクトルを出力中に入力データがLビット入力されるとG11ブロックのリファレンスベクトルを出力するよう切り替える。
巡回シフト部302−1〜302−Bでは、入力データカウント部101から入力される入力データカウント数に応じて、行ブロックリファレンスベクトル格納部301−1〜301−Bから入力されるリファレンスベクトルを巡回シフトする。
例えば、入力データ数が1のときはリファレンスベクトルを0ビット巡回シフトして出力する。以降装置に入力データが1ビット入力されるごとに巡回シフトするビット数を1ずつ増やしていく。Lビット入力されると、行ブロックリファレンスベクトル格納部301−1〜301−Bから出力されるリファレンスベクトルのブロックが切り替えられるので、巡回シフト量を再び0ビットにする。以降同様に装置に入力データが1ビット入力されるごとに巡回シフト量を1ビットずつ増やしていき、リファレンスベクトルのブロックが切り替わるごとに巡回シフト量を0ビットに戻す。このようにすることで、入力データに乗算されるベクトルが生成行列におけるベクトルと同じになる。
ベクトル累積加算部304−1〜304−Bは、入力データカウント部101から入力される入力データカウント数が0のときに累積加算ベクトルをリセットし、以降はベクトル乗算部303−1〜303−Bから入力されるベクトルを累積加算していく。ベクトル累積加算部304−1〜304−Bは、生成行列の列数(N−K)に等しいビット数が入力された時点での累積加算ベクトルをパリティデータとしてパリティ格納部109に出力する。
以上のように構成することで、生成行列を再生するための回路規模を削減でき、符号化のための処理が並列に行えるため高速な符号化が可能となる。
(実施の形態4)
図5は本発明の実施の形態4の符号化装置400の構成例を示す図である。なお、実施の形態4において、実施の形態1乃至3と同一の部分は実施の形態1乃至3と同一の符号(用語を含む)を付し、重複説明を適宜省略する。
本実施の形態は、生成行列と入力データとの乗算を行い、パリティデータを生成することでLDPC符号化を行う。本実施の形態において生成行列の行ブロックのリファレンスベクトルを用いることで生成行列を巡回シフト部302−1〜302−Bにおいて再生し、入力データとの乗算を行うというアプローチは実施の形態3と同様である。本実施の形態が実施の形態3と異なる点は、生成行列の行ブロックのリファレンスベクトルの生成方法である。
実施の形態3では、各行ブロックリファレンスベクトル格納部301−1〜301−Bが生成行列の行ブロックのリファレンスベクトルを保持し、それを乗算に用いていた。これに対し、本実施の形態では、生成行列の行ブロックのリファレンスベクトルを生成するのにリファレンスベクトルのインデクスを自装置に保持し、それを用いてリファレンスベクトルの再生を行う。ここでリファレンスベクトルのインデクスとは、リファレンスベクトルにおいて「1」が存在する位置を示す値のことである。
例えば、リファレンスベクトルが[0,1,0,0,1,0,1]であるとき、リファレンスベクトルのインデクスは[2,5,7]である。
リファレンスベクトル長がLで、リファレンスベクトル中に1が存在する個数をNとすると式(40)の関係式が成立するとき、本実施の形態の形式でリファレンスベクトルを生成した方が実施の形態3の形式でリファレンスベクトルを生成するより、符号化装置400における格納部の大きさを小さくすることができる。
Figure 0004856605
以上のように本実施の形態の符号化装置400では、LDPC符号の生成行列を自装置において再生するための回路規模を削減し、符号化のための処理を並列に行うことで高速な符号化を可能とする。
以下、本実施の形態について図面を用いて説明をする。
図5の符号化装置400は、実施の形態1乃至3と異なり、行ブロックリファレンスベクトルインデクス格納部401−1〜401−B、ベクトル生成部402−1〜402−Bを有する。本実施の形態においては、各部101、401、402、302〜304をパリティ生成部と呼ぶ。また、パリティ生成部と各部106、109とを合わせてLDPC符号語生成部と呼ぶ。
次に、図5の符号化装置400の各部の機能について概説する。行ブロックリファレンスベクトルインデクス格納部401−1〜401−Bは、LDPC符号化を行うための生成行列の行ブロックのリファレンスベクトルのインデクスが格納されている。本実施の形態で用いる生成行列はQC(Quasi Cyclic)擬似下三角検査行列から求まる生成行列である。
ベクトル生成部402−1〜402−Bでは、上記行ブロックリファレンスベクトルインデクス格納部より出力されたインデクスを用いてリファレンスベクトルの再生を行う。例えば、リファレンスベクトルのインデクスが[2,5,7]であるとき、ベクトル生成部において再生されるリファレンスベクトルは[0,1,0,0,1,0,1]となる。
以下、本実施の形態について詳述する。
本実施の形態で用いる符号化装置400において、生成行列と入力データとの乗算処理に関しては実施の形態3と同様である。
本実施の形態では、入力データが符号化装置400に入力されると、その入力データは入力データ格納部107に保持される。入力データ格納部107に保持されたデータはLDPC符号語系列生成部106から出力された出力制御信号108に応じて出力される。入力データカウント部101でカウントした入力データ数に応じて、行ブロックリファレンスベクトルインデクス格納部401−1〜401−Bは、行ブロックのリファレンスベクトルのインデクスを出力する。
例えば、第1行ブロックリファレンスベクトルインデクス格納部401−1であれば、生成行列の第1行ブロックのリファレンスベクトルのインデクスを保持している。以降同様に第X行ブロックリファレンスベクトルインデクス格納部401−Xであれば、生成行列の第X行ブロックのリファレンスベクトルのインデクスを保持している。
行ブロックリファレンスベクトルインデクス格納部401−1〜401−Bにおいて、入力データカウント数に応じてインデクスを出力するとは、例えば、入力データカウント数が1のときは生成行列の最左列のブロックのリファレンスベクトルのインデクスを出力する意である。
ブロックをL×L行列であるとすると、以降、Lビット入力データが装置に入力されるごとに、行ブロックリファレンスベクトルインデクス格納部401−1〜401−Bでは、出力するインデクスのブロックを右列ブロックのものへと切り替える。出力するインデクスのブロックが生成行列の最右列のブロックであるとき、さらに入力データが自装置にLビット入力されると、行ブロックリファレンスベクトルインデクス格納部401−1〜401−Bでは、出力するリファレンスベクトルのインデクスを再度最左列のブロックのものへと切り替える。
ベクトル生成部402−1〜402−Bでは、行ブロックリファレンスベクトルインデクス格納部401−1〜401−Bより出力されたインデクスを用いてリファレンスベクトルを生成する。これ以降の入力データと生成行列の乗算に関しては実施の形態3の場合と同様である。
以上のようにすることで、符号化装置400の回路規模を削減し、高速な符号化を行うことができる。
(実施の形態5)
実施の形態5における符号化装置は、ビット幅が1の入力データを入力する実施の形態1乃至4の場合と異なり、2以上のビット幅をもつ入力データを入力する場合のものである。但し、入力データのビット幅は、生成行列のブロックの列数(図1のL)の約数とする。なお、本実施の形態で例に挙げる生成行列は、実施の形態3および4と同じ生成行列を用いる。
図6は本発明の実施の形態5における符号化装置700の構成例を示す図である。なお、実施の形態5において、実施の形態1乃至4と同一の部分は実施の形態1乃至4と同一の符号(用語を含む)を付し、重複説明を適宜省略する。
図6の入力データは、ビット幅が2であるため、第1のビットS101および第2のビットS102で構成されている。本実施の形態において、第1のビットS101は、入力データD100の入力ビット系列の1番目のビットに該当し、第2のビットS102は、入力データD100の入力ビット系列の2番目のビットに該当するものとする。なお、入力データD100のビット数は、3以上として適用してもよい。
本実施の形態では、図6の符号化装置700における各部701−1〜701−B、702−1〜702−B、703A−1〜703A−B、703B−1〜703B−B、704A−1〜704A−B、704B−1〜704B−B、705−1〜705−Bが、入力データとブロックとの乗算処理部に相当する。
なお、本実施の形態においては、各ベクトル生成部702−1〜702−Bをベクトル生成部702、巡回シフト部703A−1〜703B−1を巡回シフト部703、ベクトル乗算部704A−1〜704B−Bをベクトル乗算部704、ベクトル累積加算部705−1〜705−Bをベクトル累積加算部705としても、それぞれ表す。
以下、本発明の実施の形態について図面を用いて説明する。
本実施の形態において、入力データを2ビット以上にすると、リファレンスベクトルは、個々のビットに対して異なるものとなる。例えば、本実施の形態の入力データD100のビット系列をs=[s(t) s(t)]、生成行列のブロックをGとすると、sとGとの乗算式は、式(41)のようになる。
Figure 0004856605
式(41)において、t=0からt=1に変化すると、s(1)と乗算するベクトルは、s(0)と乗算されるリファレンスベクトルを2ビット巡回シフトしたものになることがわかる。
また、s(1)に乗算されるベクトルは、s(0)に乗算されるベクトルを2ビット巡回シフトしたものになることがわかる。さらに、式(41)から、t=0におけるs(0)と乗算されるベクトルはs(0)と乗算されるリファレンスベクトルを1ビット巡回シフトすることで生成できることがわかる。
そこで、本実施の形態においては、第1のビットS101に対する生成行列のブロックのリファレンスベクトル(ブロックの最左列ベクトル)をあらかじめ符号化装置に格納しておく。第2のビットS102に対するリファレンスベクトルはS101に対するリファレンスベクトルを1ビット巡回シフトして生成する。例えば上述のt=0においてs(0)と乗算されるリファレンスベクトルを符号化装置にあらかじめ格納しておき、s(0)に対するリファレンスベクトルはs(0)のリファレンスベクトルを1ビット巡回シフトして生成する。
そして、リファレンスベクトルを生成した以降(例えば、t=1以降)は生成したリファレンスベクトルを順次2ビット巡回シフトしたものと入力データとの乗算を行い、その出力ベクトルの累積和をとることで、生成行列と入力データとの乗算を行う。生成行列のブロックが切り替わったときは、上述t=0の場合と同様に、切り替わったブロックに対応するリファレンスベクトルを生成し、順次入力データとの乗算を行っていく。入力データと生成行列の最右列ベクトルとの乗算を行った時点でのベクトル累積和をパリティビットとし、入力データとパリティビットからLDPC符号系列を生成することで、符号化を実現する。
図6の符号化装置700は、実施の形態1と異なり行ブロックリファレンスベクトル情報格納部701−1〜701−B、ベクトル生成部702−1〜702−B、2ビット巡回シフト部703A−1〜703A−B、703B−1〜703B−B、ベクトル乗算部704A−1〜704A−B、704B−1〜704B−Bおよびベクトル累積加算部705−1〜705−Bを有する。
なお、本実施の形態においては、各部101、701−1〜701−B、702−1〜702−B、703A−1〜703A−B、703B−1〜703B−B、704A−1〜704A−B、704B−1〜704B−B、705−1〜705−Bをパリティ生成部と呼ぶ。また、パリティ生成部に109、106を組み合わせたものをLDPC符号語生成部と呼ぶ。
入力データカウント部101は、第1のビットS101および第2のビットS102の入力数を合わせたものをカウントし出力する。
行ブロックリファレンスベクトル情報格納部701−1〜701−Bには、生成行列の行ブロックのリファレンスベクトル情報が格納されている。例えば、実施の形態3のようにリファレンスベクトルそのものが格納されていてもよいし、実施の形態4のようにインデクス情報が格納されていてもよい。行ブロックリファレンスベクトル情報格納部701−1〜701−Bにおいては、実施の形態3および4と同様、入力カウント数に応じてリファレンスベクトル情報を出力する。
ベクトル生成部702は、行ブロックリファレンスベクトル情報格納部701から得たリファレンスベクトル情報により、ブロックのリファレンスベクトルを生成する。この際、リファレンスベクトル情報がリファレンスベクトルそのものの場合は、ベクトル生成部702は、そのリファレンスベクトルを出力する。他方、リファレンスベクトル情報がインデクス情報であれば、ベクトル生成部702は、インデクスに対応する部分に1の要素が存在するベクトルを生成すればよい。ベクトル生成部702は、上記リファレンスベクトルを、全て2ビット巡回シフト部のA(図6の符号A参照)の方(A系統ともいう)に出力する。
ベクトル生成部702は、2ビット巡回シフト部のBの方(B系統ともいう)へは、A系統のビット巡回シフト部に出力するベクトルを1ビット巡回シフトしたものを出力する。
2ビット巡回シフト部703では、入力データカウント部101から入力される入力データカウント数に応じて、ベクトル生成部702−1〜702−Bから入力されるリファレンスベクトルを巡回シフトする。
例えば、入力データ数が1のときはリファレンスベクトルを0ビット巡回シフトして出力する。以降、装置に入力データが2ビット入力されるごとに巡回シフトするビット数を2ずつ増やしていく。Lビット入力されると、行ブロックリファレンスベクトル格納部から出力されるリファレンスベクトルのブロックが切り替えられているので、巡回シフト量を再び0ビットにする。以降、同様に装置に入力データが2ビット入力されるごとに巡回シフト量を2ビットずつ増やしていき、リファレンスベクトルのブロックが切り替わるごとに巡回シフト量を0ビットに戻す。このようにすることで、入力データに乗算されるベクトルが生成行列におけるベクトルと同じになる。
なお、2ビット巡回シフトするのは、第1のビットS101と乗算を行うベクトルはリファレンスベクトルを順次2ビット巡回シフトしたものに相当するからである。例えば、式(20)において、t=0からt=1に変化すると、s(1)と乗算するベクトルは、s(0)に対するリファレンスベクトルを2ビット巡回シフトしたものに相当していることがわかる。
ベクトル乗算部704A−1〜704A−B、704B−1〜704B−Bは、巡回シフト部703の出力値と、第1のビットS101、第2のビットS102とのベクトル乗算を演算して、乗算結果をベクトル累積加算部705−1〜705−Bに出力する。
ベクトル累積加算部705−1〜705−Bは、入力データカウント部101の出力に応じてベクトル累積加算を制御する。入力データカウント数が0のときは、ベクトル累積加算部705は累積加算ベクトルをリセットする。入力データカウント数が0でないときは、ベクトル乗算部704からの出力を累積加算していく。
ベクトル累積加算部705は、入力データカウント数より、入力データが全て入力され、すなわち自装置に(N−K)ビット入力された時点でのベクトル累積加算値をパリティとして出力する。
以降、実施の形態3および4と同様、LDPC符号語系列生成部106は、入力データとパリティデータとを並べ替え、LDPC符号語を生成して出力する。
このように、実施の形態5における符号化装置700は、複数のビット数をもつ入力データに対しても、並列処理を行ってパリティビットを生成し、LDPC符号語を生成することができる。
(実施の形態6)
一般には生成行列の列数(N−K)未満のビット列が入力データとして入力されると、生成行列の列数(N−K)に一致するように入力データのビット列の末尾に「0」を挿入するステップと挿入した「0」と生成行列との線形演算を行うステップとが必要となる。
実施の形態6における符号化装置800は、生成行列の列数(N−K)未満のビット列をもつ入力データが入力される場合に、入力データが全て自装置に入力された時点での生成行列との線形演算結果をパリティとして出力することで、上記「0」を挿入するステップと挿入した「0」と生成行列との線形演算を行うステップを省くことができることを特徴とする。以下、本実施の形態について図面を用いて説明する。
図7は本発明の実施の形態6における符号化装置800の構成例を示す図である。なお、実施の形態6において、実施の形態1乃至3と同一の部分は実施の形態1乃至3と同一の符号(用語を含む)を付し、重複説明を適宜省略する。
図7の符号化装置800は、実施の形態1乃至3とは異なり、入力データカウント部802、行ブロックリファレンスベクトル生成部801−1〜801−Bおよびベクトル累積加算部803−1〜803−Bを有する。入力データカウント部802は、符号化装置800への入力データ数をカウントするとともに、全ての入力データが入力された時点で、そのことを示した制御信号をベクトル累積加算部803−1〜803−Bに出力する。
行ブロックリファレンスベクトル生成部801は、図6の符号化装置700の行ブロックリファレンスベクトル情報格納部701およびベクトル生成部702を合わせた機能を有しており、入力カウント数に応じてブロックのリファレンスベクトルを出力する。
ベクトル累積加算部803は、入力データカウント部802の出力に応じて累積加算演算の処理を行う。ベクトル累積加算部803は、符号化装置800への入力データ数が0のときは、累積加算ベクトルをリセットする。他方、ベクトル累積加算部803は、以降入力データ数が0でないときは、ベクトル乗算部303からの出力ベクトルを累積加算していく。このとき、ベクトル累積加算部803は、入力データカウント部802から、符号化装置800への入力データが全て入力されたことを示す制御信号を得ると、累積加算を打ち切り、その時点での累積加算ベクトルをパリティデータとして出力する。以降のLDPC符号語生成部の処理は実施の形態3および4と同様である。
本実施の形態においては、生成行列の列数(N−K)に満たない入力データD100の末尾に「0」を挿入して、一連の処理を行う必要がない。よって、パリティビットを出力するまでの遅延時間を少なくことができる。
(実施の形態7)
実施の形態7における符号化装置は、複数の異なるモード(符号長、符号化率)でパリティ生成部を共用することに関する。ここでいうパリティ生成部とは、実施の形態1乃至6で述べたパリティ生成部のことである。
例えば、2つの異なるモード(第1モード、第2モード)でパリティビットを生成する場合、生成行列のブロック数およびブロック長は、それぞれのモードに応じて異なることになる。ここで、ブロック長とはブロックの大きさを表しており、例えば27×27というように行列の大きさで定義できる。
具体的には、例えば、第1モードとして符号長を648、符号化率を1/2、ブロック長を27×27のものを用いると、第1モードに対応する生成行列(式(10)の検査行列から求めた生成行列)は、12行ブロック×12列ブロックで構成される。一方、第2モードとして符号長を1944、符号化率を3/4、ブロック長を81×81のものを用いると、第2モードに対応する生成行列は、6行ブロック×18列ブロックで構成される。
この場合、第1モードと第2モードとではブロック長が異なるためにパリティ生成部における巡回シフト部、ベクトル乗算部およびベクトル累積加算部では、各部の共用化を図ることはできないが、例えば第3モードとして、符号長648、符号化率3/4、ブロック長27×27のものを用いると、生成行列は6行ブロック×18列ブロックで構成される。このとき第1モードと第3モードとでは、パリティ生成部における巡回シフト部、ベクトル乗算部およびベクトル累積加算部の共用化を図ることができる。ゆえに、本実施の形態は2つ以上の異なるモードが存在する場合に、各モードの生成行列のブロック長が等しいときには符号化装置の共用化を図れることを特徴とする。但し、本実施の形態では各モードにおける行ブロック数のうち、最大の行ブロック数を有するモードによって符号化装置の規模は支配される。例えば、第1モードは12行ブロック×12列ブロックで、第3モードは6行ブロック×18列ブロックであるため、符号化装置としては、12行ブロック分の巡回シフト部、ベクトル乗算部およびベクトル累積加算部が必要となる。
図8は本発明の実施の形態7における符号化装置900の構成例を示す図である。本実施の形態では同時に符号化を試みるモード数がMの場合を例に説明する。なお、実施の形態7において、実施の形態1乃至6と同一の部分はそれらと同一の符号(用語を含む)を付し、重複説明を適宜省略する。
図8において、符号化装置900は、実施の形態1乃至6と異なり、各モード行ブロックリファレンスベクトル生成部(モード行リファレンス生成部)901−1〜901−Mを有する。各モードブロックリファレンスベクトル生成部は、それぞれのモードに対応する生成行列の行ブロックのリファレンスベクトルを保持している。
なお、本実施の形態においては、各モード行ブロックリファレンスベクトル生成部901−1〜901−Mをモード行ブロックリファレンスベクトル生成部901としても表す。
各モード行ブロックリファレンスベクトル生成部901は、対応するモード情報M900が入力された場合に、自身の保持するリファレンスベクトルを出力する。リファレンスベクトルの生成法に関しては実施の形態6と同様である。
以降、巡回シフト部302、ベクトル乗算部303およびベクトル累積加算部803では、各モード行ブロックリファレンスベクトル生成部901−1〜901−Mから出力されている、符号化を行うモードのリファレンスベクトルを用いてパリティデータを生成する。パリティデータの生成に関しては実施の形態3乃至6と同様である。
また、生成されたパリティデータはパリティ格納部109に保持され、LDPC符号語系列生成部106によって生成されたパリティと入力データとの並べ替えが行われ、符号化処理される。
このように構成することにより、本実施の形態の符号化装置900は、複数のモードで巡回シフト部、ベクトル乗算部およびベクトル累積加算部を共用することができる。以上より、複数モードが存在する通信システムにおける符号化装置の回路規模を削減することができる。
(実施の形態8)
本実施の形態は、実施の形態1乃至7の符号化装置を用いて無線送信装置(無線装置)を構成する場合に関する。
図9は本発明の実施の形態8の無線送信装置500の構成例を示す図である。なお、実施の形態8において、実施の形態1と同一の部分は実施の形態1と同一の符号(用語を含む)を付し、重複説明を適宜省略する。
本実施の形態は、実施の形態1乃至7で述べた符号化装置を用いて無線送信装置を構成するものである。つまり、無線送信装置は、パリティ生成部に入力データを入力する前に、入力データ格納部に入力データを保持する構成を利用する。さらに、無線送信装置は、パリティ生成部からの出力パリティをパリティ格納部で保持する構成を利用する。本実施の形態では、入力データ格納部およびパリティ格納部からの読み出しパターンを制御することで、無線送信におけるインタリーブ処理を行えることを特徴とする。
ここでインタリーブ処理について説明する。インタリーブとは、無線信号が無線伝送路において受けるフェージング変動によって無線信号が歪み、受信装置において生じる無線信号のバースト誤り(情報データの連続した誤りの事を指す)をランダム化する技術のことである。
インタリーブ処理を行うには、例えば図10Aに示すように、符号化後のビット系列(本実施の形態ではLDPC符号化後のビット系列)を3×4の行列に格納する。その際の行列への書き込みでは、図10Aに示す書き込み(write)方向に順次、符号化後のビット系列を書き込んでいく。次に、読み出すときは、読み出し(read)方向に読み出していく。このようにすると、フェージングによって生じる誤りを受信装置でランダム化できる。
例えば図10Bに示すように、インタリーブ処理後のビット系列がフェージング伝送路を通ることで生じる歪みによって、受信装置において、ビット系列の一部(斜線部分)がバースト誤りを起こしていると仮定する。すると、受信した符号語系列は、送信装置と同様に、3×4の行列に書き込まれ、適宜読み出される。なお、書き込み方向、読み出し方向は、送信装置とは異なる。
図10Bにおいても、図10Aと同様に、write方向に書き込み、read方向に読み出しが行われると、不図示の受信装置において、符号化後ビット系列を正しい順序に並べなおすことができる。このとき、受信装置においては、バースト誤りを受けている部分が、ランダム化されていることがわかる。
以上のように、インタリーブ処理を行うことで受信装置におけるバースト誤りをランダム化することができる。なお、インタリーブ技術のさらなる詳細については、例えば、非特許文献3などの参考文献に記載されている。
以下、本実施の形態について図面を用いて説明をする。
図9の無線送信装置500は、入力データ格納部107、パリティ生成部501、読み出し制御部502、パリティ格納部109、無線フレーム構成部503、変調部504、無線信号生成部505および無線信号送信部506を有する。
次に、図9の無線送信装置500の各部の機能について概説する。入力データ格納部107は、実施の形態1と同様、入力データの保持機能を有している。しかし、本実施の形態の入力データ格納部107は、さらに、読み出し制御部502からの制御信号に応じて読み出しを行う。
パリティ生成部501では、実施の形態1乃至7のパリティ生成部と同様の機能を有している。すなわち、パリティ生成部501は、入力データD100を入力すると、それに対応するパリティデータを出力する。
パリティ格納部109は、実施の形態1と同様、パリティデータを保持する機能を有している。しかし、本実施の形態のパリティ格納部109は、さらに、読み出し制御部502からの制御信号に応じて読み出しを行う。
読み出し制御部502では、入力データ格納部107に保持されている入力データを読み出す際に、インタリーブパターンに従って読み出しを行うよう制御信号を出力する。入力データの読み出しが終了すると、読み出し制御部502は、次はパリティデータの読み出しをインタリーブパターンに従って行うよう制御信号を出力する。
無線フレーム構成部503では、無線フレームを構成するのに必要となるヘッダ情報などを符号化後ビット系列に対して付与する。変調部504では、無線フレームを、通信システムで用いる公知の変調方式によって変調する。
無線信号生成部505では、変調された信号を通信システムで用いる無線伝送周波数帯へとアップコンバートする。無線信号送信部506では、上記アップコンバートされた信号を送信する。
以下、本実施の形態について詳述する。
図9の無線送信装置500において、入力データ格納部107は、入力データをD100保持する。次に、読み出し制御部502は、入力データ格納部107に保持されている入力データを、無線送信装置500に入力された順に、データ507として、パリティ生成部501側へ読み出すよう制御する。
パリティ生成部501は、入力データ格納部107から読み出されたデータ507からパリティを生成し、パリティデータをパリティ格納部109へ出力する。
パリティ生成部501は、入力データ系列に対応するパリティを生成し終えると、その旨を示す制御信号を読み出し制御部502へ出力する。このとき、読み出し制御部502は、入力データ格納部107から、無線送信装置500で用いるインタリーブパターンに従って読み出しを行うよう制御信号を出力する。
具体的には、読み出し制御部502では、図11の読み出しパターンに示すように、入力データ格納部107に格納されているデータおよびパリティ格納部109に格納されているパリティデータをwrite方向に書き込んだテーブルを仮想的に用意する。
このテーブルにおいて、読み出し制御部502は、read方向に読み出しを行うように制御信号を、入力データ格納部107およびパリティ格納部109に対して出力する。
入力データ格納部107およびパリティ格納部109では、上記制御信号に応じて読み出しを行う。以上により、インタリーブ処理を行うことができる。
無線フレーム構成部503は、入力データ格納部107およびパリティ格納部109から出力されたデータに対して、無線フレームに必要なヘッダ情報などを付与して出力する。
変調部504は、無線フレーム構成部503への出力に対して、通信システムにおける公知の変調方式を用いて変調し出力する。
無線信号生成部505は、上記変調された信号を、通信システムにおける無線周波数帯へとアップコンバートする。無線信号送信部506では、上記アップコンバートされた信号を送信する。以上の構成とすることで、無線送信におけるインタリーブ処理を行うことができる。
(実施の形態9)
本実施の形態は、実施の形態1乃至7の符号化装置を用いた無線送信装置および無線受信装置(無線装置)を構成する場合に関する。
図12は本発明の実施の形態9の無線送信装置600および無線受信装置600Aの構成例を示す図である。なお、実施の形態9において、実施の形態1乃至8と同一の部分は実施の形態1乃至8と同一の符号(用語を含む)を付し、重複説明を適宜省略する。
本実施の形態の無線送信装置600は、実施の形態1乃至7の符号化装置を用いて構成するものである。具体的には、無線送信装置600は、生成した符号語の符号化率を変更するのにパンクチャ処理を行う。さらに、無線送信装置600は、公知の通信システムに適応変調を用いる。
ここでパンクチャ処理とは、符号語の出力を間引くことによって符号化率を変更する処理のことである。これは、図13に例示している。例えば、図13(a)に示すように、LDPC符号の符号化率が2/3の場合、符号語出力制御部601は、4ビットにつき1ビット間引いて、符号化率が2/3の符号語を生成して出力する。
また、図13(b)に示すように、符号化率が3/4の符号語の場合は、3ビットにつき1ビット間引いて生成する。
さらに、図13(c)に示すように、符号化率が5/6の符号語の場合は、5ビットにつき2ビット間引いて生成する。
また、適応変調とは、受信装置における受信信号の情報信号対雑音電力比(SNR:Signal to Noise Ratio)に応じて、送信装置で符号化率を変更する方式のことである。符号化率が一定でない通信システムの場合、一般的には、符号語を生成するのに符号化率に対応した生成行列が必要となる。しかし、本実施の形態の無線受信装置600は、出力符号語をパンクチャ処理することで異なる符号化率の符号語を生成する点に特徴がある。
以下、本実施の形態について図面を用いて説明をする。
図12の無線送信装置600は、実施の形態8と異なり、符号語出力制御部601を有する。そして、無線受信装置600Aは、無線送信装置600に、無線受信部604、無線検波部602および信号電力推定部603をさらに有する。
符号語出力制御部601は、ある符号化率(例えば1/2)で生成されたLDPC符号語から生成したい符号化率となるよう送信データを選択して出力する。この処理は、上記パンクチャ処理に相当する。
また、パンクチャ処理の一例として、1/2の符号化率の符号語から他の符号化率の符号語を生成する場合を挙げている。しかし、実際には、元となる符号語の符号化率は特に指定がない。その他の無線送信装置600の構成は、実施の形態8の無線送信装置500と同様である。
次に、無線受信装置600Aの各部の機能について説明する。
無線受信装置600Aは、無線受信部604によって受信した無線信号を無線信号検波部602に出力する。無線信号検波部602では、無線受信部604からの受信信号(無線信号)を検波する。検波の方法は、本実施の形態では特定しないが、例えば同期検波などを用いて無線信号の検波を行う方法がある。
検波後の出力は、信号電力推定部603において情報信号の電力および雑音電力を推定する。それにより、SNRの推定値を求め、次に送信される無線フレームの符号化率を受信装置600A(信号電力推定部603)において決定する。そして無線受信装置600Aの信号推定部603は、その符号化率を送信装置600の符号語出力制御部601にフィードバックする。
そうすると、無線送信装置600では受信装置600Aからフィードバックされた符号化率となるように、符号語出力制御部601においてパンクチャ処理を行い、生成したい符号化率の符号語を生成する。
以上のように構成することで、適応変調を用いる通信システムにおいても、無線送信装置600に生成行列を1つのみ保持しておくことで多様な符号化率の符号語を生成することができる。
(実施の形態10)
図14に、本発明の実施の形態10に係る無線送信装置の構成例を示す。図14の無線送信装置1000は、符号化及びインタリーブ部1010、変調部1020、及び無線部1030を備えて構成される。
図14の無線送信装置1000において、情報ビットは、符号化及びインタリーブ部1010に入力される。符号化及びインタリーブ部1010は、情報ビットに対し、LDPC符号化及びインタリーブを施す。なお、LDPC符号化及びインタリーブの詳細については後述する。符号化及びインタリーブ部1010は、LDPC符号化及びインタリーブ後の符号ビットを変調部1020に出力する。
変調部1020は、符号ビットを変調する。ここでの変調とは、例えばQPSK(Quadrature Phase Shift Keying)変調方式や、16QAM(Quadrature Amplitude Modulation)変調方式などを表している。変調部1020は、変調後の変調信号を無線部1030に出力する。
無線部1030は、入力された変調信号を用いて無線信号を生成する。ここでの無線信号とは、例えばOFDM(Orthogonal Frequency Division Multiplexing)変調信号、あるいはシングルキャリア変調信号を無線周波数帯にアップコンバートした信号を表している。無線部1030が、入力された変調信号からOFDM変調信号を生成するには、例えば、非特許文献4に示される方法を用いればよい。無線部1030は、生成した無線信号を無線伝搬路へ出力する。
次に、符号化及びインタリーブ部1010におけるLDPC符号化及びインタリーブについて数式を用いて説明する。インタリーブとは、実施の形態8に示したように、符号ビットの順序を入れ換える操作に相当している。このときのインタリーブパターンをΠとすると、情報ビットのLDPC符号化、LDPC符号化後の符号ビットのインタリーブという一連の操作は、式(42)により表すことができる。なお、式(42)において、xはインタリーブ後の符号ビットを示し、GはLDPC符号語を生成する生成行列を示し、sは入力情報ビットを示す。
Figure 0004856605
式(42)におけるGは、LDPC符号語を生成する生成行列であり、単位行列Iとパリティ生成行列Gとにより構成される。Gを式(43)に示す。ここで、Gは、式(16)に示したパリティビットを生成するパリティ生成行列である。
Figure 0004856605
式(43)より、式(42)におけるGsは、Gs=[Is=[sとなり、LDPC符号語を得ることができる。LDPC符号語は、インタリーブパターンΠに従ってインタリーブされる。具体的には、LDPC符号に対してインタリーブパターンΠを乗算することにより、インタリーブを実現することができる。LDPC符号語長が3の場合の例を、式(44)に示す。
Figure 0004856605
式(44)において[cはLDPC符号語を表しており、インタリーブパターンΠを乗算することによりLDPC符号語がインタリーブされ、[cが得られる。なお、インタリーブは、符号ビットの順番を入れ換える操作であるので、インタリーブパターンにおいて、一つの行には1つの“1”の要素しかないパターンとすることに注意する。
このように、インタリーブは、LDPC符号語にインタリーブパターンを乗算することにより実現することができる。ここで、インタリーブパターンが単位行列のサイクリックシフト又は零行列により構成されているとする。即ち、インタリーブパターンの部分行列が単位行列のサイクリックシフト又は零行列であるとする。なお、このときのインタリーブパターンの部分行列の大きさとパリティ生成行列の部分行列の大きさは等しいものとする。このとき、実施例に示す式(24)の関係から、インタリーブパターンとLDPC符号語の生成行列との乗算により得られる行列(以下「インタリーブド行列」ともいう)もまた、単位行列のサイクリックシフトの和又は零行列により構成された形となる。よって式(45)に示すように、インタリーブパターンとLDPC符号語の生成行列との乗算により得られる行列を新たにGとすると、LDPC符号化及びLDPC符号語のインタリーブは、入力情報ビットsとGとの乗算のみによって表すことができる。
Figure 0004856605
なお、式(45)では、インタリーブパターンΠを生成行列Iと大きさが同じ行列Π11と、生成行列Gと大きさが同じ行列Π21と、行数が単位行列Iと同じ行数で列数が生成行列Gの行数と同じ行列Π12と、行数及び列数がともに生成行列Gと同じ行数の行列Π22とに分割して表記しており、Π11〜Π22は、サイクリックシフトである部分行列を含んで構成される(なお、これらΠ11〜Π22が必ずしも部分行列を示すわけではない)。
このとき、本実施の形態における符号化及びインタリーブ部1010は、実施の形態1乃至7で用いた符号化装置と同様の構成をとることで実現できる。即ち、実施の形態1乃至7で用いた符号化装置と同様の構成をとるのみで、LDPC符号化及びLDPC符号化後の符号ビットのインタリーブを実現することができ、無線送信装置の回路規模を削減することができる。
なお、以上の説明では、一つのLDPC符号語内でインタリーブが施される場合について説明した。したがって、LDPC符号の復号による誤り訂正の効果は、一つのLDPC符号語に閉じられている。例えば、LDPC符号語の系列として、図15Aに示すように、符号語#1、符号語#2というように並んでいる場合を考える。このとき、符号語#1の復号によって得られる誤り訂正の効果は、符号語#1に対してのみ得られ、同様に符号語#2の復号によって得られる誤り訂正の効果は、符号語#2に対してのみ得られる。
以下では、複数のLDPC符号語に対してインタリーブを行う場合について説明する。例えば、符号語#1と符号語#2に対してインタリーブを行い、図15Bに示すように符号語#1と符号語#2の系列を混在させる場合を考える。図15Bにおけるブロックの大きさは、LDPC符号化及びインタリーブを行う行列Gにおいて、単位行列のサイクリックシフトの和となる部分行列の大きさに等しいものとする。即ち、入力情報ビットsと部分行列との乗算によって得られる符号ビットの単位を1ブロックとする。
このとき、無線送信装置1000によって送信された無線信号が無線伝搬路において、図15Bに示すように、符号語#1のブロック#2と、符号語#2のブロック#6に相当する部分の無線信号がフェージングの影響を受け、信号電力が落ち込んだ場合であっても、フェージングの影響が符号語#1、符号語#2に分散されるので、LDPC符号の復号による誤り訂正の劣化の影響を分散させることができる。
このように、複数のLDPC符号語にわたってインタリーブを施すことはフェージングによる誤り訂正の劣化の影響を低減する技術として有効である。これは、変調部1020においてOFDM変調により変調信号を生成している場合においても、各サブキャリア信号が受けるフェージングの影響を複数のLDPC符号語に分散させることができ、フェージングによる誤り訂正の劣化を低減する技術として有効である。
ここで、複数のLDPC符号語の符号化及びインタリーブを行う行列は、式(46)のように表すことができる。
Figure 0004856605
式(46)において、Gは複数のLDPC符号語を生成するための生成行列を表している。なお、式(46)は、2つのLDPC符号語に対してインタリーブを行う場合を示したものであり、Gが、1つ目のLDPC符号のパリティビットを生成するパリティ生成行列を表し、Gが、2つ目のLDPC符号のパリティビットを生成するパリティ生成行列を表している。3つ以上のLDPC符号語に対してインタリーブを行うには、生成行列Gを拡張し、LDPC符号語を生成する生成行列をさらに連結していけばよい。連結する生成行列は同じ行列であっても、異なる行列であってもよい。
このように、LDPC符号を生成する生成行列を連結したものに対してインタリーブパターンΠを乗算することによって、複数のLDPC符号にわたるインタリーブを実現することができる。インタリーブパターンの部分行列が単位行列のサイクリックシフト又は零行列となっていて、かつ、生成行列の部分行列が、単位行列のサイクリックシフトの和の形となっているものであれば、複数のLDPC符号化、及び複数のLDPC符号にわたるインタリーブを実現することができる。なお、インタリーブパターンにおいて、一つの行には1つの“1”の要素しかないパターンとすることに注意する。
以下、複数のLDPC符号化及び複数のLDPC符号にわたるインタリーブ処理について、数式を用いて補足説明をする。
以下では、図15に示すように、2つの符号語#1,#2、つまり、8つのブロック(ブロック#1〜#8)にわたって、LDPC符号化及びインタリーブ処理を施す場合を例に説明する。式(46)のように、インタリーブパターンがLDPC符号語を生成する生成行列に乗算された行列(インタリーブド行列)をGとすると、8つのブロックにわたってLDPC符号化及びインタリーブ処理を施す場合、Gは式(47)のように表すことができる。
Figure 0004856605
式(47)に表される部分行列GB1,GB2,…,GB8と入力情報ビットsとが乗算され、LDPC符号語におけるブロックが生成される。Gは、LDPC符号語を生成する生成行列に対し、インタリーブパターンが乗算された行列であるので、Gに入力情報ビットsを乗算することで得られる結果は、既にLDPC符号語のブロックをインタリーブした系列が得られることとなる。即ち、図15Bのようにブロックをインタリーブしたとすると、GB1・sがブロック#1となり、GB2・sがブロック#5となり,…,GB8・sがブロック#8となる。
このとき、図1に示すように、検査行列がL×Lの部分行列を一つの単位として、単位行列のサイクリックシフトのブロックから構成されている場合、生成行列も、L×Lの部分行列を一つの単位として、単位行列のサイクリックシフトの和の形から構成される。例えば、GB1,GB2,…,GB8が4つのL×L行列により構成されているとする。このとき、Gは、図16のようになる。
図16に示すように、GB1,GB2,…,GB8を構成するL×L行列は単位行列のサイクリックシフトの和の形となっている。本実施の形態は、L×Lの部分行列がサイクリックシフトの和の形なっている性質を利用し、LDPC符号化とインタリーブとを同時に行う構成を提供するものである。
以下、複数のLDPC符号化、複数のLDPC符号にわたるインタリーブを実現する符号化及びインタリーブを行う符号化装置の構成例について説明する。図17に、8つのブロックにわたってLDPC符号化及びインタリーブを行う場合の符号化装置の構成例を示す。
図17の符号化装置1010は、GB1リファレンスベクトル格納部1011−1,GB2リファレンスベクトル格納部1011−2,…,GB8リファレンスベクトル格納部1011−8、ベクトル巡回シフト部1012−1,1012−2,…,1012−8は、GB1リファレンスベクトル格納部1011−1、GB2リファレンスベクトル格納部1011−2,…,GB8リファレンスベクトル格納部1011−8、ベクトル乗算部1013−1,1013−2,…,1013−8、ベクトル累積加算部1014−1,1014−2,…,1014−8、及び、LDPC符号語系列生成部1015を備えて構成される。
まず、符号化及びインタリーブ部1010に入力された情報ビットは、GB1リファレンスベクトル格納部1011−1,GB2リファレンスベクトル格納部1011−2,…,GB8リファレンスベクトル格納部1011−8に入力される。これらリファレンスベクトル格納部には、GB1,GB2,…,GB8を構成するL×Lの単位行列のサイクリックシフトの和である行列のリファレンスベクトル(例えば第一列ベクトル)が格納されている。GB1リファレンスベクトル格納部1011−1,GB2リファレンスベクトル格納部1011−2,…,GB8リファレンスベクトル格納部1011−8は、情報ビットが入力されると格納してあるリファレンスベクトルを出力する。ここで、単位行列のサイクリックシフトの和となるのはL×L行列ごとであるので、GB1リファレンスベクトル格納部1011−1,GB2リファレンスベクトル格納部1011−2,…,GB8リファレンスベクトル格納部1011−8は、情報ビットがLビット入力されるごとに出力するリファレンスベクトルを切り替える。
ベクトル巡回シフト部1012−1,1012−2,…,1012−8は、GB1リファレンスベクトル格納部1011−1、GB2リファレンスベクトル格納部1011−2,…,GB8リファレンスベクトル格納部1011−8から出力されたリファレンスベクトルを巡回シフトし、巡回シフト後のリファレンスベクトルをベクトル乗算部1013−1,1013−2,…,1013−8に出力する。このときの巡回シフトの方法は、図4に示す第一の巡回シフト部302−1,302−2,…,302−Bなどと同様である。これにより、情報ビットに乗算されるベクトルを生成することができる。
ベクトル乗算部1013−1,1013−2,…,1013−8には、情報ビットと、ベクトル巡回シフト部1012−1,1012−2,…,1012−8からの出力とが入力される。ベクトル乗算部1013−1,1013−2,…,1013−8は、入力された情報ビットとベクトル巡回シフト部1012−1,1012−2,…,1012−8からの出力とを乗算し、乗算結果をベクトル累積加算部1014に出力する。
ベクトル累積加算部1014−1,1014−2,…,1014−8には、ベクトル乗算部1013−1,1013−2,…,1013−8からの出力が入力される。ベクトル累積加算部1014−1,1014−2,…,1014−8は、入力されたベクトルを累積加算し、累積加算結果をLDPC符号語系列生成部1015に出力する。このときの累積加算は、ベクトル累積加算部304における排他的論理和アキュムレートと同様である。
LDPC符号語系列生成部1015には、情報ビットと、ベクトル累積加算部1014−1,1014−2,…,1014−8からの出力とが入力される。LDPC符号語系列生成部1015は、情報ビットの入力数をカウントしており、LDPC符号語を生成する対象であるビット数の情報ビットが入力された時点での、ベクトル累積加算部1014−1,1014−2,…,1014−8からの出力をLDPC符号語として出力する。具体的には、GB1,GB2,…,GB8は4つのL×L行列で構成されているので、4×Lビットの情報ビットが入力された時点でのベクトル累積加算部1014−1,1014−2,…,1014−8からの出力をLDPC符号語として出力する。4×Lビットの情報ビットが入力された時点での、ベクトル累積加算部1014−1,1014−2,…,1014−8からの出力は、4×Lビットの情報ビットとGとの乗算結果となっているので、これによりLDPC符号語のインタリーブ結果を得ることができる。
本実施の形態における重要な点は以下の通りである。
符号ビットのインタリーブは、インタリーブパターンを符号ビットに乗算することによって実現できる。LDPC符号語を生成する生成行列の部分行列が、単位行列のサイクリックシフトの和であるものを用いるとする。このとき、単位行列のサイクリックシフトをインタリーブパターンの部分行列とすることが重要である。上述したように、インタリーブパターンでは、一つの行には1つの“1”の要素しかないので、単位行列のサイクリックシフトをインタリーブパターンの部分行列とすると、インタリーブパターンの部分行列は、単位行列のサイクリックシフト又は零行列により構成される。このとき、インタリーブパターンとLDPC符号の生成行列との乗算により得られる行列の部分行列もまた、単位行列のサイクリックシフトの和となる。このため、LDPC符号化及び符号化後のビットのインタリーブを、実施の形態1乃至7において述べた符号化装置を用いて実現することができる。これにより、無線送信装置における回路規模を削減することができる。このように、単位行列のサイクリックシフトをインタリーブパターンの部分行列とすることが重要である。
また、複数のLDPC符号語にわたるインタリーブは、インタリーブパターンを、LDPC符号語を生成する生成行列を複数連結した行列に対して乗算することにより実現できる。インタリーブパターンの部分行列を単位行列のサイクリックシフト又は零行列となるようにすることで、前記のように実施の形態1乃至7で述べた符号化装置を用いることができる。複数のLDPC符号にわたってインタリーブすることにより、フェージングによる信号電力の落ち込みを分散させることができ、LDPC符号の復号による誤り訂正の劣化を低減することができる。このように、複数のLDPC符号にわたり、インタリーブを行う構成が重要である。
このように、本実施の形態に係る符号化方法は、部分行列が単位行列のサイクリックシフトの和となっている行列を生成行列としてLDPC符号語を取得する符号化方法において、単位行列のサイクリックシフトを部分行列とするインタリーブパターン行列を用いて前記LDPC符号語をインタリーブするインタリーブし、例えば、単位行列のサイクリックシフトを部分行列とするインタリーブパターン行列と、QC擬似下三角行列の形態の検査行列を用いて作成される生成行列との行列演算により取得されるインタリーブド行列の部分行列を供給し、インタリーブド行列の部分行列と入力データとの線形演算によりLDPC符号語を取得する。
(実施の形態11)
図18に本実施の形態に係るマルチアンテナ通信装置の構成を示す。なお、実施の形態10と同様の構成については、同一の符号を付し、説明を省略する。図18のマルチアンテナ通信装置1100は、符号化及び空間マッピング部1110、変調部1020A、1020B、及び無線部1030A、1030Bを備えて構成される。図18において、変調部1020A及び無線部1030Aは、ストリーム#Aを形成し、変調部1020B及び無線部1030Bは、ストリーム#Bを形成する。情報ビットは、符号化及び空間マッピング部1110に入力される。
符号化及び空間マッピング部1110は、情報ビットに対し、LDPC符号化及び空間マッピングを施す。ここでのLDPC符号化及び空間マッピングについては後述する。符号化及び空間マッピング部1110は、LDPC符号化及び空間マッピングを施した符号ビットを変調部1020A、1020Bに出力する。
変調部1020A、1020Bは、入力された符号ビットを変調し、無線部1030A、1030Bに出力する。
無線部1030A、1030Bは、入力された変調信号を用いて無線信号を生成し、無線伝搬路へと出力する。
次に、符号化及び空間マッピング部1110について説明する。符号化及び空間マッピング部1110は、LDPC符号化と符号化後の符号ビットの空間マッピングを一つの構成で実現するものである。ここで、空間マッピングとは、LDPC符号化後の符号ビットを送信するストリームを選択することに相当する。空間マッピングを表す行列(空間マッピングパターン)をΓとすると、LDPC符号化及び空間マッピングは式(48)により表すことができる。
Figure 0004856605
式(48)における[yのうち、yがストリーム#Aに割り当てられる符号ビットを表しており、yがストリーム#Bに割り当てられる符号ビットを表している。このように、LDPC符号語に対してΓを乗算することにより、どのストリームにどの符号ビットを割り当てるか、という空間マッピングを実現することができる。ここで、空間マッピングΓとLDPC符号語を生成する生成行列Gとの乗算結果を式(49)に示す。
Figure 0004856605
式(49)に示すGを入力情報ビットsに乗算することで、LDPC符号化と空間マッピングを同時に行うことができる。このとき、単位行列のサイクリックシフトを空間マッピングパターンΓの部分行列とする。但し、空間マッピングは、符号ビットをストリームに割り当てる操作であるので、空間マッピングパターンΓの各行には1つの“1”の要素しか存在しないようにする。したがって、空間マッピングパターンΓの部分行列を単位行列のサイクリックシフト又は零行列により構成される。また、LDPC符号語を生成する生成行列Gの部分行列が、実施の形態10と同様、単位行列のサイクリックシフトの和であるものを用いる。このときの空間マッピングを表す行列Γの部分行列の大きさと、生成行列Gの部分行列の大きさは等しいものを用いる。上記のような空間マッピングパターンΓを用いた場合、実施例に示す式(24)の関係から式(49)のGの部分行列もまた、単位行列のサイクリックシフトの和となる。よって本実施の形態における符号化及び空間マッピング部1110は、実施の形態1乃至7で用いた符号化装置により構成することができる。即ち、実施の形態1乃至7で用いた符号化装置の構成のみで、LDPC符号化と空間マッピングを行うことができる。このことは、マルチアンテナ通信装置1100の回路規模を削減する効果がある。
さらに、LDPC符号化及び空間マッピングの設計について述べる。実施の形態10でも述べたように、LDPC符号語を復号することによる誤り訂正の効果は一つのLDPC符号語内に閉じられている。よって、無線伝搬路におけるフェージング変動のレベルの落ち込みにより発生する誤りを分散させるには、フェージング変動の影響を複数のLDPC符号語に分散させる技術が効果的である。
例えば図19A、図19Bに示すように、2つのLDPC符号語に空間マッピングを施し、同様のフェージング変動を受けるLDPC符号語を複数の符号語に分散させる。但し、図19A、図19Bにおけるブロックとは、LDPC符号化及び空間マッピングを行うための行列Gにおいて、単位行列のサイクリックシフトの和となる部分行列に対応している。即ち、入力情報ビットと部分行列との乗算によって得られる符号ビット系列をブロックとして表記している。図19Bに示すように、ストリーム#Bのフェージング特性が、ある期間落ち込んでいる場合、フェージングの落ち込みの影響を受けるのは、ブロック#4(符号語#1)、ブロック#8(符号語#2)である。
このとき、符号語#1を復号するにあたって、フェージングの落ち込みの影響を受けたブロックはブロック#4のみである。同様に、符号語#2を復号するにあたって、フェージングの落ち込みの影響を受けたブロックはブロック#8のみである。よってフェージングの落ち込みにより発生する信号レベルの低下は、複数のLDPC符号語に分散されているので、LDPC符号の復号時の誤り訂正能力の劣化を低減することができる。
上記のように、複数のLDPC符号にわたって空間マッピングを行う空間マッピングパターンは、式(50)に示すように表すことができる。
Figure 0004856605
式(50)に示すGは、複数のLDPC符号語を生成する生成行列を表しており、式(46)に示したものと同様である。これに対し、空間マッピングを行うための行列Γを乗算することで、複数のLDPC符号にわたって空間マッピングを行うことができる。このときの行列Γの部分行列を上述したように単位行列のサイクリックシフト又は零行列により構成することで、実施の形態1乃至7において用いた符号化装置を用いることができる。
式(50)には、2つのLDPC符号語にわたって空間マッピングを行う例を示したが、3つ以上のLDPC符号語にわたって空間マッピングを行うには、生成行列Gを拡張し、LDPC符号語を生成する生成行列をさらに連結していけばよい。連結する生成行列は同じであっても、異なるものであってもよい。
以下、符号化及び空間マッピング部1110の構成について述べる。以下では、図19に示されるように2つの符号語がストリーム#A、#Bに空間マッピングされる場合を例に説明する。本実施の形態では、符号化及び空間マッピング部1110において、符号化と空間マッピングを同時に行っている。即ち、符号化及び空間マッピング部1110からの出力が既に空間マッピングされたものとなっている。例えば、図19におけるブロック#1、#2は、符号化及び空間マッピング部1110から出力された時点で既に変調部1020A、1020Bにそれぞれ振り分けられており、同様にブロック#5、#6も符号化及び空間マッピング部1110から出力された時点で変調部1020A、1020Bにそれぞれ振り分けられている。
符号化及び空間マッピング部1110で用いる生成行列と空間マッピングパターンが、式(50)に示すΓGで表される場合を考える。このとき、ΓGを式(51)のように表現するとする。
Figure 0004856605
上述したように、式(51)におけるGと情報ビットsとを乗算した結果がLDPC符号化後の系列を空間マッピングした結果となっている。例えば、式(51)のように、Gを2つの部分行列GS1、GS2に分割したとき、GS1に情報ビットsを乗算した結果がストリーム#Aに空間マッピングされるLDPC符号語のブロックとなるようにしておき、同様にGS2に情報ビットsが乗算された結果がストリーム#Bに空間マッピングされるLDPC符号語のブロックとなるようにしておく。このようにすることで、LDPC符号化と空間マッピングとを同時に行うことができ、空間マッピング用の回路を削減することができる。
符号化及び空間マッピング部1110の構成例を図20に示す。図20の符号化及び空間マッピング部1110は、2つのストリームに空間マッピングする場合の構成例である。
符号化及び空間マッピング部1110は、GS1リファレンスベクトル格納部1111−1、GS2リファレンスベクトル格納部1111−2、ベクトル巡回シフト部1012−1、1012−2、ベクトル乗算部1013−1、1013−2、乗算結果をベクトル累積加算部1014−1、1014−2、及びLDPC符号語系列生成部1112−1、1112−2を備えて構成される。
符号化及び空間マッピング部1110に入力された情報ビットは、GS1リファレンスベクトル格納部1111−1、GS2リファレンスベクトル格納部1111−2へと入力される。GS1リファレンスベクトル格納部1111−1、GS2リファレンスベクトル格納部1111−2には、それぞれ式(51)におけるGS1、GS2のリファレンスベクトルが格納されている。GS1、GS2は単位行列のサイクリックシフトの和である行列によって構成されている。
例えばGS1、GS2が図21に示すように行方向に2つ、列方向に4つのL×L行列によって構成されているとする。このとき、GS1リファレンスベクトル格納部1111−1、GS2リファレンスベクトル格納部1111−2は、情報ビットが入力されると、まずは1列目に相当するL×L行列のリファレンスベクトルを出力する。このとき出力するリファレンスベクトルは、情報ビットに乗算されるベクトルを生成するために用いるものであるので、GS1リファレンスベクトル格納部1111−1、GS2リファレンスベクトル格納部1111−2は、情報ビットがLビット入力されるごとに出力するリファレンスベクトルを2列目のL×L行列のリファレンスベクトル、3列目のL×L行列のリファレンスベクトル、と切り替えていく。
ベクトル巡回シフト部1012−1、1012−2は、実施の形態10と同様、GS1リファレンスベクトル格納部1111−1、GS2リファレンスベクトル格納部1111−2から出力されたリファレンスベクトルを順次巡回シフトしていき、情報ビットに乗算されるベクトルを生成し、生成したベクトルをベクトル乗算部1013−1、1013−2に出力する。
ベクトル乗算部1013−1、1013−2は、ベクトル巡回シフト部1012−1、1012−2から出力されるベクトルと情報ビットとの乗算を行い、乗算結果をベクトル累積加算部1014−1、1014−2に出力する。
ベクトル累積加算部1014−1、1014−2は、ベクトル乗算部1013−1、1013−2から出力されるベクトルを累積加算し、累積加算結果をLDPC符号語系列生成部1112−1、1112−2に出力する。
LDPC符号語系列生成部1112−1、1112−2は、情報ビットが全て入力された時点(この例では4×Lビットの情報ビットが入力された時点)で得られたベクトル累積加算部1014−1、1014−2からの出力ベクトルを空間マッピング後のLDPC符号として出力する。LDPC符号語系列生成部1112−1からの出力が、ストリーム#Aで送信されるLDPC符号語となっており、LDPC符号語系列生成部1112−2からの出力が、ストリーム#Bで送信されるLDPC符号語となっている。
以上のように、空間マッピングパターンとLDPC符号語を生成する生成行列とを予め乗算した行列を用いることで、空間マッピングを行う回路を用いずにLDPC符号化と空間マッピングを同時に行うことができる。
本実施の形態における重要な点は以下の通りである。
マルチアンテナ通信装置において、空間マッピングは行列の乗算により実現できる。このとき、単位行列のサイクリックシフトを空間マッピングを行うための行列の部分行列とすることが重要である。LDPC符号語を生成するための生成行列の部分行列が単位行列のサイクリックシフトの和となっている場合、空間マッピングを行うための行列と当該生成行列との乗算により得られる行列もまた、部分行列が単位行列のサイクリックシフトの和の形となっている。このとき、実施の形態1乃至7で用いた符号化装置を用いることで、LDPC符号化と空間マッピングとを同時に行うことができる。よって、マルチアンテナ通信装置の回路規模を削減する効果がある。
また、フェージング変動のレベルの落ち込みによるLDPC符号語の誤り訂正能力の劣化を低減するには、複数のLDPC符号語にわたって空間マッピングを行うことが重要である。このとき、フェージング変動のレベルの落ち込みを分散させるには、図19Bに示すように異なる符号語のブロックが時間的に並ぶ形にすることで、より高い分散効果が得られる。
(実施の形態12)
本実施の形態は、マルチアンテナ通信装置におけるLDPC符号化及び符号化後の符号ビットのインタリーブに関わるものである。本実施の形態に係るマルチアンテナ通信装置の構成例を図22に示す。なお、図22において、図18と同様の構成については同一の符号を付し、説明を省略する。
図22のマルチアンテナ通信装置1200は、図18のマルチアンテナ通信装置1100の符号化及び空間マッピング部1110に代えて、空間マッピング部1210を備え、さらに符号化及びインタリーブ部1010A、1010Bを追加した構成を採る。
情報ビットは空間マッピング部1210に入力される。空間マッピング部1210は、入力された情報ビットをストリーム#A、#Bに振り分ける。例えば、空間マッピング部1210は、ある時刻に入力された情報ビットをストリーム#Aに出力し、次の時刻に入力された情報ビットをストリーム#Bに出力する。以降、空間マッピング部1210は同様に、入力される情報ビットをストリーム#A、#Bに交互に出力すればよい。
空間マッピングされた情報ビットは、符号化及びインタリーブ部1010A、1010Bに入力される。符号化及びインタリーブ部1010A、1010Bは、入力された情報ビットをLDPC符号化し、符号化後の符号ビットをインタリーブする。符号化及びインタリーブ部1010A、1010Bは、インタリーブ後の符号ビットを変調部1020A、1020Bに出力する。
変調部1020A、1020Bは、入力された符号ビットの変調を行い、変調信号を生成する。変調部1020A、1020Bは、生成した変調信号を無線部1030A、1030Bに出力する。
無線部1030A、1030Bは、入力された変調信号を用いて無線信号を生成し、無線伝搬路に無線信号を出力する。
符号化及びインタリーブ部1010A、1010Bは、実施の形態10に示した符号化及びインタリーブ部1010と同様の構成を採っている。実施の形態10に示したように、LDPC符号語を生成する生成行列の部分行列には、単位行列のサイクリックシフトの和となるものを用いる。また、単位行列のサイクリックシフトをインタリーブパターンの部分行列とする。これにより、上記2つの行列を乗算した結果、得られる行列(インタリーブド行列)もまた、部分行列が単位行列のサイクリックシフトを加算した形となる。よって、符号化及びインタリーブ部1010A、1010Bは、実施の形態1乃至7で述べた符号化装置の構成を採ることができる。これにより、マルチアンテナ通信装置1200は、LDPC符号化及びLDPC符号化後の符号ビットのインタリーブを一つの構成で実現することができる。
本実施の形態の構成を採ることによる別なる効果について述べる。本実施の形態に示すように、マルチアンテナ通信装置1200は、符号化及びインタリーブ部1010A、1010Bを有している。このとき、符号化及びインタリーブ部1010A、1010Bには、異なるLDPC符号語を生成する生成行列、異なるインタリーブパターンを用いることができる。
異なる生成行列、異なるインタリーブパターンを用いた場合のBICM(Bit Interleaved Coded Modulation)復号について説明する。まず、MIMO通信時におけるBICM復号は、非特許文献5に示される通りである。BICM復号を行うマルチアンテナ通信装置の構成例を図23に示す。図23は、受信側の要部構成を示している。
図23のマルチアンテナ通信装置1300は、無線部1310A、1310B、復調部1320、デインタリーブ部1330A、1330B、復号部1340A、1340B、及びインタリーブ部1350A、1350Bを備えて構成される。
受信した空間多重信号は、無線部1310A、1310Bに入力される。無線部1310A、1310Bは、受信信号をダウンコンバートし、ダウンコンバート後の受信信号を復調部1320に出力する。
復調部1320は、無線部1310A、1310Bから出力された信号をBICM復号により復調する。BICM復号では、受信信号にマッピングされたビットに対する対数事後確率比を用いて復調する。対数事後確率比の求め方は、非特許文献5にも記載されている。復調部1320は、受信信号にマッピングされたビットに対する対数事後確率比を、デインタリーブ部1330A、1330Bに出力する。
デインタリーブ部1330A、1330Bは、入力された対数事後確率比をデインタリーブし、デインタリーブ後の対数事後確率比を、復号部1340A、1340Bに出力する。ここでのデインタリーブは、マルチアンテナ通信装置1200の符号化及びインタリーブ部1010A、1010Bにおけるインタリーブにより入れ替わった符号ビットの順序を、元の順序に戻す操作に相当する。
復号部1340A、1340Bは、入力された対数事後確率比を用いてLDPC符号の復号を行う。ここで、復号時に求めるのは、LDPC符号ビットに対する対数事後確率比である。復号部1340A、1340Bは、LDPC符号の復号により求めた対数事後確率比をインタリーブ部1350A、1350Bに出力する。
インタリーブ部1350A、1350Bは、入力された対数事後確率比をインタリーブし、インタリーブ後の対数事後確率比を復調部1320に出力する。
復調部1320は、入力された対数事後確率比を用いて再度受信信号の復調を行う。復調部1320は、受信信号の復調により求めた対数事後確率比を、デインタリーブ部1330A、1330Bに出力する。非特許文献5には、反復して復調と復号を行う手法が記載されている。
復調部1320、復号部1340A、1340Bは、予め定められた反復回数の復調と復号を行い、最終復号時に得られたLDPC符号ビットの対数事後確率比を,硬判定部1360A、1360Bに出力する。硬判定部1360A、1360Bは、復号部1340A、1340Bにより出力されたLDPC符号ビットに対する対数事後確率比を用いて硬判定を行う。硬判定部1360A、1360Bは、硬判定により得られた復号ビットを情報ビットとして出力する。これにより、マルチアンテナ通信装置1300は、受信信号から情報ビットを得ることができる。
ここで、BICM復号において、LDPC符号語を生成する生成行列、及び符号語に対して行われるインタリーブのパターンが異なる場合のファクタグラフを図24A及び図24Bに示す。ファクタグラフとは、関数ノードと変数ノードの間で情報のやり取りを行う様子をグラフ化したもので、非特許文献6において述べられている。
BICM復号は、復調と復号とを行っており、図24A及び図24Bのファクタグラフには復調処理を行うディテクションノード、復号処理を行うチェックノード、メッセージノードが示されている。なお、LDPC符号の復号にsum−product復号を用いた場合のチェックノード、メッセージノードの間での情報のやりとりについては、非特許文献6に記載されている。また、図24Aは、時間1におけるファクタグラフを表しており、図24Bは時間2におけるファクタグラフを表している。
図24A及び図24Bに示すように、ファクタグラフには、ストリーム#Aにおいて送信されたLDPC符号語#1、ストリーム#Bにおいて送信されたLDPC符号語#2のチェックノード、メッセージノード及びそれらをつなぐ枝が記載されている。図24A及び図24Bにおいて、復号部1340AにおけるLDPC符号の復号が、LDPC符号語#1の復号に対応しており、復号部1340BにおけるLDPC符号の復号が、LDPC符号語#2の復号に対応している。
LDPC符号の復号処理においては、チェックノード、メッセージノード間での情報のやり取りを行う。一方、BICM復号における復調処理は、ディテクションノードにおいて行われる。復調においては、受信信号にマッピングされたビットに対する対数事後確率比を求めている。受信信号にマッピングされたビットは、LDPC符号語における符号ビットに対応させることができる。ファクタグラフにおいて、LDPC符号語における符号ビットは、メッセージノードに対応している。図24A及び図24Bに示すファクタグラフには、ある時刻において復調されるビット(メッセージノード)とディテクションノードの間に枝が記載されている。図24A及び図24Bのファクタグラフは、ディテクションノードがメッセージノードから得た情報を用いて復調を行い、復調により得た対数事後確率比をメッセージノードに渡す様子を記載したものである。また、マルチアンテナ通信装置1200が、変調部1020A、1020Bにおいて16QAM変調方式を用いた場合、受信信号にマッピングされているビットは4ビットであるので、図24A及び図24Bにおけるファクタグラフのディテクションノードが対数事後確率比を渡すメッセージノードは4つとなる。このように、図24A及び図24B、前記16QAM変調方式を用いた場合を例示している。
本実施の形態では、符号化及びインタリーブ部1010A、1010Bが、異なる生成行列を用いているので、図24A及び図24Bのファクタグラフにおいて、LDPC符号語#1、LDPC符号語#2のチェックノード、メッセージノードの間の枝(エッジ)の接続関係は異なる。また、符号化及びインタリーブ部1010A、1010Bにおいて、異なるインタリーブパターンを用いているので、ディテクションノードとLDPC符号語#1のメッセージノードとの枝の接続関係と、ディテクションノードとLDPC符号語#2のメッセージノードとの接続関係も異なっている。
LDPC符号語#1とLDPC符号語#2のチェックノードとメッセージノードの接続関係が異なっていることからもわかるように、LDPC符号語の復号によって得られる符号ビットの対数事後確率比の確からしさの分布は異なるものとなる。例えば、sum−product復号を用いた復号では、チェックノードとメッセージノードとの間で情報のやりとりを行い、符号ビットに対する対数事後確率比を更新していく。チェックノードとメッセージノードの接続関係が異なる場合、対数事後確率比の更新が異なる情報の経路によって行われるため、符号ビットに対する対数事後確率比の分布は異なるものとなる。
BICM復号では、LDPC符号語の復号によって得られた符号ビットに対する対数事後確率比を用いて再度復調を行う。LDPC符号語#1とLDPC符号語#2とは、異なるインタリーブパターンを用いてインタリーブされているので、ディテクションノードにおいてメッセージノードから得る対数事後確率比の分布はさらにランダム化されたものとなる。このように、ディテクションノードにおいて用いる対数事後確率比の分布はランダム化されているので、時間ダイバーシチ効果が生じ、復調の特性が向上する。
以上より、マルチアンテナ通信システムにおいて、空間多重するストリームごとにLDPC符号化に用いる生成行列を異なるものとし、また、ストリームごとにインタリーブパターンを異なるものとすることで、受信信号をBICM復号したときの特性を向上させることができる。
このように、本実施の形態に係る符号化方法は、部分行列が単位行列のサイクリックシフトの和となっている行列を生成行列としてLDPC符号語を取得する符号化方法において、単位行列のサイクリックシフトを部分行列とする空間マッピングパターン行列を用いてLDPC符号語を空間マッピングし、例えば、単位行列のサイクリックシフトを部分行列とする空間マッピングパターン行列と、QC擬似下三角行列の形態の検査行列を用いて作成される生成行列との行列演算により取得される符号化・空間マッピング行列の部分行列を供給し、符号化・空間マッピング行列の部分行列と入力データとの線形演算によりLDPC符号語を取得する。
なお、実施の形態10のように、符号化及びインタリーブ部1010A、1010Bは、複数の符号語に渡ってインタリーブを行ってもよい。この場合には、時間ダイバーシチ効果がさらに得られ、受信特性が向上する。
(実施の形態13)
実施の形態11は、符号化と空間マッピングを同時に行う構成を提供するものであった。また、実施の形態12のようにLDPC符号語を空間マッピングすることで、フェージングの影響を複数の符号語に分散させ、時間ダイバーシチ効果を得るというものであった。本実施の形態は、時間ダイバーシチ効果に加え、空間ダイバーシチ効果を得る。
本実施の形態におけるマルチアンテナ通信装置の構成は、実施の形態11において述べた図18のマルチアンテナ通信装置1100と同様である。本実施の形態が、実施の形態11と異なるのは、符号化及び空間マッピング部1110における空間マッピングの方法である。
以下、本実施の形態における空間マッピングについて、図25を用いて説明する。図25Aに示すように、2つのLDPC符号、符号語#1、符号語#2がそれぞれブロック#1、#2、#3、#4、及びブロック#5、#6、#7、#8によって構成されている場合を例に説明する。
符号化及び空間マッピング部1110は、図25Bに示すように、ストリーム#A、#Bには、同時刻に異なる符号語が空間マッピングされるように、LDPC符号語を空間マッピングする。
また、符号化及び空間マッピング部1110は、同一ストリームにおけるブロックには、時間的に異なる符号語のブロックが空間マッピングされるようにする。例えば、図25Bのストリーム#Aのように、ある時刻にはブロック#1(符号語#1)が空間マッピングされ、次の時刻にはブロック#6(符号語#2)が空間マッピングされるようにする。
このように空間マッピングした場合、例えば、実施の形態12のように受信信号をBICM復号することで、復調の特性を向上させることができる。これは、以下の原理に基づいている。
符号語#1と符号語#2は、それぞれが独立にLDPC復号される。即ち、誤り訂正の効果は、符号語#1と#2それぞれ独自に得られる。上述したように、受信信号をBICM復号するにあたって、復調を行う。このとき、同時刻にストリーム#A、#Bに空間マッピングされているのは、異なる符号語である。例えば、ブロック#1(符号語#1)がストリーム#Aに空間マッピングされている場合、ストリーム#Bに空間マッピングされているのはブロック#5(符号語#2)である。このとき、符号語#1、#2の誤り訂正の効果は、復調時にそれぞれ対となる符号語に反映されることになる。即ち、符号語#1の復号により求めた符号ビットに対する対数事後確率比は、復調時には符号語#1のブロック及び符号語#2のブロックにマッピングされたビットの対数事後確率比を求めるのに使用される。同様に、符号語#2の復号により求めた符号ビットに対する対数事後確率比は、復調時には符号語#1のブロック及び符号語#2のブロックにマッピングされたビットの対数事後確率比を求めるのに使用される。このように、同一時刻に異なる符号語を空間マッピングすることにより、空間ダイバーシチ効果を得ることができる。
また、同一ストリームにおいては、時間的に異なる符号語のブロックが空間マッピングされるようにすることで、時間ダイバーシチ効果が得られる。これは、実施の形態10、実施の形態11に示したのと同じ原理による。即ち、フェージングによる受信電力の落ち込みは、複数の符号語に分散されるので、誤り訂正の効果がより大きくなる。
以上、本実施の形態は、LDPC符号語の空間マッピングに関するものである。なお、実施の形態12に示すマルチアンテナ通信装置1200の構成を用いても、本実施の形態と同様のLDPC符号語の空間マッピングを実現することができる。実施の形態に示す符号化及びインタリーブ部1010A、1010Bは、入力される情報ビットと生成行列とを乗算することにより、符号化とインタリーブを同時に実現している。よって、LDPC符号語のブロックが図25Bに示すように各ストリームに配置されるよう、符号化及びインタリーブ部1010A、1010Bにおいて用いる生成行列を変更すればよい。
本発明の符号化方法、符号化装置、及び送信装置は、例えば、無線通信システムにおいて、LDPC(Low Density Parity Check)符号の検査行列に準じて誤り訂正を行う符号化方法、符号化装置、及び送信装置などに有用である。
本発明で用いる検査行列の概略例を示す図 本発明の実施の形態1における符号化装置の構成例を示す図 本発明の実施の形態2の符号化装置の構成例を示す図 本発明の実施の形態3の符号化装置の構成例を示す図 本発明の実施の形態4の符号化装置の構成例を示す図 本発明の実施の形態5の符号化装置の構成例を示す図 本発明の実施の形態6の符号化装置の構成例を示す図 本発明の実施の形態7の符号化装置の構成例を示す図 本発明の実施の形態8の無線送信装置の構成例を示す図 インタリーブ処理例を示す説明図 他のインタリーブ処理例を示す説明図 読み出し制御部における読み出しパターン例を示す図 本発明の実施の形態9の無線送信装置および無線受信装置の構成例を示す図 パンクチャ処理例を示す説明図 本発明の実施の形態10の無線送信装置の構成例を示す図 インタリーブ処理例を示す説明図 生成行列の概略例を示す図 符号化及びインタリーブ部の構成例を示す図 本発明の実施の形態11のマルチアンテナ通信装置の構成例を示す図 空間マッピング処理例を示す説明図 符号化及び空間マッピング部の構成例を示す図 生成行列の概略例を示す図 本発明の実施の形態12のマルチアンテナ通信装置(送信側)の構成例を示す図 実施の形態12のマルチアンテナ通信装置(受信側)の構成例を示す図 生成行列及びインタリーブパターンが異なる場合の時間1でのファクタグラフを示す図 生成行列及びインタリーブパターンが異なる場合の時間2でのファクタグラフを示す図 空間マッピング処理例を示す説明図 従来例で用いた検査行列の一例を示す図 従来例の符号化処理を示す図
符号の説明
100、200、300、700、800、900 符号化装置
101、802 入力データカウント部
102 出力制御部
103−1〜103−(N−K) 1ビット格納部
104−1〜104−K 行ベクトル格納部
105−1〜105−K、202、303−1〜303−B、704A−1〜704A−B、704B−1〜704B−B ベクトル乗算部
106 LDPC符号語系列生成部
107 入力データ格納部
109 パリティ格納部
201−1〜201−(N−K) 列ベクトル格納部
203、304−1〜304−B、705−1〜705−B、803−1〜803−B ベクトル累積加算部
301−1〜301−B 行ブロックリファレンスベクトル格納部
302−1〜302−B、703A−1〜703A−B、703B−1〜703B−B 巡回シフト部
401−1〜401−B 行ブロックリファレンスベクトルインデクス格納部
402−1〜402−B、702−1〜702−B ベクトル生成部
801−1〜801−B 行ブロックリファレンスベクトル生成部
901−1〜901−M 各モード行ブロックリファレンスベクトル生成部(モード行リファレンス生成部)

Claims (25)

  1. LDPC符号化を行う符号化方法であって、
    QC(Quasi Cyclic)擬似下三角行列の形態の検査行列を用いて作成される生成行列の部分行列を供給する供給ステップと、
    前記生成行列の部分行列と入力データとの線形演算によりLDPC符号語を取得する線形演算ステップ、
    を含む符号化方法。
  2. 前記生成行列の部分行列が、単位行列のサイクリックシフトの和で表される、
    請求項1に記載の符号化方法。
  3. 前記線形演算ステップは、前記生成行列の部分行列の一部を巡回シフトし、巡回シフト後のベクトルと前記入力データとを乗算し、さらに、乗算後のベクトルを累積加算することによりパリティデータを得る、
    請求項1に記載の符号化方法。
  4. 前記供給ステップは、前記生成行列の部分行列の第1列目のベクトルを巡回シフトすることにより、前記生成行列の部分行列を順次供給する、
    請求項1に記載の符号化方法。
  5. 前記線形演算ステップは、前記生成行列の行ベクトルと、前記入力データから生成した入力ベクトルとの乗算結果からパリティデータを得る、
    請求項1に記載の符号化方法。
  6. 前記線形演算ステップは、前記生成行列の列ベクトルと前記入力データとの乗算を累積加算することでパリティデータを得る、
    請求項1に記載の符号化方法。
  7. 前記生成行列の部分行列の第1列目のベクトルは、インデクスを用いて特定されており、
    前記供給ステップは、前記インデクスを用いて前記巡回シフトに用いる前記第1列目のベクトルを再生する、
    請求項4に記載の符号化方法。
  8. 前記供給ステップは、前記入力データが複数ビット系列の場合、前記生成行列の列ベクトルを複数ビット系列数だけ巡回シフトすることにより、前記生成行列の部分行列を順次供給する、
    請求項1に記載の符号化方法。
  9. 前記線形演算ステップは、前記入力データの末尾を示す制御信号の入力を受け、前記パリティデータを出力する、
    請求項1に記載の符号化方法。
  10. LDPC符号化を行う符号化装置であって、
    QC(Quasi Cyclic)擬似下三角行列の形態の検査行列を用いて作成される生成行列の部分行列の部分行列を供給する供給手段と、
    前記生成行列の部分行列と入力データとの線形演算によりLDPC符号語を取得する線形演算手段と、
    を具備する符号化装置。
  11. 前記入力データを格納する第1の格納部と、
    前記線形演算手段により取得されるパリティデータを格納する第2の格納部と、
    格納される前記入力データと前記パリティデータとを並び替えるインタリーブ手段と、 をさらに具備する請求項10に記載の符号化装置。
  12. 前記LDPC符号語をパンクチャするパンクチャ手段、
    をさらに具備する請求項10に記載の符号化装置。
  13. LDPC符号化を行う符号化方法であって、
    単位行列のサイクリックシフトを部分行列とするインタリーブパターン行列と、QC(Quasi Cyclic)擬似下三角行列の形態の検査行列を用いて作成される生成行列との行列演算により取得されるインタリーブド行列を供給する供給ステップと、
    前記インタリーブド行列と入力データとの線形演算によりLDPC符号語を取得する線形演算ステップ、
    を含む符号化方法。
  14. 前記線形演算ステップは、前記インタリーブド行列の部分行列と入力データとの線形演算によりLDPC符号語を取得する、
    請求項13に記載の符号化方法。
  15. 前記生成行列は、複数のLDPC符号語を生成する行列であり、前記インタリーブパターン行列は、前記複数のLDPC符号語の大きさに対応した行列である
    請求項14に記載の符号化方法。
  16. 単位行列のサイクリックシフトを部分行列とするインタリーブパターン行列と、QC(Quasi Cyclic)擬似下三角行列の形態の検査行列を用いて作成される生成行列との行列演算により取得されるインタリーブド行列の部分行列を供給する供給手段と、
    前記インタリーブド行列の部分行列と入力データとの線形演算によりLDPC符号語を取得する線形演算手段と、
    前記LDPC符号語を変調する変調手段と、
    前記変調手段により得られた変調信号を送信する送信手段と、
    を具備する符号化装置。
  17. LDPC符号化を行う符号化方法であって、
    単位行列のサイクリックシフトを部分行列とする空間マッピングパターン行列と、QC(Quasi Cyclic)擬似下三角行列の形態の検査行列を用いて作成される生成行列との行列演算により取得される符号化・空間マッピング行列を供給する供給ステップと、
    前記符号化・空間マッピング行列と入力データとの線形演算によりLDPC符号語を取得する線形演算ステップと、
    を含む符号化方法。
  18. 前記線形演算ステップは、符号化・空間マッピング行列の部分行列と入力データとの線形演算によりLDPC符号語を取得する、
    請求項17に記載の符号化方法。
  19. 単位行列のサイクリックシフトを部分行列とする空間マッピングパターン行列と、QC(Quasi Cyclic)擬似下三角行列の形態の検査行列を用いて作成される生成行列との行列演算により取得される符号化・空間マッピング行列の部分行列を供給する供給手段と、
    前記符号化・空間マッピング行列の部分行列と入力データとの線形演算により、LDPC符号語をストリームごとに取得する線形演算手段と、
    前記LDPC符号語をストリームごとに変調する変調手段と、
    前記変調手段により得られた変調信号をストリームごとに送信する送信手段と、
    を具備する送信装置。
  20. 前記空間マッピングパターン行列は、同一ストリームにマッピングされるLDPC符号語のブロックを、時間的に異なるLDPC符号語のブロックとするパターンである
    請求項19に記載の送信装置。
  21. 入力データを空間マッピングすることにより複数のストリームに割り当てる空間マッピング手段と、
    単位行列のサイクリックシフトを部分行列とするインタリーブパターン行列と部分行列が単位行列のサイクリックシフトの和となっているLDPC符号語生成行列との行列演算により得られるインタリーブド生成行列の部分行列を供給する供給手段と、
    前記インタリーブド生成行列の部分行列と、前記複数のストリームに割り当てられた前記入力データとの線形演算により、符号語をストリームごとに取得する符号化・インタリーブ手段と、
    前記符号語をストリームごとに変調する変調手段と、
    前記変調手段により得られた変調信号をストリームごとに送信する送信手段と、
    を具備する送信装置。
  22. 前記LDPC符号語生成行列は、ストリームごとに異なるパターンである
    請求項21に記載の送信装置。
  23. 前記インタリーブパターン行列は、ストリームごとに異なるパターンである
    請求項21に記載の送信装置。
  24. 前記インタリーブパターン行列は、同一ストリームで送信されるLDPC符号語のブロックが、時間的に異なるLDPC符号語のブロックとなるようにするパターンである
    請求項21に記載の送信装置。
  25. 前記空間マッピング手段は、同一時刻に送信されるLDPC符号語のブロックが、互いに異なるLDPC符号語のブロックとなるように割り当てる
    請求項24に記載の送信装置。
JP2007224621A 2006-08-31 2007-08-30 符号化方法、符号化装置、及び送信装置 Expired - Fee Related JP4856605B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2007224621A JP4856605B2 (ja) 2006-08-31 2007-08-30 符号化方法、符号化装置、及び送信装置
PCT/JP2007/067067 WO2008026740A1 (fr) 2006-08-31 2007-08-31 procédé de codage, codeur et émetteur
US12/377,107 US20100180176A1 (en) 2006-08-31 2007-08-31 Encoding method, encoder, and transmitter
CN2007800268808A CN101490964B (zh) 2006-08-31 2007-08-31 编码方法、编码装置以及发送装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006235204 2006-08-31
JP2006235204 2006-08-31
JP2007224621A JP4856605B2 (ja) 2006-08-31 2007-08-30 符号化方法、符号化装置、及び送信装置

Publications (2)

Publication Number Publication Date
JP2008086008A JP2008086008A (ja) 2008-04-10
JP4856605B2 true JP4856605B2 (ja) 2012-01-18

Family

ID=39136021

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007224621A Expired - Fee Related JP4856605B2 (ja) 2006-08-31 2007-08-30 符号化方法、符号化装置、及び送信装置

Country Status (4)

Country Link
US (1) US20100180176A1 (ja)
JP (1) JP4856605B2 (ja)
CN (1) CN101490964B (ja)
WO (1) WO2008026740A1 (ja)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4487212B2 (ja) * 2007-10-19 2010-06-23 ソニー株式会社 復号装置および方法、送受信システム、受信装置および方法、並びにプログラム
JP4780158B2 (ja) 2008-08-26 2011-09-28 ソニー株式会社 符号化装置および方法
KR101634188B1 (ko) * 2009-02-12 2016-06-28 엘지전자 주식회사 신호 송수신 장치 및 방법
CN104506200B (zh) 2009-11-13 2018-07-24 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法以及解码方法
US8352847B2 (en) * 2009-12-02 2013-01-08 Lsi Corporation Matrix vector multiplication for error-correction encoding and the like
CN102388539B (zh) * 2010-02-10 2015-04-01 松下电器产业株式会社 发送装置、接收装置、发送方法及接收方法
US10353774B2 (en) * 2015-10-30 2019-07-16 International Business Machines Corporation Utilizing storage unit latency data in a dispersed storage network
JP5269936B2 (ja) * 2011-03-17 2013-08-21 株式会社東芝 符号化器及び記憶装置
JP5413701B2 (ja) * 2011-03-22 2014-02-12 日本電気株式会社 誤り訂正符号化装置、誤り訂正符号化方法および誤り訂正符号化プログラム
CN102694617B (zh) 2011-03-22 2015-08-19 华为技术有限公司 一种数据编码调制的方法、装置和系统
EP2525496A1 (en) * 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
EP2525497A1 (en) * 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
EP2525498A1 (en) * 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
FR2977100B1 (fr) * 2011-06-21 2013-12-27 Centre Nat Etd Spatiales Procede d'encodage de donnees d'information en bursts
US9213742B2 (en) * 2011-09-06 2015-12-15 Cleversafe, Inc. Time aligned transmission of concurrently coded data streams
US10235237B2 (en) 2011-09-06 2019-03-19 Intertnational Business Machines Corporation Decoding data streams in a distributed storage network
US20190179696A1 (en) 2011-09-06 2019-06-13 International Business Machines Corporation Demultiplexing decoded data streams in a distributed storage network
US11907060B2 (en) 2011-09-06 2024-02-20 Pure Storage, Inc. Coding of data streams in a vast storage network
CN103023603B (zh) * 2011-09-20 2015-07-08 澜起科技(上海)有限公司 基于ldpc校验矩阵的比特交织编码调制的实现方法
JP5238060B2 (ja) * 2011-09-26 2013-07-17 日本電信電話株式会社 符号化装置及び方法及び符号化・復号化システム及び復号化方法
WO2013136523A1 (ja) * 2012-03-16 2013-09-19 株式会社 東芝 パリティ検査行列作成方法、符号化装置及び記録再生装置
JP5844905B2 (ja) * 2012-07-27 2016-01-20 パナソニック株式会社 送信方法、送信機、受信方法、及び受信機
JP5521063B2 (ja) * 2013-01-18 2014-06-11 株式会社日立製作所 無線通信装置の符号化及び変調方法、並びに復号方法
CN103248372A (zh) * 2013-04-19 2013-08-14 荣成市鼎通电子信息科技有限公司 基于循环左移的准循环ldpc串行编码器
US9003257B1 (en) * 2013-09-19 2015-04-07 U-Blox Ag Low density parity check encoder and encoding method
WO2015133095A1 (ja) * 2014-03-04 2015-09-11 日本電気株式会社 パリティ検査符号生成装置、符号化方法、符号化装置および記録媒体
US9948920B2 (en) 2015-02-27 2018-04-17 Qualcomm Incorporated Systems and methods for error correction in structured light
US10068338B2 (en) 2015-03-12 2018-09-04 Qualcomm Incorporated Active sensing spatial resolution improvement through multiple receivers and code reuse
WO2016185911A1 (ja) * 2015-05-19 2016-11-24 ソニーセミコンダクタソリューションズ株式会社 符号化装置及び符号化方法
KR102397896B1 (ko) 2015-05-29 2022-05-13 삼성전자주식회사 수신 장치 및 그의 신호 처리 방법
US9635339B2 (en) * 2015-08-14 2017-04-25 Qualcomm Incorporated Memory-efficient coded light error correction
US9846943B2 (en) 2015-08-31 2017-12-19 Qualcomm Incorporated Code domain power control for structured light
RU2015139057A (ru) 2015-09-14 2017-03-17 ИЭмСи КОРПОРЕЙШН Способ и система распределенного хранения данных
US10146600B2 (en) 2015-12-16 2018-12-04 EMC IP Holding Company LLC Mutable data objects content verification tool
US10133770B2 (en) 2015-12-16 2018-11-20 EMC IP Holding Company LLC Copying garbage collector for B+ trees under multi-version concurrency control
US10061697B2 (en) 2015-12-16 2018-08-28 EMC IP Holding Company LLC Garbage collection scope detection for distributed storage
US10067696B2 (en) 2015-12-18 2018-09-04 Emc Corporation Capacity exhaustion prevention for distributed storage
US10379780B2 (en) 2015-12-21 2019-08-13 EMC IP Holding Company LLC Statistics management for scale-out storage
US10291265B2 (en) 2015-12-25 2019-05-14 EMC IP Holding Company LLC Accelerated Galois field coding for storage systems
US10152248B2 (en) 2015-12-25 2018-12-11 EMC IP Holding Company LLC Erasure coding for elastic cloud storage
US10110258B2 (en) 2016-03-30 2018-10-23 EMC IP Holding Company LLC Accelerated erasure coding for storage systems
KR102616481B1 (ko) 2016-04-04 2023-12-21 삼성전자주식회사 수신 장치 및 그의 신호 처리 방법
US10152376B2 (en) * 2016-06-29 2018-12-11 EMC IP Holding Company LLC Data object recovery for storage systems
US10795872B2 (en) 2016-06-29 2020-10-06 EMC IP Holding Company LLC Incremental bloom filter rebuild for B+ trees under multi-version concurrency control
US10248326B2 (en) 2016-06-29 2019-04-02 EMC IP Holding Company LLC Incremental erasure coding for storage systems
US10831742B2 (en) 2016-12-09 2020-11-10 EMC IP Holding Company LLC Data set verification
US10564883B2 (en) 2016-12-13 2020-02-18 EMC IP Holding Company LLC Efficient migration to distributed storage
US10776322B2 (en) 2016-12-13 2020-09-15 EMC IP Holding Company LLC Transformation processing for objects between storage systems
WO2018143743A1 (ko) * 2017-02-06 2018-08-09 엘지전자 주식회사 행-직교 구조(row-orthogonal)를 이용한 LDPC 코드 전송 방법 및 이를 위한 장치
CN109951250B (zh) * 2017-12-21 2021-01-08 华为技术有限公司 通信信号的ldpc编码方法和装置
CN109086249B (zh) * 2018-08-02 2023-10-20 北京知存科技有限公司 模拟向量-矩阵乘法运算电路
US10783022B2 (en) 2018-08-03 2020-09-22 EMC IP Holding Company LLC Immediate replication for dedicated data blocks
CN112398488B (zh) * 2020-12-29 2021-04-30 支付宝(杭州)信息技术有限公司 向量压缩的方法和装置
CN119278586A (zh) * 2022-07-01 2025-01-07 英特尔公司 更长低密度奇偶校验Wi-Fi码字的增强设计和使用

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6895547B2 (en) * 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
US6961888B2 (en) * 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding LDPC codes
US7058873B2 (en) * 2002-11-07 2006-06-06 Carnegie Mellon University Encoding method using a low density parity check code with a column weight of two
JP4285148B2 (ja) * 2003-08-19 2009-06-24 ソニー株式会社 復号装置および復号方法、並びにプログラム
KR100809619B1 (ko) * 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
KR100922956B1 (ko) * 2003-10-14 2009-10-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 방법
JP3875693B2 (ja) * 2004-03-24 2007-01-31 株式会社東芝 Lpc符号を用いた符号化ビットのマッピング方法及び送信装置
US7506238B2 (en) * 2004-08-13 2009-03-17 Texas Instruments Incorporated Simplified LDPC encoding for digital communications
US7543212B2 (en) * 2004-09-13 2009-06-02 Idaho Research Foundation, Inc. Low-density parity-check (LDPC) encoder
US7752520B2 (en) * 2004-11-24 2010-07-06 Intel Corporation Apparatus and method capable of a unified quasi-cyclic low-density parity-check structure for variable code rates and sizes
US7668248B2 (en) * 2005-10-19 2010-02-23 Texas Instruments Incorporated High-performance LDPC coding for digital communications in a multiple-input, multiple-output environment
JP4558638B2 (ja) * 2005-12-15 2010-10-06 富士通株式会社 符号器および復号器
US20080028271A1 (en) * 2006-07-25 2008-01-31 Legend Silicon Method for generating ldpc code for a ldpc based tds-ofdm system
US8392787B2 (en) * 2008-10-31 2013-03-05 Broadcom Corporation Selective merge and partial reuse LDPC (Low Density Parity Check) code construction for limited number of layers Belief Propagation (BP) decoding

Also Published As

Publication number Publication date
WO2008026740A1 (fr) 2008-03-06
CN101490964B (zh) 2013-08-28
JP2008086008A (ja) 2008-04-10
CN101490964A (zh) 2009-07-22
US20100180176A1 (en) 2010-07-15

Similar Documents

Publication Publication Date Title
JP4856605B2 (ja) 符号化方法、符号化装置、及び送信装置
US10425258B2 (en) Method and apparatus for transmitting and receiving data in a communication system
US9614549B2 (en) Transmitter apparatus and interleaving method thereof
US8782499B2 (en) Apparatus and method for transmitting and receiving data in communication/broadcasting system
CN102714504B (zh) 在通信系统中传送和接收数据的方法和装置
JP5875713B2 (ja) 送信機および受信機、並びに符号化率可変方法
CA3121696C (en) Transmitting apparatus and interleaving method thereof
JP5436688B2 (ja) 線形ブロック符号を使用する通信システムにおけるパリティ検査行列を生成する方法及び装置とそれを用いる送受信装置及び方法
US20160344415A1 (en) Transmitting apparatus and interleaving method thereof
KR20170075020A (ko) 통신 방법 및 통신 장치
US20160344423A1 (en) Transmitting apparatus and interleaving method thereof
EP3047575B1 (en) Encoding of multiple different quasi-cyclic low-density parity check (qc-ldpc) codes sharing common hardware resources
US8347190B2 (en) Systematic encoder with arbitrary parity positions
KR101145673B1 (ko) 특정 구조를 가지는 lt코드를 이용한 부호화 방법 및 이를 기반으로 하는 랩터 코드를 이용한 부호화 방법
JP6940989B2 (ja) 符号化器、復号器、送信装置及び受信装置
JP2017143341A (ja) 通信装置および通信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111004

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111028

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141104

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees