JP2009095008A - ターボ符号復号装置、ターボ符号復号方法及び通信システム - Google Patents
ターボ符号復号装置、ターボ符号復号方法及び通信システム Download PDFInfo
- Publication number
- JP2009095008A JP2009095008A JP2008220232A JP2008220232A JP2009095008A JP 2009095008 A JP2009095008 A JP 2009095008A JP 2008220232 A JP2008220232 A JP 2008220232A JP 2008220232 A JP2008220232 A JP 2008220232A JP 2009095008 A JP2009095008 A JP 2009095008A
- Authority
- JP
- Japan
- Prior art keywords
- turbo code
- memory
- sequence
- processing
- decoding
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 130
- 238000004891 communication Methods 0.000 title claims abstract description 32
- 230000015654 memory Effects 0.000 claims abstract description 505
- 238000012545 processing Methods 0.000 claims abstract description 211
- 238000004364 calculation method Methods 0.000 claims abstract description 33
- 230000008569 process Effects 0.000 claims description 83
- 230000006870 function Effects 0.000 claims description 2
- 230000001934 delay Effects 0.000 claims 1
- 230000000052 comparative effect Effects 0.000 abstract 1
- 230000008707 rearrangement Effects 0.000 description 39
- 238000010586 diagram Methods 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000003111 delayed effect Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
【解決手段】メモリインタフェース5がターボ符号のインタリーブ系列を生成する際、制御部6が加減算処理と比較計算処理を実施するだけで順方向処理と逆方向処理のインタリーブ位置を求める。これにより、インタリーブ系列に依存するメモリアクセスを簡易な計算で逐次的に得ることができるため、インタリーブ系列を保持するためのメモリが不要になり、メモリ量や回路規模を小さく抑えることができる。
【選択図】図1
Description
理想的な復号方法として、MAP(maximum a posteriori probability)復号法があり、Log−MAP復号法、Max−Log−MAP復号法なども広く知られている(例えば、非特許文献1を参照)。
ターボ符号の復号処理を高速化するために、ターボ符号の復号処理を並列化する場合、実装の複雑さが内部インタリーバの構成に依存する。
例えば、「3GPP TS36.212」の規格で規定されているQPP(Quadratic Polynomial Permutation)は(例えば、非特許文献2を参照)は、復号処理の並列化に適している内部インタリーバである(例えば、非特許文献3を参照)。
即ち、非特許文献4には、BCJRアルゴリズムを並列数に分割して同時に処理する旨が記載されており、並列数に分割して同時に処理する際、分割の切れ目となるパスメトリック値を保存し、繰り返し処理の次回の演算で、そのパスメトリック値を用いることで、復号性能の劣化を招くことなく、復号することができるようにしている。
スライディング・ウィンドウ方式もBCJRアルゴリズムを分割して、パスメトリック値を算出することで、メモリ量を削減することができる方法である。
その際、分割の切れ目において、処理の度にトレリスを遡ってBCJRアルゴリズムを始めることで、復号性能の劣化を招くことなく、復号することができる。
トレリスを遡る期間は、「マージン幅」や「トレーニング幅」などと呼ばれる。以下、この明細書では、トレリスを遡る期間を「マージン幅」と称するものとする。
また、スライディング・ウィンドウ方式を用いてメモリ削減を行う場合、特にターボ符号が短いと、マージン幅による処理量の増加の影響が大きく、処理速度が低下する課題があった。
図1はこの発明の実施の形態1によるターボ符号復号装置を示す構成図であり、図において、情報メモリ1は要素復号器7の並列数Pと同じ個数だけ設置され、例えば、「3GPP TS36.212」の規格に規定されているターボ符号の情報系列(システマティック系列)に相当する受信信号を格納する。
パリティ1メモリ2は要素復号器7の並列数Pと同じ個数だけ設置され、ターボ符号のパリティ1系列に相当する受信信号を格納する。
パリティ2メモリ3は要素復号器7の並列数Pと同じ個数だけ設置され、ターボ符号のパリティ2系列に相当する受信信号を格納する。
外部情報メモリ4は要素復号器7の並列数Pと同じ個数だけ設置され、要素復号器7から出力される外部情報系列を格納する。
情報メモリ1、パリティ1メモリ2及びパリティ2メモリ3は、トレリス終端にテイル・ビットが付加されたターボ符号の場合、テイル・ビットの受信信号を格納する。
なお、情報メモリ1、パリティ1メモリ2、パリティ2メモリ3及び外部情報メモリ4からターボ符号格納手段が構成されている。
制御部6はインタリーブ位置をメモリインタフェース5に指示するとともに、要素復号器7における順方向処理と逆方向処理を制御するものであり、制御部6はメモリインタフェース5がターボ符号のインタリーブ系列を生成する際、加減算処理と比較計算処理を実施するだけで順方向処理と逆方向処理のインタリーブ位置を求める。
なお、メモリインタフェース5及び制御部6から系列生成手段が構成されている。
図2はこの発明の実施の形態1によるターボ符号復号装置の処理内容を示すフローチャートである。
例えば、ターボ符号の内部インタリーバとして、整数環上の2次多項式であるQPP方式を採用している図示せぬ送信装置が、例えば、パケットデータなどの情報源をターボ符号化してターボ符号を生成し、そのターボ符号を変調して変調波を送信する。
通信路では、伝播環境に応じて雑音が変調波に付加され、雑音が付加されている変調波が図示せぬ受信装置で受信される。
受信装置には図1のターボ符号復号装置が内蔵されており、ターボ符号復号装置がターボ符号を復号する。
以下、ターボ符号復号装置の処理内容を具体的に説明する。
この場合、P個の要素復号器7により並列に処理される並列化単位の長さがW=K/Pとなり、アドレス数もK/Pとなる。
また、1ワードは、受信信号のビット数nに等しいnビットとなる。
また、ターボ符号復号装置におけるP個のパリティ1メモリ2には、ターボ符号のパリティ1系列に相当する受信信号がそれぞれ格納され、P個のパリティ2メモリ3には、ターボ符号のパリティ2系列に相当する受信信号がそれぞれ格納される。
ただし、パリティ1系列の先頭から#1〜#Pの順番でパリティ1メモリ2に格納され、パリティ2系列の先頭から#1〜#Pの順番でパリティ2メモリ3に格納される。
ただし、メモリインタフェース5が外部情報を書き込む際には、その外部情報の書き込み先が、読み出す外部情報と同じメモリであって、読み出す外部情報と同じアドレスになるように制御する。
また、パリティ1メモリ2及びパリティ2メモリ3からの読み出しは、常に順序通りとなり、非インタリーブの復号時には、パリティ1メモリ2からパリティ1系列に相当する受信信号が読み出されて要素復号器7に出力される。また、インタリーブの復号時には、パリティ2メモリ3からパリティ2系列に相当する受信信号が読み出されて要素復号器7に出力される。
制御部6からは、読み出すメモリ番号B(t)と読み出すアドレスA(t)を示す制御信号がメモリインタフェース5に出力される。
まず、メモリインタフェース5が生成するQPPインタリーバのt番目のインタリーブ系列π(t)は、下記のように表される。
π(t)=(f1×t+f2×t×t) mod K (1)
ただし、f1,f2は所定の定数である。
このとき、P個の要素復号器7が並列処理する場合、i番目の処理でj番目の要素復号器7に渡すデータとしてアクセスするメモリ番号B(t)とアドレスA(t)は、下記のように表される。
B(t)=π(i+W×j)/W (2)
A(t)=π(i+W×j) mod W (3)
ただし、ここでは説明の簡単化のため、PはKの約数としている。
そこで、この実施の形態1では、下記に示すように、制御部6が加減算処理と比較計算処理を実施するだけで、順方向処理と逆方向処理のインタリーブ位置を求めるようにしている。
アクセスするメモリ番号B(t)とアドレスA(t)を計算するに際して、補助パラメータとしてβ(t),α(t)を用意する。
β(0)=ceil((f1+f2)mod K)/W)
α(0)=(f1+f2) mod W
γ=ceil(2×f2/W)
δ=(2×f2 mod W)
ただし、ceil(引数)は、カッコ内の引数から次に大きい整数を返す関数である。
なお、パラメータβ(0),α(0),γ,δを計算して、その計算値を保持しておく分には、大きなメモリ量を必要としない。
[B(t)の更新] If (A(t)+α(t)≧W)
C=1
Else
C=0
B(t+1)=B(t)+β(t)+C
If (B(t+1)≧P)
B(t+1)=B(t+1)−P
[β(t)の更新] If (α(t)+δ≧W)
C=1
Else
C=0
β(t+1)=β(t)+γ+C
If (β(t+1)≧P)
β(t+1)=β(t+1)−P
[A(t)の更新] A(t+1)=A(t)+α(t)
If (A(t+1)≧W)
A(t+1)=A(t+1)−W
[α(t)の更新] α(t+1)=α(t)+δ
If (α(t+1)≧W)
α(t+1)=α(t+1)−W
(4)
なお、情報長Kを並列数Pで等分割して、#1〜#Pの要素復号器7が並列処理を実施する場合、#1〜#Pの要素復号器7における並列処理の始点は、それぞれQPPインタリーバの先頭0,W,2W,・・・,(P−1)×Wとなる。
したがって、制御部6は、逐次計算式における並列処理の初期値となるパラメータとして、B(0),B(W),B(2W),・・・,B((P−1)×W),β(0),β(W),β(2W),・・・,β((P−1)×W),α(0),γ,δを保持している。
このとき、#1〜#Pのパリティ2メモリ3の初期位置から順番に受信信号を読み出すが、#1〜#Pのパリティ2メモリ3から受信信号を読み出す毎に、読み出しアドレス(最初は、初期位置のアドレス=#1〜#Pのパリティ2メモリ3に格納されているW個の受信信号のうち、先頭に格納されている受信信号を示すアドレス)を1ずつインクリメントするようにする。
このとき、#1〜#Pの情報メモリ1から受信信号を読み出す毎に、読み出しアドレス(最初は、初期位置のアドレス=#1〜#Pの情報メモリ1に格納されているW個の受信信号のうち、先頭に格納されている受信信号を示すアドレス)を1ずつインクリメントするようにする。
なお、#1の情報メモリ1に格納されている受信信号は#1の要素復号器7に与え、#2の情報メモリ1に格納されている受信信号は#2の要素復号器7に与え、また、#Pの情報メモリ1に格納されている受信信号は#Pの要素復号器7に与える。
このとき、#1〜#Pのパリティ1メモリ2の初期位置から順番に受信信号を読み出すが、#1〜#Pのパリティ1メモリ2から受信信号を読み出す毎に、読み出しアドレス(最初は、初期位置のアドレス=#1〜#Pのパリティ1メモリ2に格納されているW個の受信信号のうち、先頭に格納されている受信信号を示すアドレス)を1ずつインクリメントするようにする。
[α(t)の更新] If (α(t)≧δ)
α(t−1)=α(t)−δ
Else
α(t−1)=α(t)+W−δ
[A(t)の更新] If (A(t)≧α(t−1))
A(t−1)=A(t)−α(t−1)
Else
A(t−1)=A(t)+W−α(t−1)
[β(t)の更新] If (α(t)+δ≧W)
C=1
Else
C=0
If (β(t)≧γ+C)
β(t−1)=β(t)−γ−C
Else
β(t−1)=β(t+1)+P−γ−C
[B(t)の更新] If (A(t)+α(t)≧W)
C=1
Else
C=0
If (B(t)≧β(t−1)+C)
B(t−1)=B(t)−β(t−1)−C
Else
B(t−1)=B(t)+P−β(t−1)−C
(5)
なお、情報長Kを並列数Pで等分割して、#1〜#Pの要素復号器7が並列処理を実施する場合、#1〜#Pの要素復号器7における並列処理の始点は、それぞれQPPインタリーバの(P−1)×W,・・・,2W,1W,先頭0となる。
したがって、制御部6は、逐次計算式における並列処理の初期値となるパラメータとして、B(0),B(W),B(2W),・・・,B((P−1)×W),β(0),β(W),β(2W),・・・,β((P−1)×W),α(0),γ,δを保持している。
このとき、#1〜#Pのパリティ2メモリ3の最終位置から順番に受信信号を読み出すが、#1〜#Pのパリティ2メモリ3から受信信号を読み出す毎に、読み出しアドレス(最初は、最終位置のアドレス=#1〜#Pのパリティ2メモリ3に格納されているW個の受信信号のうち、最後尾に格納されている受信信号を示すアドレス)を1ずつデクリメントするようにする。
このとき、#1〜#Pの情報メモリ1から受信信号を読み出す毎に、読み出しアドレス(最初は、最終位置のアドレス=#1〜#Pの情報メモリ1に格納されているW個の受信信号のうち、最後尾に格納されている受信信号を示すアドレス)を1ずつデクリメントするようにする。
なお、#1の情報メモリ1に格納されている受信信号は#1の要素復号器7に与え、#2の情報メモリ1に格納されている受信信号は#2の要素復号器7に与え、また、#Pの情報メモリ1に格納されている受信信号は#Pの要素復号器7に与える。
このとき、#1〜#Pのパリティ1メモリ2の最終位置から順番に受信信号を読み出すが、#1〜#Pのパリティ1メモリ2から受信信号を読み出す毎に、読み出しアドレス(最初は、最終位置のアドレス=#1〜#Pのパリティ1メモリ2に格納されているW個の受信信号のうち、最後尾に格納されている受信信号を示すアドレス)を1ずつデクリメントするようにする。
以下、図2を参照しながら、制御部6がメモリインタフェース5を制御することにより、インタリーブ系列と非インタリーブ系列を順番に生成させて、要素復号器7がターボ符号を復号する処理を説明する。
なお、図2では、非インタリーブ、インタリーブ、非インタリーブ、インタリーブ、・・・、非インタリーブ、インタリーブの順番で繰り返し復号を行う例を示しているが、非インタリーブとインタリーブは逆の順序でもよい。また、順方向、逆方向、順方向、逆方向の順番で処理しているが、順方向と逆方向は逆の順序でもよい。
次に、制御部6は、インタリーブ系列π(t)の生成に係るパラメータとして、情報長固有のパラメータ(α(0)、γ、δ)と、並列処理を行う際の先頭位置を示すパラメータ(B(0),B(W),B(2W),・・・,B((P−1)×W),β(0),β(W),β(2W),・・・,β((P−1)×W)とを設定する。
なお、図2では並列処理を明確にするため、並列数をPとして、順方向処理と逆方向処理を#1〜#Pで表している。
なお、図2では、要素復号器7により算出されたパスメトリック値を“端パスメトリック値”と記述しており、特に、パスメトリック値の格納と読み出しを明確にするため、非インタリーブ順方向の場合をF1、非インタリーブ逆方向の場合をB1、インタリーブ順方向の場合をF2、インタリーブ逆方向の場合をB2で表記している。これらのパスメトリック値は新しい値の算出時に上書きする。
メモリインタフェース5は、制御部6からアドレスとメモリ番号を受けると、そのアドレスとメモリ番号にしたがって、#1〜#Pの情報メモリ1から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与えるとともに、パリティ1メモリ2から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号を受けると、その受信信号に対する順方向処理を実施して、復号結果を算出するとともに、非インタリーブ順方向のパスメトリック値を算出し、そのパスメトリック値を端パスメトリック値F1として内部のメモリに格納する。受信信号に対する順方向処理、復号結果やパスメトリック値を算出する方法は、公知の技術であり、例えば、非特許文献1に開示されている。
なお、#1〜#Pの要素復号器7における順方向処理では、Wステップを要する。
メモリインタフェース5は、制御部6からアドレスとメモリ番号を受けると、そのアドレスとメモリ番号にしたがって、#1〜#Pの情報メモリ1から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与えるとともに、パリティ1メモリ2から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号を受けると、その受信信号に対する逆方向処理を実施して、復号結果を算出するとともに、非インタリーブ逆方向のパスメトリック値を算出し、そのパスメトリック値を端パスメトリック値B1として内部のメモリに格納する。
また、#1〜#Pの要素復号器7は、非インタリーブ逆方向のパスメトリック値を用いて、外部情報(例えば、要素復号器7による復号結果が“1”又は“0”である確率を示す情報)を算出し、その外部情報を#1〜#Pの外部情報メモリ4に格納する。受信信号に対する逆方向処理や外部情報を算出する方法は、公知の技術であり、例えば、非特許文献1に開示されている。
なお、#1〜#Pの要素復号器7における逆方向処理では、Wステップを要する。
メモリインタフェース5は、制御部6からメモリ番号B(t)とアドレスA(t)を受けると、そのメモリ番号B(t)とアドレスA(t)にしたがって、#1〜#Pの情報メモリ1から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与えるとともに、パリティ2メモリ3から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与える。
また、#1〜#Pの外部情報メモリ4から外部情報をそれぞれ読み出して、各外部情報を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号と外部情報を受けると、その外部情報を用いて、その受信信号に対する順方向処理を実施して、復号結果を算出するとともに、インタリーブ順方向のパスメトリック値を算出し、そのパスメトリック値を端パスメトリック値F2として内部のメモリに格納する。
メモリインタフェース5は、制御部6からメモリ番号B(t)とアドレスA(t)を受けると、そのメモリ番号B(t)とアドレスA(t)にしたがって、#1〜#Pの情報メモリ1から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与えるとともに、パリティ2メモリ3から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与える。
また、#1〜#Pの外部情報メモリ4から外部情報をそれぞれ読み出して、各外部情報を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号と外部情報を受けると、その外部情報を用いて、その受信信号に対する逆方向処理を実施して、復号結果を算出するとともに、インタリーブ逆方向のパスメトリック値を算出し、そのパスメトリック値を端パスメトリック値B2として内部のメモリに格納する。
また、#1〜#Pの要素復号器7は、インタリーブ逆方向のパスメトリック値を用いて外部情報を算出し、その外部情報を#1〜#Pの外部情報メモリ4に格納する(外部情報メモリ4に格納されている外部情報の上に、新たに算出した外部情報を上書きする)。
メモリインタフェース5は、制御部6からアドレスとメモリ番号を受けると、そのアドレスとメモリ番号にしたがって、#1〜#Pの情報メモリ1から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与えるとともに、パリティ1メモリ2から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与える。
また、#1〜#Pの外部情報メモリ4から外部情報をそれぞれ読み出して、各外部情報を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号と外部情報を受けると、内部のメモリに格納されている端パスメトリック値F1(繰り返し1回目における非インタリーブ系列の順方向処理で算出された端パスメトリック値F1)を読み出して、その端パスメトリック値F1を順方向処理の初期値として設定する。
そして、その外部情報を用いて、その受信信号に対する順方向処理を実施して、復号結果を算出するとともに、インタリーブ順方向のパスメトリック値を算出する。
#1〜#Pの要素復号器7は、そのパスメトリック値を端パスメトリック値F1として、内部のメモリに格納されている端パスメトリック値F1を更新する(内部のメモリに格納されている端パスメトリック値F1の上に、新たに算出したパスメトリック値を上書きする)。
メモリインタフェース5は、制御部6からアドレスとメモリ番号を受けると、そのアドレスとメモリ番号にしたがって、#1〜#Pの情報メモリ1から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与えるとともに、パリティ1メモリ2から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与える。
また、#1〜#Pの外部情報メモリ4から外部情報をそれぞれ読み出して、各外部情報を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号と外部情報を受けると、内部のメモリに格納されている端パスメトリック値B1(繰り返し1回目における非インタリーブ系列の逆方向処理で算出された端パスメトリック値B1)を読み出し、その端パスメトリック値B1を逆方向処理の初期値として設定する。
そして、その外部情報を用いて、その受信信号に対する逆方向処理を実施して、復号結果を算出するとともに、非インタリーブ逆方向のパスメトリック値を算出する。
#1〜#Pの要素復号器7は、そのパスメトリック値を端パスメトリック値B1として、内部のメモリに格納されている端パスメトリック値B1を更新する。
また、非インタリーブ逆方向のパスメトリック値を用いて外部情報を算出し、その外部情報を#1〜#Pの外部情報メモリ4に格納する。
メモリインタフェース5は、制御部6からメモリ番号B(t)とアドレスA(t)を受けると、そのメモリ番号B(t)とアドレスA(t)にしたがって、#1〜#Pの情報メモリ1から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与えるとともに、パリティ2メモリ3から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与える。
また、#1〜#Pの外部情報メモリ4から外部情報をそれぞれ読み出して、各外部情報を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号と外部情報を受けると、内部のメモリに格納されている端パスメトリック値F2(繰り返し1回目におけるインタリーブ系列の順方向処理で算出された端パスメトリック値F2)を読み出し、その端パスメトリック値F2を順方向処理の初期値として設定する。
そして、その外部情報を用いて、その受信信号に対する順方向処理を実施して、復号結果を算出するとともに、インタリーブ順方向のパスメトリック値を算出する。
#1〜#Pの要素復号器7は、そのパスメトリック値を端パスメトリック値F2として、内部のメモリに格納されている端パスメトリック値F2を更新する。
メモリインタフェース5は、制御部6からメモリ番号B(t)とアドレスA(t)を受けると、そのメモリ番号B(t)とアドレスA(t)にしたがって、#1〜#Pの情報メモリ1から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与えるとともに、パリティ2メモリ3から受信信号をそれぞれ読み出して、各受信信号を#1〜#Pの要素復号器7に与える。
また、#1〜#Pの外部情報メモリ4から外部情報をそれぞれ読み出して、各外部情報を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号と外部情報を受けると、内部のメモリに格納されている端パスメトリック値B2(繰り返し1回目におけるインタリーブ系列の逆方向処理で算出された端パスメトリック値B2)を読み出し、その端パスメトリック値B2を逆方向処理の初期値として設定する。
そして、その外部情報を用いて、その受信信号に対する逆方向処理を実施して、復号結果を算出するとともに、インタリーブ逆方向のパスメトリック値を算出する。
#1〜#Pの要素復号器7は、そのパスメトリック値を端パスメトリック値B2として、内部のメモリに格納されている端パスメトリック値B2を更新する。
また、インタリーブ逆方向のパスメトリック値を用いて外部情報を算出し、その外部情報を#1〜#Pの外部情報メモリ4に格納する。
#1〜#Pの要素復号器7は、所定回数だけ繰り返し実施すると、最後に算出した復号結果を出力する。
即ち、インタリーブ系列に依存するメモリアクセスを簡易な計算で逐次的に得ることができるため、インタリーブ系列を保持するためのメモリが不要になり、メモリ量や回路規模を小さく抑えることができる効果を奏する。
ただし、要素復号器7が順方向処理と逆方向処理を同時に実施する場合、並列化単位の長さWが奇数であれば、順方向処理又は逆方向処理のいずれか一方の開始を1ステップ先行又は1ステップ遅延させるようにする。
両方向から進んだトレリスが交差した先は、互いのパスメトリック値を読み出すことができるので、外部情報を算出することができる。
ただし、並列化単位の長さWが奇数であれば、順方向処理又は逆方向処理のいずれか一方の開始を1ステップ先行又は1ステップ遅延させるようにする。
その理由は、並列化単位の長さWが奇数である場合、トレリスが交差する位置が同じになるため、いずれのパスメトリック値も保存されていない位置が生じてしまって、外部情報を算出することができないからである。
いずれかの開始を1ステップ先行、もしくは、1ステップ遅延させることで、どのような場合にも処理のタイミングに矛盾なく外部情報を算出することができる。
上記実施の形態1では、情報メモリ1、パリティ1メモリ2、パリティ2メモリ3及び外部情報メモリ4をP個ずつ実装しているものを示したが、図3に示すように、情報メモリ1、パリティ1メモリ2、パリティ2メモリ3及び外部情報メモリ4を1個ずつ実装するようにしてもよい。
この場合、復号処理を並列化する際のデータの読み書きは、アクセスするアドレスと読み出したデータの並べ替えを制御することで可能となる。
例えば、並列数をPとすると、アドレス数はK/P、1ワードは受信信号のビット数nのP倍であるn×Pビットとなり、読み出したn×Pビットをnビットずつ区切って並べ替えるようにする。
また、制御部6は、メモリインタフェース5が読み出した受信信号であるデータの並べ替えパターンを制御する。
ここでは、メモリインタフェース5がアクセスするアドレスをA(t)、データの並べ替え順を示すパラメータをB(t)として、補助パラメータβ(t),α(t)を用意する。
ただし、以下のパラメータβ(0),α(0),γ,δは、計算量が大きいので,予めメモリに格納しておくものとする。
β(0)=ceil((f1+f2)mod K)/W)
α(0)=(f1+f2) mod W
γ=ceil(2×f2/W)
δ=(2×f2 mod W)
なお、パラメータβ(0),α(0),γ,δを計算して、その計算値を保持しておく分には、大きなメモリ量を必要としない。
したがって、制御部6は、逐次計算式における並列処理の初期値となるパラメータとして、B(0),B(W),B(2W),・・・,B((P−1)×W),β(0),β(W),β(2W),・・・,β((P−1)×W),α(0),γ,δを保持している。
非インタリーブ時のアドレスについては、上記実施の形態1と同様に、初期位置又は最終位置から1ずつアドレスを変化させればよい。
情報メモリ1、パリティ1メモリ2、パリティ2メモリ3及び外部情報メモリ4を1個ずつ実装する場合において、データ番号iに対してPでの剰余(i mod P)が等しい値を同じアドレスに格納して並列処理するとすれば、インタリーブ時においても、同じ組み合わせを同時に処理することになる。
ただし、データを受け渡す要素復号器7については変わるので、データの並べ替えが必要となる。図4では、上記の式(4)、式(5)から得られるB(t)を用いて、データの並べ替えを実施している。
なお、図2では、非インタリーブ、インタリーブ、非インタリーブ、インタリーブ、・・・、非インタリーブ、インタリーブの順番で繰り返し復号を行う例を示しているが、非インタリーブとインタリーブは逆の順序でもよい。また、順方向、逆方向、順方向、逆方向の順番で処理しているが、順方向と逆方向は逆の順序でもよい。
次に、制御部6は、インタリーブ系列π(t)の生成に係るパラメータとして、情報長固有のパラメータ(α(0)、γ、δ)と、並列処理を行う際の先頭位置を示すパラメータ(B(0),B(W),B(2W),・・・,B((P−1)×W),β(0),β(W),β(2W),・・・,β((P−1)×W)とを設定する。
なお、図2では並列処理を明確にするため、並列数をPとして、順方向処理と逆方向処理を#1〜#Pで表している。
また、制御部6は、順方向処理と逆方向処理の繰り返し回数とメモリアクセスの初期設定を行うとともに、要素復号器7におけるパスメトリック計算の初期化を行う。
メモリインタフェース5は、制御部6からアドレスと並べ替え順パラメータB(t)を受けると、そのアドレスにしたがって情報メモリ1から受信信号を読み出し、その並べ替え順パラメータB(t)にしたがって、その受信信号の並び替えを実施し、並び替え後の受信信号を#1〜#Pの要素復号器7に出力する。また、パリティ1メモリ2から受信信号を読み出して、その受信信号を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号を受けると、その受信信号に対する順方向処理を実施して、復号結果を算出するとともに、非インタリーブ順方向のパスメトリック値を算出し、そのパスメトリック値を端パスメトリック値F1として内部のメモリに格納する。
なお、#1〜#Pの要素復号器7における順方向処理では、Wステップを要する。
メモリインタフェース5は、制御部6からアドレスと並べ替え順パラメータB(t)を受けると、そのアドレスにしたがって情報メモリ1から受信信号を読み出し、その並べ替え順パラメータB(t)にしたがって、その受信信号の並び替えを実施し、並び替え後の受信信号を#1〜#Pの要素復号器7に出力する。また、パリティ1メモリ2から受信信号を読み出して、その受信信号を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号を受けると、その受信信号に対する逆方向処理を実施して、復号結果を算出するとともに、非インタリーブ逆方向のパスメトリック値を算出し、そのパスメトリック値を端パスメトリック値B1として内部のメモリに格納する。
また、#1〜#Pの要素復号器7は、非インタリーブ逆方向のパスメトリック値を用いて外部情報を算出し、その外部情報を外部情報メモリ4に格納する。
なお、#1〜#Pの要素復号器7における逆方向処理では、Wステップを要する。
メモリインタフェース5は、制御部6からアドレスA(t)と並べ替え順パラメータB(t)を受けると、そのアドレスA(t)にしたがって情報メモリ1から受信信号を読み出し、その並べ替え順パラメータB(t)にしたがって、その受信信号の並び替えを実施し、並び替え後の受信信号を#1〜#Pの要素復号器7に出力する。
また、パリティ2メモリ3から受信信号を読み出して、その受信信号を#1〜#Pの要素復号器7に与え、外部情報メモリ4から外部情報を読み出して、その外部情報を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号と外部情報を受けると、その外部情報を用いて、その受信信号に対する順方向処理を実施して、復号結果を算出するとともに、インタリーブ順方向のパスメトリック値を算出し、そのパスメトリック値を端パスメトリック値F2として内部のメモリに格納する。
メモリインタフェース5は、制御部6からアドレスA(t)と並べ替え順パラメータB(t)を受けると、そのアドレスA(t)にしたがって情報メモリ1から受信信号を読み出し、その並べ替え順パラメータB(t)にしたがって、その受信信号の並び替えを実施し、並び替え後の受信信号を#1〜#Pの要素復号器7に出力する。
また、パリティ2メモリ3から受信信号を読み出して、その受信信号を#1〜#Pの要素復号器7に与え、外部情報メモリ4から外部情報を読み出して、その外部情報を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号と外部情報を受けると、その外部情報を用いて、その受信信号に対する逆方向処理を実施して、復号結果を算出するとともに、インタリーブ逆方向のパスメトリック値を算出し、そのパスメトリック値を端パスメトリック値B2として内部のメモリに格納する。
また、#1〜#Pの要素復号器7は、インタリーブ逆方向のパスメトリック値を用いて外部情報を算出し、その外部情報を外部情報メモリ4に格納する(外部情報メモリ4に格納されている外部情報の上に、新たに算出した外部情報を上書きする)。
メモリインタフェース5は、制御部6からアドレスと並べ替え順パラメータB(t)を受けると、そのアドレスにしたがって情報メモリ1から受信信号を読み出し、その並べ替え順パラメータB(t)にしたがって、その受信信号の並び替えを実施し、並び替え後の受信信号を#1〜#Pの要素復号器7に出力する。
また、パリティ1メモリ2から受信信号を読み出して、その受信信号を#1〜#Pの要素復号器7に与え、外部情報メモリ4から外部情報を読み出して、その外部情報を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号と外部情報を受けると、内部のメモリに格納されている端パスメトリック値F1(繰り返し1回目における非インタリーブ系列の順方向処理で算出された端パスメトリック値F1)を読み出して、その端パスメトリック値F1を順方向処理の初期値として設定する。
そして、その外部情報を用いて、その受信信号に対する順方向処理を実施して、復号結果を算出するとともに、インタリーブ順方向のパスメトリック値を算出する。
#1〜#Pの要素復号器7は、そのパスメトリック値を端パスメトリック値F1として、内部のメモリに格納されている端パスメトリック値F1を更新する(内部のメモリに格納されている端パスメトリック値F1の上に、新たに算出したパスメトリック値を上書きする)。
メモリインタフェース5は、制御部6からアドレスと並べ替え順パラメータB(t)を受けると、そのアドレスにしたがって情報メモリ1から受信信号を読み出し、その並べ替え順パラメータB(t)にしたがって、その受信信号の並び替えを実施し、並び替え後の受信信号を#1〜#Pの要素復号器7に出力する。
また、パリティ1メモリ2から受信信号を読み出して、その受信信号を#1〜#Pの要素復号器7に与え、外部情報メモリ4から外部情報を読み出して、その外部情報を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号と外部情報を受けると、内部のメモリに格納されている端パスメトリック値B1(繰り返し1回目における非インタリーブ系列の逆方向処理で算出された端パスメトリック値B1)を読み出し、その端パスメトリック値B1を逆方向処理の初期値として設定する。
そして、その外部情報を用いて、その受信信号に対する逆方向処理を実施して、復号結果を算出するとともに、非インタリーブ逆方向のパスメトリック値を算出する。
#1〜#Pの要素復号器7は、そのパスメトリック値を端パスメトリック値B1として、内部のメモリに格納されている端パスメトリック値B1を更新する。
また、非インタリーブ逆方向のパスメトリック値を用いて外部情報を算出し、その外部情報を外部情報メモリ4に格納する。
メモリインタフェース5は、制御部6からアドレスA(t)と並べ替え順パラメータB(t)を受けると、そのアドレスA(t)にしたがって情報メモリ1から受信信号を読み出し、その並べ替え順パラメータB(t)にしたがって、その受信信号の並び替えを実施し、並び替え後の受信信号を#1〜#Pの要素復号器7に出力する。
また、パリティ2メモリ3から受信信号を読み出して、その受信信号を#1〜#Pの要素復号器7に与え、外部情報メモリ4から外部情報を読み出して、その外部情報を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号と外部情報を受けると、内部のメモリに格納されている端パスメトリック値F2(繰り返し1回目におけるインタリーブ系列の順方向処理で算出された端パスメトリック値F2)を読み出し、その端パスメトリック値F2を順方向処理の初期値として設定する。
そして、その外部情報を用いて、その受信信号に対する順方向処理を実施して、復号結果を算出するとともに、インタリーブ順方向のパスメトリック値を算出する。
#1〜#Pの要素復号器7は、そのパスメトリック値を端パスメトリック値F2として、内部のメモリに格納されている端パスメトリック値F2を更新する。
メモリインタフェース5は、制御部6からアドレスA(t)と並べ替え順パラメータB(t)を受けると、そのアドレスA(t)にしたがって情報メモリ1から受信信号を読み出し、その並べ替え順パラメータB(t)にしたがって、その受信信号の並び替えを実施し、並び替え後の受信信号を#1〜#Pの要素復号器7に出力する。
また、パリティ2メモリ3から受信信号を読み出して、その受信信号を#1〜#Pの要素復号器7に与え、外部情報メモリ4から外部情報を読み出して、その外部情報を#1〜#Pの要素復号器7に与える。
#1〜#Pの要素復号器7は、メモリインタフェース5から受信信号と外部情報を受けると、内部のメモリに格納されている端パスメトリック値B2(繰り返し1回目におけるインタリーブ系列の逆方向処理で算出された端パスメトリック値B2)を読み出し、その端パスメトリック値B2を逆方向処理の初期値として設定する。
そして、その外部情報を用いて、その受信信号に対する逆方向処理を実施して、復号結果を算出するとともに、インタリーブ逆方向のパスメトリック値を算出する。
#1〜#Pの要素復号器7は、そのパスメトリック値を端パスメトリック値B2として、内部のメモリに格納されている端パスメトリック値B2を更新する。
また、インタリーブ逆方向のパスメトリック値を用いて外部情報を算出し、その外部情報を#1〜#Pの外部情報メモリ4に格納する。
#1〜#Pの要素復号器7は、所定回数だけ繰り返し実施すると、最後に算出した復号結果を出力する。
ただし、要素復号器7が順方向処理と逆方向処理を同時に実施する場合、並列化単位の長さWが奇数であれば、順方向処理又は逆方向処理のいずれか一方の開始を1ステップ先行又は1ステップ遅延させるようにする。
両方向から進んだトレリスが交差した先は、互いのパスメトリック値を読み出すことができるので、外部情報を算出することができる。
ただし、並列化単位の長さWが奇数であれば、順方向処理又は逆方向処理のいずれか一方の開始を1ステップ先行又は1ステップ遅延させるようにする。
その理由は、並列化単位の長さWが奇数である場合、トレリスが交差する位置が同じになるため、いずれのパスメトリック値も保存されていない位置が生じてしまって、外部情報を算出することができないからである。
いずれかの開始を1ステップ先行、もしくは、1ステップ遅延させることで、どのような場合にも処理のタイミングに矛盾なく外部情報を算出することができる。
図5はこの発明の実施の形態3によるターボ符号復号装置を示す構成図であり、図において、並列化ターボ復号器10は図1又は図3に相当するターボ符号復号装置である。
復号方式制御部11はターボ符号の情報長Kに応じて、要素復号器7の並列数Pを決定し、その並列数分の要素復号器7を制御するとともに、ターボ符号の情報長Kに応じて、要素復号器7における順方向処理と逆方向処理の繰り返し回数Iとマージン幅Mを制御する。なお、復号方式制御部11は制御手段を構成している。
図7はこの発明の実施の形態3によるターボ符号復号装置の処理内容を示すフローチャートである。
ターボ符号の復号処理の高速化を図る場合、動作クロックを上げる方法や、要素復号器7の並列数Pを多くするなどの方法が考えられる。
しかし、動作クロックを上げる方法を用いる場合、例えば、消費電力やデバイスのコストなどが大きくなる。
そこで、この実施の形態3では、要素復号器7の並列数Pを多くする方法を採用し、システムが要求する処理速度に適する復号方式を情報長Kに応じて選択することで、実装上有効な範囲の動作クロックに設定するようにする。
ターボ符号の復号処理では、順方向処理と逆方向処理でそれぞれWステップが必要であり、非インタリーブとインタリーブの復号繰り返し回数Iを考慮すると、(W+W)×2×Iステップが必要である。ただし、ここでは説明の簡単化のためテイル・ビットの処理を考慮していない。
順方向処理と逆方向処理におけるマージン幅Mを考慮すると、必要なステップ数は、(W+M+W+M)×2×Iステップとなり、Wが小さい場合にはマージン幅Mの与える影響が大きい。
図6において、横軸は情報長K、縦軸はブロック誤り率BLER(Block Error Rate)が1%に達するEb/N0[dB]を示している。
ターボ符号は、「3GPP TS36212」の規格で規定されているターボ符号を用いており、符号長は3K+12である。
シミュレーション条件として、加法的白色ガウス通信路、BPSK変調を仮定しており、ターボ符号の復号には「Max Log MAP復号法」を用いている。
繰り返し回数Iが多いほど復号性能が高く、情報長Kが大きくなるほど性能差が大きくなる。繰り返しを行うターボ符号の復号は、正しい結果に収束するまでに要する繰り返し回数が情報長Kに依存する。情報長Kが短い場合、情報長Kが長い場合と比べて少ない繰り返し回数で収束する。
この実施の形態3では、通信システムで要求される処理速度を満たして、高い復号性能が得られるように、情報長Kに応じて要素復号器7の並列数P、マージン幅M、復号繰り返し回数Iを制御する。
例えば、図6のグラフにおいて、ターボ符号を用いた通信性能として、繰り返し回数8回に対して0.5dB程度の劣化まで許容できるとすれば、情報長Kが100ビット未満では繰り返し回数を2回、情報長Kが1000ビット未満では繰り返し回数を3回、情報長Kが1000ビット以上では繰り返し回数を4回とすることで、繰り返し回数Iを必要回数に抑えることができる。
この実施の形態3では、予め、通信システムが要求する処理速度を満たすよう設定されている要素復号器7の並列数Pとマージン幅Mがテーブル化されており、そのテーブルが復号方式制御部11に保持されている。
復号方式制御部11は、情報長Kを入力すると(ステップST1)、保持しているテーブルから要素復号器7の並列数Pとマージン幅Mを読み出して、その並列数Pとマージン幅Mを設定する(ステップST2,ST3)。ただし、並列数Pとマージン幅Mは、実装されている回路の持つ最大値以下の値に設定される。
なお、復号繰り返し回数Iは、システムが要求する復号性能を満たすまで繰り返し回数を減らして、処理速度を向上させるようにしてもよい。
復号方式制御部11は、復号方式制御部11による設定内容でターボ復号を実施し(ステップST5,ST6)、その復号結果を出力する(ステップST7)。
復号回路の動作時間は復号繰り返し回数Iに比例するため、通信システムが要求する復号性能に応じて繰り返し回数Iを制御することで消費電力の低減効果を高めることができる。また、実装上で有効な範囲の動作クロックでシステム要求を満たすため、開発コストを抑えることができる。
図8はこの発明の実施の形態4による通信システムを示す構成図であり、通信システムは送信装置20と受信装置30から構成されている。
図において、送信装置20は内部インタリーバにQPPを用いているターボ符号化器21を実装しており、ターボ符号化器21を使用して、情報源をターボ符号化してターボ符号を生成し、そのターボ符号を変調して変調波を送信する。
受信装置30は図1、図3又は図5のターボ符号復号装置31を実装しており、送信装置20から送信された変調波を受信し、その変調波からターボ符号を復調すると、そのターボ符号復号装置31を使用して、そのターボ符号を復号する。
なお、送信装置20と受信装置30の通信路は、無線でも有線でもよく、ターボ符号を利用するディジタル通信システムの全てに適用することができる。
図9はこの発明の実施の形態4による通信システムの処理内容を示すフローチャートである。
送信装置20は、例えば、データ通信対象のパケットデータである情報源を入力すると(ステップST11)、実装しているターボ符号化器21を使用して、その情報源をターボ符号化して、ターボ符号(ターボ符号化系列)を生成する(ステップST12)。
送信装置20は、ターボ符号を生成すると、そのターボ符号を変調して変調波を送信する(ステップST13)。
通信路では、伝播環境に応じて変調波に雑音が付加される。
受信装置30は、ターボ符号を復調すると、図1、図3又は図5のターボ符号復号装置を使用して、そのターボ符号を復号し(ステップST15)、その復号結果を例えば再生装置に出力する。
これにより、再生装置により復号結果の再生処理が実施されて(ステップST16)、情報源の再生が行われる。
図10はこの発明の実施の形態5による通信システムを示す構成図であり、通信システムは図8の送信装置20に相当する移動体端末40と、図8の受信装置30に相当する基地局50とから構成されている。
図において、移動体端末40は「3GPP TS36.212」の規格で規定されたターボ符号化器41を実装しており、そのターボ符号化器41を使用して、情報源をターボ符号化してターボ符号を生成し、そのターボ符号を変調して変調波を送信する。
なお、移動体端末40では、基地局50に送信するデータのうち、ターボ符号を利用するチャネル(例えば、Uplink Shared Channel)に割り当てられたデータ系列をターボ符号化し、そのターボ符号を生成して送信する。
基地局50は図1、図3又は図5のターボ符号復号装置51を実装しており、移動体端末40から送信された変調波を受信し、その変調波からターボ符号を復調すると、そのターボ符号復号装置51を使用して、そのターボ符号を復号する。
上記実施の形態1〜5では、復号処理を並列化する際、メモリインタフェース5がアクセスする情報メモリ1のメモリ番号B(t)とアドレスA(t)とを制御部6が逐次的に計算していた。図11は、上記実施の形態1〜5に係るターボ符号復号装置を示す構成図であり、特に制御部6の内部構成を詳細に示すものである。上記実施の形態1〜5では制御部6として記載しているが(図1及び図3)、この制御部(系列生成手段)6は、アドレスA(t)を計算するためのインタリーブアドレス生成テーブル61及びアドレス生成部62と、メモリ番号B(t)を計算するための情報選択制御部63及びメモリ選択初期テーブル65と、これら各部の動作を制御するための動作制御部64とからなる。
メモリ選択初期テーブル65は、メモリ番号B(t)の逐次計算式における並列処理の初期値となるパラメータB(0),B(W),B(2W),・・・,B((P−1)×W),β(0),β(W),β(2W),・・・,β((P−1)×W),γを保持している。情報選択制御部63は、メモリ選択初期テーブル65が保持するパラメータを用いて、式(4)又は式(5)を計算してメモリ番号B(t)を求める。そして、メモリインタフェース5がメモリ番号B(t)とアドレスA(t)にしたがってインタリーブ系列を生成して要素復号器(復号手段)7へ渡す。メモリインタフェース5はまた、要素復号器7から出力される外部情報系列を外部情報メモリ4に出力する処理を実施する。
動作制御部64は、順方向処理と逆方向処理の繰り返し回数とメモリアクセスの初期設定を行うとともに、要素復号器7におけるパスメトリック計算の初期化を行う。ただし、上記実施の形態3においては、動作制御部64は復号方式制御部11に相当する。
そこで、この実施の形態6では、制御部6の情報選択制御部(情報選択制御手段)66が、メモリ選択初期テーブル65のパラメータに代えて、インタリーブアドレス生成テーブル61の値を用いてメモリ番号B(t)を求めるようにする。
この場合、M個の要素復号器7により並列に処理される並列化単位の長さがW=N/Mとなり、アドレス数もN/Mとなる。
インタリーブ時には、情報メモリ1と、情報メモリ1に書き込まれたデータが受け渡される要素復号器7とで対応関係が変わるので、データの並べ替えが必要となる。図13では、後述する式(10)から得られるメモリ番号B(t)を用いて、データの並べ替えを実施している。
π(t+k×N/M)=π(t)+k×fx×N/M mod N (6)
ここで、t=0,1,・・・,N/M−1、k=0,1,・・・,M−1である。
このとき、M個の要素復号器7が並列処理する場合にアクセスする情報メモリ1のメモリ番号B(t)とアドレス(t)は、下記のように表される。
B(t)=ceil(π(t)/W) (7)
A(t)=π(t) mod W (8)
ここで、t=0,1,・・・,W−1であり、W=N/Mとし、MはNの約数としている。
そこで、この実施の形態6では、制御部6が上記実施の形態1〜5と同様にアドレスA(t)を簡易な計算で逐次的に算出するとともに、メモリ番号B(t)もアドレス算出のためのパラメータを用いて算出するようにしている。
なお、図11のインタリーブアドレス生成テーブル61は情報長Kに応じた係数f1,f2を保持するものであるが、この実施の形態におけるインタリーブアドレス生成テーブル61は情報長Nに応じた係数fxを保持するものとする。
この実施の形態において、インタリーブアドレスは下記式(9)により表現されるため、メモリインタフェース5がアクセスする情報メモリ1のメモリ番号B(t)は、以下に示すように、情報選択制御部66において順方向の逐次的な操作で求めることができる。
π(t+W)=π(t)+fx×W (9)
B(t)=A+(k−1)×fx mod M (10)
ここで、Aは基準に用いる1つのメモリ番号B(t)であり、このメモリ番号B(t)の情報メモリ1に格納されたデータが最初の処理で#1の要素復号器7に渡される。ただし、基準となるメモリ番号Aは任意の値であって、#1〜#Mのうちのいずれであってもよく、従来のように式(7)を計算して求めればよい。
例えば、#1の要素復号器7が#A(A=1,2,・・・,M)の情報メモリ1からデータを受ける場合には、#2の要素復号器7は#(A+fx)(mod M)の情報メモリ1からデータを受けることとなる。以下、同様に、#kの要素復号器7は#(A+(k−1)×fx)(mod M)の情報メモリ1からデータを受ける。
メモリインタフェース5は、アドレス生成部62からアドレスを、情報選択制御部66からメモリ番号を受け取ると、そのアドレスとメモリ番号にしたがって、#1〜#Mの情報メモリ1から受信信号をそれぞれ読み出して、各受信信号を#1〜#Mの要素復号器7に与える。
他方、インタリーブ時のアクセスでは、インタリーブ系列に従うランダムアクセスである。即ちインタリーブ系列の順方向処理又は逆方向処理を行うため、アドレス生成部62は式(4)又は式(5)のA(t)及びα(t)に関する計算式を用いて、アドレスA(t)を算出し、そのアドレスA(t)をメモリインタフェース5に出力する。また、情報選択制御部66は式(10)を用いて、メモリ番号B(t)を算出し、そのメモリ番号B(t)をメモリインタフェース5に出力する。
メモリインタフェース5は、アドレス生成部62からアドレスA(t)を、情報選択制御部66からメモリ番号B(t)を受け取ると、そのアドレスA(t)とメモリ番号B(t)にしたがって、#1〜#Mの情報メモリ1から受信信号をそれぞれ読み出して、各受信信号を#1〜#M要素復号器7に与える。
他方、インタリーブの復号時には、メモリインタフェース5が#1〜#Mのパリティ2メモリ3からパリティ2系列に相当する受信信号をそれぞれ読み出して、各受信信号を#1〜#Mの要素復号器7に与える。
なお、#1〜#Mの要素復号器7がターボ符号を復号する処理は上記実施の形態1〜5と同様であるので説明を省略する。
また、情報選択制御部66がインタリーブアドレス生成テーブル61に格納された情報を用いてメモリ番号を生成するようにしたため、上記実施の形態1〜5のメモリ選択初期テーブル65に相当するメモリが不要になり、メモリ量や回路規模をさらに小さく抑えることができる効果を奏する。
即ち、要素復号器7が順方向処理と逆方向処理を同時に実施する場合、順方向処理は並列化単位の最初からパスメトリック値を保存しながら処理を進め、逆方向処理は並列化単位の末尾からパスメトリック値を保存しながら処理を進める。
両方向から進んだトレリスが交差した先は、互いのパスメトリック値を読み出すことができるので、外部情報を算出することができる。
上記実施の形態6では、一般的な多項式により生成されるインタリーブ系列を用いるターボ符号復号装置を示したが、図12に示すターボ符号復号装置において、一般的な多項式に代えて2次多項式であるQPP方式を採用し、並列段数Mを4段あるいは2段にしてもよい。以下では、並列段数Mを4段にした構成について説明する。
この場合、情報長をNとすると、QPPインタリーバのt番目のインタリーブ系列π(t)は、下記式(11)のようになる。
π(t)=f1×t+f2×t×t mod N (11)
ただし、f1は奇数の定数、f2は偶数の定数である。
このとき、4個の要素復号器7が並列処理する場合にアクセスする情報メモリ1のメモリ番号B(t)とアドレス(t)は、下記のように表される。
B(t)=ceil(π(t)/W) (12)
A(t)=π(t) mod W (13)
ここで、t=0,1,・・・,W−1であり、W=N/Mとし、MはNの約数としている。
そこで、この実施の形態7では、上記実施の形態1〜6と同様にメモリ番号B(t)及びアドレスA(t)を逐次的に算出するようにしている。アクセスするアドレスA(t)を計算するに際して、補助パラメータとしてα(t)を用意する。
α(0)=f1+f2 mod W
δ=2×f2 mod W
なお、パラメータα(0),δを計算して、その計算値を保持しておく分には、大きなメモリ量を必要としない。
[α(t)の更新] α(t+1)=α(t)+δ
If (α(t+1)≧W)
α(t+1)=α(t+1)−W
[A(t)の更新] A(t+1)=A(t)+α(t)
If (A(t+1)≧W)
A(t+1)=A(t+1)−W
(14)
アドレス生成部62は、インタリーブ時には上記式(14)を計算してアドレスA(t)を求め、非インタリーブ時には初期位置から1ずつアドレスA(t)を変化させればよい。
B(t)=A+(k−1)×f1 mod M (15)
ここで、Aは基準に用いる1つのメモリ番号B(t)であり、このメモリ番号B(t)の情報メモリ1に格納されたデータが最初の処理で#1の要素復号器7に渡される。ただし、基準となるメモリ番号Aは任意の値であって、#1〜#4のうちのいずれであってもよく、従来のように式(12)を計算すればよい。
例えば、#1の要素復号器7が#A(A=1,2,・・・,M)の情報メモリ1からデータを受ける場合には、#2の要素復号器7は#(A+f1)(mod M)の情報メモリ1からデータを受けることとなる。以下、同様に、#3の要素復号器7は#(A+2×f1)(mod M)の情報メモリ1から、#4の要素復号器7は#(A+3×f1)(mod M)の情報メモリ1から、それぞれデータを受ける。
この実施の形態では、並列段数Mを4段とした並列処理が行われる。この場合には、係数f1の値を4で除した剰余が奇数となり、1の場合と3の場合が存在する。剰余1,3それぞれの場合に要素復号器7がメモリインタフェース5を介してアクセスするメモリ番号B(t)のパターンを図15に示す。図15は、並列処理を行う#1〜#4の要素復号器7と、要素復号器7にデータを受け渡す#1〜#4の情報メモリ1との対応関係を表している。
[α(t)の更新] If (α(t)≧δ)
α(t−1)=α(t)−δ
Else
α(t−1)=α(t)+W−δ
[A(t)の更新] If (A(t)≧α(t−1))
A(t−1)=A(t)−α(t−1)
Else
A(t−1)=A(t)+W−α(t−1)
(16)
アドレス生成部62は、インタリーブ時には上記式(16)を計算してアドレスA(t)を求め、非インタリーブ時には初期位置から1ずつアドレスA(t)を変化させればよい。
メモリインタフェース5は、アドレス生成部62からアドレスを、情報選択制御部66からメモリ番号を受け取ると、そのアドレスとメモリ番号にしたがって、#1〜#4の情報メモリ1から受信信号をそれぞれ読み出して、各受信信号を#1〜#4の要素復号器7に与える。
他方、インタリーブ時のアクセスでは、インタリーブ系列に従うランダムアクセスである。即ちインタリーブ系列の順方向処理又は逆方向処理を行うため、アドレス生成部62は式(14)又は式(16)を用いて、アドレスA(t)を算出し、そのアドレスA(t)をメモリインタフェース5に出力する。また、情報選択制御部66は式(15)を用いてメモリ番号B(t)を算出し、そのメモリ番号B(t)をメモリインタフェース5に出力する。
メモリインタフェース5は、アドレス生成部62からアドレスA(t)を、情報選択制御部66からメモリ番号B(t)を受け取ると、そのアドレスA(t)とメモリ番号B(t)にしたがって、#1〜#4の情報メモリ1から受信信号をそれぞれ読み出して、各受信信号を#1〜#4の要素復号器7に与える。
他方、インタリーブの復号時には、メモリインタフェース5が#1〜#4のパリティ2メモリ3からパリティ2系列に相当する受信信号をそれぞれ読み出して、各受信信号を#1〜#4の要素復号器7に与える。
なお、#1〜#4の要素復号器7がターボ符号を復号する処理は上記実施の形態1〜5と同様であるので説明を省略する。
また、情報選択制御部66がインタリーブアドレス生成テーブル61に格納された情報を用いてメモリ番号を生成するようにしたため、QPP方式を用いるターボ符号復号装置においても上記実施の形態1〜5のメモリ選択初期テーブル65に相当するメモリが不要になり、メモリ量や回路規模をさらに小さく抑えることができる効果を奏する。
即ち、要素復号器7が順方向処理と逆方向処理を同時に実施する場合、順方向処理は並列化単位の最初からパスメトリック値を保存しながら処理を進め、逆方向処理は並列化単位の末尾からパスメトリック値を保存しながら処理を進める。
両方向から進んだトレリスが交差した先は、互いのパスメトリック値を読み出すことができるので、外部情報を算出することができる。
Claims (14)
- ターボ符号のインタリーブ系列及び非インタリーブ系列を生成する系列生成手段と、上記系列生成手段により生成されたインタリーブ系列及び非インタリーブ系列に対する順方向処理と逆方向処理を繰り返し実施して、ターボ符号を復号する復号手段とを備えたターボ符号復号装置において、上記系列生成手段がターボ符号のインタリーブ系列を生成する際、加減算処理と比較計算処理を実施するだけで順方向処理と逆方向処理のインタリーブ位置を求めることを特徴とするターボ符号復号装置。
- ターボ符号の情報長に応じて、順方向処理と逆方向処理を実施する復号手段の並列数を決定し、上記並列数分の復号手段を制御する制御手段を設けたことを特徴とする請求項1記載のターボ符号復号装置。
- ターボ符号の情報長に応じて、復号手段における順方向処理と逆方向処理の繰り返し回数を制御する制御手段を設けたことを特徴とする請求項1記載のターボ符号復号装置。
- 複数の復号手段が順方向処理と逆方向処理を同時に実施する機能を有することを特徴とする請求項1から請求項3のうちのいずれか1項記載のターボ符号復号装置。
- 復号手段は、順方向処理と逆方向処理を同時に実施する場合、順方向処理又は逆方向処理のいずれか一方の開始を1ステップ先行又は1ステップ遅延させることを特徴とする請求項4記載のターボ符号復号装置。
- 系列生成手段は、「3GPP TS36.212」の規格に規定されているターボ符号のインタリーブ系列及び非インタリーブ系列を生成することを特徴とする請求項1から請求項5のうちのいずれか1項記載のターボ符号復号装置。
- 系列生成手段は、ターボ符号のインタリーバとしてQPP方式を採用していることを特徴とする請求項1から請求項5のうちのいずれか1項記載のターボ符号復号装置。
- 系列生成手段がターボ符号のインタリーブ系列及び非インタリーブ系列を生成する系列生成ステップと、複数の復号手段が上記系列生成手段により生成されたインタリーブ系列及び非インタリーブ系列に対する順方向処理と逆方向処理を繰り返し実施して、ターボ符号を復号する復号ステップとを備えたターボ符号復号方法において、上記系列生成手段がターボ符号のインタリーブ系列を生成する際、加減算処理と比較計算処理を実施するだけで順方向処理と逆方向処理のインタリーブ位置を求めることを特徴とするターボ符号復号方法。
- 情報源をターボ符号化してターボ符号を生成し、上記ターボ符号を変調して変調波を送信する送信装置と、上記送信装置から送信された変調波を受信し、上記変調波からターボ符号を復調する受信装置とからなる通信システムにおいて、上記受信装置が、復調後のターボ符号を格納するターボ符号格納手段と、上記ターボ符号格納手段により格納されたターボ符号のインタリーブ系列及び非インタリーブ系列を生成する系列生成手段と、上記系列生成手段により生成されたインタリーブ系列及び非インタリーブ系列に対する順方向処理と逆方向処理を繰り返し実施して、ターボ符号を復号する複数の復号手段とを備えたターボ符号復号装置を実装し、上記ターボ符号復号装置の上記系列生成手段がターボ符号のインタリーブ系列を生成する際、加減算処理と比較計算処理を実施するだけで順方向処理と逆方向処理のインタリーブ位置を求めることを特徴とする通信システム。
- 送信装置が移動体端末であり、受信装置が基地局であることを特徴とする請求項9記載の通信システム。
- ターボ符号に含まれる情報系列、及び該情報系列に対応した検査系列のデータをそれぞれ、先頭から順に所定の情報長毎に格納する並列数分のターボ符号格納手段と、
上記ターボ符号格納手段により格納されたターボ符号のインタリーブ系列及び非インタリーブ系列を生成する系列生成手段と、
上記系列生成手段により生成されたインタリーブ系列及び非インタリーブ系列に対する順方向処理と逆方向処理を繰り返し実施してターボ符号を並列に復号する並列数分の復号手段とを備えたターボ符号復号装置であって、
上記系列生成手段は、
インタリーブ系列を生成する多項式におけるターボ符号の情報長に応じた係数を予め保持するインタリーブアドレス生成テーブルと、
上記インタリーブアドレス生成テーブルに保持された係数を用いて、上記各ターボ符号格納手段の並び順を決定する情報選択制御手段と、
上記ターボ符号格納手段に格納された各データを、上記情報選択制御手段により決定された並び順で読み出してインタリーブ系列を生成するメモリインタフェースとを備えたことを特徴とするターボ符号復号装置。 - 並列数M分のターボ符号格納手段は、情報長Nの情報系列及び検査系列のデータをそれぞれ、先頭から順にN/Mワード毎に、当該各ターボ符号格納手段のアドレス0からアドレスN/M−1に格納し、
情報選択制御手段は、インタリーブ系列を生成する多項式が下記式で表現され、係数fxがtに依存しない値の場合に、インタリーブアドレス生成テーブルに保持された情報長Nに応じた係数fxを用いて、1つのターボ符号格納手段を基準に上記各ターボ符号格納手段の並び順を決定することを特徴とする請求項11記載のターボ符号復号装置。
π(t+k×N/M)=π(t)+k×fx×(N/M) mod N
ここで、t=0,1,・・・,N/M−1、k=0,1,・・・,M−1である。 - ターボ符号のインタリーバとしてQPP方式を採用し、並列数を2又は4としたとき、
情報選択制御手段は、インタリーブ系列を生成する多項式が下記式で表現される場合に、インタリーブアドレス生成テーブルに保持された情報長Nに応じた係数f1を用いて、1つのターボ符号格納手段を基準に並列数2分又は並列数4分のターボ符号格納手段の並び順を決定することを特徴とする請求項12記載のターボ符号復号装置。
π(t)=f1×t+f2×t×t mod N
ここで、t=0,1,・・・,N−1、f1は奇数の定数、f2は偶数の定数である。 - メモリインタフェースが、ターボ符号に含まれる情報系列、及び該情報系列に対応した検査系列のデータをそれぞれ、先頭から順に所定の情報長毎に並列数分のターボ符号格納手段に格納する格納ステップと、
情報選択制御手段が、インタリーブアドレス生成テーブルに予め保持されている、インタリーブ系列を生成する多項式におけるターボ符号の情報長に応じた係数を用いて、上記各ターボ符号格納手段の並び順を決定する情報選択制御ステップと、
上記メモリインタフェースが、上記ターボ符号格納手段に格納された各データを、上記情報選択制御手段により決定された並び順で読み出してインタリーブ系列及び非インタリーブ系列を生成する系列生成ステップと、
並列数分の復号手段が、上記メモリインタフェースにより生成されたインタリーブ系列及び非インタリーブ系列に対する順方向処理と逆方向処理を繰り返し実施してターボ符号を並列に復号する復号ステップとを備えたターボ符号復号方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008220232A JP4874312B2 (ja) | 2007-09-20 | 2008-08-28 | ターボ符号復号装置、ターボ符号復号方法及び通信システム |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007244163 | 2007-09-20 | ||
JP2007244163 | 2007-09-20 | ||
JP2008220232A JP4874312B2 (ja) | 2007-09-20 | 2008-08-28 | ターボ符号復号装置、ターボ符号復号方法及び通信システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009095008A true JP2009095008A (ja) | 2009-04-30 |
JP4874312B2 JP4874312B2 (ja) | 2012-02-15 |
Family
ID=40666472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008220232A Active JP4874312B2 (ja) | 2007-09-20 | 2008-08-28 | ターボ符号復号装置、ターボ符号復号方法及び通信システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4874312B2 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011135471A (ja) * | 2009-12-25 | 2011-07-07 | Mitsubishi Electric Corp | ターボ符号の誤り訂正復号装置及び誤り訂正復号方法 |
WO2011102291A1 (ja) * | 2010-02-16 | 2011-08-25 | 日本電気株式会社 | 高速フーリエ変換回路 |
WO2011111654A1 (ja) * | 2010-03-08 | 2011-09-15 | 日本電気株式会社 | 誤り訂正符号復号装置、誤り訂正符号復号方法および誤り訂正符号復号プログラム |
JP2012527790A (ja) * | 2009-06-18 | 2012-11-08 | ゼットティーイー コーポレーション | Lteにおける並列turboデコーディングの方法及び装置 |
JP2012530476A (ja) * | 2009-06-17 | 2012-11-29 | コーヒレント・ロジックス・インコーポレーテッド | トレリスベースの方法およびそのシステム |
JP2013509824A (ja) * | 2009-10-29 | 2013-03-14 | クゥアルコム・インコーポレイテッド | 2次置換多項式インタリーバを備えたlteターボ・デコーダのためのapp(aprioriprobability:先験確率)ストレージ設計 |
JP2013179378A (ja) * | 2010-10-05 | 2013-09-09 | Nec Corp | マルチコア型誤り訂正処理システムおよび誤り訂正処理装置 |
JP2014011627A (ja) * | 2012-06-29 | 2014-01-20 | Mitsubishi Electric Corp | 内部インタリーブを有する誤り訂正復号装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8140932B2 (en) * | 2007-11-26 | 2012-03-20 | Motorola Mobility, Inc. | Data interleaving circuit and method for vectorized turbo decoder |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007081640A (ja) * | 2005-09-13 | 2007-03-29 | Matsushita Electric Ind Co Ltd | ターボ復号装置およびターボ復号方法 |
JP2008219892A (ja) * | 2007-02-28 | 2008-09-18 | Motorola Inc | データを符号化および復号化する方法および装置 |
-
2008
- 2008-08-28 JP JP2008220232A patent/JP4874312B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007081640A (ja) * | 2005-09-13 | 2007-03-29 | Matsushita Electric Ind Co Ltd | ターボ復号装置およびターボ復号方法 |
JP2008219892A (ja) * | 2007-02-28 | 2008-09-18 | Motorola Inc | データを符号化および復号化する方法および装置 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012530476A (ja) * | 2009-06-17 | 2012-11-29 | コーヒレント・ロジックス・インコーポレーテッド | トレリスベースの方法およびそのシステム |
JP2015008542A (ja) * | 2009-06-17 | 2015-01-15 | コーヒレント・ロジックス・インコーポレーテッド | トレリスベースの方法およびそのシステム |
JP2012527790A (ja) * | 2009-06-18 | 2012-11-08 | ゼットティーイー コーポレーション | Lteにおける並列turboデコーディングの方法及び装置 |
JP2013509824A (ja) * | 2009-10-29 | 2013-03-14 | クゥアルコム・インコーポレイテッド | 2次置換多項式インタリーバを備えたlteターボ・デコーダのためのapp(aprioriprobability:先験確率)ストレージ設計 |
KR101454301B1 (ko) | 2009-10-29 | 2014-10-27 | 퀄컴 인코포레이티드 | 2차 순열 다항식 인터리버를 갖는 lte 터보 디코더에 대한 비경쟁 저장소 설계 |
JP2011135471A (ja) * | 2009-12-25 | 2011-07-07 | Mitsubishi Electric Corp | ターボ符号の誤り訂正復号装置及び誤り訂正復号方法 |
WO2011102291A1 (ja) * | 2010-02-16 | 2011-08-25 | 日本電気株式会社 | 高速フーリエ変換回路 |
WO2011111654A1 (ja) * | 2010-03-08 | 2011-09-15 | 日本電気株式会社 | 誤り訂正符号復号装置、誤り訂正符号復号方法および誤り訂正符号復号プログラム |
JP5700035B2 (ja) * | 2010-03-08 | 2015-04-15 | 日本電気株式会社 | 誤り訂正符号復号装置、誤り訂正符号復号方法および誤り訂正符号復号プログラム |
JP2013179378A (ja) * | 2010-10-05 | 2013-09-09 | Nec Corp | マルチコア型誤り訂正処理システムおよび誤り訂正処理装置 |
US9250996B2 (en) | 2010-10-05 | 2016-02-02 | Nec Corporation | Multicore type error correction processing system and error correction processing apparatus |
JP2014011627A (ja) * | 2012-06-29 | 2014-01-20 | Mitsubishi Electric Corp | 内部インタリーブを有する誤り訂正復号装置 |
Also Published As
Publication number | Publication date |
---|---|
JP4874312B2 (ja) | 2012-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4874312B2 (ja) | ターボ符号復号装置、ターボ符号復号方法及び通信システム | |
May et al. | A 150Mbit/s 3GPP LTE turbo code decoder | |
JP3861084B2 (ja) | 特に移動無線システム用とした、複合型ターボ符号/畳み込み符号デコーダ | |
US8443265B2 (en) | Method and apparatus for map decoding and turbo decoder using the same | |
JP2003528477A (ja) | マップデコーダ用の区分されたデインターリーバメモリ | |
JP2004531116A (ja) | ターボデコーダ用インタリーバ | |
JP5840741B2 (ja) | 複数のコード・タイプをプログラマブル復号する方法および装置 | |
JP2008219892A (ja) | データを符号化および復号化する方法および装置 | |
KR20080067987A (ko) | 큐피피 인터리브를 갖는 병렬 터보 디코딩을 위한 공식적플렉서블 충돌 방지 메모리 억세싱 | |
JP5700035B2 (ja) | 誤り訂正符号復号装置、誤り訂正符号復号方法および誤り訂正符号復号プログラム | |
US8250428B2 (en) | Scheduling data with time diversity in flow systems | |
US7573962B1 (en) | Diversity code combining scheme for turbo coded systems | |
JP4405676B2 (ja) | マップ・デコーダのためのメモリ・アーキテクチャ | |
JP4131680B2 (ja) | ターボ復号装置 | |
US7584407B2 (en) | Decoder and method for performing decoding operation using map algorithm in mobile communication system | |
US9130728B2 (en) | Reduced contention storage for channel coding | |
Raymond et al. | Design and VLSI implementation of a high throughput turbo decoder | |
Gazi | Prunable collision free random interleaver design | |
JP2004222197A (ja) | データ受信方法及び装置 | |
KR100627723B1 (ko) | 터보 복호화를 위한 병렬 복호 방법 및 이를 사용한 터보복호기 | |
JP4991481B2 (ja) | 反復復号装置及び反復復号方法 | |
JP2002198829A (ja) | 復号装置及び復号方法 | |
JP2002171174A (ja) | インターリーブ装置及びインターリーブ方法、並びに、復号装置及び復号方法 | |
JP2002043956A (ja) | 復号装置及び復号方法 | |
JP2006280010A (ja) | 復号装置及び復号方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110124 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110804 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110816 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110930 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20111025 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111122 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141202 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4874312 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |