JP2009118418A - Decoder, encoder, decoding method, and encoding method - Google Patents

Decoder, encoder, decoding method, and encoding method Download PDF

Info

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
Application number
JP2007292245A
Other languages
Japanese (ja)
Inventor
Shozo Okasaka
昌蔵 岡坂
Yutaka Murakami
豊 村上
Shuta Okamura
周太 岡村
Takaaki Kishigami
高明 岸上
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
Original Assignee
Panasonic Corp
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 filed Critical Panasonic Corp
Priority to JP2007292245A priority Critical patent/JP2009118418A/en
Publication of JP2009118418A publication Critical patent/JP2009118418A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a decoder for convolutional coding for acquiring good decoded characteristics, an encoder, a decoding method, and an encoding method. <P>SOLUTION: A decoder 300 performs sum-product decoding operation over a codeword series generated by convolutional coding at an encoding side using an expanded parity check matrix generated by using a first parity check row element defined by a first parity check polynomial of convoltional coding and a second parity check row element defined by a second parity check polynomial of convolutional coding equivalent to the first check polynomial. <P>COPYRIGHT: (C)2009,JPO&INPIT

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 Documents 3 and 4). The Sum-Product algorithm is also called a BP (Belief-Propagation) algorithm.

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)。
J. G. Proakis, "Digital Communications, 4th Edition," McGraw-Hill New York, 2001 P. Robertson, E. Villebrun, P. Hoeher, “A comparison of optimal and sub-optimal MAP decoding algorithmsoperating in the log domain,” Communications, 1995. ICC 95 Seattle R.J. McEliece, D.J.C. MacKay, J.F. Cheng, “Turbo Decoding as an Instance of Pearl’s “Belief Propagation” Algorithm, ” Selected Areas in Communications, IEEE Journal on, 1998 G. Colavolpe, “Design and performance of turbo Gallager codes,” Communications, IEEE Transactions on, 2004 R. D. Gallager, “Low-Density Parity-Check Codes," Cambridge, MA: MIT Press, 1963. M. P. C. Fossorier, M. Mihaljevic, and H. Imai, “Reduced complexity iterative decoding of low density parity check codes based on belief propagation," IEEE Trans. Commun., vol.47., no.5, pp.673-680, May 1999. J. Chen, A. Dholakia, E. Eleftheriou, M. P. C. Fossorier, and X.-Yu Hu, “Reduced-complexity decoding of LDPC codes," IEEE Trans. Commun., vol.53., no.8, pp.1288-1299, Aug. 2005. 小川裕一、“ターボ符号のSum-Product復号”、長岡技術科学大学修士論文, 2007.
Based on Sum-Product decoding, min-sum decoding, offset BP decoding, Normalized BP decoding, shuffled BP decoding, and the like have been studied as methods for reducing the amount of calculation and improving decoding characteristics by devising approximations and calculation procedures. (Non-Patent Documents 5 to 7).
JG Proakis, "Digital Communications, 4th Edition," McGraw-Hill New York, 2001 P. Robertson, E. Villebrun, P. Hoeher, “A comparison of optimal and sub-optimal MAP decoding algorithms operating in the log domain,” Communications, 1995. ICC 95 Seattle RJ McEliece, DJC MacKay, JF Cheng, “Turbo Decoding as an Instance of Pearl's“ Belief Propagation ”Algorithm,” Selected Areas in Communications, IEEE Journal on, 1998 G. Colavolpe, “Design and performance of turbo Gallager codes,” Communications, IEEE Transactions on, 2004 RD Gallager, “Low-Density Parity-Check Codes,” Cambridge, MA: MIT Press, 1963. MPC Fossorier, M. Mihaljevic, and H. Imai, “Reduced complexity iterative decoding of low density parity check codes based on belief propagation,” IEEE Trans. Commun., Vol.47., No.5, pp.673-680, May 1999. J. Chen, A. Dholakia, E. Eleftheriou, MPC Fossorier, and X.-Yu Hu, “Reduced-complexity decoding of LDPC codes,” IEEE Trans. Commun., Vol.53., No.8, pp.1288 -1299, Aug. 2005. Yuichi Ogawa, “Sum-Product decoding of turbo codes”, Master's thesis, Nagaoka University of Technology, 2007.

しかしながら、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は、データ入力xに対し、データ出力とパリティ出力として、x及びpを出力する。
(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 encoder 100 includes shift registers 110-1 and 110-2 and exclusive OR (mod 2 addition) 120-1 to 120-3. As shown in FIG. 1, a (7, 5) 8 convolutional code encoder 100 outputs x i and p i as a data output and a parity output for a data input x i .

図1の符号化器100は、式(1)の生成多項式表現を用いて表現することができる。

Figure 2009118418
The encoder 100 of FIG. 1 can be expressed using the generator polynomial expression of Equation (1).
Figure 2009118418

式(1)において、G(D)は、フィードフォワード多項式、G(D)は、フィードバック多項式を表している。情報系列(データ系列)の多項式表現をX(D)、パリティ系列の多項式表現をP(D)とすると、パリティ検査多項式は、式(2)で表される。

Figure 2009118418
In Expression (1), G 1 (D) represents a feedforward polynomial, and G 0 (D) represents a feedback polynomial. When the polynomial expression of the information sequence (data sequence) is X (D) and the polynomial expression of the parity sequence is P (D), the parity check polynomial is expressed by Expression (2).
Figure 2009118418

図1の符号化器100では、G(D)=D+1,G(D)=D+D+1であるので、式(1),式(2)は、それぞれ、式(3),式(4)となる。なお、D(m=1,2,…,L、L:任意)は、遅延演算子である。

Figure 2009118418
Figure 2009118418
In the encoder 100 of FIG. 1, since G 1 (D) = D 2 +1 and G 0 (D) = D 2 + D + 1, the expressions (1) and (2) are expressed by the expressions (3) and (3), respectively. Equation (4) is obtained. Note that D m (m = 1, 2,..., L, L: arbitrary) is a delay operator.
Figure 2009118418
Figure 2009118418

ここで、時点iの情報ビットをxと表し、パリティビットをpと表し、送信系列w=(x,p)とすると、式(4)のパリティ検査多項式からx,pは、式(5)を満たす。

Figure 2009118418
Here, when the information bit at the time point i is expressed as x i , the parity bit is expressed as p i, and the transmission sequence w i = (x i , p i ), x i , p is obtained from the parity check polynomial of Equation (4). i satisfies Expression (5).
Figure 2009118418

ここで、送信符号語ベクトルwを、w=(x,p,x,p,…,x,p,…,x,p)と定義する。ただし1≦i≦I(I:情報系列長)である。このとき、式(4)のパリティ検査多項式に基づく標準的な(従来の)パリティ検査行列Hは、式(5)の関係を用いて、図2に示すように表すことができる。このパリティ検査行列Hについて、関係式(6)が成立する。

Figure 2009118418
Here, the transmission codeword vector w is defined as w = (x 1 , p 1 , x 2 , p 2 ,..., X i , p i ,..., X I , p I ). However, 1 ≦ i ≦ I N (I N : information sequence length). At this time, a standard (conventional) parity check matrix H based on the parity check polynomial of Equation (4) can be expressed as shown in FIG. 2 using the relationship of Equation (5). For this parity check matrix H, relational expression (6) is established.
Figure 2009118418

式(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,i=0は、時点iを基準として式(4)のパリティ検査多項式と等価である。このように、図2のパリティ検査行列の要素は、時点iに対応する1つのパリティ検査行ベクトルc1,iをi行目の行要素として、この行要素が1行目からI行目まで配置された構成となっている。 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)で表されたとする。

Figure 2009118418
ここで、gx,m及びgp,mは、パリティ検査行ベクトルの要素であり、1又は0である。一般式(7)に対応するパリティ検査行列を図3に示す。 It is assumed that the parity check polynomial is expressed by the general formula (7).
Figure 2009118418
Here, g x, m and g p, m are elements of the parity check row vector and are 1 or 0. A parity check matrix corresponding to the general formula (7) is shown in FIG.

図2に示すパリティ検査行列では、c1,iの要素のうち、(xi−2,pi−2,xi−1,pi−1,x,p)に対応する領域210の範囲に、0又は1の要素が立っており、領域210以外の要素は、全て0となっている。領域210の6つの要素は、左から順にxi−2,pi−2,xi−1,pi−1,x,pに対応し、そのうち、xi−2,x及びpi−2,pi−1,pに対応する要素に1が立っており、式(4)の各項に対応している。 In the parity check matrix shown in FIG. 2, among the elements of c 1 and i , an area 210 corresponding to (x i−2 , p i−2 , x i−1 , p i−1 , x i , p i ). In the range of 0, 1 or 0 stands, and all elements other than the area 210 are 0. The six elements of the area 210 correspond to x i−2 , p i−2 , x i−1 , p i−1 , x i , and p i sequentially from the left, of which x i−2 , x i and 1 stands for the elements corresponding to p i−2 , p i−1 , and p i, and corresponds to each term of the equation (4).

検査行列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 area 210 shown in FIG. 2 is arranged in a parallelogram on the diagonal of the check matrix H. Has been.

(復号化方法)
復号部では、図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)を次式のように定義する。

Figure 2009118418
Figure 2009118418
なお、A(m)は検査行列Hのm行目において“1”である列インデックスの集合を意味し、B(n)は検査行列Hのn行目において“1”である行インデックスの集合を意味する。 In the following description, a binary (M × N) matrix H = {H mn } is a parity check matrix to be decoded. Subsets A (m) and B (n) of the set [1, N] = {1, 2,..., N} are defined as follows:
Figure 2009118418
Figure 2009118418
A (m) means a set of column indexes that are “1” in the m-th row of the check matrix H, and B (n) is a set of row indexes that are “1” in the n-th row of the check matrix H. Means.

・Step A・1(初期化):
mn=1を満たす全ての組(m,n)に対して、事前値対数比β(0) mn=λと設定する。λは、ビット毎の対数尤度である。また、ループ変数(反復回数)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は、反復回数である。

Figure 2009118418
Figure 2009118418
Figure 2009118418
なお、f(x)はGallagerのf関数である。 Step A.2 (line processing):
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.
Figure 2009118418
Figure 2009118418
Figure 2009118418
Note that f (x) is Gallager's f function.

・Step A・3(列処理):
n=1,2,・・・,Nの順にHmn=1を満たす全ての組(m,n)に対して、次の更新式を用いて外部値対数比β(i) mnを更新する。

Figure 2009118418
Step A.3 (column processing):
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 ,. .
Figure 2009118418

・Step A・4(対数尤度比の計算):
n∈[1,N]について、対数尤度比L(i) を次式のように求める。

Figure 2009118418
Step A · 4 (calculation of log likelihood ratio):
For n∈ [1, N], the log likelihood ratio L (i) n is obtained as the following equation.
Figure 2009118418

・Step A・5(反復回数のカウント):
もしlsum<lsum,maxならばlsumをインクリメントして、step A・2に戻る。一方、lsum=lsum,maxの場合、式(15)に示すように、符号語wを推定し、Sum-Product復号を終了する。

Figure 2009118418
・ Step A ・ 5 (Counting the number of iterations):
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.
Figure 2009118418

図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 decoding unit 300 of FIG. 4, the log likelihood ratio storage unit 303 receives the log likelihood ratio signal 301 and the timing signal 302 and stores the log likelihood ratio of the data section based on the timing signal 302. Then, the log likelihood ratio storage unit 303 outputs the stored log likelihood ratio as a signal 304 to the row processing calculation unit 305.

行処理演算部305は、対数尤度比信号304、列処理後の信号312を入力とし、検査行列Hに「1」が存在する位置において、上述のStep A・2(行処理)の演算を行う。復号部は反復復号を行っているので、行処理演算部305は、1回目の復号時には、対数尤度比信号304を用いて行処理を行い(上述のStep A・1の処理に相当する)、2回目の復号時には、列処理後の信号312を用いて行処理を行う。そして、行処理演算部305は、行処理後の信号306を行処理後データ記憶部307に出力する。   The row processing calculation unit 305 receives the log likelihood ratio signal 304 and the column-processed signal 312 as input, and performs the above-described calculation of Step A · 2 (row processing) at a position where “1” exists in the check matrix H. Do. Since the decoding unit performs iterative decoding, the row processing calculation unit 305 performs row processing using the log likelihood ratio signal 304 at the time of the first decoding (corresponding to the processing of Step A · 1 described above). In the second decoding, row processing is performed using the signal 312 after column processing. Then, the row processing calculation unit 305 outputs the signal 306 after the row processing to the post-row processing data storage unit 307.

行処理後データ記憶部307は、行処理後の信号306を入力とし、すべての行処理後の値(信号)を記憶する。そして、行処理後データ記憶部307は、行処理後の信号308を列処理演算部309及び対数尤度比演算部315に出力する。   The post-row processing data storage unit 307 receives the post-row processing signal 306 and stores all post-row processing values (signals). Then, the post-row processing data storage unit 307 outputs the post-row processing signal 308 to the column processing computation unit 309 and the log likelihood ratio computation unit 315.

列処理演算部309は、行処理後の信号308及び制御信号314を入力とし、制御信号314から最後の反復演算でないことを確認し、検査行列Hに「1」が存在する位置において、上述のStep A・3(列処理)の演算を行う。そして、列処理演算部309は、列処理後の信号310を列処理後データ記憶部311に出力する。   The column processing operation unit 309 receives the signal 308 and the control signal 314 after row processing as input, confirms from the control signal 314 that it is not the last iterative operation, and at the position where “1” exists in the check matrix H, Step A · 3 (column processing) is calculated. Then, the column processing operation unit 309 outputs the column-processed signal 310 to the column-processed data storage unit 311.

列処理後データ記憶部311は、列処理後の信号310を入力とし、すべての列処理後の値(信号)を記憶する。そして、列処理後データ記憶部311は、列処理後の信号312を行処理演算部305に出力する。   The post-column processing data storage unit 311 receives the post-column processing signal 310 and stores all post-column processing values (signals). Then, the post-column processing data storage unit 311 outputs the post-column processing signal 312 to the row processing calculation unit 305.

制御部313は、タイミング信号302を入力とし、反復回数をカウントし、反復回数を制御信号314として列処理演算部309及び対数尤度比演算部315に出力する。   The control unit 313 receives the timing signal 302, counts the number of iterations, and outputs the number of iterations to the column processing computation unit 309 and the log likelihood ratio computation unit 315 as the control signal 314.

対数尤度比演算部315は、行処理後の信号308、制御信号314を入力とし、制御信号314に基づいて最後の反復演算であると判断した場合、検査行列Hに「1」が存在する位置に対して、Step A・4(対数尤度比の計算)の演算を施し、対数尤度比信号316を得る。そして、対数尤度比演算部315は、対数尤度比信号316を判定部317に出力する。   The log likelihood ratio calculation unit 315 receives the row-processed signal 308 and the control signal 314 as input, and determines that the last iterative calculation is based on the control signal 314, the check matrix H has “1”. Step A · 4 (calculation of log likelihood ratio) is performed on the position to obtain a log likelihood ratio signal 316. Then, the log likelihood ratio calculation unit 315 outputs the log likelihood ratio signal 316 to the determination unit 317.

判定部317は、対数尤度比信号316を入力とし、符号語を推定し、推定ビット318を出力する。   Determination section 317 receives log likelihood ratio signal 316 as input, estimates a codeword, and outputs estimated bit 318.

検査行列記憶部319は、Sum-Product復号に用いるパリティ検査行列を格納しており、検査行列Hに「1」が存在する位置を行処理演算部305及び列処理演算部309に出力する。   The check matrix storage unit 319 stores a parity check matrix used for Sum-Product decoding, and outputs a position where “1” exists in the check matrix H to the row processing calculation unit 305 and the column processing calculation unit 309.

以上、標準的な(従来の)畳み込み符号のパリティ検査行列と、パリティ検査行列を用いた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 “loop 4”, “4-loop”, “FC (Four Cycle)”). It is known.

基準<2>:
パリティ検査多項式の拘束長νが大きい検査多項式と小さい検査多項式とを組み合わせて選択する。なお、パリティ検査多項式が式(16)で与えられたとき、パリティ検査多項式の拘束長νは、式(17)で表される。

Figure 2009118418
Figure 2009118418
Criteria <2>:
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).
Figure 2009118418
Figure 2009118418

基準<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)などの検査多項式がある。

Figure 2009118418
Figure 2009118418
これらはいずれも式(1)の生成多項式によって定義される符号のパリティ検査多項式(4)と等価となっている。 Example of Step B · 1 By modifying the base parity check polynomial (4), another parity check polynomial equivalent to the generator polynomial (1) is created. As another parity check polynomial equivalent to equation (4), there are parity check polynomials such as equations (18) and (19).
Figure 2009118418
Figure 2009118418
These are all equivalent to the parity check polynomial (4) of the code defined by the generator polynomial of equation (1).

・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からp,xに対応する領域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 area 410 corresponding to p i , x i from p i-4 , x i-4. All other elements are 0.

第1のパリティ検査多項式を用いて、取り得る時点iの範囲(1≦i≦I)に対応して計I行のパリティ検査行列を作成することができる。なお、第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 time 2. Further, as another example of the parity check matrix of the present embodiment, a parity check matrix expanded by adding the third parity check row c3 , j based on Equation (19) to the parity check matrix of FIG. As shown in FIG. In this manner, the parity check matrix can be extended using a parity check row based on a plurality of parity check polynomials.

以下、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のタナーグラフのうち、変数ノードxに注目する。変数ノードxにはチェックノードc1,i,c1,i+2が接続されている。よって、Sum-Product復号の1回の処理では、チェックノードc1,i,c1,i+2を介して接続されている変数ノードの組{pi−2,xi−2,pi−1,p,x},{p,x,pi+1,pi+2,xi+2}の持つ信頼性情報が、変数ノードxへと伝播する。 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のタナーグラフでは、変数ノードxに新たなチェックノードc2,iが接続されている。チェックノードc2,iは、図5のパリティ検査行列に追加されたパリティ検査行ベクトルc2,iに対応するものである。チェックノードc2,iは、変数ノードの組{pi−4,xi−4,pi−3,pi−1,p,x}と接続されており、c1,i,c1,i+2とは異なるビットの組み合わせから信頼性情報を変数ノードxへと伝播できることがわかる。 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復号で変数ノードxへと伝搬される信頼性情報の要素数を増やすことができる。新たに追加されたチェックノードの信頼性情報は、従来からのチェックノードとは異なる変数ノードの組から伝搬された信頼性情報であるので、このように、第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≦I)に対応して、計I行の第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≦I)で追加することにより、1回のSum-Product復号で変数ノードxへと伝搬される信頼性情報の要素数が増え、符号化ゲインを得ることができる。したがって、第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 processing calculation unit 305 and the column processing calculation unit 309 of the decoding unit 300, and increases the size of the memory required for the post-row processing data storage unit 307. However, the increase in the calculation amount and memory size is only proportional to the number of rows to be added, and the increase in the calculation amount of Sum-Product decoding can be performed in parallel, which hinders the speeding up of decoding. It will not be.

しかし、パリティ検査行列の行数を増やすことにより、Sum-Product復号の復号特性を劣化させる要因となる長さ4のループが形成されやすくなってしまう。そのため、第2のパリティ検査行の数を多くすることにより、復号特性が必ずしも改善される訳でなく、追加する第2のパリティ検査行の数が所定数を超えると、第2のパリティ検査行をさらに追加しても、復号特性の改善は相対的に小さくなってしまう。したがって、各時点ごとに第2のパリティ検査行を追加して、I行の第2のパリティ検査行ベクトルを追加しても、必ずしも復号特性が改善されない場合がある。 However, increasing the number of rows of the parity check matrix makes it easy to form a loop of length 4 that causes degradation of the decoding characteristics of Sum-Product decoding. Therefore, increasing the number of second parity check rows does not necessarily improve the decoding characteristics. If the number of second parity check rows to be added exceeds a predetermined number, the second parity check rows Even if more are added, the improvement of the decoding characteristics becomes relatively small. Therefore, adding a second parity check row for each time point and adding a second parity check row vector of I N rows may not necessarily improve the decoding characteristics.

そこで、以下では、第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のパリティ検査行が、一定の間隔T、時点Tおきに追加された例である。なお、T=1とすれば、全ての時刻iについて第2のパリティ検査行が追加されることとなる。図8のパリティ検査行列では、時刻iに対してp,xの2列が対応するので、第2のパリティ検査行はパリティ検査多項式(18)に対応する領域410を2T列ずつずらして平行四辺形に配置した形になっている。このように一定の間隔Tごとにパリティ検査行を追加する場合、任意の符号長に対するパリティ検査行列の設計が容易となる。また、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 row shifting region 410 corresponding to the parity check polynomial (18) by 2T A column Are arranged in a parallelogram. When adding this way a parity check row for each predetermined interval T A, it is easy to design a parity check matrix for an arbitrary code length. In addition, since the parallelogram-like arrangement of the elements on which 1 stands is not changed in the middle of the code word, it is easy to apply the contrivances of the calculation methods shown in Non-Patent Documents 5 to 7 and the like.

次に、第2のパリティ検査行を追加する時点の間隔Tの決定方法について説明する。間隔Tは、以下の基準に従って決定すると良い。 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のパリティ検査多項式の拘束長をvとすると、T≦vとなるようにする。このようにすることで、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 Av 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 length 4 loop causes degradation of decoding characteristics in Sum-Product decoding, the smaller the number of loops of length 4 included in the parity check matrix to which the second parity check row is added, the more the decoding characteristics. Deterioration can be suppressed.

基準《3》:符号語にパンクチャド符号化を適用する場合は、間隔Tがパンクチャパターンの長さの整数分の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 decoding unit 300 shown in FIG. By replacing the parity check matrix stored in the check matrix storage unit 319 with the parity check matrix described in this embodiment, a decoding unit with good decoding characteristics can be configured.

以上のように、本実施の形態によれば、畳み込み符号の第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 Non-Patent Documents 5 to 7, for example. The same applies to the embodiments described below.

(実施の形態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 Embodiment 1 for a radio reception apparatus in a radio communication system to which a punctured convolutional code is applied will be described.

図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 convolutional coding unit 610, a puncturing unit 620, an interleaving unit 630, a modulating unit 640, a control information generating unit 660, a wireless transmitting unit 650, and a transmitting antenna 670. Note that the punctured encoder according to the present embodiment includes a convolutional encoding unit 610 and a puncturing unit 620.

畳み込み符号化部610は、送信情報系列に対し畳み込み符号化処理を行い、得られた送信符号語系列をパンクチャ部620に出力する。   The convolutional coding unit 610 performs a convolutional coding process on the transmission information sequence, and outputs the obtained transmission codeword sequence to the puncturing unit 620.

パンクチャ部620は、送信符号語系列から所定のパンクチャパターンに従ってビットのパンクチャ(ビットの消去)を行い、パンクチャ後の送信符号語系列をインタリーブ部630に出力する。なお、パンクチャパターンについては後述する。   Puncturing section 620 performs bit puncturing (bit erasure) from the transmission codeword sequence according to a predetermined puncture pattern, and outputs the punctured transmission codeword sequence to interleaving section 630. The puncture pattern will be described later.

インタリーブ部630は、パンクチャ後の送信符号語系列に対して、系列の順序の並び替え処理(インタリーブ)を行い、インタリーブ後の送信符号語系列を変調部640に出力する。   Interleaving section 630 performs sequence order rearrangement processing (interleaving) on the punctured transmission codeword sequence, and outputs the interleaved transmission codeword sequence to modulation section 640.

変調部640は、インタリーブ後の送信符号語系列を、PSK(Phase Shift Keying),QAM(Quadrature Amplitude Modulation)などの変調方式で変調し、送信変調シンボル系列を無線送信部650に出力する。   Modulation section 640 modulates the interleaved transmission codeword sequence with a modulation scheme such as PSK (Phase Shift Keying) or QAM (Quadrature Amplitude Modulation), and outputs the transmission modulation symbol sequence to radio transmission section 650.

制御情報生成部660は、送信装置と受信装置との間で信号を受信するために必要な制御情報を生成し、変調部640に出力する。制御情報には、パンクチャ部620で用いたパンクチャパターンを示す情報が含まれる。その他の制御情報の例として、変調方式や送信情報系列長、時間・周波数同期のためのプリアンブル信号などがある。   The control information generation unit 660 generates control information necessary for receiving a signal between the transmission device and the reception device, and outputs the control information to the modulation unit 640. The control information includes information indicating the puncture pattern used in the puncture unit 620. Examples of other control information include modulation scheme, transmission information sequence length, preamble signal for time / frequency synchronization, and the like.

無線送信部650は、送信変調シンボル系列に対して、D/A(Digital to Analog)変換、周波数変換、RF(Radio Frequency)フィルタ処理などの無線変調処理を行い、送信RF信号を生成する。   Radio transmission section 650 performs radio modulation processing such as D / A (Digital to Analog) conversion, frequency conversion, and RF (Radio Frequency) filter processing on the transmission modulation symbol sequence to generate a transmission RF signal.

送信アンテナ670は、送信RF信号を送信する。   The transmission antenna 670 transmits a transmission RF signal.

図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 apparatus 700 includes a receiving antenna 710, a radio receiving unit 720, a demodulating unit 730, a deinterleaving unit 740, a depuncturing unit 750, a control information detecting unit 760, and a decoding unit 770.

受信アンテナ710は、送信装置600から送信された送信RF信号を受信し、無線受信部720に出力する。   The reception antenna 710 receives the transmission RF signal transmitted from the transmission device 600 and outputs it to the wireless reception unit 720.

無線受信部720は、RFフィルタ処理、周波数変換、A/D(Analog to Digital)変換などの無線復調処理を行う。その後、Iチャネル、Qチャネルそれぞれの受信ベースバンド信号を検出する。無線受信部720は、受信ベースバンド信号を復調部730に出力する。   The radio reception unit 720 performs radio demodulation processing such as RF filter processing, frequency conversion, and A / D (Analog to Digital) conversion. Thereafter, the received baseband signals of the I channel and the Q channel are detected. Radio reception section 720 outputs the received baseband signal to demodulation section 730.

また、無線受信部720は、ベースバンド信号に含まれる既知信号を利用して、送信装置600と受信装置700との間の無線伝搬路におけるチャネル変動を推定する。無線受信部720は、推定したチャネル変動を制御情報検出部760に出力する。   In addition, the wireless reception unit 720 estimates channel fluctuation in the wireless propagation path between the transmission device 600 and the reception device 700 using a known signal included in the baseband signal. Radio receiving section 720 outputs the estimated channel fluctuation to control information detecting section 760.

復調部730は、ベースバンド信号から、送信されたインタリーブ後の各符号語ビットの対数尤度比を求め、求めた対数尤度比をデインタリーブ部740に出力する。   Demodulation section 730 obtains the log likelihood ratio of each transmitted codeword bit from the baseband signal and outputs the obtained log likelihood ratio to deinterleave section 740.

デインタリーブ部740は、対数尤度比の系列の順序を、送信装置600でのインタリーブ部630で行った並び替え処理の逆の処理を用いて並び替える。デインタリーブ部740は、デインタリーブ後の受信対数尤度比系列をデパンクチャ部750に出力する。   The deinterleaving unit 740 rearranges the order of the log likelihood ratio sequence using a process reverse to the rearrangement process performed by the interleaving unit 630 in the transmission apparatus 600. Deinterleaving section 740 outputs the received log likelihood ratio sequence after deinterleaving to depuncturing section 750.

デパンクチャ部750は、送信装置600のパンクチャ部620でパンクチャされたビットの対数尤度比を0として、パンクチャ部620の動作と逆に受信対数尤度比系列に追加する。デパンクチャ部750は、デパンクチャされた受信対数尤度比系列を復号部770に出力する。   Depuncturing section 750 sets the log likelihood ratio of the bits punctured by puncturing section 620 of transmitting apparatus 600 to 0 and adds it to the received log likelihood ratio sequence in reverse to the operation of puncturing section 620. Depuncturing section 750 outputs the depunctured received log likelihood ratio sequence to decoding section 770.

復号部770は、デパンクチャされた受信対数尤度比系列に対して、実施の形態1と同様に、図3に示すような拡張されたパリティ検査行列を用いてSum-Product復号を行い、復号結果の硬判定値を復号部770の符号結果として出力する。   The decoding unit 770 performs Sum-Product decoding on the depunctured received log likelihood ratio sequence using the extended parity check matrix as shown in FIG. Is output as a code result of the decoding unit 770.

(パンクチャパターンの設計方法)
次に、パンクチャ方法について、図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 Embodiment 1 is used for decoding will be described.

図11に、パンクチャ部620におけるパンクチャ処理の例を示す。本実施の形態では、一定の長さのブロック(以下「パンクチャブロック」という)単位でパンクチャによって消去するビットの配置パターン(パンクチャパターン)を定義する。なお、パンクチャパターンは、送信装置600と受信装置700との間の通信で使用する符号化率の数だけ用意する必要がある。図11には、パンクチャパターンZをZ=(1,0,1,0,1,1)と定義した際のパンクチャの様子を示している。図11のパンクチャパターンZのブロックの長さLは、L=3であり、パンクチャ部620は、パンクチャパターンZのブロック内の0に相当する位置のビットを消去する。 FIG. 11 shows an example of puncturing processing in the puncturing unit 620. In the present embodiment, a bit arrangement pattern (puncture pattern) to be erased by puncturing is defined in units of a block having a certain length (hereinafter referred to as “puncture block”). Note that it is necessary to prepare as many puncture patterns as the number of coding rates used in communication between the transmission device 600 and the reception device 700. FIG. 11 shows a state of puncturing when the puncturing pattern Z is defined as Z = (1, 0, 1, 0, 1, 1). The block length L p of the puncture pattern Z in FIG. 11 is L p = 3, and the puncture unit 620 erases the bit at the position corresponding to 0 in the block of the puncture pattern Z.

本実施の形態では、復号部770において用いられるパリティ検査行列に基づいて、パンクチャパターンを設計する。以下、パンクチャパターンの設計手順について説明する。   In the present embodiment, a puncture pattern is designed based on the parity check matrix used in decoding section 770. A procedure for designing a puncture pattern will be described below.

・Step C・1:
パンクチャパターンの長さ(「パンクチャブロックの長さ」ともいう)Lを決定する。パンクチャパターンの長さLは、パリティ検査行列の生成に用いた第1のパリティ検査多項式の拘束長vの整数倍とする。パンクチャパターンの長さLが短いほど、パンクチャ部・デパンクチャ部の構成が簡易で済む。そのため、サポートする必要のある符号化率のうち、最大の符号化率を満たすパンクチャパターンの長さの中で、最も小さい長さを、パンクチャブロックの長さLとする。
・ 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のパリティ検査行ベクトルは、間隔T=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のパリティ検査多項式の拘束長vは、v=3である。そこで、パンクチャパターンの長さLを、L=3とする。図12のパリティ検査行列の列をパンクチャブロック単位で区切り、区切られた領域に注目すると、パンクチャブロックごとに同じ形の領域810,820,830が行シフトした形で並んでいることがわかる。このとき、行シフト数は、パンクチャパターンの長さLとした場合に、パンクチャパターンの長さLに対応した検査行数に等しい。図12に示す例では、行シフト数は、時点(i−2)から時点iまでの第1のパリティ検査行ベクトルc1,i−2,c1,i−1,c1,iの3行と、第2のパリティ検査行ベクトルc2,jの1行の合計4行となる。時点(i−2)から時点iまでの間隔が、パンクチャパターンLに一致する。 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 areas 810, 820, and 830 having the same shape are arranged in a row-shifted manner for each puncture block. In this case, the line shift number is, when the length L p of the puncture pattern, equal to the number of inspection lines corresponding to the length L p of the puncture pattern. In the example shown in FIG. 12, the number of row shifts is 3 of the first parity check row vectors c 1, i-2 , c 1, i-1 , c 1, i from time (i-2) to time i. There are a total of four rows, one row of the row and the second parity check row vector c2 , j . Interval from time (i-2) to time i matches the puncturing pattern L p.

図12に示すように、パリティ検査行列において、同じ形の領域810,820,830が行シフトした形で並んでいるのは、第2のパリティ検査行ベクトルを追加する時点の間隔Tが、パンクチャパターンの長さLの整数分の1(1/1)となっているからである。ところで、パンクチャパターンの長さLは、第1のパリティ検査多項式の拘束長vの整数倍とするので、同じ形の領域810,820,830が行シフトした形で並ぶのは、第2のパリティ検査行ベクトルを追加する時点の間隔Tが、第1のパリティ検査多項式の拘束長vの整数分の1となっていることによる。 As shown in FIG. 12, in the parity check matrix, the area of the same shape 810, 820, and 830 are arranged in a form shifted row spacing T A at which to add the second parity check row vector, since it has become 1 (1/1) integral fraction of the length L p of the puncture pattern. By the way, since the length L p of the puncture pattern is an integral multiple of the constraint length v 1 of the first parity check polynomial, the regions 810, 820, and 830 having the same shape are arranged in a row-shifted form. due to the fact that the interval T a at which to add a parity check row vector has a integral submultiple of the constraint length v 1 of the first parity check polynomial.

このように、パリティ検査行列の設計においては、第2のパリティ検査行ベクトルを追加する時点の間隔Tを、パンクチャパターンの長さLの整数分の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:
パリティ検査行列から、パンクチャパターンを決定するための部分行列を切り出す。具体的には、まず、パリティ検査行列を、列方向にパンクチャブロック単位で区切る。また、パリティ検査行列を、行方向に、パンクチャパターンの長さLに対応する単位で区切る。このようにして、パリティ検査行列を格子状に区切る。区切られた格子うち、各列に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 frame 860 so as to include one or more lattice blocks 840 and 850 is used as a partial matrix for determining a puncture pattern. A puncture pattern is determined using this partial matrix.

・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 partial matrix 860 cut out from the parity check matrix of FIG. 1, 1), [2] Z = (1, 1, 1, 0, 1, 1), [3] Z = (1, 1, 1, 1, 1, 0) three puncture patterns are applied In this case, it is shown which column element reliability information is no longer received by the receiving device. In FIG. 13, the shaded columns indicate punctured bit sequences. FIG. 13 shows an example in which the puncture pattern Z removes (punctures) one parity bit from the puncture block. FIGS. 13A, 13B, and 13C each show that the puncture pattern Z is [1]. ], [2], [3] are shown.

[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 puncture section 620, receiving apparatus 700 of the present embodiment can obtain high decoding characteristics with a small number of Sum-Product decoding processes.

以上のように、本実施の形態によれば、畳み込み符号化部610は、畳み込み符号を用いて誤り訂正符号化を施し送信符号語系列を取得し、パンクチャ部620は、復号側のBP復号で用いられるパリティ検査行列のパターンに基づいたパンクチャパターンを用いて、畳み込み符号化部610によって取得された送信符号語系列に対しパンクチャを施すようにした。   As described above, according to the present embodiment, convolutional coding section 610 performs error correction coding using a convolutional code to obtain a transmission codeword sequence, and puncturing section 620 performs decoding BP decoding. The transmission codeword sequence acquired by the convolutional encoding unit 610 is punctured using a puncture pattern based on the pattern of the parity check matrix used.

畳み込み符号の第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 apparatus 600 and receiving apparatus 700 according to the present embodiment are applied, when the communication system includes a plurality of puncture patterns and the puncture patterns are switched, a plurality of types of parity check rows are displayed. In addition to the parity check matrix, no matter which puncture pattern is used, at least one type of row has one or less bits that become puncture bits among the bits that are set to 1 in the row. By using a puncture pattern as a pattern, a good decoding characteristic can be obtained regardless of which puncture pattern is used.

すなわち、全ての情報ビットについて、該情報ビットに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.

符号化率R=1/2の(7,5)8畳み込み符号の符号化器の構成を示すブロック図Block diagram showing the configuration of an encoder of (7,5) 8- convolutional code with coding rate R = 1/2 パリティ検査行列の一例を示す図The figure which shows an example of a parity check matrix パリティ検査行列の一般例を示す図The figure which shows the general example of a parity check matrix Sum-Product復号を行う復号部の構成の一例を示すブロック図The block diagram which shows an example of a structure of the decoding part which performs Sum-Product decoding 本実施の形態1におけるパリティ検査行列の一例を示す図The figure which shows an example of the parity check matrix in this Embodiment 1. FIG. 実施の形態1におけるパリティ検査行列の別の例を示す図FIG. 10 is a diagram illustrating another example of the parity check matrix in the first embodiment. 従来及び実施の形態1におけるタナーグラフの一例を示す図The figure which shows an example of the Tanner graph in the prior art and Embodiment 1 第2のパリティ検査行を追加する時点iの説明に供する図FIG. 5 is a diagram for explaining the time point i at which the second parity check row is added. 本実施の形態2に係る送信装置の構成を示すブロック図The block diagram which shows the structure of the transmitter which concerns on this Embodiment 2. FIG. 実施の形態2に係る受信装置の構成を示すブロック図FIG. 9 is a block diagram showing a configuration of a receiving apparatus according to the second embodiment. 実施の形態2に係るパンクチャ部のパンクチャ処理の説明に供する図The figure which uses for description of the puncture process of the puncture part which concerns on Embodiment 2. FIG. 実施の形態2におけるパリティ検査行列の一例を示す図FIG. 10 is a diagram illustrating an example of a parity check matrix in Embodiment 2. パンクチャパターンの決定方法の説明に供する図Diagram for explaining how to determine the puncture pattern

符号の説明Explanation of symbols

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 Decoding unit 303 Log likelihood ratio storage unit 305 Row processing calculation unit 307 Row processed data storage unit 309 Column processing calculation unit 311 Column processing data storage unit 313 Control unit 315 Log likelihood ratio calculation unit 317 Determination unit 319 Check matrix storage unit 600 Transmitting device 610 Convolutional coding unit 620 Puncture unit 630 Interleaving unit 640 Modulating unit 650 Radio transmitting unit 660 Control information generating unit 670 Transmitting antenna 700 Receiving device 710 Receiving antenna 720 Radio receiving unit 730 Demodulating unit 740 Deinterleaving unit 750 Depuncture unit 760 Control information detection unit

Claims (11)

BP(Belief Propagation)復号を行う復号化装置であって、
畳み込み符号の第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:
前記畳み込み符号により生成されるパリティ系列長がIの場合、前記パリティ検査行列は、I行の前記第1の行要素と、I行より少ない行数の前記第2の行要素から構成される
請求項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の検査多項式の拘束長が、前記第2の検査多項式の拘束長と異なる
請求項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.
前記第2の行要素は、前記パリティ検査行列上で、互いに間隔Tずつ離れて配置されており、
前記間隔Tは、前記第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.
前記第2の行要素は、前記パリティ検査行列上で、互いに間隔Tずつ離れて配置されており、
前記間隔Tは、符号化側で用いられるパンクチャパターン長の整数分の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(Belief Propagation)復号を用いて復号される符号語系列を生成する符号化装置であって、
畳み込み符号により符号語系列を生成する畳み込み符号化手段と、
復号側の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:
前記パリティ検査行列は、前記畳み込み符号の第1の検査多項式によって定義される第1の行要素と、前記第1の検査多項式と等価である前記畳み込み符号の第2の検査多項式によって定義される第2の行要素と、を用いて形成される行列である
請求項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.
前記第2の検査多項式は、前記第1の検査多項式に含まれる次数と、前記第2の検査多項式に含まれる次数とができるだけ重複しない
請求項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.
前記パンクチャパターンは、前記パリティ検査行列上で「1」が立っているビットをできるだけ削除しないパターンである
請求項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.
BP(Belief Propagation)復号を行う復号化方法であって、
畳み込み符号の第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(Belief Propagation復号を用いて復号される符号語系列を生成する符号方法であって、
畳み込み符号により符号語系列を生成し、
復号側の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.
JP2007292245A 2007-11-09 2007-11-09 Decoder, encoder, decoding method, and encoding method Pending JP2009118418A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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