JP2005295192A - Apparatus and method for turbo decoding - Google Patents

Apparatus and method for turbo decoding Download PDF

Info

Publication number
JP2005295192A
JP2005295192A JP2004107173A JP2004107173A JP2005295192A JP 2005295192 A JP2005295192 A JP 2005295192A JP 2004107173 A JP2004107173 A JP 2004107173A JP 2004107173 A JP2004107173 A JP 2004107173A JP 2005295192 A JP2005295192 A JP 2005295192A
Authority
JP
Japan
Prior art keywords
decoding
turbo
code
error
error detection
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.)
Granted
Application number
JP2004107173A
Other languages
Japanese (ja)
Other versions
JP4526293B2 (en
Inventor
Takayuki Arima
孝幸 有馬
Hidetoshi Suzuki
秀俊 鈴木
Taku Suzuyama
卓 鈴山
Riyuutarou Yamanaka
隆太朗 山中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004107173A priority Critical patent/JP4526293B2/en
Publication of JP2005295192A publication Critical patent/JP2005295192A/en
Application granted granted Critical
Publication of JP4526293B2 publication Critical patent/JP4526293B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To enable to reduce a processing time by improving the decoding capability in a turbo decoding and optimizing the number of times of repeating the turbo decoding. <P>SOLUTION: Two turbo decoders 101A, 101B repeatedly perform error correction decoding to input data (code blocks #1, #2) in parallel. Its decoding result is stored in a memory 103. An error detector 105 detects an error presence remaining in the decoding result based on the error detection code included in the decoding result stored in the memory 103. A repeating control circuit 106 continuously performs repeating decoding process continuously for the two turbo decoders 101A, 101B until no error is judged. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、ターボ符号を復号するターボ復号装置及びターボ復号方法に関する。   The present invention relates to a turbo decoding device and a turbo decoding method for decoding a turbo code.

ターボ符号は、情報ビットに誤り検出符号化及び誤り訂正符号化を施して得られた符号化系列であり、復号処理を繰り返し行うことで高い誤り訂正能力が得られる強力な誤り訂正符号である。この明細書では移動通信への適用を念頭において説明するが、その優れた特徴から、移動通信だけでなく、衛星通信や磁気記録、光通信など様々な分野での応用が検討されている。   The turbo code is a coded sequence obtained by performing error detection coding and error correction coding on information bits, and is a powerful error correction code that can obtain high error correction capability by repeatedly performing decoding processing. Although this specification will be described with application to mobile communication in mind, application to various fields such as satellite communication, magnetic recording, and optical communication is being studied not only for mobile communication but also for its excellent features.

ところで、ターボ復号においては、高い誤り訂正能力を実現するためには相当数の繰り返しが必要となるために、処理時間が増加するという問題がある。この問題に対して、ターボ復号処理の繰り返し回数を最適化する技術が例えば特許文献1に開示されている。以下、図5を参照して、その概要を説明する。   By the way, in turbo decoding, since a considerable number of iterations are required to realize high error correction capability, there is a problem that processing time increases. For example, Patent Document 1 discloses a technique for optimizing the number of repetitions of turbo decoding processing. Hereinafter, the outline will be described with reference to FIG.

図5は、従来のターボ復号装置の構成例を示すブロック図である。図5に示す従来のターボ復号装置は、受信データについてターボ復号を行うターボ復号器501と、ターボ復号器501から出力された軟値を“0”または“1”の硬値に変換する硬判定器502と、硬判定器502にて判定された硬値を格納するデータバッファ503と、ターボ復号器501における復号処理の繰り返し回数をカウントし所定の最大繰り返し回数に到達するとそれを示す制御信号もしくはトリガ信号を出力する反復カウンタ504と、データバッファ503に格納された復号情報ビットに誤りが存在するか否かをデータフレーム単位で調べ、誤りを検出した場合に制御信号をターボ復号器501にフィードバックするCRC(Cyclic Redundancy Check)検査器505と、反復カウンタ504が出力する制御信号もしくはトリガ信号を受けて、データバッファ503に格納されたCRC検査器505による検査が終了したデータフレームから、そのデータフレームに付加されているCRCビットを取り除いてデータを抽出し出力するデータ抽出器506とを備えている。   FIG. 5 is a block diagram illustrating a configuration example of a conventional turbo decoding device. The conventional turbo decoding apparatus shown in FIG. 5 includes a turbo decoder 501 that performs turbo decoding on received data, and a hard decision that converts a soft value output from the turbo decoder 501 into a hard value of “0” or “1”. Unit 502, a data buffer 503 for storing the hard value determined by hard decision unit 502, and the number of repetitions of decoding processing in turbo decoder 501, and when a predetermined maximum number of repetitions is reached, a control signal or An iterative counter 504 that outputs a trigger signal and whether or not there is an error in the decoded information bits stored in the data buffer 503 are checked in units of data frames. If an error is detected, a control signal is fed back to the turbo decoder 501. CRC (Cyclic Redundancy Check) tester 505 and the control signal or trigger signal output from repetition counter 504 And a data extractor 506 for extracting and outputting data from the data frame stored in the data buffer 503, which has been checked by the CRC checker 505, by removing the CRC bits added to the data frame. ing.

ターボ復号器501には、トリガ回路または制御回路が設けられている。このトリガ回路または制御回路は、CRC検査器505から出力された制御信号に応じてターボ復号器501自体を制御し、更なる復号処理を実行させるように動作する。   The turbo decoder 501 is provided with a trigger circuit or a control circuit. This trigger circuit or control circuit operates to control the turbo decoder 501 itself in accordance with the control signal output from the CRC checker 505 and to execute further decoding processing.

また、ターボ復号器501は、繰り返し処理される復号処理において、ターボ復号器501での1回の復号処理の完了を示す信号を反復カウンタ504に供給するようになっている。反復カウンタ504は、この完了信号に基づいてターボ復号器501で処理された復号処理の繰り返し回数をカウントする。そして、反復カウンタ504は、ターボ復号器501に新たなコードブロックが受信され、処理されたコードブロックがターボ復号器501から出力されたときにカウント値をリセットするようになっている。   In addition, the turbo decoder 501 supplies a signal indicating completion of one decoding process in the turbo decoder 501 to the iteration counter 504 in a decoding process that is repeated. The iteration counter 504 counts the number of iterations of the decoding process processed by the turbo decoder 501 based on this completion signal. The iterative counter 504 resets the count value when a new code block is received by the turbo decoder 501 and the processed code block is output from the turbo decoder 501.

なお、コードブロックとは、情報ビットに誤り検出符号化及び誤り訂正符号化を施して得られた符号化系列にターボ復号を行う際のデータ単位である。処理されたコードブロックがターボ復号器501から出力されるのは、CRC検査器505によって誤りが検出されなかった場合か、ターボ復号器501による復号処理が所定回数繰り返された場合のいずれかである。   A code block is a data unit when turbo decoding is performed on an encoded sequence obtained by performing error detection coding and error correction coding on information bits. The processed code block is output from the turbo decoder 501 either when no error is detected by the CRC checker 505 or when the decoding process by the turbo decoder 501 is repeated a predetermined number of times. .

このように、従来のターボ復号装置では、復号処理が繰り返されるたびに復号された情報ビットを検査し、検査の結果に基づいて更なる復号処理を実行するか否かを決定する構成であるので、誤り訂正能力を低下させることなく処理時間を削減することができる。
特開2000−183758号公報
As described above, the conventional turbo decoding device is configured to inspect the decoded information bits every time the decoding process is repeated and to determine whether or not to perform further decoding processing based on the result of the inspection. The processing time can be reduced without degrading the error correction capability.
JP 2000-183758 A

しかしながら、上記した従来のターボ復号装置にて実施される繰り返し制御方法では、コードブロック間の境界にCRCビットが位置しない場合やコードブロックにCRCビットが含まれないような場合には、最適な繰り返し制御を行うことができないという問題がある。以下、図6(a)〜(c)を参照して具体的に説明する。   However, in the iterative control method implemented in the conventional turbo decoding apparatus described above, the optimum repetition is performed when the CRC bits are not located at the boundary between the code blocks or when the CRC bits are not included in the code block. There is a problem that control cannot be performed. Hereinafter, a specific description will be given with reference to FIGS.

図6(a)〜(c)は、ターボ復号装置に入力されるデータの構成例を示している。図6(a)〜(c)では入力データから2つのコードブロック#1、#2が形成される場合が示されている。なお、図6(a)〜(c)において、トランスポートブロックとは、送信側で送りたい情報ビットであり、送信側でCRCビットを付加するデータ単位である。   FIGS. 6A to 6C show configuration examples of data input to the turbo decoding device. 6A to 6C show a case where two code blocks # 1 and # 2 are formed from input data. 6A to 6C, a transport block is an information bit to be transmitted on the transmission side, and is a data unit to which a CRC bit is added on the transmission side.

図6(a)ではターボ復号装置への入力データが「トランスポートブロック#1、CRCビット#1、トランスポートブロック#2、CRCビット#2、トランスポートブロック#3、CRCビット#3、トランスポートブロック#4、CRCビット#4」の構成である場合が示されている。この場合には、コードブロック#1が「トランスポートブロック#1、CRCビット#1、トランスポートブロック#2、CRCビット#2」の構成となり、コードブロック#2が「トランスポートブロック#3、CRCビット#3、トランスポートブロック#4、CRCビット#4」の構成となるので、各コードブロックは境界にCRCビットが位置するように形成される。   In FIG. 6A, the input data to the turbo decoder is “transport block # 1, CRC bit # 1, transport block # 2, CRC bit # 2, transport block # 3, CRC bit # 3, transport. A case of a configuration of “block # 4, CRC bit # 4” is shown. In this case, the code block # 1 has a configuration of “transport block # 1, CRC bit # 1, transport block # 2, CRC bit # 2”, and code block # 2 includes “transport block # 3, CRC bit # 2. Since the configuration is “bit # 3, transport block # 4, CRC bit # 4”, each code block is formed such that the CRC bit is located at the boundary.

ターボ復号装置への入力データが図6(a)に示すようなデータである場合は、コードブロック間の境界にCRCビットが位置するので、上記した従来のターボ復号装置では、コードブロック#1のデータをターボ復号する場合、1回の復号処理が終了するたびに、CRCビット#1、CRCビット#2を用いて、復号した情報ビットであるトランスポートブロック#1、トランスポートブロック#2に誤りが存在するか否かを検出し、誤りがなければ復号処理を終了し、誤りが検出されれば復号処理を繰り返すことができる。   When the input data to the turbo decoding device is data as shown in FIG. 6A, the CRC bit is located at the boundary between the code blocks. Therefore, in the conventional turbo decoding device described above, the code block # 1 When data is turbo-decoded, every time one decoding process is completed, an error is caused in transport block # 1 and transport block # 2 that are decoded information bits using CRC bit # 1 and CRC bit # 2. If there is no error, the decoding process is terminated, and if an error is detected, the decoding process can be repeated.

図6(b)では、ターボ復号装置への入力データが「トランスポートブロック#1、CRCビット#1、トランスポートブロック#2、CRCビット#2、トランスポートブロック#3、CRCビット#3」の構成である場合が示されている。この場合は、コードブロック#1は「トランスポートブロック#1、CRCビット#1、トランスポートブロック#2の大部分」の構成となり、コードブロック#2は「トランスポートブロック#2の残り部分、CRCビット#2、トランスポートブロック#3、CRCビット#3」の構成となるので、各コードブロックは境界にCRCビットが位置しない構成となる。   In FIG. 6B, the input data to the turbo decoding device is “transport block # 1, CRC bit # 1, transport block # 2, CRC bit # 2, transport block # 3, CRC bit # 3”. The case of configuration is shown. In this case, the code block # 1 has a configuration of “transport block # 1, CRC bit # 1, most of transport block # 2,” and code block # 2 includes “remaining portion of transport block # 2, CRC. Since the configuration is “bit # 2, transport block # 3, CRC bit # 3”, each code block has a configuration in which no CRC bit is located at the boundary.

このように、ターボ復号装置への入力データが図6(b)に示すようなデータである場合は、コードブロック間の境界にCRCビットが位置しないので、上記した従来のターボ復号装置では、1回の復号処理が終了するたびにCRCビット#1を用いて誤り検出を行っても、トランスポートブロック#2の情報ビットに誤りが存在しているか否かは検出できない。そのため、コードブロック#1の復号において、ある繰り返し回数の復号処理を行った時点で誤りが検出されなければ、コードブロック#1の復号処理を終了し、次にコードブロック#2に対して復号処理を行うこととなる。しかし、コードブロック#1の復号処理においてトランスポートブロック#2の誤りが全て訂正されていない場合は、コードブロック#2の復号処理を繰り返し行ってもその誤りは訂正されないことになり、結果として信号品質を低下させてしまうことが起こる。   As described above, when the input data to the turbo decoding device is data as shown in FIG. 6B, the CRC bit is not located at the boundary between the code blocks. Even if error detection is performed using CRC bit # 1 every time decoding processing is completed, it cannot be detected whether or not there is an error in the information bits of transport block # 2. Therefore, in decoding of code block # 1, if no error is detected at the time when decoding processing is performed a certain number of iterations, the decoding process of code block # 1 is terminated, and then the decoding process is performed on code block # 2. Will be performed. However, if all the errors of the transport block # 2 are not corrected in the decoding process of the code block # 1, the error will not be corrected even if the decoding process of the code block # 2 is repeated. It happens that the quality is degraded.

図6(c)では、ターボ復号装置への入力データが「トランスポートブロック#1、CRCビット#1」の構成である場合が示されている。この場合には、コードブロック#1は「トランスポートブロック#1の半分強」の構成となり、コードブロック#2は「トランスポートブロック#1の残り半分、CRCビット#1」の構成となるので、CRCビットが含まれないコードブロックが形成されることになる。   FIG. 6C shows a case where the input data to the turbo decoding device has a configuration of “transport block # 1, CRC bit # 1”. In this case, the code block # 1 has a configuration of “slightly more than half of the transport block # 1”, and the code block # 2 has a configuration of “the remaining half of the transport block # 1, CRC bit # 1”. A code block that does not include CRC bits is formed.

このように、ターボ復号装置への入力データが図6(c)に示すようなデータである場合は、コードブロック#1にはCRCビットが存在しないので、上記した従来のターボ復号装置では、誤り検出を行うことができず、誤り検出による繰り返し制御を行うことができない。そのため、従来のターボ復号装置では、所定の回数繰り返し復号処理を行うことになり、誤りが十分に訂正されているにもかかわらず余分な復号処理を行うことで処理時間が増大するという問題がある。   In this way, when the input data to the turbo decoding device is data as shown in FIG. 6 (c), there is no CRC bit in the code block # 1, so the conventional turbo decoding device described above has an error. Detection cannot be performed, and repetitive control by error detection cannot be performed. Therefore, in the conventional turbo decoding device, the decoding process is repeatedly performed a predetermined number of times, and there is a problem that the processing time is increased by performing the extra decoding process even though the error is sufficiently corrected. .

本発明は、かかる点に鑑みてなされたものであり、ターボ復号での復号能力を向上させるとともに、ターボ復号の繰り返し行う回数を最適化し、処理時間を削減することができるターボ復号装置及びターボ復号方法を提供することを目的とする。   The present invention has been made in view of the above point, and has improved the decoding capability in turbo decoding, optimized the number of times of turbo decoding, and reduced the processing time, and turbo decoding. It aims to provide a method.

かかる課題を解決するために、本発明のターボ復号装置は、情報ビットに誤り検出符号化及び誤り訂正符号化を施した符号化系列について誤り訂正復号を繰り返し行うターボ復号装置であって、復号のデータ単位であるコードブロックのn(n≧2)個の少なくともいずれか一つのコードブロックに誤り検出符号が含まれる場合において、前記n個のコードブロックそれぞれの繰り返し復号処理を並列に行うn個のターボ復号手段と、前記n個のターボ復号手段における誤り訂正復号の復号結果に含まれる誤り検出符号に基づき前記復号結果に残存する誤り有無を検出する検出手段と、前記検出手段の誤り検出結果に応じて前記n個のターボ復号手段に繰り返し復号処理を継続して行わせるか停止させるかの制御を行う繰り返し制御手段と、を具備する構成を採る。   In order to solve such a problem, a turbo decoding device according to the present invention is a turbo decoding device that repeatedly performs error correction decoding on a coded sequence obtained by performing error detection coding and error correction coding on information bits. In a case where an error detection code is included in at least one code block of n (n ≧ 2) code blocks that are data units, n code blocks that perform iterative decoding processing of each of the n code blocks in parallel A turbo decoding means, a detection means for detecting the presence or absence of an error remaining in the decoding result based on an error detection code included in a decoding result of error correction decoding in the n turbo decoding means, and an error detection result of the detection means In response, iterative control means for controlling whether the n turbo decoding means continuously perform or stop the iterative decoding process; A configuration that includes.

この構成によれば、コードブロック間に跨っているトランスポートブロックも同時に復号処理が行えるので、コードブロック間の境界に誤り検出符号が位置していない場合でもコードブロック間に跨っているトランスポートブロックに対する訂正能力を向上させることができ、信号品質を向上させることができる。また、n個のコードブロックのいずれか一つには誤り検出符号が存在するので、誤り検出符号を含まないコードブロックが存在しても、誤り検出を用いた繰り返し制御を行うことができる。したがって、復号処理の繰り返し回数を最適化することができ、信号品質を劣化させることなく、処理時間を削減することができる。   According to this configuration, since transport blocks straddling between code blocks can also be decoded simultaneously, transport blocks straddling between code blocks even when no error detection code is located at the boundary between code blocks As a result, it is possible to improve the correction capability and improve the signal quality. In addition, since any one of the n code blocks has an error detection code, even if there is a code block that does not include the error detection code, iterative control using error detection can be performed. Therefore, it is possible to optimize the number of repetitions of the decoding process, and to reduce the processing time without degrading the signal quality.

本発明のターボ復号装置は、上記の発明において、前記n個のターボ復号手段の復号結果を格納するメモリと、前記メモリに格納された復号結果を前記検出手段に与えて誤り検出を行わせる制御手段と、を具備する構成を採る。   The turbo decoding device according to the present invention is the above-described invention, wherein in the above invention, the memory for storing the decoding results of the n turbo decoding means and the control for giving the decoding results stored in the memory to the detecting means to perform error detection Means.

この構成によれば、n個のコードブロックについての繰り返し復号処理を安定的に行うことができる。   According to this configuration, iterative decoding processing for n code blocks can be stably performed.

本発明のターボ復号装置は、情報ビットに誤り検出符号化及び誤り訂正符号化を施した符号化系列について誤り訂正復号を繰り返し行うターボ復号手段であって、復号のデータ単位であるコードブロックの2個の少なくとも一つのコードブロックに誤り検出符号が含まれる場合において、前記2個のコードブロックそれぞれの繰り返し復号処理を並列に行う2個のターボ復号手段と、前記2個のターボ復号手段の一方における誤り訂正復号の復号結果を格納するメモリと、前記2個のターボ復号手段の他方における誤り訂正復号の復号結果と前記メモリから出力される復号結果とのいずれか一方の復号結果を選択する選択手段と、前記選択手段が出力する復号結果に含まれる誤り検出符号に基づき前記復号結果に残存する誤り有無を検出する検出手段と、前記検出手段の誤り検出結果に応じて前記2個のターボ復号手段に繰り返し復号処理を継続して行わせるか停止させるかの制御を行う繰り返し制御手段と、前記2個のターボ復号手段の他方が繰り返し復号処理を行っている期間では前記選択手段に前記2個のターボ復号手段の他方における誤り訂正復号の復号結果を選択させ、その後、前記選択手段に前記メモリから出力される復号結果を選択させる制御手段と、を具備する構成を採る。   The turbo decoding device according to the present invention is turbo decoding means for repeatedly performing error correction decoding on a coded sequence obtained by performing error detection coding and error correction coding on information bits, and is a code block 2 which is a decoding data unit. In the case where an error detection code is included in at least one code block, two turbo decoding means for performing iterative decoding processing of each of the two code blocks in parallel, and one of the two turbo decoding means A memory for storing a decoding result of error correction decoding, and a selection unit for selecting one of the decoding result of the error correction decoding in the other of the two turbo decoding units and the decoding result output from the memory And detecting the presence / absence of errors remaining in the decoding result based on the error detection code included in the decoding result output by the selection means Output means, iterative control means for controlling whether the two turbo decoding means continue or stop the iterative decoding process according to the error detection result of the detecting means, and the two turbo decoding means During the period when the other of the means is performing the iterative decoding process, the selection means selects the decoding result of the error correction decoding in the other of the two turbo decoding means, and then the decoding means outputs from the memory to the selection means And a control means for selecting a result.

この構成によれば、2個のコードブロックについて繰り返し復号処理を行い、その復号結果をメモリに格納し、格納した復号結果について誤り検出を行って2個のコードブロックについて繰り返し復号処理を継続するか停止するかを制御する場合に比べて処理時間を削減することができる。   According to this configuration, iterative decoding processing is performed for two code blocks, the decoding result is stored in a memory, error detection is performed on the stored decoding result, and iterative decoding processing is continued for two code blocks. The processing time can be reduced as compared with the case of controlling whether to stop.

本発明のターボ復号方法は、情報ビットに誤り検出符号化及び誤り訂正符号化を施した符号化系列について誤り訂正復号を繰り返し行うターボ復号のデータ単位であるコードブロックのn(n≧2)個の少なくともいずれか一つのコードブロックに誤り検出符号が含まれる場合において、前記n個のコードブロックそれぞれの繰り返し復号処理を並列に行う工程と、前記n個のコードブロックそれぞれの繰り返し復号処理の復号結果に含まれる誤り検出符号に基づき前記復号結果に残存する誤り有無を検出する工程と、前記誤り検出結果に応じて前記n個のコードブロックそれぞれの繰り返し復号処理を継続して行わせるか停止させるかの制御を行う工程と、を含むようにした。   According to the turbo decoding method of the present invention, n (n ≧ 2) code blocks that are data units of turbo decoding in which error correction decoding is repeatedly performed on a coded sequence in which error detection coding and error correction coding are performed on information bits. When an error detection code is included in at least one of the code blocks, a step of performing the iterative decoding process for each of the n code blocks in parallel, and a decoding result of the iterative decoding process for each of the n code blocks Detecting whether there is an error remaining in the decoding result based on the error detection code included in the error detection code, and whether to repeatedly perform or stop the iterative decoding process for each of the n code blocks according to the error detection result And a step of performing the control.

この方法によれば、コードブロック間に跨っているトランスポートブロックも同時に復号処理が行えるので、コードブロック間の境界に誤り検出符号が位置していない場合でもコードブロック間に跨っているトランスポートブロックに対する訂正能力を向上させることができ、信号品質を向上させることができる。また、n個のコードブロックのいずれか一つには誤り検出符号が存在するので、誤り検出符号を含まないコードブロックが存在しても、誤り検出を用いた繰り返し制御を行うことができる。したがって、復号処理の繰り返し回数を最適化することができ、信号品質を劣化させることなく、処理時間を削減することができる。   According to this method, transport blocks straddling between code blocks can be decoded simultaneously, so that transport blocks straddling between code blocks even when no error detection code is located at the boundary between code blocks. As a result, it is possible to improve the correction capability and improve the signal quality. In addition, since any one of the n code blocks has an error detection code, even if there is a code block that does not include the error detection code, iterative control using error detection can be performed. Therefore, it is possible to optimize the number of repetitions of the decoding process, and to reduce the processing time without degrading the signal quality.

本発明のターボ復号方法は、上記の発明において、前記n個のコードブロックそれぞれの繰り返し復号処理の復号結果を一旦メモリに格納し、その後、前記メモリに格納された復号結果について前記誤り検出を行わせる工程を含むようにした。   In the turbo decoding method according to the present invention, in the above invention, the decoding result of the iterative decoding process for each of the n code blocks is temporarily stored in a memory, and then the error detection is performed on the decoding result stored in the memory. The process of making it include.

この方法によれば、n個のコードブロックについての繰り返し復号処理を安定的に行うことができる。   According to this method, iterative decoding processing for n code blocks can be stably performed.

本発明のターボ復号方法は、情報ビットに誤り検出符号化及び誤り訂正符号化を施した符号化系列について誤り訂正復号を繰り返し行うターボ復号のデータ単位であるコードブロックの2個の少なくとも一つのコードブロックに誤り検出符号が含まれる場合において、前記2個のコードブロックそれぞれの繰り返し復号処理を並列に行う工程と、前記2個のコードブロックの一方について繰り返し復号処理を行っている期間ではその復号結果についての誤り検出を並行して行うとともに、前記2個のコードブロックの他方における誤り訂正復号の復号結果をメモリに格納し、前記2個のコードブロックの一方についての繰り返し復号処理が終了したとき、前記メモリに格納された復号結果について誤り検出を行う工程と、前記2個のコードブロックにおける誤り訂正復号の復号結果についての前記誤り検出の結果に応じて当該2個のコードブロックそれぞれの繰り返し復号処理を継続して行わせるか停止させるかの制御を行う工程と、を含むようにした。   According to the turbo decoding method of the present invention, at least one code of two code blocks that are data units of turbo decoding that repeatedly performs error correction decoding on an encoded sequence in which error detection coding and error correction coding are performed on information bits. When an error detection code is included in a block, the decoding result is obtained in a step in which the iterative decoding process for each of the two code blocks is performed in parallel and a period in which the iterative decoding process is performed for one of the two code blocks. Performing error detection for the two code blocks in parallel, storing the decoding result of error correction decoding in the other of the two code blocks in a memory, and when the iterative decoding process for one of the two code blocks is completed, A step of performing error detection on a decoding result stored in the memory; and the two code blocks. A step of controlling whether to repeatedly perform or stop the iterative decoding process for each of the two code blocks according to the error detection result of the decoding result of error correction decoding in a block. I made it.

この方法によれば、2個のコードブロックについて繰り返し復号処理を行い、その復号結果をメモリに格納し、格納した復号結果について誤り検出を行って2個のコードブロックについて繰り返し復号処理を継続するか停止するかを制御する場合に比べて処理時間を削減することができ、またメモリの容量を削減することができる。   According to this method, iterative decoding processing is performed on two code blocks, the decoding result is stored in a memory, error detection is performed on the stored decoding result, and iterative decoding processing is continued for two code blocks. Compared to controlling whether to stop, the processing time can be reduced, and the memory capacity can be reduced.

本発明によれば、ターボ復号での復号能力を向上させるとともに、ターボ復号の繰り返し行う回数を最適化し、処理時間を削減することができる。   According to the present invention, it is possible to improve the decoding capability in turbo decoding, optimize the number of times turbo decoding is repeated, and reduce the processing time.

本発明の骨子は、ターボ復号器を複数個並列に設け、それぞれのコードブロックを同時に復号処理できるようにし、コードブロックの境界にCRCビットが位置しない場合でもコードブロック間を跨っているトランスポートブロックに対する訂正能力を向上させ、また、CRCビットが存在しないコードブロックが含まれる場合でもCRCビットが存在するコードブロックにおける誤り検出を利用して復号処理の繰り返し回数の最適化が行えるようにすることである。   The essence of the present invention is that a plurality of turbo decoders are provided in parallel so that each code block can be decoded simultaneously, and transport blocks straddling code blocks even when no CRC bit is located at the code block boundary. In addition, it is possible to optimize the number of repetitions of decoding processing by using error detection in a code block having CRC bits even when a code block having no CRC bits is included. is there.

以下、本発明の実施の形態について図面を参照して詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

(実施の形態1)
図1は、本発明の実施の形態1に係るターボ復号装置の構成を示すブロック図である。この実施の形態1では、入力データが、図6(a)〜(c)に示したように2つのコードブロックに区切られるとして、2つのターボ復号器を並列に設けた場合の構成例が示されている。
(Embodiment 1)
FIG. 1 is a block diagram showing a configuration of a turbo decoding apparatus according to Embodiment 1 of the present invention. In the first embodiment, a configuration example is shown in which two turbo decoders are provided in parallel, assuming that input data is divided into two code blocks as shown in FIGS. Has been.

即ち、図1に示すターボ復号装置は、コードブロック#1となる入力データについてターボ復号を行うターボ復号器101Aと、コードブロック#2となる入力データについてターボ復号を行うターボ復号器101Bと、ターボ復号器101Aから出力された軟値を“0”または“1”の硬値に変換する硬判定器102Aと、ターボ復号器101Bから出力された軟値を“0”または“1”の硬値に変換する硬判定器102Bと、復号された情報ビットを格納するメモリ103と、硬判定器102A、102Bが出力する硬値をメモリ103に格納する際にメモリ103へのアクセス制御を行うメモリ制御回路104と、メモリ103に格納されている復号情報ビットについてCRCを用いた誤り検出を行う誤り検出器105と、誤り検出器105の検出結果に基づきターボ復号器101A、101Bに繰り返し復号処理を継続して行わせるか否かを制御する繰り返し制御回路106と、ターボ復号器101A、101B、メモリ制御回路104及び誤り検出器105を制御する制御回路107と、を備えている。   That is, the turbo decoding device shown in FIG. 1 includes a turbo decoder 101A that performs turbo decoding on input data that is code block # 1, a turbo decoder 101B that performs turbo decoding on input data that is code block # 2, and a turbo decoder A hard decision unit 102A that converts a soft value output from the decoder 101A into a hard value of “0” or “1”, and a soft value output from the turbo decoder 101B is a hard value of “0” or “1”. A hard discriminator 102B for converting the data into the memory 103, a memory 103 for storing the decoded information bits, and a memory control for controlling access to the memory 103 when the hard values output from the hard discriminators 102A and 102B are stored in the memory 103. Circuit 104, error detector 105 for performing error detection using CRC for the decoded information bits stored in memory 103, and error detector Based on the detection result of 05, the iterative control circuit 106 controls whether the turbo decoders 101A and 101B continuously perform the iterative decoding process, the turbo decoders 101A and 101B, the memory control circuit 104, and the error detector 105. And a control circuit 107 for controlling.

次に、図1と図2を参照して、以上のように構成されるターボ復号装置の動作について説明する。なお、図2は、図1に示すターボ復号装置の動作を説明するフローチャートである。図2において、受信データが入力されると(ステップST201)、ターボ復号装置が起動され(ステップST202)、ターボ復号器101A、101Bが並列に復号処理を開始する(ステップST203)。   Next, the operation of the turbo decoding device configured as described above will be described with reference to FIGS. FIG. 2 is a flowchart for explaining the operation of the turbo decoding device shown in FIG. In FIG. 2, when received data is input (step ST201), the turbo decoding device is activated (step ST202), and the turbo decoders 101A and 101B start decoding processing in parallel (step ST203).

なお、ターボ復号器101A、101Bにおける復号アルゴリズムとしては、SOVA(Soft Output Viterbi Algorithm:軟出力ビタビ復号アルゴリズム)やMAP(Maximum A Posteriori Probability decoding:最大事後確率復号)アルゴリズムなどが用いられる。   As a decoding algorithm in the turbo decoders 101A and 101B, a SOVA (Soft Output Viterbi Algorithm), a MAP (Maximum A Posteriori Probability decoding) algorithm, or the like is used.

ターボ復号器101A、101Bが復号処理を行いながら順次出力する軟値が硬判定器102A、102Bにて硬値に変換され、それぞれメモリ制御回路104に入力する。並行して制御回路107は、入力データのデータ長から制御信号を生成し、メモリ制御回路104に与える。メモリ制御回路104は、メモリ103への書き込みタイミングを制御しながら硬判定器102A、102Bが出力するそれぞれの硬値を制御回路107からの制御信号に基づき生成したメモリ103の所定のアドレスに書き込む(ステップST204)。   The soft values sequentially output while the turbo decoders 101A and 101B perform the decoding process are converted into hard values by the hard discriminators 102A and 102B and input to the memory control circuit 104, respectively. In parallel, the control circuit 107 generates a control signal from the data length of the input data and supplies it to the memory control circuit 104. The memory control circuit 104 writes each hard value output from the hard decision devices 102A and 102B to a predetermined address of the memory 103 generated based on the control signal from the control circuit 107 while controlling the write timing to the memory 103 ( Step ST204).

制御回路107は、内部に持っているカウンタによってターボ復号器101A、101Bが復号処理を終了したか否かを判定し(ステップST205)、復号処理が終了していない場合は(ステップST205:NO)、ステップST204に戻り、メモリ103にコードブロック#1、コードブロック#2を復号して得られた硬値の書き込みを続行する制御を行う。   The control circuit 107 determines whether or not the turbo decoders 101A and 101B have finished the decoding process by using a counter included therein (step ST205). If the decoding process has not been finished (step ST205: NO) Returning to step ST204, control is performed to continue writing hard values obtained by decoding code block # 1 and code block # 2 into the memory 103.

制御回路107は、ターボ復号器101A、101Bが復号処理を終了すると(ステップST205:YES)、メモリ103にコードブロック#1とコードブロック#2を復号して得られた硬値が全て格納されたと認識し、誤り検出器105を起動する(ステップST206)。同時に、メモリ制御回路104が制御回路107から出力される制御信号よってメモリ103の読み出しアドレスを生成し、読み出しを行い、誤り検出器105に入力させる。   When the turbo decoders 101A and 101B complete the decoding process (step ST205: YES), the control circuit 107 indicates that all the hard values obtained by decoding the code block # 1 and the code block # 2 are stored in the memory 103. Recognize and activate the error detector 105 (step ST206). At the same time, the memory control circuit 104 generates a read address of the memory 103 based on the control signal output from the control circuit 107, performs reading, and inputs the read address to the error detector 105.

これによって、誤り検出器105は、メモリ103に格納されたコードブロック#1、コードブロック#2を復号して得られた硬値に対して誤り検出を行う。誤り検出器105は、誤り検出処理を終了すると(ステップST207:YES)、誤りが検出されたか否かを示す信号を繰り返し制御回路106に出力する。   Thus, the error detector 105 performs error detection on the hard values obtained by decoding the code block # 1 and the code block # 2 stored in the memory 103. When the error detector 105 ends the error detection process (step ST207: YES), the error detector 105 repeatedly outputs a signal indicating whether or not an error is detected to the control circuit 106.

繰り返し制御回路106は、誤り検出器105にて誤りが検出されないか否かを監視し(ステップST208)、誤りが検出された場合には(ステップST208:NO)、2つのターボ復号器101A、101Bを起動して復号処理を再開するように制御する(ステップST209)。その結果、復号処理(ステップST204〜ST208)が再度繰り返される。   The iterative control circuit 106 monitors whether or not an error is detected by the error detector 105 (step ST208). If an error is detected (step ST208: NO), the two turbo decoders 101A and 101B are detected. Is activated to resume the decoding process (step ST209). As a result, the decoding process (steps ST204 to ST208) is repeated again.

繰り返し制御回路106は、コードブロック#1、コードブロック#2に含まれる全てのトランスポートブロックに対して誤りが検出されなければ(ステップST208:YES)、ターボ復号装置101A、101Bの処理を停止する(ステップST210)。その時点でメモリ103に格納されている硬値が最終的な復号結果となる。   If no error is detected in all the transport blocks included in code block # 1 and code block # 2 (step ST208: YES), repetition control circuit 106 stops the processes of turbo decoding apparatuses 101A and 101B. (Step ST210). At that time, the hard value stored in the memory 103 is the final decoding result.

このように、実施の形態1によれば、2つのターボ復号器によってコードブロックをそれぞれ復号処理する構成としたので、ターボ復号装置への入力データにおいて、図6(b)に示したように、コードブロック間の境界にCRCビットが位置しない場合でも、コードブロック間に跨るトランスポートブロックに対する訂正能力を向上させることができ、信号品質を向上させることができる。   As described above, according to the first embodiment, since the code block is decoded by the two turbo decoders, in the input data to the turbo decoding device, as shown in FIG. Even when the CRC bit is not located at the boundary between the code blocks, the correction capability for the transport block straddling the code blocks can be improved, and the signal quality can be improved.

また、ターボ復号装置への入力データにおいて、図6(c)に示したように、CRCビットを含まないコードブロックが存在する場合でも、CRCビットが存在するコードブロックを利用した誤り検出を用いて繰り返し制御を行うことができるので、復号処理の繰り返し回数を最適化することができ、信号品質を劣化させることなく処理時間を削減することができる。この点に関し図3(a)、(b)を参照して、具体的に説明する。   Further, in the input data to the turbo decoding apparatus, as shown in FIG. 6C, even when there is a code block that does not include CRC bits, error detection using a code block that includes CRC bits is used. Since iterative control can be performed, the number of repetitions of the decoding process can be optimized, and the processing time can be reduced without degrading the signal quality. This point will be specifically described with reference to FIGS. 3 (a) and 3 (b).

図3(a):従来のターボ復号装置では、コードブロックにCRCビットが含まれない場合は、誤り検出を用いて復号処理の繰り返し制御を行うことができないので、CRCビットが含まれないコードブロック#1については、所定の最大繰り返し回数であるn回繰り返し復号処理を行う必要があった。   FIG. 3A: In the conventional turbo decoding device, when the CRC block is not included in the code block, the decoding process cannot be repeatedly controlled using error detection, so that the code block does not include the CRC bit. For # 1, it was necessary to perform iterative decoding processing n times, which is a predetermined maximum number of iterations.

図3(b):本実施の形態1に係るターボ復号装置では、ターボ復号器101Aに入力されるデータのCRCビットがターボ復号器101Bの入力データに含まれる(図6(c)参照)。したがって、CRCビットの含まれないコードブロック#1の処理も、誤りが検出されなかった時点で復号処理を終了することができ、復号処理の繰り返し回数が最適化できるので、処理時間を削減することが可能となる。   FIG. 3B: In the turbo decoding device according to the first embodiment, CRC bits of data input to the turbo decoder 101A are included in the input data of the turbo decoder 101B (see FIG. 6C). Therefore, the processing of the code block # 1 that does not include the CRC bits can be terminated when no error is detected, and the number of repetitions of the decoding processing can be optimized, thereby reducing processing time. Is possible.

なお、コードブロック間の境界にCRCビットが位置する図6(a)に示すような入力データの場合には、ターボ復号器101Aとターボ復号器101Bとを用いて並列に処理を行ってもよいし、ターボ復号器101Aもしくはターボ復号器101Bだけを用いて、それぞれのコードブロックについて順次復号処理を行ってもよい。   In the case of input data as shown in FIG. 6A in which CRC bits are located at the boundary between code blocks, the turbo decoder 101A and the turbo decoder 101B may be used to perform processing in parallel. Alternatively, the decoding process may be sequentially performed on each code block using only the turbo decoder 101A or the turbo decoder 101B.

ここで、本実施の形態1では、コードブロックが2つ区切りでCRCビットが少なくともいずれか一方のコードブロックに存在する入力データを想定したので、ターボ復号器を2つ持つ構成としたが、コードブロックがn個区切りでCRCビットがいずれかのコードブロックに存在する入力データの場合には、ターボ復号器をn個持つ構成とすれば、同様の繰り返し制御を行うことが可能である。   Here, in the first embodiment, the input data in which the code block is divided into two and the CRC bit is present in at least one of the code blocks is assumed. Therefore, the configuration has two turbo decoders. In the case of input data in which n blocks are divided and CRC bits are present in any code block, the same iterative control can be performed if the configuration has n turbo decoders.

(実施の形態2)
図4は、本発明の実施の形態2に係るターボ復号装置の構成を示すブロック図である。なお、図4では、図1に示した構成と同一ないしは同等である構成には同一の符号が付されている。ここでは、実施の形態2に関わる部分を中心に説明する。
(Embodiment 2)
FIG. 4 is a block diagram showing the configuration of the turbo decoding apparatus according to Embodiment 2 of the present invention. In FIG. 4, the same or equivalent components as those shown in FIG. 1 are denoted by the same reference numerals. Here, the description will focus on the parts related to the second embodiment.

図4に示すように、実施の形態2に係るターボ復号装置では、図1に示した構成において、メモリ制御回路104に代えてメモリ制御回路401が設けられ、誤り検出器105に代えて誤り検出器402が設けられ、制御回路107に代えて制御回路403が設けられ、メモリ103と誤り検出器402との間にセレクタ404が追加されている。   As shown in FIG. 4, in the turbo decoding device according to the second embodiment, in the configuration shown in FIG. 1, a memory control circuit 401 is provided instead of the memory control circuit 104, and error detection is performed instead of the error detector 105. 402, a control circuit 403 is provided instead of the control circuit 107, and a selector 404 is added between the memory 103 and the error detector 402.

硬判定器102Aの出力は、メモリ制御回路401に入力するとともに、セレクタ404の一方の入力となっている。セレクタ404の他方の入力は、メモリ103から読み出された硬値(硬判定器102Bの出力)である。   The output of the hard discriminator 102A is input to the memory control circuit 401 and is one input of the selector 404. The other input of the selector 404 is a hard value read from the memory 103 (an output of the hard discriminator 102B).

つまり、メモリ制御回路401は、硬判定器102A、硬判定器102Bの出力をメモリ103に書き込む制御と読み出してセレクタ404に与える制御とを行う。誤り検出器402は、セレクタ404が出力する硬値について誤り検出を行う。制御回路403は、ターボ復号器101A、101B、メモリ制御回路401及び誤り検出器402の制御に加えて、セレクタ404の制御も行うようになっている。   That is, the memory control circuit 401 performs control to write the output of the hard decision unit 102A and the hard decision unit 102B into the memory 103 and control to read and output the output to the selector 404. The error detector 402 performs error detection on the hard value output from the selector 404. The control circuit 403 controls the selector 404 in addition to the turbo decoders 101A and 101B, the memory control circuit 401, and the error detector 402.

次に、以上のように構成される実施の形態2に係るターボ復号装置の動作について説明する。図4において、ターボ復号器101Aとターボ復号器101Bは、実施の形態1と同様に並行して復号処理を開始する。   Next, the operation of the turbo decoding device according to Embodiment 2 configured as described above will be described. In FIG. 4, turbo decoder 101A and turbo decoder 101B start decoding processing in parallel as in the first embodiment.

硬判定器102Aが出力するコードブロック#1に対する硬値は、メモリ制御回路401を介してメモリ103に格納されるとともに、セレクタ404に与えられる。一方、硬判定器102Bが出力するコードブロック#2に対する硬値は、メモリ制御回路401を介してメモリ103に格納される。   The hard value for the code block # 1 output from the hard discriminator 102A is stored in the memory 103 via the memory control circuit 401 and is given to the selector 404. On the other hand, the hard value for the code block # 2 output from the hard discriminator 102 B is stored in the memory 103 via the memory control circuit 401.

セレクタ404は、制御回路403から出力される選択信号によって、ターボ復号器101Aが復号処理を行っている間は硬判定器102Aが出力する硬値を選択し、ターボ復号器101Aが復号処理を終了すると、メモリ103から読み出した硬値を選択するよう制御される。   The selector 404 selects the hard value output from the hard decision unit 102A while the turbo decoder 101A is performing the decoding process according to the selection signal output from the control circuit 403, and the turbo decoder 101A ends the decoding process. Then, control is performed to select the hard value read from the memory 103.

つまり、硬判定器102Aが出力する硬値はメモリ103にバッファリングされるとともに、順次セレクタ404を介して誤り検出器402に入力され、誤り検出処理が行われる。そして、入力データが図3(b)、(c)に示すようなデータである場合は、コードブロック#1を復号して得られた硬値だけでは誤り検出処理を完了できないので、制御回路403は、誤り検出処理の途中で誤り検出器402の処理を中断させる。誤り検出器402は、演算できるところまで誤り検出演算を行うことになる。   That is, the hard value output from the hard discriminator 102A is buffered in the memory 103, and sequentially input to the error detector 402 via the selector 404, and error detection processing is performed. If the input data is data as shown in FIGS. 3B and 3C, the error detection process cannot be completed with only the hard value obtained by decoding the code block # 1, and therefore the control circuit 403 Interrupts the process of the error detector 402 during the error detection process. The error detector 402 performs error detection calculation to the point where it can be calculated.

次いで、制御回路403は、ターボ復号器101Aが復号出力するコードブロック#1に対する硬値の誤り検出処理が終了し、かつターボ復号器101Bが復号処理を終了し、メモリ103にコードブロック#2に対する硬値が全て格納されると、誤り検出器402を起動し、コードブロック#1の最終トランスポートブロックの誤り検出処理を途中まで行っていた状態から引き続いて、コードブロック#2の硬値に対する誤り検出処理を再開する。誤り検出器402は、誤り検出処理が終了すると、誤りが検出されたか否かを示す信号を繰り返し制御回路106に出力する。   Next, the control circuit 403 completes the hard error detection process for the code block # 1 decoded and output by the turbo decoder 101A, the turbo decoder 101B ends the decoding process, and stores the code block # 2 in the memory 103. When all the hard values are stored, the error detector 402 is activated, and the error detection process for the last transport block of the code block # 1 is performed halfway. Restart the detection process. When the error detection process ends, the error detector 402 repeatedly outputs a signal indicating whether or not an error has been detected to the control circuit 106.

繰り返し制御回路106は、コードブロック#1、コードブロック#2に含まれる全てのトランスポートブロックに対して誤りが検出されなければ、ターボ復号器101A、101Bの処理を停止する。その時点でメモリ103に格納されている硬値が最終的な復号結果となる。   The iterative control circuit 106 stops the processing of the turbo decoders 101A and 101B if no error is detected for all the transport blocks included in the code block # 1 and the code block # 2. At that time, the hard value stored in the memory 103 is the final decoding result.

また、繰り返し制御回路106は、誤りが検出された場合には、ターボ復号器101A、101Bに対して引き続き復号処理を行うように制御し、繰り返し復号処理が引き続いて行われる。これによって、コードブロック#1、コードブロック#2に含まれる全てのトランスポートブロックに対して誤りが検出されなければ、同様にターボ復号器101A、101Bの処理を停止する。   Further, when an error is detected, the iterative control circuit 106 controls the turbo decoders 101A and 101B to continue the decoding process, and the iterative decoding process is performed subsequently. Thus, if no error is detected for all the transport blocks included in code block # 1 and code block # 2, the processes of turbo decoders 101A and 101B are similarly stopped.

なお、ターボ復号器101Bの復号処理が完了しておらず、メモリ103にコードブロック#2の硬値が全て格納されていなくても、コードブロック#1に対する硬値の誤り検出処理が完了していれば、制御回路403は、誤り検出器402、メモリ制御回路401の動作タイミングを制御し、コードブロック#2に対する硬値の誤り検出処理を行うようにしてもよい。   Note that even if the decoding process of the turbo decoder 101B is not completed and the hard values of the code block # 2 are not all stored in the memory 103, the hard error detection process for the code block # 1 is completed. In this case, the control circuit 403 may control the operation timing of the error detector 402 and the memory control circuit 401 to perform hard value error detection processing on the code block # 2.

また、コードブロック#1の復号処理と並列にコードブロック#1の誤り検出を行い、コードブロック#1に対する誤り検出の処理終了後、コードブロック#2に対する硬値を用いて引き続きコードブロック#2に対する誤り検出を行う場合を示したが、逆にコードブロック#2の復号処理と並行してコードブロック#2の誤り検出を行い、コードブロック#2に対する誤り検出の処理終了後、コードブロック#1に対する硬値を用いて引き続きコードブロック#1に対する誤り検出を行うように構成することもできる。   In addition, the error detection of the code block # 1 is performed in parallel with the decoding process of the code block # 1, and after the error detection process for the code block # 1 is completed, the hard value for the code block # 2 is continuously used for the code block # 2. Although the case of performing error detection is shown, conversely, error detection of code block # 2 is performed in parallel with the decoding processing of code block # 2, and after the error detection processing for code block # 2 is completed, code block # 1 is detected. It is also possible to configure such that error detection is continued for code block # 1 using the hard value.

このように、実施の形態2によれば、コードブロック#1(またはコードブロック#2)を復号して得られた硬値に対する誤り検出を、メモリに一度格納してから行うのではなく、ターボ復号器101A(またはターボ復号器101B)の復号処理と並行して行う構成としたので、実施の形態1の効果に加えて、次の効果が得られる。   As described above, according to the second embodiment, error detection for a hard value obtained by decoding code block # 1 (or code block # 2) is not performed after being stored once in the memory. Since the decoding is performed in parallel with the decoding process of the decoder 101A (or the turbo decoder 101B), the following effects can be obtained in addition to the effects of the first embodiment.

即ち、コードブロック#1(またはコードブロック#2)の復号処理と並行してコードブロック#1(またはコードブロック#2)に対する硬値の誤り検出処理を行っているので、実施の形態1に比べて更に処理時間が削減できる。   That is, since the hard-value error detection process for code block # 1 (or code block # 2) is performed in parallel with the decoding process for code block # 1 (or code block # 2), compared to the first embodiment. Processing time can be further reduced.

本発明は、コードブロック間の境界にCRCビットが位置しない場合やCRCビットが存在しないコードブロックが含まれる場合に、適当な繰り返し回数の復号処理を行って所望の信号品質を確保しつつ処理時間を削減するターボ復号装置として好適である。   The present invention performs processing time while ensuring a desired signal quality by performing an appropriate number of repetitions of decoding processing when CRC bits are not located at the boundaries between code blocks or when code blocks without CRC bits are included. It is suitable as a turbo decoding device that reduces

本発明の実施の形態1に係るターボ復号装置の構成を示すブロック図FIG. 1 is a block diagram showing a configuration of a turbo decoding device according to Embodiment 1 of the present invention. 図1に示すターボ復号装置の動作を説明するフローチャートFlowchart for explaining the operation of the turbo decoding device shown in FIG. (a)は、図5に示す従来のターボ復号装置にて得られる処理時間を説明する図、(b)は、図1に示すターボ復号装置にて得られる処理時間削減効果を説明する図(A) is a figure explaining the processing time obtained with the conventional turbo decoding apparatus shown in FIG. 5, (b) is a figure explaining the processing time reduction effect obtained with the turbo decoding apparatus shown in FIG. 本発明の実施の形態2に係るターボ復号装置の構成を示すブロック図Block diagram showing the configuration of a turbo decoding device according to Embodiment 2 of the present invention 従来のターボ復号装置の構成例を示すブロック図Block diagram showing a configuration example of a conventional turbo decoding device (a)は、ターボ復号装置に入力されるデータの構成例(その1)、(b)は、ターボ復号装置に入力されるデータの構成例(その2)、(c)は、ターボ復号装置に入力されるデータの構成例(その3)(A) is a configuration example (part 1) of data input to the turbo decoding device, (b) is a configuration example (part 2) of data input to the turbo decoding device, and (c) is a turbo decoding device. Of the data input to the (3)

符号の説明Explanation of symbols

101A、101B ターボ復号器
102A、102B 硬判定器
103 メモリ
104、401 メモリ制御回路
105、402 誤り検出器
106 繰り返し制御回路
107、403 制御回路
404 セレクタ
101A, 101B Turbo decoder 102A, 102B Hard decision unit 103 Memory 104, 401 Memory control circuit 105, 402 Error detector 106 Repetition control circuit 107, 403 Control circuit 404 Selector

Claims (6)

情報ビットに誤り検出符号化及び誤り訂正符号化を施した符号化系列について誤り訂正復号を繰り返し行うターボ復号装置であって、
復号のデータ単位であるコードブロックのn(n≧2)個の少なくともいずれか一つのコードブロックに誤り検出符号が含まれる場合において、前記n個のコードブロックそれぞれの繰り返し復号処理を並列に行うn個のターボ復号手段と、
前記n個のターボ復号手段における誤り訂正復号の復号結果に含まれる誤り検出符号に基づき前記復号結果に残存する誤りの有無を検出する検出手段と、
前記検出手段の誤り検出結果に応じて前記n個のターボ復号手段に繰り返し復号処理を継続して行わせるか停止させるかの制御を行う繰り返し制御手段と、を具備することを特徴とするターボ復号装置。
A turbo decoding device that repeatedly performs error correction decoding on a coded sequence obtained by performing error detection coding and error correction coding on information bits,
When an error detection code is included in at least any one of n (n ≧ 2) code blocks of a code block that is a decoding data unit, the iterative decoding process of each of the n code blocks is performed in parallel n Turbo decoding means,
Detecting means for detecting the presence or absence of an error remaining in the decoding result based on an error detecting code included in a decoding result of error correction decoding in the n turbo decoding means;
Turbo decoding comprising: iterative control means for controlling whether the n turbo decoding means continuously perform or stop the iterative decoding process according to an error detection result of the detecting means. apparatus.
前記n個のターボ復号手段の復号結果を格納するメモリと、前記メモリに格納された復号結果を前記検出手段に与えて誤り検出を行わせる制御手段と、を具備することを特徴とする請求項1に記載のターボ復号装置。   2. A memory for storing the decoding results of the n turbo decoding means, and a control means for performing error detection by supplying the decoding results stored in the memory to the detecting means. The turbo decoding device according to 1. 情報ビットに誤り検出符号化及び誤り訂正符号化を施した符号化系列について誤り訂正復号を繰り返し行うターボ復号装置であって、
復号のデータ単位であるコードブロックの2個の少なくとも一つのコードブロックに誤り検出符号が含まれる場合において、前記2個のコードブロックそれぞれの繰り返し復号処理を並列に行う2個のターボ復号手段と、
前記2個のターボ復号手段の一方における誤り訂正復号の復号結果を格納するメモリと、
前記2個のターボ復号手段の他方における誤り訂正復号の復号結果と前記メモリから出力される復号結果とのいずれか一方の復号結果を選択する選択手段と、
前記選択手段が出力する復号結果に含まれる誤り検出符号に基づき前記復号結果に残存する誤り有無を検出する検出手段と、
前記検出手段の誤り検出結果に応じて前記2個のターボ復号手段に繰り返し復号処理を継続して行わせるか停止させるかの制御を行う繰り返し制御手段と、
前記2個のターボ復号手段の他方が繰り返し復号処理を行っている期間では前記選択手段に前記2個のターボ復号手段の他方における誤り訂正復号の復号結果を選択させ、その後、前記選択手段に前記メモリから出力される復号結果を選択させる制御手段と、を具備することを特徴とするターボ復号装置。
A turbo decoding device that repeatedly performs error correction decoding on a coded sequence obtained by performing error detection coding and error correction coding on information bits,
In the case where an error detection code is included in at least one code block of two code blocks that are decoding data units, two turbo decoding means for performing iterative decoding processing of each of the two code blocks in parallel;
A memory for storing a decoding result of error correction decoding in one of the two turbo decoding means;
Selecting means for selecting one of the decoding results of the error correction decoding in the other of the two turbo decoding means and the decoding result output from the memory;
Detecting means for detecting the presence or absence of errors remaining in the decoding result based on an error detecting code included in the decoding result output by the selecting means;
Repetitive control means for controlling whether the two turbo decoding means continue or stop the iterative decoding process according to the error detection result of the detecting means;
In a period in which the other of the two turbo decoding units is performing the iterative decoding process, the selection unit selects a decoding result of error correction decoding in the other of the two turbo decoding units, and then the selection unit A turbo decoding apparatus comprising: control means for selecting a decoding result output from the memory.
情報ビットに誤り検出符号化及び誤り訂正符号化を施した符号化系列について誤り訂正復号を繰り返し行うターボ復号のデータ単位であるコードブロックのn(n≧2)個の少なくともいずれか一つのコードブロックに誤り検出符号が含まれる場合において、
前記n個のコードブロックそれぞれの繰り返し復号処理を並列に行う工程と、
前記n個のコードブロックそれぞれの繰り返し復号処理の復号結果に含まれる誤り検出符号に基づき前記復号結果に残存する誤り有無を検出する工程と、
前記誤り検出結果に応じて前記n個のコードブロックそれぞれの繰り返し復号処理を継続して行わせるか停止させるかの制御を行う工程と、を含むことを特徴とするターボ復号方法。
At least one code block of n (n ≧ 2) code blocks that are data units of turbo decoding in which error correction decoding is repeatedly performed on a coded sequence in which error detection coding and error correction coding are performed on information bits When an error detection code is included in
Performing the iterative decoding process of each of the n code blocks in parallel;
Detecting the presence or absence of an error remaining in the decoding result based on an error detection code included in the decoding result of the iterative decoding process of each of the n code blocks;
And a step of controlling whether to repeatedly perform or stop the iterative decoding process for each of the n code blocks according to the error detection result.
前記n個のコードブロックそれぞれの繰り返し復号処理の復号結果を一旦メモリに格納し、その後、前記メモリに格納された復号結果について前記誤り検出を行わせる工程を含むことを特徴とする請求項4に記載のターボ復号方法。   5. The method according to claim 4, further comprising a step of temporarily storing a decoding result of the iterative decoding process for each of the n code blocks in a memory and then performing the error detection on the decoding result stored in the memory. The described turbo decoding method. 情報ビットに誤り検出符号化及び誤り訂正符号化を施した符号化系列について誤り訂正復号を繰り返し行うターボ復号のデータ単位であるコードブロックの2個の少なくとも一つのコードブロックに誤り検出符号が含まれる場合において、
前記2個のコードブロックそれぞれの繰り返し復号処理を並列に行う工程と、
前記2個のコードブロックの一方について繰り返し復号処理を行っている期間ではその復号結果についての誤り検出を並行して行うとともに、前記2個のコードブロックの他方における誤り訂正復号の復号結果をメモリに格納し、前記2個のコードブロックの一方についての繰り返し復号処理が終了したとき、前記メモリに格納された復号結果について誤り検出を行う工程と、
前記2個のコードブロックにおける誤り訂正復号の復号結果についての前記誤り検出の結果に応じて当該2個のコードブロックそれぞれの繰り返し復号処理を継続して行わせるか停止させるかの制御を行う工程と、を含むことを特徴とするターボ復号方法。
An error detection code is included in at least one code block of two code blocks that are data units of turbo decoding in which error correction decoding is repeatedly performed on a coded sequence in which error detection coding and error correction coding are performed on information bits. In case
Performing iterative decoding of each of the two code blocks in parallel;
During the period when iterative decoding processing is performed on one of the two code blocks, error detection is performed on the decoding result in parallel, and the decoding result of error correction decoding on the other of the two code blocks is stored in the memory. Storing and performing error detection on the decoding result stored in the memory when the iterative decoding process for one of the two code blocks is completed;
A step of controlling whether the iterative decoding process of each of the two code blocks is continuously performed or stopped according to the result of the error detection of the decoding result of the error correction decoding in the two code blocks; The turbo decoding method characterized by including.
JP2004107173A 2004-03-31 2004-03-31 Turbo decoding apparatus and turbo decoding method Expired - Fee Related JP4526293B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004107173A JP4526293B2 (en) 2004-03-31 2004-03-31 Turbo decoding apparatus and turbo decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004107173A JP4526293B2 (en) 2004-03-31 2004-03-31 Turbo decoding apparatus and turbo decoding method

Publications (2)

Publication Number Publication Date
JP2005295192A true JP2005295192A (en) 2005-10-20
JP4526293B2 JP4526293B2 (en) 2010-08-18

Family

ID=35327638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004107173A Expired - Fee Related JP4526293B2 (en) 2004-03-31 2004-03-31 Turbo decoding apparatus and turbo decoding method

Country Status (1)

Country Link
JP (1) JP4526293B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9602132B2 (en) 2009-08-25 2017-03-21 Fujitsu Limited Transmitter, encoding apparatus, receiver, and decoding apparatus

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001516175A (en) * 1997-08-14 2001-09-25 エリクソン インコーポレイテッド Communication system, communication signal decoding apparatus, and symbol source sequence communication method
JP2002171175A (en) * 2000-11-30 2002-06-14 Matsushita Electric Ind Co Ltd Decoder and decoding method
JP2004014033A (en) * 2002-06-07 2004-01-15 Fujitsu Ltd Information recording/reproduction device, optical disk device and data reproduction method
JP2004015285A (en) * 2002-06-05 2004-01-15 Fujitsu Ltd Turbo decoding method and turbo decoder

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001516175A (en) * 1997-08-14 2001-09-25 エリクソン インコーポレイテッド Communication system, communication signal decoding apparatus, and symbol source sequence communication method
JP2002171175A (en) * 2000-11-30 2002-06-14 Matsushita Electric Ind Co Ltd Decoder and decoding method
JP2004015285A (en) * 2002-06-05 2004-01-15 Fujitsu Ltd Turbo decoding method and turbo decoder
JP2004014033A (en) * 2002-06-07 2004-01-15 Fujitsu Ltd Information recording/reproduction device, optical disk device and data reproduction method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9602132B2 (en) 2009-08-25 2017-03-21 Fujitsu Limited Transmitter, encoding apparatus, receiver, and decoding apparatus

Also Published As

Publication number Publication date
JP4526293B2 (en) 2010-08-18

Similar Documents

Publication Publication Date Title
RU2216851C2 (en) Iterative decoder and iterative decoding method for communication system
JP4567734B2 (en) LDPC decoding method and apparatus with efficient memory
JP6451955B2 (en) System and method for multi-stage soft input decoding
US20060085726A1 (en) Apparatus and method for decoding Reed-Solomon code
JP4777876B2 (en) Early termination of turbo decoder iterations
KR20010099785A (en) Efficient iterative decoding
US10484020B2 (en) System and method for parallel decoding of codewords sharing common data
JP2009273123A (en) Systems and methods for queue based data detection and decoding
JP2009525009A (en) MAP decoder with bidirectional sliding window architecture
JPH0730439A (en) Operation of cyclic viterbi decoder
JP2000196469A (en) Data error correction system
JP2008011460A (en) Turbo decoder
JP4321394B2 (en) Encoding device, decoding device
US8910009B1 (en) Method and apparatus for enhancing error detection in data transmission
US20080109710A1 (en) Viterbi decoding method
JP4526293B2 (en) Turbo decoding apparatus and turbo decoding method
JP3512176B2 (en) Turbo decoding device and method of controlling number of decoding repetitions in turbo decoding
JP4244700B2 (en) Turbo decoder and dynamic decoding method used therefor
EP2258065B1 (en) A method and system for stopping execution of a turbo decoder
JP4663093B2 (en) Apparatus for generating parity check matrix, method for generating parity check matrix, and computer readable recording medium for recording computer program for generating parity check matrix
KR102007163B1 (en) Encoder, decoder and semiconductor device including the same
JP2010068083A (en) Decoder and decoding method
JP6987316B1 (en) Error correction / decoding device, control circuit, storage medium and error correction / decoding method
TWI544325B (en) Early termination method with re-encoding scheme for decoding of error correction code
EP1187342A2 (en) Signal processing apparatus and method, and recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090616

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090805

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: 20100525

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: 20100601

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

Free format text: PAYMENT UNTIL: 20130611

Year of fee payment: 3

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees