JP2008160169A - Communication apparatus, turbo encoder, and communication method - Google Patents

Communication apparatus, turbo encoder, and communication method Download PDF

Info

Publication number
JP2008160169A
JP2008160169A JP2006339846A JP2006339846A JP2008160169A JP 2008160169 A JP2008160169 A JP 2008160169A JP 2006339846 A JP2006339846 A JP 2006339846A JP 2006339846 A JP2006339846 A JP 2006339846A JP 2008160169 A JP2008160169 A JP 2008160169A
Authority
JP
Japan
Prior art keywords
interleaver
encoder
information bit
random sequences
bit sequence
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
JP2006339846A
Other languages
Japanese (ja)
Inventor
Rui Sakai
塁 阪井
Wataru Matsumoto
渉 松本
Hideo Yoshida
英夫 吉田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2006339846A priority Critical patent/JP2008160169A/en
Publication of JP2008160169A publication Critical patent/JP2008160169A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To obtain a communication apparatus capable of performing faster processing than before and improving error rate characteristics after error correction. <P>SOLUTION: The communication apparatus according to the present invention employs a turbo encoder having an encoder 101 which encodes an information bit sequence and an encoder 104 which encodes the information bit sequence after interleaving processing. For example, the turbo encoder has an interleaver 102 which stores the information bit sequence in an M×N input buffer; prepares N-1 different random sequences as many as rows to generate M kinds of random sequences; maps a minimum to Nth rows of all the random sequences to generate M×N mapping patterns; maps an information bit sequence of interleaving length to the M×N mapping patterns; and reads the information bit sequence after the mapping, column by column, and outputs it to the encoder 103. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、ターボ符号等の誤り訂正符号を用いた通信装置に関するものである。   The present invention relates to a communication apparatus using an error correction code such as a turbo code.

以下、従来の通信装置について説明する。たとえば、SS(Spread Spectrum)方式を用いた広帯域CDMA(W‐CDMA:Code Division Multiple Access)においては、畳込み符号の性能を大きく上回る誤り訂正符号として、ターボ符号が提案されている。このターボ符号は、情報ビット系列にインタリーブを施した系列を既知の符号化系列と並列に符号化するもので、シャノン限界に近い特性が得られると言われており、一般的な誤り訂正符号の1つである。上記W‐CDMAにおいては、誤り訂正符号の性能が音声伝送やデータ伝送における伝送特性を大きく左右するため、ターボ符号の適用により伝送特性を大幅に向上させている。   Hereinafter, a conventional communication apparatus will be described. For example, in wideband CDMA (W-CDMA: Code Division Multiple Access) using an SS (Spread Spectrum) system, a turbo code is proposed as an error correction code that greatly exceeds the performance of a convolutional code. This turbo code encodes a sequence obtained by interleaving an information bit sequence in parallel with a known encoded sequence, and is said to have characteristics close to the Shannon limit. One. In the W-CDMA, the performance of the error correction code greatly affects the transmission characteristics in voice transmission and data transmission. Therefore, the transmission characteristics are greatly improved by applying the turbo code.

ここで、上記ターボ符号を用いた従来の通信装置の送信系および受信系の動作を具体的に説明する。図3(図3−1および図3−2)は、送信系において使用されるターボ符号器の構成を示す図である。図3−1において、101は情報ビット系列を畳込み符号化して冗長ビットを出力する第1の再帰的組織畳込み符号化器であり、102はインタリーバであり、103はインタリーバ102により並べ替え後の情報ビット系列を畳込み符号化して冗長ビットを出力する第2の再帰的組織畳込み符号化器である。図3−2は、第1の再帰的組織畳込み符号化器101および第2の再帰的組織畳込み符号化器103の内部構成を示す図であり、2つの再帰的組織畳込み符号化器は、それぞれ冗長ビットのみを出力する符号化器である。また、上記ターボ符号器で用いられるインタリーバ102では、情報ビット系列をランダムに並べ替える処理を行う。   Here, operations of the transmission system and the reception system of the conventional communication apparatus using the turbo code will be specifically described. FIG. 3 (FIGS. 3-1 and 3-2) is a diagram showing a configuration of a turbo encoder used in the transmission system. 3A, reference numeral 101 denotes a first recursive systematic convolutional encoder that convolutionally encodes an information bit sequence and outputs redundant bits, 102 is an interleaver, and 103 is a result of rearrangement by the interleaver 102. This is a second recursive systematic convolutional encoder that convolutionally encodes the information bit sequence of the information and outputs redundant bits. FIG. 3-2 is a diagram illustrating an internal configuration of the first recursive systematic convolutional encoder 101 and the second recursive systematic convolutional encoder 103, and shows two recursive systematic convolutional encoders. Is an encoder that outputs only redundant bits. In addition, the interleaver 102 used in the turbo encoder performs processing for rearranging information bit sequences at random.

上記のように構成されるターボ符号器では、同時に、情報ビット系列:x1と、第1の再帰的組織畳込み符号化器101の処理により情報ビット系列:x1を符号化した冗長ビット系列:x2と、第2の再帰的組織畳込み符号化器103の処理によりインタリーブ処理後の情報ビット系列を符号化した冗長ビット系列:x3と、を出力する。 In the turbo encoder configured as described above, at the same time, the information bit sequence: x 1 and the redundant bit sequence obtained by encoding the information bit sequence: x 1 by the processing of the first recursive systematic convolutional encoder 101. : X 2 and redundant bit sequence: x 3 obtained by encoding the information bit sequence after the interleaving process by the processing of the second recursive systematic convolutional encoder 103.

一方、図4は、受信系において使用されるターボ復号器の構成を示す図である。図4において、111は受信信号:y1と受信信号:y2とから対数尤度比を算出する第1の復号器であり、112および116は加算器であり、113および114はインタリーバであり、115は受信信号:y1と受信信号:y3とから対数尤度比を算出する第2の復号器であり、117はデインタリーバであり、118は第2の復号器115の出力を判定して元の情報ビット系列の推定値を出力する判定器である。なお、受信信号:y1,y2,y3は、それぞれ情報ビット系列:x1,冗長ビット系列:x2,x3に伝送路のノイズやフェージングの影響を与えた信号である。 On the other hand, FIG. 4 is a diagram showing a configuration of a turbo decoder used in the reception system. In FIG. 4, 111 is a first decoder for calculating a log likelihood ratio from received signal: y 1 and received signal: y 2 , 112 and 116 are adders, and 113 and 114 are interleavers. , 115 is a second decoder for calculating a log-likelihood ratio from the received signal: y 1 and the received signal: y 3 , 117 is a deinterleaver, and 118 determines the output of the second decoder 115. And a determinator that outputs an estimated value of the original information bit sequence. The received signals: y 1 , y 2 , and y 3 are signals that are affected by transmission line noise and fading on the information bit series: x 1 and redundant bit series: x 2 , x 3 , respectively.

上記のように構成されるターボ復号器では、まず、第1の復号器111が、受信信号:y1kと受信信号:y2kから推定される推定情報ビット:x1kの対数尤度比:L(x1k)を算出する(kは時刻を表す)。ここでは、情報ビット:x1kが0である確率に対する情報ビット:x1kが1である確率を求めることとなる。なお、後述するLe(x1k)は外部情報を表し、La(x1k)は1つ前の外部情報である事前情報を表す。 In the turbo decoder configured as described above, first, the first decoder 111 performs log likelihood ratio of estimated information bits: x 1k estimated from the received signal: y 1k and the received signal: y 2k : L (x 1k ) is calculated (k represents time). Here, the probability that the information bit: x 1k is 1 with respect to the probability that the information bit: x 1k is 0 is obtained. Note that Le (x 1k ), which will be described later, represents external information, and La (x 1k ) represents prior information that is the previous external information.

つぎに、加算器112では、前記算出結果である対数尤度比から、第2の復号器115に対する外部情報を算出する。なお、1回目の復号においては、事前情報が求められていないため、Le(x1k)=0である。 Next, the adder 112 calculates external information for the second decoder 115 from the log likelihood ratio as the calculation result. In the first decoding, since prior information is not obtained, Le (x 1k ) = 0.

つぎに、インタリーバ113および114では、受信信号:y1kと外部情報:Le(x1k)を、受信信号:y3の時刻にあわせるために、信号の並べ替えを行う。その後、第2の復号器115では、第1の復号器111と同様に、受信信号:y1と受信信号:y3、および先に算出しておいた外部情報:La(x1k)に基づいて、対数尤度比:L(x1k')を算出する。そして、加算器116では、外部情報:Le(x1k)を算出する。このとき、デインタリーバ117にて並べ替えられた外部情報は、事前情報:Ln(x1k)として前記第1の復号器111にフィードバックされる。 Next, the interleavers 113 and 114 rearrange the signals so that the received signal: y 1k and the external information: Le (x 1k ) match the time of the received signal: y 3 . Thereafter, in the second decoder 115, similarly to the first decoder 111, the received signal: y 1 and the received signal: y 3 and the previously calculated external information: La (x 1k ). The log likelihood ratio: L (x 1k ′) is calculated. Then, the adder 116 calculates external information: Le (x 1k ). At this time, the external information rearranged by the deinterleaver 117 is fed back to the first decoder 111 as prior information: Ln (x 1k ).

最後に、このターボ復号器では、上記処理を、所定の回数にわたって繰り返し実行することで、より精度の高い対数尤度比を算出し、そして、判定器118が、この対数尤度比に基づいて判定を行い、もとの情報ビット系列を推定する。具体的にいうと、たとえば、対数尤度比が“L(x1k')>0”であれば、推定情報ビット:x1k'を1と判定し、“L(x1k')≦0”であれば、推定情報ビット:x1k'を0と判定する。 Finally, in this turbo decoder, the above processing is repeatedly performed for a predetermined number of times to calculate a higher-precision log likelihood ratio, and the determiner 118 is based on this log likelihood ratio. A determination is made to estimate the original information bit sequence. Specifically, for example, if the log likelihood ratio is “L (x 1k ′)> 0”, the estimated information bit: x 1k ′ is determined to be 1, and “L (x 1k ′) ≦ 0”. If so, the estimated information bit: x 1k ′ is determined to be 0.

たとえば、W‐CDMAの規格においては、インタリーバとして、素数インタリーバ(Prime Interleaver:以降、PILと呼ぶ)が用いられており、ターボ符号の内部インタリーバとして、非常に高性能な誤り訂正能力を持つ。   For example, in the W-CDMA standard, a prime interleaver (hereinafter referred to as PIL) is used as an interleaver, and has a very high-performance error correction capability as an internal interleaver of a turbo code.

また、ターボ符号は繰り返し復号を行うことから復号遅延時間が大きく、100Mbps超の処理速度を要求されるシステムにおいては、復号処理の並列化が必要である。復号並列化には、インタリーブ前後にてメモリバンクに記憶したデータを読み出す場合、書き込み時に同じメモリバンクにアクセスしないことが必要となるが、前述のPILでは実装の際に回路が複雑になる等の問題があり、このような条件を満たすインタリーバにはブロックインタリーバ,ラテン方陣/ラテン長方形構造のインタリーバ(Latin Lattice / Rectangle Interleaver:以降、LRIと呼ぶ(下記特許文献1,2参照))がある。以下に、LRIインタリーバの生成方法を示す。   In addition, since a turbo code performs iterative decoding, a decoding delay time is large, and in a system that requires a processing speed exceeding 100 Mbps, parallel decoding processing is required. For decoding parallelization, when reading the data stored in the memory bank before and after interleaving, it is necessary not to access the same memory bank at the time of writing, but with the above-mentioned PIL, the circuit becomes complicated when mounting, etc. There are problems, and interleavers satisfying such conditions include block interleavers and Latin square / Latin rectangular interleavers (Latin Lattice / Rectangle Interleaver: hereinafter referred to as LRI (see Patent Documents 1 and 2 below)). The method for generating the LRI interleaver is shown below.

<LRIインタリーバの構成方法>
<ステップ1>
(1)パラメータを設定する。
K :入力情報ビット数
P :次を満たす最小素数 P2≧K
N=P :インタリーブ行列の列数
M=ceil(K/N) :インタリーブ行列の行数
(ceil(x)はxを超える最小の整数)
(2)Pの原始元を選択する。
G0: A primitive root
<LRI interleaver configuration method>
<Step 1>
(1) Set parameters.
K: Number of input information bits
P: Minimum prime number that satisfies the following: P 2 ≧ K
N = P: Number of columns of interleave matrix
M = ceil (K / N): Number of rows of interleave matrix
(Ceil (x) is the smallest integer that exceeds x)
(2) Select the primitive source of P.
G 0 : A primitive root

<ステップ2>
基本擬似乱数系列を生成する。
C(0) = 1
For i = 1,…,P-3 {C(i+1)=G0×C(i) mod P}
この生成に関しては、
For i = 1,…,P-2 {C(i)=(G0)i mod P}
としても同じである。
<Step 2>
Generate a basic pseudo-random number sequence.
C (0) = 1
For i = 1,…, P-3 {C (i + 1) = G 0 × C (i) mod P}
Regarding this generation,
For i = 1,…, P-2 {C (i) = (G 0 ) i mod P}
The same is true.

<ステップ3>
系列C(・)を1つずつシフトして、行列CLj(i)を構成する。ただし、最右列は0とする。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-2 {CLj(i) = C(j+i mod N-1)}
CLj(N-1) = 0
<Step 3>
The sequence C (•) is shifted one by one to form a matrix CL j (i). However, the rightmost column is 0.
For j = 0,1,…, M-1 {
For i = 0,1, ..., N-2 {CL j (i) = C (j + i mod N-1)}
CL j (N-1) = 0
}

<ステップ4>
M×Nの入力行列Uj(i)を用意する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {Uj(i)=i+N×j}
<Step 4>
An M × N input matrix U j (i) is prepared.
For j = 0,1,…, M-1 {
For i = 0,1,…, N-1 {U j (i) = i + N × j}
}

<ステップ5>
M×Nの出力行列U'j(i)を、CLj(i)を用いて用意する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {U'j(i)=U(M-1-j)(CL(M-1-j)(i))}
<Step 5>
An M × N output matrix U ′ j (i) is prepared using CL j (i).
For j = 0,1,…, M-1 {
For i = 0,1,…, N-1 {U ' j (i) = U (M-1-j) (CL (M-1-j) (i))}
}

<ステップ6>
出力系列u(k)を列順に読み出すことで生成する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {u(j+M×i)=U'j(i)}
<Step 6>
Generated by reading the output sequence u (k) in column order.
For j = 0,1,…, M-1 {
For i = 0,1, ..., N-1 {u (j + M × i) = U ' j (i)}
}

<ステップ7>
プルーニング
用意した行列の大きさと情報長に差がある場合には、情報長を超える大きさを持つ出力値(u(k)≧K)を削除する。
LRIで生成されたインタリーブパターンの例を以下に示す。これは、K=289,P=17,M=17,N=17,G0=3の場合である。インタリーブパターンは、下記(1)式:U'j(i)を列方向に読み出して生成される。
<Step 7>
Pruning If there is a difference between the size of the prepared matrix and the information length, the output value (u (k) ≧ K) having a size exceeding the information length is deleted.
An example of an interleave pattern generated by LRI is shown below. This is the case for K = 289, P = 17, M = 17, N = 17, and G 0 = 3. The interleave pattern is generated by reading the following equation (1): U ′ j (i) in the column direction.

Figure 2008160169
Figure 2008160169

インタリーブパターン:u(i)={273,261,240,…,20,1,275,256,…,51,34,17,0}となる。この例の復号過程において、受信信号y1kと外部情報Le(x1k)を行数と同じだけ用意した別のメモリバンクに記憶する(インタリーブ前のkは0,1,2,…,K、インタリーブ後のkはu(i)となる)。インタリーブ前には、{0,1,2,…}、{17,18,19,…}、{34,35,36,…}…と、{}ごとにすべて同じタイミングで処理を行い、インタリーブ後には、{1,20,43,…}、{26,44,…,3}、{47,…,9,47}…と、列単位で開始位置をずらして並列処理を行うと、同じタイミングで同じメモリバンクにアクセスすることはなく、矛盾なく並列処理ができる。 Interleave pattern: u (i) = {273,261,240,..., 20,1,275,256,..., 51,34,17,0}. In the decoding process of this example, the received signal y 1k and the external information Le (x 1k ) are stored in another memory bank prepared as many as the number of rows (k before interleaving is 0, 1, 2, ..., K, K after interleaving is u (i)). Before interleaving, {0,1,2, ...}, {17,18,19, ...}, {34,35,36, ...} ... are processed at the same timing for each {} and interleaved. Later, {1,20,43, ...}, {26,44, ..., 3}, {47, ..., 9,47} ... The same memory bank is not accessed at the timing, and parallel processing can be performed without contradiction.

特開2001−332981号公報JP 2001-332981 A 特開2001−285077号公報JP 2001-285077 A

しかしながら、並列処理を可能にするインタリーバであるブロックインタリーバは、構成が非常に簡易であるものの、現行のPILに比べて性能劣化が大きい。LRIはインタリーバサイズが小さい場合にはPILと同等もしくはそれ以上の性能を有するが、大きくなる場合には劣化する。   However, the block interleaver, which is an interleaver that enables parallel processing, has a very simple configuration, but has a large performance deterioration compared to the current PIL. LRI has the same or better performance than PIL when the interleaver size is small, but degrades when it becomes large.

本発明は、上記に鑑みてなされたものであって、ターボ符号を採用した通信システムすべてに適用可能とし、さらに、従来技術と比較して並列化による高速処理が可能で、かつ誤り訂正後の誤り率特性の向上を実現可能な通信装置を得ることを目的とする。   The present invention has been made in view of the above, and can be applied to all communication systems adopting a turbo code. Further, compared with the prior art, high-speed processing by parallelization is possible, and after error correction. An object of the present invention is to obtain a communication device that can improve the error rate characteristics.

上述した課題を解決し、目的を達成するために、本発明にかかる通信装置は、情報ビット系列を畳込み符号化またはブロック符号化して第1の冗長データを出力する第1の符号化器と、インタリーブ処理後の前記情報ビット系列を畳込み符号化またはブロック符号化して第2の冗長データを出力する第2の符号化器と、を備えるターボ符号器を採用する通信装置であって、前記ターボ符号器は、M×Nの入力バッファ内に前記情報ビット系列を格納し、N−1個のランダム系列を行数分だけ異なるものを用意し、M種類のランダム系列を生成し、さらに、すべてのランダム系列における各行のN個目に最小値をマッピングし、M×Nのマッピングパターンを生成し、前記M×Nのマッピングパターンにインタリーブ長の情報ビット系列をマッピングし、前記マッピング後の情報ビット系列を列単位に読み出し、前記第2の符号化器に対して出力するインタリーバ、を備えることを特徴とする。   In order to solve the above-described problems and achieve the object, a communication apparatus according to the present invention includes a first encoder that performs convolutional coding or block coding of an information bit sequence and outputs first redundant data. A turbo encoder comprising: a second encoder that performs convolutional coding or block coding on the information bit sequence after the interleaving process and outputs second redundant data; The turbo encoder stores the information bit sequence in an M × N input buffer, prepares N−1 random sequences different from each other by the number of rows, generates M types of random sequences, and A minimum value is mapped to the Nth row of each row in all random sequences, an M × N mapping pattern is generated, and an interleave length information bit sequence is mapped to the M × N mapping pattern. Grayed reads information bit sequence after the mapping in units of columns, characterized in that it comprises an interleaver, to be output to the second encoder.

この発明によれば、従来のようにインタリーバ生成に関わるパラメータを入力情報長Kに対して一意に決めず、必要な処理速度を満たす並列数に対して、良いインタリーブパターンを検索することにより、高い誤り訂正能力を持つインタリーブパターンを得ることができる、という効果を奏する。   According to the present invention, a parameter related to interleaver generation is not uniquely determined with respect to the input information length K as in the prior art, and a high interleave pattern is searched for a parallel number that satisfies a required processing speed. There is an effect that an interleave pattern having error correction capability can be obtained.

以下に、本発明にかかる通信装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。   Embodiments of a communication apparatus according to the present invention will be described below in detail with reference to the drawings. Note that the present invention is not limited to the embodiments.

実施の形態1.
図1は、ターボ符号化器1およびターボ復号器11を含む実施の形態1の通信システムの構成例を示す構成図である。図1において、送信側の通信装置(送信装置と呼ぶ)は、ターボ符号化器1とインタリーバ生成器2と変調器3を含む構成とし、受信側の通信装置(受信装置と呼ぶ)は、復調器4とターボ復号器5とインタリーバ生成器2を含む構成とする。
Embodiment 1 FIG.
FIG. 1 is a configuration diagram illustrating a configuration example of a communication system according to Embodiment 1 including a turbo encoder 1 and a turbo decoder 11. In FIG. 1, a communication device on the transmission side (referred to as a transmission device) includes a turbo encoder 1, an interleaver generator 2, and a modulator 3. The communication device on the reception side (referred to as a reception device) And an interleaver generator 2.

ここで、ターボ符号を採用する通信システムにおける符号化処理,復号処理の流れを簡単に説明する。   Here, the flow of the encoding process and the decoding process in the communication system employing the turbo code will be briefly described.

送信装置内のターボ符号化器1では、情報長Kのメッセージ(u0,u1,…,uK-1)を受け取り、インタリーバ生成器2で生成したインタリーブパターンを用いて符号化した符号語vを生成する。そして、送信装置内の変調器2では、ターボ符号化器1で生成した符号語vに対して、BPSK,QPSK,多値QAM等の所定の変調方式によりディジタル変調を行い、その変調信号x=(x0,x1,…,xN-1)を、通信路6を介して受信装置に送信する。 The turbo encoder 1 in the transmitter receives a message (u 0 , u 1 ,..., U K-1 ) having an information length K and is encoded using the interleave pattern generated by the interleaver generator 2. v is generated. Then, in the modulator 2 in the transmission apparatus, the codeword v generated by the turbo encoder 1 is digitally modulated by a predetermined modulation method such as BPSK, QPSK, multilevel QAM, and the modulated signal x = (x 0 , x 1 ,..., x N−1 ) are transmitted to the receiving device via the communication path 6.

一方、受信装置では、復調器4が、通信路6を介して受け取った変調信号y=(y0,y1,…,yN-1)に対して、上記BPSK,QPSK,多値QAM等の変調方式に応じたディジタル復調を行い、さらに、受信装置内のターボ復号器5が、復調結果に対してインタリーバ生成器2で生成したインタリーブパターンを用いて復号を実施し、その復号結果(元のメッセージu0,u1,…,uK-1に対応)を出力する。 On the other hand, in the receiving apparatus, the demodulator 4 performs the above-described BPSK, QPSK, multi-level QAM, etc. on the modulated signal y = (y 0 , y 1 ,..., Y N−1 ) received via the communication path 6. Further, the turbo decoder 5 in the receiving apparatus performs decoding using the interleave pattern generated by the interleaver generator 2 on the demodulation result, and the decoding result (original Message u 0 , u 1 ,..., U K-1 ).

なお、上記送信装置と上記受信装置の双方の構成を搭載した通信装置を複数構成し、当該複数の通信装置間で、互いに信号を送受信するようにしても良い。   Note that a plurality of communication devices including both the transmission device and the reception device may be configured, and signals may be transmitted and received between the plurality of communication devices.

また、ターボ符号化器1は、図3−1に示すように、第一の再帰的組織畳込み符号化器101とインタリーバ102と第2の再帰的組織畳込み符号化器103を用いて行う。図3−2は、上記再帰的組織畳込み符号化器の一例であって、たとえば、W-CDMA規格の再帰的組織畳込み符号化器など、ターボ符号を構成する再帰的組織畳込み符号化器であればいずれであっても良い。ターボ復号器5は、上記再帰的組織畳込み符号化器に対応して構成する。   Further, as shown in FIG. 3A, the turbo encoder 1 performs using a first recursive systematic convolutional encoder 101, an interleaver 102, and a second recursive systematic convolutional encoder 103. . FIG. 3-2 is an example of the recursive systematic convolutional encoder described above. For example, a recursive systematic convolutional encoder constituting a turbo code such as a recursive systematic convolutional encoder of the W-CDMA standard is used. Any container may be used. The turbo decoder 5 is configured corresponding to the recursive systematic convolutional encoder.

つぎに、本実施の形態のインタリーバ生成器2でのインタリーブパターン生成アルゴリズムを示す。   Next, an interleave pattern generation algorithm in the interleaver generator 2 of the present embodiment is shown.

<ステップ1>
(1)パラメータを設定する。
K :入力情報ビット数
N :インタリーブ行列の列数(素数)
M=ceil(K/N) :インタリーブ行列の行数
(ceil(x)はxを超える最小整数)
s :基本疑似乱数系列読み出し時の開始位置シフト数
(2)Nの原始元を選択する。
G0 :Nの原始元
<Step 1>
(1) Set parameters.
K: Number of input information bits
N: Number of interleaved matrix columns (prime number)
M = ceil (K / N): Number of rows of interleave matrix
(Ceil (x) is the smallest integer that exceeds x)
s: Start position shift number at the time of reading out the basic pseudo random number sequence (2) Select a source element of N.
G 0 : Primitive element of N

<ステップ2>
N個のランダム系列として、以下のように基本疑似乱数系列を生成する。
C(0) = 1, C(N-1) = 0
For i = 0,…,N-3 {C(i+1)=G0×C(i) mod N}
この生成に関しては、
For i = 0,…,N-2 {C(i)=(G0)i mod N}
C(N-1) = 0
としても同じである。
<Step 2>
A basic pseudo-random number sequence is generated as N random sequences as follows.
C (0) = 1, C (N-1) = 0
For i = 0, ..., N-3 {C (i + 1) = G 0 × C (i) mod N}
Regarding this generation,
For i = 0, ..., N-2 {C (i) = (G 0 ) i mod N}
C (N-1) = 0
The same is true.

<ステップ3>
系列C(・)をs個ずつシフトして、行列CLj(i)を構成する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {CLj(i)=C(i+s×j mod N)}
<Step 3>
The sequence C (•) is shifted s at a time to form a matrix CL j (i).
For j = 0,1,…, M-1 {
For i = 0,1, ..., N-1 {CL j (i) = C (i + s × j mod N)}
}

<ステップ4>
M×Nの入力行列Uj(i)を用意する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {Uj(i)=i+N×j}
<Step 4>
An M × N input matrix U j (i) is prepared.
For j = 0,1,…, M-1 {
For i = 0,1,…, N-1 {U j (i) = i + N × j}
}

<ステップ5>
M×Nの出力行列U'j(i)を、CLj(i)を用いて用意する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {U'j(i)=U(M-1-j)(CL(M-1-j)(i))}
<Step 5>
An M × N output matrix U ′ j (i) is prepared using CL j (i).
For j = 0,1,…, M-1 {
For i = 0,1,…, N-1 {U ' j (i) = U (M-1-j) (CL (M-1-j) (i))}
}

<ステップ6>
出力系列u(k)を列順に読み出すことで生成する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {u(j+M×i)=U'j(i)}
<Step 6>
Generated by reading the output sequence u (k) in column order.
For j = 0,1,…, M-1 {
For i = 0,1, ..., N-1 {u (j + M × i) = U ' j (i)}
}

<ステップ7>
プルーニング
用意した行列の大きさと情報長に差がある場合には、情報長を超える大きさを持つ出力値(u(k)≧K)を削除する。
<Step 7>
Pruning If there is a difference between the size of the prepared matrix and the information length, the output value (u (k) ≧ K) having a size exceeding the information length is deleted.

なお、ステップ2,3においては、従来のLRIとは違い最右列を0に固定していないが、下記のように最右列を0に固定しても良い。この場合には、N−1個のランダム系列として、以下のように基本疑似乱数系列を生成し、各行のN個目は0に固定する。   In steps 2 and 3, unlike the conventional LRI, the rightmost column is not fixed to 0, but the rightmost column may be fixed to 0 as described below. In this case, a basic pseudo-random number sequence is generated as follows as N−1 random sequences, and the Nth row in each row is fixed to 0.

<ステップ2>
N−1個のランダム系列として、以下のように基本疑似乱数系列を生成する。
C(0) = 1
For i = 0,…,N-3 {C(i+1)=G0×C(i) mod N}
<Step 2>
A basic pseudo-random number sequence is generated as N-1 random sequences as follows.
C (0) = 1
For i = 0, ..., N-3 {C (i + 1) = G 0 × C (i) mod N}

<ステップ3>
系列C(・)をs個ずつシフトして、行列CLj(i)を構成する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-2 {CLj(i)=C(i+s×j mod N-1)}
CLj(N-1) = 0
<Step 3>
The sequence C (•) is shifted s at a time to form a matrix CL j (i).
For j = 0,1,…, M-1 {
For i = 0,1, ..., N-2 {CL j (i) = C (i + s × j mod N-1)}
CL j (N-1) = 0
}

また、ステップ1において、N+1が素数となるようにNを選択し、ステップ2において、
<ステップ2>
N個のランダム系列として、以下のように基本疑似乱数系列を生成する。
C(0) = 0
For i = 0,…,N-3 {C(i+1)=(G0×(C(i)+1) mod N)-1}
この生成に関しては、
For i = 0,…,N-2 {C(i)=((G0)i mod N)-1}
としても同じである。
In step 1, N is selected so that N + 1 is a prime number. In step 2,
<Step 2>
A basic pseudo-random number sequence is generated as N random sequences as follows.
C (0) = 0
For i = 0, ..., N-3 {C (i + 1) = (G 0 × (C (i) +1) mod N) -1}
Regarding this generation,
For i = 0, ..., N-2 {C (i) = ((G 0 ) i mod N) -1}
The same is true.

また、原始元G0が2の場合には、基本疑似乱数系列を得るために2乗算処理を行うことになるが、2の乗算は1ビットシフトで可能であるから、原始元が2の素数だけにNを限定することで処理量を軽減することも可能である。 In addition, when the primitive element G 0 is 2, a multiplication by two is performed to obtain a basic pseudo-random number sequence. However, since a multiplication of 2 is possible by a 1-bit shift, a prime number with a primitive element of 2 is used. It is also possible to reduce the processing amount by limiting N only to this.

また、図2(図2−1,図2−2,図2−3)には、本実施の形態のインタリーバと、従来のLRI,W-CDMA規格のPILとの性能比較を示す。シミュレーションは、AWGN通信路,BPSK変調を仮定しており、たとえば、ターボ符号の再帰的組織畳込み符号化器はW-CDMA規格と同じで、テールは12ビットの終端ビットを付加した符号化率1/3で、また、復号方式はMax-Log-MAP復号法で繰り返し回数を8回、としている。横軸がブロック誤り率(Block Error Rate(BLER):Eb/N0[dB])である。また、図2−1が長さ3000、図2−2が長さ4000、図2−3が長さ5000の場合であり、それぞれのインタリーバを構成するにあたり、(m,s)の組み合わせは“union bound”および計算機シミュレーションの少なくともいずれか一方を用いて検索し、3000の場合に(m,s)=(79,2)であり、4000の場合に(101,1)であり、5000の場合に(157,3)である。すべての場合において本実施の形態の方がBLERが向上しており、高い誤り訂正能力を持つ現3GPPで採用されているPILと同等の性能を示している。なお、(m,s)の設定値は、上記に限られるものではなく、誤り訂正能力の高い組み合わせをKに応じて検索する。   FIG. 2 (FIGS. 2-1, 2-2, and 2-3) shows a performance comparison between the interleaver of the present embodiment and the conventional LRI and PIL of the W-CDMA standard. The simulation assumes an AWGN channel and BPSK modulation. For example, the turbo code recursive systematic convolutional encoder is the same as the W-CDMA standard, and the tail is a coding rate with 12 termination bits added. 1/3, and the decoding method is Max-Log-MAP decoding and the number of repetitions is 8. The horizontal axis represents the block error rate (Block Error Rate (BLER): Eb / N0 [dB]). Further, FIG. 2-1 shows a case of length 3000, FIG. 2-2 shows a length of 4000, and FIG. 2-3 shows a length of 5000. In configuring each interleaver, the combination of (m, s) is “ Search using at least one of “union bound” and computer simulation. (m, s) = (79,2) in the case of 3000, (101,1) in the case of 4000, and 5000 (157,3). In all cases, the BLER is improved in the present embodiment, and the same performance as the PIL employed in the current 3GPP having high error correction capability is shown. The set value of (m, s) is not limited to the above, and a combination having a high error correction capability is searched according to K.

また、それぞれの場合の(m,s)から、行数はceil(3000/101)=30,ceil(4000/127)=32,ceil(5000/157)=32であり、それぞれ30,32,32の並列化が可能である。従来のLRIでは、P2≧K(N=P)として行数を決めるため、さらに大きな並列化が可能であるが、通信システムの要求処理速度を満たす並列数が確保できれば十分である。 Also, from (m, s) in each case, the number of rows is ceil (3000/101) = 30, ceil (4000/127) = 32, ceil (5000/157) = 32, respectively 30, 32, 32 parallelizations are possible. In the conventional LRI, since the number of rows is determined as P 2 ≧ K (N = P), further parallelization is possible, but it is sufficient if a parallel number that satisfies the required processing speed of the communication system can be secured.

以上のように、本実施の形態によれば、ラテン方陣またはラテン長方形構造を持つLRIインタリーバの、行または列数を基準にして性能改善を図ることとした。これにより、従来のLRIインタリーバと同様に高い並列数を可能にするだけでなく、高い性能を持つ3GPP規格のPILと同等の誤り訂正能力を有することができる。また、基本疑似乱数生成方法が3GPP規格のPILと同じであるため、従来の開発資産を効果的に用いることで、インタリーバ開発の効率化を図ることもできる。   As described above, according to the present embodiment, the performance is improved based on the number of rows or columns of an LRI interleaver having a Latin square or Latin rectangular structure. This enables not only a high parallel number as in the conventional LRI interleaver, but also an error correction capability equivalent to the 3GPP standard PIL having high performance. In addition, since the basic pseudo-random number generation method is the same as the 3GPP standard PIL, it is possible to improve the efficiency of interleaver development by effectively using conventional development assets.

実施の形態2.
つづいて、実施の形態2の通信システムについて説明する。なお、本実施の形態のシステムにおいて、送信装置および受信装置の構成については、前述した実施の形態1の図1と同様である。以下、実施の形態1と異なる処理について説明する。
Embodiment 2. FIG.
Next, the communication system according to the second embodiment will be described. In the system of the present embodiment, the configurations of the transmission device and the reception device are the same as those in FIG. 1 of the first embodiment described above. Hereinafter, processing different from the first embodiment will be described.

ここで、実施の形態2のインタリーバ生成器2でのインタリーブパターン生成アルゴリズムを示す。   Here, an interleave pattern generation algorithm in the interleaver generator 2 according to the second embodiment will be described.

<ステップ1>
(1)パラメータを設定する。
K :入力情報ビット数
N :インタリーブ行列の列数
M=ceil(K/N) :インタリーブ行列の行数、ceil(x)はxを超える最小整数
s :基本疑似乱数系列読み出し時の開始位置シフト数
(2)Nと互いに素な整数を選択する。
P' :Nと互いに素な整数(co-prime、relative prime)
<Step 1>
(1) Set parameters.
K: Number of input information bits
N: Number of columns in the interleave matrix
M = ceil (K / N): number of rows of interleave matrix, ceil (x) is the smallest integer exceeding x
s: Start position shift number when reading the basic pseudo-random number sequence (2) Select an integer relatively prime to N.
P ': N and a prime integer (co-prime, relative prime)

<ステップ2>
N個のランダム系列として、以下のように基本疑似乱数系列を生成する。
For i = 0,…,N-1 {C(i)=(P'×i mod N)}
この生成に関しては、
C(0) = 0
For i = 1,…,N-1 {C(i+1)=C(i)+P' mod N}
としても同じである。
<Step 2>
A basic pseudo-random number sequence is generated as N random sequences as follows.
For i = 0, ..., N-1 {C (i) = (P '× i mod N)}
Regarding this generation,
C (0) = 0
For i = 1, ..., N-1 {C (i + 1) = C (i) + P 'mod N}
The same is true.

<ステップ3>
系列C(・)を1つずつシフトして、行列CLj(i)を構成する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {CLj(i)=C(i+s×j mod N)}
<Step 3>
The sequence C (•) is shifted one by one to form a matrix CL j (i).
For j = 0,1,…, M-1 {
For i = 0,1, ..., N-1 {CL j (i) = C (i + s × j mod N)}
}

<ステップ4>
M×Nの入力行列Uj(i)を用意する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {Uj(i)=i+N×j}
<Step 4>
An M × N input matrix U j (i) is prepared.
For j = 0,1,…, M-1 {
For i = 0,1,…, N-1 {U j (i) = i + N × j}
}

<ステップ5>
M×Nの出力行列U'j(i)を、CLj(i)を用いて用意する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {U'j(i)=U(M-1-j)(CL(M-1-j)(i))}
<Step 5>
An M × N output matrix U ′ j (i) is prepared using CL j (i).
For j = 0,1,…, M-1 {
For i = 0,1,…, N-1 {U ' j (i) = U (M-1-j) (CL (M-1-j) (i))}
}

<ステップ6>
出力系列u(k)を列順に読み出すことで生成する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {u(j+M×i)=U'j(i)}
<Step 6>
Generated by reading the output sequence u (k) in column order.
For j = 0,1,…, M-1 {
For i = 0,1, ..., N-1 {u (j + M × i) = U ' j (i)}
}

<ステップ7>
プルーニング
用意した行列の大きさと情報長に差がある場合には、情報長を超える大きさを持つ出力値(u(k)≧K)を削除する。
<Step 7>
Pruning If there is a difference between the size of the prepared matrix and the information length, the output value (u (k) ≧ K) having a size exceeding the information length is deleted.

なお、ステップ2においては、以下のようにしても良い。
<ステップ2>
N個のランダム系列として、以下のように基本疑似乱数系列を生成する。
For i = 0,…,N-1 {C(i)=P'×i+Q mod N}
ここで、Qは任意の整数である。
In step 2, the following may be performed.
<Step 2>
A basic pseudo-random number sequence is generated as N random sequences as follows.
For i = 0, ..., N-1 {C (i) = P '× i + Q mod N}
Here, Q is an arbitrary integer.

または、
<ステップ2>
N個のランダム系列として、以下のように基本疑似乱数系列を生成する。
For i = 0,…,N-1 {
C(i) = (floor(i/2)×P' mod N/2)×2+1 (iが偶数のとき)
C(i) = (floor(i/2+Q')×P' mod N/2)×2 (iが奇数のとき)

ここで、floor(x)はxを超えない最大整数、Q'は任意の整数である。
Or
<Step 2>
A basic pseudo-random number sequence is generated as N random sequences as follows.
For i = 0,…, N-1 {
C (i) = (floor (i / 2) x P 'mod N / 2) x 2 + 1 (when i is an even number)
C (i) = (floor (i / 2 + Q ') x P' mod N / 2) x 2 (when i is an odd number)
}
Here, floor (x) is a maximum integer not exceeding x, and Q ′ is an arbitrary integer.

さらに、N−1個のランダム系列として、N−1と互いに素な整数P''を用いて、以下のように基本疑似乱数系列を生成し、
<ステップ2>
For i = 0,…,N-2 {C(i)=P''×i mod N-1}
または、
For i = 0,…,N-2 {C(i)=P''×i+Q mod N-1}
<ステップ3>
系列C(・)をs個ずつシフトして、行列CLj(i)を構成する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-2 CLj(i){CLj(i)=C(i+s×j mod N)}
CLj(N-1) = 0

と最右列を0と固定しても良い。
Further, as N−1 random sequences, N−1 and a relatively prime integer P ″ are used to generate a basic pseudorandom number sequence as follows:
<Step 2>
For i = 0, ..., N-2 {C (i) = P '' × i mod N-1}
Or
For i = 0, ..., N-2 {C (i) = P '' × i + Q mod N-1}
<Step 3>
The sequence C (•) is shifted s at a time to form a matrix CL j (i).
For j = 0,1,…, M-1 {
For i = 0,1, ..., N-2 CL j (i) {CL j (i) = C (i + s × j mod N)}
CL j (N-1) = 0
}
And the rightmost column may be fixed at 0.

本実施の形態では、基本疑似乱数系列を列数の値と互いに素な整数に基づいて生成する。この疑似乱数生成は、P'の加算を繰り返し処理で実現可能であり、乱数生成が容易である。また、互いに素な整数は多数存在し、列数が素数に限定されることもなく、行数もしくは列数の設定に際して広い範囲から誤り訂正能力の高い組み合わせを検索することができる。   In the present embodiment, the basic pseudo-random number sequence is generated based on the number of columns and a relatively prime integer. This pseudo-random number generation can be realized by repeating the addition of P ′, and random number generation is easy. Further, there are a large number of prime integers, and the number of columns is not limited to a prime number, and combinations with high error correction capability can be searched from a wide range when setting the number of rows or the number of columns.

以上のように、本実施の形態によれば、ラテン方陣またはラテン長方形構造を持つLRIインタリーバの基本疑似乱数を、列数と互いに素な整数を用いて生成することとした。これにより、列数の選択枝が増え、良好な特性を持つ組み合わせを検索することが容易となる。   As described above, according to the present embodiment, the basic pseudo-random number of the LRI interleaver having a Latin square or Latin rectangular structure is generated using integers that are relatively prime to the number of columns. As a result, the number of choices of the number of columns increases, and it becomes easy to search for combinations having good characteristics.

実施の形態3.
実施の形態3の通信システムについて説明する。なお、本実施の形態のシステムにおいて、送信装置および受信装置の構成については、前述した実施の形態1の図1と同様である。以下、実施の形態1と異なる処理について説明する。
Embodiment 3 FIG.
A communication system according to the third embodiment will be described. In the system of the present embodiment, the configurations of the transmission device and the reception device are the same as those in FIG. 1 of the first embodiment described above. Hereinafter, processing different from the first embodiment will be described.

ここで、実施の形態3のインタリーバ生成器2でのインタリーブパターン生成アルゴリズムを示す。   Here, an interleave pattern generation algorithm in the interleaver generator 2 according to the third embodiment will be described.

<ステップ1>
(1)パラメータを設定する。
K :入力情報ビット数
N :インタリーブ行列の列数
M=ceil(K/N) :インタリーブ行列の行数、ceil(x)はxを超える最小整数
s :基本疑似乱数系列読み出し時の開始位置シフト数
(2)Nと互いに素な整数を選択する。
P' :Nと互いに素な整数(co-prime、relative prime)
<Step 1>
(1) Set parameters.
K: Number of input information bits
N: Number of columns in the interleave matrix
M = ceil (K / N): number of rows of interleave matrix, ceil (x) is the smallest integer exceeding x
s: Start position shift number when reading the basic pseudo-random number sequence (2) Select an integer relatively prime to N.
P ': N and a prime integer (co-prime, relative prime)

<ステップ2>
以下の計算式に基づいて、インタリーブパターンを生成する。
u(k)=(P'×floor(k/M)+s×(M-1-(k mod M) mod N)+N×(k mod M)
<Step 2>
An interleave pattern is generated based on the following calculation formula.
u (k) = (P '× floor (k / M) + s × (M-1- (k mod M) mod N) + N × (k mod M)

<ステップ3>
プルーニング
生成したパターンの大きさと情報長に差がある場合には、情報長を超える大きさを持つ出力値(u(k)≧K)を削除する。
<Step 3>
Pruning If there is a difference between the size of the generated pattern and the information length, the output value (u (k) ≧ K) having a size exceeding the information length is deleted.

本実施の形態では、基本疑似乱数系列を列数の値と互いに素な整数に基づいて生成する。この疑似乱数生成は、P'の加算を繰り返し処理で実現可能であり、乱数生成が容易である。また、互いに素な整数は多数存在し、列数が素数に限定されることもなく、行数もしくは列数の設定に際して広い範囲から誤り訂正能力の高い組み合わせを検索することができる。   In the present embodiment, the basic pseudo-random number sequence is generated based on the number of columns and a relatively prime integer. This pseudo-random number generation can be realized by repeating the addition of P ′, and random number generation is easy. Further, there are a large number of prime integers, and the number of columns is not limited to a prime number, and combinations with high error correction capability can be searched from a wide range when setting the number of rows or the number of columns.

以上のように、本実施の形態によれば、ラテン方陣またはラテン長方形構造を持つLRIインタリーバの基本疑似乱数を、列数と互いに素な整数を用いて生成することとした。これにより、列数の選択枝が増え、良好な特性を持つ組み合わせを検索することが容易となる。   As described above, according to the present embodiment, the basic pseudo-random number of the LRI interleaver having a Latin square or Latin rectangular structure is generated using integers that are relatively prime to the number of columns. As a result, the number of choices of the number of columns increases, and it becomes easy to search for combinations having good characteristics.

実施の形態4.
図5は、ターボ符号化器およびターボ復号器を含む実施の形態4の通信システムの構成例を示す構成図である。図5において、送信側の通信装置(送信装置と呼ぶ)は、ビット調整器11とターボ符号化器1とインタリーバ生成器2aとパンクチャ器12と変調器3を含む構成とし、受信側の通信装置(受信装置と呼ぶ)は、復調器4とデパンクチャ器13とターボ復号器5とインタリーバ生成器2aとビット調整器14を含む構成とする。
Embodiment 4 FIG.
FIG. 5 is a configuration diagram illustrating a configuration example of a communication system according to the fourth embodiment including a turbo encoder and a turbo decoder. In FIG. 5, a transmission side communication device (referred to as a transmission device) includes a bit adjuster 11, a turbo encoder 1, an interleaver generator 2a, a puncture unit 12, and a modulator 3, and a reception side communication device. (Referred to as a receiving device) includes a demodulator 4, a depuncture unit 13, a turbo decoder 5, an interleaver generator 2a, and a bit adjuster 14.

ここで、実施の形態4の通信システムにおける符号化処理,復号処理の流れを簡単に説明する。   Here, the flow of the encoding process and the decoding process in the communication system of Embodiment 4 will be briefly described.

送信装置内のビット調整器11では、入力ビット長とインタリーバ生成器2aで生成するインタリーバの大きさに基づいて、情報長Kのメッセージを調整する。入力ビット長をK、インタリーバ生成器2aで生成するインタリーバの大きさをL(L≧K)とすると、両者に(L-K)ビットの違いがあるため、元のメッセージ(u0,u1,…,uK-1)に対して(L-K)ビット分を調整するため、0または1の既知の信号を挿入する。挿入位置は入力ビットの先頭や末尾などL-K個の任意の場所とする。ターボ符号化器1では、ビット調整されたLビットのメッセージを受け取り、インタリーバ生成器2aで生成したインタリーブパターンを用いて符号化した符号語vを生成する。そして、送信装置内のパンクチャ器12では、通信システムの要求に応じた符号長Wの符号化語を、ターボ符号化器1の出力からパンクチャして生成する。変調器3では、パンクチャ器12で生成した符号語vに対して、BPSK,QPSK,多値QAM等の所定の変調方式によりディジタル変調を行い、その変調信号x=(x0,x1,…,xW-1)を、通信路を介して受信装置に送信する。 The bit adjuster 11 in the transmission apparatus adjusts the message having the information length K based on the input bit length and the size of the interleaver generated by the interleaver generator 2a. If the input bit length is K and the size of the interleaver generated by the interleaver generator 2a is L (L ≧ K), there is a difference in (LK) bits between the two, so the original message (u 0 , u 1 ,. , u K-1 ), a known signal of 0 or 1 is inserted in order to adjust (LK) bits. The insertion position is LK arbitrary places such as the beginning and end of the input bits. The turbo encoder 1 receives the bit-adjusted L-bit message and generates a codeword v encoded using the interleave pattern generated by the interleaver generator 2a. Then, the puncture unit 12 in the transmission apparatus generates a code word having a code length W according to the request of the communication system by puncturing from the output of the turbo encoder 1. The modulator 3 performs digital modulation on the codeword v generated by the puncture unit 12 by a predetermined modulation method such as BPSK, QPSK, multilevel QAM, and the like, and the modulated signal x = (x 0 , x 1 ,. , x W-1 ) is transmitted to the receiving apparatus via the communication path.

一方、受信装置では、復調器4が、通信路を介して受け取った変調信号y=(y0,y1,…,yW-1)に対して、上記BPSK,QPSK,多値QAM等の変調方式に応じたディジタル復調を行い、さらに、受信装置内のデパンクチャ器13が、送信装置にてパンクチャされたビットのデパンクチャ処理を行い、ターボ復号器5が、復調結果に対して、インタリーバ生成器2aで生成したインタリーブパターンを用いて復号を実施し、その復号結果を出力し、ビット調整器14が、送信時に挿入した調整ビットを取り除き、その結果(元のメッセージu0,u1,…,uK-1に対応)を出力する。 On the other hand, in the receiving apparatus, the demodulator 4 performs the above-described BPSK, QPSK, multi-level QAM, etc. on the modulated signal y = (y 0 , y 1 ,..., Y W-1 ) received via the communication path. Digital demodulation according to the modulation method is performed, and further, a depuncture unit 13 in the reception apparatus performs depuncture processing of the bits punctured by the transmission apparatus, and the turbo decoder 5 generates an interleaver generator for the demodulation result. Decoding is performed using the interleave pattern generated in 2a, the decoding result is output, and the bit adjuster 14 removes the adjustment bit inserted at the time of transmission, and the result (original message u 0 , u 1 ,. u corresponding to K-1 ).

なお、上記送信装置と上記受信装置の双方の構成を搭載した通信装置を複数構成し、当該複数の通信装置間で、互いに信号を送受信するようにしても良い。   Note that a plurality of communication devices including both the transmission device and the reception device may be configured, and signals may be transmitted and received between the plurality of communication devices.

また、ターボ符号化器1は、図3−1に示すように、第一の再帰的組織畳込み符号化器101とインタリーバ102と第2の再帰的組織畳込み符号化器103を用いて行う。図3−2は、上記再帰的組織畳込み符号化器の一例であって、たとえば、W-CDMA規格の再帰的組織畳込み符号化器など、ターボ符号を構成する再帰的組織畳込み符号化器であればいずれであっても良い。ターボ復号器5は、上記再帰的組織畳込み符号化器に対応して構成する。   Further, as shown in FIG. 3A, the turbo encoder 1 performs using a first recursive systematic convolutional encoder 101, an interleaver 102, and a second recursive systematic convolutional encoder 103. . FIG. 3-2 is an example of the recursive systematic convolutional encoder described above. For example, a recursive systematic convolutional encoder constituting a turbo code such as a recursive systematic convolutional encoder of the W-CDMA standard is used. Any container may be used. The turbo decoder 5 is configured corresponding to the recursive systematic convolutional encoder.

つぎに、本実施の形態のインタリーバ生成器2aでのインタリーブパターン生成アルゴリズムを示す。   Next, an interleave pattern generation algorithm in the interleaver generator 2a of the present embodiment is shown.

<ステップ1>
(1)パラメータを設定する。
L :入力ビット数
N :インタリーブ行列の列数(素数)
M=ceil(L/N) :インタリーブ行列の行数
(ceil(x)はxを超える最小整数)
s :基本疑似乱数系列読み出し時の開始位置シフト数
(2)Nの原始元を選択する。
G0 :Nの原始元
<Step 1>
(1) Set parameters.
L: Number of input bits
N: Number of interleaved matrix columns (prime number)
M = ceil (L / N): Number of rows of interleaved matrix
(Ceil (x) is the smallest integer that exceeds x)
s: Start position shift number at the time of reading out the basic pseudo random number sequence (2) Select a source element of N.
G 0 : Primitive element of N

具体的に、L:入力ビット数に対して、N:インタリーブ行列の列数(素数P)、M=ceil(L/N):インタリーブ行列の行数(ceil(x)はxを超える最小整数)、s:基本疑似乱数系列読み出し時の開始位置シフト数、G0:Nの原始元の例を記す。 Specifically, L: Number of input bits, N: Number of columns of interleave matrix (prime number P), M = ceil (L / N): Number of rows of interleave matrix (ceil (x) is the smallest integer exceeding x) ), S: start position shift number at the time of reading out the basic pseudorandom number sequence, G 0 : an example of the primitive element of N is described.

入力ビット数Lに対応した、素数P、Pの原始元G0リストを定義する。ここでは、L=40〜82241に対応して、素数P(Pの原始元G0)は{7(3),11(2),13(2),17(3),19(2),23(5),29(2),31(3),37(2),41(6),43(3),47(5),53(2),59(2),61(2),67(2),71(7),73(5),79(3),83(2),89(3),97(5),101(2),103(5),107(2),109(6),113(3),127(3),131(2),137(3),139(2),149(2),151(6),157(5),163(2),167(5),173(2),179(2),181(2),191(19),193(5),197(2),199(3),211(2),223(3),227(2),229(6),233(3),239(7),241(7),251(6),257(3)}を用意する。 A primitive element G 0 list of prime numbers P and P corresponding to the input bit number L is defined. Here, corresponding to L = 40 to 82241, the prime number P (the primitive element G 0 of P) is {7 (3), 11 (2), 13 (2), 17 (3), 19 (2), 23 (5), 29 (2), 31 (3), 37 (2), 41 (6), 43 (3), 47 (5), 53 (2), 59 (2), 61 (2), 67 (2), 71 (7), 73 (5), 79 (3), 83 (2), 89 (3), 97 (5), 101 (2), 103 (5), 107 (2), 109 (6), 113 (3), 127 (3), 131 (2), 137 (3), 139 (2), 149 (2), 151 (6), 157 (5), 163 (2), 167 (5), 173 (2), 179 (2), 181 (2), 191 (19), 193 (5), 197 (2), 199 (3), 211 (2), 223 (3), 227 (2), 229 (6), 233 (3), 239 (7), 241 (7), 251 (6), 257 (3)} are prepared.

A)L<=992のとき
1)列数Nを決める。
P*P≧Lとなる最小の素数Pを検索し、列数N(=P)とする。
2)Pの原始元G0を選択する。
3)行数Mを決める。M=ceil(L/N)、ceil(x)はxを超える最小整数。
4)シフト数sを決める。
M=7のとき、s=5
M=11のとき、s=10
上記以外、s=1
B)L>992のとき
1)列数Nを決める。
32*P≧Lとなる最小の素数Pを検索し、列数N(=P)とする。
2)Pの原始元G0を選択する。
3)行数Mを決める。M=ceil(L/N)、ceil(x)はxを超える最小整数。
4)シフト数sを決める。
M=131のとき、s=2
M=179のとき、s=3
M=227のとき、s=2
上記以外、s=1
A) When L <= 992 1) Determine the number N of columns.
The smallest prime number P satisfying P * P ≧ L is retrieved and the number of columns N (= P) is set.
2) Select the primitive element G 0 of P.
3) Determine the number of rows M. M = ceil (L / N), ceil (x) is the smallest integer exceeding x.
4) Determine the number of shifts s.
When M = 7, s = 5
When M = 11, s = 10
Other than the above, s = 1
B) When L> 992 1) Determine the number of columns N.
The smallest prime number P satisfying 32 * P ≧ L is retrieved and the number of columns N (= P) is set.
2) Select the primitive element G 0 of P.
3) Determine the number of rows M. M = ceil (L / N), ceil (x) is the smallest integer exceeding x.
4) Determine the number of shifts s.
When M = 131, s = 2
When M = 179, s = 3
When M = 227, s = 2
Other than the above, s = 1

<ステップ2>
基本疑似乱数系列を生成する。
C(0) = 1
For i = 0,…,N-3 {C(i+1)=G0×C(i) mod N}
<Step 2>
Generate a basic pseudo-random number sequence.
C (0) = 1
For i = 0, ..., N-3 {C (i + 1) = G 0 × C (i) mod N}

<ステップ3>
系列C(・)をs個ずつシフトして、行列CLj(i)を構成する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-2 {CLj(i)=C(i+s×j mod N)}
CLj(N-1) = 0
<Step 3>
The sequence C (•) is shifted s at a time to form a matrix CL j (i).
For j = 0,1,…, M-1 {
For i = 0,1, ..., N-2 {CL j (i) = C (i + s × j mod N)}
CL j (N-1) = 0
}

<ステップ4>
M×Nの入力行列Uj(i)を用意する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {Uj(i)=i+N×j}
<Step 4>
An M × N input matrix U j (i) is prepared.
For j = 0,1,…, M-1 {
For i = 0,1,…, N-1 {U j (i) = i + N × j}
}

<ステップ5>
M×Nの出力行列U'j(i)を、CLj(i)を用いて用意する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {U'j(i)=U(M-1-j)(CL(M-1-j)(i))}
<Step 5>
An M × N output matrix U ′ j (i) is prepared using CL j (i).
For j = 0,1,…, M-1 {
For i = 0,1,…, N-1 {U ' j (i) = U (M-1-j) (CL (M-1-j) (i))}
}

<ステップ6>
出力系列u(k)を列順に読み出すことで生成する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {u(j+M×i)=U'j(i)}
<Step 6>
Generated by reading the output sequence u (k) in column order.
For j = 0,1,…, M-1 {
For i = 0,1, ..., N-1 {u (j + M × i) = U ' j (i)}
}

また、原始元G0が2の場合には、基本疑似乱数系列を得るために2乗算処理を行うことになるが、2の乗算は1ビットシフトで可能であるから、原始元が2の素数だけにNを限定することで処理量を軽減することも可能である。 In addition, when the primitive element G 0 is 2, a multiplication by two is performed to obtain a basic pseudo-random number sequence. However, since a multiplication of 2 is possible by a 1-bit shift, a prime number with a primitive element of 2 is used. It is also possible to reduce the processing amount by limiting N only to this.

また、本実施の形態では、列数を素数で定義してその原始元から疑似乱数系列を生成しているが、列数を任意の整数としてその互いに素な整数を用いて疑似乱数系列を生成するなどの方法で重複のない疑似乱数系列を生成することも可能であり、実施の形態1、2に記載の<ステップ1>〜<ステップ6>、実施の形態3に記載の<ステップ1>、<ステップ2>のみを実施しても良い。   In this embodiment, the number of columns is defined as a prime number and a pseudo-random number sequence is generated from the primitive element. However, a pseudo-random number sequence is generated using the relatively prime integer with the number of columns being an arbitrary integer. It is also possible to generate a pseudo-random number sequence without duplication by a method such as <Step 1> to <Step 6> described in Embodiments 1 and 2, and <Step 1> described in Embodiment 3. <Step 2> may be performed only.

本実施の形態では、本来の情報ビットに対して0もしくは1など既知の情報を挿入して、ターボ符号の入力長をインタリーバの大きさに調整することで、インタリーバ生成におけるプルーニング処理をなくすこととした。これにより、インタリーバの生成処理を簡易にすることができる。   In the present embodiment, pruning processing in interleaver generation is eliminated by inserting known information such as 0 or 1 into the original information bits and adjusting the input length of the turbo code to the size of the interleaver. did. Thereby, the generation process of the interleaver can be simplified.

実施の形態5.
つづいて、実施の形態5の通信システムについて説明する。なお、本実施の形態のシステムにおいて、送信装置および受信装置の構成については、前述した実施の形態1の図1と同様である。以下、実施の形態1と異なる処理について説明する。
Embodiment 5. FIG.
Next, the communication system according to the fifth embodiment will be described. In the system of the present embodiment, the configurations of the transmission device and the reception device are the same as those in FIG. 1 of the first embodiment described above. Hereinafter, processing different from the first embodiment will be described.

ここで、実施の形態5のインタリーバ生成器2でのインタリーブパターン生成アルゴリズムを示す。   Here, an interleave pattern generation algorithm in the interleaver generator 2 according to the fifth embodiment will be described.

なお、<ステップ4>、<ステップ5>を除く他のステップは、実施の形態1、実施の形態2と同様である。<ステップ4>、<ステップ5>のみ記す。   The steps other than <Step 4> and <Step 5> are the same as those in the first and second embodiments. Only <Step 4> and <Step 5> are described.

<ステップ4>
M×Nの入力行列Uj(i)を用意する。
For i = 0,1,…,N-1 {
For j = 0,1,…,M-1 [Uj(i)=j+M×i}
<Step 4>
An M × N input matrix U j (i) is prepared.
For i = 0,1,…, N-1 {
For j = 0,1,…, M-1 [U j (i) = j + M × i}
}

<ステップ5>
M×Nの出力行列U'j(i)を、CLj(i)を用いて用意する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {U'j(i)=U(M-1-j)(CL(M-1-j)(i))}
<Step 5>
An M × N output matrix U ′ j (i) is prepared using CL j (i).
For j = 0,1,…, M-1 {
For i = 0,1,…, N-1 {U ' j (i) = U (M-1-j) (CL (M-1-j) (i))}
}

または、
<ステップ5>
M×Nの出力行列U'j(i)を、CLj(i)を用いて用意する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 [U'j(i)=Uj(CLj(i))}
Or
<Step 5>
An M × N output matrix U ′ j (i) is prepared using CL j (i).
For j = 0,1,…, M-1 {
For i = 0,1,…, N-1 [U ' j (i) = U j (CL j (i))}
}

入力行列を用意する際に、行方向に連続するように番号を書き込むが、本実施の形態では、列方向に連続するように番号を書き込む。従来から出力系列は列方向に連続するように読み出しており、入出系列を出力系列の書き込みと読み出しを同方向にすることで処理を簡易にすることができる。   When preparing an input matrix, numbers are written so as to be continuous in the row direction, but in this embodiment, numbers are written so as to be continuous in the column direction. Conventionally, the output series is read out so as to be continuous in the column direction, and the processing can be simplified by making the input / output series in the same direction for writing and reading the output series.

実施の形態6.
つづいて、実施の形態6の通信システムについて説明する。なお、本実施の形態のシステムにおいて、送信装置および受信装置の構成については、前述した実施の形態1の図1と同様である。
Embodiment 6 FIG.
Next, the communication system according to the sixth embodiment will be described. In the system of the present embodiment, the configurations of the transmission device and the reception device are the same as those in FIG. 1 of the first embodiment described above.

ここで、実施の形態6のインタリーバ生成器2でのインタリーブパターン生成アルゴリズムを示す。なお、<ステップ1>以外の処理については前述した実施の形態1と同様である。   Here, an interleave pattern generation algorithm in the interleaver generator 2 according to the sixth embodiment will be described. The processes other than <Step 1> are the same as those in the first embodiment described above.

<ステップ1>
(1)パラメータを設定する。
L :入力ビット数
N :インタリーブ行列の列数(素数)
M :インタリーブ行列の行数
s :基本疑似乱数系列読み出し時の開始位置シフト数
(2)Nの原始元を選択する。
G0 :Nの原始元
<Step 1>
(1) Set parameters.
L: Number of input bits
N: Number of interleaved matrix columns (prime number)
M: Number of rows in interleave matrix
s: Start position shift number at the time of reading out the basic pseudo random number sequence (2) Select a source element of N.
G 0 : Primitive element of N

(3)入力ビット数Lに対応した、素数P,素数Pの原始元G0,シフト数sのリストを定義する。ここでは、L=40〜8224に対応して、素数P(Pの原始元G0,シフト数s)は{7(3,5),11(2,10),13(2,1),17(3,1),19(2,15),23(5,2),29(2,5),31(3,1),37(2,1),41(6,1),43(3,1),47(5,1),53(2,1),59(2,7),61(2,1),67(2,1),71(7,1),73(5,1),79(3,1),83(2,1),89(3,1),97(5,1),101(2,2),103(5,2),107(2,2),109(6,1),113(3,1),127(3,1),131(2,13),137(3,4),139(2,2),149(2,2),151(6,1),157(5,1),163(2,4),167(5,2),173(2,2),179(2,3),181(2,2),191(19,1),193(5,1),197(2,3),199(3,2),211(2,2),223(3,1),227(2,3),229(6,2),233(3,1),239(7,1),241(7,1),251(6,1),257(3,1)}を用意する。 (3) A list of prime numbers P, prime elements G 0 of prime numbers P, and shift numbers s corresponding to the number of input bits L is defined. Here, corresponding to L = 40 to 8224, the prime number P (P primitive element G 0 , shift number s) is {7 (3,5), 11 (2,10), 13 (2,1), 17 (3, 1), 19 (2, 15), 23 (5, 2), 29 (2, 5), 31 (3, 1), 37 (2, 1), 41 (6, 1), 43 (3,1), 47 (5,1), 53 (2,1), 59 (2,7), 61 (2,1), 67 (2,1), 71 (7,1), 73 ( 5,1), 79 (3,1), 83 (2,1), 89 (3,1), 97 (5,1), 101 (2,2), 103 (5,2), 107 (2 , 2), 109 (6,1), 113 (3,1), 127 (3,1), 131 (2,13), 137 (3,4), 139 (2,2), 149 (2, 2), 151 (6, 1), 157 (5, 1), 163 (2, 4), 167 (5, 2), 173 (2, 2), 179 (2, 3), 181 (2, 2 ), 191 (19, 1), 193 (5, 1), 197 (2, 3), 199 (3, 2), 211 (2, 2), 223 (3, 1), 227 (2, 3) , 229 (6, 2), 233 (3, 1), 239 (7, 1), 241 (7, 1), 251 (6, 1), 257 (3, 1)}.

A)L≦930のとき
1)列数Nを決める。
P*(P-1)≧Lとなる最小の素数Pを検索し、列数N(=P)、行数M(=P-1)とする。
2)Pの原始元G0をリストから読む。
3)Pに対応したシフト数sをリストから読む。
B)L>930のとき
1)列数Nを決める。
行数M=32とする。
M*P≧Lとなる最小の素数Pを検索し、列数N(=P)とする。
2)Pの原始元G0をリストから読む。
3)Pに対応したシフト数sをリストから読む。
A) When L ≦ 930 1) Determine the number of columns N.
The smallest prime number P satisfying P * (P−1) ≧ L is searched for, and the number of columns N (= P) and the number of rows M (= P−1) are set.
2) Read P's primitive element G 0 from the list.
3) Read the shift number s corresponding to P from the list.
B) When L> 930 1) Determine the number N of columns.
The number of lines is M = 32.
The smallest prime number P satisfying M * P ≧ L is retrieved and the number of columns N (= P) is set.
2) Read P's primitive element G 0 from the list.
3) Read the shift number s corresponding to P from the list.

<ステップ2>
基本疑似乱数系列を生成する。
C(0) = 1
For i = 0,…,N-3 {C(i+1)=G0×C(i) mod N}
C(N-1) = 0
<Step 2>
Generate a basic pseudo-random number sequence.
C (0) = 1
For i = 0, ..., N-3 {C (i + 1) = G 0 × C (i) mod N}
C (N-1) = 0

<ステップ3>
系列C(・)をs個ずつシフトして、行列CLj(i)を構成する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {CLj(i)=C(i+s×j mod N)}
<Step 3>
The sequence C (•) is shifted s at a time to form a matrix CL j (i).
For j = 0,1,…, M-1 {
For i = 0,1, ..., N-1 {CL j (i) = C (i + s × j mod N)}
}

<ステップ4>
M×Nの入力行列Uj(i)を用意する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {Uj(i)=i+N×j}
<Step 4>
An M × N input matrix U j (i) is prepared.
For j = 0,1,…, M-1 {
For i = 0,1,…, N-1 {U j (i) = i + N × j}
}

<ステップ5>
M×Nの出力行列U'j(i)を、CLj(i)を用いて用意する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {U'j(i)=U(M-1-j)(CL(M-1-j)(i))}
<Step 5>
An M × N output matrix U ′ j (i) is prepared using CL j (i).
For j = 0,1,…, M-1 {
For i = 0,1,…, N-1 {U ' j (i) = U (M-1-j) (CL (M-1-j) (i))}
}

<ステップ6>
出力系列u(k)を列順に読み出すことで生成する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {u(j+M×i)=U'j(i)}
<Step 6>
Generated by reading the output sequence u (k) in column order.
For j = 0,1,…, M-1 {
For i = 0,1, ..., N-1 {u (j + M × i) = U ' j (i)}
}

<ステップ7>
プルーニング
用意した行列の大きさと情報長に差がある場合には、情報長を超える大きさを持つ出力値(u(k)≧K)を削除する。
<Step 7>
Pruning If there is a difference between the size of the prepared matrix and the information length, the output value (u (k) ≧ K) having a size exceeding the information length is deleted.

なお、ステップ2のランダム系列は以下のように生成しても良い。
<ステップ2>
For i = 0,…,N-2 {C(i)=(G0)i mod N}
C(N-1) = 0
Note that the random sequence in step 2 may be generated as follows.
<Step 2>
For i = 0, ..., N-2 {C (i) = (G 0 ) i mod N}
C (N-1) = 0

つづいて、上記インタリーブパターン生成アルゴリズムによりインタリーブパターンを生成した場合の、復号処理の一例について説明する。復号過程において、受信信号y1kと外部情報Le(x1k)を行数Mと同じだけ用意した別のメモリバンクに記憶する。たとえば、先頭からN個のデータ(0≦k≦N-1)をメモリバンク1に、次のN個のデータ(N≦k≦2×N-1)をメモリバンク2に、次のN個のデータ(2×N≦k≦3×N-1)をメモリバンク3に、…、と順に記憶しておく。インタリーブ前の復号を並列にするには、メモリバンクごとに復号が生じるので同じメモリバンクにアクセスすることはなく、行数M(メモリバンク数)の並列化が可能である。 Next, an example of a decoding process when an interleave pattern is generated by the above interleave pattern generation algorithm will be described. In the decoding process, the received signal y 1k and the external information Le (x 1k ) are stored in another memory bank prepared as many as the number of rows M. For example, the first N pieces of data (0 ≦ k ≦ N−1) are stored in the memory bank 1 and the next N pieces of data (N ≦ k ≦ 2 × N−1) are stored in the memory bank 2 and the next N pieces of data. (2 × N ≦ k ≦ 3 × N−1) are stored in the memory bank 3 in order. In order to parallelize decoding before interleaving, decoding occurs for each memory bank, so the same memory bank is not accessed, and parallelization of the number of rows M (number of memory banks) is possible.

ここで、本実施の形態においては、インタリーブ後の復号においても同じメモリバンクにアクセスすることがなく、行数M(メモリバンク数)の並列化が可能であることを説明する。インタリーブ後の系列は、先頭から順に、C(s×(M-1) mod N)+N×(M-1),C(s×(M-2) mod N)+N×(M-2),…,C(s mod N)+N,C(0),C(1+s×(M-1) mod N)+N×(M-1),C(1+s×(M-2) mod N)+N×(M-2),…,C(1+s mod N)+N,C(1),C(2+s×(M-1) mod N)+N×(M-1),C(2+s×(M-2) mod N)+N×(M-2),…,C(2+s mod N)+N,C(2),…となる。M個のメモリバンクに対するアクセスは、周期的に生じており、並列化するには各処理の最初にアクセスするメモリバンクが重ならなければ、処理中に同じメモリバンクにアクセスすることはない。M×N個の系列をM分割すると、先頭からN個ずつ区切られ、NとMは互いに素な関係にあるため、各並列処理で最初にアクセスするメモリバンクB(i)は、
B(i) = N×i mod M (0≦i≦M-1)
で表すことができ、いずれのB(i)についても同じになることはない。B(i)の式は、互いに素な関係により疑似乱数を生成する手段と同じ原理となる。
Here, in the present embodiment, it will be described that the same memory bank is not accessed in decoding after interleaving, and that the number of rows M (number of memory banks) can be parallelized. The sequence after interleaving is C (s × (M-1) mod N) + N × (M-1), C (s × (M-2) mod N) + N × (M-2 ), ..., C (s mod N) + N, C (0), C (1 + s × (M-1) mod N) + N × (M-1), C (1 + s × (M- 2) mod N) + N × (M-2), ..., C (1 + s mod N) + N, C (1), C (2 + s × (M-1) mod N) + N × ( M-1), C (2 + s × (M-2) mod N) + N × (M-2),..., C (2 + s mod N) + N, C (2),. Accesses to M memory banks occur periodically, and in order to perform parallel processing, if the memory banks accessed at the beginning of each process do not overlap, the same memory bank is not accessed during the process. When M × N sequences are divided into M, N is divided from the beginning, and N and M are in a relatively prime relationship, so the memory bank B (i) that is accessed first in each parallel processing is
B (i) = N × i mod M (0 ≦ i ≦ M-1)
And no B (i) is the same. The formula of B (i) is based on the same principle as a means for generating a pseudo random number based on a relatively prime relationship.

また、並列数がM未満のM'でもメモリバンクのアクセスが衝突することはなく、並列処理を行うことが可能である。先頭からWビットづつM'個に区切り、M'並列する場合に、各並列処理で最初にアクセスするメモリバンクB(i)は、
B(i)=W×i mod M (0≦i≦M-1)
となる。WはMと互いに素であれば別のメモリバンクにアクセスし、Mが32の場合にWは奇数ならば互いに素となるため、メモリバンク数M以下の正の整数1≦W≦Mでの並列化が可能となる。
In addition, even when M ′ is less than M in parallel, access to the memory bank does not collide, and parallel processing can be performed. The memory bank B (i) that is first accessed in each parallel processing when M 'parallel is divided into M' pieces by W bits from the top,
B (i) = W × i mod M (0 ≦ i ≦ M-1)
It becomes. If W is relatively prime with M, another memory bank is accessed, and if M is 32, W is relatively prime if odd, so a positive integer less than or equal to the number of memory banks M is 1 ≦ W ≦ M Parallelization is possible.

また、本実施の形態では、素数Pとその原始元G0を用いて疑似乱数系列を生成したが、実施の形態2のように素数Pと互いに素な整数で疑似乱数系列を生成しても良い。また、実施の形態4のようにプルーニングを用いてインタリーバの大きさを調整せず、入力ビットに既知のビットを挿入してインタリーバの大きさと同じ入力ビット数として符号化しても良い。 In this embodiment, a pseudo-random number sequence is generated using the prime number P and its primitive element G 0. However, even if the pseudo-random number sequence is generated with a prime integer that is relatively prime to the prime number P as in the second embodiment, good. Further, as in the fourth embodiment, the size of the interleaver may not be adjusted using pruning, and a known bit may be inserted into the input bits and encoded as the same number of input bits as the size of the interleaver.

以上のように、本実施の形態によれば、列数と行数を互いに素な関係になるようにラテン方陣またはラテン長方形構造を持つLRIインタリーバを設計した。これにより、並列処理の選択肢が増え、高速処理が必要な復号回路の実装において、並列処理も選択肢を広くとることができる。   As described above, according to the present embodiment, an LRI interleaver having a Latin square or Latin rectangular structure is designed so that the number of columns and the number of rows are relatively prime. As a result, the number of options for parallel processing increases, and in the implementation of a decoding circuit that requires high-speed processing, the options for parallel processing can be widened.

実施の形態7.
つづいて、実施の形態7の通信システムについて説明する。なお、本実施の形態のシステムにおいて、送信装置および受信装置の構成については、前述した実施の形態6と同様である。以下、実施の形態6と異なる処理について説明する。
Embodiment 7 FIG.
Next, the communication system according to the seventh embodiment will be described. In the system according to the present embodiment, the configurations of the transmission device and the reception device are the same as those in the above-described sixth embodiment. Hereinafter, processing different from that of the sixth embodiment will be described.

具体的には、実施の形態7のインタリーブパターン生成アルゴリズムにおいては、<ステップ4>の処理が実施の形態6と異なっている。   Specifically, in the interleave pattern generation algorithm of the seventh embodiment, the process of <Step 4> is different from that of the sixth embodiment.

<ステップ4>
M×Nの入力行列Uj(i)を用意する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {Uj(i)=j+M×i}
<Step 4>
An M × N input matrix U j (i) is prepared.
For j = 0,1,…, M-1 {
For i = 0,1, ..., N-1 {U j (i) = j + M × i}
}

つづいて、上記実施の形態7のインタリーブパターン生成アルゴリズムによりインタリーブパターンを生成した場合の、復号処理の一例について説明する。復号過程において、受信信号y1kと外部情報Le(x1k)を行数Mと同じだけ用意した別のメモリバンクに記憶する。たとえば、データ番号kが(k mod M = 0)となるデータ(N個)をメモリバンク1に、データ番号kが(k mod M = 1)となるデータ(N個)をメモリバンク2に、データ番号kが(k mod M = 2)となるデータ(N個)をメモリバンク3に、…、と順に記憶しておく。M個のメモリバンクのアクセスは周期的に生じており、並列化するには各処理の最初にアクセスするメモリバンクが重ならなければ、処理中に同じメモリバンクにアクセスすることはない。M×N個の系列をM分割すると、先頭からN個ずつ区切られ、NとMは互いに素な関係にあるため、各並列処理で最初にアクセスするメモリバンクB(i)は、
B(i) = N×i mod M (0≦i≦M-1)
で表すことができ、いずれのB(i)についても同じになることはない。B(i)の式は、互いに素な関係により疑似乱数を生成する手段と同じ原理となる。
Next, an example of decoding processing when an interleave pattern is generated by the interleave pattern generation algorithm of the seventh embodiment will be described. In the decoding process, the received signal y 1k and the external information Le (x 1k ) are stored in another memory bank prepared as many as the number of rows M. For example, data (N) whose data number k is (k mod M = 0) is stored in the memory bank 1, data (N) whose data number k is (k mod M = 1) is stored in the memory bank 2, and so on. Data (N pieces) whose data number k is (k mod M = 2) is stored in the memory bank 3 in order. Access to M memory banks occurs periodically, and in order to parallelize, if the memory banks accessed at the beginning of each process do not overlap, the same memory bank is not accessed during the process. When M × N sequences are divided into M, N is divided from the beginning, and N and M are in a relatively prime relationship, so the memory bank B (i) that is accessed first in each parallel processing is
B (i) = N × i mod M (0 ≦ i ≦ M-1)
And no B (i) is the same. The formula of B (i) is based on the same principle as a means for generating a pseudo random number based on a relatively prime relationship.

また、並列数がM未満のM'でもメモリバンクのアクセスが衝突することはなく、並列処理を行うことが可能である。先頭からWビットづつM'個に区切り、M'並列する場合に、各並列処理で最初にアクセスするメモリバンクB(i)は、
B(i)=W×i mod M (0≦i≦M-1)
となる。WはMと互いに素であれば別のメモリバンクにアクセスし、Mが32の場合にWは奇数ならば互いに素となるため、メモリバンク数M以下の正の整数1≦W≦Mでの並列化が可能となる。
In addition, even when M ′ is less than M in parallel, access to the memory bank does not collide, and parallel processing can be performed. The memory bank B (i) that is first accessed in each parallel processing when M 'parallel is divided into M' pieces by W bits from the top,
B (i) = W × i mod M (0 ≦ i ≦ M-1)
It becomes. If W is relatively prime with M, another memory bank is accessed, and if M is 32, W is relatively prime if odd, so a positive integer less than or equal to the number of memory banks M is 1 ≦ W ≦ M Parallelization is possible.

また、本実施の形態では素数Pとその原始元G0を用いて疑似乱数系列を生成したが、実施の形態2のように素数Pと互いに素な整数で疑似乱数系列を生成しても良い。また、実施の形態4のようにプルーニングを用いてインタリーバの大きさを調整せず、入力ビットに既知のビットを挿入してインタリーバの大きさと同じ入力ビット数として符号化しても良い。 In this embodiment, the pseudo-random number sequence is generated using the prime number P and its primitive element G 0. However, as in the second embodiment, the pseudo-random number sequence may be generated using an integer that is relatively prime to the prime number P. . Further, as in the fourth embodiment, the size of the interleaver may not be adjusted using pruning, and a known bit may be inserted into the input bits and encoded as the same number of input bits as the size of the interleaver.

以上のように、本実施の形態によれば、列数と行数を互いに素な関係になるようにラテン方陣またはラテン長方形構造を持つLRIインタリーバを設計することとした。これにより、並列処理の選択肢が増え、高速処理が必要な復号回路の実装において、並列処理も選択肢を広くとることができる。   As described above, according to the present embodiment, the LRI interleaver having a Latin square or Latin rectangular structure is designed so that the number of columns and the number of rows are relatively prime. As a result, the number of options for parallel processing increases, and in the implementation of a decoding circuit that requires high-speed processing, the options for parallel processing can be widened.

実施の形態8.
つづいて、実施の形態8の通信システムについて説明する。なお、本実施の形態のシステムにおいて、送信装置および受信装置の構成については、前述した実施の形態2と同様である。以下、実施の形態2と異なる処理について説明する。
Embodiment 8 FIG.
Next, the communication system according to the eighth embodiment will be described. In the system according to the present embodiment, the configurations of the transmission device and the reception device are the same as those in the second embodiment described above. Hereinafter, processing different from the second embodiment will be described.

具体的には、実施の形態8のインタリーブパターン生成アルゴリズムにおいては、<ステップ4>の処理が実施の形態2と異なっている。   Specifically, in the interleave pattern generation algorithm of the eighth embodiment, the process of <Step 4> is different from that of the second embodiment.

<ステップ4>
M×Nの入力行列Uj(i)を用意する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {Uj(i)=j+M×i}
<Step 4>
An M × N input matrix U j (i) is prepared.
For j = 0,1,…, M-1 {
For i = 0,1, ..., N-1 {U j (i) = j + M × i}
}

つづいて、上記実施の形態8のインタリーブパターン生成アルゴリズムによりインタリーブパターンを生成した場合の、復号処理の一例について説明する。復号過程において、受信信号y1kと外部情報Le(x1k)を行数Mと同じだけ用意した別のメモリバンクに記憶する。たとえば、データ番号kが(k mod M = 0)となるデータ(N個)をメモリバンク1に、データ番号kが(k mod M = 1)となるデータ(N個)をメモリバンク2に、データ番号kが(k mod M = 2)となるデータ(N個)をメモリバンク3に、…と順に記憶しておく。M個のメモリバンクのアクセスは周期的に生じており、並列化するには各処理の最初にアクセスするメモリバンクが重ならなければ、処理中に同じメモリバンクにアクセスすることはない。M×N個の系列をW分割して並列処理する場合、先頭からW個ずつ区切られ、各並列処理で最初にアクセスするメモリバンクB(i)は、
B(i) = N×i mod W
で表すことができるので、Nと互いに素なWのときには並列処理が可能となる。
Next, an example of decoding processing when an interleave pattern is generated by the interleave pattern generation algorithm of the eighth embodiment will be described. In the decoding process, the received signal y 1k and the external information Le (x 1k ) are stored in another memory bank prepared as many as the number of rows M. For example, data (N) whose data number k is (k mod M = 0) is stored in the memory bank 1, data (N) whose data number k is (k mod M = 1) is stored in the memory bank 2, and so on. Data (N pieces) of which the data number k is (k mod M = 2) is stored in the memory bank 3 in order. Access to M memory banks occurs periodically, and in order to parallelize, if the memory banks accessed at the beginning of each process do not overlap, the same memory bank is not accessed during the process. When M × N series are divided into W and processed in parallel, the memory bank B (i) that is divided into W pieces from the top and accessed first in each parallel process is
B (i) = N × i mod W
Therefore, parallel processing is possible when N is disjoint with W.

また、上記とは違い、列数Nと同数のメモリバンクを用意し、先頭からM個のデータ(0≦k≦M-1)をメモリバンク1に、次のM個のデータ(M≦k≦2×M-1)をメモリバンク2に、次のM個のデータ(2×M≦k≦3×M-1)をメモリバンク3に、…と順に記憶しておくことで、列数Nと同数もしくはNの約数の並列化が可能となり、メモリバンクを列数の約数N'と同数用意すれば、その同数N'もしくはN'の約数だけ並列化が可能であることを説明する。列数Nのメモリバンクがある場合、インタリーブ前にはメモリバンクごとにアクセスして復号処理が行われるので、同じメモリバンクにアクセスすることはない。インタリーブ後の処理では、インタリーブ前のように順序だっておらず、生成した乱数系列に基づいてメモリバンクへのアクセスが発生するが、ラテン方陣・ラテン長方形構造に基づくため、同じメモリバンクにアクセスすることはない。同様に列数Nの約数で並列化する場合にも、「N = N' mod d」となる約数N',分割数dを用いて、N並列での一処理をd回シリアルに行うことで、N'並列が可能となる。N'のメモリバンクを使って並列化する場合も同様である。   Further, unlike the above, the same number of memory banks as the number of columns N are prepared, and M data (0 ≦ k ≦ M−1) from the top is stored in the memory bank 1 and the next M data (M ≦ k ≦ 2 × M−1) is stored in memory bank 2 and the next M data (2 × M ≦ k ≦ 3 × M−1) are stored in memory bank 3 in order, so that the number of columns It is possible to parallelize the same number as N or a divisor of N. If you prepare the same number of memory banks as the divisor N 'of the number of columns, it is possible to parallelize the same number N' or N 'divisor. explain. In the case where there are N memory banks, the same memory bank is never accessed because decoding is performed for each memory bank before interleaving. In the processing after interleaving, the order is not the same as before interleaving, and access to the memory bank occurs based on the generated random number sequence. There is no. Similarly, when parallelizing with a divisor of the number of columns N, one process in N parallel is serially performed d times using the divisor N ′ and the division number d such that “N = N ′ mod d”. Thus, N 'parallelism becomes possible. The same applies to parallelization using N 'memory banks.

また、実施の形態4のようにプルーニングを用いてインタリーバの大きさを調整せず、入力ビットに既知のビットを挿入してインタリーバの大きさと同じ入力ビット数として符号化しても良い。   Further, as in the fourth embodiment, the size of the interleaver may not be adjusted using pruning, and a known bit may be inserted into the input bits and encoded as the same number of input bits as the size of the interleaver.

以上のように、本実施の形態によれば、ラテン方陣またはラテン長方形構造を持つLRIインタリーバの基本疑似乱数を、列数と互いに素な整数を用いて生成することとした。これにより、列数の選択枝が増え、良好な特性を持つ組み合わせを検索することが容易となる。   As described above, according to the present embodiment, the basic pseudo-random number of the LRI interleaver having a Latin square or Latin rectangular structure is generated using integers that are relatively prime to the number of columns. As a result, the number of choices of the number of columns increases, and it becomes easy to search for combinations having good characteristics.

実施の形態9.
つづいて、実施の形態9の通信システムについて説明する。なお、本実施の形態のシステムにおいて、送信装置および受信装置の構成については、前述した実施の形態6と同様である。以下、実施の形態6と異なる処理について説明する。
Embodiment 9 FIG.
Next, the communication system according to the ninth embodiment will be described. In the system according to the present embodiment, the configurations of the transmission device and the reception device are the same as those in the above-described sixth embodiment. Hereinafter, processing different from that of the sixth embodiment will be described.

具体的には、実施の形態9のインタリーブパターン生成アルゴリズムにおいては、<ステップ1>,<ステップ5>の処理が実施の形態6と異なっている。   Specifically, in the interleave pattern generation algorithm of the ninth embodiment, the processes of <Step 1> and <Step 5> are different from those of the sixth embodiment.

<ステップ1>
(1)パラメータを設定する。
L :入力ビット数
N :インタリーブ行列の列数(素数)
M :インタリーブ行列の行数
s :基本疑似乱数系列読み出し時の開始位置シフト数
(2)Nの原始元を選択する。
G0 :Nの原始元
<Step 1>
(1) Set parameters.
L: Number of input bits
N: Number of interleaved matrix columns (prime number)
M: Number of rows in interleave matrix
s: Start position shift number at the time of reading out the basic pseudo random number sequence (2) Select a source element of N.
G 0 : Primitive element of N

(3)入力ビット数Lに対応した、素数P,素数Pの原始元G0のリストを定義する。ここでは、L=40〜8224に対応して、素数P(Pの原始元G0)は、{7(3),11(2),13(2),17(3),19(2),23(5),29(2),31(3),37(2),41(6),43(3),47(5),53(2),59(2),61(2),67(2),71(7),73(5),79(3),83(2),89(3),97(5),101(2),103(5),107(2),109(6),113(3),127(3),131(2),137(3),139(2),149(2),151(6),157(5),163(2),167(5),173(2),179(2),181(2),191(19),193(5),197(2),199(3),211(2),223(3),227(2),229(6),233(3),239(7),241(7),251(6),257(3)}を用意する。 (3) A list of prime numbers P and prime elements G 0 of prime numbers P corresponding to the input bit number L is defined. Here, corresponding to L = 40 to 8224, the prime number P (the primitive element G 0 of P) is {7 (3), 11 (2), 13 (2), 17 (3), 19 (2) , 23 (5), 29 (2), 31 (3), 37 (2), 41 (6), 43 (3), 47 (5), 53 (2), 59 (2), 61 (2) , 67 (2), 71 (7), 73 (5), 79 (3), 83 (2), 89 (3), 97 (5), 101 (2), 103 (5), 107 (2) , 109 (6), 113 (3), 127 (3), 131 (2), 137 (3), 139 (2), 149 (2), 151 (6), 157 (5), 163 (2) , 167 (5), 173 (2), 179 (2), 181 (2), 191 (19), 193 (5), 197 (2), 199 (3), 211 (2), 223 (3) , 227 (2), 229 (6), 233 (3), 239 (7), 241 (7), 251 (6), 257 (3)}.

A)L≦930のとき
1)列数Nを決める。
P*(P-1)≧Lとなる最小の素数Pを検索し、列数N(=P)、行数M(=P-1)とする。
2)Pの原始元G0をリストから読む。
B)L>930のとき
1)列数Nを決める。
行数M=32とする。
M*P≧Lとなる最小の素数Pを検索し、列数N(=P)とする。
2)Pの原始元G0をリストから読む。
A) When L ≦ 930 1) Determine the number of columns N.
The smallest prime number P satisfying P * (P−1) ≧ L is searched for, and the number of columns N (= P) and the number of rows M (= P−1) are set.
2) Read P's primitive element G 0 from the list.
B) When L> 930 1) Determine the number N of columns.
The number of lines is M = 32.
The smallest prime number P satisfying M * P ≧ L is retrieved and the number of columns N (= P) is set.
2) Read P's primitive element G 0 from the list.

<ステップ5>
M個の疑似乱数系列を生成する。行数Mと互いに素な整数Qを用意し、
For j = 0,…,M-1 {D(j)=j×Q mod M}
疑似乱数D(j)に基づいて、M×Nの出力行列U'j(i)を、CLj(i)を用いて用意する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {U'j(i)=U(D(j))(CL(D(j))(i))}
<Step 5>
Generate M pseudo-random number sequences. Prepare number of lines M and disjoint integer Q,
For j = 0, ..., M-1 {D (j) = j × Q mod M}
Based on the pseudo random number D (j), an M × N output matrix U ′ j (i) is prepared using CL j (i).
For j = 0,1,…, M-1 {
For i = 0,1,…, N-1 {U ' j (i) = U (D (j)) (CL (D (j)) (i))}
}

以上のように、本実施の形態によれば、列数と行数を互いに素な関係になるようにラテン方陣またはラテン長方形構造を持つLRIインタリーバを設計することとした。これにより、並列処理の選択肢が増え、高速処理が必要な復号回路の実装において、並列処理も選択肢を広くとることができる。   As described above, according to the present embodiment, the LRI interleaver having a Latin square or Latin rectangular structure is designed so that the number of columns and the number of rows are relatively prime. As a result, the number of options for parallel processing increases, and in the implementation of a decoding circuit that requires high-speed processing, the options for parallel processing can be widened.

実施の形態10.
つづいて、実施の形態10の通信システムについて説明する。なお、本実施の形態のシステムにおいて、送信装置および受信装置の構成については、前述した実施の形態8と同様である。以下、実施の形態8と異なる処理について説明する。
Embodiment 10 FIG.
Next, the communication system according to the tenth embodiment will be described. In the system according to the present embodiment, the configurations of the transmission device and the reception device are the same as those in the above-described eighth embodiment. Hereinafter, processing different from that of the eighth embodiment will be described.

具体的には、実施の形態10のインタリーブパターン生成アルゴリズムにおいては、<ステップ5>の処理が実施の形態8と異なっている。   Specifically, in the interleave pattern generation algorithm of the tenth embodiment, the process of <Step 5> is different from that of the eighth embodiment.

<ステップ5>
M個の疑似乱数系列を生成する。行数Mと互いに素な整数Qを用意し、
For j = 0,…,M-1 {D(j)=j×Q mod M}
疑似乱数D(j)を用いて、M×Nの出力行列U'j(i)を、CLj(i)を用いて用意する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {U'j(i)=U(D(j))(CL(D(j))(i))}
<Step 5>
Generate M pseudo-random number sequences. Prepare number of lines M and disjoint integer Q,
For j = 0, ..., M-1 {D (j) = j × Q mod M}
An M × N output matrix U ′ j (i) is prepared using CL j (i) using the pseudo random number D (j).
For j = 0,1,…, M-1 {
For i = 0,1,…, N-1 {U ' j (i) = U (D (j)) (CL (D (j)) (i))}
}

なお、本実施の形態では行数Nと互いに素な正整数を用いて行内置換用の疑似乱数系列を生成したが、実施の形態1のように素数Pの原始元を用いて疑似乱数系列を生成しても良い。   In this embodiment, a pseudo-random number sequence for in-line replacement is generated using a positive integer that is relatively prime to the number N of rows. However, as in Embodiment 1, a pseudo-random sequence is generated using a primitive element of prime number P. It may be generated.

以上のように、本実施の形態によれば、列数と行数を互いに素な関係になるようにラテン方陣またはラテン長方形構造を持つLRIインタリーバを設計することとした。これにより、並列処理の選択肢が増え、高速処理が必要な復号回路の実装において、並列処理も選択肢を広くとることができる。   As described above, according to the present embodiment, the LRI interleaver having a Latin square or Latin rectangular structure is designed so that the number of columns and the number of rows are relatively prime. As a result, the number of options for parallel processing increases, and in the implementation of a decoding circuit that requires high-speed processing, the options for parallel processing can be widened.

実施の形態11.
つづいて、実施の形態11の通信システムについて説明する。なお、本実施の形態のシステムにおいて、送信装置および受信装置の構成については、前述した実施の形態6と同様である。以下、実施の形態6と異なる処理について説明する。
Embodiment 11 FIG.
Next, the communication system according to the eleventh embodiment will be described. In the system according to the present embodiment, the configurations of the transmission device and the reception device are the same as those in the above-described sixth embodiment. Hereinafter, processing different from that of the sixth embodiment will be described.

ここで、実施の形態11のインタリーブパターン生成アルゴリズムを示す。   Here, an interleave pattern generation algorithm according to the eleventh embodiment will be described.

<ステップ1>
(1)パラメータを設定する。
L :入力ビット数
N :インタリーブ行列の列数(素数)
M :インタリーブ行列の行数
(2)Nの原始元を選択する。
G0 :Nの原始元
<Step 1>
(1) Set parameters.
L: Number of input bits
N: Number of interleaved matrix columns (prime number)
M: Number of rows of interleaved matrix (2) Select N primitive elements.
G 0 : Primitive element of N

(3)入力ビット数Lに対応した、素数P,Pの原始元G0のリストを定義する。素数Pの原始元は、
(G0)i mod P (0≦i≦P-1)
と計算して、0≦i≦P-1のすべての数が現れる場合のG0である。たとえば、P=7では、G0=3とG0=5が原始元となる。ここでは、L=40〜8224に対応してリストを用意するが、説明の便宜上、一部を省略して記すこととする。(素数P:原始元)={(7:3,5),(11:2,6,7,8),(13:2,6,7,11),(17:3,5,6,7,10,11,12,14),(19:2,3,10,13,14,15),(23:5,7,10,11,14,15,17,19,20,21),(29:2,3,8,10,11,14,15,18,19,21,26,27),(31:3,11,12,13,17,21,22,24),(37:2,5,13,15,17,18,19,20,22,24,32,35),(41:6,7,11,12,13,15,17,19,22,24,26,28,29,30,34,35),(43:3,5,…),(47:5,10,…),(53:2,3,…),(59:2,6,…),(61:2,6,…),(67:2,7,…),(71:7,11,…),(73:5,11,…),(79:3,6,…),(83:2,5,…),(89:3,6,…),(97:5,7,…),(101:2,3,…),(103:5,6,…),(107:2,5,…),(109:6,10,…),(113:3,5,…),(127:3,6,…),(131:2,6,…),(137:3,5,…),(139:2,3,…),(149:2,3,…),(151:6,7,…),(157:5,6,…),(163:2,3,…),(167:5,10,…),(173:2,3,…),(179:2,6,…),(181:2,10,…),(191:19,21…),(193:5,10,…),(197:2,3,…),(199:3,6,…),(211:2,3,…),(223:3,5,…),(227:2,5,…),(229:6,7,…),(233:3,5,…),(239:7,13,…),(241:7,13,…),(251:6,11,…),(257:3,5,…)}となる。
(3) A list of primitive elements G 0 of prime numbers P and P corresponding to the input bit number L is defined. The primitive element of the prime number P is
(G 0 ) i mod P (0 ≦ i ≦ P-1)
And G 0 when all the numbers 0 ≦ i ≦ P−1 appear. For example, at P = 7, G 0 = 3 and G 0 = 5 are primitive elements. Here, a list is prepared corresponding to L = 40 to 8224, but a part of the list is omitted for convenience of explanation. (Prime number P: primitive element) = {(7: 3,5), (11: 2,6,7,8), (13: 2,6,7,11), (17: 3,5,6, 7,10,11,12,14), (19: 2,3,10,13,14,15), (23: 5,7,10,11,14,15,17,19,20,21) , (29: 2,3,8,10,11,14,15,18,19,21,26,27), (31: 3,11,12,13,17,21,22,24), ( 37: 2,5,13,15,17,18,19,20,22,24,32,35), (41: 6,7,11,12,13,15,17,19,22,24, 26,28,29,30,34,35), (43: 3,5,…), (47: 5,10,…), (53: 2,3,…), (59: 2,6, …), (61: 2,6,…), (67: 2,7,…), (71: 7,11,…), (73: 5,11,…), (79: 3,6, …), (83: 2,5,…), (89: 3,6,…), (97: 5,7,…), (101: 2,3,…), (103: 5,6, …), (107: 2,5,…), (109: 6,10,…), (113: 3,5,…), (127: 3,6,…), (131: 2,6, …), (137: 3,5,…), (139: 2,3,…), (149: 2,3,…), (151: 6,7,…), (157: 5,6, …), (163: 2,3,…), (167: 5,10,…), (173: 2,3,…), (179: 2,6,…), (181: 2,10, …), (191: 19,21…), (193: 5,10,…), (197: 2,3,…), (199: 3,6,…), (211: 2,3,… ), (223: 3,5, ...), (227: 2,5, ...), (229: 6,7, ...), (233: 3,5, ...), (239: 7,13, ... ), (241: 7,13, ...), (251: 6,11, ...), (257: 3,5, ...)}.

A)L≦930のとき
1)列数Nを決める。
P*(P-1)≧Lとなる最小の素数Pを検索し、列数N(=P),行数M(=P-1)とする。
2)リストから復号性能の高いPの原始元G0を選ぶ。
B)L>930のとき
1)列数Nを決める。
行数M=32とする。
M*P≧Lとなる最小の素数Pを検索し、列数N(=P)とする。
2)リストから復号性能の高いPの原始元G0を選ぶ。
A) When L ≦ 930 1) Determine the number of columns N.
The smallest prime number P satisfying P * (P-1) ≧ L is searched and the number of columns N (= P) and the number of rows M (= P-1) are set.
2) Select P primitive element G 0 with high decoding performance from the list.
B) When L> 930 1) Determine the number N of columns.
The number of lines is M = 32.
The smallest prime number P satisfying M * P ≧ L is retrieved and the number of columns N (= P) is set.
2) Select P primitive element G 0 with high decoding performance from the list.

<ステップ2>
基本疑似乱数系列を生成する。
C(0) = 1
For i = 0,…,N-3 {C(i+1)= G0×C(i) mod N}
C(N-1) = 0
<Step 2>
Generate a basic pseudo-random number sequence.
C (0) = 1
For i = 0, ..., N-3 {C (i + 1) = G 0 × C (i) mod N}
C (N-1) = 0

<ステップ3>
系列C(・)を1つずつシフトして、行列CLj(i)を構成する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {CLj(i)=C(i+j mod N)}
<Step 3>
The sequence C (•) is shifted one by one to form a matrix CL j (i).
For j = 0,1,…, M-1 {
For i = 0,1, ..., N-1 {CL j (i) = C (i + j mod N)}
}

<ステップ4>
M×Nの入力行列Uj(i)を用意する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {Uj(i)=i+N×j}
<Step 4>
An M × N input matrix U j (i) is prepared.
For j = 0,1,…, M-1 {
For i = 0,1,…, N-1 {U j (i) = i + N × j}
}

<ステップ5>
M×Nの出力行列U'j(i)を、CLj(i)を用いて用意する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {U'j(i)=U(M-1-j)(CL(M-1-j)(i))}
<Step 5>
An M × N output matrix U ′ j (i) is prepared using CL j (i).
For j = 0,1,…, M-1 {
For i = 0,1,…, N-1 {U ' j (i) = U (M-1-j) (CL (M-1-j) (i))}
}

<ステップ6>
出力系列u(k)を列順に読み出すことで生成する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {u(j+M×i)=U'j(i)}
<Step 6>
Generated by reading the output sequence u (k) in column order.
For j = 0,1,…, M-1 {
For i = 0,1, ..., N-1 {u (j + M × i) = U ' j (i)}
}

<ステップ7>
プルーニング
用意した行列の大きさと情報長に差がある場合には、情報長を超える大きさを持つ出力値(u(k)≧K)を削除する。
<Step 7>
Pruning If there is a difference between the size of the prepared matrix and the information length, the output value (u (k) ≧ K) having a size exceeding the information length is deleted.

なお、ステップ2のランダム系列は以下のように生成しても良い。
<ステップ2>
For i = 0,…,N-2 {C(i)=(G0)i mod N}
C(N-1) = 0
Note that the random sequence in step 2 may be generated as follows.
<Step 2>
For i = 0, ..., N-2 {C (i) = (G 0 ) i mod N}
C (N-1) = 0

復号過程において、受信信号y1kと外部情報Le(x1k)を行数Mと同じだけ用意した別のメモリバンクに記憶する。データ番号kが(k mod M = 0)となるデータ(N個)をメモリバンク1に、データ番号kが(k mod M = 1)となるデータ(N個)をメモリバンク2に、データ番号kが(k mod M = 2)となるデータ(N個)をメモリバンク3に、…と順に記憶しておく。M個のメモリバンクのアクセスは周期的に生じており、並列化するには各処理の最初にアクセスするメモリバンクが重ならなければ、処理中に同じメモリバンクにアクセスすることはない。M×N個の系列をM分割すると、先頭からN個ずつ区切られ、NとMは互いに素な関係にあるため、各並列処理で最初にアクセスするメモリバンクB(i)は、
B(i) = N×i mod M (0≦i≦M-1)
で表すことができ、いずれのB(i)についても同じになることはない。B(i)の式は互いに素な関係を用いて、疑似乱数を生成する手段と同じ原理である。
In the decoding process, the received signal y 1k and the external information Le (x 1k ) are stored in another memory bank prepared as many as the number of rows M. Data (N) with data number k (k mod M = 0) is stored in memory bank 1, data (N) with data number k (k mod M = 1) is stored in memory bank 2, data number Data (N pieces) where k is (k mod M = 2) is stored in the memory bank 3 in order. Access to M memory banks occurs periodically, and in order to parallelize, if the memory banks accessed at the beginning of each process do not overlap, the same memory bank is not accessed during the process. When M × N sequences are divided into M, N is divided from the beginning, and N and M are in a relatively prime relationship, so the memory bank B (i) that is accessed first in each parallel processing is
B (i) = N × i mod M (0 ≦ i ≦ M-1)
And no B (i) is the same. The formula of B (i) is based on the same principle as the means for generating a pseudo random number using a disjoint relationship.

また、並列数がM以下でもメモリバンクのアクセスが衝突することはなく、並列処理を行うことが可能である。先頭からN'個づつW個に区切り、W並列する場合に各並列処理で最初にアクセスするメモリバンクB(i)は、
B(i) = W×i mod M (0≦i≦M-1)
となる。WはMと互いに素であれば別のメモリバンクにアクセスし、Mが32の場合にWは奇数ならば互いに素となるため、メモリバンク数M以下の正の整数1≦W≦Mでの並列化が可能となる。
Even if the parallel number is M or less, memory bank accesses do not collide and parallel processing can be performed. The memory bank B (i) that is first accessed in each parallel processing when W parallel is divided into N pieces from the beginning N '
B (i) = W × i mod M (0 ≦ i ≦ M-1)
It becomes. If W is relatively prime with M, another memory bank is accessed, and if M is 32, W is relatively prime if odd, so a positive integer less than or equal to the number of memory banks M is 1 ≦ W ≦ M Parallelization is possible.

また、ステップ4は、
<ステップ4>
M×Nの入力行列Uj(i)を用意する。
For j = 0,1,…,M-1 {
For i = 0,1,…,N-1 {Uj(i)=j+M×i}

としても良い。
Step 4
<Step 4>
An M × N input matrix U j (i) is prepared.
For j = 0,1,…, M-1 {
For i = 0,1, ..., N-1 {U j (i) = j + M × i}
}
It is also good.

また、本実施の形態では、素数Pとその原始元G0を用いて疑似乱数系列を生成したが、実施の形態2のように素数Pと互いに素な整数で疑似乱数系列を生成しても良い。また、実施の形態4のようにプルーニングを用いてインタリーバの大きさを調整せず、入力ビットに既知のビットを挿入してインタリーバの大きさと同じ入力ビット数として符号化しても良い。 In this embodiment, a pseudo-random number sequence is generated using the prime number P and its primitive element G 0. However, even if the pseudo-random number sequence is generated with a prime integer that is relatively prime to the prime number P as in the second embodiment, good. Further, as in the fourth embodiment, the size of the interleaver may not be adjusted using pruning, and a known bit may be inserted into the input bits and encoded as the same number of input bits as the size of the interleaver.

以上のように、本実施の形態によれば、列数と行数を互いに素な関係になるようにラテン方陣またはラテン長方形構造を持つLRIインタリーバを設計することで、並列処理の選択肢が増え、高速処理が必要な復号回路の実装において、並列処理も選択肢を広くとることができる効果がある。また、各行で用いる乱数系列は、基本疑似乱数系列読み出し時の開始位置を1つずつシフトするだけで良いので実装が容易であり、素数Pに対して最小な原始元1つではなく複数の原始元、もしくは復号性能の良い最小でない原始元を用いることで、高い性能を得ることができる。   As described above, according to the present embodiment, by designing an LRI interleaver having a Latin square or Latin rectangular structure so that the number of columns and the number of rows are in a relatively prime relationship, options for parallel processing are increased. In the implementation of a decoding circuit that requires high-speed processing, parallel processing also has an effect that a wide range of options can be taken. In addition, the random number sequence used in each row is easy to implement because it is only necessary to shift the start position when reading the basic pseudo-random number sequence one by one. High performance can be obtained by using a non-minimum primitive element with good original or decoding performance.

以上のように、本発明にかかる通信装置は、ターボ符号等の誤り訂正符号を用いたすべての通信装置に適用可能である。   As described above, the communication device according to the present invention can be applied to all communication devices using an error correction code such as a turbo code.

本発明にかかる通信装置の構成例を示す図である。It is a figure which shows the structural example of the communication apparatus concerning this invention. 本発明にかかるターボ符号インタリーバと従来例との性能比較を示す図である。It is a figure which shows the performance comparison with the turbo code | symbol interleaver concerning this invention, and a prior art example. 本発明にかかるターボ符号インタリーバと従来例との性能比較を示す図である。It is a figure which shows the performance comparison with the turbo code | symbol interleaver concerning this invention, and a prior art example. 本発明にかかるターボ符号インタリーバと従来例との性能比較を示す図である。It is a figure which shows the performance comparison with the turbo code | symbol interleaver concerning this invention, and a prior art example. ターボ符号化器の構成例を示す図である。It is a figure which shows the structural example of a turbo encoder. ターボ符号化器の構成例を示す図である。It is a figure which shows the structural example of a turbo encoder. ターボ復号器の構成例を示す図である。It is a figure which shows the structural example of a turbo decoder. 本発明にかかる通信装置の構成例を示す図である。It is a figure which shows the structural example of the communication apparatus concerning this invention.

符号の説明Explanation of symbols

1 ターボ符号化器
2,2a インタリーバ生成器
3 変調器
4 復調器
5 ターボ復号器
6 通信路
11 ビット調整器
12 パンクチャ器
13 デパンクチャ器
14 ビット調整器
101 第1の再帰的組織畳込み符号化器
102 インタリーバ
103 第2の再帰的組織畳込み符号化器
111 第1の復号器
112,116 加算器
113,114 インタリーバ
115 第2の復号器
117 デインタリーバ
118 判定器
DESCRIPTION OF SYMBOLS 1 Turbo encoder 2, 2a Interleaver generator 3 Modulator 4 Demodulator 5 Turbo decoder 6 Communication path 11 Bit adjuster 12 Puncture device 13 Depuncture device 14 Bit adjuster 101 1st recursive systematic convolutional encoder 102 interleaver 103 second recursive systematic convolutional encoder 111 first decoder 112, 116 adder 113, 114 interleaver 115 second decoder 117 deinterleaver 118 determiner

Claims (35)

情報ビット系列を畳込み符号化またはブロック符号化して第1の冗長データを出力する第1の符号化器と、インタリーブ処理後の前記情報ビット系列を畳込み符号化またはブロック符号化して第2の冗長データを出力する第2の符号化器と、を備えるターボ符号器を採用する通信装置であって、
前記ターボ符号器は、
M×Nの入力バッファ内に前記情報ビット系列を格納し、N−1個のランダム系列を行数分だけ異なるものを用意し、M種類のランダム系列を生成し、さらに、すべてのランダム系列における各行のN個目に最小値をマッピングし、M×Nのマッピングパターンを生成し、前記M×Nのマッピングパターンにインタリーブ長の情報ビット系列をマッピングし、前記マッピング後の情報ビット系列を列単位に読み出し、前記第2の符号化器に対して出力するインタリーバ、
を備えることを特徴とする通信装置。
A first encoder that performs convolutional coding or block coding on the information bit sequence and outputs first redundant data; and a second encoder that performs convolutional coding or block coding on the information bit sequence after the interleaving process. A second encoder that outputs redundant data; and a communication device that employs a turbo encoder comprising:
The turbo encoder is
The information bit sequence is stored in an M × N input buffer, N-1 random sequences different from each other by the number of rows are prepared, M types of random sequences are generated, and all random sequences The minimum value is mapped to the Nth row in each row, an M × N mapping pattern is generated, an interleave length information bit sequence is mapped to the M × N mapping pattern, and the mapped information bit sequence is column-wise And an interleaver for outputting to the second encoder,
A communication apparatus comprising:
前記インタリーバは、前記M種類のランダム系列として、M×(N−1)のバッファ内でラテン方陣またはラテン長方形パターンを形成することを特徴とする請求項1に記載の通信装置。   2. The communication apparatus according to claim 1, wherein the interleaver forms a Latin square or a Latin rectangular pattern in the M × (N−1) buffer as the M types of random sequences. 前記インタリーバは、特定のN−1個のランダム系列を行単位に1個または複数個ずつシフトすることで、前記M種類のランダム系列として、M×(N−1)のバッファ内でラテン方陣またはラテン長方形パターンを形成することを特徴とする請求項1または2に記載の通信装置。   The interleaver shifts specific N−1 random sequences one or more at a time in units of rows, so that as M types of random sequences, Latin squares or M × (N−1) buffers The communication apparatus according to claim 1, wherein a Latin rectangular pattern is formed. 前記インタリーバは、特定のN−1個のランダム系列c(i)を、素数Pとその原始元G0を用いて、
c(i)=(G0×c(i-1))mod P
i=1,2,…,P-2
c(0)=1
により生成すること(ただし、N=P)を特徴とする請求項1、2または3に記載の通信装置。
The interleaver uses a prime number P and its primitive element G 0 to generate a specific N−1 random sequences c (i),
c (i) = (G 0 × c (i-1)) mod P
i = 1,2,…, P-2
c (0) = 1
The communication device according to claim 1, wherein the communication device is generated by (where N = P).
前記インタリーバは、原始元G0=2の素数Pのみを用いてランダム系列を生成することを特徴とする請求項4に記載の通信装置。 The communication apparatus according to claim 4, wherein the interleaver generates a random sequence using only a prime number P of a primitive element G 0 = 2. 前記インタリーバは、特定のN−1個のランダム系列c'(i)を、P'を用いて、
c'(i)=(P'×i)mod N
i=0,2,…,N-2
により生成すること(ただしNとP'は互いに素)を特徴とする請求項1、2または3に記載の通信装置。
The interleaver uses a specific N−1 random sequences c ′ (i) using P ′,
c '(i) = (P' × i) mod N
i = 0,2, ..., N-2
4. The communication apparatus according to claim 1, 2 or 3, wherein N is generated by (where N and P 'are relatively prime).
前記インタリーバは、その他の確定的なランダム系列の求め方を用いてランダム系列を生成することを特徴とする請求項1、2または3に記載の通信装置。   The communication apparatus according to claim 1, 2 or 3, wherein the interleaver generates a random sequence using another method for obtaining a deterministic random sequence. 情報ビット系列を畳込み符号化またはブロック符号化して第1の冗長データを出力する第1の符号化器と、インタリーブ処理後の前記情報ビット系列を畳込み符号化またはブロック符号化して第2の冗長データを出力する第2の符号化器と、を備えるターボ符号器を採用する通信装置であって、
前記ターボ符号器は、
M×Nの入力バッファ内に前記情報ビット系列を格納し、N個のランダム系列を行数分だけ異なるものを用意し、M種類のランダム系列を生成し、M×Nのマッピングパターンを生成し、前記M×Nのマッピングパターンにインタリーブ長の情報ビット系列をマッピングし、前記マッピング後の情報ビット系列を列単位に読み出し、前記第2の符号化器に対して出力するインタリーバ、
を備えることを特徴とする通信装置。
A first encoder that performs convolutional coding or block coding on the information bit sequence and outputs first redundant data; and a second encoder that performs convolutional coding or block coding on the information bit sequence after the interleaving process. A second encoder that outputs redundant data; and a communication device that employs a turbo encoder comprising:
The turbo encoder is
The information bit sequence is stored in an M × N input buffer, N random sequences different from each other by the number of rows are prepared, M types of random sequences are generated, and an M × N mapping pattern is generated. An interleaver that maps an interleave length information bit sequence to the M × N mapping pattern, reads the mapped information bit sequence in units of columns, and outputs the information bit sequence to the second encoder;
A communication apparatus comprising:
前記インタリーバは、前記M種類のランダム系列として、M×Nのバッファ内でラテン方陣またはラテン長方形パターンを形成することを特徴とする請求項8に記載の通信装置。   The communication apparatus according to claim 8, wherein the interleaver forms a Latin square or a Latin rectangular pattern in the M × N buffer as the M kinds of random sequences. 前記インタリーバは、特定のN個のランダム系列を行単位に1個または複数個ずつシフトすることで、前記M種類のランダム系列として、M×Nのバッファ内でラテン方陣またはラテン長方形パターンを形成することを特徴とする請求項8または9に記載の通信装置。   The interleaver forms a Latin square or a Latin rectangular pattern in the M × N buffer as the M types of random sequences by shifting one or more specific N random sequences one by one in units of rows. The communication apparatus according to claim 8 or 9, characterized by the above. 前記インタリーバは、特定のN個のランダム系列c(i)を、素数Pとその原始元G0を用いて、
c(i)=(G0×c(i-1))mod P
i=1,2,…,P-1
c(0)=1
により生成すること(ただしN+1=P)を特徴とする請求項8、9または10に記載の通信装置。
The interleaver uses a prime number P and its primitive element G 0 to generate a specific N random sequences c (i),
c (i) = (G 0 × c (i-1)) mod P
i = 1,2,…, P-1
c (0) = 1
The communication device according to claim 8, wherein the communication device is generated by (where N + 1 = P).
前記インタリーバは、原始元G0=2の素数Pのみを用いてランダム系列を生成することを特徴とする請求項11に記載の通信装置。 The communication apparatus according to claim 11, wherein the interleaver generates a random sequence using only a prime number P of a primitive element G 0 = 2. 前記インタリーバは、特定のN個のランダム系列c'(i)を、P'を用いて、
c'(i)=(P'×i)mod (N+1)
i=0,2,…,N-1
により生成すること(ただしN+1とP'は互いに素)を特徴とする請求項8、9または10に記載の通信装置。
The interleaver uses a specific N random sequences c ′ (i), P ′,
c '(i) = (P' × i) mod (N + 1)
i = 0,2, ..., N-1
11. The communication device according to claim 8, 9 or 10, wherein N + 1 and P ′ are mutually prime.
前記インタリーバは、その他の確定的なランダム系列の求め方を用いてランダム系列を生成することを特徴とする請求項8、9または10に記載の通信装置。   The communication apparatus according to claim 8, 9 or 10, wherein the interleaver generates a random sequence using another method for determining a deterministic random sequence. 情報ビット系列を畳込み符号化またはブロック符号化して第1の冗長データを出力する第1の符号化器と、インタリーブ処理後の前記情報ビット系列を畳込み符号化またはブロック符号化して第2の冗長データを出力する第2の符号化器と、を備えるターボ符号器を採用する通信装置であって、
前記ターボ符号器は、
M×Nの入力バッファ内に前記情報ビット系列を格納し、M個のランダム系列をN−1列数分だけ異なるものを用意し、N−1種類のランダム系列を生成し、さらに、各行のN個目に最小値をマッピングし、M×Nのマッピングパターンを生成し、前記M×Nのマッピングパターンにインタリーブ長の情報ビット系列をマッピングし、前記マッピング後の情報ビット系列を列単位に読み出し、前記第2の符号化器に対して出力するインタリーバ、
を備えることを特徴とする通信装置。
A first encoder that performs convolutional coding or block coding on the information bit sequence and outputs first redundant data; and a second encoder that performs convolutional coding or block coding on the information bit sequence after the interleaving process. A second encoder that outputs redundant data; and a communication device that employs a turbo encoder comprising:
The turbo encoder is
The information bit sequence is stored in an M × N input buffer, M random sequences different from each other by the number of N−1 columns are prepared, and N−1 types of random sequences are generated. The Nth minimum value is mapped, an M × N mapping pattern is generated, an interleave length information bit sequence is mapped to the M × N mapping pattern, and the mapped information bit sequence is read in units of columns An interleaver for outputting to the second encoder;
A communication apparatus comprising:
前記インタリーバは、前記N−1種類のランダム系列として、M×Nのバッファ内でラテン方陣またはラテン長方形パターンを形成することを特徴とする請求項15に記載の通信装置。   The communication apparatus according to claim 15, wherein the interleaver forms a Latin square or a Latin rectangular pattern in the M × N buffer as the N-1 types of random sequences. 前記インタリーバは、特定のM個のランダム系列を列単位に1個または複数個ずつシフトすることで、前記N−1種類のランダム系列として、M×(N−1)のバッファ内でラテン方陣またはラテン長方形パターンを形成することを特徴とする請求項15または16に記載の通信装置。   The interleaver shifts specific M random sequences one by one or more in units of columns to obtain the N-1 random sequences as Latin squares or M × (N−1) buffers in an M × (N−1) buffer. The communication device according to claim 15 or 16, wherein a latin rectangular pattern is formed. 前記インタリーバは、特定のM個のランダム系列c(i)を、素数Pとその原始元G0を用いて、
c(i)=(G0×c(i-1))mod P
i=1,2,…,P-1
c(0)=1
により生成すること(ただしM+1=P)を特徴とする請求項15、16または17に記載の通信装置。
The interleaver uses a prime number P and its primitive element G 0 to generate a specific M random sequences c (i),
c (i) = (G 0 × c (i-1)) mod P
i = 1,2,…, P-1
c (0) = 1
The communication device according to claim 15, 16 or 17, characterized in that it is generated by (where M + 1 = P).
前記インタリーバは、原始元g=2の素数Pのみを用いてランダム系列を生成することを特徴とする請求項18に記載の通信装置。   The communication apparatus according to claim 18, wherein the interleaver generates a random sequence using only a prime number P of a primitive element g = 2. 前記インタリーバは、特定のM個のランダム系列c'(i)を、P'を用いて、
c'(i)=(P'×i)mod (M+1)
i=0,2,…,M-1
により生成すること(ただしM+1とP'は互いに素)を特徴とする請求項15、16または17に記載の通信装置。
The interleaver uses a specific M random sequences c ′ (i), P ′,
c '(i) = (P' × i) mod (M + 1)
i = 0,2, ..., M-1
18. The communication device according to claim 15, 16 or 17, wherein the communication device is generated by (where M + 1 and P 'are relatively prime).
前記インタリーバは、その他の確定的なランダム系列の求め方を用いてランダム系列を生成することを特徴とする請求項15、16または17に記載の通信装置。   The communication apparatus according to claim 15, 16 or 17, wherein the interleaver generates a random sequence by using another method for obtaining a deterministic random sequence. 情報ビット系列を畳込み符号化またはブロック符号化して第1の冗長データを出力する第1の符号化器と、インタリーブ処理後の前記情報ビット系列を畳込み符号化またはブロック符号化して第2の冗長データを出力する第2の符号化器と、を備えるターボ符号器を採用する通信装置であって、
前記ターボ符号器は、
M×Nの入力バッファ内に前記情報ビット系列を格納し、M個のランダム系列を列数分だけ異なるものを用意し、N種類のランダム系列を生成し、M×Nのマッピングパターンを生成し、前記M×Nのマッピングパターンにインタリーブ長の情報ビット系列をマッピングし、前記マッピング後の情報ビット系列を列単位に読み出し、前記第2の符号化器に対して出力するインタリーバ、
を備えることを特徴とする通信装置。
A first encoder that performs convolutional coding or block coding on the information bit sequence and outputs first redundant data; and a second encoder that performs convolutional coding or block coding on the information bit sequence after the interleaving process. A second encoder that outputs redundant data; and a communication device that employs a turbo encoder comprising:
The turbo encoder is
The information bit sequence is stored in an M × N input buffer, M random sequences different from each other by the number of columns are prepared, N types of random sequences are generated, and an M × N mapping pattern is generated. An interleaver that maps an interleave length information bit sequence to the M × N mapping pattern, reads the mapped information bit sequence in units of columns, and outputs the information bit sequence to the second encoder;
A communication apparatus comprising:
前記インタリーバは、前記N種類のランダム系列として、M×Nのバッファ内でラテン方陣またはラテン長方形パターンを形成することを特徴とする請求項22に記載の通信装置。   The communication apparatus according to claim 22, wherein the interleaver forms a Latin square or a Latin rectangular pattern in the M × N buffer as the N kinds of random sequences. 前記インタリーバは、特定のM個のランダム系列を列単位に1個または複数個ずつシフトすることで、前記N種類のランダム系列として、M×Nのバッファ内でラテン方陣またはラテン長方形パターンを形成することを特徴とする請求項22または23に記載の通信装置。   The interleaver forms a Latin square or a Latin rectangular pattern in the M × N buffer as the N types of random sequences by shifting specific M random sequences one by one or more in units of columns. 24. The communication apparatus according to claim 22 or 23. 前記インタリーバは、特定のM個のランダム系列c(i)を、素数Pとその原始元gを用いて、
c(i)=(g×c(i-1))mod P
i=1,2,…,P-1
c(0)=1
により生成すること(ただしM+1=P)を特徴とする請求項22、23または24に記載の通信装置。
The interleaver uses a prime number P and its primitive element g to generate a specific M random sequences c (i).
c (i) = (g × c (i-1)) mod P
i = 1,2,…, P-1
c (0) = 1
25. The communication device according to claim 22, 23 or 24, wherein the communication device is generated by (where M + 1 = P).
前記インタリーバは、原始元g=2の素数Pのみを用いてランダム系列を生成することを特徴とする請求項25に記載の通信装置。   26. The communication apparatus according to claim 25, wherein the interleaver generates a random sequence using only a prime number P with a primitive element g = 2. 前記インタリーバは、特定のM個のランダム系列c'(i)を、P'を用いて、
c'(i)=(P'×i)mod (M+1)
i=0,2,…,M-1
により生成すること(ただしM+1とP'は互いに素)を特徴とする請求項22、23または24に記載の通信装置。
The interleaver uses a specific M random sequences c ′ (i), P ′,
c '(i) = (P' × i) mod (M + 1)
i = 0,2, ..., M-1
25. The communication device according to claim 22, 23 or 24, wherein the communication device generates (where M + 1 and P ′ are relatively prime).
前記インタリーバは、その他の確定的なランダム系列の求め方を用いてランダム系列を生成することを特徴とする請求項22、23または24に記載の通信装置。   25. The communication apparatus according to claim 22, 23, or 24, wherein the interleaver generates a random sequence using another deterministic method for determining a random sequence. 前記ターボ符号は、複数の畳み込み符号化器またはブロック符号器を持っていても良く、その際のインタリーバは諸元を変えることで複数のインタリーバを用意することを特徴とする請求項1〜28のいずれか一つに記載の通信装置。   The turbo code may include a plurality of convolutional encoders or block encoders, and the interleaver at that time prepares a plurality of interleavers by changing specifications. The communication device according to any one of the above. Nを素数とし、Mを素数Nと互いに素な整数とすることを特徴とする請求項1〜29のいずれか一つに記載の通信装置。   30. The communication apparatus according to claim 1, wherein N is a prime number, and M is an integer that is relatively prime to the prime number N. 前記インタリーバは、インタリーブパターンを、
u(k)=(P'×floor(k/M)+s×(M-1-(k mod M) mod N)+N×(k mod M)
N:インタリーブ行列の列数
M=ceil(K/N):インタリーブ行列の行数、ceil(x)はxを超える最小整数
K:入力情報ビット数
s:基本疑似乱数系列読み出し時の開始位置シフト数
P'はNと互いに素な整数
floor(x)はxを超えない最大整数
により生成することを特徴とする請求項1、8、15または22に記載の通信装置。
The interleaver defines an interleave pattern,
u (k) = (P '× floor (k / M) + s × (M-1- (k mod M) mod N) + N × (k mod M)
N: Number of columns in the interleave matrix
M = ceil (K / N): number of rows of interleaved matrix, ceil (x) is the smallest integer exceeding x
K: Number of input information bits
s: Start position shift number when reading the basic pseudo-random number sequence
P 'is an integer prime to N
23. The communication apparatus according to claim 1, 8, 15 or 22, wherein floor (x) is generated by a maximum integer not exceeding x.
さらに、
前記情報ビット系列を前記インタリーバの大きさに調整するビット調整手段、
を備えることを特徴とする請求項1〜31のいずれか一つに記載の通信装置。
further,
Bit adjustment means for adjusting the information bit sequence to the size of the interleaver;
The communication apparatus according to claim 1, further comprising:
前記ターボ符号器が出力する符号語を通信システムの要求に応じた符号長にパンクチャするパンクチャ手段、
を備えることを特徴とする請求項32に記載の通信装置。
Puncturing means for puncturing a code word output from the turbo encoder to a code length according to a request of a communication system;
The communication apparatus according to claim 32, comprising:
前記請求項1〜33のいずれか一つに記載の通信装置におけるインタリーバを含むことを特徴とするターボ符号器。   A turbo encoder comprising an interleaver in the communication device according to any one of claims 1 to 33. 前記請求項1〜33のいずれか一つに記載のインタリーブ処理を含むことを特徴とする通信方法。   A communication method comprising the interleaving process according to any one of claims 1 to 33.
JP2006339846A 2006-11-29 2006-12-18 Communication apparatus, turbo encoder, and communication method Pending JP2008160169A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006339846A JP2008160169A (en) 2006-11-29 2006-12-18 Communication apparatus, turbo encoder, and communication method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006322296 2006-11-29
JP2006339846A JP2008160169A (en) 2006-11-29 2006-12-18 Communication apparatus, turbo encoder, and communication method

Publications (1)

Publication Number Publication Date
JP2008160169A true JP2008160169A (en) 2008-07-10

Family

ID=39660652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006339846A Pending JP2008160169A (en) 2006-11-29 2006-12-18 Communication apparatus, turbo encoder, and communication method

Country Status (1)

Country Link
JP (1) JP2008160169A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010101173A1 (en) * 2009-03-03 2010-09-10 シャープ株式会社 Transmission apparatus, reception apparatus and communication system
JP2016076910A (en) * 2014-10-09 2016-05-12 三菱電機株式会社 Interleaver generation method and interleaver generation device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001285077A (en) * 2000-03-31 2001-10-12 Mitsubishi Electric Corp Device and method for communication
JP2001332981A (en) * 2000-05-22 2001-11-30 Mitsubishi Electric Corp Device and method for communication
JP2001358596A (en) * 2000-06-12 2001-12-26 Mitsubishi Electric Corp Apparatus and method for communication
JP2003500971A (en) * 1999-05-20 2003-01-07 サムスン エレクトロニクス カンパニー リミテッド Interleaver for use in serial chain convolutional encoder in mobile communication system and interleaving method thereof
JP2004040226A (en) * 2002-06-28 2004-02-05 Mitsubishi Electric Corp Interleave wireless communication method, wireless communication equipment, and w-cdma wireless communication equipment
JP2006148366A (en) * 2004-11-17 2006-06-08 Sony Corp Data processing method, data recording device, and data transmitting device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003500971A (en) * 1999-05-20 2003-01-07 サムスン エレクトロニクス カンパニー リミテッド Interleaver for use in serial chain convolutional encoder in mobile communication system and interleaving method thereof
JP2001285077A (en) * 2000-03-31 2001-10-12 Mitsubishi Electric Corp Device and method for communication
JP2001332981A (en) * 2000-05-22 2001-11-30 Mitsubishi Electric Corp Device and method for communication
JP2001358596A (en) * 2000-06-12 2001-12-26 Mitsubishi Electric Corp Apparatus and method for communication
JP2004040226A (en) * 2002-06-28 2004-02-05 Mitsubishi Electric Corp Interleave wireless communication method, wireless communication equipment, and w-cdma wireless communication equipment
JP2006148366A (en) * 2004-11-17 2006-06-08 Sony Corp Data processing method, data recording device, and data transmitting device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6009045240; 松本渉, 他: 'ランダム系列のラテン方陣/長方形構造によるターボ符号インタリーバの構成法' 電子情報通信学会論文誌 Vol.J85-A, No.6, 20020601, pp.691-703, 電子情報通信学会 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010101173A1 (en) * 2009-03-03 2010-09-10 シャープ株式会社 Transmission apparatus, reception apparatus and communication system
JP2010206546A (en) * 2009-03-03 2010-09-16 Sharp Corp Transmission apparatus, receiving device, and communication system
US8719679B2 (en) 2009-03-03 2014-05-06 Sharp Kabushiki Kaisha Transmission apparatus reception apparatus and communication system
JP2016076910A (en) * 2014-10-09 2016-05-12 三菱電機株式会社 Interleaver generation method and interleaver generation device

Similar Documents

Publication Publication Date Title
US6339834B1 (en) Interleaving with golden section increments
JP4897703B2 (en) Bit-reversal interleaver with excess removed
JP4723089B2 (en) Turbo code interleaver using linear congruence sequence
US8457219B2 (en) Self-protection against non-stationary disturbances
US8239711B2 (en) QPP interleaver/de-interleaver for turbo codes
EP0963049A2 (en) Interleaving with golden section increments
JP3359913B1 (en) Interleaver for use in serial chain convolutional encoder in mobile communication system and interleaving method thereof
EP1733477B1 (en) Sub-block interleaving and de-interleaving for multidimensional product block codes
PT2165445T (en) Computationally efficient convolutional coding with rate-matching
EP1900105A1 (en) Clash-free irregular-repeat-accumulate code
US8924831B2 (en) Systems and methods for network coding using convolutional codes
KR20080041488A (en) Parallel interleaving method
US9374109B2 (en) QPP interleaver/DE-interleaver for turbo codes
JP4409048B2 (en) Communication apparatus and communication method
JP2004511179A (en) Piecewise deinterleaving
JP2008160169A (en) Communication apparatus, turbo encoder, and communication method
EP1184990A1 (en) Communication apparatus and communication method
CN110557220A (en) Physical layer channel coding and decoding method
JP4991481B2 (en) Iterative decoding apparatus and iterative decoding method
KR100645730B1 (en) Method for interleaving using magic matrix
CA2273407C (en) Interleaving with golden section increments
JP6381400B2 (en) Interleaver generation method and interleaver generation apparatus
EP1267511A1 (en) A method and apparatus for interleaving, deinterleaving
JP2009077371A (en) Interleaving method, transmitter, radio device, and radio communication system
KR100362557B1 (en) 2-dimensional interleaving apparatus and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090911

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111004

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120515

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121002