(57)【要約】【課題】畳込み符号と共に用いるのに適したインターリーブ方式を提供する。【解決手段】インターリーブ部１０２は、デュアルポートメモリ２１０と、デュアルポートメモリ２１０に対する書込みアドレス２２１及び読出しアドレス２２２を発生するアドレス発生器２２０とを備える。アドレス発生器２２０は、デュアルポートメモリ２１０上に構成された正方行列において、行方向にデータが書き込まれるように書込みアドレス２２１を発生すると同時に、斜め方向にデータが読み出されるように読出しアドレス２２２を発生する。【選択図】図２
2006197469.tif 000002
【特許請求の範囲】
【請求項１】
デュアルポートメモリと、
前記デュアルポートメモリに対する書込みアドレス及び読出しアドレスを発生するアドレス発生部と
を有し、
前記アドレス発生器は、
前記デュアルポートメモリ上に構成された正方行列において、
行方向にデータが書き込まれるように前記書込みアドレスを発生すると同時に、斜め方向にデータが読み出されるように前記読出しアドレスを発生する
インターリーブ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ディジタル通信等における誤り訂正処理に関し、特に、バースト誤り訂正能力を向上させるためのインターリーブ処理に関する。
【背景技術】
【０００２】
誤り訂正（ＦＥＣ）を採用した通信方式において、インターリーブ装置を利用することは、通信路によって引き起こされるバースト誤りに対し強力な保護となり得る。
【０００３】
従来のインターリーブ装置は、ブロック単位のデータを一旦メモリに書き込み、書込み終了後、書き込んだときとは違う読出しパターンでデータを読み出していた。例えば、メモリ上に設けられた２次元配列に対して、まず、行方向優先で順次データを書込み、書込み終了後、列方向優先で順次データを読み出す。
【０００４】
このようなブロック単位のインターリーブ操作を行うインターリーブ装置は、一般に、ブロックインターリーバと呼ばれ、通常、ＢＣＨ符号やリードソロモン符号などのブロック誤り訂正符号と共に用いられる。
【０００５】
なお、実開平７−４１６４０号公報には、任意のブロック数とデータ数のインターリーブを行うことができるインターリーブ回路が開示されている。
【特許文献１】実開平７−４１６４０号公報
【０００６】
誤り訂正符号としては、前述したブロック符号の他に、畳込み符号が知られている。この畳込み符号を使用した誤り訂正処理では、ブロック単位の処理ではなく、シリアルデータストリームで処理を行うことから、従来のブロックインターリーブ方式を採用した場合、データのブロック化を行う為の手段などが必要となり、回路規模が増大することなる。また、送信されるデータがブロックインターリーブ回路を通過する時間的遅延も増大することになる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、畳込み符号と共に用いるのに適したインターリーブ方式を提供することにある。
【課題を解決するための手段】
【０００８】
本発明に係るインターリーブ装置は、デュアルポートメモリと、前記デュアルポートメモリに対する書込みアドレス及び読出しアドレスを発生するアドレス発生部とを有し、前記アドレス発生部は、前記デュアルポートメモリ上に構成された正方行列において、行方向にデータが書き込まれるように前記書込みアドレスを発生すると同時に、斜め方向にデータが読み出されるように前記読出しアドレスを発生する。
【０００９】
また、本発明に係るデインターリーブ装置は、デュアルポートメモリと、前記デュアルポートメモリに対する書込みアドレス及び読出しアドレスを発生するアドレス発生部とを有し、前記アドレス発生部は、前記デュアルポートメモリ上に構成された正方行列において、斜め方向にデータが書き込まれるように前記書込みアドレスを発生すると同時に、行方向にデータが読み出されるように前記読出しアドレスを発生する。
【発明の効果】
【００１０】
本発明によれば、連続したデータストリームのまま、インターリーブ操作を行うことが可能なインターリーブ方式が提供される。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について、図面を参照しつつ詳細に説明する。
図１は、本発明が適用されるディジタル無線通信システムの構成例を示す図である。同図に示すように、本発明が適用されるディジタル無線通信システム１００は、符号化部１０１と、インターリーブ部１０２と、デインターリーブ部１０３と、復号部１０４とを備える。そして、符号化部１０１とインターリーブ部１０２とが、送信側システムを構成し、デインターリーブ部１０３と復号部１０４とが受信側システムを構成する。
【００１２】
符号化部１０１は、送信データに対して、畳込み符号による符号化を行う。インターリーブ部１０２は、符号化部１０１によって符号化された送信データに対して、本発明によるインターリーブ処理を行う。インターリーブ部１０２によってインターリーブ処理された送信データは、変調されて、通信路１０５を介して、受信側システムに送信される。
【００１３】
受信側システムでは、通信路１０５を介して送られてきたデータを受信すると、デインターリーブ部１０３が、復調した受信データに対して、本発明によるデインターリーブ処理を行う。復号部１０４は、デインターリーブ部１０３によってデインターリーブ処理された受信データの復号（例えば、ビタビ復号）を行う。
【００１４】
次に、本発明が適用されるインターリーブ部１０２及びデインターリーブ部１０３の詳細について説明する。
【００１５】
図２は、インターリーブ部１０２の構成例を示す図である。同図に示すように、インターリーブ部１０２は、デュアルポートＲＡＭ（以下、ＤＰＲＡＭという）２１０と、アドレス発生器２２０と、タイミングコード発生器２３０と、送信信号切替えスイッチ２４０とを備える。
【００１６】
ＤＰＲＡＭ２１０は、書込み用のポートと読出し用のポートとがそれぞれ独立に用意されたメモリであり、書込みと読出しとを同時に行うことができるメモリである。インターリーブ部１０２は、ＤＰＲＡＭ２１０への書込みの順序とＤＰＲＡＭ２１０からの読出しの順序とを制御することで、インターリーブ処理を行う。
【００１７】
アドレス発生器２２０は、所定のインターリーブ処理が行われるように、ＤＰＲＡＭ２１０に対して与える書込みアドレス２２１及び読出しアドレス２２２をそれぞれ発生するものである。
さらに、アドレス発生器２２０は、タイミングコード発生器２３０が、タイミングコードを出力している間、符号化された送信データのインターリーブ部１０２に対する出力を停止させる信号（送出停止信号）を、符号化部１０１に対して出力する。
【００１８】
タイミングコード発生器２３０は、インターリーブ部１０２とデインターリーブ部１０３と間において、アドレスを同期させるためのタイミングコードを発生するものである。タイミングコード発生器２３０は、また、アドレス発生器２２０に対して、動作停止信号２３１を出力する。
【００１９】
送信信号切替えスイッチ２４０は、タイミングコード発生器２３０からの選択信号２３２に従って、ＤＰＲＡＭ２１０から読み出されたデータ２１１と、タイミングコード発生器２３０によって発生されたタイミングコード２３３とのいずれか一方を選択して出力するものである。
【００２０】
図３は、デインターリーブ部１０３の構成例を示す図である。同図に示すように、デインターリーブ部１０３は、タイミングコード相関器３１０と、アップダウン・ステートカウンタ３２０と、アドレス発生器制御部３３０と、ＤＰＲＡＭ３４０と、アドレス発生器３５０と、遅延部３６０とを備える。
【００２１】
タイミングコード相関器３１０は、インターリーブ部１０２によって送信されたタイミングコードを検出するためのものである。
【００２２】
アップダウン・ステートカウンタ３２０は、タイミングコード相関器３１０から出力される相関値の真偽値をカウントする。具体的には、アップダウン・ステートカウンタ３２０は、タイミングコードが検出されたことを示す信号３１１が出力された時、カウントアップし、未検出を示す信号３１２が出力された時には、カウントダウンする。なお、アップダウン・ステートカウンタ３２０には、リミット値が設けられており、カウント値が発散しないようにしてある。
アップダウン・ステートカウンタ３２０は、通信路１０５において、タイミングコードが消失しても、カウント値が閾値以上の値になっているときには、真値を出し続ける。
【００２３】
アドレス発生器制御部３３０は、アップダウン・ステートカウンタ３２０から出力されるカウント値３２１に基づいて、アドレス発生器３５０の動作を制御する。具体的には、アドレス発生器制御部３３０は、アップダウン・ステートカウンタ３２０が真値を出力したことを検出すると、アドレス発生器３５０へのリセット信号３３１（インターリーブ開始アドレス）を出力する。一方、アドレス発生器制御部３３０は、アップダウン・ステートカウンタ３２０が偽値を出力したことを検出すると、フリーラン動作をする。また、アドレス発生器制御部３３０は、アドレス発生器３５０のアドレスカウントを停止させ、タイミングコード受信時に、タイミングコードがＤＰＲＡＭ３４０に入力されないようにするため、動作停止信号３３２を出力する。
【００２４】
ＤＰＲＡＭ３４０は、書込み用のポートと読出し用のポートとがそれぞれ独立に用意されたメモリであり、書込みと読出しとを同時に行うことができるメモリである。デインターリーブ部１０３は、ＤＰＲＡＭ３４０への書込みの順序とＤＰＲＡＭ３４０からの読出しの順序とを制御することで、デインターリーブ処理を行う。
【００２５】
アドレス発生器３５０は、所定のデインターリーブ処理が行われるように、ＤＰＲＡＭ３４０に対して与える書込みアドレス３５１及び読出しアドレス３５２をそれぞれ発生するものである。
【００２６】
遅延部３６０は、タイミングコードの検出からアドレスカウントが停止されるまでの演算時間に相当する時間、受信データを遅延させるものである。
【００２７】
次に、上述したような構成を有するインターリーブ部１０２及びデインターリーブ部１０３でそれぞれ行われるインターリーブ処理及びデインターリーブ処理について具体的に説明する。
【００２８】
本発明によるインターリーブ処理及びデインターリーブ処理は、ＤＰＲＡＭ２１０、３４０上に、ｎ×ｎの正方行列（二次元配列）を構成し、かかる二次元配列へのデータの格納順序と読出し順序とを変えることで、実現される。なお、この場合、ｎはインターリーブ深さとなり、ｎが大きいほど、バーストエラーに対する誤り訂正能力が高くなる。ｎの具体的な値については、システムの許容遅延量配分その他の実装条件に応じて適当な値が選択される。
【００２９】
図４は、８×８の正方行列４００の各要素と、ＤＰＲＡＭ２１０、３４０のアドレスとの対応関係を示す図である。同図では、ＤＰＲＡＭのアドレス（００〜３Ｆ）を、１６進数で表しており、末尾の「ｈ」はそのことを示している。
【００３０】
同図に示すように、正方行列の左上隅の要素には、アドレス００ｈが割り当てられ、そこから右方向に順次、連続アドレス０１ｈ〜０７ｈが割り当てられ、右端まで達すると、一段下がった左端に戻って、そこからまた右方向に順次、連続アドレス０８ｈ〜０Ｆｈが割り当てられる。以下、同様に連続アドレスが割り当てられ、正方行列の右下隅の要素には、アドレス３Ｆｈが割り当てられる。
【００３１】
図５は、インターリーブ処理におけるデータの書込み順序及び読出し順序を説明するための図である。同図（ａ）は、データの書込み順序を示しており、同図（ｂ）は、データの読出し順序を示している。具体的には、同図に示された番号０〜６３が、書込み順序及び読出し順序を表している。
【００３２】
同図（ａ）に示すように、データの書込みは、正方行列の左上隅から開始され、そこから右方向に順次行われ、右端まで達すると、一段下の左端に移行し、そこからまた、右方向に順次行われる。以下、同様に行われ、正方行列の右下隅に達すると、左上隅に戻り、再度、同じことが繰り返される。つまり、データの書込み順序は、図４に示したＤＰＲＡＭのアドレスの割り当て順と同じである。
【００３３】
一方、同図（ｂ）に示すように、データの読出しは、正方行列の左上隅から右斜め下に向かって順次行われ、右下隅に達すると、左上隅の一段下に移行し、そこからまた、右斜め下に向かって順次行われる。そして、下端に達すると、右上隅に移行し、更に、左上隅の二段下に移行し、そこからまた、右斜め下に向かって順次行われる。そして、下端に達すると、右隣の上端に移行し、そこからまた、右斜め下に向かって順次行われる。以下、同様に行われ、正方行列の左下隅に達すると、左上隅に戻り、再度、同じことが繰り返される。
【００３４】
図６は、デインターリーブ処理におけるデータの書込み順序及び読出し順序を説明するための図である。同図（ａ）は、データの書込み順序を示しており、同図（ｂ）は、データの読出し順序を示している。具体的には、同図に示された番号０〜６３が、書込み順序及び読出し順序を表している。
【００３５】
同図（ａ）に示すように、デインターリーブ処理におけるデータの書込み順序は、図５（ｂ）に示したインターリーブ処理におけるデータの読出し順序と同じである。また、図６（ｂ）に示すように、デインターリーブ処理におけるデータの読出し順序は、図５（ａ）に示したインターリーブ処理におけるデータの書込み順序と同じである。
【００３６】
なお、ここでは、正方行列の左上隅（アドレス００ｈ）をインターリーブ処理及びデインターリーブ処理における書込み読出しの開始位置としたが、他の位置（アドレス）を開始位置とすることもできる。
【００３７】
次に、上述したようなインターリーブ処理及びデインターリーブ処理を実現するためのＤＰＲＡＭアドレスの発生方法について説明する。
【００３８】
図７は、インターリーブ部１０２のアドレス発生器２２０の構成例を示す図である。なお、同図には、ＤＰＲＡＭ２１０も示してある。
【００３９】
同図に示すように、アドレス発生器２２０は、２ｍビット・バイナリカウンタ７０１で構成される。ここで、ｍ＝ｌｏｇ2ｎである。例えば、図４の場合のように、ｎ＝８のときは、ｍ＝３であるから、アドレス発生器２２０は、６ビット・バイナリカウンタで構成される。
【００４０】
図７に示すように、２ｍビット・バイナリカウンタ７０１には、送信データパルス、動作停止信号、マスタークロック及び初期リセットが入力される。バイナリカウンタ７０１は、動作開始時等に初期リセットが入力されると、「０」にリセットされる（但し、リセット値「０」は、アドレス０をインターリーブ開始アドレスとしたときの値であって、アドレス０以外をインターリーブ開始アドレスとするときには、他の値となる）。そして、送信データパルスが入力され、かつ、動作停止信号が入力されていない状態で、マスタークロックが入力されると、マスタークロックに同期してカウントアップを行う。
【００４１】
更に、アドレス発生器２２０は、加算器７０２を備える。加算器７０２は、バイナリカウンタ７０１のカウンタ出力（２ｍビット）の上位ｍビットと下位ｍビットとを、符号なし二進数として加算する。
【００４２】
アドレス発生器２２０を上記のように構成することで、バイナリカウンタ７０１の２ｍビットのカウンタ出力は、そのまま、ＤＰＲＡＭ２１０の書込みアドレスになる。また、バイナリカウンタ７０１のカウンタ出力の下位ｍビットは、そのまま、ＤＰＲＡＭ２１０の読出しアドレスの下位ｍビットになり、加算器７０２の（キャリーを除く）ｍビットの加算結果出力が、ＤＰＲＡＭ２１０の読出しアドレスの上位ｍビットになる。
【００４３】
図８は、デインターリーブ部１０３のアドレス発生器３５０の構成例を示す図である。なお、同図には、ＤＰＲＡＭ３４０も示してある。
【００４４】
同図に示すように、アドレス発生器３５０は、アドレス発生器２２０と同様に、２ｍビット・バイナリカウンタ８０１と、ｍビットの加算器８０２とを備える（ここで、ｍ＝ｌｏｇ2ｎ）。２ｍビット・バイナリカウンタ８０１及び加算器８０２の動作は、それぞれ、２ｍビット・バイナリカウンタ７０１及び加算器７０２と同様である。
【００４５】
アドレス発生器３５０では、アドレス発生器２２０とは逆に、バイナリカウンタ８０１の２ｍビットのカウンタ出力が、そのまま、ＤＰＲＡＭ３４０の読出しアドレスになる一方で、カウンタ出力の下位ｍビットが、そのまま、ＤＰＲＡＭ３４０の書込みアドレスの下位ｍビットになり、加算器８０２の（キャリーを除く）ｍビットの加算結果出力が、ＤＰＲＡＭ３４０の書込みアドレスの上位ｍビットになる。
【００４６】
図９は、インターリーブ部１０２におけるＤＰＲＡＭ２１０の読出し及び書込みタイミングを示すタイミングチャートである。
【００４７】
同図に示すように、書込みアドレスと読出しアドレスとは、同じタイミングで変化するが、書込みを制御するデータ書込みパルスと、読出しを制御するデータ読出しパルスとは、ずれるように出力制御される。すなわち、ＤＰＲＡＭ２１０への各アクセスサイクルにおいては、先に書込みが行われ、その後に読出しが行われる。これは、同じアドレス（例えば、アドレス００ｈ）に対して、書込みと読出しが同時に行われる場合があるので、このような場合についても、正しく所望の動作が行われることを保証するためのものである。
【００４８】
図１０は、デインターリーブ部１０３におけるＤＰＲＡＭ３４０の読出し及び書込みタイミングを示すタイミングチャートである。
【００４９】
同図に示すように、デインターリーブ部１０３においても、書込みアドレスと読出しアドレスとは、同じタイミングで変化するが、図９の場合と同じ理由で、書込みを制御するデータ書込みパルスと、読出しを制御するデータ読出しパルスとは、ずれるように出力制御される。但し、インターリーブ部１０２とは逆に、デインターリーブ部１０３では、先に読出しが行われた後に、書込みが行われる。これは、デインターリーブ部１０３では、インターリーブ部１０２で行われたインターリーブ処理とは、全く逆の操作が行われることによる。
【００５０】
なお、図９及び図１０に示した例では、インターリーブ部１０２では、書込み後に読出しを行い、デインターリーブ部１０３では、読出し後に書込みを行っているが、これとは逆に、インターリーブ部１０２では、読出し後に書込みを行い、デインターリーブ部１０３では、書込み後に読出しを行うようにしてもよい。
【００５１】
また、インターリーブ部１０２でのインターリーブ処理と、デインターリーブ部１０３でのデインターリーブ処理とは、同期して行われる必要がある。すなわち、インターリーブ部１０２におけるインターリーブ処理のための書込み読出し開始位置（アドレス）と、デインターリーブ部１０３におけるデインターリーブ処理のための読出し書込み開始位置とは、同じでなければならない。そして、インターリーブ部１０２のＤＰＲＡＭ２１０から読み出されたデータは、デインターリーブ部１０３のＤＰＲＡＭ３４０において、正方行列の同じ位置（アドレス）に書き込まれなければならない。
【００５２】
そのためには、インターリーブ部１０２とデインターリーブ部１０３との間において、ＤＰＲＡＭアクセスのためのアドレスを同期させる必要がある。このアドレスの同期を確立させるために、タイミングコードが使用される。すなわち、インターリーブ部１０２は、送信データにタイミングコードを挿入してデインターリーブ部１０３に送り、デインターリーブ部１０３は、受信データからタイミングコードを抽出し、抽出したタイミングコードを使用して、デインターリーブ操作時のアドレスタイミングの制御を行う。
【００５３】
具体的には、例えば、インターリーブ開始アドレスが「０」のときには、インターリーブ部１０２では、アドレス発生器２２０のアドレスが００ｈになったことを検出すると、タイミングコード発生器２３０が、アドレス発生器２２０に対して、動作停止信号を出力する。アドレス発生器２２０は、動作停止信号が入力されている間、その動作を停止する。その間、タイミングコード発生器２３０は、送信信号切替えスイッチ２４０を介して、タイミングコードを、デインターリーブ部１０３に送出する。なお、タイミングコード発生器２３０は、タイミングコードの送出が終了すると、動作停止信号の出力を停止し、アドレス発生器２２０の動作が再開される。
【００５４】
一方、デインターリーブ部１０３では、相関器３１０及びステートカウンタ３２０によってタイミングコードの受信を検知すると、アドレス発生器制御部３３０が、リセット信号及び動作停止信号を出力して、アドレス発生器３５０をリセット（既知のインターリーブ開始アドレスにセット）すると共に、アドレス発生器３５０の動作を停止させる。そして、タイミングコードの受信が終了すると、動作停止信号の出力が停止され、アドレス発生器３５０の動作が再開される。以上のようにして、インターリーブ部１０２とデインターリーブ部１０３との間において、アドレスの同期が取られる。
【００５５】
図１１は、送受信データと動作停止信号との関係を示す図である。
【００５６】
同図に示すように、動作停止信号が出力されている間（動作停止期間）は、タイミングコードが送受信され、そのほかの時間は、インターリーブされたデータが連続的に送受信される。
【００５７】
以上詳細に説明したように、上記実施形態によれば、連続したデータストリームのまま、インターリーブ操作を行うことが出来るので、畳込み符号器とのハードウェア接続性がよい。ブロック単位の処理を行うための追加回路も必要ないし、一旦メモリにデータを書き込み読み出すなどのデータの流れを止めてしまうような処理を施さなくてもよいので、回路規模とデータの遅延時間の削減ができる。
【００５８】
また、インターリーブの深さを変更しても、インターリーブしたデータの散らばり具合と遅延時間が変わるだけで、インターリーブ装置の前後の装置に影響することがないので、容易にインターリーブ深さを変更することが出来る。
【図面の簡単な説明】
【００５９】
【図１】本発明が適用されるディジタル無線通信システムの構成例を示す図である。
【図２】インターリーブ部１０２の構成例を示す図である。
【図３】デインターリーブ部１０３の構成例を示す図である。
【図４】８×８の正方行列の各要素と、ＤＰＲＡＭ２１０、３４０のアドレスとの対応関係を示す図である。
【図５】インターリーブ処理におけるデータの書込み順序及び読出し順序を説明するための図である。
【図６】デインターリーブ処理におけるデータの書込み順序及び読出し順序を説明するための図である。
【図７】インターリーブ部１０２のアドレス発生器２２０の構成例を示す図である。
【図８】デインターリーブ部１０３のアドレス発生器３５０の構成例を示す図である。
【図９】インターリーブ部１０２におけるＤＰＲＡＭ２１０の読出し及び書込みタイミングを示すタイミングチャートである。
【図１０】デインターリーブ部１０３におけるＤＰＲＡＭ３４０の読出し及び書込みタイミングを示すタイミングチャートである。
【図１１】送受信データと動作停止信号との関係を示す図である。
【符号の説明】
【００６０】
１００    ディジタル無線通信システム
１０１    符号化部
１０２    インターリーブ部
１０３    デインターリーブ部
１０４    復号部
１０５    通信路
２１０    デュアルポートＲＡＭ
２２０    アドレス発生器
２３０    タイミングコード発生器
２４０    送信信号切替えスイッチ
３１０    タイミングコード相関器
３２０    アップダウン・ステートカウンタ
３３０    アドレス発生器制御部
３４０    デュアルポートＲＡＭ
３５０    アドレス発生器
３６０    遅延部
７０１    バイナリカウンタ
７０２    加算器
８０１    バイナリカウンタ
８０２    加算器
【図１】
2006197469.tif 000003
【図２】
2006197469.tif 000004
【図３】
2006197469.tif 000005
【図４】
2006197469.tif 000006
【図５】
2006197469.tif 000007
【図６】
2006197469.tif 000008
【図７】
2006197469.tif 000009
【図８】
2006197469.tif 000010
【図９】
2006197469.tif 000011
【図１０】
2006197469.tif 000012
【図１１】
2006197469.tif 000013