JP2008135813A - ターボ復号器及びターボ復号方法 - Google Patents

ターボ復号器及びターボ復号方法 Download PDF

Info

Publication number
JP2008135813A
JP2008135813A JP2006318331A JP2006318331A JP2008135813A JP 2008135813 A JP2008135813 A JP 2008135813A JP 2006318331 A JP2006318331 A JP 2006318331A JP 2006318331 A JP2006318331 A JP 2006318331A JP 2008135813 A JP2008135813 A JP 2008135813A
Authority
JP
Japan
Prior art keywords
decoder
decoding
turbo
row
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006318331A
Other languages
English (en)
Inventor
Noritaka Ikeda
徳啓 池田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006318331A priority Critical patent/JP2008135813A/ja
Priority to EP07116591A priority patent/EP1931035A1/en
Priority to US11/902,425 priority patent/US20080126914A1/en
Publication of JP2008135813A publication Critical patent/JP2008135813A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2703Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3972Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6566Implementations concerning memory access contentions

Abstract

【課題】ターボ復号の過程で行なわれるインタリーブ処理及びデインタリーブ処理に要するメモリへのアクセス競合の発生を回避する。
【解決手段】複数の要素復号器12−i(i=1〜M)と、それぞれの要素復号結果を行列状メモリ空間において記憶するメモリ部15と、前記行列状メモリ空間において、要素復号器12−i毎に、要素復号結果を異なる行に属するアドレスを書き込み開始アドレスとして当該行又は列方向にそれぞれ書き込んだ後、異なる行に属するアドレスを読み出し開始アドレスとして当該列又は行方向へそれぞれ読み出すメモリ制御部19とをそなえて構成する。
【選択図】図1

Description

本発明は、ターボ復号器及びターボ復号方法に関する。
誤り訂正符号は、移動通信、FAX、銀行のキャッシュディスペンサ等、データ通信を行なう際にデータを誤りなく伝送する場合、あるいは、磁気ディスク、CDなどの大容量データ保存を行なう際にデータを誤りなく読み出すことが要求されるシステムに適用される。
誤り訂正符号の一種であるターボ符号は、誤り訂正符号の中でも、符号化利得の高い符号として知られており、移動通信分では、第3世代携帯電話システムで使用されており、次世代の携帯電話システムでも使用されることが期待される。
図10に、ターボ符号器及びターボ復号器を含む通信システムの構成を示す。なお、この図10中に示す記号は以下の通りである。

情報 u={u1,u2,…,uN}
符号化データ xa={xa1,xa2,…,xak,…,xaN}
xb={xb1,xb2,…,xbk,…,xbN}
xc={xc1,xc2,…,xck,…,xcN}
受信データ ya={ya1,ya2,…,yak,…,yaN}
yb={yb1,yb2,…,ybk,…,ybN}
yc={yc1,yc2,…,yck,…,ycN}
復号結果 u′={u'1,u'2,…,u'N}

そして、この図10に示す通信システムでは、長さN(ビット)の情報uは、送信機(ターボ符号器100)により符号化データxa,xb,xcに符号化される。符号化データは、通信路200により伝搬される際に雑音やフェージング等の影響を受けて、受信信号ya,yb,ycとして受信機(ターボ復号器300)にて受信される。ターボ復号器300では、受信信号ya,yb,ycから復号処理を行ない、復号結果u′を得る。
次に、図11にターボ符号器100の要部構成を示す。この図11に示すターボ符号器100は、2つの要素符号器(ENC)101,102と、インタリーバ103とをそなえて構成され、送信すべき情報uそのもの(xa)と、インタリーバ103によるインタリーブ前の情報uを要素符号器101で畳み込み符号化した符号化データ(xb)と、情報uをインタリーバ103でインタリーブした情報uをもう1つのエンコーダで畳み込み符号化した符号化データ(xc)との組をターボ符号として送信する。
一方、ターボ復号器300は、例えば図12に示すように、伝送路値メモリ(RAM)301と、2つの要素復号器(DEC)302,305と、2つのインタリーバ303,304と、デインタリーバ306とをそなえて構成される。
このターボ復号器300では、まず、伝送路値RAM301に記憶された伝送路値、即ち、受信信号ya,yb,ycのうち、受信信号yaと受信信号ybとの組を用いて要素復号器302にて要素復号を行なう。なお、要素復号には、例えば、MAP(Maximum A Posteriori Probability)やSOVA(Soft Output Viterbi Algorithm)等の復号方法を用いることができる。
次に、その復号結果の尤度と受信信号ycとの組を用いて要素復号器305にて要素復号を行なう。この際、要素復号器302の復号結果の尤度は、インタリーバ303にてインタリーブ処理されてから要素復号器305に入力される。
そして、要素復号器305の復号結果の尤度は、デインタリーバ306にてデインタリーブ処理され、再び要素復号器302に入力される。以後、ターボ復号器300は、上記処理を所定回数繰り返すことによってターボ復号処理を行ない、誤り率特性を改善する。
なお、ターボ符号器及びターボ復号器の動作原理の詳細については、例えば後記特許文献1の段落0002〜段落0028に記述されている。
図12ではターボ復号の原理説明上、2つの要素復号器302,305と、2つのインタリーバ303,304と、デインタリーバ306とをターボ復号器300の構成要素として示しているが、ハードウェア構成上、例えば図13に示すように、2つの要素復号器302及び305を1つの要素復号器307として共用化するとともに、インタリーバ303,304及びデインタリーバ306をインタリーバ/デインタリーバ(インタリーブ/デインタリーブRAM)308として共用化し、これら共用の要素復号器307及びインタリーバ/デインタリーバ308とを、インタリーブ時とデインタリーブ時とで時分割に動作させる構成とするのが一般的である。
ところで、W-CDMAシステムでの技術標準〔3rd Generation Partnership Project(3GPP)〕では、後記非特許文献1にターボ符号にて使用されるインタリーバの仕様が規定されている。この場合のターボ復号器では、インタリーバ/デインタリーバはR×Cの行列状のメモリ空間を用いてインタリーブ/デインタリーブ処理を行なう。
即ち、例えば図15に概念的に示すように、インタリーブ動作の場合は、(1)シーケンシャル(リニア)なライトアドレス指定により、入力順序に従って行方向に入力データを行毎に連続的に書き込み(これをリニアアクセスと呼ぶ)、所定のインタリーブパターンに基づくリードアドレス指定により、(2)行内での並び替え、及び、(3)行間(行単位)でのデータ並び替えのいずれか一方又は双方を行ない、(4)列方向にデータを読み出す。
なお、前記(2)、(3)のデータ並び替え処理の先後は不問である。また、前記行内又は行間でのデータ並び替えは前記メモリ空間上で現実に記憶位置が変更されることを意味するものではなく、前記インタリーブパターンに基づくリードアドレス指定により当該行内又は行間でのデータ並び替えに相当する処理が実現されることを意味している(以降の説明においても同じ)。さらに、デインタリーブ動作では、所定のデインタリーブパターンに基づくアドレス指定により、上記インタリーブ動作とは逆の動作となる。
図12に示した構成は、ターボ復号器に必要なメモリ量を削減し回路規模を削減するための一手法であるが、復号に要する時間を短縮する手法として、特許文献1により提案される手法がある。
即ち、この特許文献1には、情報(符号)長N(ビット)の復号対象信号をM個(Mは2以上の整数)の信号(ブロック)に分割し、それぞれN/Mビットの分割ブロックについて要素復号を同時並列的に実行することにより処理時間を短縮する(M倍速処理する)ことが示されている。
特開2004−15285号公報 3GPP TS 25.212 V6.9.0 (2006-09), Section 4.2.3.2 (Turbo coding)
図14に、上記のような要素復号器の並列実装による処理時間短縮技術を適用したターボ復号器の要部構成を示す。
この図14に示すターボ復号器300は、伝送路値メモリ(RAM)301と、M個(並列)の要素復号器(DEC#1〜DEC#M)307−1〜307−Mと、インタリーブ/デインタリーブメモリ(RAM)308とをそなえて構成され、伝送路値RAM301に伝送路値として記憶されたNビットの受信信号(ya,yb,yc)がM分割されて情報(符号)長N/Mのブロック単位で各要素復号器307−1〜307−Mにて同時並列的に処理されて、インタリーブ/デインタリーブRAM308に入力される。
ここで、インタリーブ/デインタリーブRAM308では、複数の要素復号器307−1〜307−Mに対して同時アクセスが発生する。例えば、インタリーブ動作時には、各要素復号器307−1〜307−Mは、Nビットの符号をM個に分割した分割ブロックについて要素復号し、それぞれの要素復号結果をシーケンシャル(リニア)なアドレス指定(リニアアクセス)により、データ出力順にRAM308に書き込みを行ない、インタリーブ後のアドレス指定(所定のインタリーブパターン)にてRAM308からM個の要素復号結果を同時並列的に読み出す。そのため、RAM308に対して、書き込み及び読み出し時のそれぞれでM個の同時アクセスが発生する。
この場合、書き込み時は、リニアアクセスであることから、アドレス上位などを使用してRAM308のメモリ空間を分割(バンク分割)することによりアクセス競合を回避することができるが、読み出し時にはインタリーブの結果、情報長Nに対して略ランダムアクセスとなり、同一時刻に同一バンクに対して複数のアクセスが発生する可能性がある。また、これとは逆に、読み出しに合わせてRAM308をバンク分割したとしても、書き込み時にランダムアクセスとなりアクセス競合が発生する可能性がある。
そのため、単純なバンク分割では書き込み及び読み出し時のアクセス競合を回避することができない。なお、デインタリーブ時についても、インタリーブ時の書き込み及び読み出しのアドレス指定が逆となるために全く同じことがいえる。
このようなアクセス競合を回避するためには、冗長なメモリ容量を用意したり、RAM308のアクセスクロック速度を上げたり、処理時間を犠牲にしてアクセス競合が発生しないようにしたりすることが考えられる。
しかしながら、いずれの場合でも、回路規模、もしくは、処理時間及び消費電流等にインパクトを与えることとなるために実装上好ましいとはいえない。また、より高速な処理を実現すべく要素復号器の並列数を増やした場合には、これらの方法では対応が極めて困難になる。
本発明は、このような課題に鑑み創案されたもので、複数の要素復号器を並列動作させるターボ復号器において、ターボ復号の過程で行なわれるインタリーブ処理及びデインタリーブ処理に用いるメモリへのアクセス競合の発生を回避することを目的とする。
好ましくは、ターボ復号の過程で行なわれるインタリーブ処理及びデインタリーブ処理に要するメモリ容量を増加させることなく、メモリアクセス競合の発生を回避できるようにすることを目的とする。
上記の目的を達成するために、本発明では、下記のターボ復号器及びターボ復号方法を用いることを特徴としている。即ち、
(1)本発明のターボ復号器の第1の態様は、ターボ符号化された信号について要素復号とインタリーブ処理とデインタリーブ処理とを繰り返し施して前記信号を復号するターボ復号器であって、復号対象信号を複数に分割した各分割信号を並列に要素復号する複数の要素復号器と、前記各要素復号器の要素復号結果を異なる行に対して並列に読み書き可能な行列状メモリ空間において記憶するメモリ部と、前記行列状メモリ空間において、前記要素復号器毎に、前記要素復号結果を異なる行に属するアドレスを書き込み開始アドレスとして当該行又は列方向にそれぞれ書き込んだ後、異なる行に属するアドレスを読み出し開始アドレスとして当該列又は行方向へそれぞれ読み出して前記要素復号器へインタリーブ又はデインタリーブ処理結果として出力するメモリ制御部とをそなえて構成されたことを特徴としている。
(2)ここで、前記復号対象信号の分割数をM、前記行列状メモリ空間の行数をR(≧M)、列数をC、前記復号対象信号のビット数をN(≦R×C)とした場合に、前記要素復号器がM個そなえられるとともに、該メモリ部が、Cビットの容量をもつメモリをR個そなえることによりR行C列の前記行列状メモリ空間を構成しているのが好ましい。
(3)また、該メモリ制御部は、前記N<R×Cである場合に、(R×C−N)ビット分のパディングデータを前記要素復号器のいずれかの要素復号結果として該メモリ部に書き込み、もしくは、一時停止動作を行ない、当該パディングデータの前記要素復号器への読み出し時に当該要素復号器での要素復号を一時的に停止するようにしてもよい。
(4)さらに、該メモリ制御部は、前記列又は行方向への読み出し時に前記要素復号器毎の読み出し開始対象の要素復号結果が同じ列又は行に属する場合に、前記要素復号器毎に読み出し開始タイミングをずらすようにしてもよい。
(5)また、本ターボ復号器は、前記読み出し開始タイミングをずらしたことによる前記各要素復号器への各要素復号結果の入力タイミングずれを吸収する緩衝バッファ部をさらにそなえていてもよい。
(6)さらに、該メモリ制御部は、前記読み出し開始タイミングをずらしたことによる前記各要素復号器への各要素復号結果の入力タイミングずれを吸収すべく前記各要素復号器での要素復号タイミングを調整するようにしてもよい。
(7)また、本発明のターボ復号復号器の第2の態様は、ターボ符号化された信号について要素復号とインタリーブ処理とデインタリーブ処理とを繰り返し施して前記信号を復号するターボ復号器であって、復号対象信号を複数に分割した各分割信号を並列に要素復号する複数の要素復号器と、前記各要素復号器の要素復号結果を異なる行に対して並列に読み書き可能な行列状メモリ空間において記憶するメモリ部と、前記行列状メモリ空間において、前記要素復号器毎に、前記要素復号結果を当該行又は列方向にそれぞれ書き込み、列又は行方向へそれぞれ読み出して前記要素復号器へインタリーブ又はデインタリーブ処理結果として出力するメモリ制御部と、前記行列状メモリ空間の行列サイズに応じて、前記要素復号器毎の前記要素復号結果が異なる行に属するアドレスを書き込み開始アドレスとして前記書き込みが行なわれ、異なる行に属するアドレスを読み出し開始アドレスとして前記読み出しが行なわれるよう、前記復号対象信号の分割数を制御する分割数制御部とをそなえて構成されたことを特徴としている。
(8)さらに、本発明のターボ復号方法の第1の態様は、ターボ符号化された信号について要素復号とインタリーブ処理とデインタリーブ処理とを繰り返し施して前記信号を復号するターボ復号方法であって、復号対象信号を複数に分割した各分割信号を並列に複数の要素復号器にて要素復号し、各要素復号結果をメモリ部の行列状メモリ空間において、前記要素復号器毎に、異なる行に属するアドレスを書き込み開始アドレスとして当該行又は列方向にそれぞれ書き込んだ後、異なる行に属するアドレスを読み出し開始アドレスとして当該列又は行方向へそれぞれ読み出して前記要素復号器へインタリーブ又はデインタリーブ処理結果として出力することを特徴としている。
(9)ここで、前記復号対象信号の分割数をM、前記行列状メモリ空間の行数をR(≧M)、列数をC、前記復号対象信号のビット数をN(≦R×C)とした場合に、前記要素復号器がM個そなえられるとともに、該メモリ部が、Cビットの容量をもつメモリをR個そなえることによりR行C列の前記行列状メモリ空間を構成しているのが好ましい。
(10)また、前記N<R×Cである場合に、(R×C−N)ビット分のパディングデータを前記要素復号器のいずれかの要素復号結果として該メモリ部に書き込み、もしくは、一時停止動作を行ない、当該パディングデータの前記要素復号器への読み出し時に当該要素復号器での要素復号を一時的に停止するようにしてもよい。
(11)さらに、前記列又は行方向への読み出し時に前記要素復号器毎の読み出し開始対象の要素復号結果が同じ列又は行に属する場合に、前記要素復号器毎に読み出し開始タイミングをずらすようにしてもよい。
(12)また、前記読み出し開始タイミングをずらしたことによる前記各要素復号器への各要素復号結果の入力タイミングずれを緩衝バッファ部により吸収するようにしてもよい。
(13)さらに、前記読み出し開始タイミングをずらしたことによる前記各要素復号器への各要素復号結果の入力タイミングずれを吸収すべく前記各要素復号器での要素復号タイミングを調整するようにしてもよい。
(14)また、本発明のターボ復号方法の第2の態様は、ターボ符号化された信号について要素復号とインタリーブ処理とデインタリーブ処理とを繰り返し施して前記信号を復号するターボ復号方法であって、復号対象信号を複数に分割した各分割信号を並列に複数の要素復号器にて要素復号し、各要素復号結果を行列状メモリ空間において、前記要素復号器毎に、当該行又は列方向にそれぞれ書き込み、列又は行方向へそれぞれ読み出して前記要素復号器へインタリーブ又はデインタリーブ処理結果として出力し、前記行列状メモリ空間の行列サイズに応じて、前記要素復号器毎の前記要素復号結果が異なる行に属するアドレスを書き込み開始アドレスとして前記書き込みが行なわれ、異なる行に属するアドレスを読み出し開始アドレスとして前記読み出しが行なわれるよう、前記復号対象信号の分割数を制御することを特徴としている。
上記本発明によれば、要素復号器毎の前記要素復号結果が異なる行に対して並列に読み書き可能な行列状メモリ空間の異なる行に属するアドレスを書き込み開始アドレスとして書き込まれた後、異なる行に属するアドレスを読み出し開始アドレスとして読み出されるので、少なくとも次のような効果ないし利点が得られる。
即ち、高速なターボ復号を行なうことを目的として複数の要素復号器を並列動作させるターボ復号器において、ターボ復号の過程で行なわれるインタリーブ処理及びデインタリーブ処理に要するメモリ容量を増加させることなく、また、メモリアクセスクロックや処理遅延時間を増大させることなく、メモリアクセス競合の発生を回避することが可能となる。
以下、図面を参照して、本発明の実施の形態を説明する。ただし、以下に示す実施形態は、あくまでも一例に過ぎず、本発明の趣旨を逸脱しない範囲で種々変形して実施できることはいうまでもない。
〔A〕第1実施形態の説明
図1は本発明の第1実施形態としてのターボ復号器の要部構成を示すブロック図で、この図1に示すターボ復号器1は、例えば図10に示した通信システムを構成する受信機に適用されるものであって、伝送路値メモリ(RAM)11と、M個(Mは2以上の整数)の要素復号器(DEC#1〜DEC#M)12−1〜12−Mと、インタリーバ/デインタリーバ部13とをそなえて構成され、当該インタリーバ/デインタリーバ部13は、さらに、並列数(DEC#→バンク#)変換部(接続切替部)14と、メモリ部15と、並列数(バンク#→DEC#)変換部(接続切替部)16と、制御部(メモリ制御部)19とをそなえて構成されている。なお、送信機(ターボ符号器)の構成は、例えば図11に示した構成と同一若しくは同様のものとする。
ここで、伝送路値RAM11は、既述の受信信号(復号対象信号)ya,yb,ycを伝送路値として記憶するものであり、要素復号器12−i(i=1〜M)は、それぞれ、前記伝送路値の情報長N(ビット)をM個のブロックに分割したブロック(情報長N/Mビット)単位で、伝送路値RAM11及び/又は接続切替部16から入力される情報(伝送路値及び/又はインタリーブ又はデインタリーブ処理された前回の要素復号結果)を用いて既述のMAPやSOVA等による要素復号を施すものである。
即ち、各要素復号器12−iは、最初は伝送路値RAM11における受信信号yaと受信信号yb及びycの一方とを用いて要素復号し、その後は、接続切替部16から入力される前回の要素復号結果(尤度)と、伝送路値RAM11における前回の復号処理で使用しなかった受信信号(yb及びycの他方)とを用いて所定回数に達するまで繰り返し要素復号することを、Nビットの復号対象信号をM個の信号(ブロック)に分割した分割信号について同時並列的に行なうのである。
インタリーバ/デインタリーバ部13は、ターボ復号過程において要素復号間で交互に繰り返し実施されるインタリーブ処理とデインタリーブ処理とで共用され、各要素復号器12−iの要素復号結果についてデータ並び替え(インタリーブ処理又はデインタリーブ処理)をそれぞれ所定のアドレス指定(インタリーブパターン又はデインタリーブパターン)に従って施すもので、具体的には、制御部19によって、メモリ部15に対するアドレス指定(ライトアドレス及びリードアドレス)が前記インタリーブパターン又はデインタリーブパターンに従って制御されることで、共用のメモリ部15にてインタリーブ処理とデインタリーブ処理とを実施できるようになっている。
ここで、メモリ部15は、本例では、R個の容量C(ビット)のバンクメモリ(#1〜#R)15−1〜15−Rにより構成され、全体でR行C列(R×C)の、異なる行に対して並列に読み書き可能な行列状メモリ空間が形成されている。なお、各バンクメモリ(以下、単にバンクともいう)15−j(j=1〜R)は、それぞれ、例えば、シングルポートRAMにより構成される。
そして、本例では、当該R×Cの行列状メモリ空間を用いて入力データ、即ち、要素復号結果インタリーブ又はデインタリーブ処理を実施する。即ち、インタリーブ動作時には、要素復号器12−i毎のシーケンシャル(リニア)なライトアドレス指定により、データ(要素復号結果)の入力順序に従って行方向に入力データを書き込み(リニアアクセス)、所定のインタリーブパターンに応じたリードアドレス指定により、行内での並び替え及び/又は行間(行単位)での並び替えを行ない、列方向にデータを読み出す。
つまり、当該インタリーブ時には、行内並び替え及び行間並び替えのプロセスのいずれか一方又は双方が含まれるが、当該プロセスによって、或る行(バンク)に書き込まれたデータ同士は、インタリーブ後も同一行(同一バンク)内に存在することになる。このように、インタリーバとしてブロックインタリーバ、もしくは、ブロックインタリーバとその他のインタリーバを組み合わせた形のインタリーバを使用していれば、本発明を適用して、メモリアクセス競合を回避することができる。なお、デインタリーブ動作時には、インタリーブ時と逆の動作(アドレス指定)となる。
接続切替部14は、各要素復号器12−iと各バンクメモリ15−jとの間を選択的に接続して、M並列の要素復号器12−iのいずれかの復号結果をR並列のバンクメモリ15−jのいずれかへ出力するもので、例えば、各要素復号器12−iで得られたN/MビットずつM並列の復号結果が1バンク15−jあたり最大CワードずつR並列のバンク15−jにそれぞれ入力されるように、その入出力が制御部19によって切り替え制御されるようになっている。
接続切替部16は、各バンク15−jと各要素復号器12−iとの間を選択的に接続して、R並列のバンク15−jのいずれかから読み出された要素復号結果のインタリーブ又はデインタリーブ結果をM並列の要素復号器12−iのいずれかへ出力(フィードバック)することができるもので、例えば、各バンク15−jから最大Cビットずつ読み出されたR並列の復号結果が1要素復号器12−iあたりN/Mビットずつ各要素復号器12−iに同時並列的に入力されるように、その入出力が切り替え制御されるようになっている。
制御部19は、上記の要素復号器12−i,インタリーバ/デインタリーバ部13(接続切替部14,16,メモリ部15)の動作を制御するもので、前記のインタリーブパターン及びデインタリーブパターンを図示しないRAMやROM等の内蔵メモリに記憶しており、所定周期(インタリーブとデインタリーブとの切替周期)で、上記接続切替部14,16を制御するとともに、前記パターンのいずれかを選択的に使用することで、インタリーブ動作時にはインタリーブパターン、デインタリーブ動作時にはデインタリーブパターンに従ってメモリ部15に対するアドレス指定を行ない、ターボ復号過程における要素復号処理、インタリーブ処理及びデインタリーブ処理を制御するようになっている。
以下、上述のごとく構成されたターボ復号器1の動作を説明すると、伝送路値RAM11及び接続切替部16にて、Nビットの復号対象信号がM分割されN/Mビットずつ要素復号器12−iに同時並列的に入力され、各要素復号器12−iにて、同時並列的に要素復号され、それぞれの要素復号結果がインタリーバ/デインタリーバ13(接続切替部14)にM並列に入力される。
接続切替部14は、制御部19からの制御に従い、M並列で入力された要素復号結果をメモリ部15のバンク15−jのいずれかに出力する。ここで、要素復号器12−iの並列数Mがインタリーブの行数(つまりはバンク数)R以下(M≦R)である場合、インタリーブ時(書き込み時)には、要素復号器12−i毎のメモリ部15(バンク15−j)に対するライトアクセスは、メモリ部15のR行C列の行列状メモリ空間の行方向(つまり同一バンク15−j内)へのリニアアクセスとなり、行毎に要素復号結果がその入力順序でシーケンシャルに書き込まれてゆくことになる。
かかる動作を概念的に表すと例えば図2のようになる。ただし、この図2では、要素復号器12−iの並列数(復号対象信号の分割数)M=3、バンク数R=5、1バンク15−jあたりの容量(ビット数)C=8とし、各バンク(#1〜#5)15−1〜15−5によりR×C=5×8の行列状メモリ空間が形成されている場合を想定している。また、図2の(2)は要素復号器(#1〜#3)12−1〜12−3の各要素復号結果の出力順序を時間軸上で表現したものであり、図2の(1)は当該各要素復号結果の書き込み時の前記行列に対するアクセス(ライトアドレス指定)の様子を示している。さらに、図2の(3)は前記行列における行内及び/又は行間のデータ並び替え(インタリーブ)を経た後のデータ配列に対するアクセス(リードアドレス指定)の様子を示しており、図2の(4)は図2の(3)で示される読み出し順序で読み出された各要素復号結果の要素復号器12−1〜12−3への出力順序を時間軸上で表現したものである。加えて、図2の(2)及び(4)における各要素復号結果に付した番号は、その要素復号結果が属するバンク15−jの番号に対応している。以上の表現方法は、以降の説明で用いる図3,図5,図7,図9においても同様である。
即ち、本例のターボ復号器1では、図2の(1)及び(2)に示すように、N=40ビットの復号対象信号を各要素復号器12−1〜12−3で同時並列的に要素復号した結果の最初のC(=8)ビット分が、前記行列の第1行に相当するバンク15−1に、続くCビット分が前記行列の第2行に相当するバンク15−2に、それぞれの先頭アドレスからシーケンシャルに書き込まれ、同様に、Cビット分ずつの要素復号結果が前記行列の第j行に相当するバンク15−jに、その先頭アドレスからシーケンシャルに書き込まれてゆくことになる。
したがって、各要素復号器12−1〜12−3から各バンク15−jに対して同時アクセスの発生するアドレス(アクセス開始点)は互いにC(=8)以上の距離が離れることになる(各要素復号器12−1〜12−3からのアクセス開始点がそれぞれ異なる行に属するアドレスになる)ため、同一バンク15−jへの同時アクセスは発生しない。
一方、読み出し時には、図2の(3)に示すように、要素復号器12−1〜12−3毎のリードアクセスは、列方向(つまり異なるバンク15−j)へのリニアアクセスとなるから、各バンク15−1〜15−5に対してRサイクルに1回ずつ順番にリードアクセスが発生して要素復号結果が読み出されることになる。したがって、それぞれの要素復号器12−1〜12−3毎の最初のリードアクセス(アクセス開始点)が異なるバンク15−jである限り、アクセス競合は発生しない。
デインタリーブ時は、書き込み及び読み出しのアドレス指定が上記インタリーブ時とは逆の動作となる。即ち、各バンク15−jに対して、Rサイクルに1回ずつ順番にアクセスが発生して要素復号結果が各バンク15−j(つまり列方向)に書き込まれる一方、行方向のリニアアクセスによりバンク15−j毎に要素復号結果が読み出されることになる。したがって、デインタリーブ時の書き込み及び読み出し時においても、アクセス競合を回避することができる。
なお、各バンク15−jから読み出された要素復号結果(インタリーブ又はデインタリーブ結果)は、接続切替部16に同時並列的に入力され、N/MビットずつのM並列で各要素復号器12−iに入力されることになる。
以上のように、本実施形態のターボ復号器1によれば、要素復号器12−i毎の要素復号結果がR×Cの行列状メモリ空間の異なる行に属するアドレスをアクセス開始点(書き込み開始アドレス)として行方向(又は列方向)に書き込み、異なる行に属するアドレスをアクセス開始点(読み出し開始アドレス)として列方向(又は行方向)に読み出すので、ターボ復号の過程で交互に繰り返し行なわれるインタリーブ処理及びデインタリーブ処理時の同一バンク15−jに対するアクセス競合を回避することができる。
したがって、高速なターボ復号を行なうことを目的として複数の要素復号器を並列動作させるターボ復号器において、インタリーブ処理及びデインタリーブ処理に要するメモリ容量を増加させることなく、また、メモリアクセスクロックや処理遅延時間を増大させることなく、メモリアクセス競合の発生を回避して、正しいターボ復号動作を実現することが可能となる。
(A1)変形例の説明
図1により上述したターボ復号器1の構成において、インタリーバ/デインタリーバ部13に入力される要素復号結果のビット数NがN<R×Cである時に(R×C−N)分のダミービットを付加してインタリーバ/デインタリーバ部13にてインタリーブ又はデインタリーブ処理を行なう場合、即ち、例えば要素復号器12−iにてNビットの要素復号結果のデータ末尾にダミービットを付加し、メモリ部15からの出力(読み出し)時には当該ダミービットは削除する(読み飛ばす)場合、インタリーブパターン(デインタリーブパターン)によっては、メモリ部15に対するアクセス競合が発生することがある。
例えば図3の(2)に示すように、各要素復号器12−1〜12−3による要素復号結果のビット数がN=35(<5×8=40)の場合、40−35=5ビット分のダミービットが付加されることになり、図3の(1)に斜線部で示すように、R×C(5×8)の行列の最終行に相当するバンク15−5に当該5ビット分のダミービットが書き込まれることになる。そして、図2の(3)の例と同様に、図3の(3)に示すごとく、行間及び/又は行内でのインタリーブ処理を経た後の列方向への読み出しを行なう際には、斜線部で表したダミービットを読み飛ばすように、前記制御部19によってリードアドレス指定される。
その結果、各要素復号器12−1〜12−3へは、図3の(4)に示す順序で要素復号結果が出力(入力)されることになる。ここで、要素復号器12−2及び12−3に着目すると、点線枠20で示すビット列のバンク番号が共通しているため、バンク15−1〜15−4に関して、複数の要素復号器12−2及び12−3から同一バンク15−1〜15−4に対して同時刻にリードアクセスが発生しアクセス競合が生じることになる。
そこで、本例では、図1に示した構成を前提として、当該アクセス競合を回避すべく、ダミービットに関して、読み出し時に当該ダミービットの出力先である要素復号器12−iを当該ダミービットのタイミングでディゼーブル(一時停止)制御することにより、前記実施形態〔図2の(3)及び(4)〕と同様の動作を実現する。即ち、図3の(5)及び(6)に示すように、前記制御部19によって、斜線部で示すダミービットの要素復号器12−1〜12−3への入力タイミングで対応する要素復号器12−1〜12−3をディゼーブル制御する。これにより、図3の(4)中に枠20で示すような、ダミービットの削除に起因するアクセス競合を回避することが可能となる。なお、上記一時停止動作は、ダミービットの書き込み時に行なってもよい。
〔B〕第2実施形態の説明
図4は本発明の第2実施形態に係るターボ復号器の要部構成を示すブロック図で、この図4に示すターボ復号器1Aは、図1により前述したターボ復号器1の構成に比して、インタリーバ/デインタリーバ部13において、接続切替部14の入力側に緩衝バッファ部17が設けられるとともに、接続切替部16の出力側に緩衝バッファ部18が設けられ、且つ、既述の制御部19に代えて制御部(メモリ制御部)19Aが設けられている点が異なる。なお、その余の既述の符号と同一符号を付した構成要素については、特に断らない限り、既述の構成要素と同一若しくは同様の機能を具備するものである。
ここで、緩衝バッファ部17,18は、それぞれ、制御部19Aの制御の下、M並列の入力データ(要素復号結果)の出力タイミング(位相)を個々に調整(遅延)することができるもので、緩衝バッファ部18に着目すると、例えば図5の(6)に示すように、接続切替部16と要素復号器12−i(ここでは、i=1〜4)との間のM並列のデータラインのうち、要素復号器12−iと接続されたデータライン上に、同じ遅延量(例えば1ビット)をもつ(M−i)個の遅延器(シフトレジスタ:SR)21がシーケンシャルに介装された構成又はこれと等価な構成を有し、要素復号器12−iへのM並列の要素復号結果を各要素復号器12−i間で互いに1ビットずつシフト(遅延)して出力できるようになっている。
緩衝バッファ部17については、要素復号器12−iと接続切替部14との間のM並列のデータラインのうち、要素復号器12−iと接続されたデータライン上に、同じ遅延量(例えば1ビット)をもつ(i−1)個の遅延器21が介装された構成又はこれと等価な構成を有し、接続切替部14へのM並列の要素復号結果を各要素復号器12−i間で互いに1ビットずつシフト(遅延)して出力できるようになっている。
なお、前記各データライン上で要素復号結果が経由する遅延器21の数は、制御部19Aよって、適宜、制御することが可能である。
このような緩衝バッファ部17,18をインタリーバ/デインタリーバ部13にそなえることにより、メモリ部15(バンク15−j)からの要素復号結果の読み出し時に、バンク15−j毎にリードアクセス開始点を変更することが可能となる。即ち、バンク15−j毎にリードアクセス開始点を変更しても、上記緩衝バッファ部17,18において、各バンク15−jから読み出された要素復号結果が経由する遅延器21の数を制御部19Aが制御することによって、各要素復号器12−i又は接続切替部14へのM並列の要素復号結果の位相(入力タイミング)を揃えることが可能となる。
ここで、バンク15−j毎にリードアクセス開始点を変更する必要が生じるのは、前記行列のサイズ及び要素復号器12−iの並列数によっては、異なる要素復号器12−iの復号開始点(タイミング)のデータが同一バンク15−jに存在する場合があるためである。
例えば、前記行列のサイズがR×C=5×8、要素復号器12−iの並列数M=4の場合で、復号対象のブロックの情報長N=40(=R×C)である場合、書き込み時には、図5の(1)及び(2)に示すように、要素復号器12−i毎の行方向のリニアアクセスとなるから、行(バンク15−j)毎に要素復号結果が10ずつ、順次、書き込まれ、読み出し時には、図5の(3)に示すように、要素復号器12−i毎の列方向のアクセスとなるから、各バンク15−jに対してRサイクルに1回ずつ順番にアクセスが発生して要素復号結果が読み出されることになる。
したがって、書き込み時の要素復号器12−i毎のライトアクセス開始点は、異なるバンク15−jに存在することになる(C以上の距離離れている)から、同一バンク15−jに対するアクセス競合は発生しないものの、図5の(3)及び(4)に示すように、各要素復号器12−iから各バンク15−jに対するリードアクセス開始点は同一時刻に同一バンク15−5に集中することになるから、バンク15−5に対するアクセス競合が発生することになる。
このような場合は、既述のR個のバンク15−jへのバンク分割のみではアクセス競合を回避できないことになる。そこで、制御部19Aによって、図5の(5)に示すように、要素復号器12−i毎に、バンク15−jに対するリードアクセスタイミングを1サイクル(1ビット)ずつずらすことにより、同一時刻に同一バンク15−jに対するリードアクセスが発生することを回避することが可能となる。
そして、前記緩衝バッファ部18は、このようにリードアクセスタイミングをずらすことによって生じたM並列の要素復号結果間の要素復号器12−iへの入力タイミングの不揃い(位相ずれ)を元に戻して揃えることを目的としてそなえられて、当該位相ずれを吸収するように動作するのである。なお、緩衝バッファ部17は、デインタリーブ動作時のM並列の要素復号結果間の位相ずれを吸収するように動作することになる。
(B1)第1変形例の説明
なお、上述した第2実施形態において、M並列の要素復号器12−iが同時に動作する必要がなければ、図6に示すように、制御部(メモリ制御部)19Bによって、前記位相ずれに応じた復号開始タイミングずれをもって各要素復号器12−iを動作させれば、M並列の要素復号結果間の前記位相ずれを緩衝バッファ部17,18により吸収しなくてもよいことになる〔図7の(1)〜(4)参照〕。
したがって、図6に示すように、本例のターボ復号器1Bは、第1実施形態のターボ復号器1の構成を基本構成として、要素復号器12−i毎の復号開始点のデータが同一バンク15−jに存在する場合のアクセス競合を回避することが可能となる。
(B2)第2変形例の説明
上述した第2実施形態及び第1変形例では、符号長、要素復号器12−iの並列数Mが、受信した信号の復号中は一意の定数に定まり、復号中にダイナミックに変化することがないことを前提として、符号長(前記行列のサイズ)と要素復号器12−iの並列数Mとの間の特定の関係によって生じるアクセス競合を回避する方策について説明したが、例えば、要素復号器12−iの復号開始点のデータの記憶されるバンク15−iが異なるように、要素復号器12−iの動作数(つまりは、復号対象信号の分割数M)を制御する、換言すれば、要素復号器12−iあたりの扱う情報長を制御することによっても、アクセス競合を回避することができる。
この場合、図8に示すように、ターボ復号器1Cの基本構成は、図1に示すターボ復号器1と同様に、伝送路値メモリ(RAM)11と、要素復号器12−1〜12−M、インタリーバ/デインタリーバ部13〔接続切替部14,メモリ部15(バンク15−1〜15−R)及び接続切替部16〕と、制御部(メモリ制御部)19Cとをそなえて構成されるが、当該制御部19Cによって、要素復号器12−iの動作数を制御して1要素復号器12−iあたりの復号対象データ量を制御することで、各要素復号器12−iの復号開始点のデータを異なるバンク15−jに記憶させることが可能となる。
つまり、この場合の制御部19Cは、行列状メモリ空間の行列サイズに応じて、要素復号器12−i毎の要素復号結果が異なる行に属するアドレスをアクセス開始点(書き込み開始アドレス)として行方向(又は列方向)に書き込まれた後、異なる列に属するアドレスをアクセス開始点(読み出し開始アドレス)として列方向(又は行方向)に読み出されるよう、復号対象信号の分割数Mを制御する分割数制御部としての機能を兼ね備えていることなる。
例えば、図5又は図7を用いて述べたように、前記行列のサイズがR×C=5×8、要素復号器12−iの並列数M=4の場合で、復号対象のブロックの情報長N=40(=R×C)である場合、4つの要素復号器12−1〜12−4のうち3つ(要素復号器12−1〜12−3)だけ動作させるように制御部19Cによって制御すれば、メモリ部15(バンク15−j)に対する書き込み及び読み出し時の動作は図9に示すようになる。
即ち、この図9は図2と同じであり、図9の(2)及び(4)に示すように、4つの要素復号器12−iを動作させる場合に比して1要素復号器12−iあたりのデータ量が増加(10ビット→14ビット)し、図9の(3)に示すように、読み出し時の要素復号器12−i毎のバンク15−jに対するアクセス開始点を異なるバンク15−jに分散させることができるので、アクセス競合を回避することが可能となる。
なお、デインタリーブ時は、書き込み及び読み出しのアドレス指定が上記インタリーブ時とは逆の動作となる。
〔C〕付記
(付記1)
ターボ符号化された信号について要素復号とインタリーブ処理とデインタリーブ処理とを繰り返し施して前記信号を復号するターボ復号器であって、
復号対象信号を複数に分割した各分割信号を並列に要素復号する複数の要素復号器と、
前記各要素復号器の要素復号結果を異なる行に対して並列に読み書き可能な行列状メモリ空間において記憶するメモリ部と、
前記行列状メモリ空間において、前記要素復号器毎に、前記要素復号結果を異なる行に属するアドレスを書き込み開始アドレスとして当該行又は列方向にそれぞれ書き込んだ後、異なる行に属するアドレスを読み出し開始アドレスとして当該列又は行方向へそれぞれ読み出して前記要素復号器へインタリーブ又はデインタリーブ処理結果として出力するメモリ制御部とをそなえて構成されたことを特徴とする、ターボ復号器。
(付記2)
前記復号対象信号の分割数をM、前記行列状メモリ空間の行数をR(≧M)、列数をC、前記復号対象信号のビット数をN(≦R×C)とした場合に、
前記要素復号器がM個そなえられるとともに、
該メモリ部が、
Cビットの容量をもつメモリをR個そなえることによりR行C列の前記行列状メモリ空間を構成していることを特徴とする、付記1記載のターボ復号器。
(付記3)
該メモリ制御部が、
前記N<R×Cである場合に、(R×C−N)ビット分のパディングデータを前記要素復号器のいずれかの要素復号結果として該メモリ部に書き込み、もしくは、一時停止動作を行ない、当該パディングデータの前記要素復号器への読み出し時に当該要素復号器での要素復号を一時的に停止することを特徴とする、付記2記載のターボ復号器。
(付記4)
該メモリ制御部が、
前記列又は行方向への読み出し時に前記要素復号器毎の読み出し開始対象の要素復号結果が同じ列又は行に属する場合に、前記要素復号器毎に読み出し開始タイミングをずらすことを特徴とする、付記1記載のターボ復号器。
(付記5)
前記読み出し開始タイミングをずらしたことによる前記各要素復号器への各要素復号結果の入力タイミングずれを吸収する緩衝バッファ部をさらにそなえたことを特徴とする、付記4記載のターボ復号器。
(付記6)
該メモリ制御部が、
前記読み出し開始タイミングをずらしたことによる前記各要素復号器への各要素復号結果の入力タイミングずれを吸収すべく前記各要素復号器での要素復号タイミングを調整することを特徴とする、付記4記載のターボ復号器。
(付記7)
ターボ符号化された信号について要素復号とインタリーブ処理とデインタリーブ処理とを繰り返し施して前記信号を復号するターボ復号器であって、
復号対象信号を複数に分割した各分割信号を並列に要素復号する複数の要素復号器と、
前記各要素復号器の要素復号結果を異なる行に対して並列に読み書き可能な行列状メモリ空間において記憶するメモリ部と、
前記行列状メモリ空間において、前記要素復号器毎に、前記要素復号結果を当該行又は列方向にそれぞれ書き込み、列又は行方向へそれぞれ読み出して前記要素復号器へインタリーブ又はデインタリーブ処理結果として出力するメモリ制御部と、
前記行列状メモリ空間の行列サイズに応じて、前記要素復号器毎の前記要素復号結果が異なる行に属するアドレスを書き込み開始アドレスとして前記書き込みが行なわれ、異なる行に属するアドレスを読み出し開始アドレスとして前記読み出しが行なわれるよう、前記復号対象信号の分割数を制御する分割数制御部とをそなえて構成されたことを特徴とする、ターボ復号器。
(付記8)
ターボ符号化された信号について要素復号とインタリーブ処理とデインタリーブ処理とを繰り返し施して前記信号を復号するターボ復号方法であって、
復号対象信号を複数に分割した各分割信号を並列に複数の要素復号器にて要素復号し、
各要素復号結果をメモリ部の行列状メモリ空間において、前記要素復号器毎に、異なる行に属するアドレスを書き込み開始アドレスとして当該行又は列方向にそれぞれ書き込んだ後、異なる行に属するアドレスを読み出し開始アドレスとして当該列又は行方向へそれぞれ読み出して前記要素復号器へインタリーブ又はデインタリーブ処理結果として出力することを特徴とする、ターボ復号方法。
(付記9)
前記復号対象信号の分割数をM、前記行列状メモリ空間の行数をR(≧M)、列数をC、前記復号対象信号のビット数をN(≦R×C)とした場合に、
前記要素復号器がM個そなえられるとともに、
該メモリ部が、
Cビットの容量をもつメモリをR個そなえることによりR行C列の前記行列状メモリ空間を構成していることを特徴とする、付記8記載のターボ復号方法。
(付記10)
前記N<R×Cである場合に、(R×C−N)ビット分のパディングデータを前記要素復号器のいずれかの要素復号結果として該メモリ部に書き込み、もしくは、一時停止動作を行い、当該パディングデータの前記要素復号器への読み出し時に当該要素復号器での要素復号を一時的に停止することを特徴とする、付記9記載のターボ復号方法。
(付記11)
前記列又は行方向への読み出し時に前記要素復号器毎の読み出し開始対象の要素復号結果が同じ列又は行に属する場合に、前記要素復号器毎に読み出し開始タイミングをずらすことを特徴とする、付記8記載のターボ復号方法。
(付記12)
前記読み出し開始タイミングをずらしたことによる前記各要素復号器への各要素復号結果の入力タイミングずれを緩衝バッファ部により吸収することを特徴とする、付記11記載のターボ復号方法。
(付記13)
前記読み出し開始タイミングをずらしたことによる前記各要素復号器への各要素復号結果の入力タイミングずれを吸収すべく前記各要素復号器での要素復号タイミングを調整することを特徴とする、付記11記載のターボ復号方法。
(付記14)
ターボ符号化された信号について要素復号とインタリーブ処理とデインタリーブ処理とを繰り返し施して前記信号を復号するターボ復号方法であって、
復号対象信号を複数に分割した各分割信号を並列に複数の要素復号器にて要素復号し、
各要素復号結果を行列状メモリ空間において、前記要素復号器毎に、当該行又は列方向にそれぞれ書き込み、列又は行方向へそれぞれ読み出して前記要素復号器へインタリーブ又はデインタリーブ処理結果として出力し、
前記行列状メモリ空間の行列サイズに応じて、前記要素復号器毎の前記要素復号結果が異なる行に属するアドレスを書き込み開始アドレスとして前記書き込みが行なわれ、異なる行に属するアドレスを読み出し開始アドレスとして前記読み出しが行なわれるよう、前記復号対象信号の分割数を制御することを特徴とする、ターボ復号方法。
本発明の第1実施形態としてのターボ復号器の要部構成を示すブロック図である。 図1に示すターボ復号器のメモリ部に対する書き込み及び読み出し動作を説明するための概念図である。 第1実施形態の変形例に係るターボ復号器のメモリ部に対する書き込み及び読み出し動作を説明するための概念図である。 本発明の第2実施形態に係るターボ復号器の要部構成を示すブロック図である。 図4に示すターボ復号器のメモリ部に対する書き込み及び読み出し動作を説明するための概念図である。 第2実施形態の第1変形例に係るターボ復号器の要部構成を示すブロック図である。 図6に示すターボ復号器のメモリ部に対する書き込み及び読み出し動作を説明するための概念図である。 第2実施形態の第2変形例に係るターボ復号器の要部構成を示すブロック図である。 図8に示すターボ復号器のメモリ部に対する書き込み及び読み出し動作を説明するための概念図である。 ターボ符号器及びターボ復号器を含む通信システムの構成を示すブロック図である。 図10に示すターボ符号器の要部構成を示すブロック図である。 図10に示すターボ復号器の要部構成を示すブロック図である。 図12に示すターボ復号器の変形例を示すブロック図である。 要素復号器の並列実装による処理時間短縮技術を適用したターボ復号器の要部構成を示すブロック図である。 ターボ復号の過程で行なわれるインタリーブ処理及びデインタリーブ処理を説明するための概念図である。
符号の説明
1,1A〜1C ターボ復号器
11 伝送路値メモリ(RAM)
12−1〜12−M 要素復号器(DEC#1〜DEC#M)
13 インタリーバ/デインタリーバ部
14,16 並列数(DEC#→バンク#)変換部(接続切替部)
15 メモリ部
15−1〜15−R バンクメモリ(シングルポートRAM)
17,18 緩衝バッファ部
19,19A〜19C 制御部
21 シフトレジスタ(SR)

Claims (8)

  1. ターボ符号化された信号について要素復号とインタリーブ処理とデインタリーブ処理とを繰り返し施して前記信号を復号するターボ復号器であって、
    復号対象信号を複数に分割した各分割信号を並列に要素復号する複数の要素復号器と、
    前記各要素復号器の要素復号結果を異なる行に対して並列に読み書き可能な行列状メモリ空間において記憶するメモリ部と、
    前記行列状メモリ空間において、前記要素復号器毎に、前記要素復号結果を異なる行に属するアドレスを書き込み開始アドレスとして当該行又は列方向にそれぞれ書き込んだ後、異なる行に属するアドレスを読み出し開始アドレスとして当該列又は行方向へそれぞれ読み出して前記要素復号器へインタリーブ又はデインタリーブ処理結果として出力するメモリ制御部とをそなえて構成されたことを特徴とする、ターボ復号器。
  2. 前記復号対象信号の分割数をM、前記行列状メモリ空間の行数をR(≧M)、列数をC、前記復号対象信号のビット数をN(≦R×C)とした場合に、
    前記要素復号器がM個そなえられるとともに、
    該メモリ部が、
    Cビットの容量をもつメモリをR個そなえることによりR行C列の前記行列状メモリ空間を構成していることを特徴とする、請求項1記載のターボ復号器。
  3. 該メモリ制御部が、
    前記N<R×Cである場合に、(R×C−N)ビット分のパディングデータを前記要素復号器のいずれかの要素復号結果として該メモリ部に書き込み、もしくは、一時停止動作を行ない、当該パディングデータの前記要素復号器への読み出し時に当該要素復号器での要素復号を一時的に停止することを特徴とする、請求項2記載のターボ復号器。
  4. 該メモリ制御部が、
    前記列又は行方向への読み出し時に前記要素復号器毎の読み出し開始対象の要素復号結果が同じ列又は行に属する場合に、前記要素復号器毎に読み出し開始タイミングをずらすことを特徴とする、請求項1記載のターボ復号器。
  5. 前記読み出し開始タイミングをずらしたことによる前記各要素復号器への各要素復号結果の入力タイミングずれを吸収する緩衝バッファ部をさらにそなえたことを特徴とする、請求項4記載のターボ復号器。
  6. ターボ符号化された信号について要素復号とインタリーブ処理とデインタリーブ処理とを繰り返し施して前記信号を復号するターボ復号器であって、
    復号対象信号を複数に分割した各分割信号を並列に要素復号する複数の要素復号器と、
    前記各要素復号器の要素復号結果を異なる行に対して並列に読み書き可能な行列状メモリ空間において記憶するメモリ部と、
    前記行列状メモリ空間において、前記要素復号器毎に、前記要素復号結果を当該行又は列方向にそれぞれ書き込み、列又は行方向へそれぞれ読み出して前記要素復号器へインタリーブ又はデインタリーブ処理結果として出力するメモリ制御部と、
    前記行列状メモリ空間の行列サイズに応じて、前記要素復号器毎の前記要素復号結果が異なる行に属するアドレスを書き込み開始アドレスとして前記書き込みが行なわれ、異なる行に属するアドレスを読み出し開始アドレスとして前記読み出しが行なわれるよう、前記復号対象信号の分割数を制御する分割数制御部とをそなえて構成されたことを特徴とする、ターボ復号器。
  7. ターボ符号化された信号について要素復号とインタリーブ処理とデインタリーブ処理とを繰り返し施して前記信号を復号するターボ復号方法であって、
    復号対象信号を複数に分割した各分割信号を並列に複数の要素復号器にて要素復号し、
    各要素復号結果をメモリ部の行列状メモリ空間において、前記要素復号器毎に、異なる行に属するアドレスを書き込み開始アドレスとして当該行又は列方向にそれぞれ書き込んだ後、異なる行に属するアドレスを読み出し開始アドレスとして当該列又は行方向へそれぞれ読み出して前記要素復号器へインタリーブ又はデインタリーブ処理結果として出力することを特徴とする、ターボ復号方法。
  8. ターボ符号化された信号について要素復号とインタリーブ処理とデインタリーブ処理とを繰り返し施して前記信号を復号するターボ復号方法であって、
    復号対象信号を複数に分割した各分割信号を並列に複数の要素復号器にて要素復号し、
    各要素復号結果を行列状メモリ空間において、前記要素復号器毎に、当該行又は列方向にそれぞれ書き込み、列又は行方向へそれぞれ読み出して前記要素復号器へインタリーブ又はデインタリーブ処理結果として出力し、
    前記行列状メモリ空間の行列サイズに応じて、前記要素復号器毎の前記要素復号結果が異なる行に属するアドレスを書き込み開始アドレスとして前記書き込みが行なわれ、異なる行に属するアドレスを読み出し開始アドレスとして前記読み出しが行なわれるよう、前記復号対象信号の分割数を制御することを特徴とする、ターボ復号方法。
JP2006318331A 2006-11-27 2006-11-27 ターボ復号器及びターボ復号方法 Pending JP2008135813A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006318331A JP2008135813A (ja) 2006-11-27 2006-11-27 ターボ復号器及びターボ復号方法
EP07116591A EP1931035A1 (en) 2006-11-27 2007-09-17 Turbo decoder and turbo decoding method
US11/902,425 US20080126914A1 (en) 2006-11-27 2007-09-21 Turbo decoder and turbo decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006318331A JP2008135813A (ja) 2006-11-27 2006-11-27 ターボ復号器及びターボ復号方法

Publications (1)

Publication Number Publication Date
JP2008135813A true JP2008135813A (ja) 2008-06-12

Family

ID=39301087

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006318331A Pending JP2008135813A (ja) 2006-11-27 2006-11-27 ターボ復号器及びターボ復号方法

Country Status (3)

Country Link
US (1) US20080126914A1 (ja)
EP (1) EP1931035A1 (ja)
JP (1) JP2008135813A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2306654A2 (en) 2009-09-30 2011-04-06 Fujitsu Limited Turbo decoding device and communication device
JP2011515994A (ja) * 2008-03-28 2011-05-19 クゥアルコム・インコーポレイテッド マルチバンクllrバッファを含むデインターリーブ機構
JPWO2012008066A1 (ja) * 2010-07-12 2013-09-05 パナソニック株式会社 デインタリーブ装置および方法ならびにデータ伝送システムおよび方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8194782B2 (en) * 2008-02-14 2012-06-05 Via Technologies, Inc. Grouping bits interleaving apparatus and method thereof
WO2009141789A1 (en) * 2008-05-21 2009-11-26 Nxp B.V. A data handling system comprising memory banks and data rearrangement
GB2463011B (en) * 2008-08-26 2010-12-29 Toshiba Res Europ Ltd A data decoding device and method
US8432961B2 (en) * 2009-06-11 2013-04-30 Lg Electronics Inc. Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system
CN101707490B (zh) * 2009-09-22 2013-03-20 重庆重邮信科通信技术有限公司 并行Turbo码内交织方法
CN103595424B (zh) * 2012-08-15 2017-02-08 重庆重邮信科通信技术有限公司 分量译码方法、译码器及Turbo译码方法、装置
US20150169406A1 (en) * 2013-12-16 2015-06-18 Sandisk Technologies Inc. Decoding techniques for a data storage device
US9553608B2 (en) 2013-12-20 2017-01-24 Sandisk Technologies Llc Data storage device decoder and method of operation
JP2019091191A (ja) * 2017-11-14 2019-06-13 ルネサスエレクトロニクス株式会社 半導体装置、データ処理システム、データ読取り方法、及びデータ読取りプログラム
US10679320B1 (en) * 2018-07-23 2020-06-09 Ambarella International Lp High dynamic range sensor system with row increment operation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004531138A (ja) * 2001-05-11 2004-10-07 クゥアルコム・インコーポレイテッド ターボ復号器のためのバッファアーキテクチャ
WO2006082923A1 (ja) * 2005-02-03 2006-08-10 Matsushita Electric Industrial Co., Ltd. 並列インターリーバ、並列デインターリーバ及びインターリーブ方法
JP2008118628A (ja) * 2006-10-12 2008-05-22 Nec Electronics Corp 誤り訂正符号復号回路

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0952673B1 (en) * 1997-11-10 2017-05-17 Ntt Mobile Communications Network Inc. Interleaving method, interleaving apparatus, and recording medium in which interleave pattern generating program is recorded
JP2000068863A (ja) * 1998-08-19 2000-03-03 Fujitsu Ltd 符号化装置及びその方法
CA2298919C (en) * 1999-02-19 2006-04-18 Ntt Mobile Communications Network Inc. Interleaving and turbo encoding using prime number permutations
CN1154238C (zh) * 1999-10-07 2004-06-16 松下电器产业株式会社 交织地址生成装置及交织地址生成方法
JP3624874B2 (ja) * 2001-11-19 2005-03-02 日本電気株式会社 インターリービング順序発生器、インターリーバ、ターボエンコーダ、及びターボデコーダ
KR100456474B1 (ko) * 2001-12-08 2004-11-09 한국전자통신연구원 블록터보 부호의 반복 복호 방법 및 블록터보 부호의 반복복호 프로그램을 저장한 기록매체
JP3898574B2 (ja) * 2002-06-05 2007-03-28 富士通株式会社 ターボ復号方法及びターボ復号装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004531138A (ja) * 2001-05-11 2004-10-07 クゥアルコム・インコーポレイテッド ターボ復号器のためのバッファアーキテクチャ
WO2006082923A1 (ja) * 2005-02-03 2006-08-10 Matsushita Electric Industrial Co., Ltd. 並列インターリーバ、並列デインターリーバ及びインターリーブ方法
JP2008118628A (ja) * 2006-10-12 2008-05-22 Nec Electronics Corp 誤り訂正符号復号回路

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011515994A (ja) * 2008-03-28 2011-05-19 クゥアルコム・インコーポレイテッド マルチバンクllrバッファを含むデインターリーブ機構
JP2013128301A (ja) * 2008-03-28 2013-06-27 Qualcomm Inc マルチバンクllrバッファを含むデインターリーブ機構
US8572332B2 (en) 2008-03-28 2013-10-29 Qualcomm Incorporated De-interleaving mechanism involving a multi-banked LLR buffer
JP2013255244A (ja) * 2008-03-28 2013-12-19 Qualcomm Inc マルチバンクllrバッファを含むデインターリーブ機構
EP2306654A2 (en) 2009-09-30 2011-04-06 Fujitsu Limited Turbo decoding device and communication device
US8443253B2 (en) 2009-09-30 2013-05-14 Fujitsu Limited Turbo decoding device and communication device
JPWO2012008066A1 (ja) * 2010-07-12 2013-09-05 パナソニック株式会社 デインタリーブ装置および方法ならびにデータ伝送システムおよび方法
JP5564566B2 (ja) * 2010-07-12 2014-07-30 パナソニック株式会社 デインタリーブ装置および方法ならびにデータ伝送システムおよび方法

Also Published As

Publication number Publication date
EP1931035A1 (en) 2008-06-11
US20080126914A1 (en) 2008-05-29

Similar Documents

Publication Publication Date Title
JP2008135813A (ja) ターボ復号器及びターボ復号方法
JP3634004B2 (ja) 低減メモリ要件およびアドレス生成器を有する畳込みインタリーバ
US5898710A (en) Implied interleaving, a family of systematic interleavers and deinterleavers
US7530011B2 (en) Turbo decoding method and turbo decoding apparatus
US8069387B2 (en) Turbo coding having combined turbo de-padding and rate matching de-padding
US8010867B2 (en) Error correction code decoding device
JP3898129B2 (ja) 連接符号を復号するための高速のモジュール、デバイス及び方法
US20060265635A1 (en) Method of maximum a posterior probability decoding and decoding apparatus
US7783936B1 (en) Memory arbitration technique for turbo decoding
US7770010B2 (en) Dynamically configurable interleaver scheme using at least one dynamically changeable interleaving parameter
JP4376905B2 (ja) 誤り訂正符号化装置および誤り訂正復号装置
JP4837645B2 (ja) 誤り訂正符号復号回路
KR100628201B1 (ko) 터보 디코딩 방법
US6742155B2 (en) System and method for forward error correction
KR20090044178A (ko) 통신시스템에서 병렬구조 라틴방진 인터리빙 방법 및 장치
US20090313522A1 (en) Method and apparatus for low latency turbo code encoding
KR100499467B1 (ko) 블록 인터리빙 방법 및 그를 위한 장치
JP4708301B2 (ja) ターボ復号装置
KR100762612B1 (ko) 터보 복호화 장치에서 인터리버와 디인터리버간 메모리공유 장치 및 방법
US10270473B2 (en) Turbo decoders with stored column indexes for interleaver address generation and out-of-bounds detection and associated methods
JPH03242027A (ja) インターリーブを付加した並列誤り訂正方式
KR100439029B1 (ko) 씨디엠에이 통신시스템의 병렬 디인터리버 및 그를 구비한수신기
JP2002271209A (ja) ターボ符号器およびターボ復号器
US20140359397A1 (en) Memory access apparatus and method for interleaving and deinterleaving
KR100782214B1 (ko) 멀티 캐리어 인터리빙 구현장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110125

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110705