JP2009118418A - Decoder, encoder, decoding method, and encoding method - Google Patents
Decoder, encoder, decoding method, and encoding method Download PDFInfo
- Publication number
- JP2009118418A JP2009118418A JP2007292245A JP2007292245A JP2009118418A JP 2009118418 A JP2009118418 A JP 2009118418A JP 2007292245 A JP2007292245 A JP 2007292245A JP 2007292245 A JP2007292245 A JP 2007292245A JP 2009118418 A JP2009118418 A JP 2009118418A
- Authority
- JP
- Japan
- Prior art keywords
- parity check
- decoding
- row
- check matrix
- check polynomial
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、畳み込み符号用の復号化装置、符号化装置、復号化方法、及び、符号化方法に関する。 The present invention relates to a decoding device, a coding device, a decoding method, and a coding method for convolutional codes.
誤り訂正符号のひとつに、畳み込み符号(Convolutional Code)がある。畳み込み符号は、符号化器を容易に実装できる(符号化器がmod2加算器とシフトレジスタだけで構成できる)という特徴と、任意の情報系列長に対して符号化が可能であるという特徴を有している。現在の通信システムの多くは、送信情報を可変長のパケットやフレーム毎にまとめて通信を行うため、用いる誤り訂正符号の符号長が可変であることが望ましく、畳み込み符号の特徴と合致する。このことから畳み込み符号は、IEEE802.11無線LANシステムや、GSM携帯電話、衛星通信など多数の通信システムの誤り訂正符号化方式に採用されている。また近年では、畳み込み符号を並列又は縦列に連接して用いることで性能を高めるターボ符号(Turbo Code)と呼ばれる手法が盛んに研究されている。ターボ符号は第三世代移動通信システムなどに採用されている。 One of the error correction codes is a convolutional code. The convolutional code has a feature that an encoder can be easily implemented (the encoder can be configured only by a mod2 adder and a shift register) and that an arbitrary information sequence length can be encoded. is doing. In many of the current communication systems, since transmission information is collectively collected for each variable-length packet or frame, it is desirable that the code length of the error correction code to be used is variable, which matches the characteristics of the convolutional code. For this reason, the convolutional code is adopted in error correction coding systems of many communication systems such as IEEE 802.11 wireless LAN system, GSM mobile phone, and satellite communication. In recent years, a technique called turbo code has been actively researched to improve performance by using convolutional codes connected in parallel or in columns. Turbo codes are employed in third generation mobile communication systems.
畳み込み符号は、符号化器の拘束長Kが大きいほど、符号語間の最小自由距離が拡大するため、高い誤り訂正能力を得ることができる(非特許文献1参照)。 In the convolutional code, as the constraint length K of the encoder increases, the minimum free distance between codewords increases, so that high error correction capability can be obtained (see Non-Patent Document 1).
畳み込み符号を復号するアルゴリズムとしては、最尤(ML(Maximum Likelihood))系列推定を行うビタビアルゴリズム(Viterbi Algorithm)や、最大事後確率(MAP(Maximum A Posteriori probability))推定を行うBCJR(Bahl-Cocke-Jeinek-Raviv)アルゴリズムが広く用いられている。畳み込み符号では、ML系列推定やMAP推定による軟判定復号を適用することにより、高い誤り訂正能力を得られることが知られている。 As an algorithm for decoding a convolutional code, a Viterbi algorithm that performs maximum likelihood (ML (Maximum Likelihood)) sequence estimation and a BCJR (Bahl-Cocke) that performs maximum posterior probability (MAP (Maximum A Posteriori probability)) estimation -Jeinek-Raviv) algorithm is widely used. In the convolutional code, it is known that a high error correction capability can be obtained by applying soft decision decoding by ML sequence estimation or MAP estimation.
ところで、ビタビアルゴリズムやBCJRアルゴリズムは、符号化器の構成によって定義されるトレリス線図を利用して復号を行う。これらのアルゴリズムを用いた復号には、トレリス線図の状態数に比例した計算量とメモリが必要となる。トレリス線図の状態数は、状態数2K−1個(K:符号化器の拘束長)となるため、これらのアルゴリズムでは、拘束長Kが増加すると、計算量が指数的に増大してしまう。したがって、拘束長が長い畳み込み符号の軟判定復号部は、実装が困難となる。 By the way, the Viterbi algorithm and the BCJR algorithm perform decoding using a trellis diagram defined by the configuration of the encoder. Decoding using these algorithms requires a calculation amount and memory proportional to the number of states in the trellis diagram. Since the number of states in the trellis diagram is 2 K-1 states (K: constraint length of the encoder), the computational complexity increases exponentially as the constraint length K increases in these algorithms. End up. Therefore, it is difficult to implement a soft decision decoding unit of a convolutional code having a long constraint length.
加えて、トレリス線図を利用するビタビアルゴリズムやBCJRアルゴリズムは、トレリス線図上で時間方向の逐次計算が必要となるため、ハードウェア上での並列処理を用いた復号の高速化に適さない。 In addition, the Viterbi algorithm and the BCJR algorithm that use a trellis diagram require sequential calculation in the time direction on the trellis diagram, and are not suitable for speeding up decoding using parallel processing on hardware.
BCJRアルゴリズムを簡易化して計算量を削減する方式として、SOVA(Soft-Output Viterbi Algorithm)やMax−Log MAPアルゴリズムなどがある。しかし、これらもトレリス線図を利用した復号であるため、ビタビアルゴリズムやBCJRアルゴリズムと同様に、状態数に比例した計算量が必要となるという特徴と、逐次計算が必要となる特徴を有している(非特許文献2参照)。 Methods for simplifying the BCJR algorithm and reducing the amount of calculation include SOVA (Soft-Output Viterbi Algorithm), Max-Log MAP algorithm, and the like. However, since these are also decoding using the trellis diagram, like the Viterbi algorithm and the BCJR algorithm, there is a feature that a calculation amount proportional to the number of states is required, and a feature that requires sequential calculation. (See Non-Patent Document 2).
そこで、畳み込み符号の復号アルゴリズムに、Sum-Productアルゴリズム(SPA)による復号(Sum-Product復号)を適用することが検討されている(非特許文献3,4参照)。Sum-Productアルゴリズムは、BP(Belief-Propagation)アルゴリズムとも呼ばれる。
Therefore, it has been studied to apply decoding by the Sum-Product algorithm (SPA) (Sum-Product decoding) as a decoding algorithm for convolutional codes (see Non-Patent
Sum-Productアルゴリズムは、低密度パリティ検査(LDPC:Low-Density Parity Check)符号に代表される、低密度な(行列中に含まれる1の要素数が0の要素数に比べて大幅に少ない)パリティ検査行列Hで定義される誤り訂正符号に対して、復号を行うアルゴリズムである。符号化に用いた符号化器の構成に対応するパリティ検査行列を定義することで、畳み込み符号の復号にSum-Productアルゴリズムを用いることができる。 The Sum-Product algorithm is low-density, represented by a low-density parity check (LDPC) code (the number of 1 elements in the matrix is significantly less than the number of 0 elements). This is an algorithm for decoding an error correction code defined by a parity check matrix H. By defining a parity check matrix corresponding to the configuration of the encoder used for encoding, the Sum-Product algorithm can be used for decoding the convolutional code.
Sum-Productアルゴリズムの計算量は、主としてパリティ検査行列の大きさと、検査行列のうち1の立っている要素の数(重み)に支配される。畳み込み符号のパリティ検査行列において、行数は、パリティ系列長に対応し、列数は、符号系列長に対応し、畳み込み符号のパリティ検査行列の大きさは、拘束長Kとは関係しない。符号化器の拘束長Kを長くすると、パリティ検査多項式の項が増えることに対応してパリティ検査行列を構成する行要素のうち1の立っている要素の数(行重み)が増える。しかし、行重みの増加に対する計算量の増加は線形であるので、拘束長Kの増加に対するSum-Productアルゴリズムの計算量への影響は、ビタビやBCJRアルゴリズムよりもはるかに小さいといえる。 The amount of calculation of the Sum-Product algorithm is mainly governed by the size of the parity check matrix and the number (weight) of 1 standing elements in the check matrix. In the parity check matrix of the convolutional code, the number of rows corresponds to the parity sequence length, the number of columns corresponds to the code sequence length, and the size of the parity check matrix of the convolutional code is not related to the constraint length K. Increasing the encoder constraint length K increases the number of standing elements (row weights) among the row elements constituting the parity check matrix corresponding to an increase in the number of parity check polynomial terms. However, since the increase in the calculation amount with respect to the increase in the row weight is linear, it can be said that the influence on the calculation amount of the Sum-Product algorithm with respect to the increase in the constraint length K is much smaller than that of the Viterbi or BCJR algorithm.
加えてSum-Productアルゴリズムでは、検査行列の行処理/列処理は、行/列ごとに独立に行ってよい。このためハードウェア上での並列処理を用いた復号処理の高速化に適し、第4世代移動通信システムなど次世代の通信システムで要求される高スループット伝送への対応が容易である。 In addition, in the Sum-Product algorithm, the row processing / column processing of the check matrix may be performed independently for each row / column. For this reason, it is suitable for speeding up decoding processing using parallel processing on hardware, and can easily cope with high-throughput transmission required in next-generation communication systems such as fourth-generation mobile communication systems.
Sum-Product復号をもとに、近似や計算手順の工夫によって計算量削減や復号特性の向上を図った方式として、min-sum復号、offset BP復号、Normalized BP復号、shuffled BP復号などが検討されている(非特許文献5〜7)。
しかしながら、Sum-Productアルゴリズムによる復号では、拘束長Kが大きいほどBCJRアルゴリズムに対して復号特性が劣化してしまうことが経験的に知られている。 However, it is empirically known that decoding by the Sum-Product algorithm causes the decoding characteristics to deteriorate with respect to the BCJR algorithm as the constraint length K increases.
本発明はかかる点に鑑みてなされたものであり、良好な復号特性を取得する畳み込み符号用の復号化装置、符号化装置、復号化方法、及び、符号化方法を提供する。 The present invention has been made in view of the above points, and provides a decoding device, a coding device, a decoding method, and a coding method for convolutional codes that obtain good decoding characteristics.
本発明の復号化装置は、BP(Belief Propagation)復号を行う復号化装置であって、畳み込み符号の第1の検査多項式によって定義される第1の行要素と、前記第1の検査多項式と等価である前記畳み込み符号の第2の検査多項式によって定義される第2の行要素と、を用いて形成されるパリティ検査行列を記憶する記憶手段と、符号化側で前記畳み込み符号により生成された符号語系列に対し、前記パリティ検査行列を用いてBP復号を施す復号手段と、を具備する構成を採る。 A decoding apparatus according to the present invention is a decoding apparatus that performs BP (Belief Propagation) decoding, and is equivalent to a first row element defined by a first check polynomial of a convolutional code and the first check polynomial. A second row element defined by a second check polynomial of the convolutional code, and a storage means for storing a parity check matrix formed using the code, and a code generated by the convolutional code on the encoding side And a decoding unit that performs BP decoding on the word sequence using the parity check matrix.
本発明の符号化装置は、復号側でBP(Belief Propagation)復号を用いて復号される符号語系列を生成する符号化装置であって、畳み込み符号により符号語系列を生成する畳み込み符号化手段と、復号側のBP復号で用いられるパリティ検査行列のパターンに基づいたパンクチャパターンを用いて、前記符号語系列に対しパンクチャを施すパンクチャ手段と、を具備する構成を採る。 An encoding apparatus according to the present invention is an encoding apparatus that generates a codeword sequence to be decoded using BP (Belief Propagation) decoding on a decoding side, and a convolutional encoding unit that generates a codeword sequence by a convolutional code; And a puncturing means for puncturing the codeword sequence using a puncture pattern based on a parity check matrix pattern used in BP decoding on the decoding side.
本発明の復号化方法は、BP(Belief Propagation)復号を行う復号化方法であって、畳み込み符号の第1の検査多項式によって定義される第1の行要素と、前記第1の検査多項式と等価である前記畳み込み符号の第2の検査多項式によって定義される第2の行要素と、を用いて形成されるパリティ検査行列を用いて、符号化側で前記畳み込み符号により生成された符号語系列に対し、BP復号を施すようにした。 The decoding method of the present invention is a decoding method for performing BP (Belief Propagation) decoding, which is equivalent to a first row element defined by a first check polynomial of a convolutional code and the first check polynomial. A codeword sequence generated by the convolutional code on the encoding side using a parity check matrix formed using a second row element defined by a second parity check polynomial of the convolutional code that is On the other hand, BP decoding is performed.
本発明の符号化方法は、復号側でBP(Belief Propagation)復号を用いて復号される符号語系列を生成する符号方法であって、畳み込み符号により符号語系列を生成し、復号側のBP復号で用いられるパリティ検査行列のパターンに基づいたパンクチャパターンを用いてパンクチャを施すようにした。 The coding method of the present invention is a coding method for generating a codeword sequence to be decoded using BP (Belief Propagation) decoding on the decoding side, generating a codeword sequence by a convolutional code, and performing BP decoding on the decoding side Puncturing is performed using a puncture pattern based on the parity check matrix pattern used in FIG.
本発明によれば、良好な復号特性を取得する畳み込み符号用の復号化装置、符号化装置、復号化方法、及び、符号化方法を実現できる。 ADVANTAGE OF THE INVENTION According to this invention, the decoding apparatus, encoding apparatus, decoding method, and encoding method for convolutional codes which acquire a favorable decoding characteristic are realizable.
以下、本発明の実施の形態について、図面を参照して詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
(実施の形態1)
本実施の形態では、畳み込み符号のSum-Product復号における復号特性を改善するために、復号に用いるパリティ検査行列を拡張する方法と、当該方法によって拡張されたパリティ検査行列を用いて復号処理を行う復号部について、図面を用いて説明する。
(Embodiment 1)
In this embodiment, in order to improve the decoding characteristics in the convolutional code Sum-Product decoding, a decoding process is performed using a method for extending the parity check matrix used for decoding and the parity check matrix expanded by the method. The decoding unit will be described with reference to the drawings.
本発明のパリティ検査行列の説明に先立って、まず、一般的な畳み込み符号のパリティ検査行列と、パリティ検査行列を用いたSum-Product復号について説明する。なお、以下では、拘束長K=3,符号化率R=1/2(=b/c)の(7,5)8畳み込み符号を例に説明する。なお、(7,5)8は8進数により表されている。 Prior to the description of the parity check matrix of the present invention, first, a parity check matrix of a general convolutional code and Sum-Product decoding using the parity check matrix will be described. In the following description, a (7, 5) 8 convolutional code with constraint length K = 3, coding rate R = 1/2 (= b / c) will be described as an example. Note that (7,5) 8 is expressed in octal.
(符号化方法)
図1に、符号化率R=1/2の(7,5)8畳み込み符号の符号化器の構成を示す。図1において、符号化器100は、シフトレジスタ110−1,110−2、排他的論理和(mod2加算)120−1〜120−3を備えて構成される。図1に示すように、(7,5)8畳み込み符号の符号化器100は、データ入力xiに対し、データ出力とパリティ出力として、xi及びpiを出力する。
(Encoding method)
FIG. 1 shows the configuration of an encoder for a (7,5) 8 convolutional code with a coding rate R = 1/2. In FIG. 1, the
図1の符号化器100は、式(1)の生成多項式表現を用いて表現することができる。
式(1)において、G1(D)は、フィードフォワード多項式、G0(D)は、フィードバック多項式を表している。情報系列(データ系列)の多項式表現をX(D)、パリティ系列の多項式表現をP(D)とすると、パリティ検査多項式は、式(2)で表される。
図1の符号化器100では、G1(D)=D2+1,G0(D)=D2+D+1であるので、式(1),式(2)は、それぞれ、式(3),式(4)となる。なお、Dm(m=1,2,…,L、L:任意)は、遅延演算子である。
ここで、時点iの情報ビットをxiと表し、パリティビットをpiと表し、送信系列wi=(xi,pi)とすると、式(4)のパリティ検査多項式からxi,piは、式(5)を満たす。
ここで、送信符号語ベクトルwを、w=(x1,p1,x2,p2,…,xi,pi,…,xI,pI)と定義する。ただし1≦i≦IN(IN:情報系列長)である。このとき、式(4)のパリティ検査多項式に基づく標準的な(従来の)パリティ検査行列Hは、式(5)の関係を用いて、図2に示すように表すことができる。このパリティ検査行列Hについて、関係式(6)が成立する。
式(4)のパリティ検査多項式に基づくパリティ検査行列Hについて、再度図2を用いてより詳細な説明を行う。式(6)から分かるように、パリティ検査行列Hの列数は、送信符号語系列長に等しい。また、パリティ検査行列Hの行数は、パリティ系列長に等しい。 The parity check matrix H based on the parity check polynomial of Equation (4) will be described in more detail using FIG. 2 again. As can be seen from Equation (6), the number of columns of the parity check matrix H is equal to the transmission codeword sequence length. Further, the number of rows of the parity check matrix H is equal to the parity sequence length.
検査行列Hのi行目の行ベクトル(パリティ検査行ベクトル)をc1,iとすると、c1,iwT=0は、時点iを基準として式(4)のパリティ検査多項式と等価である。このように、図2のパリティ検査行列の要素は、時点iに対応する1つのパリティ検査行ベクトルc1,iをi行目の行要素として、この行要素が1行目からIN行目まで配置された構成となっている。 Assuming that the row vector (parity check row vector) of the i-th row of the parity check matrix H is c 1, i , c 1, i w T = 0 is equivalent to the parity check polynomial of Equation (4) with respect to the time point i. is there. Thus, the elements of the parity check matrix of FIG. 2, a single parity check row vector c 1, i corresponding to the time point i as row elements of the i-th row, I N-th row the row elements from the first row It has a configuration arranged up to.
パリティ検査多項式が、一般式(7)で表されたとする。
図2に示すパリティ検査行列では、c1,iの要素のうち、(xi−2,pi−2,xi−1,pi−1,xi,pi)に対応する領域210の範囲に、0又は1の要素が立っており、領域210以外の要素は、全て0となっている。領域210の6つの要素は、左から順にxi−2,pi−2,xi−1,pi−1,xi,piに対応し、そのうち、xi−2,xi及びpi−2,pi−1,piに対応する要素に1が立っており、式(4)の各項に対応している。
In the parity check matrix shown in FIG. 2, among the elements of c 1 and i , an
検査行列Hの全体は、行列の左下および右上の要素がゼロであり、図2に示した領域210と同じ1と0の要素からなる領域が、検査行列Hの対角線上に平行四辺形に配置されている。
In the entire check matrix H, the lower left and upper right elements of the matrix are zero, and the same area of 1 and 0 as the
(復号化方法)
復号部では、図2に示すパリティ検査行列Hに基づいて、Sum-Product復号(BP復号)、Sum-Product復号を近似したmin-sum復号、offset BP復号、Normalized BP復号、shuffled BP復号などを用いることで、復号を行うことができる。
(Decryption method)
The decoding unit performs Sum-Product decoding (BP decoding), min-sum decoding approximating Sum-Product decoding, offset BP decoding, Normalized BP decoding, shuffled BP decoding, and the like based on the parity check matrix H shown in FIG. By using it, decoding can be performed.
以下では、復号側での復号アルゴリズムの一例として、Sum-Product復号アルゴリズムについて説明する。 Hereinafter, a Sum-Product decoding algorithm will be described as an example of a decoding algorithm on the decoding side.
以下の説明では、2元(M×N)行列H={Hmn}を、復号対象であるパリティ検査行列とする。集合[1,N]={1,2,・・・,N}の部分集合A(m),B(n)を次式のように定義する。
・Step A・1(初期化):
Hmn=1を満たす全ての組(m,n)に対して、事前値対数比β(0) mn=λnと設定する。λnは、ビット毎の対数尤度である。また、ループ変数(反復回数)lsum=1と設定し、ループ最大回数をlsum,maxと設定する。
・ Step A ・ 1 (Initialization):
A priori logarithmic ratio β (0) mn = λ n is set for all pairs (m, n) satisfying H mn = 1. λ n is the log likelihood for each bit. Further, the loop variable (number of iterations) l sum = 1 is set, and the maximum number of loops is set to l sum, max .
・Step A・2(行処理):
m=1,2,・・・,Mの順にHmn=1を満たす全ての組(m,n)に対して、次の更新式を用いて外部値対数比α(i) mnを更新する。なお、iは、反復回数である。
The external value logarithm ratio α (i) mn is updated using the following update formula for all pairs (m, n) satisfying H mn = 1 in the order of m = 1, 2,... . Note that i is the number of iterations.
・Step A・3(列処理):
n=1,2,・・・,Nの順にHmn=1を満たす全ての組(m,n)に対して、次の更新式を用いて外部値対数比β(i) mnを更新する。
The external value logarithm ratio β (i) mn is updated using the following update formula for all pairs (m, n) satisfying H mn = 1 in the order of n = 1, 2 ,. .
・Step A・4(対数尤度比の計算):
n∈[1,N]について、対数尤度比L(i) nを次式のように求める。
For n∈ [1, N], the log likelihood ratio L (i) n is obtained as the following equation.
・Step A・5(反復回数のカウント):
もしlsum<lsum,maxならばlsumをインクリメントして、step A・2に戻る。一方、lsum=lsum,maxの場合、式(15)に示すように、符号語wを推定し、Sum-Product復号を終了する。
If l sum <l sum, max , l sum is incremented, and the process returns to step A · 2. On the other hand, in the case of l sum = l sum, max , as shown in the equation (15), the codeword w is estimated, and the Sum-Product decoding is finished.
図4は、復号部にSum-Product復号を用いた場合の構成の一例を示す図である。図4の復号部300において、対数尤度比記憶部303は、対数尤度比信号301、タイミング信号302を入力とし、タイミング信号302に基づいてデータ区間の対数尤度比を記憶する。そして、対数尤度比記憶部303は、記憶した対数尤度比を信号304として行処理演算部305に出力する。
FIG. 4 is a diagram illustrating an example of a configuration when Sum-Product decoding is used in the decoding unit. In the
行処理演算部305は、対数尤度比信号304、列処理後の信号312を入力とし、検査行列Hに「1」が存在する位置において、上述のStep A・2(行処理)の演算を行う。復号部は反復復号を行っているので、行処理演算部305は、1回目の復号時には、対数尤度比信号304を用いて行処理を行い(上述のStep A・1の処理に相当する)、2回目の復号時には、列処理後の信号312を用いて行処理を行う。そして、行処理演算部305は、行処理後の信号306を行処理後データ記憶部307に出力する。
The row
行処理後データ記憶部307は、行処理後の信号306を入力とし、すべての行処理後の値(信号)を記憶する。そして、行処理後データ記憶部307は、行処理後の信号308を列処理演算部309及び対数尤度比演算部315に出力する。
The post-row processing
列処理演算部309は、行処理後の信号308及び制御信号314を入力とし、制御信号314から最後の反復演算でないことを確認し、検査行列Hに「1」が存在する位置において、上述のStep A・3(列処理)の演算を行う。そして、列処理演算部309は、列処理後の信号310を列処理後データ記憶部311に出力する。
The column
列処理後データ記憶部311は、列処理後の信号310を入力とし、すべての列処理後の値(信号)を記憶する。そして、列処理後データ記憶部311は、列処理後の信号312を行処理演算部305に出力する。
The post-column processing
制御部313は、タイミング信号302を入力とし、反復回数をカウントし、反復回数を制御信号314として列処理演算部309及び対数尤度比演算部315に出力する。
The
対数尤度比演算部315は、行処理後の信号308、制御信号314を入力とし、制御信号314に基づいて最後の反復演算であると判断した場合、検査行列Hに「1」が存在する位置に対して、Step A・4(対数尤度比の計算)の演算を施し、対数尤度比信号316を得る。そして、対数尤度比演算部315は、対数尤度比信号316を判定部317に出力する。
The log likelihood ratio calculation unit 315 receives the row-processed
判定部317は、対数尤度比信号316を入力とし、符号語を推定し、推定ビット318を出力する。
検査行列記憶部319は、Sum-Product復号に用いるパリティ検査行列を格納しており、検査行列Hに「1」が存在する位置を行処理演算部305及び列処理演算部309に出力する。
The check
以上、標準的な(従来の)畳み込み符号のパリティ検査行列と、パリティ検査行列を用いたSum-Product復号のアルゴリズム及び復号部について説明した。以下、本発明のパリティ検査行列と、当該パリティ検査行列を用いた復号部について説明する。 The parity check matrix of the standard (conventional) convolutional code, the Sum-Product decoding algorithm and the decoding unit using the parity check matrix have been described above. Hereinafter, a parity check matrix of the present invention and a decoding unit using the parity check matrix will be described.
(パリティ検査行列)
先ず、本発明の骨子であるパリティ検査行列の生成方法について説明する。図2に示すパリティ検査行列は、1つのパリティ検査多項式だけを基にして構成されていた。これに対し、本実施の形態のパリティ検査行列は、複数のパリティ検査多項式を基にして行を拡張した構成となっている点が特徴である。
(Parity check matrix)
First, a method for generating a parity check matrix, which is the gist of the present invention, will be described. The parity check matrix shown in FIG. 2 is configured based on only one parity check polynomial. On the other hand, the parity check matrix according to the present embodiment is characterized in that the row is expanded based on a plurality of parity check polynomials.
・Step B・1:
先ず、基の畳み込み符号のパリティ検査多項式(4)を変形し、式(4)と等価な別のパリティ検査多項式を作成する。等価な別のパリティ検査多項式の作成方法については、非特許文献8などに記載されている。
・ Step B ・ 1:
First, the parity check polynomial (4) of the base convolutional code is modified to create another parity check polynomial equivalent to equation (4). A method for creating another equivalent parity check polynomial is described in Non-Patent Document 8, for example.
・Step B・2:
基のパリティ検査多項式(4)と、Step B・1において生成された式(4)と等価な別のパリティ検査多項式の中から、パリティ検査行列の生成に用いるパリティ検査多項式として、k(k≧2)個のパリティ検査多項式を選択する。
・ Step B ・ 2:
A parity check polynomial used for generating a parity check matrix is selected from the base parity check polynomial (4) and another parity check polynomial equivalent to the expression (4) generated in Step B · 1, as k (k ≧ 2) Select one parity check polynomial.
選択の基準として、次の<1>,<2>,<3>に従うと良い復号特性が得られる。 Decoding characteristics can be obtained by following the following <1>, <2>, and <3> as selection criteria.
基準<1>:
Step B・1において生成された式(4)と等価なパリティ検査多項式のうち、各等価なパリティ検査多項式だけを用いて、図2,図3に示すように、行列の左下および右上の要素はゼロであり、検査行列Hの対角線上に、パリティ検査多項式の各項が平行四辺形に配置されたパリティ検査行列を生成し、当該パリティ検査行列を用いてBP復号を行った場合に、優れた誤り率特性が得られる検査多項式を選択する。経験的には、パリティ検査行列にできる限り長さが4のループ(「ループ4」,「4−loop」,「FC(Four Cycle)」ともいう)が含まれないようにすると特性が良くなることが知られている。
Criteria <1>:
Of the parity check polynomials equivalent to the equation (4) generated in Step B · 1, only the equivalent parity check polynomials are used, and the lower left and upper right elements of the matrix are as shown in FIGS. When the parity check matrix in which each term of the parity check polynomial is arranged in a parallelogram on the diagonal line of the check matrix H is generated and BP decoding is performed using the parity check matrix, it is excellent. Select a parity check polynomial that provides error rate characteristics. From experience, it is possible to improve the characteristics by preventing the parity check matrix from including a loop having a length of 4 as much as possible (also referred to as “
基準<2>:
パリティ検査多項式の拘束長νが大きい検査多項式と小さい検査多項式とを組み合わせて選択する。なお、パリティ検査多項式が式(16)で与えられたとき、パリティ検査多項式の拘束長νは、式(17)で表される。
A parity check polynomial whose constraint length ν is large is selected in combination with a small parity check polynomial. When the parity check polynomial is given by equation (16), the constraint length ν of the parity check polynomial is expressed by equation (17).
基準<3>:
互いに疎な関係にあるパリティ検査多項式の組を選択する。すなわち、各パリティ検査多項式に含まれる項の次数が、できるだけ重複しないようなパリティ検査多項式の組を選択する。これにより、BP復号において経験的に特性劣化の原因になるとされている長さが4のループができるだけ生成されないようにすることができる。
Criteria <3>:
Select a set of parity check polynomials that are sparse. That is, a set of parity check polynomials is selected such that the order of terms included in each parity check polynomial is as small as possible. As a result, it is possible to prevent the generation of a loop having a length of 4, which is empirically caused to deteriorate characteristics in BP decoding, as much as possible.
・Step B・3:
Step B・2で選択したパリティ検査多項式のうち1つ(以下「第1のパリティ検査多項式」と呼ぶ)を用いて、図2,図3に示すように、従来と同様にパリティ検査行列を作成する(「第1のパリティ検査行列」と呼ぶ)。具体的には、第1のパリティ検査多項式に対応する0又は1の要素からなる領域を、検査行列の対角線上に平行四辺形に配置したパリティ検査行列を作成する。
・ Step B ・ 3:
Using one of the parity check polynomials selected in Step B · 2 (hereinafter referred to as “first parity check polynomial”), a parity check matrix is created as shown in FIGS. (Referred to as “first parity check matrix”). Specifically, a parity check matrix is created in which regions of 0 or 1 elements corresponding to the first parity check polynomial are arranged in a parallelogram on the diagonal of the check matrix.
・Step B・4:
Step B・3で作成した第1のパリティ検査多項式とは別のパリティ検査多項式(「第2のパリティ検査多項式」と呼ぶ)を基に、パリティ検査行ベクトルを作成する(「第2のパリティ検査行ベクトル」と呼ぶ)。なお、第2のパリティ検査行ベクトルの具体的な作成方法については、後に具体例を示しながら説明する。作成した第2のパリティ検査行ベクトルを、第1のパリティ検査行列に追加することによって、拡張されたパリティ検査行列を作成する。
・ Step B ・ 4:
A parity check row vector is created based on a parity check polynomial (referred to as a “second parity check polynomial”) different from the first parity check polynomial created in Step B · 3 (“second parity check polynomial”). Called a row vector). Note that a specific method of creating the second parity check row vector will be described later with a specific example. An extended parity check matrix is created by adding the created second parity check row vector to the first parity check matrix.
なお、別のパリティ検査多項式(第3、第4のパリティ検査多項式)を基に作成したパリティ検査行ベクトルを、第2のパリティ検査行が追加されたパリティ検査行列にさらに追加することで、拡張したパリティ検査行列を作成しても良い。 Note that the parity check row vector created based on another parity check polynomial (third and fourth parity check polynomials) is further added to the parity check matrix to which the second parity check row is added, thereby expanding the parity check matrix. A parity check matrix may be created.
以上のStep B・1〜Step B・4によって、本実施の形態で用いる拡張されたパリティ検査行列を作成することができる。以下、(7,5)8畳み込み符号を用いてStep B・1〜Step B・4について、具体例を用いて補足説明する。 By the above Step B · 1 to Step B · 4, an extended parity check matrix used in the present embodiment can be created. Hereinafter, Step B · 1 to Step B · 4 will be supplementarily described using specific examples using (7,5) 8 convolutional codes.
・Step B・1の例
基のパリティ検査多項式(4)を変形することで、生成多項式(1)と等価な別のパリティ検査多項式を作成する。式(4)と等価な別のパリティ検査多項式として、式(18),(19)などの検査多項式がある。
・Step B・2の例
2つのパリティ検査多項式(4),(18)の組を、パリティ検査行列の生成に用いる多項式として選択する。
Example of Step B • 2 A set of two parity check polynomials (4) and (18) is selected as a polynomial used for generating a parity check matrix.
・Step B・3の例
パリティ検査多項式(4)を第1のパリティ検査多項式に用いて第1のパリティ検査行列を作成する。第1のパリティ検査行列は、図2に示した検査行列Hと同様である。
Example of Step B • 3 A first parity check matrix is created using the parity check polynomial (4) as the first parity check polynomial. The first parity check matrix is the same as the check matrix H shown in FIG.
・Step B・4の例
パリティ検査多項式(18)を第2のパリティ検査多項式として選択する。パリティ検査多項式(18)に基づいて第2のパリティ検査行ベクトルを作成し、図2のパリティ検査行列に追加する。
Example of Step B • 4 The parity check polynomial (18) is selected as the second parity check polynomial. A second parity check row vector is created based on the parity check polynomial (18) and added to the parity check matrix of FIG.
以上の手順によって作成された、本実施の形態におけるパリティ検査行列の例を図5に示す。図5は、図2のパリティ検査行列に、式(18)に基づく第2のパリティ検査行ベクトルc2,iを追加して得られた、拡張されたパリティ検査行列を示している。第2のパリティ検査ベクトルc2,iは、pi−4,xi−4からpi,xiに対応する領域410に式(18)の各項に対応した1又は0の要素を持ち、それ以外の領域の要素は全て0となっている。
FIG. 5 shows an example of the parity check matrix created in the above procedure according to the present embodiment. FIG. 5 illustrates an extended parity check matrix obtained by adding the second parity check row vector c2 , i based on Equation (18) to the parity check matrix of FIG. The second parity check vector c 2, i has an element of 1 or 0 corresponding to each term of Equation (18) in the
第1のパリティ検査多項式を用いて、取り得る時点iの範囲(1≦i≦IN)に対応して計IN行のパリティ検査行列を作成することができる。なお、第2のパリティ検査行ベクトルは、任意の時点iについて追加可能であり、第2のパリティ検査行ベクトルを追加する時点iについては後述する。 Using the first parity check polynomial, a total of I N rows of parity check matrices can be created corresponding to the range of possible time points i (1 ≦ i ≦ I N ). Note that the second parity check row vector can be added at any time point i, and the time point i at which the second parity check row vector is added will be described later.
図5に示す検査行列は、時点2に、第2のパリティ検査行ベクトルを追加した例である。また、本実施の形態のパリティ検査行列の別の例として、式(19)に基づく第3のパリティ検査行c3,jを図5のパリティ検査行列に追加して拡張されたパリティ検査行列を、図6に示す。このように、複数のパリティ検査多項式に基づくパリティ検査行を用いて、パリティ検査行列を拡張することができる。
The parity check matrix shown in FIG. 5 is an example in which a second parity check row vector is added at
以下、Step B・1〜Step B・4に従って拡張されたパリティ検査行列Hに基づいてSum-Product復号(BP復号)などを行うことにより、従来のパリティ検査行列Hに基づいてSum-Product復号を行った場合よりも優れた復号特性を得ることができる点について、タナーグラフを用いて本発明の効果を説明する。 Hereinafter, Sum-Product decoding is performed based on the conventional parity check matrix H by performing Sum-Product decoding (BP decoding) based on the parity check matrix H extended according to Step B · 1 to Step B · 4. The effect of the present invention will be described using a Tanner graph with respect to the point that a decoding characteristic superior to that performed can be obtained.
図7は、図2及び図5に示したパリティ検査行列Hのタナーグラフの一部を示す図である。図7Aは、図2に示した従来のパリティ検査行列のタナーグラフの一部を示しており、図7Bは、図5に示した本発明のパリティ検査行列のタナーグラフの一部を示している。 FIG. 7 is a diagram illustrating a part of the Tanner graph of the parity check matrix H illustrated in FIGS. 2 and 5. 7A shows a part of the Tanner graph of the conventional parity check matrix shown in FIG. 2, and FIG. 7B shows a part of the Tanner graph of the parity check matrix of the present invention shown in FIG. .
Sum-Product復号の1回の処理(Step A・2〜Step A・5)では、まずStep A・2(行処理)で変数ノードの対数尤度比を用いてチェックノードの対数尤度比が更新され、次にStep A・3(列処理)でチェックノードの対数尤度比を用いて変数ノードの対数尤度比が更新される。これをタナーグラフ上で表現すると、まず行処理によって各変数ノードから接続されているチェックノードに信頼性情報が伝播し、次に各チェックノードから接続されている変数ノードに信頼性情報が伝播するということになる。 In one process of Sum-Product decoding (Step A · 2 to Step A · 5), first, the log likelihood ratio of the check node is calculated using the log likelihood ratio of the variable node in Step A · 2 (row processing). Then, in step A · 3 (column processing), the log likelihood ratio of the variable node is updated using the log likelihood ratio of the check node. When this is expressed on the Tanner graph, reliability information is first propagated to the check nodes connected from each variable node by row processing, and then reliability information is propagated from each check node to the connected variable nodes. It turns out that.
図7Aのタナーグラフのうち、変数ノードxiに注目する。変数ノードxiにはチェックノードc1,i,c1,i+2が接続されている。よって、Sum-Product復号の1回の処理では、チェックノードc1,i,c1,i+2を介して接続されている変数ノードの組{pi−2,xi−2,pi−1,pi,xi},{pi,xi,pi+1,pi+2,xi+2}の持つ信頼性情報が、変数ノードxiへと伝播する。 Among the Tanner graph of FIG. 7A, attention to the variable node x i. Check nodes c 1, i , c 1, i + 2 are connected to the variable node x i . Therefore, in one process of Sum-Product decoding, a set of variable nodes { pi-2 , xi -2 , pi-1) connected via check nodes c1 , i , c1 , i + 2 , P i , x i }, {p i , x i , p i + 1 , p i + 2 , x i + 2 } propagates to the variable node x i .
これに対して図7Bのタナーグラフでは、変数ノードxiに新たなチェックノードc2,iが接続されている。チェックノードc2,iは、図5のパリティ検査行列に追加されたパリティ検査行ベクトルc2,iに対応するものである。チェックノードc2,iは、変数ノードの組{pi−4,xi−4,pi−3,pi−1,pi,xi}と接続されており、c1,i,c1,i+2とは異なるビットの組み合わせから信頼性情報を変数ノードxiへと伝播できることがわかる。 The Tanner graph of FIG. 7B contrast, the new check node c 2, i is connected to the variable node x i. The check node c 2, i corresponds to the parity check row vector c 2, i added to the parity check matrix of FIG. Check node c 2, i is a variable node set {p i-4, x i -4, p i-3, p i-1, p i, x i} is connected with, c 1, i, It can be seen that the reliability information can be propagated to the variable node x i from a combination of bits different from c 1, i + 2 .
このように新たなチェックノードを追加することによって、1回のSum-Product復号で変数ノードxiへと伝搬される信頼性情報の要素数を増やすことができる。新たに追加されたチェックノードの信頼性情報は、従来からのチェックノードとは異なる変数ノードの組から伝搬された信頼性情報であるので、このように、第2のパリティ検査行列が追加され拡張されたパリティ検査行列を用いてSum-Product復号を行うことにより、符号化ゲインによって復号特性を向上することができる。 By adding this way a new check node, it is possible to increase the number of elements of the reliability information is propagated to the variable node x i by one Sum-Product decoding. Since the reliability information of the newly added check node is reliability information propagated from a set of variable nodes different from the conventional check node, the second parity check matrix is added and expanded in this way. By performing Sum-Product decoding using the parity check matrix, decoding characteristics can be improved by the coding gain.
さらに、第1のパリティ検査行c1,iに対応するパリティ検査多項式(4)の次数は2であり、第2のパリティ検査行c2,iに対応するパリティ検査多項式(18)の次数は4というように、次数が異なるパリティ検査多項式を組み合わせることによって、信頼性を伝播させるビットの時刻の範囲をc1,iとc2,iとで異ならせることができ、より高い符号化ゲインを得ることができる。 Further, the order of the parity check polynomial (4) corresponding to the first parity check row c 1, i is 2, and the order of the parity check polynomial (18) corresponding to the second parity check row c 2, i is 4, by combining parity check polynomials having different orders, the time range of bits for propagating reliability can be made different between c 1, i and c 2, i, and a higher coding gain can be obtained. Obtainable.
(第2のパリティ検査行ベクトルを追加する時点iの選択方法)
上述したように、第1のパリティ検査多項式を用いて、取り得る時点iの範囲(1≦i≦IN)に対応して、計IN行の第1のパリティ検査行列を作成することができる。また、第2のパリティ検査行ベクトルは、任意の時点iについて追加可能である。
(Selection method of time point i at which the second parity check row vector is added)
As described above, a first parity check matrix of a total of I N rows can be created using the first parity check polynomial corresponding to the range of possible time points i (1 ≦ i ≦ I N ). it can. Further, the second parity check row vector can be added at any time point i.
第2のパリティ検査行ベクトルを時点iの範囲(1≦i≦IN)で追加することにより、1回のSum-Product復号で変数ノードxiへと伝搬される信頼性情報の要素数が増え、符号化ゲインを得ることができる。したがって、第2のパリティ検査行ベクトルを追加する時点によっても、どの変数ノードに信頼性情報が伝搬されるか変わってくるため、第2のパリティ検査行ベクトルを追加する時点iの選択方法も重要な要素となる。そこで、以下では、第2のパリティ検査行ベクトルを追加する時点iの選択方法について説明する。なお、この選択方法は第3、第4以降のパリティ検査行を追加する場合においても同様である。 By adding the second parity check row vector in the range of the time point i (1 ≦ i ≦ I N ), the number of elements of the reliability information propagated to the variable node x i by one Sum-Product decoding is reduced. The coding gain can be obtained. Therefore, since the reliability information is propagated to which variable node also depends on the time when the second parity check row vector is added, the selection method of the time i at which the second parity check row vector is added is also important. It becomes an element. Therefore, hereinafter, a method of selecting the time point i at which the second parity check row vector is added will be described. This selection method is the same when adding the third, fourth and subsequent parity check rows.
上述したように、第2のパリティ検査行ベクトルは、任意の時点iに追加することができる。すなわち、各時点ごとに第2のパリティ検査行を追加していくことにより、最大でI行の第2のパリティ検査行ベクトルを、第1のパリティ検査行列に対して追加することができる。 As described above, the second parity check row vector can be added at any time point i. That is, by adding a second parity check row for each time point, a second parity check row vector of I rows at the maximum can be added to the first parity check matrix.
パリティ検査行列の行数が増えることによって、復号部300の行処理演算部305及び列処理演算部309の計算量が増加し、又、行処理後データ記憶部307に必要なメモリのサイズが増大することとなるものの、計算量及びメモリサイズの増加はたかだか追加する行数に比例する程度であり、Sum-Product復号の計算量の増加分は並列処理が可能なので、復号の高速化への妨げとはならない。
Increasing the number of rows of the parity check matrix increases the amount of calculation of the row
しかし、パリティ検査行列の行数を増やすことにより、Sum-Product復号の復号特性を劣化させる要因となる長さ4のループが形成されやすくなってしまう。そのため、第2のパリティ検査行の数を多くすることにより、復号特性が必ずしも改善される訳でなく、追加する第2のパリティ検査行の数が所定数を超えると、第2のパリティ検査行をさらに追加しても、復号特性の改善は相対的に小さくなってしまう。したがって、各時点ごとに第2のパリティ検査行を追加して、IN行の第2のパリティ検査行ベクトルを追加しても、必ずしも復号特性が改善されない場合がある。
However, increasing the number of rows of the parity check matrix makes it easy to form a loop of
そこで、以下では、第2のパリティ検査行を追加する時点iについて、図8を用いながら補足説明する。 Therefore, hereinafter, a supplementary explanation will be given with reference to FIG. 8 about the time point i at which the second parity check row is added.
図8は、本実施の形態におけるパリティ検査行列を示す図である。なお、図8において、図5と同一の部分については同一の符号を付している。図8のパリティ検査行列は、第2のパリティ検査行が、一定の間隔TA、時点TAおきに追加された例である。なお、TA=1とすれば、全ての時刻iについて第2のパリティ検査行が追加されることとなる。図8のパリティ検査行列では、時刻iに対してpi,xiの2列が対応するので、第2のパリティ検査行はパリティ検査多項式(18)に対応する領域410を2TA列ずつずらして平行四辺形に配置した形になっている。このように一定の間隔TAごとにパリティ検査行を追加する場合、任意の符号長に対するパリティ検査行列の設計が容易となる。また、1が立っている要素の平行四辺形様の配置が符号語の途中で変化しないため、非特許文献5〜7などに示されている計算手法の工夫の適用が容易となる。
FIG. 8 is a diagram showing a parity check matrix in the present embodiment. In FIG. 8, the same parts as those in FIG. 5 are denoted by the same reference numerals. The parity check matrix of FIG. 8 is an example in which second parity check rows are added at regular intervals T A and every time point T A. If T A = 1, the second parity check row is added for all times i. The parity check matrix of FIG. 8, since p i, two rows of x i corresponding relative time i, the second parity check
次に、第2のパリティ検査行を追加する時点の間隔TAの決定方法について説明する。間隔TAは、以下の基準に従って決定すると良い。 Next, a method determining the interval T A at which to add the second parity check matrix. Interval T A is may be determined according to the following criteria.
基準《1》:第2のパリティ検査多項式の拘束長をv2とすると、TA≦v2となるようにする。このようにすることで、Sum-Product復号を少なくとも2回行うことによって、第1のパリティ検査行において1が立っている任意のあるビットから、第2のパリティ検査行において1が立っている別のビットへと確率を伝播することができるようになり、高い符号化ゲインが得られるようになる。 Reference "1": When the constraint length of the second parity check polynomial and v 2, so that the T A ≦ v 2. By doing this, Sum-Product decoding is performed at least twice, so that any one bit that is set to 1 in the first parity check row is changed to one that is set to 1 in the second parity check row. Probability can be propagated to the bits of, and a high coding gain can be obtained.
基準《2》:追加された複数の第2のパリティ検査行によって、長さが4のループができるだけできないようにする。長さ4のループは、Sum-Product復号において復号特性劣化の要因となるので、第2のパリティ検査行が追加されたパリティ検査行列に含まれる長さ4のループ数が少ないほど、復号特性の劣化を抑えることができる。
Criterion << 2 >>: A loop having a length of 4 is prevented as much as possible by a plurality of added second parity check rows. Since the
基準《3》:符号語にパンクチャド符号化を適用する場合は、間隔TAがパンクチャパターンの長さの整数分の1になるようにする。なお、パンクチャド符号化の適用については、実施の形態2において詳細に説明する。 Reference "3": When applying the punctured encoded into codewords interval T A is set to be the integral submultiple of the length of the puncture pattern. The application of punctured encoding will be described in detail in the second embodiment.
このようにして、復号特性の劣化要因を回避しつつ、第2のパリティ検査多項式を追加する時点iを決定することにより、拡張されたパリティ検査行列を用いてBP復号を行うことにより、復号特性が確実に改善されるようになる。 In this way, by determining the time point i at which the second parity check polynomial is added while avoiding the deterioration factor of the decoding characteristics, by performing BP decoding using the extended parity check matrix, the decoding characteristics Will definitely improve.
本実施の形態に係る復号部の構成は、図4に示した復号部300と同様であるため、説明を省略する。検査行列記憶部319に記憶しておくパリティ検査行列を、本実施の形態で説明したパリティ検査行列に置き換えることによって、復号特性の良い復号部を構成することができる。
The configuration of the decoding unit according to the present embodiment is the same as that of
以上のように、本実施の形態によれば、畳み込み符号の第1のパリティ検査多項式によって定義される第1のパリティ検査行要素と、第1の検査多項式と等価である畳み込み符号の第2のパリティ検査多項式によって定義される第2のパリティ行要素と、を用いて形成される拡張されたパリティ検査行列を用いて、符号化側で畳み込み符号により生成された符号語系列に対し、Sum-Product復号を行う。このように、拡張されたパリティ検査行列を用いてSum-Product復号をすることにより、Sum-Productアルゴリズムの1回の計算処理において、より多くの異なるビットの組み合わせの間で信頼度伝搬が行われるようになり、この結果、復号特性を向上することができる。 As described above, according to the present embodiment, the first parity check row element defined by the first parity check polynomial of the convolutional code and the second of the convolutional code that is equivalent to the first check polynomial. Sum-Product for a codeword sequence generated by a convolutional code on the encoding side using an extended parity check matrix formed using a second parity row element defined by a parity check polynomial Decrypt. In this way, by performing Sum-Product decoding using the extended parity check matrix, reliability propagation is performed between more different combinations of bits in one calculation process of the Sum-Product algorithm. As a result, the decoding characteristics can be improved.
なお、本発明は、種々のBP復号に広く適用できる。すなわち、本発明のBP復号とは、例えば非特許文献5〜7に記載されているような、BP復号を近似したmin-sum復号、offset BP復号、Normalized BP復号等も含むものである。これは、以下に説明する実施の形態においても同様である。
The present invention can be widely applied to various BP decoding. That is, the BP decoding of the present invention includes min-sum decoding, offset BP decoding, normalized BP decoding, and the like that approximate BP decoding as described in
(実施の形態2)
畳み込み符号を無線通信システムに適用する際、符号化器の構成を変えずに符号化率を可変にするために、畳み込み符号にパンクチャド符号化を組み合わせたパンクチャド畳み込み符号を用いることが一般的である。本実施の形態では、パンクチャド畳み込み符号を適用した無線通信システムにおいて、実施の形態1で説明した復号部を無線受信装置に用いるための、好適なパンクチャド符号化器の構成について説明する。
(Embodiment 2)
When applying a convolutional code to a wireless communication system, it is common to use a punctured convolutional code that combines a punctured coding with a convolutional code in order to make the coding rate variable without changing the configuration of the encoder. It is. In this embodiment, a configuration of a suitable punctured encoder for using the decoding section described in
図9に、本実施の形態に係るパンクチャド符号化器を備えた送信装置の構成を示す。図9の送信装置600は、畳み込み符号化部610、パンクチャ部620、インタリーブ部630、変調部640、制御情報生成部660、無線送信部650、及び送信アンテナ670を備えて構成される。なお、本実施の形態に係るパンクチャド符号化器は、畳み込み符号化部610及びパンクチャ部620により構成される。
FIG. 9 shows a configuration of a transmission apparatus provided with a punctured encoder according to the present embodiment. 9 includes a
畳み込み符号化部610は、送信情報系列に対し畳み込み符号化処理を行い、得られた送信符号語系列をパンクチャ部620に出力する。
The
パンクチャ部620は、送信符号語系列から所定のパンクチャパターンに従ってビットのパンクチャ(ビットの消去)を行い、パンクチャ後の送信符号語系列をインタリーブ部630に出力する。なお、パンクチャパターンについては後述する。
Puncturing
インタリーブ部630は、パンクチャ後の送信符号語系列に対して、系列の順序の並び替え処理(インタリーブ)を行い、インタリーブ後の送信符号語系列を変調部640に出力する。
変調部640は、インタリーブ後の送信符号語系列を、PSK(Phase Shift Keying),QAM(Quadrature Amplitude Modulation)などの変調方式で変調し、送信変調シンボル系列を無線送信部650に出力する。
制御情報生成部660は、送信装置と受信装置との間で信号を受信するために必要な制御情報を生成し、変調部640に出力する。制御情報には、パンクチャ部620で用いたパンクチャパターンを示す情報が含まれる。その他の制御情報の例として、変調方式や送信情報系列長、時間・周波数同期のためのプリアンブル信号などがある。
The control
無線送信部650は、送信変調シンボル系列に対して、D/A(Digital to Analog)変換、周波数変換、RF(Radio Frequency)フィルタ処理などの無線変調処理を行い、送信RF信号を生成する。
送信アンテナ670は、送信RF信号を送信する。
The
図10に、本実施の形態に係る受信装置の構成を示す。受信装置700は、受信アンテナ710、無線受信部720、復調部730、デインタリーブ部740、デパンクチャ部750、制御情報検出部760、及び復号部770を備えて構成される。
FIG. 10 shows the configuration of the receiving apparatus according to the present embodiment. The receiving
受信アンテナ710は、送信装置600から送信された送信RF信号を受信し、無線受信部720に出力する。
The
無線受信部720は、RFフィルタ処理、周波数変換、A/D(Analog to Digital)変換などの無線復調処理を行う。その後、Iチャネル、Qチャネルそれぞれの受信ベースバンド信号を検出する。無線受信部720は、受信ベースバンド信号を復調部730に出力する。
The
また、無線受信部720は、ベースバンド信号に含まれる既知信号を利用して、送信装置600と受信装置700との間の無線伝搬路におけるチャネル変動を推定する。無線受信部720は、推定したチャネル変動を制御情報検出部760に出力する。
In addition, the
復調部730は、ベースバンド信号から、送信されたインタリーブ後の各符号語ビットの対数尤度比を求め、求めた対数尤度比をデインタリーブ部740に出力する。
デインタリーブ部740は、対数尤度比の系列の順序を、送信装置600でのインタリーブ部630で行った並び替え処理の逆の処理を用いて並び替える。デインタリーブ部740は、デインタリーブ後の受信対数尤度比系列をデパンクチャ部750に出力する。
The
デパンクチャ部750は、送信装置600のパンクチャ部620でパンクチャされたビットの対数尤度比を0として、パンクチャ部620の動作と逆に受信対数尤度比系列に追加する。デパンクチャ部750は、デパンクチャされた受信対数尤度比系列を復号部770に出力する。
復号部770は、デパンクチャされた受信対数尤度比系列に対して、実施の形態1と同様に、図3に示すような拡張されたパリティ検査行列を用いてSum-Product復号を行い、復号結果の硬判定値を復号部770の符号結果として出力する。
The
(パンクチャパターンの設計方法)
次に、パンクチャ方法について、図11、図12、及び図13を用いて詳しく説明する。なお、本実施の形態では、実施の形態1において説明した拡張されたパリティ検査行列を復号に用いることを前提とした、パンクチャビット(消去ビット)の設計方法について説明する。
(Puncture pattern design method)
Next, the puncturing method will be described in detail with reference to FIG. 11, FIG. 12, and FIG. In the present embodiment, a puncture bit (erase bit) design method based on the premise that the extended parity check matrix described in
図11に、パンクチャ部620におけるパンクチャ処理の例を示す。本実施の形態では、一定の長さのブロック(以下「パンクチャブロック」という)単位でパンクチャによって消去するビットの配置パターン(パンクチャパターン)を定義する。なお、パンクチャパターンは、送信装置600と受信装置700との間の通信で使用する符号化率の数だけ用意する必要がある。図11には、パンクチャパターンZをZ=(1,0,1,0,1,1)と定義した際のパンクチャの様子を示している。図11のパンクチャパターンZのブロックの長さLpは、Lp=3であり、パンクチャ部620は、パンクチャパターンZのブロック内の0に相当する位置のビットを消去する。
FIG. 11 shows an example of puncturing processing in the
本実施の形態では、復号部770において用いられるパリティ検査行列に基づいて、パンクチャパターンを設計する。以下、パンクチャパターンの設計手順について説明する。
In the present embodiment, a puncture pattern is designed based on the parity check matrix used in
・Step C・1:
パンクチャパターンの長さ(「パンクチャブロックの長さ」ともいう)Lpを決定する。パンクチャパターンの長さLpは、パリティ検査行列の生成に用いた第1のパリティ検査多項式の拘束長v1の整数倍とする。パンクチャパターンの長さLpが短いほど、パンクチャ部・デパンクチャ部の構成が簡易で済む。そのため、サポートする必要のある符号化率のうち、最大の符号化率を満たすパンクチャパターンの長さの中で、最も小さい長さを、パンクチャブロックの長さLpとする。
・ Step C ・ 1:
The length of the puncture pattern (also referred to as “length of the puncture block”) L p is determined. The length L p of the puncture pattern is an integer multiple of the constraint length v 1 of the first parity check polynomial used for generating the parity check matrix. The shorter the length L p of the puncture pattern, the configuration of puncturing section, depuncturing section requires only simple. Therefore, among the coding rates that need to be supported, the smallest length among the lengths of the puncture pattern that satisfies the maximum coding rate is defined as the length L p of the puncture block.
一例として、図12に示すパリティ検査行列に基づいて、パンクチャパターンを設計する場合について説明する。図12のパリティ検査行列は、図5のパリティ検査行列の行を入れ替えた行列であり、図5のパリティ検査行列と等価な行列である。具体的には、図12のパリティ検査行列は、第1のパリティ検査行ベクトルの3行おきに、第2のパリティ検査行ベクトルが挿入された場合の例である。また、第2のパリティ検査行ベクトルは、間隔TA=3おきに追加されている場合の例である。 As an example, a case where a puncture pattern is designed based on the parity check matrix shown in FIG. 12 will be described. The parity check matrix of FIG. 12 is a matrix in which the rows of the parity check matrix of FIG. 5 are exchanged, and is a matrix equivalent to the parity check matrix of FIG. Specifically, the parity check matrix of FIG. 12 is an example in which the second parity check row vector is inserted every three rows of the first parity check row vector. Further, the second parity check row vector is an example in the case where the second parity check row vector is added at intervals of T A = 3.
図12に示す例では、第1のパリティ検査多項式の拘束長v1は、v1=3である。そこで、パンクチャパターンの長さLpを、Lp=3とする。図12のパリティ検査行列の列をパンクチャブロック単位で区切り、区切られた領域に注目すると、パンクチャブロックごとに同じ形の領域810,820,830が行シフトした形で並んでいることがわかる。このとき、行シフト数は、パンクチャパターンの長さLpとした場合に、パンクチャパターンの長さLpに対応した検査行数に等しい。図12に示す例では、行シフト数は、時点(i−2)から時点iまでの第1のパリティ検査行ベクトルc1,i−2,c1,i−1,c1,iの3行と、第2のパリティ検査行ベクトルc2,jの1行の合計4行となる。時点(i−2)から時点iまでの間隔が、パンクチャパターンLpに一致する。
In the example shown in FIG. 12, the constraint length v 1 of the first parity check polynomial is v 1 = 3. Therefore, the length L p of the puncture pattern is set to L p = 3. When the columns of the parity check matrix of FIG. 12 are divided in units of puncture blocks and attention is paid to the divided areas, it can be seen that
図12に示すように、パリティ検査行列において、同じ形の領域810,820,830が行シフトした形で並んでいるのは、第2のパリティ検査行ベクトルを追加する時点の間隔TAが、パンクチャパターンの長さLpの整数分の1(1/1)となっているからである。ところで、パンクチャパターンの長さLpは、第1のパリティ検査多項式の拘束長v1の整数倍とするので、同じ形の領域810,820,830が行シフトした形で並ぶのは、第2のパリティ検査行ベクトルを追加する時点の間隔TAが、第1のパリティ検査多項式の拘束長v1の整数分の1となっていることによる。
As shown in FIG. 12, in the parity check matrix, the area of the
このように、パリティ検査行列の設計においては、第2のパリティ検査行ベクトルを追加する時点の間隔TAを、パンクチャパターンの長さLpの整数分の1とすることによって、パリティ検査行列からパンクチャブロックに対応する列要素を切り出した場合に、切り出されたいずれの領域も、同じ形の1又は0の要素を行方向にシフトした部分行列が得られるようになる。したがって、パリティ検査行列の1つのパンクチャブロックに対応する部分行列だけに着目して特性が良好となるパンクチャパターンを設計すれば、任意の符号長のパリティ検査行列に対して特性の良好なパンクチャパターンとすることができるようになる。 Thus, in the design of the parity check matrix, the interval T A at which to add the second parity check row vector by a integral submultiple of the length L p of the puncturing pattern, from the parity check matrix When a column element corresponding to a puncture block is cut out, a submatrix obtained by shifting 1 or 0 elements of the same shape in the row direction can be obtained in any of the cut out regions. Therefore, if a puncture pattern with good characteristics is designed by paying attention to only a partial matrix corresponding to one puncture block of a parity check matrix, a puncture pattern with good characteristics for a parity check matrix of an arbitrary code length Will be able to.
・Step C・2:
パリティ検査行列から、パンクチャパターンを決定するための部分行列を切り出す。具体的には、まず、パリティ検査行列を、列方向にパンクチャブロック単位で区切る。また、パリティ検査行列を、行方向に、パンクチャパターンの長さLpに対応する単位で区切る。このようにして、パリティ検査行列を格子状に区切る。区切られた格子うち、各列に1の要素を1つ以上含む格子に着目し、当該格子で区切られた格子ブロックを選択する。そして、選択した格子ブロックと同じ行に1の要素を1つ以上含む格子ブロックが全て含まれるように、部分行列を切り出す。
・ Step C ・ 2:
A partial matrix for determining a puncture pattern is cut out from the parity check matrix. Specifically, first, the parity check matrix is partitioned in puncture blocks in the column direction. Further, the parity check matrix is divided in the row direction in units corresponding to the length L p of the puncture pattern. In this way, the parity check matrix is partitioned in a lattice pattern. Focusing on a grid including one or more elements in each column among the partitioned grids, a grid block partitioned by the grid is selected. Then, the partial matrix is cut out so that all the lattice blocks including one or more elements of 1 are included in the same row as the selected lattice block.
図12に示す例では、区切られた格子のうち、各列に1の要素を1つ以上含む格子ブロック821,822に着目し選択し、当該格子ブロック821,822と同じ行に1の要素を1つ以上含む格子ブロック840,850が含まれるように枠860で示した部分行列を、パンクチャパターンを決定するための部分行列として用いる。この部分行列を用いてパンクチャパターンを決定する。
In the example shown in FIG. 12, among the divided grids, the grid blocks 821 and 822 including one or more elements in each column are selected and selected, and one element is placed in the same row as the grid blocks 821 and 822. The partial matrix indicated by a
・Step C・3:
Step C・2で切り出した部分行列を用いて、取り得るパンクチャパターン毎に、各行で全てのビットの信頼性を使って計算できるようになるまでに何回のSum-Product復号処理が必要になるかを評価する。そして、必要なSum-Product復号処理回数が最も少ないパンクチャパターンを、最適なパンクチャパターンとして選択する。必要なSum-Product復号処理回数が等しいパンクチャパターンが複数ある場合は、行ごとの必要な処理回数の平均値が最も小さいパターンを選択する。Sum-Product復号処理を何回繰り返しても信頼性を計算できない情報ビットが存在する場合、そのパンクチャパターンは不適である。なお、情報ビットだけを復号すれば良く、パリティビットを復号する必要がない場合には、信頼性を計算できないパリティビットが存在しても構わない。
・ Step C ・ 3:
Using the submatrix extracted in Step C · 2, for each possible puncture pattern, how many Sum-Product decoding processes are required before calculation can be performed using the reliability of all bits in each row. To evaluate. Then, the puncture pattern with the least number of required Sum-Product decoding processes is selected as the optimum puncture pattern. When there are a plurality of puncture patterns having the same number of required Sum-Product decoding processes, the pattern having the smallest average value of the required number of processes for each row is selected. If there are information bits whose reliability cannot be calculated no matter how many times the Sum-Product decoding process is repeated, the puncture pattern is inappropriate. If only information bits need to be decoded and there is no need to decode parity bits, there may be parity bits for which reliability cannot be calculated.
図13を用いてパンクチャパターンの決定方法について具体的に説明する。図13は、Step C・2で、図12の検査行列から切り出した部分行列860に対して、符号化率6/5に対するパンクチャパターンとして、[1]Z=(1,0,1,1,1,1),[2]Z=(1,1,1,0,1,1),[3]Z=(1,1,1,1,1,0)の3通りのパンクチャパターンを適用した場合に、どの列要素の信頼性情報が受信装置で受信されなくなるかを示したものである。図13において、斜線で示された列は、パンクチャされるビット列を示している。なお、図13は、パンクチャパターンZが、パンクチャブロックの中からパリティビットを1ビット除去(パンクチャ)する場合の例であり、図13A,図13B,図13Cは、それぞれ、パンクチャパターンZが[1],[2],[3]の場合を示す。
A method for determining a puncture pattern will be specifically described with reference to FIG. FIG. 13 shows [1] Z = (1, 0, 1, 1, 1) as a puncture pattern for the coding rate 6/5 with respect to the
[1]の4行目に注目すると、この行ではパンクチャによって信頼性情報が受信されないビット(パンクチャパターンZにおいて1が立っている箇所)は、全て要素が0となっている。4行目で1が立っているビットは、すべて送信側でパンクチャされずに送信されたビット(パンクチャパターンZにおいて0が立っている箇所)であるので、信頼性情報が受信されており、Sum-Product復号における対数尤度比の初期値β(0) mnとして0以外の値が得られている。すなわち[1]の4行目では、Sum-Product復号の1回目の行処理を開始する時点で、パリティ検査行において1が立っている全てのビットについての信頼性情報α(1) mnを0以外の値で更新することができる。 When attention is paid to the fourth row of [1], in this row, all the bits in which reliability information is not received by puncturing (locations where 1 is set in the puncture pattern Z) are 0. Since all the bits that are set to 1 in the 4th row are bits that are transmitted without being punctured on the transmission side (locations where 0 is set in the puncture pattern Z), the reliability information is received, and Sum A value other than 0 is obtained as the initial value β (0) mn of the log likelihood ratio in -Product decoding. That is, in the fourth row of [1], reliability information α (1) mn is set to 0 for all bits that are set to 1 in the parity check row at the time when the first row processing of Sum-Product decoding is started. It can be updated with a value other than.
また、[1]の1行目に注目すると、1が立っているビットのうち1つだけがパンクチャされている。すなわち、Sum-Product復号の1回目の行処理を開始する時点ではパンクチャビットの信頼性情報は得られておらず、初期値β(0) mnに0が設定されている。よって1行目の1回目の行処理では、パンクチャビット以外で1が立っているビットの信頼性情報α(1) mnは全て0となってしまう。ただし、信頼性情報が得られていないパンクチャビットはこの行で1つだけであるので、このパンクチャビットの信頼性情報α(1) mnは、0ではない他のビットの信頼性情報α(1) mnを用いて0以外の値で更新することができる。 When attention is paid to the first row of [1], only one of the bits in which 1 is set is punctured. That is, the reliability information of the puncture bit is not obtained at the time when the first row processing of Sum-Product decoding is started, and 0 is set to the initial value β (0) mn . Therefore, in the first row processing of the first row, the reliability information α (1) mn of the bits that are set to 1 other than the puncture bits are all 0. However, since the puncture bits reliability information is not obtained is only one in this line, the reliability information alpha (1) of the puncture bits mn is the other non-zero bits reliability information alpha (1 ) Can be updated with a value other than 0 using mn .
よって、[1]の行列全体では、全ての列について少なくとも1つ、0以外の値をとる信頼性情報α(1) mnを要素に含むことになるため、1回目の列処理を行うことで、全てのβ(1) mnを0以外の値で更新することができる。これにより、2回目の行処理では、1行目においても全てのビットについて信頼性情報α(1) mnを0以外の値で更新することができる。 Therefore, the entire matrix [1] includes at least one reliability information α (1) mn that takes a value other than 0 for all the columns, so that the first column processing is performed. , All β (1) mn can be updated with a value other than zero. As a result, in the second row processing, the reliability information α (1) mn can be updated with a value other than 0 for all bits even in the first row.
なお、図13Aにおいて、Jは、各行においてパンクチャパターンにより除去される要素数を示しており、4行目ではJ=0であり、パリティ検査行において1が立っている全てのビットについての信頼性情報α(1) mnを0以外の値で更新することができることを意味している。また、1行目ではJ=1であり、1行目の1回目の行処理で、信頼性情報が得られないパンクチャビットが、1行目で1つあることを意味する。 In FIG. 13A, J indicates the number of elements to be removed by the puncture pattern in each row, J = 0 in the fourth row, and reliability for all the bits that are set to 1 in the parity check row. Information α (1) means that mn can be updated with a value other than 0. In the first row, J = 1, which means that there is one puncture bit in the first row for which reliability information cannot be obtained in the first row processing of the first row.
これに対し、図13Bに示すように、パンクチャパターンZとして[2]を用いた場合には、各行において、パンクチャパターンにより除去される要素数Jが、J=1又はJ=2であり、図13Aに比し値が大きい。同様に、図13Cに示すように、パンクチャパターンZとして[3]を用いた場合にも、各行において、パンクチャパターンにより除去される要素数Jは、J=1又はJ=2であり、図13Aに比し値が大きい。 On the other hand, as shown in FIG. 13B, when [2] is used as the puncture pattern Z, the number J of elements removed by the puncture pattern in each row is J = 1 or J = 2. The value is larger than 13A. Similarly, as shown in FIG. 13C, even when [3] is used as the puncture pattern Z, the number J of elements removed by the puncture pattern in each row is J = 1 or J = 2. The value is larger than.
したがって、パンクチャパターンZとして[2]や[3]のパターンを用いた場合には、行列全体では、2回目の列処理を行うことで、全てのβ(2) mnを0以外の値で更新することができることになる。 Therefore, in the case of using the pattern of [2] and [3] as the puncturing pattern Z, throughout the matrix, by performing a second string processing, updating all β a (2) mn at a value other than 0 Will be able to.
このように、取り得る全てのパンクチャパターンの候補に対し、パリティ検査行列上の1がパンクチャされる数(要素数J)をカウントし、このカウント数が小さいパンクチャパターンを選択するようにすることで、各行のビットの信頼性情報を得るために必要なSum-Product復号の処理回数が最も小さいパンクチャパターンを選択することができる。上述した例では、[1]のパンクチャパターンが最適なパターンとなる。 In this way, for all possible puncture pattern candidates, the number (number of elements J) in which 1 on the parity check matrix is punctured is counted, and a puncture pattern with a small count number is selected. A puncture pattern with the smallest number of Sum-Product decoding processes required to obtain bit reliability information of each row can be selected. In the example described above, the puncture pattern [1] is the optimum pattern.
因みに、[1]のパンクチャパターンにおいて、J=0となっている行(4行目及び8行目)は、実施の形態1で説明した第2のパリティ検査行ベクトル(c2,j及びc2,j+3)に相当する。すなわち、第2のパリティ検査行ベクトルを追加したことにより、少ないSum-Product復号処理回数で全てのビットの信頼性情報を更新することを可能とする特性改善効果が得られる。 Incidentally, in the puncture pattern of [1], the rows where J = 0 (the fourth and eighth rows) are the second parity check row vectors (c 2, j and c) described in the first embodiment. 2, j + 3 ). That is, by adding the second parity check row vector, it is possible to obtain a characteristic improvement effect that makes it possible to update the reliability information of all bits with a small number of Sum-Product decoding processes.
つまり、第1のパリティ検査式と等価な検査式に基づく第2のパリティ検査式を追加することにより、他のビットの信頼性情報を用いることができるようになるので、符号化側で送信符号語をパンクチャした場合においても、パンクチャによる影響を分散することができ、特性改善効果を得ることができる。 That is, by adding a second parity check expression based on a check expression equivalent to the first parity check expression, it becomes possible to use reliability information of other bits, so that a transmission code is transmitted on the encoding side. Even when a word is punctured, the influence of the puncture can be dispersed, and a characteristic improvement effect can be obtained.
以上のようにして求めたパンクチャパターンを、パンクチャ部620のパンクチャパターンに用いることで、本実施の形態の受信装置700では、少ないSum-Product復号処理回数で高い復号特性を得られるようになる。
By using the puncture pattern obtained as described above as the puncture pattern of
以上のように、本実施の形態によれば、畳み込み符号化部610は、畳み込み符号を用いて誤り訂正符号化を施し送信符号語系列を取得し、パンクチャ部620は、復号側のBP復号で用いられるパリティ検査行列のパターンに基づいたパンクチャパターンを用いて、畳み込み符号化部610によって取得された送信符号語系列に対しパンクチャを施すようにした。
As described above, according to the present embodiment,
畳み込み符号の第1の検査多項式によって定義される第1の行要素と、第1の検査多項式と等価である畳み込み符号の第2の検査多項式によって定義される第2の行要素と、を用いて形成されるパリティ検査行列のパターンに基づいたパンクチャパターンを用いることで、復号側では、パンクチャによって消去されたビットの信頼性情報を他のビットの信頼性情報を用いて求めることができるようになり、少ないSum-Product復号処理回数で復号できる。また、第1のパリティ検査行において1が立っている任意のあるビットから、第2のパリティ検査行において1が立っている別のビットへと確率を伝播することができるようになるので、高い復号特性が得られるようになる。 Using a first row element defined by a first parity check polynomial of a convolutional code and a second row element defined by a second parity check polynomial of a convolutional code that is equivalent to the first parity check polynomial By using the puncture pattern based on the pattern of the parity check matrix to be formed, the decoding side can obtain the reliability information of the bits erased by the puncture using the reliability information of other bits. Decoding is possible with a small number of Sum-Product decoding processes. In addition, the probability can be propagated from any one bit having 1 in the first parity check row to another bit having 1 in the second parity check row. Decoding characteristics can be obtained.
また、パンクチャパターンを、パリティ検査行列上の「1」をできるだけ削除しないパターンから選択ようにすることで、BP復号時に必要な符号語の尤度を得るための繰り返し処理回数を最小限に抑えることができる。 In addition, by selecting a puncture pattern from patterns that do not delete “1” on the parity check matrix as much as possible, the number of iterations for obtaining the likelihood of a codeword required at the time of BP decoding is minimized. Can do.
なお、本実施の形態に係る送信装置600及び受信装置700が適用される通信システムにおいて、通信システムが複数のパンクチャパターンを備え、パンクチャパターンが切り替えられるような場合に、複数種類のパリティ検査行をパリティ検査行列に追加しておき、どのパンクチャパターンが用いられた場合でも、少なくとも1種類の行では、当該行において1が立っているビットのうちパンクチャビットとなるビットが1つ以下になるようなパターンをパンクチャパターンとすることで、どのパンクチャパターンを用いた場合においても、良好な復号特性が得られるようになる。
In the communication system to which transmitting
すなわち、全ての情報ビットについて、該情報ビットに1が立っている行の集合の中に、1が立っているビットであってパンクチャされているビットが高々1ビットである行が、少なくとも1行存在するようなパンクチャパターンであれば、良好な復号特性が得られる。 That is, for all information bits, in the set of rows where 1 is set in the information bits, at least one row where 1 is set and the number of punctured bits is 1 bit at most If the puncture pattern exists, good decoding characteristics can be obtained.
ここで、パリティ検査行列の作成に用いるパリティ検査多項式が、拘束長が長いものばかりであった場合、パンクチャド符号化を適用した際、検査行1行において、1が立っているビットが2つ以上パンクチャされてしまう可能性が高くなってしまう。よって、拘束長が長いパリティ検査多項式と、拘束長が短いパリティ検査多項式とを組み合わせて用いることが好適である。このようにすることで、拘束長が短いパリティ検査行を用いてパンクチャビットを含めた全ビットの信頼性情報を0以外の値で更新し、全ビットの信頼性情報が0以外の値となった以降は、拘束長が長いパリティ検査行によって高い符号化ゲインを得て良好な復号特性を得ることができる。 Here, if the parity check polynomial used to create the parity check matrix has only a long constraint length, when punctured coding is applied, two bits with 1 standing in one check row The possibility of being punctured becomes higher. Therefore, it is preferable to use a combination of a parity check polynomial having a long constraint length and a parity check polynomial having a short constraint length. In this way, the reliability information of all bits including puncture bits is updated with a value other than 0 using a parity check row with a short constraint length, and the reliability information of all bits becomes a value other than 0. Thereafter, a high coding gain can be obtained by a parity check row having a long constraint length, and good decoding characteristics can be obtained.
また、パンクチャブロック内でパンクチャによって消去されるビットは、1ビットに限らず、複数ビットパンクチャするようにしてもよい。 Further, the bits erased by the puncture in the puncture block are not limited to 1 bit, and a plurality of bits may be punctured.
本発明は、上記実施の形態に限定されず、種々変更して実施することが可能である。例えば、上記実施の形態では、送信装置又は受信装置として行う場合について説明しているが、これに限られるものではなく、この符号化方法又は復号化方法をソフトウェアとして行うことも可能である。 The present invention is not limited to the embodiment described above, and can be implemented with various modifications. For example, in the above embodiment, the case of performing as a transmission device or a reception device has been described. However, the present invention is not limited to this, and this encoding method or decoding method can also be performed as software.
本発明に係る復号化装置、符号化装置、復号化方法、及び、符号化方法は、畳み込み符号を適用した通信システムにおける復号化装置、符号化装置、復号化方法、及び、符号化方法として有用である。 The decoding device, the encoding device, the decoding method, and the encoding method according to the present invention are useful as a decoding device, an encoding device, a decoding method, and an encoding method in a communication system to which a convolutional code is applied. It is.
300,770 復号部
303 対数尤度比記憶部
305 行処理演算部
307 行処理後データ記憶部
309 列処理演算部
311 列処理後データ記憶部
313 制御部
315 対数尤度比演算部
317 判定部
319 検査行列記憶部
600 送信装置
610 畳み込み符号化部
620 パンクチャ部
630 インタリーブ部
640 変調部
650 無線送信部
660 制御情報生成部
670 送信アンテナ
700 受信装置
710 受信アンテナ
720 無線受信部
730 復調部
740 デインタリーブ部
750 デパンクチャ部
760 制御情報検出部
300,770
Claims (11)
畳み込み符号の第1の検査多項式によって定義される第1の行要素と、前記第1の検査多項式と等価である前記畳み込み符号の第2の検査多項式によって定義される第2の行要素と、を用いて形成されるパリティ検査行列を記憶する記憶手段と、
符号化側で前記畳み込み符号により生成された符号語系列に対し、前記パリティ検査行列を用いてBP復号を施す復号手段と、
を具備する復号化装置。 A decoding device that performs BP (Belief Propagation) decoding,
A first row element defined by a first check polynomial of a convolutional code; and a second row element defined by a second check polynomial of the convolutional code that is equivalent to the first check polynomial. Storage means for storing a parity check matrix formed by using;
Decoding means for performing BP decoding on the code word sequence generated by the convolutional code on the encoding side using the parity check matrix;
A decoding device comprising:
請求項1に記載の復号化装置。 If parity sequence length generated by the convolutional code of I N, the parity check matrix is configured with the first row element of I N rows, from said second row elements of a smaller number of rows than I N rows The decoding device according to claim 1.
請求項1に記載の復号化装置。 The decoding apparatus according to claim 1, wherein a constraint length of the first check polynomial is different from a constraint length of the second check polynomial.
前記間隔TAは、前記第1の検査多項式の拘束長より短い
請求項1に記載の復号化装置。 The second row elements on the parity check matrix are spaced apart by intervals T A from each other,
The interval T A is the decoding apparatus according to a short claim 1 than the constraint length of the first check polynomial.
前記間隔TAは、符号化側で用いられるパンクチャパターン長の整数分の1である
請求項1に記載の復号化装置。 The second row elements on the parity check matrix are spaced apart by intervals T A from each other,
The interval T A is the decoding apparatus according to claim 1 which is an integral fraction of the puncturing pattern length used on the encoding side.
畳み込み符号により符号語系列を生成する畳み込み符号化手段と、
復号側のBP復号で用いられるパリティ検査行列のパターンに基づいたパンクチャパターンを用いて、前記符号語系列に対しパンクチャを施すパンクチャ手段と、
を具備する符号化装置。 An encoding device that generates a codeword sequence decoded using BP (Belief Propagation) decoding on a decoding side,
Convolutional coding means for generating a codeword sequence by a convolutional code;
Puncturing means for puncturing the codeword sequence using a puncture pattern based on a parity check matrix pattern used in BP decoding on the decoding side;
An encoding device comprising:
請求項6に記載の符号化装置。 The parity check matrix is defined by a first row element defined by a first check polynomial of the convolutional code and a second check polynomial of the convolutional code equivalent to the first check polynomial. The encoding device according to claim 6, wherein the matrix is formed using two row elements.
請求項7に記載の符号化装置。 The encoding apparatus according to claim 7, wherein the second parity check polynomial includes an order included in the first parity check polynomial and an order included in the second parity check polynomial as little as possible.
請求項6に記載の符号化装置。 The encoding apparatus according to claim 6, wherein the puncture pattern is a pattern that does not delete as many bits as “1” on the parity check matrix.
畳み込み符号の第1の検査多項式によって定義される第1の行要素と、前記第1の検査多項式と等価である前記畳み込み符号の第2の検査多項式によって定義される第2の行要素と、を用いて形成されるパリティ検査行列を用いて、符号化側で前記畳み込み符号により生成された符号語系列に対し、BP復号を施す復号化方法。 A decoding method for performing BP (Belief Propagation) decoding,
A first row element defined by a first check polynomial of a convolutional code; and a second row element defined by a second check polynomial of the convolutional code that is equivalent to the first check polynomial. The decoding method which performs BP decoding with respect to the codeword sequence produced | generated by the said convolutional code by the encoding side using the parity check matrix formed by using.
畳み込み符号により符号語系列を生成し、
復号側のBP復号で用いられるパリティ検査行列のパターンに基づいたパンクチャパターンを用いてパンクチャを施す符号化方法。
A coding method for generating a codeword sequence decoded using BP (Belief Propagation decoding) on the decoding side,
A codeword sequence is generated by a convolutional code,
An encoding method for performing puncturing using a puncture pattern based on a parity check matrix pattern used in BP decoding on the decoding side.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007292245A JP2009118418A (en) | 2007-11-09 | 2007-11-09 | Decoder, encoder, decoding method, and encoding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007292245A JP2009118418A (en) | 2007-11-09 | 2007-11-09 | Decoder, encoder, decoding method, and encoding method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009118418A true JP2009118418A (en) | 2009-05-28 |
Family
ID=40785002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007292245A Pending JP2009118418A (en) | 2007-11-09 | 2007-11-09 | Decoder, encoder, decoding method, and encoding method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009118418A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111565051A (en) * | 2020-04-10 | 2020-08-21 | 北京邮电大学 | Self-learning normalized bias minimum sum decoding method for LDPC code |
-
2007
- 2007-11-09 JP JP2007292245A patent/JP2009118418A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111565051A (en) * | 2020-04-10 | 2020-08-21 | 北京邮电大学 | Self-learning normalized bias minimum sum decoding method for LDPC code |
CN111565051B (en) * | 2020-04-10 | 2022-11-25 | 北京邮电大学 | Self-learning normalized bias minimum sum decoding method for LDPC code |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10819370B2 (en) | Transmission apparatus, transmission method, reception apparatus and reception method | |
JP4823176B2 (en) | Decoding method and decoding apparatus | |
Mitchell et al. | Spatially coupled LDPC codes constructed from protographs | |
EP2381582B1 (en) | Method and apparatus for channel encoding in a communication system using low-density parity-check codes | |
JP6437682B2 (en) | Modulation signal decoding method and modulation signal decoding apparatus | |
JP5789014B2 (en) | Encoding method, encoder, decoder | |
JP2009246927A (en) | Encoding method, encoder, and decoder | |
JP2009118418A (en) | Decoder, encoder, decoding method, and encoding method | |
JP5171997B2 (en) | Decoding method and decoding apparatus | |
JP2009177649A (en) | Encoding method, encoder, and decoder |