(57)【要約】【課題】  改良されたインターリーブ装置およびデインターリーブ装置を提供する。【解決手段】  インターリーブ部１００は、外部から入力される送信データの各ビットを、行列状の配列に記憶する。つまり、インターリーブ部１００は、入力される送信データＤ（ｉ，ｊ）を、入力順に、行列の各要素として、順次、記憶する。次に、インターリーブ部１００は、行列の各要素として記憶された送信データＤ（ｉ，ｊ）を読み出し、列番号を１つずつずらして、同じ形式の行列状に配列する。以上の処理を、送信データＤ（ｉ，ｊ）の全てについて行うことにより、インターリーブされたデータＩ（ｉ，ｊ）が得られる。【選択図】図９
2005198131.tif 000002
【特許請求の範囲】
【請求項１】
処理の対象となる対象データを、所定のマトリクスの各要素としたマトリクスを作成するマトリクス作成手段と、
前記作成されたマトリクスに含まれる対象データそれぞれの行番号または列番号を、前記対象データの列番号の行数に対する剰余数または前記対象データの行番号の列数に対する剰余数に変換する変換手段と
を有するインターリーブ装置。
【請求項２】
前記変換手段は、
前記マトリクスの行または列に含まれる前記対象データを、列方向または行方向に１つずつ順番に取り出し、
前記対象データを取り出すたびに、計数値を１ずつ変更する計数値変更手段と、
前記変更された計数値を、前記列番号または前記行番号として、前記行数または列数に対する剰余数を算出する剰余数算出手段と、
前記読み出された対象データの行番号または列番号を、前記算出された剰余数とする番号変更手段と
を有する請求項１に記載のインターリーブ装置。
【請求項３】
入力された対象データを、所定のマトリクスの各要素としたマトリクスを作成し、前記作成されたマトリクスに含まれる対象データそれぞれの行番号または列番号を、前記対象データの列番号の行数に対する剰余数または前記対象データの行番号の列数に対する剰余数に変換することにより作成されたインターリーブデータを、前記対象データに戻すデインターリーブ装置であって、前記インターリーブデータが作成されるときには、前記マトリクスの行または列に含まれる前記対象データは、列方向または行方向に１つずつ順番に取り出され、前記対象データを取り出すたびに、計数値が１ずつ変更され、前記変更された計数値を、前記列番号または前記行番号として、前記行数または列数に対する剰余数が算出され、前記読み出された対象データの行番号または列番号は、前記算出された剰余数とされ、
前記マトリクスの行または列に含まれる前記インターリーブデータを、列方向または行方向に１つずつ順番に取り出し、
前記対象データを取り出すたびに、計数値を、インターリーブデータ生成のときと逆に１ずつ変更する計数値変更手段と、
前記変更された計数値を、前記列番号または前記行番号として、前記行数または列数に対する剰余数を算出する剰余数算出手段と、
前記読み出された対象データの行番号または列番号を、前記算出された剰余数とする番号変更手段と
を有するデインターリーブ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データに対してインターリーブ処理を行うインターリーブ装置、および、インターリーブされたデータに対して、デインターリーブ処理を行うデインターリーブ装置に関する。
【背景技術】
【０００２】
例えば、特許文献１は、ディジタルデータをインターリーブするインターリーブ回路を開示する。
【特許文献１】実開平７−４１６４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、上述した背景からなされたものであり、改良されたインターリーブ装置およびデインターリーブ装置を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記目的を達成するために、本発明にかかるインターリーブ装置は、処理の対象となる対象データを、所定のマトリクスの各要素としたマトリクスを作成するマトリクス作成手段と、前記作成されたマトリクスに含まれる対象データそれぞれの行番号または列番号を、前記対象データの列番号の行数に対する剰余数または前記対象データの行番号の列数に対する剰余数に変換する変換手段とを有する。
【０００５】
好適には、前記変換手段は、前記マトリクスの行または列に含まれる前記対象データを、列方向または行方向に１つずつ順番に取り出し、前記対象データを取り出すたびに、計数値を１ずつ変更する計数値変更手段と、前記変更された計数値を、前記列番号または前記行番号として、前記行数または列数に対する剰余数を算出する剰余数算出手段と、前記読み出された対象データの行番号または列番号を、前記算出された剰余数とする番号変更手段とを有する。
【０００６】
また、本発明にかかるデインターリーブ処理は、入力された対象データを、所定のマトリクスの各要素としたマトリクスを作成し、前記作成されたマトリクスに含まれる対象データそれぞれの行番号または列番号を、前記対象データの列番号の行数に対する剰余数または前記対象データの行番号の列数に対する剰余数に変換することにより作成されたインターリーブデータを、前記対象データに戻すデインターリーブ装置であって、前記インターリーブデータが作成されるときには、前記マトリクスの行または列に含まれる前記対象データは、列方向または行方向に１つずつ順番に取り出され、前記対象データを取り出すたびに、計数値が１ずつ変更され、前記変更された計数値を、前記列番号または前記行番号として、前記行数または列数に対する剰余数が算出され、前記読み出された対象データの行番号または列番号は、前記算出された剰余数とされ、前記マトリクスの行または列に含まれる前記インターリーブデータを、列方向または行方向に１つずつ順番に取り出し、前記対象データを取り出すたびに、計数値を、インターリーブデータ生成のときと逆に１ずつ変更する計数値変更手段と、前記変更された計数値を、前記列番号または前記行番号として、前記行数または列数に対する剰余数を算出する剰余数算出手段と、前記読み出された対象データの行番号または列番号を、前記算出された剰余数とする番号変更手段とを有する。
【発明の効果】
【０００７】
本発明によれば、改良されたインターリーブ装置およびデインターリーブ装置が提供される。
【発明を実施するための最良の形態】
【０００８】
［本発明がなされるに至った経緯］
本発明の実施形態の説明に先立ち、その理解を助けるために、まず、本発明がなされるに至った経緯を説明する。
無線通信回線などにおいて発生するバースト的なデータ誤りを訂正可能とするために、伝送対象となるデータを並び替える処理は、インターリーブ処理と呼ばれる。
また、このインターリーブ処理により並べ替えられたデータを元に戻す処理は、デインターリーブ処理と呼ばれる。
【０００９】
インターリーブ処理の１例として、ブロックインターリーブ方式を挙げることができる。
ブロックインターリーブ方式においては、データは、マトリクス状に配列して記憶され、行と列とを入れ替えて読み出されて、並べ替えられる、
このブロックインターリーブ方式は、データを読み出す順番を定義するためのテーブルなどが不要で、処理内容が単純である。
しかしながら、この方式では、マトリクスの四隅に位置するデータの位置が、並べ替えの前後で、誤り訂正のために十分な程度にランダムにならないことがある。
【００１０】
また、ＦＥＣ(Forward Error Correction;冗長な情報を送っておいて、受信側で冗長情報を用いてエラーを訂正する方法)特性の向上を目的として、Ｓ−Ｒａｎｄｏｍ規則に従ってランダムインターリーブ方式や、素数インターリーブ方式が考案されている。
しかしながら、これらの方式は、データの並び替えのための規則を求めるために、非常に多くの演算量を要するので、これらの方式によるインターリーブ処理は、一般的に、この規則を予め算出して変換テーブルに記憶させ、この変換テーブルを参照してすることにより実現される。
【００１１】
従って、十分なＦＥＣ特性が得られ、並べ替えのための演算が単純で、そのための演算量が少なく、並べ替えのための変換テーブルを必要としない方式の実現が望まれる。
以下にその実施形態を説明する本発明は、このような経緯からなされ、メモリ容量を多用する変換テーブルを要しない単純な演算で実現可能で、十分なＦＥＣ特性を得ることができる改良されたインターリーブ装置およびデインターリーブ装置を提供することを目的とする。
【００１２】
［実施形態］
以下、本発明の実施形態を説明する。
図１は、本発明にかかるインターリーブ処理が適用される送信機１の構成を例示する図である。
図２は、本発明にかかるデインターリーブ処理が適用される受信機３の構成を例示する図である。
【００１３】
図１に示すように、送信機１は、インターリーブ部１００、符号化部１０２および送信部１０４から構成される。
送信機１は、これらの構成部分により、送信しようとする送信データをインターリーブし、符号化し、受信機３（図２）に対して送信する。
【００１４】
送信機１において、インターリーブ部１００は、コンピュータなどの外部機器から入力され、送信の対象となる送信データに対して、図４などを参照して後述する本発明にかかるインターリーブ処理を行い、符号化部１０２に対して出力する。
符号化部１０２は、インターリーブ部１００によりインターリーブ処理された送信データ（インターリーブデータ）に対して、例えば、ビタビ符号化あるいはターボ符号化などの符号化処理を行う。
さらに、符号化部１０２は、符号化処理されたデータに対して、誤りの検出・訂正のために用いられるＣＲＣ符号などを付加し、符号化データとして、送信部１０４に対して出力する。
送信部１０４は、符号化部１０２から入力された符号化データにより搬送波信号を変調し、伝送信号として、無線通信回線などを介して、受信機３に対して送信する。
【００１５】
図２に示すように、受信機３は、受信部３００、復号部３０２およびデインターリーブ部３０４から構成される。
受信機３は、これらの構成部分により、送信機１（図１）から送られてきた伝送信号を受信し、送信機１における送信データに対応する受信データとして出力する。
【００１６】
受信機３において、受信部３００は、受信機３から送られてきた伝送信号を受信して復調し、送信機１における符号化データに対応する符号化データとして、復号部３０２に対して出力する。
復号部３０２は、受信部３００から入力された符号化データに対して復号処理を行い、さらに、ＣＲＣ符号などを用いた誤り訂正処理を行う。
復号部３０２は、これらの処理により得られたデータを、送信機１におけるインターリーブデータに対応する復号データとして、デインターリーブ部３０４に対して出力する。
デインターリーブ部３０４は、復号部３０２から入力される復号データに対して、図４などを参照して後述する本発明にかかるデインターリーブ処理を行い、送信機１における送信データに対応する受信データとして出力する。
【００１７】
［インターリーブ部１００，デインターリーブ部３０４のハードウェア構成］
図３は、図１，図３に示したインターリーブ部１００、および、図２，図３に示したデインターリーブ部３０４のハードウェアを例示する図である。
図３に示すように、インターリーブ部１００およびデインターリーブ部３０４は、ＲＡＭ１２２およびＲＯＭ１２４などの周辺回路が付加されたＤＳＰ(Digital Signal Processor)１２０から構成され、図４などを参照して後述する本発明にかかるインターリーブ処理およびデインターリーブ処理は、例えば、ＲＯＭ１２４に記憶され、ＤＳＰ１２０において実行されるソフトウェアにより実現される。
なお、インターリーブ部１００およびデインターリーブ部３０４は、本発明にかかるインターリーブ処理またはデインターリーブ処理を実現するＤＳＰ以外の専用のハードウェアにより構成されてもよく、また、これら以外の符号化部１０２および復号部３０２など（図１，図２）の構成部分の処理が、適宜、ＤＳＰ１２０においてソフトウェア的に実現されてもよい。
【００１８】
［本発明にかかるインタリーブ処理］
以下、インターリーブ部１００（図１，図３）によるインターリーブ処理を説明する。
図４〜図８は、図１，図３に示したインターリーブ部１００によるインタリーブ処理および図２，図３に示したデインターリーブ部３０４によるデインターリーブ処理を示す第１〜第５の図である。
【００１９】
なお、図４〜図８には、インターリーブ部１００が、データを、１０行８列の行列（マトリクス）状の配列に記憶する場合が示されているが、この行列の行数および列数は、説明の具体化および明確化のための例示であって、本発明にかかるインターリーブ処理の限定を意図したものではない。
また、図４〜図８には、行列状に配列された送信データの列番号を１つずつ変更してインターリーブを行う場合が例示されているが、図４〜図８に基づいて、行列状に配列された送信データの行番号を１つずつ変更してインターリーブを行ったり、行番号または列番号を０，１以外の数ずつ変更してインターリーブを行ったりすることは、当業者にとって実施可能な事項である。
【００２０】
インターリーブ部１００は、外部から入力される送信データの各ビットを、ＲＡＭ１２２（図３）に、図４に示す行列（マトリクス）状の配列に記憶する。
つまり、インターリーブ部１００は、入力される送信データの各ビット（送信データＤ（０，０）〜Ｄ（９，７））を、入力順に、図４に示した行列の０行０列（０，０）〜０行７列（０，７）〜９行０列（９，０）〜９行７列（９，７）の要素として、順次、記憶する。
なお、図４〜図８において、００〜９７と記載されている。
【００２１】
次に、図５〜図７に示すように、インターリーブ部１００は、図４に示した配列に記憶された送信データＤ（０，０）〜Ｄ（９，７）を読み出し、列番号を１つずつずらして、図４に示したものと同じ行列状に配列する。
以上の処理を、送信データＤ（０，０）〜Ｄ（９，７）の全てについて行うことにより、図８に示すインターリーブデータＩ（０，０）〜Ｉ（９，７）が得られる。
【００２２】
以上説明したインターリーブ部１００の処理を、図９を参照してさらに説明する。
図９は、図１，図３に示したインターリーブ部１００によるインターリーブ処理（Ｓ１０）を示すフローチャートである。
図９に示すように、ステップ１００（Ｓ１００）において、インターリーブ部１００は、図４に示したように送信データＤ（０，０）〜Ｄ（９，７）を記憶し、使用する変数ｉ，ｊ，ｘを初期化（０クリア）する。
なお、変数ｉは、図４〜図８に示した行列の各要素の行番号に対応し、変数ｊは、同じく列番号に対応し、変数ｘは、送信データＤ（０，０）〜Ｄ（９，７）を、インターリーブデータＩ（０，０）〜Ｉ（９，７）に変換するための作業変数として用いられる。
また、以下の処理における定数Ｌは、図４〜図８に示した行列の行数−１を示し、定数Ｃは、同じく行数−１を示し（図４〜図８に示した行列の行番号および列番号が０オリジンのため）、図４〜図８に示した例においては、行列の行数＝１０，同じく列数＝８，Ｌ＝９，Ｃ＝７となる。
【００２３】
ステップ１０２（Ｓ１０２）において、インターリーブ部１００は、変数ｊが、定数Ｃより大きいか否かを判断する。
インターリーブ部１００は、変数ｊが定数Ｃより大きいときにはＳ１１２の処理に進み、これ以外のときにはＳ１０４の処理に進む。
ステップ１０４（Ｓ１０４）において、インターリーブ部１００は、図４に示した行列から、送信データＤ（ｉ，ｊ）を読み出す。
【００２４】
ステップ１０６（Ｓ１０６）において、インターリーブ部１００は、読み出した送信データＤ（ｉ，ｊ）を、図５〜図８に示す行列の要素（ｘ，ｊ）として、インターリーブデータＩ（ｘ、ｊ）とする。
ステップ１０８（Ｓ１０８）において、インターリーブ部１００は、変数ｘに１を加算し、定数Ｌの剰余系における変数ｘの値（剰余数）を算出する(x＜−x+1)[mod]L)。
【００２５】
ステップ１１０（Ｓ１１０）において、インターリーブ部１００は、変数ｊに１を加算する。
ステップ１１２（Ｓ１１２）において、インターリーブ部１００は、変数ｊを０クリアする。
【００２６】
ステップ１１４（Ｓ１１４）において、インターリーブ部１００は、変数ｉが定数Ｌ以上であるか否かを判断する。
インターリーブ部１００は、変数ｉがＬ以上であるときには処理を終了し、これ以外のときにはＳ１１６の処理に進む。
ステップ１１６（Ｓ１１６）において、インターリーブ部１００は、変数ｉに１を加算して、Ｓ１０２の処理に進む。
インターリーブ部１００は、以上の処理により得られたインターリーブデータＩ（０，０）〜Ｉ（９，７）を、例えば、Ｉ（０，０）〜Ｉ（０，７）〜Ｉ（９，０）〜Ｉ（９，７）の順に読み出し、符号化部１０２（図１）に対して出力する。
【００２７】
［本発明にかかるデインターリーブ処理］
以下、デインターリーブ部３０４（図２，図３）によるデインターリーブ処理を説明する。
デインターリーブ部３０４は、図８に示した復号データ（＝インターリーブデータ）Ｉ（０，０）〜Ｉ（９，７）に対して、図５〜図７に示したインターリーブ処理と逆の処理を行うことにより、復号データＩ（０，０）〜Ｉ（９，７）に対するデインターリーブ処理を行い、図４に示した受信データ（＝送信データ）Ｄ（０，０）〜Ｄ（９，７）とする。
【００２８】
図１０を参照して、デインターリーブ部３０４の処理をさらに説明する。
図１０は、図２，図３に示したデインターリーブ部３０４によるデインターリーブ処理（Ｓ２０）を示すフローチャートである。
図１０に示すように、ステップ２００（Ｓ２００）において、デインターリーブ部３０４は、図８に示したように復号データＩ（０，０）〜Ｉ（９，７）を記憶し、使用する変数ｉ，ｊ，ｘを初期化（０クリア）する。
ステップ２０２（Ｓ２０２）において、デインターリーブ部３０４は、変数ｊが、定数Ｃより大きいか否かを判断する。
デインターリーブ部３０４は、変数ｊが定数Ｃより大きいときにはＳ２１２の処理に進み、これ以外のときにはＳ２０４の処理に進む。
ステップ２０４（Ｓ２０４）において、デインターリーブ部３０４は、図８に示した行列から、復号データＩ（ｉ，ｊ）を読み出す。
【００２９】
ステップ２０６（Ｓ２０６）において、デインターリーブ部３０４は、読み出した復号データＩ（ｉ，ｊ）を、図４〜図７に示す行列の要素（ｘ，ｊ）として、受信データＤ（ｘ、ｊ）とする。
ステップ２０８（Ｓ２０８）において、デインターリーブ部３０４は、変数ｘから１を減算し、定数Ｌの剰余系における変数ｘの値（剰余数）を算出する（x＜−(x-1)[mod]L；a[mod]bは、aのbに対する剰余系を示す)。
【００３０】
ステップ２１０（Ｓ２１０）において、デインターリーブ部３０４は、変数ｊに１を加算する。
ステップ２１２（Ｓ２１２）において、デインターリーブ部３０４は、変数ｊを０クリアする。
【００３１】
ステップ２１４（Ｓ２１４）において、デインターリーブ部３０４は、変数ｉが定数Ｌ以上であるか否かを判断する。
デインターリーブ部３０４は、変数ｉがＬ以上であるときには処理を終了し、これ以外のときにはＳ２１６の処理に進む。
ステップ２１６（Ｓ２１６）において、デインターリーブ部３０４は、変数ｉに１を加算して、Ｓ２０２の処理に進む。
デインターリーブ部３０４は、以上の処理により得られた受信データＤ（０，０）〜Ｄ（９，７）を、例えば、Ｄ（０，０）〜Ｄ（０，７）〜Ｄ（９，０）〜Ｄ（９，７）の順に読み出し、外部に対して出力する。
【００３２】
図１１は、バースト誤り長を可変値とし、従来のブロックインターリーブ処理およびデインターリーブ処理によりデータを並び替え（拡散）した場合においてデータに発生する誤りの率（エラー率）のシミュレーション結果と、本発明にかかるインターリーブ処理およびデインターリーブ処理によりデータを拡散した場合におけるエラー率のシミュレーション結果とを対比して例示する図である。
なお、図１１には、インターリーブ処理およびデインターリーブ処理に用いられる行列の構成が（行数，列数）＝（１１２，２０）であり、インターリーブ長が１．８６ｓｅｃであり、符号化部１０２における変調方式がＱＰＳＫであり、復号部３０２におけるＦＥＣが拘束長７畳み込みビタビ復号であり、バースト誤り長がＣ言語によりシミュレートされている場合が例示されている。
図１１に示すように、ブロックインターリーブ処理およびデインターリーブ処理は、１００ｍｓ以下のバースト誤り長に対してしか対応できないが、本発明にかかるインターリーブ処理およびデインターリーブ処理は、３００ｍｓまでのバースト誤り長にまで対応してＦＥＣ特性を向上させることができる。
【産業上の利用可能性】
【００３３】
本発明は、インターリーブ処理およびデインターリーブ処理に利用可能である。
【図面の簡単な説明】
【００３４】
【図１】本発明にかかるインターリーブ処理が適用される送信機の構成を例示する図である。
【図２】本発明にかかるデインターリーブ処理が適用される受信機の構成を例示する図である。
【図３】図１，図３に示したインターリーブ部、および、図２，図３に示したデインターリーブ部のハードウェアを例示する図である。
【図４】図１，図３に示したインターリーブ部によるインタリーブ処理および図２，図３に示したデインターリーブ部によるデインターリーブ処理を示す第１の図である。
【図５】図１，図３に示したインターリーブ部によるインタリーブ処理および図２，図３に示したデインターリーブ部によるデインターリーブ処理を示す第２の図である。
【図６】図１，図３に示したインターリーブ部によるインタリーブ処理および図２，図３に示したデインターリーブ部によるデインターリーブ処理を示す第３の図である。
【図７】図１，図３に示したインターリーブ部によるインタリーブ処理および図２，図３に示したデインターリーブ部によるデインターリーブ処理を示す第４の図である。
【図８】図１，図３に示したインターリーブ部によるインタリーブ処理および図２，図３に示したデインターリーブ部によるデインターリーブ処理を示す第５の図である。
【図９】図１，図３に示したインターリーブ部によるインターリーブ処理（Ｓ１０）を示すフローチャートである。
【図１０】図２，図３に示したデインターリーブ部によるデインターリーブ処理（Ｓ２０）を示すフローチャートである。
【図１１】図１１は、バースト誤り長を可変値とし、従来のブロックインターリーブ処理およびデインターリーブ処理によりデータを並び替え（拡散）した場合においてデータに発生する誤りの率（エラー率）のシミュレーション結果と、本発明にかかるインターリーブ処理およびデインターリーブ処理によりデータを拡散した場合におけるエラー率のシミュレーション結果とを対比して例示する図である。
【符号の説明】
【００３５】
１・・・送信機、
１００・・・インターリーブ部、
１２０・・・ＤＳＰ、
１２２・・・ＲＡＭ、
１２４・・・ＲＯＭ、
１０２・・・符号化部、
１０４・・・送信部、
３・・・受信部、
３００・・・受信部、
３０２・・・復号部、
３０４・・・デインターリーブ部、
【図１】
2005198131.tif 000003
【図２】
2005198131.tif 000004
【図３】
2005198131.tif 000005
【図４】
2005198131.tif 000006
【図５】
2005198131.tif 000007
【図６】
2005198131.tif 000008
【図７】
2005198131.tif 000009
【図８】
2005198131.tif 000010
【図９】
2005198131.tif 000011
【図１０】
2005198131.tif 000012
【図１１】
2005198131.tif 000013