JP2006217072A - Turbo decoder and turbo decoding method - Google Patents
Turbo decoder and turbo decoding method Download PDFInfo
- Publication number
- JP2006217072A JP2006217072A JP2005025523A JP2005025523A JP2006217072A JP 2006217072 A JP2006217072 A JP 2006217072A JP 2005025523 A JP2005025523 A JP 2005025523A JP 2005025523 A JP2005025523 A JP 2005025523A JP 2006217072 A JP2006217072 A JP 2006217072A
- Authority
- JP
- Japan
- Prior art keywords
- probability
- state probability
- calculation
- window
- backward
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
本発明は、ターボ符号により誤り訂正符号化されたデータ列についての誤り訂正復号にスライディング・ウインドウ・アルゴリズムを用いた最大事後確率復号法が適用されるターボ復号装置及びターボ復号方法に関する。 The present invention relates to a turbo decoding device and a turbo decoding method to which a maximum a posteriori probability decoding method using a sliding window algorithm is applied to error correction decoding for a data sequence that has been error correction encoded by a turbo code.
ターボ符号は、シャノンが提示した誤り制御符号の訂正能力の理論限界値に近接し、かつ現実的な処理量で実現することのできる符号として、近年、多くの分野で利用されてきている。例えば、第3世代移動通信では、標準符号化の1つとして用いられている。 The turbo code has been used in many fields in recent years as a code that is close to the theoretical limit value of the correction capability of the error control code presented by Shannon and can be realized with a realistic processing amount. For example, in the third generation mobile communication, it is used as one of standard encodings.
ターボ符号器は、複数の要素符号器を交錯器(インターリーバ)を介して並列に使用することで構成される。復号時には、複数の要素復号器が各要素符号器に対応して軟判定復号を行い、相互に外部値である復号情報を交換し合って誤り訂正能力を向上させている。また、符号化後のデータ長を制御するために、各要素符号器出力の冗長データを定期的に削除するパンクチャリング処理を実施することで、符号化率を変える方法が採られている。 The turbo encoder is configured by using a plurality of element encoders in parallel via an interleaver (interleaver). At the time of decoding, a plurality of element decoders perform soft decision decoding corresponding to each element encoder, and mutually exchange decoding information which is an external value to improve error correction capability. In addition, in order to control the data length after encoding, a method of changing the encoding rate by performing puncturing processing that periodically deletes redundant data output from each element encoder is employed.
このターボ符号の復号では、最大事後確率(Maximum A posteriori Probability:MAP)復号法がよく知られている。このMAP復号法は、要素復号器に入力されるデータ系列から、符号器内部データの符号化時の状態を推定し、発生した確率が最も高いと推定される状態に変化させる符号器入力を推定し、それを復号結果とする方法である。 In decoding of this turbo code, the Maximum A posteriori Probability (MAP) decoding method is well known. In this MAP decoding method, the state at the time of encoding of the internal data of the encoder is estimated from the data sequence input to the element decoder, and the encoder input to be changed to the state where the generated probability is estimated to be highest is estimated. In this method, the decoding result is used.
この符号器入力の推定は、データ系列の先頭(始端)から末尾(終端)に向かって逐次的に状態を推定する前方確率の計算で得られる状態確率値と、データ系列の末尾(終端)から先頭(始端)に向かって逐次的に状態を推定する後方確率の計算で得られる状態確率値との両方を用いて行われるが、回路で実現する際は、何れか一方の確率値を先行して計算し、その全てをメモリに記憶し、その後に他方の確率値を逐次計算し、同時にメモリに蓄えられた一方の確率値とから符号器入力を推定する方法が採られる。 The estimation of the encoder input is based on the state probability value obtained by calculating the forward probability that sequentially estimates the state from the beginning (end) to the end (end) of the data sequence, and from the end (end) of the data sequence. It is performed using both the state probability value obtained by calculating the backward probability that sequentially estimates the state toward the beginning (starting edge), but when realized by a circuit, either one of the probability values is preceded. And then storing all of them in the memory, then sequentially calculating the other probability value, and simultaneously estimating the encoder input from one probability value stored in the memory.
この推定方法では、確率値を記憶するメモリには、データ系列の長さ×状態確率数に従う大きさの記憶容量が必要となり回路実現の際に大きな負荷となる。これを解決する方法として、スライディング・ウインドウ・アルゴリズムが知られている(非特許文献1)。このスライディング・ウインドウ・アルゴリズムでは、データ系列をある程度のウインドウ長毎に分断し、それぞれのウインドウ範囲に対してウインドウ境界での状態値を推定しつつ順次復号処理を行うことで、確率値を記憶するメモリの記憶容量をウインドウ長×状態確率数に従う大きさに低減することができる。以下、MAP復号法を用いる従来のターボ復号装置について概略説明する。 In this estimation method, the memory for storing the probability value needs to have a storage capacity of a size according to the length of the data series × the number of state probabilities, which is a heavy load when the circuit is realized. As a method for solving this, a sliding window algorithm is known (Non-Patent Document 1). In this sliding window algorithm, the data series is divided by a certain window length, and the probability value is stored by sequentially performing the decoding process while estimating the state value at the window boundary for each window range. The storage capacity of the memory can be reduced to a size according to window length × number of state probabilities. Hereinafter, a conventional turbo decoding apparatus using the MAP decoding method will be schematically described.
図8は、スライディング・ウインドウ・アルゴリズムを実現する従来のターボ復号装置の構成例を示すブロック図である。図8に示すターボ復号装置800は、入力データ記憶手段801と、遷移確率計算手段802と、第1の状態確率計算手段803と、第2の状態確率計算手段804と、第1の状態確率記憶手段805と、第1の対数尤度計算手段806と、外部値計算手段807と、外部値記憶手段808と、出力データ記憶手段809とを備えている。
FIG. 8 is a block diagram showing a configuration example of a conventional turbo decoding device that realizes a sliding window algorithm. The
また、本図ならびに以降で示す図ではインターリーバをさす記号は記載されていないが、ターボ符号として当然所定の位置に付与されているものとする。 In addition, in this figure and the following figures, the symbol indicating the interleaver is not described, but it is assumed that it is given as a turbo code at a predetermined position.
図8において、受信復調された入力データは、一旦入力データ記憶手段801に記憶される。遷移確率計算手段802は、入力データ記憶手段801と外部値記憶手段808とからそれぞれウインドウ長の単位で読み出されるデータ列に基づき、時点間の遷移確率を計算する。計算結果は、第1の対数尤度計算手段806と第1の状態確率計算手段803と第2の状態確率計算手段804とにそれぞれ出力される。
In FIG. 8, the received and demodulated input data is temporarily stored in the input
第1の状態確率計算手段803は、前方確率をウインドウ長毎にそのウインドウ長の始端から終端に向かう昇順で計算することを所定のデータ範囲において繰り返し行い、計算結果を第1の対数尤度計算手段806に出力する。第2の状態確率計算手段804は、後方確率をウインドウ長毎にそのウインドウ長の終端から始端に向かう降順で計算し、計算結果を第1の状態確率記憶手段805に記憶させることを所定のデータ範囲において繰り返し行う。 The first state probability calculation means 803 repeatedly calculates the forward probability for each window length in ascending order from the beginning to the end of the window length in a predetermined data range, and the calculation result is a first log likelihood calculation. Output to means 806. The second state probability calculation means 804 calculates the backward probability for each window length in descending order from the end of the window length to the start end, and stores the calculation result in the first state probability storage means 805 with predetermined data. Repeat in range.
第1の状態確率計算手段803と第2の状態確率計算手段804との間では、先に第2の状態確率計算手段804が後方確率を上記のように計算し、その後に第1の状態確率計算手段803が前方確率を上記のように計算するようになっている。 Between the first state probability calculation means 803 and the second state probability calculation means 804, the second state probability calculation means 804 first calculates the backward probability as described above, and then the first state probability. The calculation means 803 calculates the forward probability as described above.
第1の対数尤度計算手段806は、遷移確率計算手段802から入力する遷移確率と、第1の状態確率計算手段803から入力する前方確率と、第1の状態確率記憶手段805から読み出した同位置の後方確率とによって対数尤度比を計算する。 The first log likelihood calculation means 806 is the same as the transition probability input from the transition probability calculation means 802, the forward probability input from the first state probability calculation means 803, and the same read from the first state probability storage means 805. The log likelihood ratio is calculated according to the backward probability of the position.
外部値計算手段807は、第1の対数尤度計算手段806が求めた対数尤度比から外部値を計算し、それを外部値記憶手段808に記憶させる。以上の動作が所定の復号回数繰り返し行われる。所定の復号回数経過時における第1の対数尤度計算手段806が求めた対数尤度比が硬判定用の出力データとして出力データ記憶手段809に記憶される。
The external
ところで、スライディング・ウインドウ・アルゴリズムでは、ウインドウ単位に独立して計算できることを利用し、通常、前方確率の計算及び後方確率の計算とからなるウインドウ処理を所定の復号回数繰り返すデータ範囲を複数に分割し、各データ範囲においてウインドウ処理を並列に実行することで復号時間の短縮を図ることが行われている。 By the way, the sliding window algorithm takes advantage of the fact that it can be calculated independently for each window, and usually divides the data range that repeats the window processing consisting of forward probability calculation and backward probability calculation a predetermined number of decoding times into a plurality of data ranges. The decoding time is shortened by executing window processing in parallel in each data range.
図9は、ウインドウ処理を所定の復号回数繰り返すデータ範囲を2つに等分割し、各データ範囲においてウインドウ処理を並列に実行する場合での従来のターボ復号装置の構成例を示すブロック図である。なお、図9では、図8に示した構成要素と同一ないしは同等である構成要素には同一の符号が付されている。 FIG. 9 is a block diagram illustrating a configuration example of a conventional turbo decoding device in a case where a data range in which window processing is repeated a predetermined number of times of decoding is equally divided into two and window processing is executed in parallel in each data range. . In FIG. 9, the same or similar components as those shown in FIG. 8 are denoted by the same reference numerals.
即ち、図9に示すように、2つのデータ範囲においてウインドウ処理の並列に実行する従来のターボ復号装置900は、図8に示した構成に対して、前方確率の計算を行う第3の状態確率計算手段901と、後方確率の計算を行う第4の状態確率計算手段902と、後方確率を記憶する第2の状態確率記憶手段903と、対数尤度比を計算する第2の対数尤度計算手段904とが追加されている。その結果、外部値計算手段807は、第1の対数尤度計算手段806と第2の対数尤度計算手段904とがそれぞれ求めた対数尤度比から外部値を計算し、それを外部値記憶手段808に記憶させることになる。
That is, as shown in FIG. 9, a conventional
なお、第1の対数尤度計算手段806は、遷移確率計算手段802から入力する遷移確率と、第1の状態確率計算手段803から入力する前方確率と、第2の状態確率記憶手段903から読み出した同位置の後方確率とによって対数尤度比を計算する。また、第2の対数尤度計算手段904は、遷移確率計算手段802から入力する遷移確率と、第3の状態確率計算手段901から入力する前方確率と、第1の状態確率記憶手段805から読み出した同位置の後方確率とによって対数尤度比を計算するとしている。 The first log likelihood calculation means 806 reads out the transition probability input from the transition probability calculation means 802, the forward probability input from the first state probability calculation means 803, and the second state probability storage means 903. The log likelihood ratio is calculated according to the backward probability of the same position. The second log likelihood calculation means 904 reads out the transition probability input from the transition probability calculation means 802, the forward probability input from the third state probability calculation means 901, and the first state probability storage means 805. The log likelihood ratio is calculated based on the backward probability of the same position.
次に、図10を参照して、動作について概略説明する。図10は、図9に示す第1及び第2の状態確率記憶手段へのアクセスタイミングを説明するタイムチャートである。図10に示すように、データ範囲は48であるとし、上記したウインドウ長であるスライディング・ウインドウ範囲は8であるとする。したがって、復号開始時で言えば、時点「0」〜時点「47」のデータ範囲は、時点「0」を始端とし時点「23」を終端とするデータ範囲と、時点「24」を始端とし時点「47」を終端とするデータ範囲とに2等分割される。それぞれのデータ範囲では、3つのウインドウ処理が順に実行されるが、分割した2つのデータ範囲の間では対応する2つのウインドウ処理が並列に実行されることになる。 Next, the operation will be outlined with reference to FIG. FIG. 10 is a time chart for explaining the access timing to the first and second state probability storage means shown in FIG. As shown in FIG. 10, it is assumed that the data range is 48, and the sliding window range that is the window length described above is 8. Therefore, at the start of decoding, the data range from the time point “0” to the time point “47” includes a data range starting at the time point “0” and ending at the time point “23”, and a data range starting from the time point “24” as the starting point. The data range is divided into two equal parts, with the data range terminating at “47”. In each data range, three window processes are sequentially executed, but two corresponding window processes are executed in parallel between the two divided data ranges.
なお、図10では、時点の順序番号を“□”内に示してあるが、この“□”表示は、「メモリへの書き込み要求」発生と、「メモリへの読み出し要求」発生と、「メモリ内のデータ占有期間」とを同時に示したものである。この“□”表示は、以下に示す各図において共通である。 In FIG. 10, the sequence number at the time is shown in “□”, but this “□” display indicates that a “write request to the memory”, a “read request to the memory”, and a “memory” The data occupation period "is shown at the same time. This “□” display is common in the following drawings.
さて、図10において、復号処理が開始すると、スライディング・ウインドウ範囲を単位として各対象データ範囲の先頭から復号処理が実行される。ここでは、第1の状態確率計算手段803、第2の状態確率計算手段804及び第1の状態確率記憶手段805の対象データ範囲は、時点「0」を始端とし時点「23」を終端とするデータ範囲であるとする。また、第3の状態確率計算手段901、第4の状態確率計算手段902及び第2の状態確率記憶手段903の対象データ範囲は、時点「24」を始端とし時点「47」を終端とするデータ範囲であるとする。双方とも同内容の復号処理が同様の手順で行われる。ここでは、時点「0」を始端とし時点「23」を終端とするデータ範囲での復号処理について説明する。
Now, in FIG. 10, when the decoding process starts, the decoding process is executed from the beginning of each target data range in units of the sliding window range. Here, the target data ranges of the first state
時点「0」を始端とし時点「23」を終端とするデータ範囲では、復号処理が開始されると、まず、時点「7」から時点「0」まで降順にデータがデータ入力記憶手段801から読み出される。そして、時点「7」の後方確率が第2の状態確率計算手段804にて計算される。計算された後方確率は、第1の状態確率記憶手段805にてアドレス「7」に書き込まれる。次に、時点「6」の後方確率が第2の状態確率計算手段804にて計算され、第1の状態確率記憶手段805にてアドレス「6」に書き込まれる。この処理が時点「0」の後方確率計算まで繰り返され、時点「0」の後方確率計算後に第1の状態確率計算手段803による前方確率の計算が開始される。
In the data range starting at the time “0” and ending at the time “23”, when the decoding process is started, first, data is read from the data
前方確率の計算は、時点「0」から昇順で開始される。前方確率の計算と同時に第1の状態確率記憶手段805から同位置の後方確率が昇順で読み出されて対数尤度比の計算に用いられる。つまり、第1の状態確率記憶手段805では、書き込みは降順に行われ、時点「0」の後方確率計算を終了すると、直後のタイミングから、時点「0」から昇順に時点「7」までの後方確率が読み出されることとなる。
The calculation of the forward probability starts from the time “0” in ascending order. Simultaneously with the calculation of the forward probability, the backward probabilities at the same position are read out in ascending order from the first state probability storage means 805 and used for calculating the log likelihood ratio. That is, in the first state
以上のウインドウ処理が、次の時点「8」〜時点「15」までのデータ、時点「16」〜時点「23」までのデータについて同様に行われる。時点「24」を始端とし時点「47」を終端とするデータ範囲についても同様である。このように所定のデータ範囲を2等分割して並列処理が行えるので、高速に復号することができる。 The above window processing is similarly performed on the data from the next time point “8” to the time point “15” and the data from the time point “16” to the time point “23”. The same applies to the data range starting at time “24” and ending at time “47”. As described above, since the predetermined data range is divided into two equal parts and parallel processing can be performed, decoding can be performed at high speed.
ここで、第1の状態確率記憶手段805と第2の状態確率記憶手段903の記憶幅は、通常、それぞれ、スライディング・ウインドウ範囲8と同じ幅8である。そのため、第1の状態確率記憶手段805及び第2の状態確率記憶手段903の読み出しが完了してからでないと、書込要求を発行できないので、復号の更なる高速化を図るのが困難である。例えば、時点「13」の後方確率の書込要求が第1の状態確率記憶手段805のアドレス「5」に対して行われるタイミングでは、対数尤度比の計算では第1の状態確率記憶手段805のアドレス「2」の読み出しタイミングであるので、前回のウインドウ処理で書き込まれた時点「5」の後方確率が読み出されていない。この場合に、復号の更なる高速化を目的としてこの前回のウインドウ処理で書き込まれた時点「5」の後方確率が読み出される前に時点「13」の後方確率の書込要求を発行すると、上書きが発生し、データの正確性が保障されなくなることが起こるからである。
Here, the storage widths of the first state
そのため、復号の更なる高速化を図るためには、例えば、図11に示すように、第1の状態確率記憶手段805及び第2の状態確率記憶手段903の容量を、それぞれスライディング・ウインドウ範囲×状態数以上の大きさにしてデータの正確性を保障する必要がある。図11は、図10に示すMAP復号の更なる高速化を従来技術によって図る場合の一例を示す図である。図11(1)(2)では、第1の状態確率記憶手段805及び第2の状態確率記憶手段903を、それぞれスライディング・ウインドウ範囲8と同じ容量を有する2つのバンク(バンク1、バンク2)で構成し、ウインドウ範囲の単位で使用バンクを交互に変更する例が示されている。
Therefore, in order to further increase the speed of decoding, for example, as shown in FIG. 11, the capacities of the first state probability storage means 805 and the second state probability storage means 903 are set to the sliding window range × It is necessary to ensure the accuracy of the data by making it larger than the number of states. FIG. 11 is a diagram illustrating an example in the case of further increasing the speed of the MAP decoding illustrated in FIG. 11 (1) and 11 (2), the first state probability storage means 805 and the second state probability storage means 903 are divided into two banks (
この問題を解決する方策として、例えば特許文献1では、移動通信システム等のシステム内で要求される降順書き込み及び昇順読み出しのアドレスを仮想アドレスとし、実際にメモリ(第1の状態確率記憶手段805及び第2の状態確率記憶手段903)に与える物理アドレスを、昇順読み出しの後に行われる処理では昇順書き込み降順読み出しとなり、降順読み出しの後に行われる処理では降順書き込み昇順読み出しとなるようにメモリアドレスを制御する方法を提案されている。
しかし、特許文献1に開示される方法では、システム内で要求される仮想アドレスを物理アドレスに変換するアドレス変換手段を必要とする。また、読み出しの完了以前に書き込みを開始するために、メモリをシングル・ポート・メモリで構成することができず、デュアル・ポート・メモリで構成することが必要となってしまう。
However, the method disclosed in
通常、デュアル・ポート・メモリは、シングル・ポート・メモリと比較して回路規模が大きいので、大規模化する。また、ASICを用いた回路設計では、シングル・ポート・メモリを基本として設計が行われることが多いので、シングル・ポート・メモリを用いて構成できることが望まれる。 Usually, the dual port memory has a larger circuit scale than the single port memory, and therefore becomes larger. In circuit design using an ASIC, design is often performed on the basis of a single port memory. Therefore, it is desirable that the circuit can be configured using a single port memory.
本発明は、かかる点に鑑みてなされたものであり、ターボ符号により誤り訂正符号化されたデータ列をMAP復号によって高速に復号する場合に、メモリ容量の増加を抑えつつシングル・ポート・メモリで構成することのできるターボ復号装置及びターボ復号方法を提供することを目的とする。 The present invention has been made in view of such a point, and in the case of decoding a data sequence error-corrected by a turbo code at a high speed by MAP decoding, a single-port memory while suppressing an increase in memory capacity. An object of the present invention is to provide a turbo decoding device and a turbo decoding method that can be configured.
かかる課題を解決するため、本発明に係るターボ復号装置は、ターボ符号により誤り訂正符号化されたデータ列についての誤り訂正復号にスライディング・ウインドウ・アルゴリズムを用いた最大事後確率復号法が適用されるターボ復号装置において、ウインドウ範囲を単位とした前方確率の計算と後方確率の計算とからなるウインドウ処理を所定回数繰り返すデータ範囲を偶数個に等分割し、そのうち2つのデータ範囲での一方のデータ範囲におけるデータ列について前記ウインドウ処理として先に前記後方確率の計算を行い、その後に前記前方確率の計算を行う第1のウインドウ処理手段と、他方のデータ範囲におけるデータ列について前記ウインドウ処理として先に前記前方確率の計算を行い、その後に前記後方確率の計算を行う第2のウインドウ処理手段と、2つの記憶領域を有し前記第1のウインドウ処理手段での後方確率の計算結果と前記第2のウインドウ処理手段での前方確率の計算結果とをそれぞれ記憶する状態確率記憶手段と、前記第1のウインドウ処理手段での前方確率の計算結果と前記状態確率記憶手段が記憶する後方確率の計算結果とに基づく対数尤度比及び前記第2のウインドウ処理手段での後方確率の計算結果と前記状態確率記憶手段が記憶する前方確率の計算結果とに基づく対数尤度比をそれぞれ計算する対数尤度計算手段と、前記状態確率記憶手段が有する2つの記憶領域の間で、前記第1のウインドウ処理手段が後方確率の計算結果を書き込みそれを前記対数尤度計算手段が読み出す記憶領域と、前記第2のウインドウ処理手段が前方確率の計算結果を書き込みそれを前記対数尤度計算手段が読み出す記憶領域とを前記ウインドウ処理毎に交互に切り替えるメモリ選択手段とを具備する構成を採る。 In order to solve such a problem, the turbo decoding apparatus according to the present invention employs a maximum a posteriori probability decoding method using a sliding window algorithm for error correction decoding of a data sequence error-corrected by a turbo code. In a turbo decoding device, a data range that repeats a predetermined number of times a window process consisting of forward probability calculation and backward probability calculation in units of window ranges is equally divided into even numbers, and one of the two data ranges The first window processing means for calculating the backward probability first as the window processing for the data sequence in the above, and then calculating the forward probability, and the window processing for the data sequence in the other data range first as the window processing. Calculate the forward probability, and then calculate the backward probability. State probability storage means having window storage means, two storage areas, and storing the calculation result of the backward probability in the first window processing means and the calculation result of the forward probability in the second window processing means, respectively. Log likelihood ratio based on the forward probability calculation result in the first window processing means and the backward probability calculation result stored in the state probability storage means, and the backward probability in the second window processing means. Between the log likelihood calculation means for calculating the log likelihood ratio based on the calculation result and the calculation result of the forward probability stored in the state probability storage means, and between the two storage areas of the state probability storage means, The first window processing means writes the calculation result of the backward probability, and the log likelihood calculation means reads the storage area, and the second window processing means calculates the forward probability. Results writes it with the log-likelihood calculation unit reads the storage area employs a configuration having a memory selection means for switching alternately every the window processing.
この構成によれば、全てのウインドウ処理を通常通りに同一方向から行うのではなく、2つのデータ範囲において、対応するウインドウ処理が互いに逆となるように進行する。その結果、同一タイミングで発生する状態確率記憶手段への書き込み要求は、昇順降順共に存在し、また、読み出し要求も昇順降順共に存在する。そこで、状態確率を記憶手段に書き込む際に、昇順読み出しが行われた記憶手段に対しては昇順書き込みを行うウインドウの状態確率を選択し、降順読み出しが行われた記憶手段に対しては降順書き込みを行うウインドウの状態確率を選択することで、特別のアドレス変換手段を不要にすることができる。これによって、回路規模を増加させることなく、また記憶手段の容量を増加することなく、記憶手段内のデータの正確性を保障することができ、高速MAP復号が実現できる。 According to this configuration, not all window processes are performed from the same direction as usual, but the corresponding window processes proceed in opposite directions in the two data ranges. As a result, write requests to the state probability storage means that occur at the same timing exist in both ascending and descending order, and read requests also exist in both ascending and descending order. Therefore, when writing the state probabilities into the storage means, the state probability of the window that performs ascending order writing is selected for the storage means that has been read in ascending order, and descending order writing is performed for the storage means that has been read in descending order By selecting the state probability of the window for performing the special address conversion means can be eliminated. As a result, the accuracy of the data in the storage means can be ensured without increasing the circuit scale and the capacity of the storage means, and high-speed MAP decoding can be realized.
本発明に係るターボ復号装置は、上記の発明において、前記状態確率記憶手段が有する2つの記憶領域のそれぞれをウインドウ幅以下の容量を有する複数個の小領域に区分して管理し、前記メモリ選択手段が選択した記憶領域において書き込みと読み出しが競合しないように、アクセスするアドレスを前記複数個の小領域に割り当てる制御を行うアドレス制御手段を具備する構成を採る。 The turbo decoding device according to the present invention, in the above invention, manages each of the two storage areas of the state probability storage means by dividing each of the two storage areas into a plurality of small areas having a capacity equal to or less than a window width. In order to prevent contention between writing and reading in the storage area selected by the means, an address control means is provided which performs control for assigning addresses to be accessed to the plurality of small areas.
この構成によれば、状態確率記憶手段が有する2つの記憶領域のそれぞれでは、降順書き込み昇順読み出しと昇順書き込み降順読み出しとが交互に発生するが、各記憶手段の持つ記憶領域を複数に分割して管理し、アクセスアドレスを割り当てるので、書き込み要求と読み出し要求との同時発生を回避することができる。したがって、状態確率記憶手段を実装面積の小さいシングル・ポート・メモリで構成することが可能となる。 According to this configuration, in each of the two storage areas possessed by the state probability storage means, descending order writing ascending order reading and ascending order writing descending order reading occur alternately, but the storage area of each storage means is divided into a plurality of Since the management and the access address are assigned, it is possible to avoid the simultaneous occurrence of the write request and the read request. Therefore, the state probability storage means can be constituted by a single port memory having a small mounting area.
本発明に係るターボ復号装置は、上記の発明において、前記アドレス制御手段は、前記複数個の小領域への割り当てをアクセスするアドレスの下位ビットの論理値によって制御する構成を採る。 The turbo decoding device according to the present invention employs a configuration in which, in the above invention, the address control means controls the allocation to the plurality of small areas by a logical value of lower bits of an address to be accessed.
この構成によれば、アドレス制御手段を簡素な構成で実現することができる。 According to this configuration, the address control means can be realized with a simple configuration.
本発明に係るターボ復号方法は、ターボ符号により誤り訂正符号化されたデータ列についての誤り訂正復号にスライディング・ウインドウ・アルゴリズムを用いた最大事後確率復号法が適用されるターボ復号方法において、ウインドウ範囲を単位とした前方確率の計算と後方確率の計算とからなるウインドウ処理を所定回数繰り返すデータ範囲を偶数個に等分割し、そのうち2つのデータ範囲において、一方のデータ範囲におけるデータ列について前記ウインドウ処理として先に前記後方確率の計算を行い、その後に前記前方確率の計算を行う第1のウインドウ処理工程と、他方のデータ範囲におけるデータ列について前記ウインドウ処理として先に前記前方確率の計算を行い、その後に前記後方確率の計算を行う第2のウインドウ処理工程と、前記第1のウインドウ処理工程での後方確率の計算結果と前記第2のウインドウ処理工程での前方確率の計算結果とを状態確率記憶手段が有する2つの記憶領域にそれぞれ記憶する工程と、前記第1のウインドウ処理工程での前方確率の計算結果と前記状態確率記憶手段が記憶する後方確率の計算結果とに基づく対数尤度比及び前記第2のウインドウ処理工程での後方確率の計算結果と前記状態確率記憶手段が記憶する前方確率の計算結果とに基づく対数尤度比をそれぞれ計算する対数尤度計算工程と、前記状態確率記憶手段が有する2つの記憶領域の間で、前記第1のウインドウ処理工程にて後方確率の計算結果を書き込みそれを前記対数尤度計算工程にて読み出す記憶領域と、前記第2のウインドウ処理工程にて前方確率の計算結果を書き込みそれを前記対数尤度計算工程にて読み出す記憶領域とを前記ウインドウ処理毎に交互に切り替えるメモリ選択工程とを具備するようにした。 A turbo decoding method according to the present invention is a turbo decoding method in which a maximum a posteriori probability decoding method using a sliding window algorithm is applied to error correction decoding for a data sequence that has been error correction encoded by a turbo code. A data range in which a window process consisting of forward probability calculation and backward probability calculation in units is repeated a predetermined number of times is divided into even numbers, and the window process is performed on a data string in one data range of two data ranges. First calculating the backward probability, and then calculating the forward probability, and then calculating the forward probability as the window processing for the data string in the other data range, A second window processing step for calculating the backward probability thereafter Storing the calculation result of the backward probability in the first window processing step and the calculation result of the forward probability in the second window processing step in two storage areas of the state probability storage means, A log likelihood ratio based on the calculation result of the forward probability in the first window processing step and the calculation result of the backward probability stored in the state probability storage means, and the calculation result of the backward probability in the second window processing step; Between the log likelihood calculation step of calculating the log likelihood ratio based on the calculation result of the forward probability stored in the state probability storage means, and between the two storage areas of the state probability storage means, the first A storage area in which the calculation result of the backward probability is written in the window processing step and is read in the log likelihood calculation step, and the calculation result of the forward probability in the second window processing step And a storage area for reading writes it in the log-likelihood calculation step was to and a memory selection step alternately switching every said window processing.
この方法によれば、全てのウインドウ処理を通常通りに同一方向から行うのではなく、2つのデータ範囲において、対応するウインドウ処理が互いに逆となるように進行する。その結果、同一タイミングで発生する状態確率記憶手段への書き込み要求は、昇順降順共に存在し、また、読み出し要求も昇順降順共に存在する。そこで、状態確率を記憶手段に書き込む際に、昇順読み出しが行われた記憶手段に対しては昇順書き込みを行うウインドウの状態確率を選択し、降順読み出しが行われた記憶手段に対しては降順書き込みを行うウインドウの状態確率を選択することで、特別のアドレス変換手段を不要にすることができる。これによって、回路規模を増加させることなく、また記憶手段の容量を増加することなく、記憶手段内のデータの正確性を保障することができ、高速MAP復号が実現できる。 According to this method, not all window processes are performed from the same direction as usual, but the corresponding window processes proceed in opposite directions in the two data ranges. As a result, write requests to the state probability storage means that occur at the same timing exist in both ascending and descending order, and read requests also exist in both ascending and descending order. Therefore, when writing the state probabilities into the storage means, the state probability of the window that performs ascending order writing is selected for the storage means that has been read in ascending order, and descending order writing is performed for the storage means that has been read in descending order By selecting the state probability of the window for performing the special address conversion means can be eliminated. As a result, the accuracy of the data in the storage means can be ensured without increasing the circuit scale and the capacity of the storage means, and high-speed MAP decoding can be realized.
本発明に係るターボ復号方法は、上記の発明において、前記状態確率記憶手段が有する2つの記憶領域のそれぞれをウインドウ幅以下の容量を有する複数個の小領域に区分して管理し、前記メモリ選択工程にて選択された記憶領域において書き込みと読み出しが競合しないように、アクセスするアドレスを前記複数個の小領域に割り当てる制御を行うアドレス制御工程を具備するようにした。 In the turbo decoding method according to the present invention, in the above invention, each of the two storage areas of the state probability storage means is divided into a plurality of small areas having a capacity equal to or less than a window width and managed, and the memory selection is performed. An address control step of performing control to allocate addresses to be accessed to the plurality of small regions is provided so that writing and reading do not compete in the storage area selected in the step.
この方法によれば、状態確率記憶手段が有する2つの記憶領域のそれぞれでは、降順書き込み昇順読み出しと昇順書き込み降順読み出しとが交互に発生するが、各記憶手段の持つ記憶領域を複数に分割して管理し、アクセスアドレスを割り当てるので、書き込み要求と読み出し要求との同時発生を回避することができる。したがって、状態確率記憶手段を実装面積の小さいシングル・ポート・メモリで構成することが可能となる。 According to this method, in each of the two storage areas of the state probability storage means, descending order writing ascending order reading and ascending order writing descending order reading occur alternately, but the storage area of each storage means is divided into a plurality of Since the management and the access address are assigned, it is possible to avoid the simultaneous occurrence of the write request and the read request. Therefore, the state probability storage means can be constituted by a single port memory having a small mounting area.
本発明に係るターボ復号方法は、上記の発明において、前記アドレス制御工程では、前記複数個の小領域への割り当てをアクセスするアドレスの下位ビットの論理値によって制御するようにした。 In the turbo decoding method according to the present invention, in the above invention, in the address control step, allocation to the plurality of small areas is controlled by a logical value of lower bits of an address to be accessed.
この方法によれば、アドレス制御を簡単な方法で実現することができる。 According to this method, the address control can be realized by a simple method.
本発明によれば、ターボ符号により誤り訂正符号化されたデータ列をMAP復号によって高速に復号するターボ復号装置をメモリ容量の増加を抑えつつシングル・ポート・メモリで構成することができる。 According to the present invention, a turbo decoding device that decodes a data sequence that has been error correction encoded by a turbo code at a high speed by MAP decoding can be configured with a single-port memory while suppressing an increase in memory capacity.
本発明の骨子は、ターボ符号により誤り訂正符号化されたデータ列についての誤り訂正復号にスライディング・ウインドウ・アルゴリズムを用いたMAP復号法が適用されるターボ復号装置において、ウインドウ範囲を単位とした前方確率の計算と後方確率の計算とからなるウインドウ処理を所定回数繰り返すデータ範囲を偶数個に等分割し、そのうちの2つのデータ範囲において、対応するウインドウ処理では、前方確率の計算と後方確率を計算とが互いに逆の関係で進行するようにし、2つの状態確率記憶手段では、降順書き込み昇順読み出しの要求と昇順書き込み降順読み出しの要求とが交互に行われるようにするが、2つの状態確率記憶手段間での書き込みと読み出しをウインドウ処理毎に切り替えるようにし、実際には1つの状態確率記憶手段では、順次読み出しが完了する前にこの読み出しと同方向の順次書き込みが行われるようにすることである。 The essence of the present invention is that, in a turbo decoding device to which a MAP decoding method using a sliding window algorithm is applied to error correction decoding of a data sequence that has been error correction encoded by a turbo code, the forward direction in units of window ranges is used. A data range that repeats the window processing consisting of probability calculation and backward probability calculation a predetermined number of times is equally divided into even numbers, and in the two data ranges, the corresponding window processing calculates the forward probability and backward probability. And the two state probability storage means alternately perform a descending write ascending read request and an ascending write descending read request alternately. To switch between writing and reading between each window processing, actually one state The rate storage unit is to ensure that the sequential writing of the read in the same direction takes place before the sequential reading is completed.
以下、本発明の実施の形態について図面を参照して詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
(実施の形態1)
図1は、本発明の実施の形態1に係るターボ復号装置の構成を示すブロック図である。図1に示すターボ復号装置100は、入力データ記憶手段101と、遷移確率計算手段102と、第1の状態確率計算手段103と、第2の状態確率計算手段104と、第3の状態確率計算手段105と、第4の状態確率計算手段106と、第1の状態確率記憶手段107と、第2の状態確率記憶手段108と、メモリ選択手段109と、アドレス制御手段110と、第1の対数尤度計算手段111と、第2の対数尤度計算手段112と、外部値計算手段113と、外部値記憶手段114と、出力データ記憶手段115とを備えている。
(Embodiment 1)
FIG. 1 is a block diagram showing a configuration of a turbo decoding apparatus according to
図1において、受信復調された入力データは、一旦入力データ記憶手段101に記憶される。遷移確率計算手段102は、入力データ記憶手段101と外部値記憶手段114とからそれぞれウインドウ長の単位で読み出されるデータ列に基づき、時点間の遷移確率を計算する。計算結果は、第1の状態確率計算手段103と、第2の状態確率計算手段104と、第3の状態確率計算手段105と、第4の状態確率計算手段106と、第1の対数尤度計算手段111と、第2の対数尤度計算手段112とにそれぞれ出力される。
In FIG. 1, received and demodulated input data is temporarily stored in the input data storage means 101. The transition probability calculation means 102 calculates the transition probability between time points based on the data strings read in units of window lengths from the input data storage means 101 and the external value storage means 114, respectively. The calculation results are the first state
第1の状態確率計算手段103は、前方確率をウインドウ長毎にそのウインドウ長の始端から終端に向かう昇順で計算することを所定のデータ範囲において繰り返し行い、計算結果を第1の対数尤度計算手段111に出力する。第2の状態確率計算手段104は、後方確率をウインドウ長毎にそのウインドウ長の終端から始端に向かう降順で計算し、計算結果を第1の状態確率記憶手段107と第2の状態確率記憶手段108のうちメモリ選択手段109が選択した状態確率記憶手段に書き込むことを所定のデータ範囲において繰り返し行う。
The first state probability calculating means 103 repeatedly calculates the forward probability for each window length in ascending order from the beginning to the end of the window length in a predetermined data range, and the calculation result is a first log likelihood calculation. Output to means 111. The second state probability calculation means 104 calculates backward probabilities for each window length in descending order from the end of the window length to the start end, and the calculation results are the first state probability storage means 107 and the second state probability storage means. Of the
第1の状態確率計算手段103と第2の状態確率計算手段104との間では、先に第2の状態確率計算手段104が後方確率を上記のように計算し、その後に第1の状態確率計算手段103が前方確率を上記のように計算するようになっている。 Between the first state probability calculation means 103 and the second state probability calculation means 104, the second state probability calculation means 104 first calculates the backward probability as described above, and then the first state probability The calculation means 103 calculates the forward probability as described above.
第3の状態確率計算手段105は、前方確率をウインドウ長毎にそのウインドウ長の始端から終端に向かう昇順で計算し、計算結果を第1の状態確率記憶手段107と第2の状態確率記憶手段108のうちメモリ選択手段109が選択した状態確率記憶手段に書き込むことを所定のデータ範囲において繰り返し行う。第4の状態確率計算手段106は、後方確率をウインドウ長毎にそのウインドウ長の終端から始端に向かう降順で計算することを所定のデータ範囲において繰り返し行い、計算結果を第2の対数尤度計算手段112に出力される。
The third state probability calculation means 105 calculates the forward probability for each window length in ascending order from the beginning to the end of the window length, and the calculation results are the first state probability storage means 107 and the second state probability storage means. Of the
第3の状態確率計算手段105と第4の状態確率計算手段106との間では、先に第3の状態確率計算手段105が前方確率を上記のように計算し、その後に第4の状態確率計算手段106が後方確率を上記のように計算するようになっている。 Between the third state probability calculation means 105 and the fourth state probability calculation means 106, the third state probability calculation means 105 first calculates the forward probability as described above, and then the fourth state probability The calculation means 106 calculates the backward probability as described above.
第1の対数尤度計算手段111は、遷移確率計算手段102から入力する遷移確率と、第1の状態確率計算手段103から入力する前方確率と、第1の状態確率記憶手段107と第2の状態確率記憶手段108のうちメモリ選択手段109が選択した状態確率記憶手段から読み出した同位置の後方確率とによって対数尤度比を計算する。 The first log likelihood calculation means 111 includes a transition probability input from the transition probability calculation means 102, a forward probability input from the first state probability calculation means 103, a first state probability storage means 107, and a second state probability storage means 107. The log likelihood ratio is calculated based on the backward probability at the same position read from the state probability storage means selected by the memory selection means 109 in the state probability storage means 108.
また、第2の対数尤度計算手段112は、遷移確率計算手段102から入力する遷移確率と、第4の状態確率計算手段106から入力する後方確率と、第1の状態確率記憶手段107と第2の状態確率記憶手段108のうちメモリ選択手段109が選択した状態確率記憶手段から読み出した同位置の前方確率とによって対数尤度比を計算する。 The second log likelihood calculation means 112 includes a transition probability input from the transition probability calculation means 102, a backward probability input from the fourth state probability calculation means 106, a first state probability storage means 107, and a first state probability storage means 107. The log likelihood ratio is calculated based on the forward probability at the same position read from the state probability storage means selected by the memory selection means 109 among the two state probability storage means 108.
外部値計算手段113は、第1の対数尤度計算手段111と第2の対数尤度計算手段112が、それぞれ求めた対数尤度比から外部値を計算し、それを外部値記憶手段114に記憶させる。以上の動作が所定の復号回数繰り返し行われる。所定の復号回数経過時における第1の対数尤度計算手段111と第2の対数尤度計算手段112が求めた対数尤度比が硬判定用の出力データとして出力データ記憶手段115に記憶される。 The external value calculation means 113 calculates external values from the log likelihood ratios obtained by the first log likelihood calculation means 111 and the second log likelihood calculation means 112, respectively, and stores them in the external value storage means 114. Remember. The above operation is repeated a predetermined number of times of decoding. The log likelihood ratio obtained by the first log likelihood calculation means 111 and the second log likelihood calculation means 112 when the predetermined number of decoding times has elapsed is stored in the output data storage means 115 as hard decision output data. .
ここで、メモリ選択手段109は、第1の状態確率記憶手段107と第2の状態確率記憶手段108とをウインドウ処理毎に交互に選択して、書き込みを一方の状態確率記憶手段に実行し、読み出しを他方の状態確率記憶手段に実行することを実現する。
Here, the
アドレス制御手段110は、後述(図3)するように、各ウインドウ処理において第1の状態確率記憶手段107及び第2の状態確率記憶手段108における書き込みアドレスと読み出しアドレスとを管理し、書き込みアドレスと読み出しアドレスとが競合しないように、メモリ選択手段109が選択する状態確率記憶手段における書き込みアドレスと読み出しアドレスとを制御する。
As will be described later (FIG. 3), the
次に、図2を参照して、全体的な動作について説明する。図2は、図1に示す第1及び第2の状態確率記憶手段へのアクセスタイミングを説明するタイムチャートである。図2(1)は一連の処理動作を説明するタイムチャート、図2(2)は第2の状態確率記憶手段108へのアクセスタイミングを説明するタイムチャート、図2(3)は第1の状態確率記憶手段107へのアクセスタイミングを説明するタイムチャートである。 Next, the overall operation will be described with reference to FIG. FIG. 2 is a time chart for explaining the access timing to the first and second state probability storage means shown in FIG. 2 (1) is a time chart for explaining a series of processing operations, FIG. 2 (2) is a time chart for explaining the access timing to the second state probability storage means 108, and FIG. 2 (3) is a first state. It is a time chart explaining the access timing to the probability memory | storage means 107. FIG.
図2(1)に示すように、データ範囲は48であるとし、スライディング・ウインドウ範囲は8であるとする。したがって、復号開始時で言えば、時点「0」〜時点「47」のデータ範囲は、時点「0」を始端とし時点「23」を終端とするデータ範囲と、時点「24」を始端とし時点「47」を終端とするデータ範囲とに2等分割される。それぞれのデータ範囲では、3つのウインドウ処理が順に実行されるが、分割した2つのデータ範囲の間では対応する2つのウインドウ処理が並列に実行されることになる。 As shown in FIG. 2A, it is assumed that the data range is 48 and the sliding window range is 8. Therefore, at the start of decoding, the data range from the time point “0” to the time point “47” includes a data range starting at the time point “0” and ending at the time point “23”, and a data range starting from the time point “24” as the starting point. The data range is divided into two equal parts, with the data range terminating at “47”. In each data range, three window processes are sequentially executed, but two corresponding window processes are executed in parallel between the two divided data ranges.
この図2(1)と図10(1)との比較から理解できるように、本実施の形態1では、時点「0」を始端とし時点「23」を終端とするデータ範囲と、時点「24」を始端とし時点「47」を終端とするデータ範囲とにおいて、対応するウインドウ処理では、前方確率の計算と後方確率を計算とが互いに逆の関係で進行するようになっている。そして、第1の状態確率記憶手段107及び第2の状態確率記憶手段108への書き込みと読み出しは、メモリ選択手段109がウインドウ処理毎に切り替えるようにしている。
As can be understood from the comparison between FIG. 2 (1) and FIG. 10 (1), in the first embodiment, the data range starting at time “0” and ending at time “23” and the time “24” In the corresponding window processing, the calculation of the forward probability and the calculation of the backward probability proceed in an inverse relationship with each other in the data range starting with “” and ending with time “47”. Then, the
図2では、第1の状態確率計算手段103及び第2の状態確率計算手段104の対象データ範囲は、時点「0」を始端とし時点「23」を終端とするデータ範囲であるとし、第3の状態確率計算手段105及び第4の状態確率計算手段106の対象データ範囲は、時点「24」を始端とし時点「47」を終端とするデータ範囲であるとしている。
In FIG. 2, the target data range of the first state
さて、図2(1)において、復号処理が開始すると、スライディング・ウインドウ範囲を単位として各対象データ範囲の先頭から復号処理が実行される。なお、メモリ選択手段109は、復号処理の開始直後に行われる最初のウインドウ処理の期間では、初期状態として、第1の状態確率記憶手段107と第2の状態確率計算手段104及び第2の対数尤度計算手段112との間を接続し、第2の状態確率記憶手段108と第3の状態確率計算手段105及び第1の対数尤度計算手段111との間を接続している。その後の各ウインドウ処理では、交互に選択を切り替えるようになっている。このとき、アドレス制御手段110が、第1の状態確率記憶手段107及び第2の状態確率記憶手段108に書き込むアドレスと読み出すアドレスの制御を行うようになっている。 In FIG. 2A, when the decoding process is started, the decoding process is executed from the beginning of each target data range in units of the sliding window range. It should be noted that the memory selection means 109 is the first state probability storage means 107, the second state probability calculation means 104, and the second logarithm as the initial state during the initial window processing period immediately after the start of the decoding process. The likelihood calculation means 112 is connected, and the second state probability storage means 108, the third state probability calculation means 105, and the first log likelihood calculation means 111 are connected. In each subsequent window process, the selection is switched alternately. At this time, the address control means 110 controls the addresses to be written to and read from the first state probability storage means 107 and the second state probability storage means 108.
時点「0」を始端とし時点「23」を終端とするデータ範囲での最初のウインドウ処理では、時点「7」の後方確率が第2の状態確率計算手段104にて計算され、第1の状態確率記憶手段107に書き込まれる。次に、時点「6」の後方確率が第2の状態確率計算手段104にて計算され、第1の状態確率記憶手段107に書き込まれる。この処理が時点「0」の後方確率まで繰り返され、時点「0」の後方確率計算後に第1の状態確率計算手段103による前方確率の計算が開始される。 In the first window process in the data range starting at the time “0” and ending at the time “23”, the backward probability at the time “7” is calculated by the second state probability calculation means 104, and the first state It is written in the probability storage means 107. Next, the backward probability of the time “6” is calculated by the second state probability calculation means 104 and written to the first state probability storage means 107. This process is repeated until the backward probability at time “0”, and after the backward probability at time “0” is calculated, calculation of the forward probability by the first state probability calculation means 103 is started.
前方確率の計算は、時点「0」から昇順で開始され、計算結果が第1の対数尤度計算手段111に与えられる。前方確率の計算と同時に第1の状態確率記憶手段107から同位置の後方確率が昇順で読み出され、第1の対数尤度計算手段111による対数尤度比の計算に用いられる。つまり、第1の状態確率記憶手段107では、時点「7」から時点「0」までの後方確率の書き込みが降順に行われ、時点「0」の後方確率の計算を終了すると時点「0」から昇順に時点「7」までの後方確率が読み出されることとなる。 The calculation of the forward probability is started in ascending order from the time “0”, and the calculation result is given to the first log likelihood calculation means 111. Simultaneously with the calculation of the forward probability, the backward probabilities at the same position are read out from the first state probability storage means 107 in ascending order and used for the log likelihood ratio calculation by the first log likelihood calculation means 111. That is, in the first state probability storage means 107, the backward probabilities are written in descending order from the time point “7” to the time point “0”, and when the calculation of the backward probability of the time point “0” is finished, the time point “0” The backward probabilities up to time “7” are read out in ascending order.
一方、時点「24」を始端とし時点「47」を終端とするデータ範囲での最初のウインドウ処理では、時点「40」の前方確率が第3の状態確率計算手段105にて計算され、第2の状態確率記憶手段108に書き込まれる。次に、時点「41」の前方確率が第3の状態確率計算手段105にて計算され、第2の状態確率記憶手段108に書き込まれる。この処理が時点「47」の前方確率まで繰り返され、時点「47」の前方確率計算後に第4の状態確率計算手段106による後方確率の計算が開始される。 On the other hand, in the first window processing in the data range starting at the time “24” and ending at the time “47”, the forward probability at the time “40” is calculated by the third state probability calculating means 105, and the second Is written in the state probability storage means 108. Next, the forward probability of the time “41” is calculated by the third state probability calculation means 105 and written to the second state probability storage means 108. This process is repeated until the forward probability at the time “47”, and the calculation of the backward probability by the fourth state probability calculation means 106 is started after the forward probability at the time “47” is calculated.
後方確率の計算は、時点「47」から降順で開始され、計算結果が第2の対数尤度計算手段112に与えられる。後方確率の計算と同時に第2の状態確率記憶手段108から同位置の前方確率が降順で読み出され、第2の対数尤度計算手段112による対数尤度比の計算に用いられる。つまり、第2の状態確率記憶手段108では、時点「40」から時点「47」までの前方確率の書き込みが昇順に行われ、時点「47」の前方確率の計算を終了すると、時点「47」から時点「40」までの前方確率が降順で読み出されることとなる。 The calculation of the backward probability is started in descending order from the time point “47”, and the calculation result is given to the second log likelihood calculation means 112. Simultaneously with the calculation of the backward probability, the forward probabilities at the same position are read from the second state probability storage means 108 in descending order and used for the calculation of the log likelihood ratio by the second log likelihood calculation means 112. That is, the second state probability storage means 108 writes the forward probabilities from the time point “40” to the time point “47” in ascending order, and when the calculation of the forward probability at the time point “47” is completed, the time point “47”. The forward probabilities from time to time “40” are read out in descending order.
2回目のウインドウ処理は、上記した1回目のウインドウ処理において読み出しが開始された直後のタイミングから開始される。同時に、メモリ選択手段109は、第1の状態確率記憶手段107及び第2の状態確率記憶手段108への接続を切り替える。即ち、メモリ選択手段109は、第1の状態確率記憶手段107と第3の状態確率計算手段105及び第1の対数尤度計算手段111との間を接続し、第2の状態確率記憶手段108と第2の状態確率計算手段104及び第2の対数尤度計算手段112との間を接続している。
The second window process is started from the timing immediately after the reading is started in the first window process described above. At the same time, the
時点「0」を始端とし時点「23」を終端とするデータ範囲での2回目のウインドウ処理では、1回目のウインドウ処理において時点「1」の前方確率の計算が行われるタイミングで、時点「15」の後方確率が第2の状態確率計算手段104にて計算され、第2の状態確率記憶手段108に書き込まれる。次に、時点「14」の後方確率が第2の状態確率計算手段104にて計算され、第2の状態確率記憶手段108に書き込まれる。この処理が時点「8」の後方確率計算まで繰り返され、時点「8」の後方確率計算後に第1の状態確率計算手段103による前方確率の計算が開始される。 In the second window process in the data range starting from the time point “0” and ending at the time point “23”, the forward probability of the time point “1” is calculated in the first window process at the time point “15”. ”Is calculated by the second state probability calculation means 104 and written to the second state probability storage means 108. Next, the backward probability of the time “14” is calculated by the second state probability calculating means 104 and written to the second state probability storing means 108. This process is repeated until the backward probability calculation at time “8”. After the backward probability calculation at time “8”, calculation of the forward probability by the first state probability calculation means 103 is started.
前方確率の計算は、時点「8」から昇順で開始される。前方確率の計算と同時に第2の状態確率記憶手段108から同位置の後方確率が昇順で読み出されて対数尤度比の計算に用いられる。つまり、第2の状態確率記憶手段108では、後方確率の書き込みは降順に行われ、時点「8」の後方確率計算を終了すると、時点「8」から昇順に時点「15」までの後方確率が読み出されることとなる。 The calculation of the forward probability starts from the time “8” in ascending order. Simultaneously with the calculation of the forward probability, the backward probabilities at the same position are read out in ascending order from the second state probability storage means 108 and used for calculating the log likelihood ratio. That is, in the second state probability storage means 108, the backward probabilities are written in descending order. When the backward probability calculation at the time point “8” is completed, the backward probabilities from the time point “8” to the time point “15” are increased in ascending order. It will be read out.
ここで、第2の状態確率記憶手段108では、図2(2)に示すように、時点「47」の前方確率が読み出された次のタイミングで時点「15」の後方確率が書き込まれるというように、時点「47」から時点「40」までの前方確率が降順で読み出された直後に時点「15」から時点「8」までの後方確率が降順で書き込まれることになるので、データの上書きが発生せず、データの正確性が確保される。 Here, in the second state probability storage means 108, as shown in FIG. 2B, the backward probability of the time point “15” is written at the next timing after the forward probability of the time point “47” is read. Thus, immediately after the forward probabilities from time “47” to time “40” are read in descending order, the backward probabilities from time “15” to time “8” are written in descending order. Overwriting does not occur and data accuracy is ensured.
時点「24」を始端とし時点「47」を終端とするデータ範囲での2回目のウインドウ処理では、1回目のウインドウ処理において時点「48」の前方確率の計算が行われるタイミングで、時点「32」の前方確率が第3の状態確率計算手段105にて計算され、第1の状態確率記憶手段107に書き込まれる。以降、第3の状態確率計算手段105にて計算される時点「32」から時点「39」まで前方確率が第1の状態確率記憶手段107に書き込まれる。 In the second window process in the data range starting at the time point “24” and ending at the time point “47”, the forward probability of the time point “48” is calculated in the first window process at the time point “32”. ”Is calculated by the third state probability calculating means 105 and written in the first state probability storing means 107. Thereafter, the forward probabilities are written in the first state probability storage means 107 from the time point “32” calculated by the third state probability calculation means 105 to the time point “39”.
この場合、第1の状態確率記憶手段107では、図2(3)に示すように、時点「0」の後方確率が読み出された次のタイミングで時点「32」の前方確率が書き込まれるというように、時点「0」から時点「7」までの後方確率が昇順で読み出された直後に時点「32」から時点「39」までの前方確率が昇順で書き込まれることになるので、データの上書きが発生せず、データの正確性が確保される。 In this case, in the first state probability storage means 107, as shown in FIG. 2 (3), the forward probability of the time point “32” is written at the next timing after the backward probability of the time point “0” is read. Thus, since the backward probabilities from the time “0” to the time “7” are read in ascending order, the forward probabilities from the time “32” to the time “39” are written in ascending order. Overwriting does not occur and data accuracy is ensured.
3回目のウインドウ処理は、上記した2回目のウインドウ処理において読み出しが開始された直後のタイミングから開始される。同時に、メモリ選択手段109は、第1の状態確率記憶手段107及び第2の状態確率記憶手段108への接続を切り替える。即ち、メモリ選択手段109は、第1の状態確率記憶手段107と第2の状態確率計算手段104及び第2の対数尤度計算手段112との間を接続し、第2の状態確率記憶手段108と第3の状態確率計算手段105及び第1の対数尤度計算手段111との間を接続している。これは、最初のウインドウ処理での接続関係である。
The third window process is started from the timing immediately after the reading is started in the second window process described above. At the same time, the
時点「0」を始端とし時点「23」を終端とするデータ範囲での3回目のウインドウ処理では、2回目のウインドウ処理において時点「9」の前方確率の計算が行われるタイミングで、時点「23」の後方確率が第2の状態確率計算手段104にて計算され、第1の状態確率記憶手段107に書き込まれる。以降、第2の状態確率計算手段104にて計算される時点「23」から時点「16」まで後方確率が第1の状態確率記憶手段107に書き込まれる。 In the third window process in the data range starting from the time point “0” and ending at the time point “23”, the forward probability of the time point “9” is calculated in the second window process. ”Is calculated by the second state probability calculation means 104 and written in the first state probability storage means 107. Thereafter, backward probabilities are written in the first state probability storage means 107 from the time “23” to the time “16” calculated by the second state probability calculation means 104.
この場合、第1の状態確率記憶手段107では、図2(3)に示すように、時点「39」の前方確率が読み出された次のタイミングで時点「23」の後方確率が書き込まれるというように、時点「39」から時点「32」までの前方確率が降順で読み出された直後に時点「23」から時点「16」までの後方確率が降順で書き込まれることになるので、データの上書きが発生せず、データの正確性が確保される。 In this case, in the first state probability storage means 107, as shown in FIG. 2 (3), the backward probability of the time point “23” is written at the next timing after the forward probability of the time point “39” is read. Thus, immediately after the forward probabilities from time “39” to time “32” are read in descending order, the backward probabilities from time “23” to time “16” are written in descending order. Overwriting does not occur and data accuracy is ensured.
また、時点「24」を始端とし時点「47」を終端とするデータ範囲での3回目のウインドウ処理では、2回目のウインドウ処理において時点「38」の前方確率の計算が行われるタイミングで、時点「24」の前方確率が第3の状態確率計算手段105にて計算され、第2の状態確率記憶手段108に書き込まれる。以降、第3の状態確率計算手段105にて計算される時点「24」から時点「31」まで前方確率が第2の状態確率記憶手段108に書き込まれる。 In the third window processing in the data range starting at time “24” and ending at time “47”, the forward probability of time “38” is calculated in the second window processing. The forward probability of “24” is calculated by the third state probability calculation means 105 and written to the second state probability storage means 108. Thereafter, forward probabilities are written in the second state probability storage means 108 from the time “24” to the time “31” calculated by the third state probability calculation means 105.
この場合、第2の状態確率記憶手段108では、図2(2)に示すように、時点「8」の後方確率が読み出された次のタイミングで時点「24」の前方確率が書き込まれるというように、時点「8」から時点「15」までの後方確率が昇順で読み出された直後に時点「24」から時点「31」までの前方確率が昇順で書き込まれることになるので、データの上書きが発生せず、データの正確性が確保される。 In this case, in the second state probability storage means 108, as shown in FIG. 2 (2), the forward probability of the time point “24” is written at the next timing after the backward probability of the time point “8” is read. Thus, immediately after the backward probabilities from time “8” to time “15” are read in ascending order, the forward probabilities from time “24” to time “31” are written in ascending order. Overwriting does not occur and data accuracy is ensured.
次に、図3は、図1に示す第1及び第2の状態確率記憶手段107、108の構成と図1に示すアドレス制御手段の動作とを説明する図である。図3(1)は、図2(3)に示す第1の状態確率記憶手段107のアクセス内容を転記したものである。図3(2)(3)は、各状態確率記憶手段が備える記憶領域を構成する2つのバンクのアクセス内容を示す図である。 FIG. 3 is a diagram for explaining the configuration of the first and second state probability storage means 107 and 108 shown in FIG. 1 and the operation of the address control means shown in FIG. FIG. 3 (1) is a copy of the access contents of the first state probability storage means 107 shown in FIG. 2 (3). FIGS. 3 (2) and 3 (3) are diagrams showing access contents of two banks constituting a storage area included in each state probability storage means.
図2で示したタイミングで復号処理がなされるときは、状態確率記憶手段にアクセスする書き込みアドレスと読み出しアドレスが偶数アドレスと奇数アドレスとで競合する。一方、アドレスは昇順列又は降順列で発生するため、読み出しアドレスと書き込みアドレスとの競合が偶数アドレスと奇数アドレスとで発生する場合には、偶数同士或いは奇数同士の読み出し書き込みが競合することはありえない。 When the decoding process is performed at the timing shown in FIG. 2, the write address and the read address that access the state probability storage unit compete with each other between the even address and the odd address. On the other hand, since addresses occur in ascending or descending permutation, even if read-address and write-address conflicts occur between even-numbered addresses and odd-numbered addresses, even-numbered or odd-numbered read-writes cannot compete. .
そこで、状態確率記憶手段が備える記憶領域をスライディング・ウインドウ範囲と同じ幅8で構成する。そして、アドレス制御手段110は、その幅8の記憶領域を幅4の領域に区分し、一方を奇数アドレス用バンク(図3(2))とし、他方を偶数アドレス用バンク(図3(3))として用いる。
Therefore, the storage area of the state probability storage means is configured with the
具体的には、アドレス制御手段110は、各状態確率記憶手段にアクセスするアドレスの最下位ビットを確認し、値「1」、値「3」等の奇数であるときは、奇数アドレス用バンク(図3(2))にアクセスし、値「0」、値「2」等の偶数であるときは、偶数アドレス用バンク(図3(3))にアクセスする制御を行うようにしている。 Specifically, the address control means 110 confirms the least significant bit of the address accessing each state probability storage means, and if it is an odd number such as a value “1”, a value “3”, etc., it is an odd address bank ( 3 (2)) is accessed, and when the value is an even number such as “0” or “2”, the access to the even address bank (FIG. 3 (3)) is controlled.
読み出しと書き込みとが競合する場合は、両者のアドレスの一方が奇数であり、他方が偶数であるので、実際に状態確率記憶手段への要求時に読み書きの競合が発生する場合において、それぞれ、奇数アドレス用バンク、偶数用アドレス用バンクへと異なるバンクに対してアクセスが行われる。 When read and write conflicts, one of the addresses is an odd number and the other is an even number. Therefore, in the case where a read / write conflict actually occurs when a request is made to the state probability storage means, Access is made to a different bank to the bank for address and the bank for address for even number.
書き込みの具体例を示す。例えば、時点「0」を始端とし時点「23」を終端とするデータ範囲での最初のウインドウ処理の例で言えば、時点「7」の後方確率が第2の状態確率計算手段104にて計算され、第1の状態確率記憶手段107にてアドレス「7」に記憶しようとする場合、アドレス「7」の最下位ビットが“1”であるので、図3(2)に示すうに、奇数アドレス用バンクのアドレス「3」に時点「7」の後方確率を書き込む。
A specific example of writing will be shown. For example, in the example of the first window processing in the data range starting at the time “0” and ending at the time “23”, the backward probability of the time “7” is calculated by the second state
次の時点「6」の後方確率が第2の状態確率計算手段104にて計算され、第1の状態確率記憶手段107にてアドレス「6」に記憶しようとする場合、アドレス「6」の最下位ビットが“0”であるので、図3(3)に示すように、偶数アドレス用バンクのアドレス「3」に時点「6」の後方確率を書き込む。 When the backward probability of the next time point “6” is calculated by the second state probability calculation means 104 and is to be stored in the address “6” by the first state probability storage means 107, Since the lower bit is “0”, as shown in FIG. 3 (3), the backward probability of the time “6” is written into the address “3” of the even-numbered address bank.
以上のように、実施の形態1によれば、ウインドウ範囲を単位とした前方確率の計算と後方確率の計算とからなるウインドウ処理を所定回数繰り返すデータ範囲を2つに等分割し、その分割した2つのデータ範囲において、対応するウインドウ処理では、前方確率の計算と後方確率を計算とが互いに逆の関係で進行するようにし、2つの状態確率記憶手段では、降順書き込み昇順読み出しの要求と昇順書き込み降順読み出しの要求とが交互に行われるようにするが、2つの状態確率記憶手段間での書き込みと読み出しをウインドウ処理毎に切り替えるようにし、実際には1つの状態確率記憶手段では、順次読み出しが完了する前にこの読み出しと同方向の順次書き込みが行われるので、データの上書きが発生せず、データの正確性を確保することができる。 As described above, according to the first embodiment, the data range in which the window process including the calculation of the forward probability and the calculation of the backward probability in units of the window range is repeated a predetermined number of times is equally divided into two. In the two data ranges, in the corresponding window processing, the calculation of the forward probability and the calculation of the backward probability proceed in an inverse relationship with each other, and the two state probability storage means perform the descending order writing ascending order reading request and the ascending order writing. The request for reading in descending order is alternately performed, but writing and reading between the two state probability storage units are switched for each window process. In fact, one state probability storage unit can perform sequential reading. Before completion, sequential writing in the same direction as this reading is performed, so data overwriting does not occur and data accuracy is ensured. Door can be.
したがって、状態確率記憶手段の記憶領域を有効に利用しつつ、つまりメモリ容量を節約しつつ読み出しの完了前に書き込みが行えるので、MAP復号の高速化を図ることができる。そして、特許文献1のように特別のアドレス変換手段を用いてアドレスそのものを変更することなく、アクセスするアドレスの順序を逆にすることができるので、回路規模の小型化が図れる。
Therefore, writing can be performed before reading is completed while effectively using the storage area of the state probability storage means, that is, saving the memory capacity, so that the speed of MAP decoding can be increased. And since the order of the address to access can be reversed without changing an address itself using a special address conversion means like
また、2つの状態確率記憶手段では、それぞれへのアクセス制御を読み書きのアクセス競合が偶数と奇数との間で起きないように、ウインドウ幅以下の複数の小容量記憶領域で構成できるので、シングル・ポート・メモリを用いた構成が可能となり、実装面積を小さくすることができる。 Further, the two state probability storage means can be configured with a plurality of small-capacity storage areas having a window width or less so that read / write access contention does not occur between the even and odd numbers. A configuration using a port memory is possible, and the mounting area can be reduced.
ところで、ウインドウ処理間の処理タイミングとして、図2では、第2の状態確率計算手段104によって計算された時点「0」の後方確率が第1の状態確率記憶手段107から読み出される次のタイミングで、第3の状態確率計算手段105によって計算された時点「32」の前方確率が第1の状態確率記憶手段107に書き込まれる場合を示したが、実際には、その他、各種のタイミングが考えられる。この場合には、第1の状態確率記憶手段107及び第2の状態確率記憶手段108の構成とアドレス制御手段110の動作とが異なることになる。以下、若干の変形態様を実施の形態2、3に示す。
By the way, as the processing timing between the window processes, in FIG. 2, at the next timing when the backward probability of the time point “0” calculated by the second state
(実施の形態2)
図4は、本発明の実施の形態2に係るターボ復号装置における第1及び第2の状態確率記憶手段107、108へのアクセスタイミングを説明するタイムチャートである。図4(1)は一連の処理動作を説明するタイムチャート、図4(2)は第2の状態確率記憶手段108へのアクセスタイミングを説明するタイムチャート、図4(3)は第1の状態確率記憶手段107へのアクセスタイミングを説明するタイムチャートである。
(Embodiment 2)
FIG. 4 is a time chart for explaining the access timing to the first and second state probability storage means 107 and 108 in the turbo decoding device according to
また、図5は、本発明の実施の形態2に係るターボ復号装置における第1及び第2の状態確率記憶手段107、108の構成とアドレス制御手段の動作とを説明する図である。図5(1)は、図4(3)に示す第1の状態確率記憶手段107のアクセス内容を転記したものである。図5(2)(3)は、状態確率記憶手段が備える記憶領域を構成する2つのバンクのアクセス内容を示す図である。
FIG. 5 is a diagram for explaining the configuration of the first and second state probability storage means 107 and 108 and the operation of the address control means in the turbo decoding device according to
本実施の形態2では、図4(1)に示すように、ウインドウ処理間の処理タイミングとして、第2の状態確率計算手段104によって計算された時点「0」の後方確率が第1の状態確率記憶手段107から読み出される同じタイミングで、第3の状態確率計算手段105によって計算された時点「32」の前方確率が第1の状態確率記憶手段107に書き込まれる場合について説明する。
In the second embodiment, as shown in FIG. 4 (1), as the processing timing between the window processes, the backward probability of the time point “0” calculated by the second state
2つの状態確率記憶手段が用意すべき記憶領域の幅は、図2(1)に示すタイミング関係でのウインドウ処理ではウインドウ幅と同じで良いが、図4(1)に示すタイミング関係でのウインドウ処理ではウインドウ幅よりも1つ多く必要となる。したがって、図4(2)(3)に示すように、2つの状態確率記憶手段の何れもがアクセスアドレスを1つインクリメントした幅を有する記憶領域を用意する必要がある。 The width of the storage area to be prepared by the two state probability storage means may be the same as the window width in the window processing in the timing relationship shown in FIG. 2 (1), but the window in the timing relationship shown in FIG. 4 (1). Processing requires one more than the window width. Therefore, as shown in FIGS. 4 (2) and 4 (3), it is necessary to prepare a storage area having a width obtained by incrementing the access address by either of the two state probability storage means.
これによって、例えば、第2の状態確率計算手段104によって計算される時点「7」の後方確率は、図4(3)に示すように、アドレス制御手段110によって第1の状態確率記憶手段107のアドレス「8」に書き込むデータとして以後扱い、同様に時点「0」の後方確率はアドレス「1」に書き込むデータとして以後扱うことができる。 Thereby, for example, the backward probability at the time point “7” calculated by the second state probability calculation means 104 is stored in the first state probability storage means 107 by the address control means 110 as shown in FIG. The backward probability at the time “0” can be handled as data to be written to the address “1” thereafter.
また、第2の状態確率計算手段104によって計算される時点「15」の後方確率は、図4(2)に示すように、アドレス制御手段110によって、第2の状態確率記憶手段108のアドレス「8」に書き込むデータとして以後扱い、同様に時点「8」の後方確率はアドレス「1」に書き込むデータとして以後扱うことができる。 Further, the backward probability of the time “15” calculated by the second state probability calculation means 104 is calculated by the address control means 110 by using the address “2” of the second state probability storage means 108 as shown in FIG. The backward probability at the time point “8” can be handled as data to be written at the address “1”.
また、第3の状態確率計算手段105によって計算される時点「40」の前方確率は、図4(2)に示すように、アドレス制御手段110によって第2の状態確率記憶手段108のアドレス「0」に書き込むデータとて以後扱い、同様に時点「47」の前方確率はアドレス「7」に書き込むデータとして以後扱うことができる。 Further, as shown in FIG. 4B, the forward probability of the time “40” calculated by the third state probability calculation means 105 is set to the address “0” of the second state probability storage means 108 by the address control means 110. The forward probability at the time point “47” can be treated as data to be written at the address “7”.
また、第3の状態確率計算手段105によって計算される時点「32」の前方確率は、図4(3)に示すように、アドレス制御手段110によって第1の状態確率記憶手段107のアドレス「0」に書き込むデータとして以後扱い、同様に時点「39」の前方確率はアドレス「7」に書き込むデータとして以後扱うことができる。 Further, as shown in FIG. 4 (3), the forward probability of the time point “32” calculated by the third state probability calculation means 105 is set to the address “0” of the first state probability storage means 107 by the address control means 110. The forward probability at time “39” can be handled as data to be written to address “7”.
このような処理では、2つの状態確率記憶手段へのアクセスアドレスが昇順列又は降順列で発生するので、2つの状態確率記憶手段では、読み出しと書き込みのアクセス競合が偶数同士、奇数同士で発生することとなる。この場合には、図5(2)(3)に示すように、2つの状態確率記憶手段に幅9の記憶領域をそれぞれ用意する。そして、実施の形態1にて説明したように、アクセスするアドレスの最下位ビットの偶奇を判定するアドレス制御手段110が、その幅9の記憶領域を幅5の領域と幅4の領域とに区分して管理し、幅5の領域(図5(2))を偶数アドレス用バンクとし、幅4の領域(図5(3))を奇数アドレス用バンクとして用いるようにする。但し、ウインドウ幅の始端と終端では、一方を偶数アドレス用バンクに割り当てるときは、他方は奇数アドレス用バンクに割り当てるようにする。
In such processing, the access addresses to the two state probability storage means are generated in ascending or descending permutation, so in the two state probability storage means, read and write access conflicts occur between even numbers and odd numbers. It will be. In this case, as shown in FIGS. 5 (2) and 5 (3), a storage area of
例えば、第2の状態確率計算手段104で計算される時点「7」の後方確率は、第1の状態確率記憶手段107に対してアドレス「8」に書き込まれるデータとして送られる。このアドレス番号の最下位ビットは“0”、つまり偶数であるので、アドレス制御手段110は図5(2)に示すように偶数アドレス用バンクのアドレス「4」に割り当てる。この場合、第2の状態確率計算手段104で計算される時点「0」の後方確率は、図5(3)に示すように、奇数アドレス用バンクのアドレス「0」に割り当てる。
For example, the backward probability at the time point “7” calculated by the second state
また、第3の状態確率計算手段105で計算される時点「32」の前方確率は、第1の状態確率記憶手段107に対してアドレス「0」に書き込まれるデータとして送られる。このアドレスの最下位ビットは“0”、つまり偶数であるので、アドレス制御手段110は図5(2)に示すように、偶数アドレス用バンクのアドレス「0」に割り当てる。この場合、第3の状態確率計算手段105で計算される時点「39」の前方確率は、図5(3)に示すように、奇数アドレス用バンクのアドレス「3」に割り当てる。
Further, the forward probability at the time point “32” calculated by the third state
図5(2)(3)に示すように、適切にバンク分けした記憶領域に、アクセスアドレスの下位ビットに従って割り当てることで、偶数同士、奇数同士で発生する読み出しと書き込みの競合を回避することができる。 As shown in FIGS. 5 (2) and 5 (3), read and write contention that occurs between even numbers and odd numbers can be avoided by allocating the storage areas appropriately divided into banks according to the lower bits of the access address. it can.
このように、本実施の形態2によれば、2つの状態確率記憶手段へのアクセスアドレスが昇順列又は降順列で発生する場合においても、読み出しと書き込みの競合を回避することが可能となり、シングル・ポート・メモリを用いた実装が可能となる。ウインドウ幅が実施の形態1よりも増加することになるが、復号処理に影響を与えない。 As described above, according to the second embodiment, even when the access addresses to the two state probability storage units are generated in the ascending permutation or the descending permutation, it is possible to avoid contention between reading and writing.・ Mounting using port memory becomes possible. Although the window width is increased as compared with the first embodiment, the decoding process is not affected.
(実施の形態3)
図6は、本発明の実施の形態3に係るターボ復号装置における第1及び第2の状態確率記憶手段107、108へのアクセスタイミングを説明するタイムチャートである。図6(1)は一連の処理動作を説明するタイムチャート、図6(2)は第2の状態確率記憶手段108へのアクセスタイミングを説明するタイムチャート、図6(3)は第1の状態確率記憶手段107へのアクセスタイミングを説明するタイムチャートである。
(Embodiment 3)
FIG. 6 is a time chart for explaining the access timing to the first and second state probability storage means 107 and 108 in the turbo decoding device according to
また、図7は、本発明の実施の形態3に係るターボ復号装置における第1及び第2の状態確率記憶手段107、108の構成とアドレス制御手段の動作とを説明する図である。図7(1)は、図6(3)に示す第1の状態確率記憶手段107のアクセス内容を転記したものである。図7(2)(3)は、各状態確率記憶手段が備える記憶領域を構成する2つのバンクのアクセス内容を示す図である。
FIG. 7 is a diagram for explaining the configuration of the first and second state probability storage means 107 and 108 and the operation of the address control means in the turbo decoding device according to
本実施の形態3では、ウインドウ処理間の処理タイミングとして、状態確率記憶手段への読み出しと書き込みとを連続的に実行するのではなく、時間を置いて実行する場合について説明する。図6(1)では、読み出しが発生するタイミングから2時点遅れた時点で書き込みが開始される形態が示されている。この場合には、2つの状態確率記憶手段へのアクセス内容は、図6(2)(3)に示すようになる。 In the third embodiment, as a processing timing between window processes, a case will be described in which reading and writing to the state probability storage unit are not performed continuously but are performed at intervals. FIG. 6A shows a form in which writing is started at a point delayed by two points from the timing at which reading occurs. In this case, the contents of access to the two state probability storage means are as shown in FIGS.
本実施の形態3に示す処理形態でも、状態確率記憶手段での読み出し書き込みの競合は、実施の形態2と同様に、偶数同士、奇数同士のアドレスで発生する。但し、実施の形態2と異なり、本実施の形態3では、各状態確率記憶手段が備える記憶領域の幅は、実施の形態1と同様に、ウインドウ幅と同じ幅8にして構成することができる。
Also in the processing mode shown in the third embodiment, the read / write conflict in the state probability storage means occurs at even and odd addresses as in the second embodiment. However, unlike
つまり、アドレス制御手段110は、実施の形態1(図3)と同様に、その幅8の記憶領域を幅4の領域に2分して管理する。但し、本実施の形態3では、アドレス制御手段110は、第2の状態確率計算手段104で計算される奇数番目のデータと第3の状態確率計算手段105とで計算される偶数番目のデータとを同じバンク(図7(2))にアクセスされるように制御し、また第2の状態確率計算手段104で計算される偶数番目のデータと第3の状態確率計算手段105とで計算される奇数番目のデータとを同じバンク(図7(3))にアクセスされるように制御する。この場合も、アドレス制御手段110は、アドレスの最下位ビットによって判断することが可能である。
That is, the
このように、本実施の形態3によれば、状態確率記憶手段への読み出しと書き込みとが時間を置いて実行される場合においても、適切にバンク分けした記憶領域にアクセスアドレスの下位ビットに従って割り当てることで、偶数同士、奇数同士で発生する読み出しと書き込みの競合を回避することができるので、シングル・ポート・メモリを用いた実装が可能となる。ウインドウ処理間に遅延が生ずるが、その遅延量は復号処理に影響を与えない。 As described above, according to the third embodiment, even when reading and writing to the state probability storage means are performed with a time interval, the storage areas are appropriately banked according to the lower bits of the access address. As a result, contention between reading and writing that occurs between even numbers and odd numbers can be avoided, and mounting using a single-port memory becomes possible. Although a delay occurs between the window processes, the delay amount does not affect the decoding process.
本発明は、ターボ符号により誤り訂正符号化されたデータ列をMAP復号によって高速に復号するターボ復号装置をメモリ容量の増加を抑えつつシングル・ポート・メモリで構成するのに有用であり、特にMAP復号を高速かつ小規模回路で行うことを要求するシステム、例えば移動通信システムに好適である。 INDUSTRIAL APPLICABILITY The present invention is useful for constructing a turbo decoding device that decodes a data sequence error-corrected by a turbo code at a high speed by MAP decoding with a single port memory while suppressing an increase in memory capacity. This is suitable for a system that requires high-speed decoding with a small-scale circuit, for example, a mobile communication system.
100 ターボ復号装置
101 入力データ記憶手段
102 遷移確率計算手段
103 第1の状態確率計算手段
104 第2の状態確率計算手段
105 第3の状態確率計算手段
106 第4の状態確率計算手段
107 第1の状態確率記憶手段
108 第2の状態確率記憶手段
109 メモリ選択手段
110 アドレス制御手段
111 第1の対数尤度計算手段
112 第2の対数尤度計算手段
113 外部値計算手段
114 外部値記憶手段
115 出力データ記憶手段
DESCRIPTION OF
Claims (6)
ウインドウ範囲を単位とした前方確率の計算と後方確率の計算とからなるウインドウ処理を所定回数繰り返すデータ範囲を偶数個に等分割し、そのうち2つのデータ範囲での一方のデータ範囲におけるデータ列について前記ウインドウ処理として先に前記後方確率の計算を行い、その後に前記前方確率の計算を行う第1のウインドウ処理手段と、
他方のデータ範囲におけるデータ列について前記ウインドウ処理として先に前記前方確率の計算を行い、その後に前記後方確率の計算を行う第2のウインドウ処理手段と、
2つの記憶領域を有し前記第1のウインドウ処理手段での後方確率の計算結果と前記第2のウインドウ処理手段での前方確率の計算結果とをそれぞれ記憶する状態確率記憶手段と、
前記第1のウインドウ処理手段での前方確率の計算結果と前記状態確率記憶手段が記憶する後方確率の計算結果とに基づく対数尤度比及び前記第2のウインドウ処理手段での後方確率の計算結果と前記状態確率記憶手段が記憶する前方確率の計算結果とに基づく対数尤度比をそれぞれ計算する対数尤度計算手段と、
前記状態確率記憶手段が有する2つの記憶領域の間で、前記第1のウインドウ処理手段が後方確率の計算結果を書き込みそれを前記対数尤度計算手段が読み出す記憶領域と、前記第2のウインドウ処理手段が前方確率の計算結果を書き込みそれを前記対数尤度計算手段が読み出す記憶領域とを前記ウインドウ処理毎に交互に切り替えるメモリ選択手段と、を具備することを特徴とするターボ復号装置。 In a turbo decoding device to which a maximum a posteriori probability decoding method using a sliding window algorithm is applied to error correction decoding of a data sequence error-corrected by a turbo code,
A data range that repeats a predetermined number of times a window process consisting of forward probability calculation and backward probability calculation in units of window ranges is equally divided into an even number, and the data sequence in one data range of two data ranges First window processing means for calculating the backward probability first as window processing and then calculating the forward probability;
Second window processing means for calculating the forward probability first as the window processing for the data string in the other data range, and thereafter calculating the backward probability;
State probability storage means that has two storage areas and stores the calculation result of the backward probability in the first window processing means and the calculation result of the forward probability in the second window processing means,
Log likelihood ratio based on the calculation result of the forward probability in the first window processing means and the calculation result of the backward probability stored in the state probability storage means, and the calculation result of the backward probability in the second window processing means Log likelihood calculation means for calculating a log likelihood ratio based on the calculation result of the forward probability stored in the state probability storage means, and
Between the two storage areas of the state probability storage means, the first window processing means writes the calculation result of the backward probability, and the log likelihood calculation means reads the storage area, and the second window processing A turbo decoding device comprising: memory selecting means for alternately switching a storage area into which a logarithmic likelihood calculating means reads out a calculation result of a forward probability and which is read out by the log likelihood calculating means.
ウインドウ範囲を単位とした前方確率の計算と後方確率の計算とからなるウインドウ処理を所定回数繰り返すデータ範囲を偶数個に等分割し、そのうち2つのデータ範囲において、一方のデータ範囲におけるデータ列について前記ウインドウ処理として先に前記後方確率の計算を行い、その後に前記前方確率の計算を行う第1のウインドウ処理工程と、
他方のデータ範囲におけるデータ列について前記ウインドウ処理として先に前記前方確率の計算を行い、その後に前記後方確率の計算を行う第2のウインドウ処理工程と、
前記第1のウインドウ処理工程での後方確率の計算結果と前記第2のウインドウ処理工程での前方確率の計算結果とを状態確率記憶手段が有する2つの記憶領域にそれぞれ記憶する工程と、
前記第1のウインドウ処理工程での前方確率の計算結果と前記状態確率記憶手段が記憶する後方確率の計算結果とに基づく対数尤度比及び前記第2のウインドウ処理工程での後方確率の計算結果と前記状態確率記憶手段が記憶する前方確率の計算結果とに基づく対数尤度比をそれぞれ計算する対数尤度計算工程と、
前記状態確率記憶手段が有する2つの記憶領域の間で、前記第1のウインドウ処理工程にて後方確率の計算結果を書き込みそれを前記対数尤度計算工程にて読み出す記憶領域と、前記第2のウインドウ処理工程にて前方確率の計算結果を書き込みそれを前記対数尤度計算工程にて読み出す記憶領域とを前記ウインドウ処理毎に交互に切り替えるメモリ選択工程と、を具備することを特徴とするターボ復号方法。 In a turbo decoding method in which a maximum posterior probability decoding method using a sliding window algorithm is applied to error correction decoding for a data sequence error-corrected by a turbo code,
A data range that repeats a predetermined number of times the window processing consisting of forward probability calculation and backward probability calculation in units of window ranges is equally divided into two data ranges. A first window processing step of calculating the backward probability first as window processing and then calculating the forward probability;
A second window processing step of calculating the forward probability first as the window processing for the data string in the other data range, and then calculating the backward probability;
Storing the calculation result of the backward probability in the first window processing step and the calculation result of the forward probability in the second window processing step respectively in two storage areas of the state probability storage means;
Log likelihood ratio based on the calculation result of the forward probability in the first window processing step and the calculation result of the backward probability stored in the state probability storage means, and the calculation result of the backward probability in the second window processing step And a log likelihood calculation step for calculating a log likelihood ratio based on the calculation result of the forward probability stored in the state probability storage means,
Between the two storage areas of the state probability storage means, a storage area in which the calculation result of the backward probability is written in the first window processing step and read out in the log likelihood calculation step, and the second And a memory selection step of alternately switching a storage area in which a calculation result of a forward probability is written in the window processing step and read out in the log likelihood calculation step for each window processing. Method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005025523A JP2006217072A (en) | 2005-02-01 | 2005-02-01 | Turbo decoder and turbo decoding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005025523A JP2006217072A (en) | 2005-02-01 | 2005-02-01 | Turbo decoder and turbo decoding method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006217072A true JP2006217072A (en) | 2006-08-17 |
Family
ID=36979944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005025523A Pending JP2006217072A (en) | 2005-02-01 | 2005-02-01 | Turbo decoder and turbo decoding method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006217072A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008118628A (en) * | 2006-10-12 | 2008-05-22 | Nec Electronics Corp | Error correction code decoding device |
JP2009060455A (en) * | 2007-08-31 | 2009-03-19 | Nec Corp | Sliding window turbo decoding processing apparatus and method thereof |
KR100895670B1 (en) | 2007-01-15 | 2009-05-08 | (주)카이로넷 | Turbo decoding method using a sliding window scheme, turbo decoder performing the same, and rf receiver |
CN101192837B (en) * | 2006-11-29 | 2011-04-06 | 美国博通公司 | Turbo decoder and method for decoding turbo code signal |
US8010867B2 (en) | 2006-10-12 | 2011-08-30 | Renesas Electronics Corporation | Error correction code decoding device |
-
2005
- 2005-02-01 JP JP2005025523A patent/JP2006217072A/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008118628A (en) * | 2006-10-12 | 2008-05-22 | Nec Electronics Corp | Error correction code decoding device |
US8010867B2 (en) | 2006-10-12 | 2011-08-30 | Renesas Electronics Corporation | Error correction code decoding device |
US8370713B2 (en) | 2006-10-12 | 2013-02-05 | Renesas Electronics Corporation | Error correction code decoding device |
CN101192837B (en) * | 2006-11-29 | 2011-04-06 | 美国博通公司 | Turbo decoder and method for decoding turbo code signal |
KR100895670B1 (en) | 2007-01-15 | 2009-05-08 | (주)카이로넷 | Turbo decoding method using a sliding window scheme, turbo decoder performing the same, and rf receiver |
JP2009060455A (en) * | 2007-08-31 | 2009-03-19 | Nec Corp | Sliding window turbo decoding processing apparatus and method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5479580B2 (en) | Method and apparatus for parallel TURBO decoding in LTE | |
KR101323444B1 (en) | Iterative decoder | |
JP2002534836A (en) | Apparatus and method for interleaving / deinterleaving in a communication system | |
EP1775842A2 (en) | Communications device and wireless communications system | |
CN104092470B (en) | A kind of Turbo code code translator and method | |
JP6022085B2 (en) | Method and apparatus for realizing multimode decoder | |
US7584389B2 (en) | Turbo decoding apparatus and method | |
EP1724934A1 (en) | Method of maximum a posteriori probability decoding and decoding apparatus | |
JP2006217072A (en) | Turbo decoder and turbo decoding method | |
JP4837645B2 (en) | Error correction code decoding circuit | |
US20130007568A1 (en) | Error correcting code decoding device, error correcting code decoding method and error correcting code decoding program | |
TWI422166B (en) | Address generation for contention-free memory mappings of turbo codes with arp (almost regular permutation) interleaves | |
KR100628201B1 (en) | Method for Turbo Decoding | |
CN108270452B (en) | Turbo decoder and decoding method | |
JP2009246474A (en) | Turbo decoder | |
EP1912335A1 (en) | Turbo decoding apparatus with partial storage and recalculation of state metrics | |
US9130728B2 (en) | Reduced contention storage for channel coding | |
US9015551B2 (en) | Decoding apparatus with de-interleaving efforts distributed to different decoding phases and related decoding method thereof | |
CN105577196A (en) | Turbo code data interleaving method and interleaver based on broadband OFDM power line communication system | |
CN101373977B (en) | Apparatus and method for simultaneously performing maximum posteriori probability decoding interleaving and deinterleaving | |
May et al. | Evaluation of high throughput turbo-decoder architectures | |
KR20090030378A (en) | Apparatus and method for block interleaving in mobile communication system | |
CN113992212B (en) | Data interleaving method and FPGA | |
Abdel-Hamid et al. | Memory conflict analysis for a multi-standard, reconfigurable turbo decoder | |
CN107302371B (en) | Turbo code decoding system and decoding method |