JP2009077154A - ターボ符号化装置、ターボ符号化方法及び通信システム - Google Patents

ターボ符号化装置、ターボ符号化方法及び通信システム Download PDF

Info

Publication number
JP2009077154A
JP2009077154A JP2007244169A JP2007244169A JP2009077154A JP 2009077154 A JP2009077154 A JP 2009077154A JP 2007244169 A JP2007244169 A JP 2007244169A JP 2007244169 A JP2007244169 A JP 2007244169A JP 2009077154 A JP2009077154 A JP 2009077154A
Authority
JP
Japan
Prior art keywords
bits
information
sequence
interleave
bit
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
JP2007244169A
Other languages
English (en)
Inventor
Rui Sakai
塁 阪井
Takahiko Nakamura
隆彦 中村
Hideo Yoshida
英夫 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2007244169A priority Critical patent/JP2009077154A/ja
Publication of JP2009077154A publication Critical patent/JP2009077154A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

【課題】事前に全てのインタリーブ位置もしくは逆インタリーブ位置を格納するメモリや、複数のインタリーブ位置もしくは逆インタリーブ位置を同時に計算する複雑な回路を実装することなく、畳み込み符号化の処理時間を短縮することができるようにする。
【解決手段】連続する2つの逆インタリーブ位置を加減算処理と比較計算処理を実施するだけで算出する逆インタリーブ生成器2と、逆インタリーブ生成器2により算出された逆インタリーブ位置に複数の情報ビットを配置してターボ符号のインタリーブ系列を生成するメモリIF3とを設ける。
【選択図】図1

Description

この発明は、ディジタル信号処理における誤り訂正技術に係り、特にターボ符号の符号化を行うターボ符号化装置、ターボ符号化方法及び通信システムに関するものである。
ターボ符号の符号化は、情報ビットの非インタリーブ系列とインタリーブ系列に対して、所定の畳み込み符号化を実施することにより、夫々のパリティ系列を生成する(例えば、非特許文献1を参照)。
ここで、情報ビットの非インタリーブ系列は、入力される情報ビットのビット列であり、インタリーブ系列は、入力される情報ビットのビット列がターボ符号で規定されているインタリーバにしたがって並び替えられたビット列である。
以下、説明の便宜上、非インタリーブ系列から生成されるパリティビットを“パリティ1ビット”と称し、インタリーブ系列から生成されるパリティビットを“パリティ2ビット”と称する。
また、「3GPP TS36.212」の規格で規定されているターボ符号の場合、夫々の全ビット列を入力した後、テイルビットと呼ばれるパリティビットを生成する。
したがって、このターボ符号は、情報ビット系列、パリティ1ビット系列、パリティ2ビット系列及びテイルビット系列から構成される。
一般的なターボ符号の符号化処理では、情報ビット系列の情報長(情報ビット数)がKビット、1つの畳み込み符号化で生成するテイルビット数がTビットであるとすると、情報ビットを1ビットずつターボ符号化装置の畳み込み符号化器に入力するため、パリティ1ビット系列の生成にはK+Tステップの処理が必要になり、インタリーブ系列の生成にはK+Tステップの処理が必要となる。
したがって、例えば、Kビットの情報ビットを全て符号化するには、2×(K+T)ステップの処理が必要となる。
なお、ターボ符号の符号化において、パリティビット系列を生成する際に実施する畳み込み符号化は、拘束長に依存する数の遅延素子を使用して、1ビットずつ情報ビットを入力することで符号化するのが一般的であるが、nビット(n>1)ずつ情報ビットを入力して、nビットずつパリティビットを生成することも可能である。
nビットずつパリティビットを生成する場合、1ビットずつ情報ビットを入力して、1ビットずつパリティビットを生成する場合と比べて、畳み込み符号化の処理時間が1/nの時間になる。
ただし、nビットずつ情報ビットを入力して、nビットずつパリティビットを生成する場合、インタリーブ系列の先頭から順番にnビットずつ情報ビットを入力する必要があり、n個のインタリーブ位置もしくは逆インタリーブ位置を得る必要がある。
ここで、π(t)番目の情報ビットをt番目の位置に並び替える操作をインタリーブと称し、インタリーブ前の位置が“s”であれば、インタリーブ位置はs=π(t)で表記される。
また、インタリーブ後にπ-1(s)番目にある情報ビットを元の位置に戻す操作を逆インタリーブと称し、逆インタリーブ位置はt=π-1(s)で表記される。
なお、全てのインタリーブ位置の集合をインタリーバと称する。
メモリに格納された情報ビット系列から、nビットの情報ビットを選択して読み出すには、同時にn個のインタリーブ位置もしくは逆インタリーブ位置を得て、当該メモリにアクセスする必要がある。
複数のインタリーブ位置もしくは逆インタリーブ位置を得ることができるようにするには、予め、全てのインタリーブ位置もしくは逆インタリーブ位置を算出してメモリに格納しておく必要がある。
萩原春生、「ターボ符号の基礎」、トリケップス、p.37-38、1999年10月7日
従来のターボ符号化装置は以上のように構成されているので、事前に全てのインタリーブ位置もしくは逆インタリーブ位置を算出してメモリに格納しておければ、メモリに格納された情報ビット系列から、同時にnビットの情報ビットを選択して読み出すことができる。しかし、全てのインタリーブ位置もしくは逆インタリーブ位置を格納するメモリが必要になり、メモリ量の増大を招く課題があった。また、符号化処理を開始する以前に、全てのインタリーブ位置もしくは逆インタリーブ位置の算出を終えて、メモリに格納しておく必要があるため、事前に処理を開始するなどのタイミング制御が複雑になる課題もあった。
なお、「3GPP TS36.212」の規格で規定されているQPP(Quadratic Polynomial Permutation)インタリーバでは、規定の2次多項式を計算することによって、複数のインタリーブ位置もしくは逆インタリーブ位置を同時に得ることが可能であるが、2次多項式を計算することができるようにするには、規模が大きな回路を実装する必要がある。
この発明は上記のような課題を解決するためになされたもので、事前に全てのインタリーブ位置もしくは逆インタリーブ位置を格納するメモリや、複数のインタリーブ位置もしくは逆インタリーブ位置を同時に計算する複雑な回路を実装することなく、畳み込み符号化の処理時間を短縮することができるターボ符号化装置、ターボ符号化方法及び通信システムを得ることを目的とする。
この発明に係るターボ符号化装置は、複数の情報ビットの逆インタリーブ位置を加減算処理と比較計算処理を実施するだけで算出する逆インタリーブ位置算出手段と、逆インタリーブ位置算出手段により算出された逆インタリーブ位置に複数の情報ビットを配置してターボ符号のインタリーブ系列を生成するインタリーブ系列生成手段とを設け、第2の符号化手段がインタリーブ系列生成手段により生成されたインタリーブ系列の先頭から情報ビットを複数ビットずつ入力し、複数の情報ビットに対する畳み込み符号化を実施してインタリーブ系列のパリティビットを複数ビットずつ生成するようにしたものである。
この発明によれば、複数の情報ビットの逆インタリーブ位置を加減算処理と比較計算処理を実施するだけで算出する逆インタリーブ位置算出手段と、逆インタリーブ位置算出手段により算出された逆インタリーブ位置に複数の情報ビットを配置してターボ符号のインタリーブ系列を生成するインタリーブ系列生成手段とを設け、第2の符号化手段がインタリーブ系列生成手段により生成されたインタリーブ系列の先頭から情報ビットを複数ビットずつ入力し、複数の情報ビットに対する畳み込み符号化を実施してインタリーブ系列のパリティビットを複数ビットずつ生成するように構成したので、事前に全ての逆インタリーブ位置を格納するメモリや、複数の逆インタリーブ位置を同時に計算する複雑な回路を実装することなく、畳み込み符号化の処理時間を短縮することができる効果がある。
実施の形態1.
図1はこの発明の実施の形態1によるターボ符号化装置を示す構成図である。
この実施の形態1では、ターボ符号化装置がパリティ1ビット(ターボ符号の非インタリーブ系列から生成されるパリティビット)とパリティ2ビット(ターボ符号のインタリーブ系列から生成されるパリティビット)をそれぞれ2ビットずつ生成する例を説明し、nビット(n≧3)ずつ生成する例は後述する。
図において、成分符号化器1は情報ビット系列の先頭から情報ビットを2ビットずつ入力し、2ビットの情報ビットに対する畳み込み符号化を実施してターボ符号の非インタリーブ系列のパリティ1ビットを2ビットずつ生成する処理を実施する。なお、成分符号化器1は第1の符号化手段を構成している。
逆インタリーブ生成器2は「3GPP TS36.212」の規格で規定されているターボ符号の逆インタリーバを生成するものである。即ち、偶数番目(2×t)の情報ビットの逆インタリーブ位置π-1(2×t)と、奇数番目(2×t+1)の情報ビットの逆インタリーブ位置π-1(2×t+1)とを加減算処理と比較計算処理を実施するだけで算出する処理を実施する。ただし、t=0,1,2,3,・・・である。
なお、逆インタリーブ生成器2は逆インタリーブ位置算出手段を構成している。
メモリIF3は情報ビット系列の先頭から情報ビットを2ビットずつ入力し、逆インタリーブ生成器2により算出された逆インタリーブ位置に2ビットの情報ビットを配置(逆インタリーブ位置に対応するメモリ4のアドレスに2ビットの情報ビットを記録)してターボ符号のインタリーブ系列を生成する処理のほか、メモリ4に記録されているインタリーブ系列の先頭から情報ビットを2ビットずつ読み出して、その情報ビットを成分符号化器5に出力する処理を実施する。
メモリ4はターボ符号のインタリーブ系列を記録する記憶媒体である。
なお、メモリIF3及びメモリ4からインタリーブ系列生成手段が構成されている。
成分符号化器5はインタリーブ系列の先頭から情報ビットを2ビットずつ入力し、2ビットの情報ビットに対する畳み込み符号化を実施してインタリーブ系列のパリティ2ビットを2ビットずつ生成する処理を実施する。なお、成分符号化器5は第2の符号化手段を構成している。
図1では、ターボ符号化装置の構成要素である成分符号化器1,5、逆インタリーブ生成器2及びメモリIF3がそれぞれ専用のハードウェア(逆インタリーブ生成器2及びメモリIF3は、例えばMPUを実装している半導体集積回路基板、成分符号化器1,5は、例えば図2の回路)で構成されているものを想定しているが、ターボ符号化装置がコンピュータで構成される場合、成分符号化器1,5、逆インタリーブ生成器2及びメモリIF3の処理内容を記述しているプログラムをコンピュータのメモリに格納し、コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
図2はこの発明の実施の形態1によるターボ符号化装置の成分符号化器1,5を示す構成図であり、図において、加算器21は入力B(奇数番目(2×t+1)の情報ビット:1,3,5,・・・,K−1番目の情報ビット)と、遅延素子23により1クロック分遅延された情報ビットと、遅延素子24により1クロック分遅延された情報ビットとを加算して、加算後の情報ビットを遅延素子23に出力する。ただし、Kは情報ビット系列の情報長(情報ビット数)である。
加算器22は入力A(偶数番目(2×t)の情報ビット:0,2,4,・・・,K−2番目の情報ビット)と、遅延素子24により1クロック分遅延された情報ビットと、遅延素子25により1クロック分遅延された情報ビットとを加算して、加算後の情報ビットを遅延素子24に出力する。
遅延素子23は加算器21から出力された加算後の情報ビットを1クロック分だけ保持して、その情報ビットを加算器21,26及び遅延素子25に出力する。
遅延素子24は加算器22から出力された加算後の情報ビットを1クロック分だけ保持して、その情報ビットを加算器21,22,26に出力する。
遅延素子25は遅延素子23から出力された情報ビットを1クロック分だけ保持して、その情報ビットを加算器22,27に出力する。
加算器26は入力A(偶数番目(2×t)の情報ビット:0,2,4,・・・,K−2番目の情報ビット)と、遅延素子23により1クロック分遅延された情報ビットと、遅延素子24により1クロック分遅延された情報ビットとを加算し、加算後の情報ビットをパリティビットA(入力Aに対応するパリティビット)として出力する。
加算器27は入力B(奇数番目(2×t+1)の情報ビット:1,3,5,・・・,K−1番目の情報ビット)と、加算器26から出力された加算後の情報ビットと、遅延素子25により1クロック分遅延された情報ビットとを加算し、加算後の情報ビットをパリティビットB(入力Bに対応するパリティビット)として出力する。
なお、図2における成分符号化器1,5の構成はあくまでも一例であり、成分符号化器1,5は図2の構成に限るものではない。
図3はこの発明の実施の形態1によるターボ符号化装置の処理内容を示すフローチャートであり、図4はこの発明の実施の形態1によるターボ符号化装置の処理タイミングを示すタイミングチャートである。
次に動作について説明する。
この実施の形態1では、説明の便宜上、情報ビット系列の情報長(情報ビット数)がKビット、1つの畳み込み符号化で生成するテイルビット数がTビットであるとする。
成分符号化器1は、情報長Kの情報ビット系列の先頭から情報ビットを2ビットずつ入力し(ステップST1)、2ビットの情報ビットに対する畳み込み符号化を実施してターボ符号の非インタリーブ系列のパリティ1ビットを2ビットずつ生成する(ステップST2)。
即ち、成分符号化器1の加算器22,26が偶数番目(2×t)の情報ビットである0,2,4,・・・,K−2番目の情報ビットを順次入力し、加算器21,27が奇数番目(2×t+1)の情報ビットである1,3,5,・・・,K−1番目の情報ビットを順次入力し、各々の加算器21,22,26,27が情報ビットの加算処理を実施することにより、2ビットの情報ビットに対する畳み込み符号化を実施する。
これにより、畳み込み符号化結果として、パリティ1ビット(ターボ符号の非インタリーブ系列から生成されるパリティビット)が2ビットずつ生成される。
即ち、入力Aに対応するパリティビットA(パリティ1ビット)が加算器26から出力され、入力Bに対応するパリティビットB(パリティ1ビット)が加算器27から出力される。
成分符号化器1は、2ビットの情報ビットに対する畳み込み符号化を実施してパリティ1ビットを生成すると、テイルビットと呼ばれるTビットのパリティビットを生成して、そのテイルビットを出力する。
なお、情報ビット系列の情報長(情報ビット数)がKビットである場合、図4に示すように、成分符号化器1がKビットの情報ビット系列の入力に要するステップ数は、K/2ステップである。
また、成分符号化器1がKビットのパリティ1ビットの生成に要するステップ数は、K/2ステップであり、情報ビット系列の入力と同じタイミングで実施する。
また、成分符号化器1がTビットのテイルビットの生成に要するステップ数は、Tステップであり、パリティ1ビットの生成後に実施する。
逆インタリーブ生成器2は、「3GPP TS36.212」の規格で規定されているターボ符号の逆インタリーバを生成する(ステップST3)。
即ち、逆インタリーブ生成器2は、ターボ符号の逆インタリーバとして、「3GPP TS36.212」の規格で規定されているQPP(Quadratic Polynomial Permutation)方式を用いて、偶数番目(2×t)の情報ビットの逆インタリーブ位置π-1(2×t)と、奇数番目(2×t+1)の情報ビットの逆インタリーブ位置π-1(2×t+1)とを算出する。
QPPインタリーバでは、π(t)番目の情報ビットが、tの位置にインタリーブされる。
π(t)=(f1×t)+(f2×t×t) mod K (1)
ただし、f1,f2は、ターボ符号の情報長Kに依存して定められている整数値であり、“mod”は、剰余計算を表す記号である。
したがって、連続している偶数番目と奇数番目の情報ビットのインタリーブ位置、即ち、π(0)とπ(1),π(2)とπ(3),π(4)とπ(5),・・・は、式(1)で2つずつ計算してもよいが、式(1)では、複雑で回路規模が大きくなる乗算計算と剰余計算を実行する必要がある。
また、QPPインタリーバの逆インタリーバは、インタリーバと同様な2次多項式で表現することができる。
π-1(s)=(h1×t)+(h2×t×t) mod K (2)
ただし、h1,h2は、ターボ符号の情報長K,f1,f2に依存して定められている整数値である。
したがって、連続している偶数番目と奇数番目のインタリーブ位置(π(0)とπ(1),π(2)とπ(3),π(4)とπ(5),・・・)、もしくは、連続している偶数番目と奇数番目の逆インタリーブ位置(π-1(0)とπ-1(1),π-1(2)とπ-1(3),π-1(4)とπ-1(5),・・・)は、式(1)、式(2)を用いて、2つずつ計算してもよいが、式(1)、式(2)では、複雑で回路規模が大きくなる乗算計算と剰余計算を実行する必要がある。
そこで、この実施の形態1では、逆インタリーブ生成器2が、以下の加減算処理と比較計算処理を実施することで、逐次的に逆インタリーブ位置を得るようにしている。
即ち、逆インタリーブ生成器2は、0番目と1番目の情報ビットを入力して、逆インタリーブ位置π-1(0),π-1(1)を計算し、2番目と3番目の情報ビットを入力して、逆インタリーブ位置π-1(2),π-1(3)を計算し、・・・、K−2番目とK−1番目の情報ビットを入力して、逆インタリーブ位置π-1(K−2),π-1(K−1)を計算する。
(1)偶数番号の逆インタリーブ位置
偶数番号:π-1(2×(t+1))=π-1(2×t)+a(t)
If π-1(2×(t+1)) ≧ K
π-1(2×(t+1))=π-1(2×(t+1))−K
a(t+1)=a(t)+8×h2
If a(t+1) ≧ K
a(t+1)=a(t+1)−K
ただし、π-1(0)=0、a(0)=2×h1+4×h2
(2)奇数番号の逆インタリーブ位置
奇数番号:π-1(2×(t+1)+1)=π-1(2×t+1)+b(t)
If π-1(2×t) ≧ K
π-1(2×t)=π-1(2×t)−K
b(t+1)=b(t)+8×h2
If (b(t+1) ≧ K
b(t+1)=b(t+1)−K
ただし、π(0)=0、a(0)=2×h1+8×h2
なお、情報ビット系列の情報長(情報ビット数)がKビットである場合、図4に示すように、逆インタリーブ生成器2が逆インタリーブ位置の算出に要するステップ数は、K/2ステップである。
メモリIF3は、成分符号化器1と同じタイミングで、情報ビット系列の先頭から情報ビットを2ビットずつ入力し、逆インタリーブ生成器2が当該情報ビットに対応する逆インタリーブ位置π-1(2×t),π-1(2×t+1)を算出すると、その逆インタリーブ位置π-1(2×t),π-1(2×t+1)に2ビットの情報ビットを配置(逆インタリーブ位置π-1(2×t),π-1(2×t+1)に対応するメモリ4のアドレスに2ビットの情報ビットを記録)してターボ符号のインタリーブ系列を生成する(ステップST4)。
なお、情報ビット系列の情報長(情報ビット数)がKビットである場合、図4に示すように、メモリIF3が情報ビットをメモリ4に記録して、Kビットのインタリーブ系列の生成に要するステップ数は、K/2ステップである。
全ての情報ビットの入力が終わると、メモリ4にはインタリーブ系列が格納されており、インタリーブ系列の畳み込み符号化を実施する場合、インタリーブ系列の先頭から順番に、インタリーブされた情報ビットを読み出せばよい。
メモリIF3は、Kビットのインタリーブ系列の生成が完了すると、メモリ4に記録されているインタリーブ系列の先頭から情報ビットを2ビットずつ読み出して、その情報ビットを成分符号化器5に出力する。
成分符号化器5は、Kビットのインタリーブ系列の先頭から情報ビットを2ビットずつ入力し、2ビットの情報ビットに対する畳み込み符号化を実施してターボ符号のインタリーブ系列のパリティ2ビットを2ビットずつ生成する(ステップST5)。
即ち、成分符号化器5の加算器22,26が偶数番目(2×t)の情報ビットである0,2,4,・・・,K−2番目の情報ビットを順次入力し、加算器21,27が奇数番目(2×t+1)の情報ビットである1,3,5,・・・,K−1番目の情報ビットを順次入力し、各々の加算器21,22,26,27が情報ビットの加算処理を実施することにより、2ビットの情報ビットに対する畳み込み符号化を実施する。
これにより、畳み込み符号化結果として、パリティ2ビット(ターボ符号のインタリーブ系列から生成されるパリティビット)が2ビットずつ生成される。
即ち、入力Aに対応するパリティビットA(パリティ2ビット)が加算器26から出力され、入力Bに対応するパリティビットB(パリティ2ビット)が加算器27から出力される。
成分符号化器5は、2ビットの情報ビットに対する畳み込み符号化を実施してパリティ2ビットを生成すると、テイルビットと呼ばれるTビットのパリティビットを生成して、そのテイルビットを出力する。
なお、インタリーブ系列の情報長(情報ビット数)がKビットである場合、図4に示すように、成分符号化器5がKビットのパリティ2ビットの生成に要するステップ数は、K/2ステップである。
また、成分符号化器5がTビットのテイルビットの生成に要するステップ数は、Tステップであり、パリティ2ビットの生成後に実施する。
以上で明らかなように、この実施の形態1によれば、連続する2つの逆インタリーブ位置を加減算処理と比較計算処理を実施するだけで算出する逆インタリーブ生成器2と、逆インタリーブ生成器2により算出された逆インタリーブ位置に複数の情報ビットを配置してターボ符号のインタリーブ系列を生成するメモリIF3とを設け、成分符号化器5がメモリIF3により生成されたインタリーブ系列の先頭から情報ビットを2ビットずつ入力し、2ビットの情報ビットに対する畳み込み符号化を実施してインタリーブ系列のパリティビットを2ビットずつ生成するように構成したので、事前に全ての逆インタリーブ位置を格納するメモリや、複数の逆インタリーブ位置を同時に計算する複雑な回路を実装することなく、畳み込み符号化の処理時間を短縮することができる効果を奏する。
即ち、この実施の形態1によれば、連続する2つの逆インタリーブ位置を加減算処理と比較計算処理を実施するだけの簡易な計算で得られる。このため、2次多項式を計算するような大規模な回路を実装することなく、連続する2つの逆インタリーブ位置を得て、畳み込み符号化の処理を2ビットずつ行うことが可能となる。
なお、インタリーブ系列の情報長(情報ビット数)がKビットである場合、図4に示すように、K+Tステップ(=K/2+K/2+Tステップ)で、符号化処理を完了することができる。
実施の形態2.
図5はこの発明の実施の形態2によるターボ符号化装置を示す構成図である。
この実施の形態2では、ターボ符号化装置がパリティ1ビットとパリティ2ビットをそれぞれ2ビットずつ生成する例を説明し、nビット(n≧3)ずつ生成する例は後述する。
図において、成分符号化器11は情報ビット系列の先頭から情報ビットを2ビットずつ入力し、2ビットの情報ビットに対する畳み込み符号化を実施してターボ符号の非インタリーブ系列のパリティ1ビットを2ビットずつ生成する処理を実施する。なお、成分符号化器11は第1の符号化手段を構成している。
メモリ12はメモリIF14により入力された情報ビット系列を記録する記録媒体である。なお、メモリ12は情報ビット系列格納手段を構成している。
インタリーブ生成器13は「3GPP TS36.212」の規格で規定されているターボ符号のインタリーバを生成するものである。即ち、偶数番目(2×t)の情報ビットのインタリーブ位置π(2×t)と、奇数番目(2×t+1)の情報ビットのインタリーブ位置π(2×t+1)とを加減算処理と比較計算処理を実施するだけで算出する処理を実施する。ただし、t=0,1,2,3,・・・である。
なお、インタリーブ生成器13はインタリーブ位置算出手段を構成している。
メモリIF14は情報ビット系列の先頭から情報ビットを2ビットずつ入力し、2ビットの情報ビットを順番にメモリ12に格納して、その情報ビット系列をメモリ12に記録する処理のほか、メモリ12に記録されている情報ビット系列の中から、インタリーブ生成器13により算出されたインタリーブ位置にある2ビットの情報ビットを読み出して、その情報ビットを成分符号化器15に出力する処理を実施する。なお、メモリIF14は情報ビット読出手段を構成している。
成分符号化器15はメモリIF14により読み出された2ビットの情報ビットを順番に入力し、2ビットの情報ビットに対する畳み込み符号化を実施してインタリーブ系列のパリティ2ビットを2ビットずつ生成する処理を実施する。なお、成分符号化器15は第2の符号化手段を構成している。
図5では、ターボ符号化装置の構成要素である成分符号化器11,15、インタリーブ生成器13及びメモリIF14がそれぞれ専用のハードウェア(インタリーブ生成器13及びメモリIF14は、例えばMPUを実装している半導体集積回路基板、成分符号化器11,15は、例えば図2の回路)で構成されているものを想定しているが、ターボ符号化装置がコンピュータで構成される場合、成分符号化器11,15、インタリーブ生成器13及びメモリIF14の処理内容を記述しているプログラムをコンピュータのメモリに格納し、コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
図6はこの発明の実施の形態2によるターボ符号化装置の処理内容を示すフローチャートであり、図7はこの発明の実施の形態2によるターボ符号化装置の処理タイミングを示すタイミングチャートである。
この実施の形態2では、成分符号化器11,15の構成は図2の構成を想定しているが、図2の構成はあくまでも一例であり、成分符号化器11,15は図2の構成に限るものではない。
次に動作について説明する。
この実施の形態2では、説明の便宜上、情報ビット系列の情報長(情報ビット数)がKビット、1つの畳み込み符号化で生成するテイルビット数がTビットであるとする。
成分符号化器11は、情報長Kの情報ビット系列の先頭から情報ビットを2ビットずつ入力し(ステップST11)、2ビットの情報ビットに対する畳み込み符号化を実施してターボ符号の非インタリーブ系列のパリティ1ビットを2ビットずつ生成する(ステップST12)。
即ち、成分符号化器11の加算器22,26が偶数番目(2×t)の情報ビットである0,2,4,・・・,K−2番目の情報ビットを順次入力し、加算器21,27が奇数番目(2×t+1)の情報ビットである1,3,5,・・・,K−1番目の情報ビットを順次入力し、各々の加算器21,22,26,27が情報ビットの加算処理を実施することにより、2ビットの情報ビットに対する畳み込み符号化を実施する。
これにより、畳み込み符号化結果として、パリティ1ビット(ターボ符号の非インタリーブ系列から生成されるパリティビット)が2ビットずつ生成される。
即ち、入力Aに対応するパリティビットA(パリティ1ビット)が加算器26から出力され、入力Bに対応するパリティビットB(パリティ1ビット)が加算器27から出力される。
成分符号化器11は、2ビットの情報ビットに対する畳み込み符号化を実施してパリティ1ビットを生成すると、テイルビットと呼ばれるTビットのパリティビットを生成して、そのテイルビットを出力する。
なお、情報ビット系列の情報長(情報ビット数)がKビットである場合、図7に示すように、成分符号化器11がKビットの情報ビット系列の入力に要するステップ数は、K/2ステップである。
また、成分符号化器11がKビットのパリティ1ビットの生成に要するステップ数は、K/2ステップであり、情報ビット系列の入力と同じタイミングで実施する。
また、成分符号化器11がTビットのテイルビットの生成に要するステップ数は、Tステップであり、パリティ1ビットの生成後に実施する。
メモリIF14は、成分符号化器11と同じタイミングで、情報長Kの情報ビット系列の先頭から情報ビットを2ビットずつ入力し(ステップST11)、2ビットの情報ビットを順番にメモリ12に格納(情報ビットを並べ替えずに、先頭から順番に格納)して、その情報ビット系列をメモリ12に記録する(ステップST13)。
なお、情報ビット系列の情報長(情報ビット数)がKビットである場合、図7に示すように、メモリIF14がKビットの情報ビット系列の入力及び記録に要するステップ数は、K/2ステップである。
インタリーブ生成器13は、「3GPP TS36.212」の規格で規定されているターボ符号のインタリーバを生成する(ステップST14)。
即ち、インタリーブ生成器13は、ターボ符号のインタリーバとして、「3GPP TS36.212」の規格で規定されているQPP方式を用いて、偶数番目(2×t)の情報ビットのインタリーブ位置π(2×t)と、奇数番目(2×t+1)の情報ビットのインタリーブ位置π(2×t+1)とを算出する。
QPPインタリーバでは、π(t)番目の情報ビットが、tの位置にインタリーブされる。
π(t)=(f1×t)+(f2×t×t) mod K (1)
ただし、f1,f2は、ターボ符号の情報長Kに依存して定められている整数値であり、“mod”は、剰余計算を表す記号である。
したがって、連続している偶数番目と奇数番目の情報ビットのインタリーブ位置、即ち、π(0)とπ(1),π(2)とπ(3),π(4)とπ(5),・・・は、式(1)で2つずつ計算してもよいが、式(1)では、複雑で回路規模が大きくなる乗算計算と剰余計算を実行する必要がある。
そこで、この実施の形態2では、インタリーブ生成器13が、以下の加減算処理と比較計算処理を実施することで、逐次的にインタリーブ位置を得るようにしている。
即ち、インタリーブ生成器13は、0番目と1番目の情報ビットを入力して、インタリーブ位置π(0),π(1)を計算し、2番目と3番目の情報ビットを入力して、インタリーブ位置π(2),π(3)を計算し、・・・、K−2番目とK−1番目の情報ビットを入力して、インタリーブ位置π(K−2),π(K−1)を計算する。
(1)偶数番号のインタリーブ位置
偶数番号:π(2×(t+1))=π(2×t)+a(t)
If π(2×(t+1)) ≧ K
π(2×(t+1))=π(2×(t+1))−K
a(t+1)=a(t)+8×f2
If a(t+1) ≧ K
a(t+1)=a(t+1)−K
ただし、π(0)=0、a(0)=2×f1+4×f2
(2)奇数番目のインタリーブ位置
奇数番号:π(2×(t+1)+1)=π(2×t+1)+b(t)
If π(2×t) ≧ K
π(2×t)=π(2×t)−K
b(t+1)=b(t)+8×f2
If (b(t+1) ≧ K
b(t+1)=b(t+1)−K
ただし、π(0)=0、a(0)=2×f1+8×f2
なお、情報ビット系列の情報長(情報ビット数)がKビットである場合、図7に示すように、インタリーブ生成器13がインタリーブ位置の算出に要するステップ数は、K/2ステップである。
メモリIF14は、インタリーブ生成器13が偶数番目(2×t)の情報ビットのインタリーブ位置π(2×t)と、奇数番目(2×t+1)の情報ビットのインタリーブ位置π(2×t+1)とを算出すると、メモリ12に記録されている情報ビット系列の中から、インタリーブ位置π(2×t),π(2×t+1)にある2ビットの情報ビットを読み出して、その情報ビットを成分符号化器15に出力する。
なお、情報ビット系列の情報長(情報ビット数)がKビットである場合、図7に示すように、メモリIF14が2ビットの情報ビットの読み出しに要するステップ数は、K/2ステップである。
成分符号化器15は、メモリIF14により読み出された2ビットの情報ビットを順番に入力し、2ビットの情報ビットに対する畳み込み符号化を実施してインタリーブ系列のパリティ2ビットを2ビットずつ生成する(ステップST15)。
即ち、成分符号化器15の加算器22,26がインタリーブ位置π(2×t)にある情報ビットを順次入力し、加算器21,27がインタリーブ位置π(2×t+1)にある情報ビットを順次入力し、各々の加算器21,22,26,27が情報ビットの加算処理を実施することにより、2ビットの情報ビットに対する畳み込み符号化を実施する。
これにより、畳み込み符号化結果として、パリティ2ビット(ターボ符号のインタリーブ系列から生成されるパリティビット)が2ビットずつ生成される。
即ち、インタリーブ位置π(2×t)にある情報ビットに対応するパリティビットA(パリティ2ビット)が加算器26から出力され、インタリーブ位置π(2×t+1)にある情報ビットに対応するパリティビットB(パリティ2ビット)が加算器27から出力される。
成分符号化器15は、2ビットの情報ビットに対する畳み込み符号化を実施してパリティ2ビットを生成すると、テイルビットと呼ばれるTビットのパリティビットを生成して、そのテイルビットを出力する。
なお、インタリーブ系列の情報長(情報ビット数)がKビットである場合、図7に示すように、成分符号化器15がKビットのパリティ2ビットの生成に要するステップ数は、K/2ステップである。
また、成分符号化器15がTビットのテイルビットの生成に要するステップ数は、Tステップであり、パリティ2ビットの生成後に実施する。
以上で明らかなように、この実施の形態2によれば、2ビットの情報ビットのインタリーブ位置を加減算処理と比較計算処理を実施するだけで算出するインタリーブ生成器13と、メモリ12に記録されている情報ビット系列の中から、インタリーブ生成器13により算出されたインタリーブ位置にある2ビットの情報ビットを読み出すメモリIF14とを設け、成分符号化器15がメモリIF14により読み出された2ビットの情報ビットを順番に入力し、2ビットの情報ビットに対する畳み込み符号化を実施してインタリーブ系列のパリティ2ビットを2ビットずつ生成するように構成したので、事前に全てのインタリーブ位置を格納するメモリや、複数のインタリーブ位置を同時に計算する複雑な回路を実装することなく、畳み込み符号化の処理時間を短縮することができる効果を奏する。
即ち、この実施の形態2によれば、2ビットの情報ビットのインタリーブ位置を加減算処理と比較計算処理を実施するだけの簡易な計算で得られる。このため、2次多項式を計算するような大規模な回路を実装することなく、2ビットの情報ビットのインタリーブ位置を得て、畳み込み符号化の処理を2ビットずつ行うことが可能となる。
なお、インタリーブ系列の情報長(情報ビット数)がKビットである場合、図7に示すように、K+Tステップ(=K/2+K/2+Tステップ)で、符号化処理を完了することができる。
実施の形態3.
図8はこの発明の実施の形態3によるターボ符号化装置を示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
メモリIF6は情報ビット系列の先頭から情報ビットを2ビットずつ入力し、2ビットの情報ビットを順番にメモリ7に格納して、その情報ビット系列である非インタリーブ系列をメモリ7に記録する処理のほか、メモリ7に記録されている非インタリーブ系列の先頭から情報ビットを2ビットずつ読み出して、その情報ビットを成分符号化器1に出力する処理を実施する。
メモリ7はターボ符号の非インタリーブ系列を記録する記憶媒体である。
図9はこの発明の実施の形態3によるターボ符号化装置の処理内容を示すフローチャートであり、図10はこの発明の実施の形態3によるターボ符号化装置の処理タイミングを示すタイミングチャートである。
次に動作について説明する。
この実施の形態3では、説明の便宜上、情報ビット系列の情報長(情報ビット数)がKビット、1つの畳み込み符号化で生成するテイルビット数がTビットであるとする。
メモリIF6は、情報長Kの情報ビット系列の先頭から情報ビットを2ビットずつ入力し(ステップST21)、2ビットの情報ビットを順番にメモリ7に格納(情報ビットを並べ替えずに、先頭から順番に格納)して、その情報ビット系列である非インタリーブ系列をメモリ7に記録する(ステップST22)。
なお、情報ビット系列の情報長(情報ビット数)がKビットである場合、図10に示すように、メモリIF6がKビットの情報ビット系列の入力及び記録に要するステップ数は、K/2ステップである。
逆インタリーブ生成器2は、上記実施の形態1と同様に、「3GPP TS36.212」の規格で規定されているターボ符号の逆インタリーバを生成する(ステップST23)。
即ち、逆インタリーブ生成器2は、上記実施の形態1に記述している加減算処理と比較計算処理を実施することで、逐次的に、連続している偶数番目と奇数番目の情報ビットの逆インタリーブ位置π-1(2×t),π-1(2×t+1)を算出する。
なお、情報ビット系列の情報長(情報ビット数)がKビットである場合、図10に示すように、逆インタリーブ生成器2が逆インタリーブ位置の算出に要するステップ数は、K/2ステップである。
メモリIF3は、メモリIF6と同じタイミングで、情報ビット系列の先頭から情報ビットを2ビットずつ入力し(ステップST21)、逆インタリーブ生成器2により算出された逆インタリーブ位置π-1(2×t),π-1(2×t+1)に2ビットの情報ビットを配置(逆インタリーブ位置π-1(2×t),π-1(2×t+1)に対応するメモリ4のアドレスに2ビットの情報ビットを記録)してターボ符号のインタリーブ系列を生成する(ステップST24)。
なお、情報ビット系列の情報長(情報ビット数)がKビットである場合、図10に示すように、メモリIF3が情報ビットをメモリ4に記録して、Kビットのインタリーブ系列の生成に要するステップ数は、K/2ステップである。
全ての情報ビットの入力が終わると、メモリ4にはインタリーブ系列が格納されており、インタリーブ系列の畳み込み符号化を実施する場合、インタリーブ系列の先頭から順番に、インタリーブされた情報ビットを読み出せばよい。
メモリIF6は、メモリ7に対するKビットの非インタリーブ系列の記録が完了すると、メモリ7に記録されている非インタリーブ系列の先頭から情報ビットを2ビットずつ読み出して、その情報ビットを成分符号化器1に出力する。
成分符号化器1は、メモリIF6から2ビットずつ情報ビットを受けると、上記実施の形態1と同様に、2ビットの情報ビットに対する畳み込み符号化を実施して非インタリーブ系列のパリティ1ビットを2ビットずつ生成する(ステップST25)。
成分符号化器1は、2ビットの情報ビットに対する畳み込み符号化を実施してパリティ1ビットを生成すると、テイルビットと呼ばれるTビットのパリティビットを生成して、そのテイルビットを出力する。
なお、非インタリーブ系列の情報長(情報ビット数)がKビットである場合、図10に示すように、成分符号化器1がKビットのパリティ1ビットの生成に要するステップ数は、K/2ステップである。
また、成分符号化器1がTビットのテイルビットの生成に要するステップ数は、Tステップであり、パリティ1ビットの生成後に実施する。
メモリIF3は、メモリ4に対するKビットのインタリーブ系列の記録が完了すると、メモリ4に記録されているインタリーブ系列の先頭から情報ビットを2ビットずつ読み出して、その情報ビットを成分符号化器5に出力する。
成分符号化器5は、メモリIF3から2ビットずつ情報ビットを受けると、上記実施の形態1と同様に、2ビットの情報ビットに対する畳み込み符号化を実施してインタリーブ系列のパリティ2ビットを2ビットずつ生成する(ステップST26)。
成分符号化器5は、2ビットの情報ビットに対する畳み込み符号化を実施してパリティ2ビットを生成すると、テイルビットと呼ばれるTビットのパリティビットを生成して、そのテイルビットを出力する。
なお、インタリーブ系列の情報長(情報ビット数)がKビットである場合、図10に示すように、成分符号化器5がKビットのパリティ2ビットの生成に要するステップ数は、K/2ステップである。
また、成分符号化器5がTビットのテイルビットの生成に要するステップ数は、Tステップであり、パリティ2ビットの生成後に実施する。
以上で明らかなように、この実施の形態3によれば、上記実施の形態1と同様に、事前に全ての逆インタリーブ位置を格納するメモリや、複数の逆インタリーブ位置を同時に計算する複雑な回路を実装することなく、畳み込み符号化の処理時間を短縮することができる効果を奏する。
実施の形態4.
図11はこの発明の実施の形態4によるターボ符号化装置を示す構成図であり、図において、図5と同一符号は同一または相当部分を示すので説明を省略する。
メモリIF16は情報ビット系列の先頭から情報ビットを2ビットずつ入力し、2ビットの情報ビットを順番にメモリ17に格納して、その情報ビット系列である非インタリーブ系列をメモリ17に記録する処理のほか、メモリ17に記録されている非インタリーブ系列の先頭から情報ビットを2ビットずつ読み出して、その情報ビットを成分符号化器1に出力する処理を実施する。
メモリ17はターボ符号の非インタリーブ系列を記録する記憶媒体である。
図12はこの発明の実施の形態4によるターボ符号化装置の処理内容を示すフローチャートであり、図13はこの発明の実施の形態4によるターボ符号化装置の処理タイミングを示すタイミングチャートである。
次に動作について説明する。
この実施の形態4では、説明の便宜上、情報ビット系列の情報長(情報ビット数)がKビット、1つの畳み込み符号化で生成するテイルビット数がTビットであるとする。
メモリIF16は、情報長Kの情報ビット系列の先頭から情報ビットを2ビットずつ入力し(ステップST31)、2ビットの情報ビットを順番にメモリ17に格納(情報ビットを並べ替えずに、先頭から順番に格納)して、その情報ビット系列である非インタリーブ系列をメモリ17に記録する(ステップST32)。
なお、情報ビット系列の情報長(情報ビット数)がKビットである場合、図13に示すように、メモリIF16がKビットの情報ビット系列の入力及び記録に要するステップ数は、K/2ステップである。
メモリIF14は、メモリIF16と同じタイミングで、情報長Kの情報ビット系列の先頭から情報ビットを2ビットずつ入力し(ステップST31)、2ビットの情報ビットを順番にメモリ12に格納(情報ビットを並べ替えずに、先頭から順番に格納)して、その情報ビット系列をメモリ12に記録する(ステップST33)。
なお、情報ビット系列の情報長(情報ビット数)がKビットである場合、図13に示すように、メモリIF14がKビットの情報ビット系列の入力及び記録に要するステップ数は、K/2ステップである。
インタリーブ生成器13は、上記実施の形態2と同様に、「3GPP TS36.212」の規格で規定されているターボ符号のインタリーバを生成する(ステップST34)。
即ち、インタリーブ生成器13は、上記実施の形態2に記述している加減算処理と比較計算処理を実施することで、逐次的に、偶数番目(2×t)の情報ビットのインタリーブ位置π(2×t)と、奇数番目(2×t+1)の情報ビットのインタリーブ位置π(2×t+1)とを算出する。
なお、情報ビット系列の情報長(情報ビット数)がKビットである場合、図13に示すように、インタリーブ生成器13がインタリーブ位置の算出に要するステップ数は、K/2ステップである。
メモリIF16は、メモリ17に対するKビットの非インタリーブ系列の記録が完了すると、メモリ17に記録されている非インタリーブ系列の先頭から情報ビットを2ビットずつ読み出して、その情報ビットを成分符号化器11に出力する。
成分符号化器11は、メモリIF16から2ビットずつ情報ビットを受けると、上記実施の形態2と同様に、2ビットの情報ビットに対する畳み込み符号化を実施して非インタリーブ系列のパリティ1ビットを2ビットずつ生成する(ステップST35)。
成分符号化器11は、2ビットの情報ビットに対する畳み込み符号化を実施してパリティ1ビットを生成すると、テイルビットと呼ばれるTビットのパリティビットを生成して、そのテイルビットを出力する。
なお、非インタリーブ系列の情報長(情報ビット数)がKビットである場合、図13に示すように、成分符号化器11がKビットのパリティ1ビットの生成に要するステップ数は、K/2ステップである。
また、成分符号化器11がTビットのテイルビットの生成に要するステップ数は、Tステップであり、パリティ1ビットの生成後に実施する。
メモリIF14は、メモリ12に対するKビットの情報ビット系列の記録が完了すると、メモリ12に記録されている情報ビット系列の中から、インタリーブ生成器13により算出されたインタリーブ位置π(2×t),π(2×t+1)にある2ビットの情報ビットを読み出して、その情報ビットを成分符号化器15に出力する。
成分符号化器15は、メモリIF14から2ビットずつ情報ビットを受けると、上記実施の形態2と同様に、2ビットの情報ビットに対する畳み込み符号化を実施してインタリーブ系列のパリティ2ビットを2ビットずつ生成する(ステップST36)。
成分符号化器15は、2ビットの情報ビットに対する畳み込み符号化を実施してパリティ2ビットを生成すると、テイルビットと呼ばれるTビットのパリティビットを生成して、そのテイルビットを出力する。
なお、インタリーブ系列の情報長(情報ビット数)がKビットである場合、図13に示すように、成分符号化器15がKビットのパリティ2ビットの生成に要するステップ数は、K/2ステップである。
また、成分符号化器15がTビットのテイルビットの生成に要するステップ数は、Tステップであり、パリティ2ビットの生成後に実施する。
以上で明らかなように、この実施の形態4によれば、上記実施の形態2と同様に、事前に全てのインタリーブ位置を格納するメモリや、複数のインタリーブ位置を同時に計算する複雑な回路を実装することなく、畳み込み符号化の処理時間を短縮することができる効果を奏する。
実施の形態5.
上記実施の形態1〜4では、ターボ符号化装置がパリティ1ビットとパリティ2ビットをそれぞれ2ビットずつ生成するものについて示したが、情報ビットをnビット(n≧3)ずつ入力して、nビットの情報ビットに対する畳み込み符号化を実施することにより、パリティ1ビットとパリティ2ビットをそれぞれnビットずつ生成するようにしてもよい。
この実施の形態5では、図5又は図11のインタリーブ生成器13がターボ符号のインタリーバを生成する場合、n個のインタリーブ位置を算出する必要がある。
このとき、n個のインタリーブ位置として、π(0)とπ(1)と・・・π(n−1),π(n)とπ(n+1)と・・・π(2×n−1),・・・を上記の式(1)を用いて、n個ずつ計算してもよいが、式(1)では、複雑で回路規模が大きくなる乗算計算と剰余計算を実行する必要がある。
そこで、この実施の形態5では、インタリーブ生成器13が、以下の計算式を用いて、逐次的にn個のインタリーブ位置を算出する。
n個のインタリーブ位置は、π(n×j+q)で表現する。ただし、0≦q≦n−1、j=0,1,・・・,K/nである。
同じjに対して、0≦q≦n−1となるn個のπ(n×j+q)が、n個のインタリーブ位置となる。
これらのインタリーブ位置は、下記のπ(q)を初期値として算出する。
π(q)=f1×n+f2×n×(n+2×q)、 0≦q≦n−1
π(n×(j+t)+q)=π(n×j+q)+c(t)
If π(n×(t+1)) ≧ K
π(n×(t+1))=π(n×(t+1))−K
c(t+1)=c(t)+2×f2×n×n
If c(t+1) ≧ K
c(t+1)=c(t)−K
なお、初期値π(q)とc(t)の式に含まれる乗算結果については、あらかじめメモリに格納し、情報長Kが決まったとき、メモリから読み出すようにする。
他の計算処理は、加減算処理又は比較計算処理であり、簡易な計算でn個のインタリーブ位置を得ることができる。
また、図1又は図8の逆インタリーブ生成器2がターボ符号の逆インタリーバを生成する場合、n個の逆インタリーブ位置を算出する必要がある。
このとき、n個の逆インタリーブ位置として、π-1(0)とπ-1(1)・・・π-1(n−1),π-1(n)とπ-1(n+1)と・・・π-1(2×n−1),・・・を上記の式(2)を用いて、n個ずつ計算してもよいが、式(2)では、複雑で回路規模が大きくなる乗算計算と剰余計算を実行する必要がある。
そこで、この実施の形態5では、逆インタリーブ生成器2が、以下の計算式を用いて、逐次的にn個の逆インタリーブ位置を算出する。
n個の逆インタリーブ位置は、π-1(n×j+q)で表現する。ただし、0≦q≦n−1、j=0,1,・・・,K/nである。
同じjに対して、0≦q≦n−1となるn個のπ-1(n×j+q)が、n個の逆インタリーブ位置となる。
これらの逆インタリーブ位置は、下記のπ-1(q)を初期値として算出する。
π-1(q)=h1×n+h2×n×(n+2×q)、 0≦q≦n−1
π-1(n×(j+t)+q)=π(n×j+q)+d(t)
If π-1(n×(t+1)) ≧ K
π-1(n×(t+1))=π-1(n×(t+1))−K
d(t+1)=d(t)+2×h2×n×n
If d(t+1) ≧ K
d(t+1)=d(t)−K
なお、初期値π-1(q)とd(t)の式に含まれる乗算結果については、あらかじめメモリに格納し、情報長Kが決まったとき、メモリから読み出すようにする。
他の計算処理は、加減算処理又は比較計算処理であり、簡易な計算でn個の逆インタリーブ位置を得ることができる。
上記実施の形態1〜4では、成分符号化器1,5,11,15の構成が図2の構成である例を示したが、成分符号化器1,5,11,15が情報ビットをnビット(n≧3)ずつ入力して、パリティ1ビット又はパリティ2ビットをnビットずつ生成する場合、他の構成になる。
例えば、n=3の場合には、成分符号化器1,5,11,15の構成が図14のような構成となる。ただし、図14の構成はあくまでも一例であり、成分符号化器1,5,11,15は図14の構成に限るものではない。
図14において、加算器31は入力A(0,3,6,・・・,K−3番目の情報ビット)と、入力C(2,5,8,・・・,K−1番目の情報ビット)と、遅延素子34により1クロック分遅延された情報ビットと、遅延素子35により1クロック分遅延された情報ビットと、遅延素子36により1クロック分遅延された情報ビットとを加算して、加算後の情報ビットを遅延素子34に出力する。
加算器32は入力B(1,4,7,・・・,K−2番目の情報ビット)と、遅延素子34により1クロック分遅延された情報ビットと、遅延素子35により1クロック分遅延された情報ビットとを加算して、加算後の情報ビットを遅延素子35に出力する。
加算器33は入力A(0,3,6,・・・,K−3番目の情報ビット)と、遅延素子35により1クロック分遅延された情報ビットと、遅延素子36により1クロック分遅延された情報ビットとを加算して、加算後の情報ビットを遅延素子36に出力する。
遅延素子34は加算器31から出力された加算後の情報ビットを1クロック分だけ保持して、その情報ビットを加算器31,37,38,39に出力する。
遅延素子35は加算器32から出力された加算後の情報ビットを1クロック分だけ保持して、その情報ビットを加算器31,32,37,38に出力する。
遅延素子36は加算器33から出力された加算後の情報ビットを1クロック分だけ保持して、その情報ビットを加算器31,33,38,39に出力する。
加算器37は入力A(0,3,6,・・・,K−3番目の情報ビット)と、遅延素子34により1クロック分遅延された情報ビットと、遅延素子35により1クロック分遅延された情報ビットとを加算し、加算後の情報ビットをパリティビットA(入力Aに対応するパリティビット)として出力する。
加算器38は入力A(0,3,6,・・・,K−3番目の情報ビット)と、入力B(1,4,7,・・・,K−2番目の情報ビット)と、遅延素子34により1クロック分遅延された情報ビットと、遅延素子35により1クロック分遅延された情報ビットと、遅延素子36により1クロック分遅延された情報ビットとを加算し、加算後の情報ビットをパリティビットB(入力Bに対応するパリティビット)として出力する。
加算器39は入力A(0,3,6,・・・,K−3番目の情報ビット)と、入力B(1,4,7,・・・,K−2番目の情報ビット)と、入力C(2,5,8,・・・,K−1番目の情報ビット)と、遅延素子34により1クロック分遅延された情報ビットと、遅延素子36により1クロック分遅延された情報ビットとを加算し、加算後の情報ビットをパリティビットC(入力Cに対応するパリティビット)として出力する。
以上で明らかなように、この実施の形態5によれば、畳み込み符号化の処理時間が1ビットずつパリティビットを生成する場合の約1/nの時間となり、上記実施の形態1〜4よりも更に、畳み込み符号化の処理時間を短縮することができる効果を奏する。
実施の形態6.
図15はこの発明の実施の形態6による通信システムを示す構成図であり、通信システムは送信装置40と受信装置50から構成されている。
図において、送信装置40は上記実施の形態1〜5のいずれかのターボ符号化装置41を実装しており、そのターボ符号化装置41を使用して、情報源をターボ符号化してターボ符号を生成し、そのターボ符号を変調して変調波を送信する。
受信装置50は「3GPP TS36.212」の規格で規定されたターボ符号のターボ符号復号装置51を実装しており、送信装置40から送信された変調波を受信し、その変調波からターボ符号を復調すると、そのターボ符号復号装置51を使用して、そのターボ符号を復号する。
なお、送信装置40と受信装置50の通信路は、無線でも有線でもよく、ターボ符号を利用するディジタル通信システムの全てに適用することができる。
図16はこの発明の実施の形態6による通信システムの処理内容を示すフローチャートである。
次に動作について説明する。
送信装置40は、例えば、データ通信対象のパケットデータである情報源を入力すると(ステップST101)、実装しているターボ符号化装置41を使用して、その情報源をターボ符号化して、ターボ符号(ターボ符号化系列:情報ビット系列、パリティ1ビット系列、パリティ2ビット系列、テイルビット系列)を生成する(ステップST102)。
送信装置40は、ターボ符号を生成すると、そのターボ符号を変調して変調波を送信する(ステップST103)。
通信路では、伝播環境に応じて変調波に雑音が付加される。
受信装置50は、送信装置40から送信された変調波を受信し(ステップST104)、その変調波に対する同期検波処理や復調処理を実施することにより、ターボ符号を復調する。
受信装置50は、ターボ符号を復調すると、実装しているターボ符号復号装置51を使用して、そのターボ符号を復号し(ステップST105)、その復号結果を例えば再生装置に出力する。
これにより、再生装置により復号結果の再生処理が実施されて(ステップST106)、情報源の再生が行われる。
この実施の形態6によれば、送信装置40が、回路規模が小さく、処理速度が高速なターボ符号化装置41(図1、図5、図8又は図11のターボ符号化装置)を使用しているので、消費電力と回路規模が小さい高速通信の通信システムを実現することができる効果を奏する。
実施の形態7.
図17はこの発明の実施の形態7による通信システムを示す構成図であり、通信システムは図15の送信装置40に相当する移動体端末60と、図15の受信装置50に相当する基地局70とから構成されている。
図において、移動体端末60は上記実施の形態1〜5のいずれかのターボ符号化装置61を実装しており、そのターボ符号化装置61を使用して、情報源をターボ符号化してターボ符号を生成し、そのターボ符号を変調して変調波を送信する。
なお、移動体端末60では、基地局70に送信するデータのうち、ターボ符号を利用するチャネル(例えば、Uplink Shared Channel)に割り当てられたデータ系列をターボ符号化し、そのターボ符号を生成して送信する。
基地局70は「3GPP TS36.212」の規格で規定されたターボ符号のターボ符号復号装置71を実装しており、移動体端末60から送信された変調波を受信し、その変調波からターボ符号を復調すると、そのターボ符号復号装置71を使用して、そのターボ符号を復号する。
この実施の形態7の場合も、移動体端末60が、回路規模が小さく、処理速度が高速なターボ符号化装置61(図1、図5、図8又は図11のターボ符号化装置)を使用しているので、消費電力と回路規模が小さい高速通信の通信システムを実現することができる効果を奏する。
なお、上記実施の形態1〜7では、無線通信を実施する際に、ターボ符号化装置がターボ符号を符号化するものについて示したが、これに限るものではなく、一般的なディジタル情報処理を実施する際に、ターボ符号化装置がターボ符号を符号化するようにしてもよい。
この発明の実施の形態1によるターボ符号化装置を示す構成図である。 この発明の実施の形態1によるターボ符号化装置の成分符号化器1,5を示す構成図である。 この発明の実施の形態1によるターボ符号化装置の処理内容を示すフローチャートである。 この発明の実施の形態1によるターボ符号化装置の処理タイミングを示すタイミングチャートである。 この発明の実施の形態2によるターボ符号化装置を示す構成図である。 この発明の実施の形態2によるターボ符号化装置の処理内容を示すフローチャートである。 この発明の実施の形態2によるターボ符号化装置の処理タイミングを示すタイミングチャートである。 この発明の実施の形態3によるターボ符号化装置を示す構成図である。 この発明の実施の形態3によるターボ符号化装置の処理内容を示すフローチャートである。 この発明の実施の形態3によるターボ符号化装置の処理タイミングを示すタイミングチャートである。 この発明の実施の形態4によるターボ符号化装置を示す構成図である。 この発明の実施の形態4によるターボ符号化装置の処理内容を示すフローチャートである。 この発明の実施の形態4によるターボ符号化装置の処理タイミングを示すタイミングチャートである。 この発明の実施の形態5によるターボ符号化装置の成分符号化器1,5,11,15を示す構成図である。 この発明の実施の形態6による通信システムを示す構成図である。 この発明の実施の形態6による通信システムの処理内容を示すフローチャートである。 この発明の実施の形態7による通信システムを示す構成図である。
符号の説明
1,11 成分符号化器(第1の符号化手段)、2 逆インタリーブ生成器(逆インタリーブ位置算出手段)、3 メモリIF(インタリーブ系列生成手段)、4 メモリ(インタリーブ系列生成手段)、5,15 成分符号化器(第2の符号化手段)、6,16 メモリIF、7,17 メモリ、12 メモリ(情報ビット系列格納手段)、13 インタリーブ生成器(インタリーブ位置算出手段)、14 メモリIF(情報ビット読出し手段)、21,22,26,27,31,32,33,37,38,39 加算器、23,24,25,34,35,36 遅延素子、40 送信装置、41,61 ターボ符号化装置、50 受信装置、51,71 ターボ符号復号装置、60 移動体端末、70 基地局。

Claims (9)

  1. 情報ビット系列の先頭から情報ビットを複数ビットずつ入力し、上記複数の情報ビットに対する畳み込み符号化を実施してターボ符号の非インタリーブ系列のパリティビットを複数ビットずつ生成する第1の符号化手段と、上記複数の情報ビットの逆インタリーブ位置を加減算処理と比較計算処理を実施するだけで算出する逆インタリーブ位置算出手段と、上記逆インタリーブ位置算出手段により算出された逆インタリーブ位置に上記複数の情報ビットを配置してターボ符号のインタリーブ系列を生成するインタリーブ系列生成手段と、上記インタリーブ系列生成手段により生成されたインタリーブ系列の先頭から情報ビットを複数ビットずつ入力し、上記複数の情報ビットに対する畳み込み符号化を実施してインタリーブ系列のパリティビットを複数ビットずつ生成する第2の符号化手段とを備えたターボ符号化装置。
  2. 情報ビット系列の先頭から情報ビットを複数ビットずつ入力し、上記複数の情報ビットに対する畳み込み符号化を実施してターボ符号の非インタリーブ系列のパリティビットを複数ビットずつ生成する第1の符号化手段と、上記情報ビット系列を格納する情報ビット系列格納手段と、上記複数の情報ビットのインタリーブ位置を加減算処理と比較計算処理を実施するだけで算出するインタリーブ位置算出手段と、上記情報ビット系列格納手段に格納されている情報ビット系列の中から、上記インタリーブ位置算出手段により算出されたインタリーブ位置にある複数の情報ビットを読み出す情報ビット読出手段と、上記情報ビット読出手段により読み出された複数の情報ビットを順番に入力し、上記複数の情報ビットに対する畳み込み符号化を実施してターボ符号のインタリーブ系列のパリティビットを複数ビットずつ生成する第2の符号化手段とを備えたターボ符号化装置。
  3. ターボ符号として、「3GPP TS36.212」の規格に規定されているターボ符号を取り扱うことを特徴とする請求項1または請求項2記載のターボ符号化装置。
  4. ターボ符号のインタリーバとしてQPP方式を採用していることを特徴とする請求項1から請求項3のうちのいずれか1項記載のターボ符号化装置。
  5. 第1の符号化手段が情報ビット系列の先頭から情報ビットを複数ビットずつ入力し、上記複数の情報ビットに対する畳み込み符号化を実施してターボ符号の非インタリーブ系列のパリティビットを複数ビットずつ生成する第1の符号化ステップと、逆インタリーブ位置算出手段が上記複数の情報ビットの逆インタリーブ位置を加減算処理と比較計算処理を実施するだけで算出する逆インタリーブ位置算出ステップと、インタリーブ系列生成手段が上記逆インタリーブ位置算出手段により算出された逆インタリーブ位置に上記複数の情報ビットを配置してターボ符号のインタリーブ系列を生成するインタリーブ系列生成ステップと、第2の符号化手段が上記インタリーブ系列生成手段により生成されたインタリーブ系列の先頭から情報ビットを複数ビットずつ入力し、上記複数の情報ビットに対する畳み込み符号化を実施してインタリーブ系列のパリティビットを複数ビットずつ生成する第2の符号化ステップとを備えたターボ符号化方法。
  6. 第1の符号化手段が情報ビット系列の先頭から情報ビットを複数ビットずつ入力し、上記複数の情報ビットに対する畳み込み符号化を実施してターボ符号の非インタリーブ系列のパリティビットを複数ビットずつ生成する第1の符号化ステップと、情報ビット系列格納手段が上記情報ビット系列を格納する情報ビット系列格納ステップと、インタリーブ位置算出手段が複数の情報ビットのインタリーブ位置を加減算処理と比較計算処理を実施するだけで算出するインタリーブ位置算出ステップと、情報ビット読出手段が上記情報ビット系列格納手段に格納されている情報ビット系列の中から、上記インタリーブ位置算出手段により算出されたインタリーブ位置にある複数の情報ビットを読み出す情報ビット読出ステップと、第2の符号化手段が上記情報ビット読出手段により読み出された複数の情報ビットを順番に入力し、上記複数の情報ビットに対する畳み込み符号化を実施してターボ符号のインタリーブ系列のパリティビットを複数ビットずつ生成する第2の符号化ステップとを備えたターボ符号化方法。
  7. 情報ビット系列をターボ符号化してターボ符号を生成し、上記ターボ符号を変調して変調波を送信する送信装置と、上記送信装置から送信された変調波を受信し、上記変調波からターボ符号を復調する受信装置とからなる通信システムにおいて、上記送信装置が、上記情報ビット系列の先頭から情報ビットを複数ビットずつ入力し、上記複数の情報ビットに対する畳み込み符号化を実施してターボ符号の非インタリーブ系列のパリティビットを複数ビットずつ生成する第1の符号化手段と、上記複数の情報ビットの逆インタリーブ位置を加減算処理と比較計算処理を実施するだけで算出する逆インタリーブ位置算出手段と、上記逆インタリーブ位置算出手段により算出された逆インタリーブ位置に上記複数の情報ビットを配置してターボ符号のインタリーブ系列を生成するインタリーブ系列生成手段と、上記インタリーブ系列生成手段により生成されたインタリーブ系列の先頭から情報ビットを複数ビットずつ入力し、上記複数の情報ビットに対する畳み込み符号化を実施してインタリーブ系列のパリティビットを複数ビットずつ生成する第2の符号化手段とを備えたターボ符号化装置を実装していることを特徴とする通信システム。
  8. 情報ビット系列をターボ符号化してターボ符号を生成し、上記ターボ符号を変調して変調波を送信する送信装置と、上記送信装置から送信された変調波を受信し、上記変調波からターボ符号を復調する受信装置とからなる通信システムにおいて、上記送信装置が、上記情報ビット系列の先頭から情報ビットを複数ビットずつ入力し、上記複数の情報ビットに対する畳み込み符号化を実施してターボ符号の非インタリーブ系列のパリティビットを複数ビットずつ生成する第1の符号化手段と、上記情報ビット系列を格納する情報ビット系列格納手段と、上記複数の情報ビットのインタリーブ位置を加減算処理と比較計算処理を実施するだけで算出するインタリーブ位置算出手段と、上記情報ビット系列格納手段に格納されている情報ビット系列の中から、上記インタリーブ位置算出手段により算出されたインタリーブ位置にある複数の情報ビットを読み出す情報ビット読出手段と、上記情報ビット読出手段により読み出された複数の情報ビットを順番に入力し、上記複数の情報ビットに対する畳み込み符号化を実施してターボ符号のインタリーブ系列のパリティビットを複数ビットずつ生成する第2の符号化手段とを備えたターボ符号化装置を実装していることを特徴とする通信システム。
  9. 送信装置が移動体端末であり、受信装置が基地局であることを特徴とする請求項7または請求項8記載の通信システム。
JP2007244169A 2007-09-20 2007-09-20 ターボ符号化装置、ターボ符号化方法及び通信システム Pending JP2009077154A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007244169A JP2009077154A (ja) 2007-09-20 2007-09-20 ターボ符号化装置、ターボ符号化方法及び通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007244169A JP2009077154A (ja) 2007-09-20 2007-09-20 ターボ符号化装置、ターボ符号化方法及び通信システム

Publications (1)

Publication Number Publication Date
JP2009077154A true JP2009077154A (ja) 2009-04-09

Family

ID=40611709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007244169A Pending JP2009077154A (ja) 2007-09-20 2007-09-20 ターボ符号化装置、ターボ符号化方法及び通信システム

Country Status (1)

Country Link
JP (1) JP2009077154A (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02121164A (ja) * 1988-10-28 1990-05-09 Olympus Optical Co Ltd インターリーブアドレス生成回路
JP2001177418A (ja) * 1999-10-07 2001-06-29 Matsushita Electric Ind Co Ltd インターリーブアドレス生成装置及びインターリーブアドレス生成方法
JP2002190743A (ja) * 2000-09-29 2002-07-05 Samsung Electronics Co Ltd Umtsにおけるターボ符号化器のインターリーバ及びインターリービングを遂行するための方法
JP2003133966A (ja) * 2001-10-24 2003-05-09 Matsushita Electric Ind Co Ltd 高速インタリーバを用いたターボ復号装置及び方法
JP2006013846A (ja) * 2004-06-25 2006-01-12 Univ Waseda 符号順序変換方法およびその装置、符号順序変換テーブル作成装置、並びにターボ符号用の符号器および復号器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02121164A (ja) * 1988-10-28 1990-05-09 Olympus Optical Co Ltd インターリーブアドレス生成回路
JP2001177418A (ja) * 1999-10-07 2001-06-29 Matsushita Electric Ind Co Ltd インターリーブアドレス生成装置及びインターリーブアドレス生成方法
JP2002190743A (ja) * 2000-09-29 2002-07-05 Samsung Electronics Co Ltd Umtsにおけるターボ符号化器のインターリーバ及びインターリービングを遂行するための方法
JP2003133966A (ja) * 2001-10-24 2003-05-09 Matsushita Electric Ind Co Ltd 高速インタリーバを用いたターボ復号装置及び方法
JP2006013846A (ja) * 2004-06-25 2006-01-12 Univ Waseda 符号順序変換方法およびその装置、符号順序変換テーブル作成装置、並びにターボ符号用の符号器および復号器

Similar Documents

Publication Publication Date Title
JP4284125B2 (ja) パリティビットを再循環させる連続コードデコーダ及びその方法
JP5219699B2 (ja) 符号化装置及び復号装置
TWI406509B (zh) 渦輪解碼器及解碼渦輪編碼信號的方法
MXPA01009713A (es) Descodificador de map altamente paralelo.
KR19980064845A (ko) 씨알씨 검사 비트를 이용하는 코딩 및 디코딩 시스템
US9444494B2 (en) Systems and methods for network coding using convolutional codes
WO2011026375A1 (zh) 编码方法及装置、解码方法及装置
JP2007510337A (ja) 移動通信システムのビタビ/ターボ統合デコーダ
JPH0722967A (ja) ビタビ復号器の経路記憶装置
WO2000064058A1 (fr) Codeur et decodeur
JP2009095008A (ja) ターボ符号復号装置、ターボ符号復号方法及び通信システム
WO2019149180A1 (zh) 交织方法和交织装置
KR100628201B1 (ko) 터보 디코딩 방법
JPH09232972A (ja) ビタビ復号器
WO2001037432A1 (fr) Dispositif et procede de traitement des erreurs, utilisant un code cyclique
JPH07288479A (ja) 誤り訂正連接符号化方法及び装置
JP2009077154A (ja) ターボ符号化装置、ターボ符号化方法及び通信システム
KR20080030493A (ko) 임의 개수의 정보 비트들을 위한 테일바이팅 터보 코드
JP2001211088A (ja) データ誤り訂正方法及び装置
JPH08265175A (ja) 符号化装置、復号装置及び伝送方式
JP3515519B2 (ja) データ受信装置
JP7144621B2 (ja) 通信システム及び通信方法
JP2008263470A (ja) デジタル放送復調装置
WO2011048997A1 (ja) 軟出力復号器
JP2008160169A (ja) 通信装置、ターボ符号器および通信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100617

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110705

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111004

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120417

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120821