JP4874312B2 - Turbo code decoding apparatus, turbo code decoding method, and communication system - Google Patents

Turbo code decoding apparatus, turbo code decoding method, and communication system Download PDF

Info

Publication number
JP4874312B2
JP4874312B2 JP2008220232A JP2008220232A JP4874312B2 JP 4874312 B2 JP4874312 B2 JP 4874312B2 JP 2008220232 A JP2008220232 A JP 2008220232A JP 2008220232 A JP2008220232 A JP 2008220232A JP 4874312 B2 JP4874312 B2 JP 4874312B2
Authority
JP
Japan
Prior art keywords
turbo code
memory
processing
sequence
address
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.)
Active
Application number
JP2008220232A
Other languages
Japanese (ja)
Other versions
JP2009095008A (en
Inventor
隆彦 中村
英夫 吉田
塁 阪井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2008220232A priority Critical patent/JP4874312B2/en
Publication of JP2009095008A publication Critical patent/JP2009095008A/en
Application granted granted Critical
Publication of JP4874312B2 publication Critical patent/JP4874312B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Description

この発明は、ディジタル情報処理における誤り訂正技術に係り、特に、ターボ符号を復号するターボ符号復号装置、ターボ符号復号方法及び通信システムに関するものである。   The present invention relates to an error correction technique in digital information processing, and more particularly to a turbo code decoding apparatus, a turbo code decoding method, and a communication system for decoding a turbo code.

ターボ符号の復号は、非インタリーブ系列とインタリーブ系列に対して、BCJR(Bahl Cocke Jeinek Raviv)アルゴリズムと呼ばれるトレリス線図の順方向処理と逆方向処理によってパスメトリック値の算出を繰り返すことにより行われる。
理想的な復号方法として、MAP(maximum a posteriori probability)復号法があり、Log−MAP復号法、Max−Log−MAP復号法なども広く知られている(例えば、非特許文献1を参照)。
The decoding of the turbo code is performed by repeatedly calculating the path metric value for the non-interleaved sequence and the interleaved sequence by a forward process and a backward process of a trellis diagram called a BCJR (Bahl Cocke Jinek Raviv) algorithm.
As an ideal decoding method, there is a MAP (maximum a posteriori probabilistic) decoding method, and a Log-MAP decoding method, a Max-Log-MAP decoding method, and the like are widely known (for example, see Non-Patent Document 1).

ターボ符号を用いて高速ディジタル通信を実施する場合、ターボ符号の復号処理を高速化して、処理の遅延量を小さくする必要がある。
ターボ符号の復号処理を高速化するために、ターボ符号の復号処理を並列化する場合、実装の複雑さが内部インタリーバの構成に依存する。
例えば、「3GPP TS36.212」の規格で規定されているQPP(Quadratic Polynomial Permutation)は(例えば、非特許文献2を参照)は、復号処理の並列化に適している内部インタリーバである(例えば、非特許文献3を参照)。
When high-speed digital communication is performed using a turbo code, it is necessary to speed up the decoding process of the turbo code and reduce the processing delay amount.
In order to speed up the turbo code decoding process, when the turbo code decoding process is parallelized, the implementation complexity depends on the configuration of the internal interleaver.
For example, QPP (Quadratic Polynomial Permutation) defined in the standard of “3GPP TS36.212” (see, for example, Non-Patent Document 2) is an internal interleaver suitable for parallelization of decoding processing (for example, (Refer nonpatent literature 3).

例えば、非特許文献4には、ターボ符号の復号処理を並列化して行う方法が開示されている。
即ち、非特許文献4には、BCJRアルゴリズムを並列数に分割して同時に処理する旨が記載されており、並列数に分割して同時に処理する際、分割の切れ目となるパスメトリック値を保存し、繰り返し処理の次回の演算で、そのパスメトリック値を用いることで、復号性能の劣化を招くことなく、復号することができるようにしている。
For example, Non-Patent Document 4 discloses a method of performing turbo code decoding processing in parallel.
That is, Non-Patent Document 4 describes that the BCJR algorithm is divided into parallel numbers and processed at the same time. When the parallel number is divided and processed simultaneously, a path metric value that becomes a break between divisions is stored. By using the path metric value in the next calculation of the iterative process, decoding can be performed without causing deterioration in decoding performance.

また、上記の復号方法との組み合わせ方式として、スライディング・ウィンドウ方式が知られている(例えば、非特許文献5を参照)。
スライディング・ウィンドウ方式もBCJRアルゴリズムを分割して、パスメトリック値を算出することで、メモリ量を削減することができる方法である。
その際、分割の切れ目において、処理の度にトレリスを遡ってBCJRアルゴリズムを始めることで、復号性能の劣化を招くことなく、復号することができる。
トレリスを遡る期間は、「マージン幅」や「トレーニング幅」などと呼ばれる。以下、この明細書では、トレリスを遡る期間を「マージン幅」と称するものとする。
Also, a sliding window method is known as a combination method with the above decoding method (see, for example, Non-Patent Document 5).
The sliding window method is also a method that can reduce the amount of memory by dividing the BCJR algorithm and calculating the path metric value.
At that time, decoding can be performed without degrading the decoding performance by starting the BCJR algorithm by tracing back the trellis at each process at the break of the division.
The period going back to the trellis is called “margin width” or “training width”. Hereinafter, in this specification, a period going back the trellis is referred to as a “margin width”.

萩原春生、「ターボ符号の基礎」、トリケップス、p.37-46、1999年10月7日Haruo Sugawara, “Basics of Turbo Codes”, Trikes, p.37-46, October 7, 1999 J.Sun、O.Y.Takeshita、「Interleavers for turbo codes using permutation polynomials over integer rings」、IEEE Trans. Inform. Theory, vol.51, p.101-119、2005年3月J.Sun, O.Y.Takeshita, "Interleavers for turbo codes using permutation polynomials over integer rings", IEEE Trans. Inform. Theory, vol.51, p.101-119, March 2005 M.K.Cheng、B.E.Moision、J.Hamkins、M.A.Nakashima、「An interleaver implementation for the serially concatenated pulse-position modulation decoder」、IEEE Symposium on Circuits and Systems, Greece, May 21-24, 2006M.K.Cheng, B.E.Moision, J.Hamkins, M.A.Nakashima, "An interleaver implementation for the serially concatenated pulse-position modulation decoder", IEEE Symposium on Circuits and Systems, Greece, May 21-24, 2006 越智 俊輔、渋谷 智治、坂庭 好一、山田 功、「MAPアルゴリズムの並列処理によるTurbo-Codeの高速復号法」、信学技法 IT97-57, pp.1-6, 1998Shunsuke Ochi, Tomoharu Shibuya, Yoshikazu Sakanai, Isao Yamada, "High-speed decoding of Turbo-Code by parallel processing of MAP algorithm", IEICE IT97-57, pp.1-6, 1998 S.Benedetto、D.Divsalar、G.Montorsi、F.Pollara、「Algorithm for continuous decoding of turbo codes」、Electronics Letters Volume 32, Issue 4, 15 Feb 1996, p.314-315S. Benedetto, D. Divsalar, G. Montorsi, F. Pollara, `` Algorithm for continuous decoding of turbo codes '', Electronics Letters Volume 32, Issue 4, 15 Feb 1996, p.314-315

従来のターボ符号復号装置は以上のように構成されているので、ターボ符号のインタリーバとしてQPP方式が採用される場合、複雑な乗算と剰余計算ではなく、加減算と比較処理を実施するだけでインタリーブ系列を生成することができる(非特許文献2)。しかし、この場合、インタリーブ系列を先頭から順番に生成することができるため、順方向処理の際にはインタリーブ系列の生成と同時に復号を行うことができるが、逆方向処理の際にはインタリーブ系列をメモリに格納して、そのインタリーブ系列を読み出しながら処理する必要がある。このため、インタリーブ系列を格納するメモリが必要となり、メモリ量が大きくなる課題があった。   Since the conventional turbo code decoding apparatus is configured as described above, when the QPP method is adopted as an interleaver for turbo code, an interleave sequence is simply performed by performing addition / subtraction and comparison processing instead of complicated multiplication and remainder calculation. Can be generated (Non-Patent Document 2). However, in this case, since the interleaved sequence can be generated in order from the beginning, decoding can be performed simultaneously with the generation of the interleaved sequence in the forward processing, but the interleaved sequence is generated in the backward processing. It is necessary to store the data in a memory and perform processing while reading the interleaved sequence. For this reason, a memory for storing the interleaved sequence is required, and there is a problem that the amount of memory increases.

ターボ符号の復号処理速度は、復号繰り返し回数や並列数に依存し、スライディング・ウィンドウ方式が使用される場合にはマージンなどに依存する。繰り返し回数を減らせば、復号処理の高速化を図ることができるが、復号性能の劣化を招いてしまう課題があった。また、並列数を高次にしても、復号処理の高速化を図ることができるが、メモリ量の増大を招いてしまう課題があった。
また、スライディング・ウィンドウ方式を用いてメモリ削減を行う場合、特にターボ符号が短いと、マージン幅による処理量の増加の影響が大きく、処理速度が低下する課題があった。
The decoding processing speed of the turbo code depends on the number of decoding repetitions and the number of parallel operations, and on the margin when the sliding window method is used. If the number of repetitions is reduced, the decoding process can be speeded up, but there is a problem that the decoding performance is deteriorated. Even if the number of parallel processing is increased, the speed of the decoding process can be increased, but there is a problem that the amount of memory is increased.
In addition, when memory reduction is performed using the sliding window method, particularly when the turbo code is short, there is a problem that the processing amount is greatly affected by the margin width and the processing speed is lowered.

この発明は上記のような課題を解決するためになされたもので、インタリーブ系列を格納するメモリを実装することなく、ターボ符号の復号処理を並列化することができるターボ符号復号装置、ターボ符号復号方法及び通信システムを得ることを目的とする。   The present invention has been made to solve the above-described problems, and is provided with a turbo code decoding apparatus and turbo code decoding capable of parallelizing turbo code decoding processing without mounting a memory for storing an interleaved sequence. The object is to obtain a method and a communication system.

この発明に係るターボ符号復号装置は、メモリ選択初期テーブルに保持されたパラメータとインタリーブアドレス生成テーブルに保持された係数を用いて加減算処理と比較計算処理を実施して、順方向処理と逆方向処理の、ターボ符号格納手段の並び順とアドレスを決定し、情報選択制御手段により決定された並び順でターボ符号格納手段のアドレスに格納された各データを読み出して、順方向処理と逆方向処理のインタリーブ系列を生成するものである。
The turbo code decoding device according to the present invention performs forward / backward processing and backward processing by performing addition / subtraction processing and comparison calculation processing using the parameters held in the memory selection initial table and the coefficients held in the interleave address generation table. The arrangement order and address of the turbo code storage means are determined, each data stored in the address of the turbo code storage means is read out in the arrangement order determined by the information selection control means, and forward processing and backward processing are performed. An interleave sequence is generated.

この発明によれば、ターボ符号のインタリーブ系列及び非インタリーブ系列を生成する系列生成手段が、ターボ符号のインタリーブ系列を生成する際、加減算処理と比較計算処理を実施して順方向処理と逆方向処理のインタリーブ位置を求めるように構成したので、インタリーブ系列を格納するメモリを実装することなく、ターボ符号の復号処理を並列化することができるようになり、実装するメモリ量を削減することができる効果がある。

According to the present invention, sequence generating means for generating the interleaved sequence and non-interleaved sequence of turbo code, when generating the interleaved sequence of turbo codes, the forward processing and comparison made computing the subtraction processing and backward processing Since the interleave position is obtained, it is possible to parallelize the decoding process of the turbo code without mounting the memory for storing the interleaved sequence, and the effect of reducing the amount of memory to be mounted There is.

実施の形態1.
図1はこの発明の実施の形態1によるターボ符号復号装置を示す構成図であり、図において、情報メモリ1は要素復号器7の並列数Pと同じ個数だけ設置され、例えば、「3GPP TS36.212」の規格に規定されているターボ符号の情報系列(システマティック系列)に相当する受信信号を格納する。
パリティ1メモリ2は要素復号器7の並列数Pと同じ個数だけ設置され、ターボ符号のパリティ1系列に相当する受信信号を格納する。
パリティ2メモリ3は要素復号器7の並列数Pと同じ個数だけ設置され、ターボ符号のパリティ2系列に相当する受信信号を格納する。
外部情報メモリ4は要素復号器7の並列数Pと同じ個数だけ設置され、要素復号器7から出力される外部情報系列を格納する。
情報メモリ1、パリティ1メモリ2及びパリティ2メモリ3は、トレリス終端にテイル・ビットが付加されたターボ符号の場合、テイル・ビットの受信信号を格納する。
なお、情報メモリ1、パリティ1メモリ2、パリティ2メモリ3及び外部情報メモリ4からターボ符号格納手段が構成されている。
Embodiment 1 FIG.
FIG. 1 is a block diagram showing a turbo code decoding apparatus according to Embodiment 1 of the present invention. In the figure, information memories 1 are installed in the same number as the parallel number P of element decoders 7, for example, “3GPP TS36. A reception signal corresponding to a turbo code information sequence (systematic sequence) defined in the “212” standard is stored.
The parity 1 memory 2 is installed in the same number as the parallel number P of the element decoder 7 and stores received signals corresponding to the parity 1 sequence of the turbo code.
The parity 2 memory 3 is installed in the same number as the parallel number P of the element decoders 7, and stores received signals corresponding to the parity 2 sequence of the turbo code.
The external information memory 4 is installed in the same number as the parallel number P of the element decoder 7 and stores the external information series output from the element decoder 7.
The information memory 1, the parity 1 memory 2, and the parity 2 memory 3 store tail bit received signals in the case of a turbo code with tail bits added to the trellis end.
The information memory 1, the parity 1 memory 2, the parity 2 memory 3, and the external information memory 4 constitute turbo code storage means.

メモリインタフェース5は情報メモリ1、パリティ1メモリ2及びパリティ2メモリ3に格納されている受信信号のうち、制御部6が指示するインタリーブ位置から受信信号を読み出して、ターボ符号のインタリーブ系列及び非インタリーブ系列を生成し、制御部6が指示する要素復号器7に対してターボ符号のインタリーブ系列及び非インタリーブ系列を出力し、また、要素復号器7から出力される外部情報系列を外部情報メモリ4に出力する処理を実施する。
制御部6はインタリーブ位置をメモリインタフェース5に指示するとともに、要素復号器7における順方向処理と逆方向処理を制御するものであり、制御部6はメモリインタフェース5がターボ符号のインタリーブ系列を生成する際、加減算処理と比較計算処理を実施するだけで順方向処理と逆方向処理のインタリーブ位置を求める。
なお、メモリインタフェース5及び制御部6から系列生成手段が構成されている。
The memory interface 5 reads out the received signal from the interleave position indicated by the control unit 6 among the received signals stored in the information memory 1, the parity 1 memory 2, and the parity 2 memory 3, and interleaves the turbo code and non-interleaved. A sequence is generated, and an interleave sequence and a non-interleave sequence of the turbo code are output to the element decoder 7 indicated by the control unit 6, and the external information sequence output from the element decoder 7 is output to the external information memory 4. Perform the output process.
The control unit 6 indicates the interleave position to the memory interface 5 and controls forward processing and reverse processing in the element decoder 7. The control unit 6 generates an interleave sequence of turbo codes by the memory interface 5. At this time, the interleave position of the forward process and the backward process is obtained only by performing the addition / subtraction process and the comparison calculation process.
The memory interface 5 and the control unit 6 constitute a sequence generation unit.

要素復号器7はP個並列に設置されており、制御部6の指示の下、メモリインタフェース5により生成されたインタリーブ系列及び非インタリーブ系列に対する順方向処理と逆方向処理を繰り返し実施して、ターボ符号を復号するとともに、外部情報系列を算出する処理を実施する。なお、要素復号器7は復号手段を構成している。   The P element decoders 7 are installed in parallel. Under the instruction of the control unit 6, the forward processing and the backward processing for the interleaved sequence and the non-interleaved sequence generated by the memory interface 5 are repeatedly performed. A process of decoding the code and calculating the external information sequence is performed. The element decoder 7 constitutes a decoding means.

図1の例では、ターボ符号復号装置の構成要素であるメモリインタフェース5、制御部6及び要素復号器7がそれぞれ専用のハードウェア(例えば、MPUが実装されている半導体集積回路基板)から構成されているものを想定しているが、ターボ符号復号装置がコンピュータで構成される場合、メモリインタフェース5、制御部6及び要素復号器7の処理内容を記述しているプログラムをコンピュータのメモリに格納し、コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
図2はこの発明の実施の形態1によるターボ符号復号装置の処理内容を示すフローチャートである。
In the example of FIG. 1, the memory interface 5, the control unit 6, and the element decoder 7 that are components of the turbo code decoding device are each configured by dedicated hardware (for example, a semiconductor integrated circuit board on which an MPU is mounted). However, when the turbo code decoding device is configured by a computer, a program describing the processing contents of the memory interface 5, the control unit 6, and the element decoder 7 is stored in the memory of the computer. The CPU of the computer may execute a program stored in the memory.
FIG. 2 is a flowchart showing the processing contents of the turbo code decoding apparatus according to Embodiment 1 of the present invention.

次に動作について説明する。
例えば、ターボ符号の内部インタリーバとして、整数環上の2次多項式であるQPP方式を採用している図示せぬ送信装置が、例えば、パケットデータなどの情報源をターボ符号化してターボ符号を生成し、そのターボ符号を変調して変調波を送信する。
通信路では、伝播環境に応じて雑音が変調波に付加され、雑音が付加されている変調波が図示せぬ受信装置で受信される。
Next, the operation will be described.
For example, a transmitter (not shown) that employs a QPP method that is a second-order polynomial on an integer ring as an internal interleaver of a turbo code generates a turbo code by turbo-coding an information source such as packet data, for example. Then, the turbo code is modulated and a modulated wave is transmitted.
In the communication path, noise is added to the modulated wave in accordance with the propagation environment, and the modulated wave to which noise is added is received by a receiving device (not shown).

受信装置は、送信装置から送信された変調波を受信すると、その変調波に対する同期検波や復調処理などを実施して、ターボ符号の情報系列(システマティック系列)に相当する受信信号、ターボ符号のパリティ1系列に相当する受信信号及びターボ符号のパリティ2系列に相当する受信信号を算出する。
受信装置には図1のターボ符号復号装置が内蔵されており、ターボ符号復号装置がターボ符号を復号する。
以下、ターボ符号復号装置の処理内容を具体的に説明する。
When the receiving device receives the modulated wave transmitted from the transmitting device, the receiving device performs synchronous detection and demodulation processing on the modulated wave, and receives a received signal corresponding to a turbo code information sequence (systematic sequence), a parity of the turbo code A reception signal corresponding to one sequence and a reception signal corresponding to a parity 2 sequence of turbo codes are calculated.
The receiving apparatus incorporates the turbo code decoding apparatus shown in FIG. 1, and the turbo code decoding apparatus decodes the turbo code.
Hereinafter, the processing content of the turbo code decoding apparatus will be described in detail.

ここでは、情報系列の情報長がK、要素復号器7の並列数がPであるとする。
この場合、P個の要素復号器7により並列に処理される並列化単位の長さがW=K/Pとなり、アドレス数もK/Pとなる。
また、1ワードは、受信信号のビット数nに等しいnビットとなる。
Here, it is assumed that the information length of the information sequence is K and the parallel number of the element decoders 7 is P.
In this case, the length of the parallelized unit processed in parallel by the P element decoders 7 is W = K / P, and the number of addresses is also K / P.
One word is n bits equal to the number of bits n of the received signal.

ターボ符号復号装置におけるP個の情報メモリ1には、ターボ符号の情報系列に相当する受信信号がそれぞれ格納される。ただし、情報系列の先頭から#1〜#Pの順番で情報メモリ1に格納される。
また、ターボ符号復号装置におけるP個のパリティ1メモリ2には、ターボ符号のパリティ1系列に相当する受信信号がそれぞれ格納され、P個のパリティ2メモリ3には、ターボ符号のパリティ2系列に相当する受信信号がそれぞれ格納される。
ただし、パリティ1系列の先頭から#1〜#Pの順番でパリティ1メモリ2に格納され、パリティ2系列の先頭から#1〜#Pの順番でパリティ2メモリ3に格納される。
In the P information memories 1 in the turbo code decoding device, received signals corresponding to turbo code information sequences are respectively stored. However, the information is stored in the information memory 1 in the order of # 1 to #P from the top of the information series.
Also, the P parity 1 memory 2 in the turbo code decoding apparatus stores received signals corresponding to the parity 1 sequence of the turbo code, and the P parity 2 memory 3 stores the parity 2 sequence of the turbo code. Corresponding received signals are stored respectively.
However, they are stored in the parity 1 memory 2 in the order of # 1 to #P from the top of the parity 1 series, and are stored in the parity 2 memory 3 in the order of # 1 to #P from the top of the parity 2 series.

制御部6は、メモリインタフェース5が情報メモリ1、パリティ1メモリ2及びパリティ2メモリ3から読み出す受信信号を制御するとともに、メモリインタフェース5が外部情報メモリ4から読み出す外部情報と、外部情報メモリ4に書き込む外部情報(例えば、要素復号器7による復号結果が“1”又は“0”である確率を示す情報)とを制御する。
ただし、メモリインタフェース5が外部情報を書き込む際には、その外部情報の書き込み先が、読み出す外部情報と同じメモリであって、読み出す外部情報と同じアドレスになるように制御する。
The control unit 6 controls the reception signal that the memory interface 5 reads from the information memory 1, the parity 1 memory 2, and the parity 2 memory 3, and the external information that the memory interface 5 reads from the external information memory 4 and the external information memory 4 External information to be written (for example, information indicating the probability that the decoding result by the element decoder 7 is “1” or “0”) is controlled.
However, when the memory interface 5 writes external information, control is performed so that the external information is written to the same memory as the external information to be read and has the same address as the external information to be read.

なお、詳細は後述するが、情報メモリ1及び外部情報メモリ4からの読み出しは、インタリーブ時のアクセスでは、インタリーブ系列に従うランダムアクセスとなり、非インタリーブ時のアクセスでは、順序通りとなる。
また、パリティ1メモリ2及びパリティ2メモリ3からの読み出しは、常に順序通りとなり、非インタリーブの復号時には、パリティ1メモリ2からパリティ1系列に相当する受信信号が読み出されて要素復号器7に出力される。また、インタリーブの復号時には、パリティ2メモリ3からパリティ2系列に相当する受信信号が読み出されて要素復号器7に出力される。
制御部6からは、読み出すメモリ番号B(t)と読み出すアドレスA(t)を示す制御信号がメモリインタフェース5に出力される。
Although details will be described later, reading from the information memory 1 and the external information memory 4 is random access according to the interleave sequence in the interleave access, and is in order in the non-interleave access.
In addition, the reading from the parity 1 memory 2 and the parity 2 memory 3 is always performed in the order, and at the time of non-interleaved decoding, a received signal corresponding to the parity 1 series is read from the parity 1 memory 2 and sent to the element decoder 7. Is output. At the time of interleaving decoding, a received signal corresponding to the parity 2 sequence is read from the parity 2 memory 3 and output to the element decoder 7.
From the control unit 6, a control signal indicating the memory number B (t) to be read and the address A (t) to be read is output to the memory interface 5.

ここで、制御部6がメモリインタフェース5に出力するメモリ番号B(t)とアドレスA(t)について具体的に説明する。
まず、メモリインタフェース5が生成するQPPインタリーバのt番目のインタリーブ系列π(t)は、下記のように表される。
π(t)=(f1×t+f2×t×t) mod K (1)
ただし、f1,f2は所定の定数である。
このとき、P個の要素復号器7が並列処理する場合、i番目の処理でj番目の要素復号器7に渡すデータとしてアクセスするメモリ番号B(t)とアドレスA(t)は、下記のように表される。
B(t)=π(i+W×j)/W (2)
A(t)=π(i+W×j) mod W (3)
ただし、ここでは説明の簡単化のため、PはKの約数としている。
Here, the memory number B (t) and the address A (t) output from the control unit 6 to the memory interface 5 will be specifically described.
First, the t-th interleave sequence π (t) of the QPP interleaver generated by the memory interface 5 is expressed as follows.
π (t) = (f1 × t + f2 × t × t) mod K (1)
However, f1 and f2 are predetermined constants.
At this time, when the P element decoders 7 perform parallel processing, the memory number B (t) and the address A (t) accessed as data to be passed to the jth element decoder 7 in the i-th process are as follows: It is expressed as follows.
B (t) = π (i + W × j) / W (2)
A (t) = π (i + W × j) mod W (3)
However, P is a divisor of K for simplicity of explanation here.

したがって、制御部6が式(1)〜式(3)を計算すれば、メモリ番号B(t)とアドレスA(t)を求めることができるが、式(1)〜式(3)の計算では、乗算とmod(剰余)計算が必要となり、実装するには複雑性が高いものとなる。
そこで、この実施の形態1では、下記に示すように、制御部6が加減算処理と比較計算処理を実施するだけで、順方向処理と逆方向処理のインタリーブ位置を求めるようにしている。
アクセスするメモリ番号B(t)とアドレスA(t)を計算するに際して、補助パラメータとしてβ(t),α(t)を用意する。
Therefore, if the control unit 6 calculates the equations (1) to (3), the memory number B (t) and the address A (t) can be obtained, but the equations (1) to (3) are calculated. Then, multiplication and mod (remainder) calculation are required, and the implementation is highly complicated.
Therefore, in the first embodiment, as shown below, the control unit 6 performs the addition / subtraction process and the comparison calculation process to obtain the interleave position of the forward process and the backward process.
When calculating the memory number B (t) and the address A (t) to be accessed, β (t) and α (t) are prepared as auxiliary parameters.

ただし、以下のパラメータβ(0),α(0),γ,δは、計算量が大きいので,予めメモリに格納しておくものとする。
β(0)=ceil((f1+f2)mod K)/W)
α(0)=(f1+f2) mod W
γ=ceil(2×f2/W)
δ=(2×f2 mod W)
ただし、ceil(引数)は、カッコ内の引数から次に大きい整数を返す関数である。
なお、パラメータβ(0),α(0),γ,δを計算して、その計算値を保持しておく分には、大きなメモリ量を必要としない。
However, since the following parameters β (0), α (0), γ, and δ have a large calculation amount, they are stored in the memory in advance.
β (0) = ceil ((f1 + f2) mod K) / W)
α (0) = (f1 + f2) mod W
γ = ceil (2 × f2 / W)
δ = (2 × f2 mod W)
Here, ceil (argument) is a function that returns the next largest integer from the arguments in parentheses.
Note that a large amount of memory is not required for calculating the parameters β (0), α (0), γ, and δ and holding the calculated values.

順方向処理のインタリーブ位置を示すメモリ番号B(t)とアドレスA(t)は、以下に示すように、順方向の逐次的な操作で求めることができる。
[B(t)の更新] If (A(t)+α(t)≧W)
C=1
Else
C=0
B(t+1)=B(t)+β(t)+C
If (B(t+1)≧P)
B(t+1)=B(t+1)−P
[β(t)の更新] If (α(t)+δ≧W)
C=1
Else
C=0
β(t+1)=β(t)+γ+C
If (β(t+1)≧P)
β(t+1)=β(t+1)−P
[A(t)の更新] A(t+1)=A(t)+α(t)
If (A(t+1)≧W)
A(t+1)=A(t+1)−W
[α(t)の更新] α(t+1)=α(t)+δ
If (α(t+1)≧W)
α(t+1)=α(t+1)−W
(4)
As shown below, the memory number B (t) and the address A (t) indicating the interleave position of the forward processing can be obtained by sequential operations in the forward direction.
[Update of B (t)] If (A (t) + α (t) ≧ W)
C = 1
Else
C = 0
B (t + 1) = B (t) + β (t) + C
If (B (t + 1) ≧ P)
B (t + 1) = B (t + 1) −P
[Update of β (t)] If (α (t) + δ ≧ W)
C = 1
Else
C = 0
β (t + 1) = β (t) + γ + C
If (β (t + 1) ≧ P)
β (t + 1) = β (t + 1) −P
[Update of A (t)] A (t + 1) = A (t) + α (t)
If (A (t + 1) ≧ W)
A (t + 1) = A (t + 1) −W
[Update of α (t)] α (t + 1) = α (t) + δ
If (α (t + 1) ≧ W)
α (t + 1) = α (t + 1) −W
(4)

メモリインタフェース5は、制御部6から出力されるメモリ番号B(t)が示す情報メモリ1に格納されている受信信号のうち、制御部6から出力されるアドレスA(t)が示すインタリーブ位置から1ワード分の受信信号を読み出すことで、順方向のインタリーブ系列π(t)を生成することができる。
なお、情報長Kを並列数Pで等分割して、#1〜#Pの要素復号器7が並列処理を実施する場合、#1〜#Pの要素復号器7における並列処理の始点は、それぞれQPPインタリーバの先頭0,W,2W,・・・,(P−1)×Wとなる。
したがって、制御部6は、逐次計算式における並列処理の初期値となるパラメータとして、B(0),B(W),B(2W),・・・,B((P−1)×W),β(0),β(W),β(2W),・・・,β((P−1)×W),α(0),γ,δを保持している。
The memory interface 5 starts from the interleave position indicated by the address A (t) output from the control unit 6 among the received signals stored in the information memory 1 indicated by the memory number B (t) output from the control unit 6. By reading the received signal for one word, a forward interleaved sequence π (t) can be generated.
When the information length K is equally divided by the parallel number P and the # 1 to #P element decoders 7 perform parallel processing, the starting point of the parallel processing in the # 1 to #P element decoders 7 is The tops of the QPP interleavers are 0, W, 2W,..., (P−1) × W, respectively.
Therefore, the control unit 6 uses parameters B (0), B (W), B (2W),. , Β (0), β (W), β (2W),..., Β ((P−1) × W), α (0), γ, δ are held.

メモリインタフェース5は、順方向のインタリーブ系列π(t)を生成して、そのインタリーブ系列π(t)を要素復号器7に与える場合、パリティ2メモリ3からターボ符号のパリティ2系列に相当する受信信号を読み出して、その受信信号を要素復号器7に与えるが、#1のパリティ2メモリ3に格納されている受信信号は#1の要素復号器7に与え、#2のパリティ2メモリ3に格納されている受信信号は#2の要素復号器7に与え、また、#Pのパリティ2メモリ3に格納されている受信信号は#Pの要素復号器7に与える。
このとき、#1〜#Pのパリティ2メモリ3の初期位置から順番に受信信号を読み出すが、#1〜#Pのパリティ2メモリ3から受信信号を読み出す毎に、読み出しアドレス(最初は、初期位置のアドレス=#1〜#Pのパリティ2メモリ3に格納されているW個の受信信号のうち、先頭に格納されている受信信号を示すアドレス)を1ずつインクリメントするようにする。
When the memory interface 5 generates a forward interleave sequence π (t) and gives the interleave sequence π (t) to the element decoder 7, the memory interface 5 receives from the parity 2 memory 3 the parity 2 sequence corresponding to the turbo code. The signal is read and the received signal is given to the element decoder 7. The received signal stored in the # 1 parity 2 memory 3 is given to the # 1 element decoder 7, and the # 2 parity 2 memory 3 is given. The stored received signal is applied to the # 2 element decoder 7, and the received signal stored in the #P parity 2 memory 3 is applied to the #P element decoder 7.
At this time, the received signal is read in order from the initial position of the parity 2 memory 3 of # 1 to #P, but every time the received signal is read from the parity 2 memory 3 of # 1 to #P, the read address (initially The address of the position = the address indicating the received signal stored at the head of the W received signals stored in the parity 2 memory 3 of # 1 to #P is incremented by one.

制御部6は、上記の通り、順方向処理のインタリーブ位置を求める際には式(4)を計算するが、メモリインタフェース5が順方向処理の非インタリーブ系列を生成して、その非インタリーブ系列を#1〜#Pの要素復号器7に与える場合、#1〜#Pの情報メモリ1の初期位置から順番に1ワード分の受信信号を読み出すようにする。
このとき、#1〜#Pの情報メモリ1から受信信号を読み出す毎に、読み出しアドレス(最初は、初期位置のアドレス=#1〜#Pの情報メモリ1に格納されているW個の受信信号のうち、先頭に格納されている受信信号を示すアドレス)を1ずつインクリメントするようにする。
なお、#1の情報メモリ1に格納されている受信信号は#1の要素復号器7に与え、#2の情報メモリ1に格納されている受信信号は#2の要素復号器7に与え、また、#Pの情報メモリ1に格納されている受信信号は#Pの要素復号器7に与える。
As described above, the control unit 6 calculates the equation (4) when obtaining the interleave position for the forward processing, but the memory interface 5 generates a non-interleaved sequence for the forward processing, and the non-interleaved sequence is calculated. When given to the # 1 to #P element decoder 7, the received signal for one word is read in order from the initial position of the information memory 1 of # 1 to #P.
At this time, each time a received signal is read from the information memory 1 of # 1 to #P, a read address (initially, the address of the initial position = W received signals stored in the information memory 1 of # 1 to #P) Among them, the address indicating the received signal stored at the head is incremented by one.
The received signal stored in the # 1 information memory 1 is supplied to the # 1 element decoder 7, and the received signal stored in the # 2 information memory 1 is supplied to the # 2 element decoder 7. The received signal stored in the #P information memory 1 is supplied to the #P element decoder 7.

メモリインタフェース5は、順方向の非インタリーブ系列を生成して、その非インタリーブ系列を要素復号器7に与える場合、パリティ1メモリ2からターボ符号のパリティ1系列に相当する受信信号を読み出して、その受信信号を要素復号器7に与えるが、#1のパリティ1メモリ2に格納されている受信信号は#1の要素復号器7に与え、#2のパリティ1メモリ2に格納されている受信信号は#2の要素復号器7に与え、また、#Pのパリティ1メモリ2に格納されている受信信号は#Pの要素復号器7に与える。
このとき、#1〜#Pのパリティ1メモリ2の初期位置から順番に受信信号を読み出すが、#1〜#Pのパリティ1メモリ2から受信信号を読み出す毎に、読み出しアドレス(最初は、初期位置のアドレス=#1〜#Pのパリティ1メモリ2に格納されているW個の受信信号のうち、先頭に格納されている受信信号を示すアドレス)を1ずつインクリメントするようにする。
When the memory interface 5 generates a forward non-interleaved sequence and gives the non-interleaved sequence to the element decoder 7, the memory interface 5 reads the received signal corresponding to the parity 1 sequence of the turbo code from the parity 1 memory 2, and The received signal is supplied to the element decoder 7, but the received signal stored in the parity 1 memory 2 of # 1 is supplied to the element decoder 7 of # 1, and the received signal stored in the parity 1 memory 2 of # 2 Is supplied to the # 2 element decoder 7 and the received signal stored in the #P parity 1 memory 2 is supplied to the #P element decoder 7.
At this time, the received signals are read sequentially from the initial position of the parity 1 memory 2 of # 1 to #P, but each time the received signal is read from the parity 1 memory 2 of # 1 to #P, the read address (initially The address of the position = the address indicating the received signal stored in the head among the W received signals stored in the parity 1 memory 2 of # 1 to #P is incremented by one.

次に、逆方向処理のインタリーブ位置を示すメモリ番号B(t)とアドレスA(t)は、以下に示すように、逆方向の逐次的な操作で求めることができる。
[α(t)の更新] If (α(t)≧δ)
α(t−1)=α(t)−δ
Else
α(t−1)=α(t)+W−δ
[A(t)の更新] If (A(t)≧α(t−1))
A(t−1)=A(t)−α(t−1)
Else
A(t−1)=A(t)+W−α(t−1)
[β(t)の更新] If (α(t)+δ≧W)
C=1
Else
C=0
If (β(t)≧γ+C)
β(t−1)=β(t)−γ−C
Else
β(t−1)=β(t+1)+P−γ−C
[B(t)の更新] If (A(t)+α(t)≧W)
C=1
Else
C=0
If (B(t)≧β(t−1)+C)
B(t−1)=B(t)−β(t−1)−C
Else
B(t−1)=B(t)+P−β(t−1)−C
(5)
Next, as shown below, the memory number B (t) and the address A (t) indicating the interleave position of the backward processing can be obtained by sequential operations in the backward direction.
[Update of α (t)] If (α (t) ≧ δ)
α (t−1) = α (t) −δ
Else
α (t−1) = α (t) + W−δ
[Update of A (t)] If (A (t) ≧ α (t−1))
A (t−1) = A (t) −α (t−1)
Else
A (t-1) = A (t) + W- [alpha] (t-1)
[Update of β (t)] If (α (t) + δ ≧ W)
C = 1
Else
C = 0
If (β (t) ≧ γ + C)
β (t−1) = β (t) −γ-C
Else
β (t−1) = β (t + 1) + P−γ−C
[Update of B (t)] If (A (t) + α (t) ≧ W)
C = 1
Else
C = 0
If (B (t) ≧ β (t−1) + C)
B (t−1) = B (t) −β (t−1) −C
Else
B (t−1) = B (t) + P−β (t−1) −C
(5)

メモリインタフェース5は、制御部6から出力されるメモリ番号B(t)が示す情報メモリ1に格納されている受信信号のうち、制御部6から出力されるアドレスA(t)が示すインタリーブ位置から1ワード分の受信信号を読み出すことで、逆方向のインタリーブ系列π(t)を生成することができる。
なお、情報長Kを並列数Pで等分割して、#1〜#Pの要素復号器7が並列処理を実施する場合、#1〜#Pの要素復号器7における並列処理の始点は、それぞれQPPインタリーバの(P−1)×W,・・・,2W,1W,先頭0となる。
したがって、制御部6は、逐次計算式における並列処理の初期値となるパラメータとして、B(0),B(W),B(2W),・・・,B((P−1)×W),β(0),β(W),β(2W),・・・,β((P−1)×W),α(0),γ,δを保持している。
The memory interface 5 starts from the interleave position indicated by the address A (t) output from the control unit 6 among the received signals stored in the information memory 1 indicated by the memory number B (t) output from the control unit 6. By reading a received signal for one word, an interleaved sequence π (t) in the reverse direction can be generated.
When the information length K is equally divided by the parallel number P and the # 1 to #P element decoders 7 perform parallel processing, the starting point of the parallel processing in the # 1 to #P element decoders 7 is QPP interleaver has (P-1) × W,..., 2W, 1W, and leading 0.
Therefore, the control unit 6 uses parameters B (0), B (W), B (2W),. , Β (0), β (W), β (2W),..., Β ((P−1) × W), α (0), γ, δ are held.

メモリインタフェース5は、逆方向のインタリーブ系列π(t)を生成して、そのインタリーブ系列π(t)を要素復号器7に与える場合、パリティ2メモリ3からターボ符号のパリティ2系列に相当する受信信号を読み出して、その受信信号を要素復号器7に与えるが、#1のパリティ2メモリ3に格納されている受信信号は#1の要素復号器7に与え、#2のパリティ2メモリ3に格納されている受信信号は#2の要素復号器7に与え、また、#Pのパリティ2メモリ3に格納されている受信信号は#Pの要素復号器7に与える。
このとき、#1〜#Pのパリティ2メモリ3の最終位置から順番に受信信号を読み出すが、#1〜#Pのパリティ2メモリ3から受信信号を読み出す毎に、読み出しアドレス(最初は、最終位置のアドレス=#1〜#Pのパリティ2メモリ3に格納されているW個の受信信号のうち、最後尾に格納されている受信信号を示すアドレス)を1ずつデクリメントするようにする。
When the memory interface 5 generates an interleave sequence π (t) in the reverse direction and supplies the interleave sequence π (t) to the element decoder 7, the memory interface 5 receives from the parity 2 memory 3 the parity 2 sequence corresponding to the turbo code. The signal is read and the received signal is given to the element decoder 7. The received signal stored in the # 1 parity 2 memory 3 is given to the # 1 element decoder 7, and the # 2 parity 2 memory 3 is given. The stored received signal is applied to the # 2 element decoder 7, and the received signal stored in the #P parity 2 memory 3 is applied to the #P element decoder 7.
At this time, the received signal is sequentially read from the final position of the parity 2 memory 3 of # 1 to #P, but each time the received signal is read from the parity 2 memory 3 of # 1 to #P, The address of the position = the address indicating the received signal stored at the tail of the W received signals stored in the parity 2 memory 3 of # 1 to #P) is decremented by one.

制御部6は、上記の通り、逆方向処理のインタリーブ位置を求める際には式(5)を計算するが、メモリインタフェース5が逆方向処理の非インタリーブ系列を生成して、その非インタリーブ系列を#1〜#Pの要素復号器7に与える場合、#1〜#Pの情報メモリ1の最終位置から順番に1ワード分の受信信号を読み出すようにする。
このとき、#1〜#Pの情報メモリ1から受信信号を読み出す毎に、読み出しアドレス(最初は、最終位置のアドレス=#1〜#Pの情報メモリ1に格納されているW個の受信信号のうち、最後尾に格納されている受信信号を示すアドレス)を1ずつデクリメントするようにする。
なお、#1の情報メモリ1に格納されている受信信号は#1の要素復号器7に与え、#2の情報メモリ1に格納されている受信信号は#2の要素復号器7に与え、また、#Pの情報メモリ1に格納されている受信信号は#Pの要素復号器7に与える。
As described above, the control unit 6 calculates Equation (5) when obtaining the interleave position for the backward processing, but the memory interface 5 generates the non-interleaved sequence for the backward processing and generates the non-interleaved sequence. When given to the # 1 to #P element decoder 7, the received signal for one word is read in order from the final position of the information memory 1 of # 1 to #P.
At this time, every time a received signal is read from the information memories 1 of # 1 to #P, a read address (initially, the address of the final position = W received signals stored in the information memory 1 of # 1 to #P Among them, the address indicating the received signal stored at the end is decremented one by one.
The received signal stored in the # 1 information memory 1 is supplied to the # 1 element decoder 7, and the received signal stored in the # 2 information memory 1 is supplied to the # 2 element decoder 7. The received signal stored in the #P information memory 1 is supplied to the #P element decoder 7.

メモリインタフェース5は、順方向の非インタリーブ系列を生成して、その非インタリーブ系列を要素復号器7に与える場合、パリティ1メモリ2からターボ符号のパリティ1系列に相当する受信信号を読み出して、その受信信号を要素復号器7に与えるが、#1のパリティ1メモリ2に格納されている受信信号は#1の要素復号器7に与え、#2のパリティ1メモリ2に格納されている受信信号は#2の要素復号器7に与え、また、#Pのパリティ1メモリ2に格納されている受信信号は#Pの要素復号器7に与える。
このとき、#1〜#Pのパリティ1メモリ2の最終位置から順番に受信信号を読み出すが、#1〜#Pのパリティ1メモリ2から受信信号を読み出す毎に、読み出しアドレス(最初は、最終位置のアドレス=#1〜#Pのパリティ1メモリ2に格納されているW個の受信信号のうち、最後尾に格納されている受信信号を示すアドレス)を1ずつデクリメントするようにする。
When the memory interface 5 generates a forward non-interleaved sequence and gives the non-interleaved sequence to the element decoder 7, the memory interface 5 reads the received signal corresponding to the parity 1 sequence of the turbo code from the parity 1 memory 2, and The received signal is supplied to the element decoder 7, but the received signal stored in the parity 1 memory 2 of # 1 is supplied to the element decoder 7 of # 1, and the received signal stored in the parity 1 memory 2 of # 2 Is supplied to the # 2 element decoder 7 and the received signal stored in the #P parity 1 memory 2 is supplied to the #P element decoder 7.
At this time, the received signal is sequentially read from the last position of the parity 1 memory 2 of # 1 to #P, but each time the received signal is read from the parity 1 memory 2 of # 1 to #P, The address of the position = the address indicating the received signal stored at the end of the W received signals stored in the parity 1 memory 2 of # 1 to #P is decremented one by one.

メモリインタフェース5がインタリーブ系列及び非インタリーブ系列を生成する際の制御部6の動作は、上記の通りである。
以下、図2を参照しながら、制御部6がメモリインタフェース5を制御することにより、インタリーブ系列と非インタリーブ系列を順番に生成させて、要素復号器7がターボ符号を復号する処理を説明する。
なお、図2では、非インタリーブ、インタリーブ、非インタリーブ、インタリーブ、・・・、非インタリーブ、インタリーブの順番で繰り返し復号を行う例を示しているが、非インタリーブとインタリーブは逆の順序でもよい。また、順方向、逆方向、順方向、逆方向の順番で処理しているが、順方向と逆方向は逆の順序でもよい。
The operation of the control unit 6 when the memory interface 5 generates an interleaved sequence and a non-interleaved sequence is as described above.
Hereinafter, a process in which the control unit 6 controls the memory interface 5 to generate an interleaved sequence and a non-interleaved sequence in order, and the element decoder 7 decodes the turbo code will be described with reference to FIG.
2 shows an example in which iterative decoding is performed in the order of non-interleaving, interleaving, non-interleaving, interleaving,..., Non-interleaving, and interleaving, but non-interleaving and interleaving may be reversed. Further, the processing is performed in the order of the forward direction, the reverse direction, the forward direction, and the reverse direction, but the forward direction and the reverse direction may be reversed.

まず、制御部6は、要素復号器7のメモリに格納されているパスメトリック値を初期化する。
次に、制御部6は、インタリーブ系列π(t)の生成に係るパラメータとして、情報長固有のパラメータ(α(0)、γ、δ)と、並列処理を行う際の先頭位置を示すパラメータ(B(0),B(W),B(2W),・・・,B((P−1)×W),β(0),β(W),β(2W),・・・,β((P−1)×W)とを設定する。
なお、図2では並列処理を明確にするため、並列数をPとして、順方向処理と逆方向処理を#1〜#Pで表している。
First, the control unit 6 initializes the path metric value stored in the memory of the element decoder 7.
Next, the control unit 6 uses parameters (α (0), γ, δ) specific to the information length as parameters relating to the generation of the interleave sequence π (t), and a parameter ( B (0), B (W), B (2W),..., B ((P-1) × W), β (0), β (W), β (2W),. ((P-1) × W) is set.
In FIG. 2, in order to clarify parallel processing, the number of parallel processes is represented by P, and forward processing and backward processing are represented by # 1 to #P.

また、制御部6は、順方向処理と逆方向処理の繰り返し回数とメモリアクセスの初期設定を行うとともに、要素復号器7におけるパスメトリック計算の初期化を行う。
なお、図2では、要素復号器7により算出されたパスメトリック値を“端パスメトリック値”と記述しており、特に、パスメトリック値の格納と読み出しを明確にするため、非インタリーブ順方向の場合をF1、非インタリーブ逆方向の場合をB1、インタリーブ順方向の場合をF2、インタリーブ逆方向の場合をB2で表記している。これらのパスメトリック値は新しい値の算出時に上書きする。
In addition, the control unit 6 initializes the number of repetitions of forward processing and reverse processing and initial setting of memory access, and initializes path metric calculation in the element decoder 7.
In FIG. 2, the path metric value calculated by the element decoder 7 is described as “end path metric value”. In particular, in order to clarify the storage and reading of the path metric value, the non-interleaved forward direction is described. The case is denoted by F1, the non-interleaved reverse direction is denoted by B1, the interleave forward direction is denoted by F2, and the interleave reverse direction is denoted by B2. These path metric values are overwritten when a new value is calculated.

繰り返し1回目では、制御部6は、非インタリーブ系列の順方向処理を行うため、#1〜#Pの要素復号器7に与える順方向の非インタリーブ系列の位置を示すアドレスとメモリ番号をメモリインタフェース5に出力する。
メモリインタフェース5は、制御部6からアドレスとメモリ番号を受けると、そのアドレスとメモリ番号にしたがって、#1〜#Pの情報メモリ1から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与えるとともに、パリティ1メモリ2から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号を受けると、その受信信号に対する順方向処理を実施して、復号結果を算出するとともに、非インタリーブ順方向のパスメトリック値を算出し、そのパスメトリック値を端パスメトリック値F1として内部のメモリに格納する。受信信号に対する順方向処理、復号結果やパスメトリック値を算出する方法は、公知の技術であり、例えば、非特許文献1に開示されている。
なお、#1〜#Pの要素復号器7における順方向処理では、Wステップを要する。
In the first iteration, the control unit 6 performs the forward processing of the non-interleaved sequence, so that the address indicating the position of the forward non-interleaved sequence given to the # 1 to #P element decoders 7 and the memory number are stored in the memory interface. 5 is output.
When the memory interface 5 receives the address and memory number from the control unit 6, it reads out the received signal from the information memories 1 of # 1 to #P according to the address and memory number, respectively, and sends each received signal to # 1 to ##. The received signal is supplied to the P element decoder 7 and the received signal is read from the parity 1 memory 2, and each received signal is supplied to the # 1 to #P element decoder 7.
Upon receiving the received signal from the memory interface 5, the # 1 to #P element decoders 7 perform forward processing on the received signal, calculate a decoding result, and obtain a non-interleaved forward path metric value. The path metric value is calculated and stored in the internal memory as the end path metric value F1. The forward processing for the received signal, the method of calculating the decoding result and the path metric value are known techniques, and are disclosed in Non-Patent Document 1, for example.
The forward process in the # 1 to #P element decoders 7 requires W steps.

次に、制御部6は、繰り返し1回目における非インタリーブ系列の逆方向処理を行うため、#1〜#Pの要素復号器7に与える逆方向の非インタリーブ系列の位置を示すアドレスとメモリ番号をメモリインタフェース5に出力する。
メモリインタフェース5は、制御部6からアドレスとメモリ番号を受けると、そのアドレスとメモリ番号にしたがって、#1〜#Pの情報メモリ1から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与えるとともに、パリティ1メモリ2から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号を受けると、その受信信号に対する逆方向処理を実施して、復号結果を算出するとともに、非インタリーブ逆方向のパスメトリック値を算出し、そのパスメトリック値を端パスメトリック値B1として内部のメモリに格納する。
また、#1〜#Pの要素復号器7は、非インタリーブ逆方向のパスメトリック値を用いて、外部情報(例えば、要素復号器7による復号結果が“1”又は“0”である確率を示す情報)を算出し、その外部情報を#1〜#Pの外部情報メモリ4に格納する。受信信号に対する逆方向処理や外部情報を算出する方法は、公知の技術であり、例えば、非特許文献1に開示されている。
なお、#1〜#Pの要素復号器7における逆方向処理では、Wステップを要する。
Next, in order to perform reverse processing of the non-interleaved sequence in the first iteration, the control unit 6 assigns an address indicating the position of the reverse non-interleaved sequence to be supplied to the # 1 to #P element decoder 7 and a memory number. Output to the memory interface 5.
When the memory interface 5 receives the address and memory number from the control unit 6, it reads out the received signal from the information memories 1 of # 1 to #P according to the address and memory number, respectively, and sends each received signal to # 1 to ##. The received signal is supplied to the P element decoder 7 and the received signal is read from the parity 1 memory 2, and each received signal is supplied to the # 1 to #P element decoder 7.
Upon receiving the received signal from the memory interface 5, the # 1 to #P element decoders 7 perform reverse processing on the received signal, calculate the decoding result, and calculate the path metric value in the non-interleaved reverse direction. The path metric value is calculated and stored in the internal memory as the end path metric value B1.
Also, the # 1 to #P element decoder 7 uses the path metric value in the non-interleaved reverse direction to determine the probability that the decoding result by the element decoder 7 is “1” or “0”. Information) is calculated, and the external information is stored in the external information memories 4 of # 1 to #P. The reverse processing for the received signal and the method for calculating the external information are known techniques, and are disclosed in Non-Patent Document 1, for example.
The backward process in the # 1 to #P element decoders 7 requires W steps.

次に、制御部6は、繰り返し1回目におけるインタリーブ系列の順方向処理を行うため、上記の式(4)を用いて、メモリ番号B(t)とアドレスA(t)を算出し、そのメモリ番号B(t)とアドレスA(t)をメモリインタフェース5に出力する。
メモリインタフェース5は、制御部6からメモリ番号B(t)とアドレスA(t)を受けると、そのメモリ番号B(t)とアドレスA(t)にしたがって、#1〜#Pの情報メモリ1から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与えるとともに、パリティ2メモリ3から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与える。
また、#1〜#Pの外部情報メモリ4から外部情報をそれぞれ読み出して、各外部情報を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号と外部情報を受けると、その外部情報を用いて、その受信信号に対する順方向処理を実施して、復号結果を算出するとともに、インタリーブ順方向のパスメトリック値を算出し、そのパスメトリック値を端パスメトリック値F2として内部のメモリに格納する。
Next, the control unit 6 calculates the memory number B (t) and the address A (t) using the above equation (4) in order to perform forward processing of the interleaved sequence in the first repetition, and the memory The number B (t) and the address A (t) are output to the memory interface 5.
When the memory interface 5 receives the memory number B (t) and the address A (t) from the control unit 6, the information memory 1 of # 1 to #P according to the memory number B (t) and the address A (t). The received signals are respectively read from and supplied to the # 1 to #P element decoders 7, and the received signals are read from the parity 2 memory 3, and the received signals are # 1 to #P decoded. Give to vessel 7.
Also, the external information is read from the external information memories 4 of # 1 to #P, and the external information is given to the element decoder 7 of # 1 to #P.
When receiving the received signal and the external information from the memory interface 5, the # 1 to #P element decoders 7 perform forward processing on the received signal using the external information and calculate the decoding result. The path metric value in the interleave forward direction is calculated, and the path metric value is stored in the internal memory as the end path metric value F2.

次に、制御部6は、繰り返し1回目におけるインタリーブ系列の逆方向処理を行うため、上記の式(5)を用いて、メモリ番号B(t)とアドレスA(t)を算出し、そのメモリ番号B(t)とアドレスA(t)をメモリインタフェース5に出力する。
メモリインタフェース5は、制御部6からメモリ番号B(t)とアドレスA(t)を受けると、そのメモリ番号B(t)とアドレスA(t)にしたがって、#1〜#Pの情報メモリ1から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与えるとともに、パリティ2メモリ3から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与える。
また、#1〜#Pの外部情報メモリ4から外部情報をそれぞれ読み出して、各外部情報を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号と外部情報を受けると、その外部情報を用いて、その受信信号に対する逆方向処理を実施して、復号結果を算出するとともに、インタリーブ逆方向のパスメトリック値を算出し、そのパスメトリック値を端パスメトリック値B2として内部のメモリに格納する。
また、#1〜#Pの要素復号器7は、インタリーブ逆方向のパスメトリック値を用いて外部情報を算出し、その外部情報を#1〜#Pの外部情報メモリ4に格納する(外部情報メモリ4に格納されている外部情報の上に、新たに算出した外部情報を上書きする)。
Next, the control unit 6 calculates the memory number B (t) and the address A (t) using the above equation (5) in order to perform reverse processing of the interleaved sequence in the first iteration, and the memory The number B (t) and the address A (t) are output to the memory interface 5.
When the memory interface 5 receives the memory number B (t) and the address A (t) from the control unit 6, the information memory 1 of # 1 to #P according to the memory number B (t) and the address A (t). The received signals are respectively read from and supplied to the # 1 to #P element decoders 7, and the received signals are read from the parity 2 memory 3, and the received signals are # 1 to #P decoded. Give to vessel 7.
Also, the external information is read from the external information memories 4 of # 1 to #P, and the external information is given to the element decoder 7 of # 1 to #P.
When receiving the received signal and the external information from the memory interface 5, the # 1 to #P element decoder 7 performs reverse processing on the received signal using the external information and calculates the decoding result. The path metric value in the reverse direction of interleaving is calculated, and the path metric value is stored in the internal memory as the end path metric value B2.
Also, the # 1 to #P element decoder 7 calculates external information using the path metric value in the reverse direction of interleaving, and stores the external information in the external information memory 4 of # 1 to #P (external information). The newly calculated external information is overwritten on the external information stored in the memory 4).

繰り返し2回目では、制御部6は、非インタリーブ系列の順方向処理を行うため、#1〜#Pの要素復号器7に与える順方向の非インタリーブ系列の位置を示すアドレスとメモリ番号をメモリインタフェース5に出力する。
メモリインタフェース5は、制御部6からアドレスとメモリ番号を受けると、そのアドレスとメモリ番号にしたがって、#1〜#Pの情報メモリ1から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与えるとともに、パリティ1メモリ2から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与える。
また、#1〜#Pの外部情報メモリ4から外部情報をそれぞれ読み出して、各外部情報を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号と外部情報を受けると、内部のメモリに格納されている端パスメトリック値F1(繰り返し1回目における非インタリーブ系列の順方向処理で算出された端パスメトリック値F1)を読み出して、その端パスメトリック値F1を順方向処理の初期値として設定する。
そして、その外部情報を用いて、その受信信号に対する順方向処理を実施して、復号結果を算出するとともに、インタリーブ順方向のパスメトリック値を算出する。
#1〜#Pの要素復号器7は、そのパスメトリック値を端パスメトリック値F1として、内部のメモリに格納されている端パスメトリック値F1を更新する(内部のメモリに格納されている端パスメトリック値F1の上に、新たに算出したパスメトリック値を上書きする)。
In the second iteration, the control unit 6 performs the forward processing of the non-interleaved sequence, so that the address indicating the position of the forward non-interleaved sequence given to the # 1 to #P element decoder 7 and the memory number are stored in the memory interface. 5 is output.
When the memory interface 5 receives the address and memory number from the control unit 6, it reads out the received signal from the information memories 1 of # 1 to #P according to the address and memory number, respectively, and sends each received signal to # 1 to ##. The received signal is supplied to the P element decoder 7 and the received signal is read from the parity 1 memory 2, and each received signal is supplied to the # 1 to #P element decoder 7.
Also, the external information is read from the external information memories 4 of # 1 to #P, and the external information is given to the element decoder 7 of # 1 to #P.
Upon receiving the received signal and the external information from the memory interface 5, the # 1 to #P element decoders 7 receive the end path metric value F1 stored in the internal memory (the non-interleaved sequence forward processing in the first iteration). Is read out, and the end path metric value F1 is set as an initial value for forward processing.
Then, forward processing is performed on the received signal using the external information to calculate a decoding result and a path metric value in the interleaved forward direction.
The element decoders # 1 to #P use the path metric value as the end path metric value F1, and update the end path metric value F1 stored in the internal memory (the end metric stored in the internal memory). The newly calculated path metric value is overwritten on the path metric value F1).

次に、制御部6は、繰り返し2回目における非インタリーブ系列の逆方向処理を行うため、#1〜#Pの要素復号器7に与える逆方向の非インタリーブ系列の位置を示すアドレスとメモリ番号をメモリインタフェース5に出力する。
メモリインタフェース5は、制御部6からアドレスとメモリ番号を受けると、そのアドレスとメモリ番号にしたがって、#1〜#Pの情報メモリ1から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与えるとともに、パリティ1メモリ2から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与える。
また、#1〜#Pの外部情報メモリ4から外部情報をそれぞれ読み出して、各外部情報を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号と外部情報を受けると、内部のメモリに格納されている端パスメトリック値B1(繰り返し1回目における非インタリーブ系列の逆方向処理で算出された端パスメトリック値B1)を読み出し、その端パスメトリック値B1を逆方向処理の初期値として設定する。
そして、その外部情報を用いて、その受信信号に対する逆方向処理を実施して、復号結果を算出するとともに、非インタリーブ逆方向のパスメトリック値を算出する。
#1〜#Pの要素復号器7は、そのパスメトリック値を端パスメトリック値B1として、内部のメモリに格納されている端パスメトリック値B1を更新する。
また、非インタリーブ逆方向のパスメトリック値を用いて外部情報を算出し、その外部情報を#1〜#Pの外部情報メモリ4に格納する。
Next, in order to perform reverse processing of the non-interleaved sequence in the second iteration, the control unit 6 assigns an address and a memory number indicating the position of the reverse non-interleaved sequence to be supplied to the # 1 to #P element decoders 7. Output to the memory interface 5.
When the memory interface 5 receives the address and memory number from the control unit 6, it reads out the received signal from the information memories 1 of # 1 to #P according to the address and memory number, respectively, and sends each received signal to # 1 to ##. The received signal is supplied to the P element decoder 7 and the received signal is read from the parity 1 memory 2, and each received signal is supplied to the # 1 to #P element decoder 7.
Also, the external information is read from the external information memories 4 of # 1 to #P, and the external information is given to the element decoder 7 of # 1 to #P.
Upon receiving the received signal and the external information from the memory interface 5, the # 1 to #P element decoders 7 receive the end path metric value B1 stored in the internal memory (reverse processing of the non-interleaved sequence in the first iteration) Is read out, and the end path metric value B1 is set as the initial value of the backward processing.
Then, using the external information, reverse processing is performed on the received signal to calculate a decoding result and a non-interleaved reverse path metric value.
The element decoders # 1 to #P update the end path metric value B1 stored in the internal memory with the path metric value as the end path metric value B1.
Further, external information is calculated using the path metric value in the non-interleaved reverse direction, and the external information is stored in the external information memory 4 of # 1 to #P.

次に、制御部6は、繰り返し2回目におけるインタリーブ系列の順方向処理を行うため、上記の式(4)を用いて、メモリ番号B(t)とアドレスA(t)を算出し、そのメモリ番号B(t)とアドレスA(t)をメモリインタフェース5に出力する。
メモリインタフェース5は、制御部6からメモリ番号B(t)とアドレスA(t)を受けると、そのメモリ番号B(t)とアドレスA(t)にしたがって、#1〜#Pの情報メモリ1から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与えるとともに、パリティ2メモリ3から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与える。
また、#1〜#Pの外部情報メモリ4から外部情報をそれぞれ読み出して、各外部情報を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号と外部情報を受けると、内部のメモリに格納されている端パスメトリック値F2(繰り返し1回目におけるインタリーブ系列の順方向処理で算出された端パスメトリック値F2)を読み出し、その端パスメトリック値F2を順方向処理の初期値として設定する。
そして、その外部情報を用いて、その受信信号に対する順方向処理を実施して、復号結果を算出するとともに、インタリーブ順方向のパスメトリック値を算出する。
#1〜#Pの要素復号器7は、そのパスメトリック値を端パスメトリック値F2として、内部のメモリに格納されている端パスメトリック値F2を更新する。
Next, the control unit 6 calculates the memory number B (t) and the address A (t) using the above equation (4) in order to perform forward processing of the interleaved sequence in the second repetition, and the memory The number B (t) and the address A (t) are output to the memory interface 5.
When the memory interface 5 receives the memory number B (t) and the address A (t) from the control unit 6, the information memory 1 of # 1 to #P according to the memory number B (t) and the address A (t). The received signals are respectively read from and supplied to the # 1 to #P element decoders 7, and the received signals are read from the parity 2 memory 3, and the received signals are # 1 to #P decoded. Give to vessel 7.
Also, the external information is read from the external information memories 4 of # 1 to #P, and the external information is given to the element decoder 7 of # 1 to #P.
Upon receipt of the received signal and external information from the memory interface 5, the # 1 to #P element decoders 7 receive the end path metric value F2 stored in the internal memory (in the first iteration of the interleaved sequence forward processing). The calculated end path metric value F2) is read, and the end path metric value F2 is set as the initial value of the forward processing.
Then, forward processing is performed on the received signal using the external information to calculate a decoding result and a path metric value in the interleaved forward direction.
The element decoders # 1 to #P update the end path metric value F2 stored in the internal memory with the path metric value as the end path metric value F2.

次に、制御部6は、繰り返し2回目におけるインタリーブ系列の逆方向処理を行うため、上記の式(5)を用いて、メモリ番号B(t)とアドレスA(t)を算出し、そのメモリ番号B(t)とアドレスA(t)をメモリインタフェース5に出力する。
メモリインタフェース5は、制御部6からメモリ番号B(t)とアドレスA(t)を受けると、そのメモリ番号B(t)とアドレスA(t)にしたがって、#1〜#Pの情報メモリ1から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与えるとともに、パリティ2メモリ3から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与える。
また、#1〜#Pの外部情報メモリ4から外部情報をそれぞれ読み出して、各外部情報を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号と外部情報を受けると、内部のメモリに格納されている端パスメトリック値B2(繰り返し1回目におけるインタリーブ系列の逆方向処理で算出された端パスメトリック値B2)を読み出し、その端パスメトリック値B2を逆方向処理の初期値として設定する。
そして、その外部情報を用いて、その受信信号に対する逆方向処理を実施して、復号結果を算出するとともに、インタリーブ逆方向のパスメトリック値を算出する。
#1〜#Pの要素復号器7は、そのパスメトリック値を端パスメトリック値B2として、内部のメモリに格納されている端パスメトリック値B2を更新する。
また、インタリーブ逆方向のパスメトリック値を用いて外部情報を算出し、その外部情報を#1〜#Pの外部情報メモリ4に格納する。
Next, the control unit 6 calculates the memory number B (t) and the address A (t) using the above equation (5) in order to perform the backward process of the interleaved sequence in the second iteration, and the memory The number B (t) and the address A (t) are output to the memory interface 5.
When the memory interface 5 receives the memory number B (t) and the address A (t) from the control unit 6, the information memory 1 of # 1 to #P according to the memory number B (t) and the address A (t). The received signals are respectively read from and supplied to the # 1 to #P element decoders 7, and the received signals are read from the parity 2 memory 3, and the received signals are # 1 to #P decoded. Give to vessel 7.
Also, the external information is read from the external information memories 4 of # 1 to #P, and the external information is given to the element decoder 7 of # 1 to #P.
Upon receipt of the received signal and external information from the memory interface 5, the # 1 to #P element decoders 7 receive the end path metric value B2 stored in the internal memory (reverse processing of the interleaved sequence in the first iteration). The calculated end path metric value B2) is read, and the end path metric value B2 is set as the initial value of the backward processing.
Then, using the external information, reverse processing is performed on the received signal to calculate a decoding result and a path metric value in the interleave reverse direction.
The # 1 to #P element decoders 7 update the end path metric value B2 stored in the internal memory using the path metric value as the end path metric value B2.
Further, external information is calculated using the path metric value in the reverse direction of interleaving, and the external information is stored in the external information memory 4 of # 1 to #P.

以降、繰り返し2回目と同様にして、非インタリーブの順方向処理及び逆方向処理と、インタリーブの順方向処理及び逆方向処理とを所定回数だけ繰り返し実施する。
#1〜#Pの要素復号器7は、所定回数だけ繰り返し実施すると、最後に算出した復号結果を出力する。
Thereafter, similarly to the second iteration, the non-interleaved forward process and backward process and the interleaved forward process and backward process are repeated a predetermined number of times.
When the # 1 to #P element decoders 7 are repeatedly executed a predetermined number of times, they output the finally calculated decoding result.

以上で明らかなように、この実施の形態1によれば、メモリインタフェース5がターボ符号のインタリーブ系列を生成する際、制御部6が加減算処理と比較計算処理を実施するだけで順方向処理と逆方向処理のインタリーブ位置を求めるように構成したので、インタリーブ系列を格納するメモリを実装することなく、ターボ符号の復号処理を並列化することができるようになり、実装するメモリ量を削減することができる効果を奏する。
即ち、インタリーブ系列に依存するメモリアクセスを簡易な計算で逐次的に得ることができるため、インタリーブ系列を保持するためのメモリが不要になり、メモリ量や回路規模を小さく抑えることができる効果を奏する。
As apparent from the above, according to the first embodiment, when the memory interface 5 generates the interleaved sequence of the turbo code, the control unit 6 simply performs the addition / subtraction process and the comparison calculation process, and reverses the forward process. Since the configuration is such that the interleave position of the direction processing is obtained, it becomes possible to parallelize the decoding process of the turbo code without mounting the memory for storing the interleaved sequence, thereby reducing the amount of memory to be mounted. There is an effect that can be done.
That is, since memory access depending on the interleaved sequence can be obtained sequentially with a simple calculation, a memory for holding the interleaved sequence becomes unnecessary, and the memory capacity and circuit scale can be reduced. .

なお、この実施の形態1では、要素復号器7が順方向処理と逆方向処理を順番に実施するものについて示したが、要素復号器7が順方向処理と逆方向処理を同時に実施するようにしてもよい。
ただし、要素復号器7が順方向処理と逆方向処理を同時に実施する場合、並列化単位の長さWが奇数であれば、順方向処理又は逆方向処理のいずれか一方の開始を1ステップ先行又は1ステップ遅延させるようにする。
In the first embodiment, the element decoder 7 performs forward processing and backward processing in order. However, the element decoder 7 performs forward processing and backward processing at the same time. May be.
However, when the element decoder 7 performs the forward processing and the backward processing simultaneously, if the length W of the parallelization unit is an odd number, the start of either the forward processing or the backward processing is advanced by one step. Alternatively, it is delayed by one step.

即ち、要素復号器7が順方向処理と逆方向処理を同時に実施する場合、順方向処理は単位の先頭からパスメトリック値を保存しながら処理を進め、逆方向処理は単位の末尾からパスメトリック値を保存しながら処理を進める。
両方向から進んだトレリスが交差した先は、互いのパスメトリック値を読み出すことができるので、外部情報を算出することができる。
ただし、並列化単位の長さWが奇数であれば、順方向処理又は逆方向処理のいずれか一方の開始を1ステップ先行又は1ステップ遅延させるようにする。
その理由は、並列化単位の長さWが奇数である場合、トレリスが交差する位置が同じになるため、いずれのパスメトリック値も保存されていない位置が生じてしまって、外部情報を算出することができないからである。
いずれかの開始を1ステップ先行、もしくは、1ステップ遅延させることで、どのような場合にも処理のタイミングに矛盾なく外部情報を算出することができる。
That is, when the element decoder 7 performs forward processing and backward processing at the same time, the forward processing proceeds while storing the path metric value from the beginning of the unit, and the backward processing starts with the path metric value from the end of the unit. Proceed while saving.
Since the trellises that have advanced from both directions cross each other, the mutual path metric values can be read out, so that external information can be calculated.
However, if the length W of the parallelization unit is an odd number, the start of either the forward process or the backward process is delayed by one step or delayed by one step.
The reason is that when the parallelization unit length W is an odd number, the positions at which the trellis crosses are the same, so that there is a position where no path metric value is stored, and external information is calculated. Because you can't.
By delaying any start by one step or delaying one step, external information can be calculated in any case without contradiction to the processing timing.

実施の形態2.
上記実施の形態1では、情報メモリ1、パリティ1メモリ2、パリティ2メモリ3及び外部情報メモリ4をP個ずつ実装しているものを示したが、図3に示すように、情報メモリ1、パリティ1メモリ2、パリティ2メモリ3及び外部情報メモリ4を1個ずつ実装するようにしてもよい。
この場合、復号処理を並列化する際のデータの読み書きは、アクセスするアドレスと読み出したデータの並べ替えを制御することで可能となる。
例えば、並列数をPとすると、アドレス数はK/P、1ワードは受信信号のビット数nのP倍であるn×Pビットとなり、読み出したn×Pビットをnビットずつ区切って並べ替えるようにする。
Embodiment 2. FIG.
In the first embodiment, the information memory 1, the parity 1 memory 2, the parity 2 memory 3, and the external information memory 4 are mounted on each of the P pieces. However, as shown in FIG. One parity 1 memory 2, one parity 2 memory 3, and one external information memory 4 may be mounted.
In this case, reading and writing of data when parallelizing the decoding process can be performed by controlling the rearrangement of the address to be accessed and the read data.
For example, if the parallel number is P, the number of addresses is K / P, and one word is n × P bits, which is P times the number of bits n of the received signal, and the read n × P bits are divided into n bits and rearranged. Like that.

制御部6は、メモリインタフェース5が情報メモリ1、パリティ1メモリ2及びパリティ2メモリ3から読み出す受信信号を制御するとともに、メモリインタフェース5が外部情報メモリ4から読み出す外部情報と、外部情報メモリ4に書き込む外部情報とを制御する。ただし、メモリインタフェース5が外部情報を書き込む際には、その外部情報の書き込み先が、読み出す外部情報と同じアドレスになるように制御する。
また、制御部6は、メモリインタフェース5が読み出した受信信号であるデータの並べ替えパターンを制御する。
The control unit 6 controls the reception signal that the memory interface 5 reads from the information memory 1, the parity 1 memory 2, and the parity 2 memory 3, and the external information that the memory interface 5 reads from the external information memory 4 and the external information memory 4 Control external information to be written. However, when the memory interface 5 writes external information, control is performed so that the external information is written to the same address as the external information to be read.
In addition, the control unit 6 controls a data rearrangement pattern that is a received signal read by the memory interface 5.

以下、制御部6におけるデータの並べ替えパターンの制御について説明する。
ここでは、メモリインタフェース5がアクセスするアドレスをA(t)、データの並べ替え順を示すパラメータをB(t)として、補助パラメータβ(t),α(t)を用意する。
ただし、以下のパラメータβ(0),α(0),γ,δは、計算量が大きいので,予めメモリに格納しておくものとする。
β(0)=ceil((f1+f2)mod K)/W)
α(0)=(f1+f2) mod W
γ=ceil(2×f2/W)
δ=(2×f2 mod W)
なお、パラメータβ(0),α(0),γ,δを計算して、その計算値を保持しておく分には、大きなメモリ量を必要としない。
Hereinafter, control of the data rearrangement pattern in the control unit 6 will be described.
Here, auxiliary parameters β (t) and α (t) are prepared, assuming that the address accessed by the memory interface 5 is A (t) and the parameter indicating the data rearrangement order is B (t).
However, since the following parameters β (0), α (0), γ, and δ have a large calculation amount, they are stored in the memory in advance.
β (0) = ceil ((f1 + f2) mod K) / W)
α (0) = (f1 + f2) mod W
γ = ceil (2 × f2 / W)
δ = (2 × f2 mod W)
Note that a large amount of memory is not required for calculating the parameters β (0), α (0), γ, and δ and holding the calculated values.

情報長Kを並列数Pで等分割して、#1〜#Pの要素復号器7が並列処理を実施する場合、#1〜#Pの要素復号器7における並列処理の始点は、それぞれQPPインタリーバの先頭0,W,2W,・・・,(P−1)×Wとなる。
したがって、制御部6は、逐次計算式における並列処理の初期値となるパラメータとして、B(0),B(W),B(2W),・・・,B((P−1)×W),β(0),β(W),β(2W),・・・,β((P−1)×W),α(0),γ,δを保持している。
If the information length K is equally divided by the parallel number P and the # 1 to #P element decoders 7 perform parallel processing, the starting point of the parallel processing in the # 1 to #P element decoders 7 is QPP, respectively. The top of the interleaver is 0, W, 2W,..., (P-1) × W.
Therefore, the control unit 6 uses parameters B (0), B (W), B (2W),. , Β (0), β (W), β (2W),..., Β ((P−1) × W), α (0), γ, δ are held.

B(t)とA(t)は、順方向のインタリーブ時の逐次的な操作では、上記の式(4)を用いて求めることができ、逆方向のインタリーブ時の逐次的な操作では、上記の式(5)を用いて求めることができる。上記実施の形態1では、上記の式(4)、式(5)におけるB(t)がメモリ番号を表しているが、この実施の形態2では、式(4)、式(5)におけるB(t)がデータの並べ替え順を表しているものとする。
非インタリーブ時のアドレスについては、上記実施の形態1と同様に、初期位置又は最終位置から1ずつアドレスを変化させればよい。
B (t) and A (t) can be obtained using the above equation (4) in a sequential operation during forward interleaving, and in a sequential operation during backward interleaving, (5) can be obtained. In the first embodiment, B (t) in the above equations (4) and (5) represents a memory number. In this second embodiment, B in the equations (4) and (5) It is assumed that (t) represents the data rearrangement order.
As for the address at the time of non-interleaving, the address may be changed one by one from the initial position or the final position as in the first embodiment.

情報メモリ1、パリティ1メモリ2、パリティ2メモリ3及び外部情報メモリ4は、1ワードがn×Pビットで構成されており、図4は読み出したn×PビットをP個の要素復号器7に受け渡すために並べ替える手順を示している。
情報メモリ1、パリティ1メモリ2、パリティ2メモリ3及び外部情報メモリ4を1個ずつ実装する場合において、データ番号iに対してPでの剰余(i mod P)が等しい値を同じアドレスに格納して並列処理するとすれば、インタリーブ時においても、同じ組み合わせを同時に処理することになる。
ただし、データを受け渡す要素復号器7については変わるので、データの並べ替えが必要となる。図4では、上記の式(4)、式(5)から得られるB(t)を用いて、データの並べ替えを実施している。
In the information memory 1, the parity 1 memory 2, the parity 2 memory 3, and the external information memory 4, one word is composed of n × P bits, and FIG. 4 shows the read n × P bits as P element decoders 7 Shows the procedure for reordering for delivery.
When the information memory 1, the parity 1 memory 2, the parity 2 memory 3 and the external information memory 4 are mounted one by one, values having the same remainder (i mod P) at P with respect to the data number i are stored at the same address. If parallel processing is performed, the same combination is processed simultaneously even during interleaving.
However, since the element decoder 7 for transferring data changes, it is necessary to rearrange the data. In FIG. 4, data rearrangement is performed using B (t) obtained from the above equations (4) and (5).

以下、図2を参照しながら、制御部6がメモリインタフェース5を制御することにより、インタリーブ系列と非インタリーブ系列を順番に生成させて、要素復号器7がターボ符号を復号する処理を説明する。
なお、図2では、非インタリーブ、インタリーブ、非インタリーブ、インタリーブ、・・・、非インタリーブ、インタリーブの順番で繰り返し復号を行う例を示しているが、非インタリーブとインタリーブは逆の順序でもよい。また、順方向、逆方向、順方向、逆方向の順番で処理しているが、順方向と逆方向は逆の順序でもよい。
Hereinafter, a process in which the control unit 6 controls the memory interface 5 to generate an interleaved sequence and a non-interleaved sequence in order, and the element decoder 7 decodes the turbo code will be described with reference to FIG.
2 shows an example in which iterative decoding is performed in the order of non-interleaving, interleaving, non-interleaving, interleaving,..., Non-interleaving, and interleaving, but non-interleaving and interleaving may be reversed. Further, the processing is performed in the order of the forward direction, the reverse direction, the forward direction, and the reverse direction, but the forward direction and the reverse direction may be reversed.

まず、制御部6は、要素復号器7のメモリに格納されているパスメトリック値を初期化する。
次に、制御部6は、インタリーブ系列π(t)の生成に係るパラメータとして、情報長固有のパラメータ(α(0)、γ、δ)と、並列処理を行う際の先頭位置を示すパラメータ(B(0),B(W),B(2W),・・・,B((P−1)×W),β(0),β(W),β(2W),・・・,β((P−1)×W)とを設定する。
なお、図2では並列処理を明確にするため、並列数をPとして、順方向処理と逆方向処理を#1〜#Pで表している。
また、制御部6は、順方向処理と逆方向処理の繰り返し回数とメモリアクセスの初期設定を行うとともに、要素復号器7におけるパスメトリック計算の初期化を行う。
First, the control unit 6 initializes the path metric value stored in the memory of the element decoder 7.
Next, the control unit 6 uses parameters (α (0), γ, δ) specific to the information length as parameters relating to the generation of the interleave sequence π (t), and a parameter ( B (0), B (W), B (2W),..., B ((P-1) × W), β (0), β (W), β (2W),. ((P-1) × W) is set.
In FIG. 2, in order to clarify parallel processing, the number of parallel processes is represented by P, and forward processing and backward processing are represented by # 1 to #P.
In addition, the control unit 6 initializes the number of repetitions of forward processing and reverse processing and initial setting of memory access, and initializes path metric calculation in the element decoder 7.

繰り返し1回目では、制御部6は、非インタリーブ系列の順方向処理を行うため、上記の式(4)を用いて、並べ替え順パラメータB(t)を算出し、その並べ替え順パラメータB(t)と、順方向の非インタリーブ系列の位置を示すアドレスとをメモリインタフェース5に出力する。
メモリインタフェース5は、制御部6からアドレスと並べ替え順パラメータB(t)を受けると、そのアドレスにしたがって情報メモリ1から受信信号を読み出し、その並べ替え順パラメータB(t)にしたがって、その受信信号の並び替えを実施し、並び替え後の受信信号を#1〜#Pの要素復号器7に出力する。また、パリティ1メモリ2から受信信号を読み出して、その受信信号を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号を受けると、その受信信号に対する順方向処理を実施して、復号結果を算出するとともに、非インタリーブ順方向のパスメトリック値を算出し、そのパスメトリック値を端パスメトリック値F1として内部のメモリに格納する。
なお、#1〜#Pの要素復号器7における順方向処理では、Wステップを要する。
In the first iteration, the control unit 6 calculates the rearrangement order parameter B (t) using the above-described equation (4) in order to perform the forward processing of the non-interleaved sequence, and the rearrangement order parameter B ( t) and an address indicating the position of the forward non-interleaved sequence are output to the memory interface 5.
When the memory interface 5 receives the address and the rearrangement order parameter B (t) from the control unit 6, the memory interface 5 reads the received signal from the information memory 1 according to the address, and receives the received signal according to the rearrangement order parameter B (t). The signals are rearranged, and the rearranged received signals are output to the # 1 to #P element decoders 7. Also, the received signal is read from the parity 1 memory 2 and the received signal is supplied to the # 1 to #P element decoder 7.
Upon receiving the received signal from the memory interface 5, the # 1 to #P element decoders 7 perform forward processing on the received signal, calculate a decoding result, and obtain a non-interleaved forward path metric value. The path metric value is calculated and stored in the internal memory as the end path metric value F1.
The forward process in the # 1 to #P element decoders 7 requires W steps.

次に、制御部6は、繰り返し1回目における非インタリーブ系列の逆方向処理を行うため、上記の式(5)を用いて、並べ替え順パラメータB(t)を算出し、その並べ替え順パラメータB(t)と、逆方向の非インタリーブ系列の位置を示すアドレスとをメモリインタフェース5に出力する。
メモリインタフェース5は、制御部6からアドレスと並べ替え順パラメータB(t)を受けると、そのアドレスにしたがって情報メモリ1から受信信号を読み出し、その並べ替え順パラメータB(t)にしたがって、その受信信号の並び替えを実施し、並び替え後の受信信号を#1〜#Pの要素復号器7に出力する。また、パリティ1メモリ2から受信信号を読み出して、その受信信号を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号を受けると、その受信信号に対する逆方向処理を実施して、復号結果を算出するとともに、非インタリーブ逆方向のパスメトリック値を算出し、そのパスメトリック値を端パスメトリック値B1として内部のメモリに格納する。
また、#1〜#Pの要素復号器7は、非インタリーブ逆方向のパスメトリック値を用いて外部情報を算出し、その外部情報を外部情報メモリ4に格納する。
なお、#1〜#Pの要素復号器7における逆方向処理では、Wステップを要する。
Next, in order to perform reverse processing of the non-interleaved sequence in the first iteration, the control unit 6 calculates the rearrangement order parameter B (t) using the above equation (5), and the rearrangement order parameter. B (t) and an address indicating the position of the non-interleaved sequence in the reverse direction are output to the memory interface 5.
When the memory interface 5 receives the address and the rearrangement order parameter B (t) from the control unit 6, the memory interface 5 reads the received signal from the information memory 1 according to the address, and receives the received signal according to the rearrangement order parameter B (t). The signals are rearranged, and the rearranged received signals are output to the # 1 to #P element decoders 7. Also, the received signal is read from the parity 1 memory 2 and the received signal is supplied to the # 1 to #P element decoder 7.
Upon receiving the received signal from the memory interface 5, the # 1 to #P element decoders 7 perform reverse processing on the received signal, calculate the decoding result, and calculate the path metric value in the non-interleaved reverse direction. The path metric value is calculated and stored in the internal memory as the end path metric value B1.
Also, the # 1 to #P element decoders 7 calculate external information using the path metric value in the non-interleaved reverse direction, and store the external information in the external information memory 4.
The backward process in the # 1 to #P element decoders 7 requires W steps.

次に、制御部6は、繰り返し1回目におけるインタリーブ系列の順方向処理を行うため、上記の式(4)を用いて、アドレスA(t)と並べ替え順パラメータB(t)を算出し、そのアドレスA(t)と並べ替え順パラメータB(t)をメモリインタフェース5に出力する。
メモリインタフェース5は、制御部6からアドレスA(t)と並べ替え順パラメータB(t)を受けると、そのアドレスA(t)にしたがって情報メモリ1から受信信号を読み出し、その並べ替え順パラメータB(t)にしたがって、その受信信号の並び替えを実施し、並び替え後の受信信号を#1〜#Pの要素復号器7に出力する。
また、パリティ2メモリ3から受信信号を読み出して、その受信信号を#1〜#Pの要素復号器7に与え、外部情報メモリ4から外部情報を読み出して、その外部情報を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号と外部情報を受けると、その外部情報を用いて、その受信信号に対する順方向処理を実施して、復号結果を算出するとともに、インタリーブ順方向のパスメトリック値を算出し、そのパスメトリック値を端パスメトリック値F2として内部のメモリに格納する。
Next, the control unit 6 calculates the address A (t) and the rearrangement order parameter B (t) using the above equation (4) in order to perform the forward process of the interleave sequence in the first iteration. The address A (t) and the rearrangement order parameter B (t) are output to the memory interface 5.
Upon receiving the address A (t) and the rearrangement order parameter B (t) from the control unit 6, the memory interface 5 reads the received signal from the information memory 1 according to the address A (t), and the rearrangement order parameter B The received signals are rearranged according to (t), and the rearranged received signals are output to the # 1 to #P element decoders 7.
Also, the received signal is read from the parity 2 memory 3, the received signal is given to the # 1 to #P element decoder 7, the external information is read from the external information memory 4, and the external information is sent from # 1 to #P. To the element decoder 7.
When receiving the received signal and the external information from the memory interface 5, the # 1 to #P element decoders 7 perform forward processing on the received signal using the external information and calculate the decoding result. The path metric value in the interleave forward direction is calculated, and the path metric value is stored in the internal memory as the end path metric value F2.

次に、制御部6は、繰り返し1回目におけるインタリーブ系列の逆方向処理を行うため、上記の式(5)を用いて、アドレスA(t)と並べ替え順パラメータB(t)を算出し、そのアドレスA(t)と並べ替え順パラメータB(t)をメモリインタフェース5に出力する。
メモリインタフェース5は、制御部6からアドレスA(t)と並べ替え順パラメータB(t)を受けると、そのアドレスA(t)にしたがって情報メモリ1から受信信号を読み出し、その並べ替え順パラメータB(t)にしたがって、その受信信号の並び替えを実施し、並び替え後の受信信号を#1〜#Pの要素復号器7に出力する。
また、パリティ2メモリ3から受信信号を読み出して、その受信信号を#1〜#Pの要素復号器7に与え、外部情報メモリ4から外部情報を読み出して、その外部情報を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号と外部情報を受けると、その外部情報を用いて、その受信信号に対する逆方向処理を実施して、復号結果を算出するとともに、インタリーブ逆方向のパスメトリック値を算出し、そのパスメトリック値を端パスメトリック値B2として内部のメモリに格納する。
また、#1〜#Pの要素復号器7は、インタリーブ逆方向のパスメトリック値を用いて外部情報を算出し、その外部情報を外部情報メモリ4に格納する(外部情報メモリ4に格納されている外部情報の上に、新たに算出した外部情報を上書きする)。
Next, the control unit 6 calculates the address A (t) and the rearrangement order parameter B (t) using the above equation (5) in order to perform the backward processing of the interleaved sequence in the first iteration. The address A (t) and the rearrangement order parameter B (t) are output to the memory interface 5.
Upon receiving the address A (t) and the rearrangement order parameter B (t) from the control unit 6, the memory interface 5 reads the received signal from the information memory 1 according to the address A (t), and the rearrangement order parameter B The received signals are rearranged according to (t), and the rearranged received signals are output to the # 1 to #P element decoders 7.
Also, the received signal is read from the parity 2 memory 3, the received signal is given to the # 1 to #P element decoder 7, the external information is read from the external information memory 4, and the external information is sent from # 1 to #P. To the element decoder 7.
When receiving the received signal and the external information from the memory interface 5, the # 1 to #P element decoder 7 performs reverse processing on the received signal using the external information and calculates the decoding result. The path metric value in the reverse direction of interleaving is calculated, and the path metric value is stored in the internal memory as the end path metric value B2.
Also, the # 1 to #P element decoders 7 calculate external information using path metric values in the reverse direction of interleaving, and store the external information in the external information memory 4 (stored in the external information memory 4). The newly calculated external information is overwritten on the existing external information).

繰り返し2回目では、制御部6は、非インタリーブ系列の順方向処理を行うため、上記の式(4)を用いて、並べ替え順パラメータB(t)を算出し、その並べ替え順パラメータB(t)と、順方向の非インタリーブ系列の位置を示すアドレスとをメモリインタフェース5に出力する。
メモリインタフェース5は、制御部6からアドレスと並べ替え順パラメータB(t)を受けると、そのアドレスにしたがって情報メモリ1から受信信号を読み出し、その並べ替え順パラメータB(t)にしたがって、その受信信号の並び替えを実施し、並び替え後の受信信号を#1〜#Pの要素復号器7に出力する。
また、パリティ1メモリ2から受信信号を読み出して、その受信信号を#1〜#Pの要素復号器7に与え、外部情報メモリ4から外部情報を読み出して、その外部情報を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号と外部情報を受けると、内部のメモリに格納されている端パスメトリック値F1(繰り返し1回目における非インタリーブ系列の順方向処理で算出された端パスメトリック値F1)を読み出して、その端パスメトリック値F1を順方向処理の初期値として設定する。
そして、その外部情報を用いて、その受信信号に対する順方向処理を実施して、復号結果を算出するとともに、インタリーブ順方向のパスメトリック値を算出する。
#1〜#Pの要素復号器7は、そのパスメトリック値を端パスメトリック値F1として、内部のメモリに格納されている端パスメトリック値F1を更新する(内部のメモリに格納されている端パスメトリック値F1の上に、新たに算出したパスメトリック値を上書きする)。
In the second iteration, the control unit 6 calculates the rearrangement order parameter B (t) using the above equation (4) in order to perform the forward processing of the non-interleaved sequence, and the rearrangement order parameter B ( t) and an address indicating the position of the forward non-interleaved sequence are output to the memory interface 5.
When the memory interface 5 receives the address and the rearrangement order parameter B (t) from the control unit 6, the memory interface 5 reads the received signal from the information memory 1 according to the address, and receives the received signal according to the rearrangement order parameter B (t). The signals are rearranged, and the rearranged received signals are output to the # 1 to #P element decoders 7.
Also, the received signal is read from the parity 1 memory 2, the received signal is applied to the # 1 to #P element decoder 7, the external information is read from the external information memory 4, and the external information is converted to # 1 to #P. To the element decoder 7.
Upon receiving the received signal and the external information from the memory interface 5, the # 1 to #P element decoders 7 receive the end path metric value F1 stored in the internal memory (the non-interleaved sequence forward processing in the first iteration). Is read out, and the end path metric value F1 is set as an initial value for forward processing.
Then, forward processing is performed on the received signal using the external information to calculate a decoding result and a path metric value in the interleaved forward direction.
The element decoders # 1 to #P use the path metric value as the end path metric value F1, and update the end path metric value F1 stored in the internal memory (the end metric stored in the internal memory). The newly calculated path metric value is overwritten on the path metric value F1).

次に、制御部6は、繰り返し2回目における非インタリーブ系列の逆方向処理を行うため、上記の式(5)を用いて、並べ替え順パラメータB(t)を算出し、その並べ替え順パラメータB(t)と、逆方向の非インタリーブ系列の位置を示すアドレスとをメモリインタフェース5に出力する。
メモリインタフェース5は、制御部6からアドレスと並べ替え順パラメータB(t)を受けると、そのアドレスにしたがって情報メモリ1から受信信号を読み出し、その並べ替え順パラメータB(t)にしたがって、その受信信号の並び替えを実施し、並び替え後の受信信号を#1〜#Pの要素復号器7に出力する。
また、パリティ1メモリ2から受信信号を読み出して、その受信信号を#1〜#Pの要素復号器7に与え、外部情報メモリ4から外部情報を読み出して、その外部情報を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号と外部情報を受けると、内部のメモリに格納されている端パスメトリック値B1(繰り返し1回目における非インタリーブ系列の逆方向処理で算出された端パスメトリック値B1)を読み出し、その端パスメトリック値B1を逆方向処理の初期値として設定する。
そして、その外部情報を用いて、その受信信号に対する逆方向処理を実施して、復号結果を算出するとともに、非インタリーブ逆方向のパスメトリック値を算出する。
#1〜#Pの要素復号器7は、そのパスメトリック値を端パスメトリック値B1として、内部のメモリに格納されている端パスメトリック値B1を更新する。
また、非インタリーブ逆方向のパスメトリック値を用いて外部情報を算出し、その外部情報を外部情報メモリ4に格納する。
Next, the control unit 6 calculates the rearrangement order parameter B (t) using the above equation (5) in order to perform the reverse processing of the non-interleaved sequence in the second iteration, and the rearrangement order parameter. B (t) and an address indicating the position of the non-interleaved sequence in the reverse direction are output to the memory interface 5.
When the memory interface 5 receives the address and the rearrangement order parameter B (t) from the control unit 6, the memory interface 5 reads the received signal from the information memory 1 according to the address, and receives the received signal according to the rearrangement order parameter B (t). The signals are rearranged, and the rearranged received signals are output to the # 1 to #P element decoders 7.
Also, the received signal is read from the parity 1 memory 2, the received signal is applied to the # 1 to #P element decoder 7, the external information is read from the external information memory 4, and the external information is converted to # 1 to #P. To the element decoder 7.
Upon receiving the received signal and the external information from the memory interface 5, the # 1 to #P element decoders 7 receive the end path metric value B1 stored in the internal memory (reverse processing of the non-interleaved sequence in the first iteration) Is read out, and the end path metric value B1 is set as the initial value of the backward processing.
Then, using the external information, reverse processing is performed on the received signal to calculate a decoding result and a non-interleaved reverse path metric value.
The element decoders # 1 to #P update the end path metric value B1 stored in the internal memory with the path metric value as the end path metric value B1.
Further, external information is calculated using the path metric value in the non-interleaved reverse direction, and the external information is stored in the external information memory 4.

次に、制御部6は、繰り返し2回目におけるインタリーブ系列の順方向処理を行うため、上記の式(4)を用いて、アドレスA(t)と並べ替え順パラメータB(t)を算出し、そのアドレスA(t)と並べ替え順パラメータB(t)をメモリインタフェース5に出力する。
メモリインタフェース5は、制御部6からアドレスA(t)と並べ替え順パラメータB(t)を受けると、そのアドレスA(t)にしたがって情報メモリ1から受信信号を読み出し、その並べ替え順パラメータB(t)にしたがって、その受信信号の並び替えを実施し、並び替え後の受信信号を#1〜#Pの要素復号器7に出力する。
また、パリティ2メモリ3から受信信号を読み出して、その受信信号を#1〜#Pの要素復号器7に与え、外部情報メモリ4から外部情報を読み出して、その外部情報を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号と外部情報を受けると、内部のメモリに格納されている端パスメトリック値F2(繰り返し1回目におけるインタリーブ系列の順方向処理で算出された端パスメトリック値F2)を読み出し、その端パスメトリック値F2を順方向処理の初期値として設定する。
そして、その外部情報を用いて、その受信信号に対する順方向処理を実施して、復号結果を算出するとともに、インタリーブ順方向のパスメトリック値を算出する。
#1〜#Pの要素復号器7は、そのパスメトリック値を端パスメトリック値F2として、内部のメモリに格納されている端パスメトリック値F2を更新する。
Next, the control unit 6 calculates the address A (t) and the rearrangement order parameter B (t) using the above equation (4) in order to perform the forward process of the interleave sequence in the second iteration. The address A (t) and the rearrangement order parameter B (t) are output to the memory interface 5.
Upon receiving the address A (t) and the rearrangement order parameter B (t) from the control unit 6, the memory interface 5 reads the received signal from the information memory 1 according to the address A (t), and the rearrangement order parameter B The received signals are rearranged according to (t), and the rearranged received signals are output to the # 1 to #P element decoders 7.
Also, the received signal is read from the parity 2 memory 3, the received signal is given to the # 1 to #P element decoder 7, the external information is read from the external information memory 4, and the external information is sent from # 1 to #P. To the element decoder 7.
Upon receipt of the received signal and external information from the memory interface 5, the # 1 to #P element decoders 7 receive the end path metric value F2 stored in the internal memory (in the first iteration of the interleaved sequence forward processing). The calculated end path metric value F2) is read, and the end path metric value F2 is set as the initial value of the forward processing.
Then, forward processing is performed on the received signal using the external information to calculate a decoding result and a path metric value in the interleaved forward direction.
The element decoders # 1 to #P update the end path metric value F2 stored in the internal memory with the path metric value as the end path metric value F2.

次に、制御部6は、繰り返し2回目におけるインタリーブ系列の逆方向処理を行うため、上記の式(5)を用いて、アドレスA(t)と並べ替え順パラメータB(t)を算出し、そのアドレスA(t)と並べ替え順パラメータB(t)をメモリインタフェース5に出力する。
メモリインタフェース5は、制御部6からアドレスA(t)と並べ替え順パラメータB(t)を受けると、そのアドレスA(t)にしたがって情報メモリ1から受信信号を読み出し、その並べ替え順パラメータB(t)にしたがって、その受信信号の並び替えを実施し、並び替え後の受信信号を#1〜#Pの要素復号器7に出力する。
また、パリティ2メモリ3から受信信号を読み出して、その受信信号を#1〜#Pの要素復号器7に与え、外部情報メモリ4から外部情報を読み出して、その外部情報を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号と外部情報を受けると、内部のメモリに格納されている端パスメトリック値B2(繰り返し1回目におけるインタリーブ系列の逆方向処理で算出された端パスメトリック値B2)を読み出し、その端パスメトリック値B2を逆方向処理の初期値として設定する。
そして、その外部情報を用いて、その受信信号に対する逆方向処理を実施して、復号結果を算出するとともに、インタリーブ逆方向のパスメトリック値を算出する。
#1〜#Pの要素復号器7は、そのパスメトリック値を端パスメトリック値B2として、内部のメモリに格納されている端パスメトリック値B2を更新する。
また、インタリーブ逆方向のパスメトリック値を用いて外部情報を算出し、その外部情報を#1〜#Pの外部情報メモリ4に格納する。
Next, the control unit 6 calculates the address A (t) and the rearrangement order parameter B (t) using the above equation (5) in order to perform the backward processing of the interleaved sequence in the second iteration. The address A (t) and the rearrangement order parameter B (t) are output to the memory interface 5.
Upon receiving the address A (t) and the rearrangement order parameter B (t) from the control unit 6, the memory interface 5 reads the received signal from the information memory 1 according to the address A (t), and the rearrangement order parameter B The received signals are rearranged according to (t), and the rearranged received signals are output to the # 1 to #P element decoders 7.
Also, the received signal is read from the parity 2 memory 3, the received signal is given to the # 1 to #P element decoder 7, the external information is read from the external information memory 4, and the external information is sent from # 1 to #P. To the element decoder 7.
Upon receipt of the received signal and external information from the memory interface 5, the # 1 to #P element decoders 7 receive the end path metric value B2 stored in the internal memory (reverse processing of the interleaved sequence in the first iteration). The calculated end path metric value B2) is read, and the end path metric value B2 is set as the initial value of the backward processing.
Then, using the external information, reverse processing is performed on the received signal to calculate a decoding result and a path metric value in the interleave reverse direction.
The # 1 to #P element decoders 7 update the end path metric value B2 stored in the internal memory using the path metric value as the end path metric value B2.
Further, external information is calculated using the path metric value in the reverse direction of interleaving, and the external information is stored in the external information memory 4 of # 1 to #P.

以降、繰り返し2回目と同様にして、非インタリーブの順方向処理及び逆方向処理と、インタリーブの順方向処理及び逆方向処理とを所定回数だけ繰り返し実施する。
#1〜#Pの要素復号器7は、所定回数だけ繰り返し実施すると、最後に算出した復号結果を出力する。
Thereafter, similarly to the second iteration, the non-interleaved forward process and backward process and the interleaved forward process and backward process are repeated a predetermined number of times.
When the # 1 to #P element decoders 7 are repeatedly executed a predetermined number of times, they output the finally calculated decoding result.

以上で明らかなように、この実施の形態2によれば、インタリーブ系列に依存するメモリアクセスを簡易な計算で逐次的に得ることができるため、インタリーブ系列を保持するためのメモリが不要になり、メモリ量や回路規模を小さく抑えることができる効果を奏する。   As apparent from the above, according to the second embodiment, memory access depending on the interleave sequence can be obtained sequentially with a simple calculation, so that a memory for holding the interleave sequence becomes unnecessary. There is an effect that the amount of memory and the circuit scale can be reduced.

なお、この実施の形態2では、要素復号器7が順方向処理と逆方向処理を順番に実施するものについて示したが、要素復号器7が順方向処理と逆方向処理を同時に実施するようにしてもよい。
ただし、要素復号器7が順方向処理と逆方向処理を同時に実施する場合、並列化単位の長さWが奇数であれば、順方向処理又は逆方向処理のいずれか一方の開始を1ステップ先行又は1ステップ遅延させるようにする。
In the second embodiment, the element decoder 7 performs forward processing and backward processing in order. However, the element decoder 7 performs forward processing and backward processing at the same time. May be.
However, when the element decoder 7 performs the forward processing and the backward processing simultaneously, if the length W of the parallelization unit is an odd number, the start of either the forward processing or the backward processing is advanced by one step. Alternatively, it is delayed by one step.

即ち、要素復号器7が順方向処理と逆方向処理を同時に実施する場合、順方向処理は単位の先頭からパスメトリック値を保存しながら処理を進め、逆方向処理は単位の末尾からパスメトリック値を保存しながら処理を進める。
両方向から進んだトレリスが交差した先は、互いのパスメトリック値を読み出すことができるので、外部情報を算出することができる。
ただし、並列化単位の長さWが奇数であれば、順方向処理又は逆方向処理のいずれか一方の開始を1ステップ先行又は1ステップ遅延させるようにする。
その理由は、並列化単位の長さWが奇数である場合、トレリスが交差する位置が同じになるため、いずれのパスメトリック値も保存されていない位置が生じてしまって、外部情報を算出することができないからである。
いずれかの開始を1ステップ先行、もしくは、1ステップ遅延させることで、どのような場合にも処理のタイミングに矛盾なく外部情報を算出することができる。
That is, when the element decoder 7 performs forward processing and backward processing at the same time, the forward processing proceeds while storing the path metric value from the beginning of the unit, and the backward processing starts with the path metric value from the end of the unit. Proceed while saving.
Since the trellises that have advanced from both directions cross each other, the mutual path metric values can be read out, so that external information can be calculated.
However, if the length W of the parallelization unit is an odd number, the start of either the forward process or the backward process is delayed by one step or delayed by one step.
The reason is that when the parallelization unit length W is an odd number, the positions at which the trellis crosses are the same, so that there is a position where no path metric value is stored, and external information is calculated. Because you can't.
By delaying any start by one step or delaying one step, external information can be calculated in any case without contradiction to the processing timing.

実施の形態3.
図5はこの発明の実施の形態3によるターボ符号復号装置を示す構成図であり、図において、並列化ターボ復号器10は図1又は図3に相当するターボ符号復号装置である。
復号方式制御部11はターボ符号の情報長Kに応じて、要素復号器7の並列数Pを決定し、その並列数分の要素復号器7を制御するとともに、ターボ符号の情報長Kに応じて、要素復号器7における順方向処理と逆方向処理の繰り返し回数Iとマージン幅Mを制御する。なお、復号方式制御部11は制御手段を構成している。
図7はこの発明の実施の形態3によるターボ符号復号装置の処理内容を示すフローチャートである。
Embodiment 3 FIG.
FIG. 5 is a block diagram showing a turbo code decoding apparatus according to Embodiment 3 of the present invention. In the figure, a parallel turbo decoder 10 is a turbo code decoding apparatus corresponding to FIG. 1 or FIG.
The decoding scheme control unit 11 determines the parallel number P of the element decoders 7 according to the information length K of the turbo code, controls the element decoders 7 for the parallel number, and responds to the information length K of the turbo code. Thus, the number of repetitions I and the margin width M of the forward processing and the backward processing in the element decoder 7 are controlled. The decoding scheme control unit 11 constitutes a control means.
FIG. 7 is a flowchart showing the processing contents of the turbo code decoding apparatus according to Embodiment 3 of the present invention.

次に動作について説明する。
ターボ符号の復号処理の高速化を図る場合、動作クロックを上げる方法や、要素復号器7の並列数Pを多くするなどの方法が考えられる。
しかし、動作クロックを上げる方法を用いる場合、例えば、消費電力やデバイスのコストなどが大きくなる。
そこで、この実施の形態3では、要素復号器7の並列数Pを多くする方法を採用し、システムが要求する処理速度に適する復号方式を情報長Kに応じて選択することで、実装上有効な範囲の動作クロックに設定するようにする。
Next, the operation will be described.
In order to increase the speed of the turbo code decoding process, a method of increasing the operation clock or a method of increasing the parallel number P of the element decoders 7 can be considered.
However, when using a method of increasing the operation clock, for example, power consumption and device cost increase.
Therefore, in this third embodiment, a method of increasing the parallel number P of the element decoders 7 is adopted, and a decoding method suitable for the processing speed required by the system is selected according to the information length K, which is effective for implementation. Set the operating clock within a certain range.

例えば、ターボ符号の復号方式として、スライディング・ウィンドウ方式を採用する場合、情報長Kが短いと、マージン幅Mが情報長Kに近い幅となり、スループット(bits/sec:単位時間内に復号するビット数)が著しく低下する。
ターボ符号の復号処理では、順方向処理と逆方向処理でそれぞれWステップが必要であり、非インタリーブとインタリーブの復号繰り返し回数Iを考慮すると、(W+W)×2×Iステップが必要である。ただし、ここでは説明の簡単化のためテイル・ビットの処理を考慮していない。
順方向処理と逆方向処理におけるマージン幅Mを考慮すると、必要なステップ数は、(W+M+W+M)×2×Iステップとなり、Wが小さい場合にはマージン幅Mの与える影響が大きい。
For example, when the sliding window method is adopted as a turbo code decoding method, if the information length K is short, the margin width M becomes a width close to the information length K, and throughput (bits / sec: bits to be decoded within a unit time) Number) is significantly reduced.
In the decoding process of the turbo code, W steps are required for the forward process and the reverse process, respectively, and (W + W) × 2 × I steps are required in consideration of the non-interleaved and interleaved decoding repetition count I. However, tail bit processing is not considered here for the sake of simplicity.
Considering the margin width M in the forward processing and the backward processing, the required number of steps is (W + M + W + M) × 2 × I steps. When W is small, the influence of the margin width M is large.

図6は情報長Kと復号繰り返し回数Iの違いによる復号性能の比較シミュレーションの結果を示すグラフ図である。
図6において、横軸は情報長K、縦軸はブロック誤り率BLER(Block Error Rate)が1%に達するEb/N0[dB]を示している。
ターボ符号は、「3GPP TS36212」の規格で規定されているターボ符号を用いており、符号長は3K+12である。
シミュレーション条件として、加法的白色ガウス通信路、BPSK変調を仮定しており、ターボ符号の復号には「Max Log MAP復号法」を用いている。
繰り返し回数Iが多いほど復号性能が高く、情報長Kが大きくなるほど性能差が大きくなる。繰り返しを行うターボ符号の復号は、正しい結果に収束するまでに要する繰り返し回数が情報長Kに依存する。情報長Kが短い場合、情報長Kが長い場合と比べて少ない繰り返し回数で収束する。
FIG. 6 is a graph showing the result of the comparison simulation of the decoding performance depending on the difference between the information length K and the decoding repetition count I.
In FIG. 6, the horizontal axis represents the information length K, and the vertical axis represents Eb / N0 [dB] at which the block error rate BLER (Block Error Rate) reaches 1%.
The turbo code uses a turbo code defined by the standard of “3GPP TS36212”, and the code length is 3K + 12.
As a simulation condition, an additive white Gaussian channel and BPSK modulation are assumed, and the “Max Log MAP decoding method” is used for decoding the turbo code.
The decoding performance increases as the number of repetitions I increases, and the performance difference increases as the information length K increases. In the decoding of the turbo code that performs repetition, the number of repetitions required to converge to a correct result depends on the information length K. When the information length K is short, it converges with a smaller number of repetitions than when the information length K is long.

上記の通り、ターボ符号の復号は、情報長Kに依存して特徴が大きく変化する。
この実施の形態3では、通信システムで要求される処理速度を満たして、高い復号性能が得られるように、情報長Kに応じて要素復号器7の並列数P、マージン幅M、復号繰り返し回数Iを制御する。
例えば、図6のグラフにおいて、ターボ符号を用いた通信性能として、繰り返し回数8回に対して0.5dB程度の劣化まで許容できるとすれば、情報長Kが100ビット未満では繰り返し回数を2回、情報長Kが1000ビット未満では繰り返し回数を3回、情報長Kが1000ビット以上では繰り返し回数を4回とすることで、繰り返し回数Iを必要回数に抑えることができる。
As described above, the characteristics of turbo code decoding vary greatly depending on the information length K.
In the third embodiment, the parallel number P of the element decoders 7, the margin width M, and the number of decoding repetitions according to the information length K so as to satisfy the processing speed required in the communication system and obtain high decoding performance. I is controlled.
For example, in the graph of FIG. 6, if the communication performance using the turbo code is acceptable up to a deterioration of about 0.5 dB with respect to 8 repetitions, the number of repetitions is 2 when the information length K is less than 100 bits. When the information length K is less than 1000 bits, the number of repetitions is 3 times, and when the information length K is 1000 bits or more, the number of repetitions is 4 times.

以下、図7を参照して、ターボ符号復号装置の処理内容を説明する。
この実施の形態3では、予め、通信システムが要求する処理速度を満たすよう設定されている要素復号器7の並列数Pとマージン幅Mがテーブル化されており、そのテーブルが復号方式制御部11に保持されている。
復号方式制御部11は、情報長Kを入力すると(ステップST1)、保持しているテーブルから要素復号器7の並列数Pとマージン幅Mを読み出して、その並列数Pとマージン幅Mを設定する(ステップST2,ST3)。ただし、並列数Pとマージン幅Mは、実装されている回路の持つ最大値以下の値に設定される。
Hereinafter, the processing content of the turbo code decoding apparatus will be described with reference to FIG.
In the third embodiment, the parallel number P and the margin width M of the element decoders 7 set in advance to satisfy the processing speed required by the communication system are tabulated, and the table is used as the decoding scheme control unit 11. Is held in.
When receiving the information length K (step ST1), the decoding scheme control unit 11 reads the parallel number P and the margin width M of the element decoder 7 from the held table, and sets the parallel number P and the margin width M. (Steps ST2 and ST3). However, the parallel number P and the margin width M are set to values equal to or less than the maximum value of the mounted circuit.

次に、復号方式制御部11は、復号繰り返し回数Iを設定する。復号繰り返し回数Iはステップ数と動作クロックからシステム要求を満たす最大値に設定される。
なお、復号繰り返し回数Iは、システムが要求する復号性能を満たすまで繰り返し回数を減らして、処理速度を向上させるようにしてもよい。
復号方式制御部11は、復号方式制御部11による設定内容でターボ復号を実施し(ステップST5,ST6)、その復号結果を出力する(ステップST7)。
Next, the decoding scheme control unit 11 sets the decoding repetition count I. The number of decoding iterations I is set to the maximum value satisfying the system request from the number of steps and the operation clock.
Note that the number of decoding iterations I may be reduced by reducing the number of iterations until the decoding performance required by the system is satisfied.
The decoding method control unit 11 performs turbo decoding with the setting contents set by the decoding method control unit 11 (steps ST5 and ST6), and outputs the decoding result (step ST7).

以上で明らかなように、この実施の形態3によれば、ターボ符号の情報長Kに応じて、要素復号器7の並列数P、順方向処理と逆方向処理の繰り返し回数I及びマージン幅Mを制御するように構成したので、通信システムの持つ全ての情報長Kに対して、通信システムが要求する処理速度を満たすことが可能になる。
復号回路の動作時間は復号繰り返し回数Iに比例するため、通信システムが要求する復号性能に応じて繰り返し回数Iを制御することで消費電力の低減効果を高めることができる。また、実装上で有効な範囲の動作クロックでシステム要求を満たすため、開発コストを抑えることができる。
As is apparent from the above, according to the third embodiment, the parallel number P of the element decoder 7, the number of repetitions I of forward processing and backward processing, and the margin width M according to the information length K of the turbo code. Therefore, it is possible to satisfy the processing speed required by the communication system for all the information lengths K possessed by the communication system.
Since the operation time of the decoding circuit is proportional to the number of decoding iterations I, the effect of reducing power consumption can be enhanced by controlling the number of iterations I according to the decoding performance required by the communication system. In addition, since the system requirements are satisfied with an operation clock within a range effective for implementation, development costs can be suppressed.

実施の形態4.
図8はこの発明の実施の形態4による通信システムを示す構成図であり、通信システムは送信装置20と受信装置30から構成されている。
図において、送信装置20は内部インタリーバにQPPを用いているターボ符号化器21を実装しており、ターボ符号化器21を使用して、情報源をターボ符号化してターボ符号を生成し、そのターボ符号を変調して変調波を送信する。
受信装置30は図1、図3又は図5のターボ符号復号装置31を実装しており、送信装置20から送信された変調波を受信し、その変調波からターボ符号を復調すると、そのターボ符号復号装置31を使用して、そのターボ符号を復号する。
なお、送信装置20と受信装置30の通信路は、無線でも有線でもよく、ターボ符号を利用するディジタル通信システムの全てに適用することができる。
図9はこの発明の実施の形態4による通信システムの処理内容を示すフローチャートである。
Embodiment 4 FIG.
FIG. 8 is a block diagram showing a communication system according to Embodiment 4 of the present invention. The communication system is composed of a transmission device 20 and a reception device 30.
In the figure, the transmitting apparatus 20 has a turbo encoder 21 using QPP as an internal interleaver, and uses the turbo encoder 21 to turbo-encode an information source to generate a turbo code, The turbo code is modulated and a modulated wave is transmitted.
The receiving device 30 is mounted with the turbo code decoding device 31 of FIG. 1, FIG. 3 or FIG. 5, receives the modulated wave transmitted from the transmitting device 20, and demodulates the turbo code from the modulated wave. The decoder 31 is used to decode the turbo code.
Note that the communication path between the transmission device 20 and the reception device 30 may be wireless or wired, and can be applied to all digital communication systems using turbo codes.
FIG. 9 is a flowchart showing the processing contents of the communication system according to Embodiment 4 of the present invention.

次に動作について説明する。
送信装置20は、例えば、データ通信対象のパケットデータである情報源を入力すると(ステップST11)、実装しているターボ符号化器21を使用して、その情報源をターボ符号化して、ターボ符号(ターボ符号化系列)を生成する(ステップST12)。
送信装置20は、ターボ符号を生成すると、そのターボ符号を変調して変調波を送信する(ステップST13)。
通信路では、伝播環境に応じて変調波に雑音が付加される。
Next, the operation will be described.
For example, when an information source that is packet data to be subjected to data communication is input (step ST11), the transmitting device 20 uses the turbo encoder 21 that is installed to turbo-encode the information source, (Turbo coded sequence) is generated (step ST12).
When generating the turbo code, the transmission device 20 modulates the turbo code and transmits the modulated wave (step ST13).
In the communication path, noise is added to the modulated wave according to the propagation environment.

受信装置30は、送信装置20から送信された変調波を受信し(ステップST14)、その変調波に対する同期検波処理や復調処理を実施することにより、ターボ符号を復調する。
受信装置30は、ターボ符号を復調すると、図1、図3又は図5のターボ符号復号装置を使用して、そのターボ符号を復号し(ステップST15)、その復号結果を例えば再生装置に出力する。
これにより、再生装置により復号結果の再生処理が実施されて(ステップST16)、情報源の再生が行われる。
The receiving device 30 receives the modulated wave transmitted from the transmitting device 20 (step ST14), and demodulates the turbo code by performing synchronous detection processing and demodulation processing on the modulated wave.
When demodulating the turbo code, receiving apparatus 30 uses the turbo code decoding apparatus of FIG. 1, FIG. 3, or FIG. 5 to decode the turbo code (step ST15), and outputs the decoding result to, for example, a reproduction apparatus. .
As a result, the reproduction device performs reproduction processing of the decoding result (step ST16), and the information source is reproduced.

この実施の形態4によれば、受信装置30が図1、図3又は図5のターボ符号復号装置31を実装しているので、通信システムが情報長Kに対して安定した通信速度を保つことができ、受信装置30の消費電力や回路規模を抑えることができる効果を奏する。   According to the fourth embodiment, since the receiving device 30 is equipped with the turbo code decoding device 31 of FIG. 1, FIG. 3 or FIG. 5, the communication system maintains a stable communication speed with respect to the information length K. Thus, the power consumption and circuit scale of the receiving device 30 can be reduced.

実施の形態5.
図10はこの発明の実施の形態5による通信システムを示す構成図であり、通信システムは図8の送信装置20に相当する移動体端末40と、図8の受信装置30に相当する基地局50とから構成されている。
図において、移動体端末40は「3GPP TS36.212」の規格で規定されたターボ符号化器41を実装しており、そのターボ符号化器41を使用して、情報源をターボ符号化してターボ符号を生成し、そのターボ符号を変調して変調波を送信する。
なお、移動体端末40では、基地局50に送信するデータのうち、ターボ符号を利用するチャネル(例えば、Uplink Shared Channel)に割り当てられたデータ系列をターボ符号化し、そのターボ符号を生成して送信する。
基地局50は図1、図3又は図5のターボ符号復号装置51を実装しており、移動体端末40から送信された変調波を受信し、その変調波からターボ符号を復調すると、そのターボ符号復号装置51を使用して、そのターボ符号を復号する。
Embodiment 5 FIG.
10 is a block diagram showing a communication system according to Embodiment 5 of the present invention. The communication system includes a mobile terminal 40 corresponding to the transmission apparatus 20 in FIG. 8 and a base station 50 corresponding to the reception apparatus 30 in FIG. It consists of and.
In the figure, a mobile terminal 40 is equipped with a turbo encoder 41 defined by the “3GPP TS36.212” standard, and the turbo encoder 41 is used to turbo-encode an information source to turbocharge the information source. A code is generated, the turbo code is modulated, and a modulated wave is transmitted.
In the mobile terminal 40, among the data to be transmitted to the base station 50, a data sequence assigned to a channel (for example, Uplink Shared Channel) using a turbo code is turbo-coded, and the turbo code is generated and transmitted. To do.
The base station 50 is mounted with the turbo code decoding device 51 of FIG. 1, FIG. 3, or FIG. 5, receives the modulated wave transmitted from the mobile terminal 40, and demodulates the turbo code from the modulated wave. The code decoding device 51 is used to decode the turbo code.

この実施の形態5の場合も、基地局50が図1、図3又は図5のターボ符号復号装置51を実装しているので、上記実施の形態4と同様に、通信システムが情報長Kに対して安定した通信速度を保つことができ、基地局50の消費電力や回路規模を抑えることができる効果を奏する。   Also in the case of the fifth embodiment, since the base station 50 is mounted with the turbo code decoding device 51 of FIG. 1, FIG. 3 or FIG. 5, the communication system has the information length K as in the fourth embodiment. On the other hand, a stable communication speed can be maintained, and the power consumption and circuit scale of the base station 50 can be suppressed.

なお、上記実施の形態1〜5では、無線通信を実施する際に、ターボ符号復号装置がターボ符号を復号するものについて示したが、これに限るものではなく、一般的なディジタル情報処理を実施する際に、ターボ符号復号装置がターボ符号を復号するようにしてもよい。   In the first to fifth embodiments, the turbo code decoding device decodes the turbo code when performing wireless communication. However, the present invention is not limited to this, and general digital information processing is performed. In doing so, the turbo code decoding device may decode the turbo code.

実施の形態6.
上記実施の形態1〜5では、復号処理を並列化する際、メモリインタフェース5がアクセスする情報メモリ1のメモリ番号B(t)とアドレスA(t)とを制御部6が逐次的に計算していた。図11は、上記実施の形態1〜5に係るターボ符号復号装置を示す構成図であり、特に制御部6の内部構成を詳細に示すものである。上記実施の形態1〜5では制御部6として記載しているが(図1及び図3)、この制御部(系列生成手段)6は、アドレスA(t)を計算するためのインタリーブアドレス生成テーブル61及びアドレス生成部62と、メモリ番号B(t)を計算するための情報選択制御部63及びメモリ選択初期テーブル65と、これら各部の動作を制御するための動作制御部64とからなる。
Embodiment 6 FIG.
In the first to fifth embodiments, when the decoding process is parallelized, the control unit 6 sequentially calculates the memory number B (t) and the address A (t) of the information memory 1 accessed by the memory interface 5. It was. FIG. 11 is a block diagram showing the turbo code decoding apparatus according to Embodiments 1 to 5, and particularly shows the internal configuration of the control unit 6 in detail. Although described as the control unit 6 in the first to fifth embodiments (FIGS. 1 and 3), the control unit (sequence generation means) 6 is an interleave address generation table for calculating the address A (t). 61, an address generation unit 62, an information selection control unit 63 for calculating a memory number B (t), a memory selection initial table 65, and an operation control unit 64 for controlling the operations of these units.

例えば上記実施の形態1の復号処理を実現する場合、インタリーブアドレス生成テーブル61は、インタリーブを決定するための2次多項式(1)における情報長固有の係数f1,f2を保持している。インタリーブアドレス生成テーブル61はまた、アドレスA(t)の逐次計算に必要な、情報長固有のパラメータα(0),δを保持している。インタリーブ時、アドレス生成部62は、インタリーブアドレス生成テーブル61が保持する情報長Kに応じた係数及びパラメータを用いて、式(4)又は式(5)を計算してアドレスA(t)を求める。
メモリ選択初期テーブル65は、メモリ番号B(t)の逐次計算式における並列処理の初期値となるパラメータB(0),B(W),B(2W),・・・,B((P−1)×W),β(0),β(W),β(2W),・・・,β((P−1)×W),γを保持している。情報選択制御部63は、メモリ選択初期テーブル65が保持するパラメータを用いて、式(4)又は式(5)を計算してメモリ番号B(t)を求める。そして、メモリインタフェース5がメモリ番号B(t)とアドレスA(t)にしたがってインタリーブ系列を生成して要素復号器(復号手段)7へ渡す。メモリインタフェース5はまた、要素復号器7から出力される外部情報系列を外部情報メモリ4に出力する処理を実施する。
動作制御部64は、順方向処理と逆方向処理の繰り返し回数とメモリアクセスの初期設定を行うとともに、要素復号器7におけるパスメトリック計算の初期化を行う。ただし、上記実施の形態3においては、動作制御部64は復号方式制御部11に相当する。
For example, when realizing the decoding process of the first embodiment, the interleave address generation table 61 holds the coefficients f1 and f2 specific to the information length in the second order polynomial (1) for determining the interleave. The interleave address generation table 61 also holds information α-specific parameters α (0) and δ necessary for the sequential calculation of the address A (t). At the time of interleaving, the address generation unit 62 calculates an expression (4) or an expression (5) using a coefficient and a parameter corresponding to the information length K held in the interleave address generation table 61 to obtain an address A (t). .
The memory selection initial table 65 includes parameters B (0), B (W), B (2W),..., B ((P− 1) × W), β (0), β (W), β (2W),..., Β ((P−1) × W), γ are held. The information selection control unit 63 calculates the equation (4) or (5) using the parameters held in the memory selection initial table 65 to obtain the memory number B (t). Then, the memory interface 5 generates an interleaved sequence according to the memory number B (t) and the address A (t) and passes it to the element decoder (decoding means) 7. The memory interface 5 also performs a process of outputting the external information series output from the element decoder 7 to the external information memory 4.
The operation control unit 64 initializes the number of repetitions of forward processing and backward processing and memory access, and initializes path metric calculation in the element decoder 7. However, in the third embodiment, the operation control unit 64 corresponds to the decoding method control unit 11.

この構成の場合、制御部6がメモリ選択初期テーブル65を備え、情報選択制御部63がメモリ選択初期テーブル65のパラメータを用いてメモリ番号B(t)を逐次的に計算している。この構成では、パラメータを格納するためのメモリに相当するメモリ選択初期テーブル65が必要であった。
そこで、この実施の形態6では、制御部6の情報選択制御部(情報選択制御手段)66が、メモリ選択初期テーブル65のパラメータに代えて、インタリーブアドレス生成テーブル61の値を用いてメモリ番号B(t)を求めるようにする。
In the case of this configuration, the control unit 6 includes the memory selection initial table 65, and the information selection control unit 63 sequentially calculates the memory number B (t) using the parameters of the memory selection initial table 65. In this configuration, a memory selection initial table 65 corresponding to a memory for storing parameters is required.
Therefore, in the sixth embodiment, the information selection control unit (information selection control means) 66 of the control unit 6 uses the value of the interleave address generation table 61 instead of the parameter of the memory selection initial table 65 to change the memory number B (T) is obtained.

図12は、この発明の実施の形態6によるターボ符号復号装置を示す構成図であり、図1,3及び11と同一又は相当の部分については同一の符号を付す。ここでは、情報系列の情報長がN、要素復号器7の並列数がMであるとする。
この場合、M個の要素復号器7により並列に処理される並列化単位の長さがW=N/Mとなり、アドレス数もN/Mとなる。
FIG. 12 is a block diagram showing a turbo code decoding apparatus according to Embodiment 6 of the present invention. The same or corresponding parts as those in FIGS. Here, it is assumed that the information length of the information sequence is N and the parallel number of the element decoders 7 is M.
In this case, the length of the parallelized unit processed in parallel by the M element decoders 7 is W = N / M, and the number of addresses is also N / M.

図13は、情報メモリ1のメモリ構成及びインタリーブ時のメモリアクセス方法を模式的に示す説明図である。図13では一例として情報長Nを32、並列数Mを4とした構成を示す。この場合にはターボ符号復号装置に要素復号器7が4個実装され、情報メモリ1、パリティ1メモリ2、パリティ2メモリ3及び外部情報メモリ4もそれぞれ4個ずつ実装される。メモリインタフェース5は、受信情報系列、パリティ1系列、パリティ2系列及び外部情報系列を、情報メモリ1、パリティ1メモリ2、パリティ2メモリ3及び外部情報メモリ4のアドレス0から順にアドレスN/M−1までに格納する。
インタリーブ時には、情報メモリ1と、情報メモリ1に書き込まれたデータが受け渡される要素復号器7とで対応関係が変わるので、データの並べ替えが必要となる。図13では、後述する式(10)から得られるメモリ番号B(t)を用いて、データの並べ替えを実施している。
FIG. 13 is an explanatory diagram schematically showing a memory configuration of the information memory 1 and a memory access method during interleaving. FIG. 13 shows a configuration in which the information length N is 32 and the parallel number M is 4 as an example. In this case, four element decoders 7 are mounted in the turbo code decoding device, and four information memories 1, parity 1 memories 2, parity 2 memories 3 and external information memories 4 are also mounted. The memory interface 5 receives the received information sequence, the parity 1 sequence, the parity 2 sequence, and the external information sequence from the address 0 of the information memory 1, the parity 1 memory 2, the parity 2 memory 3, and the external information memory 4 in order from the address N / M- Store up to 1.
At the time of interleaving, the correspondence changes between the information memory 1 and the element decoder 7 to which the data written in the information memory 1 is transferred, so that the data must be rearranged. In FIG. 13, data rearrangement is performed using a memory number B (t) obtained from Expression (10) described later.

並列段数Mにおいて、t番目に情報メモリ1に格納されたデータのインタリーブアドレスをπ(t)とすると、下記式(6)を満たすようなインタリーバのとき、要素復号器7で同時に復号処理するデータの組み合わせが非インタリーブ時とインタリーブ時で同一となるため、1つのメモリの1つのアドレスに同時処理する複数のデータを1ワードとして格納しておき、読み書きすることが可能となる。
π(t+k×N/M)=π(t)+k×fx×N/M mod N (6)
ここで、t=0,1,・・・,N/M−1、k=0,1,・・・,M−1である。
このとき、M個の要素復号器7が並列処理する場合にアクセスする情報メモリ1のメモリ番号B(t)とアドレス(t)は、下記のように表される。
B(t)=ceil(π(t)/W) (7)
A(t)=π(t) mod W (8)
ここで、t=0,1,・・・,W−1であり、W=N/Mとし、MはNの約数としている。
When the interleave address of the data stored in the information memory 1 in the t-th stage in the parallel stage number M is π (t), the data to be simultaneously decoded by the element decoder 7 when the interleaver satisfies the following formula (6) Since the combination is the same for non-interleaving and interleaving, a plurality of pieces of data to be simultaneously processed are stored as one word in one address of one memory, and can be read and written.
π (t + k × N / M) = π (t) + k × fx × N / M mod N (6)
Here, t = 0, 1,..., N / M−1, k = 0, 1,.
At this time, the memory number B (t) and the address (t) of the information memory 1 to be accessed when the M element decoders 7 perform parallel processing are expressed as follows.
B (t) = ceil (π (t) / W) (7)
A (t) = π (t) mod W (8)
Here, t = 0, 1,..., W−1, W = N / M, and M is a divisor of N.

したがって、制御部6のアドレス生成部62と情報選択制御部66が式(6)〜(8)を計算すれば、メモリ番号B(t)とアドレスA(t)を求めることができるが、式(6)〜(8)の計算では、乗算とmod(剰余)計算が必要となり、実装するには複雑性が高いものとなる。
そこで、この実施の形態6では、制御部6が上記実施の形態1〜5と同様にアドレスA(t)を簡易な計算で逐次的に算出するとともに、メモリ番号B(t)もアドレス算出のためのパラメータを用いて算出するようにしている。
Therefore, if the address generation unit 62 and the information selection control unit 66 of the control unit 6 calculate the equations (6) to (8), the memory number B (t) and the address A (t) can be obtained. In calculations (6) to (8), multiplication and mod (remainder) calculation are required, and the complexity of implementation is high.
Therefore, in the sixth embodiment, the controller 6 sequentially calculates the address A (t) by simple calculation as in the first to fifth embodiments, and the memory number B (t) is also calculated by the address calculation. It is made to calculate using the parameter for this.

制御部6は、図12に示すように、インタリーブアドレス生成テーブル61、アドレス生成部62、情報選択制御部66及び動作制御部64から構成されている。これらインタリーブアドレス生成テーブル61、アドレス生成部62及び動作制御部64は、図11に示す各部と同一である。
なお、図11のインタリーブアドレス生成テーブル61は情報長Kに応じた係数f1,f2を保持するものであるが、この実施の形態におけるインタリーブアドレス生成テーブル61は情報長Nに応じた係数fxを保持するものとする。
As shown in FIG. 12, the control unit 6 includes an interleave address generation table 61, an address generation unit 62, an information selection control unit 66, and an operation control unit 64. The interleave address generation table 61, the address generation unit 62, and the operation control unit 64 are the same as those shown in FIG.
Note that the interleave address generation table 61 in FIG. 11 holds the coefficients f1 and f2 according to the information length K. However, the interleave address generation table 61 in this embodiment holds the coefficient fx according to the information length N. It shall be.

情報選択制御部66は、インタリーブアドレス生成テーブル61の係数fxを用いて、#1〜#Mのうちのいずれか1つのメモリ番号を基に残りのメモリ番号(ターボ符号格納手段の並び順)を逐次的な操作により求め、メモリインタフェース5へ出力する。
この実施の形態において、インタリーブアドレスは下記式(9)により表現されるため、メモリインタフェース5がアクセスする情報メモリ1のメモリ番号B(t)は、以下に示すように、情報選択制御部66において順方向の逐次的な操作で求めることができる。
π(t+W)=π(t)+fx×W (9)
B(t)=A+(k−1)×fx mod M (10)
ここで、Aは基準に用いる1つのメモリ番号B(t)であり、このメモリ番号B(t)の情報メモリ1に格納されたデータが最初の処理で#1の要素復号器7に渡される。ただし、基準となるメモリ番号Aは任意の値であって、#1〜#Mのうちのいずれであってもよく、従来のように式(7)を計算して求めればよい。
例えば、#1の要素復号器7が#A(A=1,2,・・・,M)の情報メモリ1からデータを受ける場合には、#2の要素復号器7は#(A+fx)(mod M)の情報メモリ1からデータを受けることとなる。以下、同様に、#kの要素復号器7は#(A+(k−1)×fx)(mod M)の情報メモリ1からデータを受ける。
The information selection control unit 66 uses the coefficient fx of the interleave address generation table 61 to calculate the remaining memory number (arrangement order of the turbo code storage means) based on any one of the memory numbers # 1 to #M. Obtained by sequential operation and output to the memory interface 5.
In this embodiment, since the interleave address is expressed by the following equation (9), the memory number B (t) of the information memory 1 accessed by the memory interface 5 is set in the information selection control unit 66 as shown below. It can be obtained by sequential operations in the forward direction.
π (t + W) = π (t) + fx × W (9)
B (t) = A + (k−1) × fx mod M (10)
Here, A is one memory number B (t) used as a reference, and the data stored in the information memory 1 of this memory number B (t) is passed to the # 1 element decoder 7 in the first process. . However, the reference memory number A is an arbitrary value, and may be any of # 1 to #M.
For example, when the element decoder 7 of # 1 receives data from the information memory 1 of #A (A = 1, 2,..., M), the element decoder 7 of # 2 receives # (A + fx) ( data is received from the information memory 1 of (mod M). Similarly, the #k element decoder 7 receives data from the information memory 1 of # (A + (k−1) × fx) (mod M).

情報選択制御部66は、上記のとおり、順方向処理のインタリーブ系列を求める際には式(10)を計算するが、順方向処理と同様にインタリーブアドレス生成テーブル61のfxを用いて、1つのメモリ番号に基づき、逆方向処理における残りのメモリ番号B(t)も求めることができる。   As described above, the information selection control unit 66 calculates the equation (10) when obtaining the interleave sequence for the forward processing. As in the forward processing, the information selection control unit 66 uses the fx of the interleave address generation table 61 to determine one item. Based on the memory number, the remaining memory number B (t) in the backward processing can also be obtained.

図14は、実施の形態6によるターボ符号復号装置の処理内容を示すフローチャートである。アドレス生成部62(制御部6)がアドレスA(t)を算出する方法は上記実施の形態1〜5と同様であるので以下では説明を省略している。なお、図14では並列処理を明確にするため、並列数をMとして、順方向処理と逆方向処理を#1〜#Mで表している。   FIG. 14 is a flowchart showing the processing contents of the turbo code decoding apparatus according to the sixth embodiment. The method by which the address generation unit 62 (control unit 6) calculates the address A (t) is the same as that in the first to fifth embodiments, and thus the description thereof is omitted below. In FIG. 14, in order to clarify parallel processing, the number of parallel processes is represented by M, and forward processing and backward processing are represented by # 1 to #M.

まず、動作制御部64は、順方向処理と逆方向処理の繰り返し回数とメモリアクセスの初期設定を行うとともに、要素復号器7のメモリに格納されているパスメトリック値を初期化する。また、動作制御部64は、インタリーブ系列π(t)の生成に係るパラメータとして、情報長固有のパラメータ(α(0)、δ)をインタリーブアドレス生成テーブル61に設定する。   First, the operation control unit 64 initializes the number of repetitions of forward processing and reverse processing and initial settings of memory access, and initializes the path metric value stored in the memory of the element decoder 7. Further, the operation control unit 64 sets parameters (α (0), δ) specific to the information length in the interleave address generation table 61 as parameters relating to the generation of the interleave sequence π (t).

情報メモリ1からの読み出しは、非インタリーブ時のアクセスでは、順序通りのアクセスである。即ち非インタリーブ系列の順方向処理又は逆方向処理を行うため、アドレス生成部62は#1〜#Mの要素復号器7に与える順方向又は逆方向の非インタリーブ系列の位置を示すアドレスを、情報選択制御部66はメモリ番号を、それぞれメモリインタフェース5に出力する。
メモリインタフェース5は、アドレス生成部62からアドレスを、情報選択制御部66からメモリ番号を受け取ると、そのアドレスとメモリ番号にしたがって、#1〜#Mの情報メモリ1から受信信号をそれぞれ読み出して、各受信信号を#1〜#Mの要素復号器7に与える。
他方、インタリーブ時のアクセスでは、インタリーブ系列に従うランダムアクセスである。即ちインタリーブ系列の順方向処理又は逆方向処理を行うため、アドレス生成部62は式(4)又は式(5)のA(t)及びα(t)に関する計算式を用いて、アドレスA(t)を算出し、そのアドレスA(t)をメモリインタフェース5に出力する。また、情報選択制御部66は式(10)を用いて、メモリ番号B(t)を算出し、そのメモリ番号B(t)をメモリインタフェース5に出力する。
メモリインタフェース5は、アドレス生成部62からアドレスA(t)を、情報選択制御部66からメモリ番号B(t)を受け取ると、そのアドレスA(t)とメモリ番号B(t)にしたがって、#1〜#Mの情報メモリ1から受信信号をそれぞれ読み出して、各受信信号を#1〜#M要素復号器7に与える。
Reading from the information memory 1 is an orderly access in a non-interleaved access. That is, in order to perform forward processing or reverse processing of a non-interleaved sequence, the address generation unit 62 receives an address indicating the position of a forward or reverse non-interleaved sequence to be given to the # 1 to #M element decoders 7 as information The selection control unit 66 outputs the memory numbers to the memory interface 5 respectively.
When the memory interface 5 receives the address from the address generation unit 62 and the memory number from the information selection control unit 66, the memory interface 5 reads the received signals from the information memories 1 of # 1 to #M according to the address and the memory number, Each received signal is supplied to the # 1 to #M element decoder 7.
On the other hand, the access during interleaving is random access according to an interleave sequence. That is, in order to perform forward processing or backward processing of the interleaved sequence, the address generation unit 62 uses the calculation formulas related to A (t) and α (t) in Expression (4) or Expression (5) to calculate the address A (t ) And the address A (t) is output to the memory interface 5. Further, the information selection control unit 66 calculates the memory number B (t) using the equation (10), and outputs the memory number B (t) to the memory interface 5.
When the memory interface 5 receives the address A (t) from the address generation unit 62 and the memory number B (t) from the information selection control unit 66, the memory interface 5 ## according to the address A (t) and the memory number B (t). The received signals are respectively read from the 1 to #M information memories 1 and given to the # 1 to #M element decoder 7.

また、パリティ1メモリ2及びパリティ2メモリ3からの読み出しは、上記実施の形態1〜5と同様に、インタリーブ時及び非インタリーブ時ともに常に順序通りとなる。即ち、非インタリーブの復号時には、メモリインタフェース5が#1〜#Mのパリティ1メモリ2からパリティ1系列に相当する受信信号をそれぞれ読み出して、各受信信号を#1〜#Mの要素復号器7に与える。
他方、インタリーブの復号時には、メモリインタフェース5が#1〜#Mのパリティ2メモリ3からパリティ2系列に相当する受信信号をそれぞれ読み出して、各受信信号を#1〜#Mの要素復号器7に与える。
なお、#1〜#Mの要素復号器7がターボ符号を復号する処理は上記実施の形態1〜5と同様であるので説明を省略する。
Further, the reading from the parity 1 memory 2 and the parity 2 memory 3 is always performed in the same order in both interleaving and non-interleaving as in the first to fifth embodiments. That is, at the time of non-interleaved decoding, the memory interface 5 reads out the received signals corresponding to the parity 1 series from the parity 1 memory 2 of # 1 to #M, and converts each received signal into the element decoder 7 of # 1 to #M. To give.
On the other hand, at the time of interleaving decoding, the memory interface 5 reads out the received signals corresponding to the parity 2 series from the parity 2 memory 3 of # 1 to #M, and sends the received signals to the element decoder 7 of # 1 to #M. give.
Note that the process of decoding turbo codes by the # 1 to #M element decoders 7 is the same as in the first to fifth embodiments, and a description thereof will be omitted.

なお、図14では、非インタリーブ、インタリーブ、非インタリーブ、インタリーブ、・・・、非インタリーブ、インタリーブの順番で繰り返し復号を行う例を示しているが、非インタリーブとインタリーブは逆の順序でもよい。また、順方向、逆方向、順方向、逆方向の順番で処理しているが、順方向と逆方向は逆の順序でもよい。   14 shows an example in which iterative decoding is performed in the order of non-interleaving, interleaving, non-interleaving, interleaving,..., Non-interleaving, and interleaving, but non-interleaving and interleaving may be in reverse order. Further, the processing is performed in the order of the forward direction, the reverse direction, the forward direction, and the reverse direction, but the forward direction and the reverse direction may be reversed.

以上で明らかなように、この実施の形態6によれば、制御部6は、ターボ符号の情報長Nに応じた係数fxを予め保持しているインタリーブアドレス生成テーブル61と、インタリーブアドレス生成テーブル61に保持された係数fxを用いて、並列数M分の情報メモリ1に格納された各データのアドレスを決定するアドレス生成部62と、インタリーブアドレス生成テーブル61に保持された係数fxを用いて、情報メモリ1の並び順を決定する情報選択制御部66と、情報メモリ1に格納されたデータを情報選択制御部66により決定された並び順で読み出し、かつ、アドレス生成部62により決定されたアドレスから読み出してインタリーブ系列を生成するメモリインタフェース5とを備えるように構成した。そのため、上記実施の形態1〜5と同様に、インタリーブ系列に依存するメモリアクセスを簡易な計算で逐次的に得ることができるため、インタリーブ系列を保持するためのメモリが不要になり、メモリ量や回路規模を小さく抑えることができる。
また、情報選択制御部66がインタリーブアドレス生成テーブル61に格納された情報を用いてメモリ番号を生成するようにしたため、上記実施の形態1〜5のメモリ選択初期テーブル65に相当するメモリが不要になり、メモリ量や回路規模をさらに小さく抑えることができる効果を奏する。
As is apparent from the above, according to the sixth embodiment, the control unit 6 includes the interleave address generation table 61 that holds in advance the coefficient fx corresponding to the information length N of the turbo code, and the interleave address generation table 61. Using the coefficient fx stored in the information memory 1 for the number of parallel M, and the coefficient fx stored in the interleave address generation table 61 to determine the address of each data stored in the information memory 1 An information selection control unit 66 for determining the arrangement order of the information memory 1, and data stored in the information memory 1 is read in the arrangement order determined by the information selection control unit 66, and the address determined by the address generation unit 62 And a memory interface 5 for generating an interleaved sequence by reading from. Therefore, as in the first to fifth embodiments, memory access depending on the interleaved sequence can be obtained sequentially with a simple calculation, so that a memory for holding the interleaved sequence becomes unnecessary, and the amount of memory and The circuit scale can be kept small.
In addition, since the information selection control unit 66 generates the memory number using the information stored in the interleave address generation table 61, a memory corresponding to the memory selection initial table 65 of the first to fifth embodiments is unnecessary. As a result, the memory amount and circuit scale can be further reduced.

なお、この実施の形態6では、要素復号器7が順方向処理と逆方向処理を順番に実施するものについて示したが、要素復号器7が順方向処理と逆方向処理を同時に実施するようにしてもよい。
即ち、要素復号器7が順方向処理と逆方向処理を同時に実施する場合、順方向処理は並列化単位の最初からパスメトリック値を保存しながら処理を進め、逆方向処理は並列化単位の末尾からパスメトリック値を保存しながら処理を進める。
両方向から進んだトレリスが交差した先は、互いのパスメトリック値を読み出すことができるので、外部情報を算出することができる。
In the sixth embodiment, the element decoder 7 performs forward processing and backward processing in order. However, the element decoder 7 performs forward processing and backward processing at the same time. May be.
That is, when the element decoder 7 performs forward processing and backward processing at the same time, the forward processing proceeds from the beginning of the parallelization unit while saving the path metric value, and the backward processing is performed at the end of the parallelization unit. The process proceeds while saving the path metric value from.
Since the trellises that have advanced from both directions cross each other, the mutual path metric values can be read out, so that external information can be calculated.

実施の形態7.
上記実施の形態6では、一般的な多項式により生成されるインタリーブ系列を用いるターボ符号復号装置を示したが、図12に示すターボ符号復号装置において、一般的な多項式に代えて2次多項式であるQPP方式を採用し、並列段数Mを4段あるいは2段にしてもよい。以下では、並列段数Mを4段にした構成について説明する。
この場合、情報長をNとすると、QPPインタリーバのt番目のインタリーブ系列π(t)は、下記式(11)のようになる。
π(t)=f1×t+f2×t×t mod N (11)
ただし、f1は奇数の定数、f2は偶数の定数である。
このとき、4個の要素復号器7が並列処理する場合にアクセスする情報メモリ1のメモリ番号B(t)とアドレス(t)は、下記のように表される。
B(t)=ceil(π(t)/W) (12)
A(t)=π(t) mod W (13)
ここで、t=0,1,・・・,W−1であり、W=N/Mとし、MはNの約数としている。
Embodiment 7 FIG.
In Embodiment 6 described above, the turbo code decoding apparatus using an interleaved sequence generated by a general polynomial is shown. However, in the turbo code decoding apparatus shown in FIG. 12, a second-order polynomial is used instead of the general polynomial. A QPP method may be adopted, and the number of parallel stages M may be four or two. Hereinafter, a configuration in which the number M of parallel stages is four will be described.
In this case, if the information length is N, the t-th interleave sequence π (t) of the QPP interleaver is expressed by the following equation (11).
π (t) = f1 × t + f2 × t × t mod N (11)
However, f1 is an odd constant, and f2 is an even constant.
At this time, the memory number B (t) and the address (t) of the information memory 1 to be accessed when the four element decoders 7 perform parallel processing are expressed as follows.
B (t) = ceil (π (t) / W) (12)
A (t) = π (t) mod W (13)
Here, t = 0, 1,..., W−1, W = N / M, and M is a divisor of N.

したがって、制御部6のアドレス生成部62と情報選択制御部66が式(11)〜(13)を計算すれば、メモリ番号B(t)とアドレスA(t)を求めることができるが、式(11)〜(13)の計算では、乗算とmod(剰余)計算が必要となり、実装するには複雑性が高いものとなる。
そこで、この実施の形態7では、上記実施の形態1〜6と同様にメモリ番号B(t)及びアドレスA(t)を逐次的に算出するようにしている。アクセスするアドレスA(t)を計算するに際して、補助パラメータとしてα(t)を用意する。
Therefore, if the address generation unit 62 and the information selection control unit 66 of the control unit 6 calculate the equations (11) to (13), the memory number B (t) and the address A (t) can be obtained. In the calculations of (11) to (13), multiplication and mod (remainder) calculation are required, and the complexity of implementation is high.
Therefore, in the seventh embodiment, the memory number B (t) and the address A (t) are sequentially calculated as in the first to sixth embodiments. When calculating the access address A (t), α (t) is prepared as an auxiliary parameter.

ただし、以下のパラメータα(0),δは、計算量が大きいので、予めインタリーブアドレス生成テーブル61に格納しておくものとする。
α(0)=f1+f2 mod W
δ=2×f2 mod W
なお、パラメータα(0),δを計算して、その計算値を保持しておく分には、大きなメモリ量を必要としない。
However, since the following parameters α (0) and δ have a large calculation amount, they are stored in the interleave address generation table 61 in advance.
α (0) = f1 + f2 mod W
δ = 2 × f2 mod W
Note that a large amount of memory is not required for calculating the parameters α (0) and δ and holding the calculated values.

メモリインタフェース5がアクセスする情報メモリ1のアドレスA(t)は、以下に示すように、アドレス生成部62において順方向の逐次的な操作で求めることができる。
[α(t)の更新] α(t+1)=α(t)+δ
If (α(t+1)≧W)
α(t+1)=α(t+1)−W
[A(t)の更新] A(t+1)=A(t)+α(t)
If (A(t+1)≧W)
A(t+1)=A(t+1)−W
(14)
アドレス生成部62は、インタリーブ時には上記式(14)を計算してアドレスA(t)を求め、非インタリーブ時には初期位置から1ずつアドレスA(t)を変化させればよい。
The address A (t) of the information memory 1 accessed by the memory interface 5 can be obtained by sequential operation in the forward direction in the address generation unit 62 as shown below.
[Update of α (t)] α (t + 1) = α (t) + δ
If (α (t + 1) ≧ W)
α (t + 1) = α (t + 1) −W
[Update of A (t)] A (t + 1) = A (t) + α (t)
If (A (t + 1) ≧ W)
A (t + 1) = A (t + 1) −W
(14)
The address generation unit 62 calculates the above equation (14) at the time of interleaving to obtain the address A (t), and at the time of non-interleaving, the address generating unit 62 may change the address A (t) one by one from the initial position.

また、メモリインタフェース5がアクセスする情報メモリ1のメモリ番号B(t)は、以下に示すように、情報選択制御部66において順方向の逐次的な操作で求めることができる。
B(t)=A+(k−1)×f1 mod M (15)
ここで、Aは基準に用いる1つのメモリ番号B(t)であり、このメモリ番号B(t)の情報メモリ1に格納されたデータが最初の処理で#1の要素復号器7に渡される。ただし、基準となるメモリ番号Aは任意の値であって、#1〜#4のうちのいずれであってもよく、従来のように式(12)を計算すればよい。
例えば、#1の要素復号器7が#A(A=1,2,・・・,M)の情報メモリ1からデータを受ける場合には、#2の要素復号器7は#(A+f1)(mod M)の情報メモリ1からデータを受けることとなる。以下、同様に、#3の要素復号器7は#(A+2×f1)(mod M)の情報メモリ1から、#4の要素復号器7は#(A+3×f1)(mod M)の情報メモリ1から、それぞれデータを受ける。
この実施の形態では、並列段数Mを4段とした並列処理が行われる。この場合には、係数f1の値を4で除した剰余が奇数となり、1の場合と3の場合が存在する。剰余1,3それぞれの場合に要素復号器7がメモリインタフェース5を介してアクセスするメモリ番号B(t)のパターンを図15に示す。図15は、並列処理を行う#1〜#4の要素復号器7と、要素復号器7にデータを受け渡す#1〜#4の情報メモリ1との対応関係を表している。
Further, the memory number B (t) of the information memory 1 accessed by the memory interface 5 can be obtained by sequential operation in the forward direction in the information selection control unit 66 as shown below.
B (t) = A + (k−1) × f1 mod M (15)
Here, A is one memory number B (t) used as a reference, and the data stored in the information memory 1 of this memory number B (t) is passed to the # 1 element decoder 7 in the first process. . However, the reference memory number A is an arbitrary value and may be any of # 1 to # 4, and the equation (12) may be calculated as in the past.
For example, when the # 1 element decoder 7 receives data from the information memory 1 #A (A = 1, 2,..., M), the # 2 element decoder 7 # (A + f1) ( data is received from the information memory 1 of (mod M). Similarly, the # 3 element decoder 7 uses the # (A + 2 × f1) (mod M) information memory 1, and the # 4 element decoder 7 uses the # (A + 3 × f1) (mod M) information memory 1. 1 receives data from each.
In this embodiment, parallel processing is performed in which the number M of parallel stages is four. In this case, the remainder obtained by dividing the value of the coefficient f1 by 4 becomes an odd number, and there are cases of 1 and 3. FIG. 15 shows a pattern of the memory number B (t) that the element decoder 7 accesses through the memory interface 5 in the case of the remainders 1 and 3. FIG. 15 shows the correspondence between the # 1 to # 4 element decoders 7 that perform parallel processing and the # 1 to # 4 information memories 1 that pass data to the element decoder 7.

また、メモリインタフェース5がアクセスする情報メモリ1のアドレスA(t)は、以下に示すように、アドレス生成部62において逆方向の逐次的な操作で求めることができる。
[α(t)の更新] If (α(t)≧δ)
α(t−1)=α(t)−δ
Else
α(t−1)=α(t)+W−δ
[A(t)の更新] If (A(t)≧α(t−1))
A(t−1)=A(t)−α(t−1)
Else
A(t−1)=A(t)+W−α(t−1)
(16)
アドレス生成部62は、インタリーブ時には上記式(16)を計算してアドレスA(t)を求め、非インタリーブ時には初期位置から1ずつアドレスA(t)を変化させればよい。
Further, the address A (t) of the information memory 1 accessed by the memory interface 5 can be obtained by sequential operation in the reverse direction in the address generation unit 62 as shown below.
[Update of α (t)] If (α (t) ≧ δ)
α (t−1) = α (t) −δ
Else
α (t−1) = α (t) + W−δ
[Update of A (t)] If (A (t) ≧ α (t−1))
A (t−1) = A (t) −α (t−1)
Else
A (t-1) = A (t) + W- [alpha] (t-1)
(16)
The address generator 62 calculates the above equation (16) at the time of interleaving to obtain the address A (t), and at the time of non-interleaving, the address generating unit 62 may change the address A (t) one by one from the initial position.

また、メモリインタフェース5がアクセスする情報メモリ1のメモリ番号B(t)も、順方向の逐次的な操作と同様に情報選択制御部66がインタリーブアドレス生成テーブル61のf1を用いて、1つのメモリ番号に基づいて逆方向の逐次的な操作で求めることができる。   The memory number B (t) of the information memory 1 accessed by the memory interface 5 is also stored in one memory by the information selection control unit 66 using f1 of the interleave address generation table 61 in the same manner as the forward sequential operation. Based on the number, it can be obtained by sequential operation in the reverse direction.

以下、図14を援用しながら、制御部6がメモリインタフェース5を制御することによりインタリーブ系列と非インタリーブ系列を順番に生成させて、要素復号器7がターボ符号を復号する処理を説明する。   Hereinafter, a process in which the control unit 6 controls the memory interface 5 to generate an interleaved sequence and a non-interleaved sequence in order and the element decoder 7 decodes the turbo code will be described with reference to FIG.

まず、動作制御部64は、順方向処理と逆方向処理の繰り返し回数とメモリアクセスの初期設定を行うとともに、要素復号器7のメモリに格納されているパスメトリック値を初期化する。また、動作制御部64は、インタリーブ系列π(t)の生成に係るパラメータとして、情報長固有のパラメータ(α(0)、δ)をインタリーブアドレス生成テーブル61に設定する。   First, the operation control unit 64 initializes the number of repetitions of forward processing and reverse processing and initial settings of memory access, and initializes the path metric value stored in the memory of the element decoder 7. Further, the operation control unit 64 sets parameters (α (0), δ) specific to the information length in the interleave address generation table 61 as parameters relating to the generation of the interleave sequence π (t).

情報メモリ1からの読み出しは、非インタリーブ時のアクセスでは、順序通りのアクセスである。即ち非インタリーブ系列の順方向処理又は逆方向処理を行うため、アドレス生成部62は#1〜#4の要素復号器7に与える順方向又は逆方向の非インタリーブ系列の位置を示すアドレスを、情報選択制御部66はメモリ番号を、それぞれメモリインタフェース5に出力する。
メモリインタフェース5は、アドレス生成部62からアドレスを、情報選択制御部66からメモリ番号を受け取ると、そのアドレスとメモリ番号にしたがって、#1〜#4の情報メモリ1から受信信号をそれぞれ読み出して、各受信信号を#1〜#4の要素復号器7に与える。
他方、インタリーブ時のアクセスでは、インタリーブ系列に従うランダムアクセスである。即ちインタリーブ系列の順方向処理又は逆方向処理を行うため、アドレス生成部62は式(14)又は式(16)を用いて、アドレスA(t)を算出し、そのアドレスA(t)をメモリインタフェース5に出力する。また、情報選択制御部66は式(15)を用いてメモリ番号B(t)を算出し、そのメモリ番号B(t)をメモリインタフェース5に出力する。
メモリインタフェース5は、アドレス生成部62からアドレスA(t)を、情報選択制御部66からメモリ番号B(t)を受け取ると、そのアドレスA(t)とメモリ番号B(t)にしたがって、#1〜#4の情報メモリ1から受信信号をそれぞれ読み出して、各受信信号を#1〜#4の要素復号器7に与える。
Reading from the information memory 1 is an orderly access in a non-interleaved access. That is, in order to perform forward processing or reverse processing of a non-interleaved sequence, the address generation unit 62 receives an address indicating the position of a forward or reverse non-interleaved sequence to be given to the element decoders 7 of # 1 to # 4 as information The selection control unit 66 outputs the memory numbers to the memory interface 5 respectively.
When the memory interface 5 receives the address from the address generation unit 62 and the memory number from the information selection control unit 66, the memory interface 5 reads the received signal from the information memories 1 of # 1 to # 4 according to the address and the memory number, Each received signal is given to the element decoder 7 of # 1 to # 4.
On the other hand, the access during interleaving is random access according to an interleave sequence. That is, in order to perform forward processing or backward processing of the interleave sequence, the address generation unit 62 calculates the address A (t) using the equation (14) or the equation (16), and stores the address A (t) in the memory. Output to interface 5. Further, the information selection control unit 66 calculates the memory number B (t) using the equation (15), and outputs the memory number B (t) to the memory interface 5.
When the memory interface 5 receives the address A (t) from the address generation unit 62 and the memory number B (t) from the information selection control unit 66, the memory interface 5 ## according to the address A (t) and the memory number B (t). The received signals are read from the information memories 1 to # 4, respectively, and are supplied to the element decoders 7 to # 1 to # 4.

また、パリティ1メモリ2及びパリティ2メモリ3からの読み出しは、インタリーブ時及び非インタリーブ時ともに常に順序通りとなる。即ち、非インタリーブの復号時には、メモリインタフェース5が#1〜#4のパリティ1メモリ2からパリティ1系列に相当する受信信号をそれぞれ読み出して、各受信信号を#1〜#4の要素復号器7に与える。
他方、インタリーブの復号時には、メモリインタフェース5が#1〜#4のパリティ2メモリ3からパリティ2系列に相当する受信信号をそれぞれ読み出して、各受信信号を#1〜#4の要素復号器7に与える。
なお、#1〜#4の要素復号器7がターボ符号を復号する処理は上記実施の形態1〜5と同様であるので説明を省略する。
In addition, reading from the parity 1 memory 2 and the parity 2 memory 3 is always performed in the order both in interleaving and non-interleaving. That is, at the time of non-interleaved decoding, the memory interface 5 reads out received signals corresponding to the parity 1 series from the parity 1 memory 2 of # 1 to # 4, and converts each received signal into the element decoder 7 of # 1 to # 4. To give.
On the other hand, at the time of interleaving decoding, the memory interface 5 reads out the received signals corresponding to the parity 2 series from the parity 2 memory 3 of # 1 to # 4, and sends the received signals to the element decoder 7 of # 1 to # 4. give.
The process of decoding turbo codes by the # 1 to # 4 element decoders 7 is the same as in the first to fifth embodiments, and a description thereof will be omitted.

以上で明らかなように、この実施の形態7によれば、ターボ符号復号装置は、ターボ符号のインタリーバとしてQPP方式を採用し、並列数を2又は4とし、情報選択制御部66はインタリーブアドレス生成テーブル61に保持された情報長Nに応じた係数f1を用いて、1つの情報メモリ1のメモリ番号を基準に情報メモリ1の並び順を決定するように構成した。そのため、上記実施の形態1〜6と同様に、インタリーブ系列に依存するメモリアクセスを簡易な計算で逐次的に得ることができるため、インタリーブ系列を保持するためのメモリが不要になり、メモリ量や回路規模を小さく抑えることができる。
また、情報選択制御部66がインタリーブアドレス生成テーブル61に格納された情報を用いてメモリ番号を生成するようにしたため、QPP方式を用いるターボ符号復号装置においても上記実施の形態1〜5のメモリ選択初期テーブル65に相当するメモリが不要になり、メモリ量や回路規模をさらに小さく抑えることができる効果を奏する。
As is apparent from the above, according to the seventh embodiment, the turbo code decoding apparatus adopts the QPP method as the turbo code interleaver, sets the parallel number to 2 or 4, and the information selection control unit 66 generates the interleave address. The arrangement order of the information memories 1 is determined based on the memory number of one information memory 1 using the coefficient f1 corresponding to the information length N held in the table 61. Therefore, as in the first to sixth embodiments, the memory access depending on the interleaved sequence can be obtained sequentially with a simple calculation, so that a memory for holding the interleaved sequence becomes unnecessary, the amount of memory and The circuit scale can be kept small.
In addition, since the information selection control unit 66 generates the memory number using the information stored in the interleave address generation table 61, the memory selection in the first to fifth embodiments is also performed in the turbo code decoding apparatus using the QPP method. A memory corresponding to the initial table 65 becomes unnecessary, and the memory amount and circuit scale can be further reduced.

なお、この実施の形態7では、要素復号器7が順方向処理と逆方向処理を順番に実施するものについて示したが、要素復号器7が順方向処理と逆方向処理を同時に実施するようにしてもよい。
即ち、要素復号器7が順方向処理と逆方向処理を同時に実施する場合、順方向処理は並列化単位の最初からパスメトリック値を保存しながら処理を進め、逆方向処理は並列化単位の末尾からパスメトリック値を保存しながら処理を進める。
両方向から進んだトレリスが交差した先は、互いのパスメトリック値を読み出すことができるので、外部情報を算出することができる。
In the seventh embodiment, the element decoder 7 performs forward processing and backward processing in order. However, the element decoder 7 performs forward processing and backward processing at the same time. May be.
That is, when the element decoder 7 performs forward processing and backward processing at the same time, the forward processing proceeds from the beginning of the parallelization unit while saving the path metric value, and the backward processing is performed at the end of the parallelization unit. The process proceeds while saving the path metric value from.
Since the trellises that have advanced from both directions cross each other, the mutual path metric values can be read out, so that external information can be calculated.

また、上記実施の形態6及び7によるターボ符号復号装置を、上記実施の形態3による並列化ターボ復号器10(図5)に適用してもよく、または上記実施の形態4による受信装置30に(図8)に実装してもよく、更には上記実施の形態5による基地局50(図10)に実装してもよい。このような構成とした場合であっても、上述した効果を奏する。   Further, the turbo code decoding apparatus according to the sixth and seventh embodiments may be applied to the parallel turbo decoder 10 (FIG. 5) according to the third embodiment, or the receiving apparatus 30 according to the fourth embodiment. (FIG. 8) may be mounted, and furthermore, it may be mounted on the base station 50 (FIG. 10) according to the fifth embodiment. Even if it is a case where it is set as such a structure, there exists the effect mentioned above.

この発明の実施の形態1によるターボ符号復号装置を示す構成図である。It is a block diagram which shows the turbo code decoding apparatus by Embodiment 1 of this invention. この発明の実施の形態1によるターボ符号復号装置の処理内容を示すフローチャートである。It is a flowchart which shows the processing content of the turbo code decoding apparatus by Embodiment 1 of this invention. この発明の実施の形態2によるターボ符号復号装置を示す構成図である。It is a block diagram which shows the turbo code decoding apparatus by Embodiment 2 of this invention. 読み出したn×PビットをP個の要素復号器7に受け渡すために並べ替える手順を示す説明図である。It is explanatory drawing which shows the procedure which rearranges in order to pass the read nxP bit to P element decoders. この発明の実施の形態3によるターボ符号復号装置を示す構成図である。It is a block diagram which shows the turbo code decoding apparatus by Embodiment 3 of this invention. 情報長Kと復号繰り返し回数Iの違いによる復号性能の比較シミュレーションの結果を示すグラフ図である。It is a graph which shows the result of the comparison simulation of the decoding performance by the difference in the information length K and the decoding repetition frequency I. この発明の実施の形態3によるターボ符号復号装置の処理内容を示すフローチャートである。It is a flowchart which shows the processing content of the turbo code decoding apparatus by Embodiment 3 of this invention. この発明の実施の形態4による通信システムを示す構成図である。It is a block diagram which shows the communication system by Embodiment 4 of this invention. この発明の実施の形態4による通信システムの処理内容を示すフローチャートである。It is a flowchart which shows the processing content of the communication system by Embodiment 4 of this invention. この発明の実施の形態5による通信システムを示す構成図である。It is a block diagram which shows the communication system by Embodiment 5 of this invention. この発明の実施の形態1〜5に係るターボ符号復号装置を示す構成図であり、特に制御部を詳細に示すものである。It is a block diagram which shows the turbo code decoding apparatus which concerns on Embodiment 1-5 of this invention, and shows a control part in detail especially. この発明の実施の形態6によるターボ符号復号装置を示す構成図である。It is a block diagram which shows the turbo code decoding apparatus by Embodiment 6 of this invention. この発明の実施の形態6によるターボ符号復号装置の情報メモリ1のメモリ構成及びインタリーブ時のメモリアクセス方法を模式的に示す説明図である。It is explanatory drawing which shows typically the memory structure of the information memory 1 of the turbo code decoding apparatus by Embodiment 6 of this invention, and the memory access method at the time of interleaving. この発明の実施の形態6によるターボ符号復号装置の処理内容を示すフローチャートである。It is a flowchart which shows the processing content of the turbo code decoding apparatus by Embodiment 6 of this invention. この発明の実施の形態7によるターボ符号復号装置においてメモリインタフェース5がアクセスするメモリ番号のパターンを示す。The pattern of the memory number which the memory interface 5 accesses in the turbo code decoding apparatus by Embodiment 7 of this invention is shown.

符号の説明Explanation of symbols

1 情報メモリ(ターボ符号格納手段)、2 パリティ1メモリ(ターボ符号格納手段)、3 パリティ2メモリ(ターボ符号格納手段)、4 外部情報メモリ(ターボ符号格納手段)、5 メモリインタフェース(系列生成手段)、6 制御部(系列生成手段)、7 要素復号器(復号手段)、10 並列化ターボ復号器、11 復号方式制御部(制御手段)、20 送信装置、21 ターボ符号化器、30 受信装置、31 ターボ符号復号装置、40 移動体端末、41 ターボ符号化器、50 基地局、51 ターボ符号復号装置、61 インタリーブアドレス生成テーブル、62 アドレス生成部、63,66 情報選択制御部、64 動作制御部、65 メモリ選択初期テーブル。   1 information memory (turbo code storage means), 2 parity 1 memory (turbo code storage means), 3 parity 2 memory (turbo code storage means), 4 external information memory (turbo code storage means), 5 memory interface (sequence generation means) ), 6 control unit (sequence generation unit), 7 element decoder (decoding unit), 10 parallel turbo decoder, 11 decoding scheme control unit (control unit), 20 transmission device, 21 turbo encoder, 30 reception device , 31 Turbo code decoder, 40 Mobile terminal, 41 Turbo encoder, 50 Base station, 51 Turbo code decoder, 61 Interleave address generation table, 62 Address generator, 63, 66 Information selection controller, 64 Operation control 65, memory selection initial table.

Claims (14)

ターボ符号の受信系列を並列数の個数に分割して格納するターボ符号格納手段と、
上記ターボ符号格納手段により格納されたターボ符号のインタリーブ系列及び非インタリーブ系列を生成する系列生成手段と、
上記系列生成手段により生成されたインタリーブ系列及び非インタリーブ系列に対する順方向処理と逆方向処理を繰り返し実施して、ターボ符号を並列に復号する並列数分の復号手段とを備えたターボ符号復号装置において、
上記系列生成手段は、
上記ターボ符号格納手段の並び順を決定するためのパラメータを保持するメモリ選択初期テーブルと、
インタリーブ系列を生成する多項式におけるターボ符号の情報長に応じた係数を予め保持するインタリーブアドレス生成テーブルと、
上記メモリ選択初期テーブルに保持されたパラメータと上記インタリーブアドレス生成テーブルに保持された係数を用いて加減算処理と比較計算処理を実施して、順方向処理と逆方向処理の、上記ターボ符号格納手段の並び順とアドレスを決定する情報選択制御手段と、
上記情報選択制御手段により決定された上記並び順で上記ターボ符号格納手段の上記アドレスに格納された各データを読み出して、順方向処理と逆方向処理のインタリーブ系列を生成するメモリインタフェースとを備えたことを特徴とするターボ符号復号装置。
Turbo code storage means for dividing a turbo code received sequence into a number of parallel numbers and storing it,
Sequence generating means for generating an interleaved sequence and a non-interleaved sequence of turbo codes stored by the turbo code storing unit ;
In a turbo code decoding apparatus comprising: a parallel number of decoding means for decoding turbo codes in parallel by repeatedly performing forward processing and backward processing on interleaved sequences and non-interleaved sequences generated by the sequence generating means ,
The series generation means includes
A memory selection initial table holding parameters for determining the arrangement order of the turbo code storage means;
An interleave address generation table that holds in advance a coefficient corresponding to the information length of a turbo code in a polynomial for generating an interleave sequence;
Using the parameters held in the memory selection initial table and the coefficients held in the interleave address generation table, addition / subtraction processing and comparison calculation processing are performed, and forward processing and backward processing of the turbo code storage means Information selection control means for determining the arrangement order and address;
A memory interface that reads out each data stored in the address of the turbo code storage unit in the arrangement order determined by the information selection control unit and generates an interleaved sequence of forward processing and backward processing; The turbo code decoding apparatus characterized by the above-mentioned.
ターボ符号の情報長に応じて、順方向処理と逆方向処理を実施する復号手段の並列数を決定し、上記並列数分の復号手段を制御する制御手段を設けたことを特徴とする請求項1記載のターボ符号復号装置。   The control means for determining the parallel number of the decoding means for performing the forward processing and the backward processing according to the information length of the turbo code, and controlling the decoding means for the parallel number. 1. The turbo code decoding device according to 1. ターボ符号の情報長に応じて、復号手段における順方向処理と逆方向処理の繰り返し回数を制御する制御手段を設けたことを特徴とする請求項1記載のターボ符号復号装置。   2. The turbo code decoding apparatus according to claim 1, further comprising a control unit that controls the number of repetitions of forward processing and backward processing in the decoding unit in accordance with the information length of the turbo code. 複数の復号手段が順方向処理と逆方向処理を同時に実施する機能を有することを特徴とする請求項1から請求項3のうちのいずれか1項記載のターボ符号復号装置。   4. The turbo code decoding device according to claim 1, wherein the plurality of decoding units have a function of simultaneously performing forward processing and backward processing. 5. 復号手段は、順方向処理と逆方向処理を同時に実施する場合、順方向処理又は逆方向処理のいずれか一方の開始を1ステップ先行又は1ステップ遅延させることを特徴とする請求項4記載のターボ符号復号装置。   5. The turbo according to claim 4, wherein the decoding means delays the start of one of the forward process and the backward process by one step ahead or one step when performing the forward process and the backward process simultaneously. Code decoding apparatus. 系列生成手段は、「3GPP TS36.212」の規格に規定されているターボ符号のインタリーブ系列及び非インタリーブ系列を生成することを特徴とする請求項1から請求項5のうちのいずれか1項記載のターボ符号復号装置。   The sequence generation means generates an interleaved sequence and a non-interleaved sequence of a turbo code defined in the standard of “3GPP TS36.212”, according to any one of claims 1 to 5. Turbo code decoding apparatus. 系列生成手段は、ターボ符号のインタリーバとしてQPP方式を採用していることを特徴とする請求項1から請求項5のうちのいずれか1項記載のターボ符号復号装置。   The turbo code decoding apparatus according to any one of claims 1 to 5, wherein the sequence generation means employs a QPP method as a turbo code interleaver. 系列生成手段がターボ符号のインタリーブ系列及び非インタリーブ系列を生成する系列生成ステップと、
複数の復号手段が上記系列生成手段により生成されたインタリーブ系列及び非インタリーブ系列に対する順方向処理と逆方向処理を繰り返し実施して、ターボ符号を並列に復号する復号ステップとを備えたターボ符号復号方法において、
上記系列生成ステップは、
メモリインタフェースが、ターボ符号の受信系列を並列数の個数に分割してターボ符号格納手段に格納する格納ステップと、
情報選択制御手段が、メモリ選択初期テーブルに予め保持されている、上記ターボ符号格納手段の並び順を決定するためのパラメータと、インタリーブアドレス生成テーブルに予め保持されている、インタリーブ系列を生成する多項式におけるターボ符号の情報長に応じた係数を用いて加減算処理と比較計算処理を実施して、順方向処理と逆方向処理の、上記ターボ符号格納手段の並び順とアドレスを決定する情報選択制御ステップと、
上記メモリインタフェースが、上記情報選択制御ステップで決定された上記並び順で上記ターボ符号格納手段の上記アドレスに格納された各データを読み出して、順方向処理と逆方向処理のインタリーブ系列を生成するインタリーブ系列生成ステップとから成ることを特徴とするターボ符号復号方法。
A sequence generation step in which the sequence generation means generates an interleaved sequence and a non-interleaved sequence of the turbo code; and
A turbo code decoding method comprising: a decoding step in which a plurality of decoding means repeatedly perform forward processing and reverse processing on the interleaved sequence and non-interleaved sequence generated by the sequence generating unit, and decode turbo codes in parallel In
The series generation step includes
A storage step in which the memory interface divides the reception sequence of the turbo code into a number of parallel numbers and stores it in the turbo code storage means;
Parameters for determining the order of arrangement of the turbo code storage means stored in the memory selection initial table in advance by the information selection control means, and polynomials for generating an interleave sequence held in advance in the interleave address generation table Information selection control step for determining the arrangement order and address of the turbo code storage means of forward processing and backward processing by performing addition / subtraction processing and comparison calculation processing using a coefficient corresponding to the information length of the turbo code in When,
An interleaving in which the memory interface reads out each data stored at the address of the turbo code storage means in the arrangement order determined in the information selection control step, and generates an interleave sequence of forward processing and backward processing; A turbo code decoding method comprising: a sequence generation step.
情報源をターボ符号化してターボ符号を生成し、上記ターボ符号を変調して変調波を送信する送信装置と、上記送信装置から送信された変調波を受信し、上記変調波からターボ符号を復調する受信装置とからなる通信システムにおいて、上記受信装置が、復調後のターボ符号を格納する並列数分のターボ符号格納手段と、上記ターボ符号格納手段により格納されたターボ符号のインタリーブ系列及び非インタリーブ系列を生成する系列生成手段と、上記系列生成手段により生成されたインタリーブ系列及び非インタリーブ系列に対する順方向処理と逆方向処理を繰り返し実施して、ターボ符号を並列に復号する並列数分の複数の復号手段とを備えたターボ符号復号装置を実装し、
上記ターボ符号復号装置の上記系列生成手段は、
上記ターボ符号格納手段の並び順を決定するためのパラメータを保持するメモリ選択初期テーブルと、
インタリーブ系列を生成する多項式におけるターボ符号の情報長に応じた係数を予め保持するインタリーブアドレス生成テーブルと、
上記メモリ選択初期テーブルに保持されたパラメータと上記インタリーブアドレス生成テーブルに保持された係数を用いて加減算処理と比較計算処理を実施して、順方向処理と逆方向処理の、上記ターボ符号格納手段の並び順とアドレスを決定する情報選択制御手段と、
上記情報選択制御手段により決定された上記並び順で上記ターボ符号格納手段の上記アドレスに格納された各データを読み出して、順方向処理と逆方向処理のインタリーブ系列を生成するメモリインタフェースとを備えたことを特徴とする通信システム。
A turbo code is generated by turbo-coding an information source, a transmitter that modulates the turbo code and transmits a modulated wave, a modulated wave transmitted from the transmitter is received, and a turbo code is demodulated from the modulated wave In the communication system comprising the receiving device, the receiving device stores turbo code storage means for the number of parallel stores of the demodulated turbo code, and interleave sequences and non-interleaved turbo codes stored by the turbo code storage means. A sequence generation unit that generates a sequence, and a forward number process and a reverse direction process for the interleaved sequence and the non-interleaved sequence generated by the sequence generation unit are repeatedly performed, and a plurality of parallel codes for decoding the turbo code in parallel A turbo code decoding device including decoding means,
The sequence generation means of the turbo code decoding device comprises:
A memory selection initial table holding parameters for determining the arrangement order of the turbo code storage means;
An interleave address generation table that holds in advance a coefficient corresponding to the information length of a turbo code in a polynomial for generating an interleave sequence;
Using the parameters held in the memory selection initial table and the coefficients held in the interleave address generation table, addition / subtraction processing and comparison calculation processing are performed, and forward processing and backward processing of the turbo code storage means Information selection control means for determining the arrangement order and address;
A memory interface that reads out each data stored in the address of the turbo code storage unit in the arrangement order determined by the information selection control unit and generates an interleaved sequence of forward processing and backward processing; communication system, characterized in that.
送信装置が移動体端末であり、受信装置が基地局であることを特徴とする請求項9記載の通信システム。   The communication system according to claim 9, wherein the transmitting device is a mobile terminal and the receiving device is a base station. 情報選択制御手段は、インタリーブアドレス生成テーブルに保持された係数を用いてターボ符号格納手段の並び順を決定するためのパラメータを求め、該パラメータと該係数とを用いて加減算処理と比較計算処理を実施して、順方向処理と逆方向処理の、上記ターボ符号格納手段の並び順とアドレスを決定することを特徴とする請求項1記載のターボ符号復号装置。The information selection control means obtains a parameter for determining the arrangement order of the turbo code storage means using the coefficient held in the interleave address generation table, and performs addition / subtraction processing and comparison calculation processing using the parameter and the coefficient. 2. The turbo code decoding apparatus according to claim 1, wherein the turbo code decoding apparatus determines the arrangement order and addresses of the turbo code storage means for forward processing and backward processing. 並列数M分のターボ符号格納手段は、情報長Nの情報系列及び検査系列のデータをそれぞれ、先頭から順にN/Mワード毎に、当該各ターボ符号格納手段のアドレス0からアドレスN/M−1に格納し、
情報選択制御手段は、インタリーブ系列を生成する多項式が下記式で表現され、係数fxがtに依存しない値の場合に、インタリーブアドレス生成テーブルに保持された情報長Nに応じた係数fxを用いて、1つのターボ符号格納手段を基準に上記各ターボ符号格納手段の並び順を決定することを特徴とする請求項11記載のターボ符号復号装置。
π(t+k×N/M)=π(t)+k×fx×(N/M) mod N
ここで、t=0,1,・・・,N/M−1、k=0,1,・・・,M−1である。
The turbo code storage means for the parallel number M includes information series and check series data of information length N for each N / M word in order from the head, from address 0 to address N / M− of each turbo code storage means. 1 and store
The information selection control means uses the coefficient fx corresponding to the information length N held in the interleave address generation table when the polynomial that generates the interleave sequence is expressed by the following formula and the coefficient fx is a value that does not depend on t. 12. The turbo code decoding apparatus according to claim 11, wherein the order of arrangement of the turbo code storage means is determined on the basis of one turbo code storage means.
π (t + k × N / M) = π (t) + k × fx × (N / M) mod N
Here, t = 0, 1,..., N / M−1, k = 0, 1,.
ターボ符号のインタリーバとしてQPP方式を採用し、並列数を2又は4としたとき、
情報選択制御手段は、インタリーブ系列を生成する多項式が下記式で表現される場合に、インタリーブアドレス生成テーブルに保持された情報長Nに応じた係数f1を用いて、1つのターボ符号格納手段を基準に並列数2分又は並列数4分のターボ符号格納手段の並び順を決定することを特徴とする請求項12記載のターボ符号復号装置。
π(t)=f1×t+f2×t×t mod N
ここで、t=0,1,・・・,N−1、f1は奇数の定数、f2は偶数の定数である。
When QPP method is adopted as an interleaver for turbo code and the parallel number is 2 or 4,
The information selection control means uses a coefficient f1 corresponding to the information length N held in the interleave address generation table as a reference for one turbo code storage means when the polynomial for generating the interleave sequence is expressed by the following equation: 13. The turbo code decoding apparatus according to claim 12, wherein the arrangement order of the turbo code storage means for 2 minutes in parallel or 4 minutes in parallel is determined.
π (t) = f1 × t + f2 × t × t mod N
Here, t = 0, 1,..., N−1, f1 is an odd constant, and f2 is an even constant.
情報選択制御ステップでは、情報選択制御手段が、インタリーブアドレス生成テーブルに予め保持されている係数を用いてターボ符号格納手段の並び順を決定するためのパラメータを求め、該パラメータと該係数とを用いて加減算処理と比較計算処理を実施して、順方向処理と逆方向処理の、上記ターボ符号格納手段の並び順とアドレスを決定することを特徴とする請求項8記載のターボ符号復号方法。In the information selection control step, the information selection control means obtains a parameter for determining the arrangement order of the turbo code storage means using the coefficient held in advance in the interleave address generation table, and uses the parameter and the coefficient. 9. The turbo code decoding method according to claim 8, wherein the addition / subtraction process and the comparison calculation process are executed to determine the arrangement order and address of the turbo code storage means for the forward process and the reverse process.
JP2008220232A 2007-09-20 2008-08-28 Turbo code decoding apparatus, turbo code decoding method, and communication system Active JP4874312B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008220232A JP4874312B2 (en) 2007-09-20 2008-08-28 Turbo code decoding apparatus, turbo code decoding method, and communication system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007244163 2007-09-20
JP2007244163 2007-09-20
JP2008220232A JP4874312B2 (en) 2007-09-20 2008-08-28 Turbo code decoding apparatus, turbo code decoding method, and communication system

Publications (2)

Publication Number Publication Date
JP2009095008A JP2009095008A (en) 2009-04-30
JP4874312B2 true JP4874312B2 (en) 2012-02-15

Family

ID=40666472

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008220232A Active JP4874312B2 (en) 2007-09-20 2008-08-28 Turbo code decoding apparatus, turbo code decoding method, and communication system

Country Status (1)

Country Link
JP (1) JP4874312B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013150365A (en) * 2007-11-26 2013-08-01 Motorola Mobility Llc Data interleaving circuit and method for vectorized turbo decoder

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2443751A1 (en) * 2009-06-17 2012-04-25 Coherent Logix Incorporated Parallel execution of trellis-based methods
US20120106683A1 (en) * 2009-06-18 2012-05-03 Zte Corporation Method and apparatus for parallel turbo decoding in long term evolution system (lte)
US8255759B2 (en) 2009-10-29 2012-08-28 Qualcomm Incorporated APP (a priori probability) storage design for LTE turbo decoder with quadratic permutation polynomial interleaver
JP2011135471A (en) * 2009-12-25 2011-07-07 Mitsubishi Electric Corp Device and method for correcting and decoding error of turbo code
EP2538345A1 (en) * 2010-02-16 2012-12-26 Nec Corporation Fast fourier transform circuit
WO2011111654A1 (en) * 2010-03-08 2011-09-15 日本電気株式会社 Error correcting code decoding device, error correcting code decoding method and error correcting code decoding program
JP5692780B2 (en) 2010-10-05 2015-04-01 日本電気株式会社 Multi-core type error correction processing system and error correction processing device
JP2014011627A (en) * 2012-06-29 2014-01-20 Mitsubishi Electric Corp Error correction decoder having internal interleaving

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007081640A (en) * 2005-09-13 2007-03-29 Matsushita Electric Ind Co Ltd Turbo decoder and turbo decoding method
US7873893B2 (en) * 2007-02-28 2011-01-18 Motorola Mobility, Inc. Method and apparatus for encoding and decoding data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013150365A (en) * 2007-11-26 2013-08-01 Motorola Mobility Llc Data interleaving circuit and method for vectorized turbo decoder

Also Published As

Publication number Publication date
JP2009095008A (en) 2009-04-30

Similar Documents

Publication Publication Date Title
JP4874312B2 (en) Turbo code decoding apparatus, turbo code decoding method, and communication system
May et al. A 150Mbit/s 3GPP LTE turbo code decoder
JP3861084B2 (en) Hybrid turbo / convolutional code decoder, especially for mobile radio systems
KR100955305B1 (en) Formulaic flexible collision-free memory accessing for parallel turbo decoding with quadratic polynomial permutationqpp interleave
JP2003528477A (en) Partitioned deinterleaver memory for map decoder
US9048877B2 (en) Turbo code parallel interleaver and parallel interleaving method thereof
JP2006115145A (en) Decoding device and decoding method
JP5840741B2 (en) Method and apparatus for programmable decoding of multiple code types
JP5700035B2 (en) Error correction code decoding apparatus, error correction code decoding method, and error correction code decoding program
US20100131829A1 (en) Scheduling data with time diversity in flow systems
US7573962B1 (en) Diversity code combining scheme for turbo coded systems
JP4131680B2 (en) Turbo decoder
US7584407B2 (en) Decoder and method for performing decoding operation using map algorithm in mobile communication system
US9130728B2 (en) Reduced contention storage for channel coding
JP2003152556A (en) Error-correcting and decoding device
Raymond et al. Design and VLSI implementation of a high throughput turbo decoder
Adiono Radix-4 max-log-map parallel turbo decoder architecture with a new cache memory data flow for lte
Gazi Prunable collision free random interleaver design
JP2004222197A (en) Method and device for receiving data
JP4991481B2 (en) Iterative decoding apparatus and iterative decoding method
KR20050122521A (en) Parallel decoding method for turbo decoding and turbo decoder using the same
JP2002198829A (en) Decoder and decoding method
JP2006280010A (en) Decoding device and decoding method
JP2007006541A (en) Error-correcting code decoding device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110816

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110930

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111025

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111122

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

Free format text: PAYMENT UNTIL: 20141202

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4874312

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250