【実施例1】
【0022】
第一の実施例(実施例1)について
図1及び
図3から
図10を用いて説明する。以下に説明する実施例1は、OFDM(Orthogonal Frequency-Division Multiplexing)で変調された空間多重MIMO方式の信号を受信する受信機(無線通信装置)について説明を行うが、前述したようなISIを低減するようなシングルキャリアのターボ等化信号処理であっても適用可能である。また、上記の無線通信装置に類するターボ等化信号処理に適用可能であることは言うまでもない。
【0023】
図1に示すように、実施例1に係る受信機は、デマッパ(等化器)101とデインタリーバ102と順方向前向きメトリック計算器(α
for計算器)103とデインタリーバ104と逆方向後向きメトリック計算器(β
bak計算器)105と、デインタリーバ106と後向きメトリック初期値計算器(β初期値計算器)107とデインタリーバ108と順方向状態遷移確率計算器(γ
for計算器)109と逆方向状態遷移確率計算器(γ
bak計算器)110とβメモリ111とαメモリ112と順方向復号LLR計算部113と逆方向復号LLR計算部114とインタリーバ115とインタリーバ116とデータ選択器117と硬判定器118とを備える。
【0024】
ターボ等化信号処理の誤り訂正復号では式(4)から式(6)で示した演算を実施するが、そのためには前向きメトリック(α)、後向きメトリック(β)、及び状態遷移確率(γ)が必要である。
【0025】
ここで、順方向と逆方向の信号変数のサフィックスについて、順方向をfor、逆方向をbakとし、順方向前向きメトリックをα
for、逆方向前向きメトリックをα
bakと定義する。同様に、順方向後向きメトリックをβ
for、逆方向後向きメトリックをβ
bakと定義する。最後に、順方向状態遷移確率をγ
for、逆状態遷移確率をγ
bakと定義する。
【0026】
以下の説明では、デマッパ101とデインタリーバ102,104,106,108のメモリ書き込み手順についての説明を行った後、順方向、逆方向の前向きメトリック(α
for、α
bak)の算出方法について述べる。その後、後向きメトリック(β
for、β
bak)と状態遷移確率(γ
for、γ
bak)の算出方法についても順に説明する。最後に、復号手段とインタリーバの動作説明を行い、処理遅延の軽減について言及する。
【0027】
最初に、デマッパ101とデインタリーバ102とデインタリーバ104とデインタリーバ106とデインタリーバ108についての説明を行う。
デマッパ101には、受信アンテナで受信され、FFT(Fast Fourie Transform)にて周波数領域に変換された受信信号(Y
i)が入力される。ここで、MIMO方式の場合にはiは受信アンテナ番号を示しており、i≧2の整数である。デマッパ101では後述する事前のLLR(L
Eα)を用いて復調を行うが、ターボループの一巡目では事前のLLR(L
Eα)が得られていないため、MIMO信号処理でよく用いられるMMSEなどの空間分離フィルタやMLD(Maximum Likelihood Detection)等の同時推定処理を用いて等化される。これらのアルゴリズムに関しての詳細については参考文献2に記載される(その内容は参照によってこの明細書に取り込まれる)。
[参考文献2]風間宏志著「MIMOワイヤレス通信」、東京電機大学出版
デマッパ101の復調結果のLLR(L
Ee)はデインタリーバ102とデインタリーバ104とデインタリーバ106とデインタリーバ108へ出力する。デインタリーバ102とデインタリーバ104とデインタリーバ106とデインタリーバ108はメモリを用いて構成され、その書き込み手順はそれぞれ同様の動作となる。
これらのデインタリーブ処理では、入力された復調結果のLLR(L
Ee)を予め決められたパターンで並び替えを行う。この時、インタリーブの処理単位はKの長さとし、
図3に示すように長さKの範囲内で並び替えが行われるものとする。例えば、ARIB STD B-57(標準規格「1.2GHz/2.3GHz帯テレビジョン放送番組素材伝送用可搬形OFDM方式デジタル無線伝送システム」)では周波数デインタリーブが規定されており、OFDMシンボル内のサブキャリア順序をランダムに並び替える。ARIB STD B-57のOFDMシンボル内のデータサブキャリア本数は1344であり、K=1344の長さでデインタリーブを行う。
また、シングルキャリアでISIを軽減するようにターボ等化信号処理する際には、時間方向のデインタリーブが適用されることになる。
【0028】
デインタリーバの書き込みタイミングは
図7〜
図9の(i)行に示すように、深さがKのメモリに復調結果のLLR(L
Ee)を予め決められたパターンのメモリアドレスに書き込む。
図7〜
図10に示されている太枠で示したメモリマネジメントについて
図6を用いて説明する。横軸は時刻、縦軸はメモリアドレスを示している。また、図中の実線はメモリへの書き込みアドレス、点線は読み出しアドレスを示し、その傾きにより正順(傾きが正の場合は順方向)、逆順(傾きが負の場合は逆方向)を区別している。
【0029】
この
図7〜
図9ではデインタリーブ処理からBCJRアルゴリズム復号を経由してインタリーバまでのタイミング関係を図示しており、以下の説明では時刻0〜K−1の信号(N
1)に関するターボ等化信号処理について説明するが、後続するデータ(N
2、N
3、・・・)についても同様に継続して処理することになる。
【0030】
(1)前向きメトリック(α)の算出
まずは、前向きメトリック(α)に関して、前向きメトリック(α)を算出するためのメモリマネジメントについて
図7を用いて説明する。
デインタリーバ102のメモリに所定の順序でLLR(L
Ee)を書き込む(
図7の(i)行目のN
1(Π
−1−Mem(ランダムw)))。デインタリーバ102のメモリから3K時間経過した後に順方向に読み出しを行い(
図7の(ii)行目のN
1(Π
−1−Mem(順r)))、並び替えたLLR(L
Dα−for)をα
for計算器103へ出力する。3K時間の待機することの必要性について、詳細は後述するが、後向きメトリック(β)の算出タイミングと一致させるための処置である。
α
for計算器103における計算イメージについて
図4を用いて説明する。
図4に示すように、デインタリーバ102のメモリから順方向にLLR(L
Dα−for)が読み出され、式(1)と式(2)に基づいてトレリス線図を順方向にトレースしながら計算することで順方向前向きメトリック(α
1−for)を得る(
図7の(iii)行目のα
1−for計算)。
順方向前向きメトリック(α
for)は再帰的な算出方法であるため、算出する際には初期値(トレリスの始点)が必要となるが、これは1シンボル前に算出したα
forの最終結果(α
0(K−1))を利用することで容易に得ることができる(
図7の(iii)行目から(iv)行目への初期値二重矢印)。
α
for計算器103にて算出したα
forは、αメモリ112に順方向に書き込む(
図7の(iv)行目のα
1(α−Mem(順w)))。αメモリ112に書き込む期間は3K〜3.5K−1であるが、α
for計算器103の処理は3.5K〜4K−1の期間も継続して実施しており、その期間の順方向前向きメトリック(α
1−for)も算出する。
αメモリ112では書き込まれた順方向前向きメトリック(α
1−for)を3.5K〜4K−1の期間に逆順に読み出すことで、逆方向前向きメトリック(α
1−bak)を得る(
図7の(iv)行目のα
1(α−Mem(逆r)))。
これら処理(前向きメトリック算出処理)により、3.5K〜4K−1の期間では順方向前向きメトリック(α
1−for)と逆方向前向きメトリック(α
1−bak)を同時に得ることができる。
【0031】
(2)後向きメトリック(β)の算出
次に、後向きメトリック(β)の算出に関する説明を行う。前向きメトリック(α)と同様に後向きメトリック(β)の算出イメージについて
図5を用いて説明する。
図5に示すように、トレリス線図を逆順にトレースしながら、式(1)と式(3)に基づいて逆順後向きメトリック(β
bak)を算出する。この後向きメトリック(β)のメモリマネジメントについては
図8を用いて説明する。
逆順後向きメトリック(β
bak)の算出方法も再帰的であるので、αと同様に初期値(トレリスの終点)が必要となる。βの初期値は未来時刻の信号を逆順にトレースしながら算出する必要があり、時刻K−1の初期値を確定するためにK〜2K−1の信号(N
2)が必要となる。デインタリーバ106とβ初期値算出器107は、このβの初期値を算出するために設けられている。
デインタリーバ104,106のメモリに所定の順序でLLR(L
Ee)を書き込む(
図8の(i)行目のN
1(Π
−1−Mem(ランダムw)))。デインタリーバ106のメモリから2K時間経過後にLLR(L
Dα−bak)を逆順に読み出し(
図8の(ii)行目のN
2(Π
−1−Mem(逆r)))、β初期値計算器107では、式(1)と式(3)に基づいて後向きメトリック(β
2−bak)を算出する(
図8の(iii)行目のβ
2−bak初期値計算)。この時の後向きメトリック計算時の初期値は任意の値で良く、0を用いることが多い。
その後、K期間のトレリス逆順トレース(2K〜3K−1)により後向きメトリック(β)が確定し、β初期値算出器107の最終的な出力結果(β
2(0))(時刻3K−1)は逆方向後向きメトリック算出器105に入力され、逆方向後向きメトリック(β
1−bak)を算出する際の初期値として用いられる(
図8の(iii)行目から(v)行目への初期値二重矢印)。
デインタリーバ104のメモリから3K時間経過後にLLR(L
Dα−bak)を逆順に読み出し(
図8の(iv)行目のN
1(Π
−1−Mem(逆r)))、β
bak計算器105に入力する。β
bak計算器105ではβ初期値算出器107からの初期値と式(1)と式(3)に基づき逆方向後向きメトリック(β
1−bak)を算出する(
図8の(v)行目のβ
1−bak計算)。
β
bak計算器105にて算出した(β
1−bak)は、βメモリ111に逆順に書き込む(
図8の(vi)行目のβ
1(β−Mem(逆w)))。このβメモリ111に書き込む期間はαメモリ112と同様に3K〜3.5K−1の期間である。
3.5K〜4K−1の期間ではβメモリ111に書き込んだ結果を正順に読み出すことで順方向後向きメトリック(β
1−for)を得る(
図8の(vi)行目のβ
1(β−Mem(順r)))と同時に、β
bak計算器105の処理も3.5K〜4K−1の期間で継続して実施されている(
図8の(v)行目のβ
1−bak計算)。3K〜3.5K−1の期間におけるβメモリ111のデータをβ
1と表記している。
以上の処理により、3.5K〜4K−1の期間では順方向後向きメトリック(β
1−for)と逆方向後向きメトリック(β
1−bak)を同時に得ることができる。
【0032】
(3)状態遷移確率(γ)の算出
最後に、状態遷移確率(γ)の算出に関する説明を行う。状態遷移確率(γ)のメモリマネジメントについては
図9を用いて説明する。
デインタリーバ108のメモリに所定の順序でLLR(L
Ee)を書き込む(
図8の(i)行目のN
1(Π
−1−Mem(ランダムw)))。デインタリーバ108のメモリから3.5K時間経過後にLLR(L
Dα−for)を正順に読み出し(
図9の(ii)行目のN
1(Π
−1−Mem(順r)))、LLR(L
Dα−bak)を逆順に読み出す(
図9(iv)行目のN
1(Π
−1−Mem(逆r)))。これら読み出しタイミングは3.5K〜4K−1の期間で同時とする。3.5K〜4K−1の期間で読み出す理由は、前述した前向きメトリック(α
1−for、α
1−bak)と後向きメトリック(β
1−for、β
1−bak)がこの期間に算出されるため、これらのタイミングに合わせてメモリから読み出す状態遷移確率(γ)は式(1)に基づいてγ
for計算器109及びγ
bak計算器110で算出され、3.5K〜4K−1の期間で順状態遷移確率(γ
1−for)(
図9の(iii)行目のγ
1−for計算)と逆状態遷移確率(γ
1−bak)(
図9の(v)行目のγ
1−bak計算)を同期間に得ることができる。
【0033】
(4)復号・インタリーブ・データ選択
以上の処理により、3.5K〜4K−1の期間に順方向と逆方向の前向きメトリック(α
1−for、α
1−bak)、後向きメトリック(β
1−for、β
1−bak)、及び状態遷移確率(γ
1−for、γ
1−bak)が同時(同期間)に得られることになる。順方向と逆方向の前向きメトリック(α)、後向きメトリック(β)、及び状態遷移確率(γ)の変数を用いた順方向と逆方向の復号器とインタリーバによる並べ替え処理について
図10を用いて説明する。
順方向復号LLR計算器113では、α
for計算器103からの順方向前向きメトリック(α
1−for)と、βメモリ111からの順方向後向きメトリック(β
1−for)、及びγ
for計算器109からの順方向状態遷移確率(γ
1−for)を用いて誤り訂正復号を行い、誤り訂正復号された情報ビットのLLR(L
Du−for(Lu
1−for))と誤り訂正された符号化ビットのLLR(L
Dν−for(Lv
1−for))を得る(
図10の(iii)行目の順復号&LLR計算)。これらの復号器は式(4)〜式(6)に従うものとする。
順方向復号LLR計算器113からの信号はインタリーバ115のメモリに順方向に書き込まれ、順方向の復号結果はトレリス時刻のK/2〜K−1の情報であるため、その時刻に相当するメモリアドレスに書き込む必要がある(
図10の(iv)行目のN
1(Π―Mem(順w)))。
逆方向復号LLR計算器114では逆順の復号を行う。具体的には、αメモリ112からの逆方向前向きメトリック(α
1−bak)と、β
bak計算器105からの逆方向後向きメトリック(β
1−bak)、及びγ
bak計算器110からの逆方向状態遷移確率(γ
1−bak)を用いて誤り訂正復号を行い、誤り訂正復号された情報ビットのLLR(L
Du−bak(Lu
1−bak))と誤り訂正された符号化ビットのLLR(L
Dν−bak(Lv
1−bak))を得る(
図10の(v)行目の逆復号&LLR計算)。これらの復号手段も式(4)〜式(6)に従うものとする。
逆方向復号LLR計算器114からの信号は第二のインタリーバ116に逆方向に書き込まれ、逆方向の復号結果はトレリス時刻のK/2−1〜0の情報であるため、その時刻に相当するメモリアドレスに書き込む(
図10の(vi)行目のN
1(Π―Mem(逆w)))。
これらの順方向、逆方向復号結果のLLR(Lu
1−for、Lv
1−for、Lu
1−bak、Lv
1−bak)を第一のインタリーバ115、インタリーバ116に書き終えた後、インタリーバ115,116ではそれぞれ4K〜5K−1の期間でメモリを予め決まったパターンで読み出すことで、インタリーブ処理を実現する(
図10の(vii)行目のN
1(Π−Mem(ランダムr)))。
以上の処理により、デインタリーバから復号処理を経て、インタリーブ処理を完了するまでの処理遅延は4Kに短縮することが可能である(
図10の(vii)行目)。
インタリーバ115、インタリーバ116からの符号化ビットのLLR(Lv
1−for、Lv
1−bak)は同時タイミングで出力されるため、データ選択器117では、これらLLR(Lv
1−for、Lv
1−bak)を所定の順序に並べ替えるパラレル/シリアル変換等の処理を施し、並べ替えたLLR(L
Eα)をデマッパ101へ出力する。
【0034】
(5)二巡目以降の等化処理
デマッパ101では前述したようにターボループ一巡目では一般的なMIMO等化処理の一つであるMMSE等が適用されるが、二巡目以降では符号化ビット毎のLLR(L
Eα)をビット確率に変換し、ビット確率から干渉成分のソフトレプリカを生成する。このソフト干渉レプリカを受信信号(Yi)から減算することで、干渉の影響を軽減できる。また、シングルキャリアのターボ等化信号処理ではISIを軽減するためのソフト干渉レプリカを算出する。このように干渉成分を軽減した信号に対して、MLD(Maximum Likelihood Detection)やMMSE、あるいはMRC(最大比合成)等の等化処理を実施する。
【0035】
(6)硬判定
以上の処理がターボループ信号処理の一巡処理であり、この処理を複数回反復演算することで符号誤り率の向上を実現できる。この反復演算回数は所定回数あるいは、復号特性が所定の性能に達するまで反復演算を行った後、硬判定部118にて最終的な結果として復号結果(u)を得る。硬判定器118では入力された情報ビットのLLR(L
Du)に対して硬判定処理を行い、復号結果(u)を出力する。硬判定処理は、例えば、式(7)による。
【0036】
【数7】
【0037】
以上の説明した実施例により、ターボループのデインタリーブ/インタリーブを操作することでBCJRアルゴリズムにおける前向きメトリック計算と後向き計算の並列動作を可能とし、ターボ等化信号処理の低遅延化を実現できる。