(57)【要約】【課題】デジタル無線通信において、伝送路で発生するバースト誤りを分散させる装置を提供する。【解決手段】データビット列をインタリーブして通信を行うインタリーブ方法において、データビット列を長方形マトリックスに行毎に書き込む書き込み工程と、書き込み工程で長方形マトリックスに書き込まれたデータビット列を列毎に読み出す行列転置工程と、長方形マトリックス中のデータの行の順を、行を単位として所定の乱数配列の番号順に並べ替える行変換工程と、長方形マトリックス中のデータの列の順を、列を単位として前記所定の乱数配列の番号順に並べ替える列変換工程と、を備える。所定の乱数配列は、前記長方形マトリックスの行のビット数又は列のビット数の大きい数の配列を有し、行変換工程又は列変換工程において、所定の乱数配列のうち要素データが長方形マトリックスの行又は列のビット数を越える数については、行又は列の並べ替えを省略する。【選択図】図１
2007158463.tif 000002
【特許請求の範囲】
【請求項１】
データビット列をインタリーブ処理およびデインタリーブ処理して通信を行うインタリーブ方法において、
前記データビット列を長方形マトリックスに行毎に書き込む書き込み工程と、
前記書き込み工程で長方形マトリックスに書き込まれたデータビット列を列毎に読み出す行列転置工程と、
前記長方形マトリックス中の前記データビット列の行の順を、行を単位として所定の乱数配列の番号順に並べ替える行変換工程と、
前記長方形マトリックス中の前記データビット列の列の順を、列を単位として前記所定の乱数配列の番号順に並べ替える列変換工程と、
を備えることを特徴とするインタリーブ方法。
【請求項２】
前記長方形マトリックスの行と列の数が異なる場合に、
前記所定の乱数配列は、前記長方形マトリックスの行のビット数又は列のビット数の大きい数の配列を有し、
前記行変換工程又は前記列変換工程において、前記所定の乱数配列のうち要素データが前記長方形マトリックスの行又は列のビット数を越える数については、行又は列の並べ替えを省略する、
ことを特徴とする請求項１に記載のインタリーブ方法。
【請求項３】
データビット列をインタリーブ処理およびデインタリーブ処理して通信を行うインタリーブ方法において、
前記インタリーブ処理は、
前記データビット列を長方形マトリックスの行の幅ごとに区切って、区切られたデータビット列を前記行の幅ごとに行を単位として所定の乱数配列の値が行の位置になるように、かつ、それぞれの行の中のデータビットを前記乱数配列の値が列の位置になるように、前記長方形マトリックスに書き込む乱数順書き込み工程と、
前記乱数順書き込み工程で長方形マトリックスに書き込まれたデータビット列を列毎に読み出す列読み出し工程と、
を備え、
前記デインタリーブ処理は、
受信したデータビット列を前記長方形マトリックスに列毎に書き込む列書き込み工程と、
前記長方形マトリックスに書き込まれたデータビット列を、前記乱数配列の値を読み出す行の位置とし、かつ、行の中において前記乱数配列の値を読み出す列の位置として、行ごとに読み出す乱数配列読み出し工程と、
を備えることを特徴とするインタリーブ方法。
【請求項４】
前記長方形マトリックスの行と列の数が異なる場合に、
前記所定の乱数配列は、前記長方形マトリックスの行のビット数又は列のビット数の大きい数の配列を有し、
前記インタリーブ処理の前記乱数順書き込み工程は、
前記所定の乱数配列のうち前記長方形マトリックスの行又は列のビット数を越える値については、その配列要素の次の配列要素の値を行又は列の位置として、順次、データビット列を長方形マトリックスに書き込み、
前記デインタリーブ処理の前記乱数配列読み出し工程は、
前記所定の乱数配列のうち前記長方形マトリックスの行又は列のビット数を越える値については、その配列要素の次の配列要素の値を行又は列の位置として、順次、データビット列を前記長方形マトリックスから読み出す、
ことを特徴とする請求項３に記載のインタリーブ方法。
【請求項５】
前記所定の乱数配列は、Ｍ系列符号発生器の初期値に設定された値が、前記Ｍ系列符号発生器のシフトレジスタ上でシフトされることにより発生することを特徴とする請求項１乃至４のいずれか１項に記載のインタリーブ方法。
【請求項６】
送信データをデータビット列としてインタリーブするインタリーブ装置であって、
前記データビット列を長方形マトリックスに行毎に書き込む書き込み手段と、
前記書き込み手段で長方形マトリックスに書き込まれたデータビット列を列毎に読み出す行列転置手段と、
前記長方形マトリックス中の前記データビット列の行の順を、行を単位として所定の乱数配列の番号順に並べ替える行変換手段と、
前記長方形マトリックス中の前記データビット列の列の順を、列を単位として前記所定の乱数配列の番号順に並べ替える列変換手段と、
を備えることを特徴とするインタリーブ装置。
【請求項７】
前記長方形マトリックスの行と列の数が異なる場合に、
前記所定の乱数配列は前記長方形マトリックスの行のビット数又は列のビット数の大きい数の配列を有し、
前記行変換手段又は前記列変換手段において、前記所定の乱数配列のうち要素データが前記長方形マトリックスの行又は列のビット数を越える数については、行又は列の並べ替えを省略する、
ことを特徴とする請求項６に記載のインタリーブ装置。
【請求項８】
送信データをデータビット列としてインタリーブするインタリーブ装置であって、
前記データビット列を長方形マトリックスの行の幅ごとに区切って、区切られたデータビット列を前記行の幅ごとに行を単位として所定の乱数配列の値が行の位置になるように、かつ、それぞれの行の中のデータビットを前記乱数配列の値が列の位置になるように、前記長方形マトリックスに書き込む乱数順書き込み手段と、
前記乱数順書き込み手段で長方形マトリックスに書き込まれたデータビット列を列毎に読み出す列読み出し手段と、
を備えることを特徴とするインタリーブ装置。
【請求項９】
前記長方形マトリックスの行と列の数が異なる場合に、
前記所定の乱数配列は、前記長方形マトリックスの行のビット数又は列のビット数の大きい数の配列を有し、
前記乱数順書き込み手段は、
前記所定の乱数配列のうち前記長方形マトリックスの行又は列のビット数を越える値については、その配列要素の次の配列要素の値を行又は列の位置として、順次、データビット列を長方形マトリックスに書き込む、
ことを特徴とする請求項８に記載のインタリーブ装置。
【請求項１０】
前記所定の乱数配列は、Ｍ系列符号発生器の初期値に設定された値が、前記Ｍ系列符号発生器のシフトレジスタ上でシフトされることにより発生することを特徴とする請求項６乃至９のいずれか１項に記載のインタリーブ装置。
【請求項１１】
受信データをデータビット列としてデインタリーブするデインタリーブ装置であって、
前記データビット列を長方形マトリックスに行毎に書き込む書き込み手段と、
前記書き込み手段で長方形マトリックスに書き込まれたデータビット列を列毎に読み出す行列転置手段と、
前記長方形マトリックス中の前記データビット列の行の順を、行を単位として所定の乱数逆配列の番号順に並べ替える行逆変換手段と、
前記長方形マトリックス中の前記データビット列の列の順を、列を単位として前記所定の乱数逆配列の番号順に並べ替える列逆変換手段と、
を備えることを特徴とするデインタリーブ装置。
【請求項１２】
前記長方形マトリックスの行と列の数が異なる場合に、
前記所定の乱数逆配列は前記長方形マトリックスの行のビット数又は列のビット数の大きい数の配列を有し、
前記長方形マトリックスの行数が列数より少ない場合は、
前記行逆変換手段は、
前記所定の乱数逆配列の要素番号と要素データを入れ替えた乱数配列の、前記行数を超える要素データの要素番号に行を挿入したのち、前記行が挿入された長方形マトリックス中のデータビット列の行の順を、行を単位として前記所定の乱数逆配列の番号順に並べ替え、
前記長方形マトリックスの列数が行数より少ない場合は、
前記列逆変換手段は、
前記所定の乱数逆配列の要素番号と要素データを入れ替えた乱数配列の、前記列数を超える要素データの要素番号に列を挿入したのち、前記列が挿入された長方形マトリックス中のデータビット列の列の順を、列を単位として前記所定の乱数逆配列の番号順に並べ替える、
ことを特徴とする請求項１１に記載のデインタリーブ装置。
【請求項１３】
前記所定の乱数逆配列は、Ｍ系列符号発生器の初期値に設定された値が、前記Ｍ系列符号発生器のシフトレジスタ上でシフトされることにより発生した乱数配列の、要素番号と要素データを入れ替えて生成することを特徴とする請求項１１又は請求項１２に記載のデインタリーブ装置。
【請求項１４】
受信データをデータビット列としてデインタリーブするデインタリーブ装置であって、
前記データビット列を長方形マトリックスに列毎に書き込む列書き込み手段と、
前記長方形マトリックスに書き込まれたデータビット列を、前記乱数配列の値を読み出す行の位置とし、かつ、行の中において前記乱数配列の値を読み出す列の位置として、行ごとに読み出す乱数配列読み出し手段と、
を備えることを特徴とするデインタリーブ装置。
【請求項１５】
前記所定の乱数配列は、Ｍ系列符号発生器の初期値に設定された値が、前記Ｍ系列符号発生器のシフトレジスタ上でシフトされることにより発生することを特徴とする請求項１４に記載のデインタリーブ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル無線通信におけるインタリーブ方法、インタリーブ装置及びデインタリーブ装置に関する。
【背景技術】
【０００２】
移動体通信では伝送路で発生するノイズやフェージングの影響を受けて伝送データに誤りが発生する。この誤りを訂正する技術として畳み込み符号がある。ただし、畳み込み符号はランダム誤りの訂正には適しているが、バースト誤りにはあまり適していない。
【０００３】
レイリーフェージング環境下では瞬間的に受信レベルが低下し、規定レベル以下となる期間でデータエラーが発生する。受信レベル低下の発生間隔は移動体の移動速度に依存しており、移動速度が速くなるほど、その発生間隔は短くなる。また、移動速度が遅くなるほど受信レベル低下の発生間隔が長くなるとともに、受信レベルが低下している期間も長くなり、その期間はバースト誤りとなる。よって、移動速度が遅くなるほど、バースト誤りが長くなる。
【０００４】
フェージング環境下においては伝送データの誤り特性はバースト誤りとなり、畳み込み符号ではその訂正能力を充分に発揮できない。そこで、畳み込み符号を用いる場合には、バースト誤りを分散するためのインタリーブと組み合わせて使用されるのが一般的である。
【０００５】
バースト誤りを分散させる目的で行われるのがインタリーブ処理で、その代表的な方式が行と列を入れ替える行列転置方式インタリーブである。行列転置方式インタリーブは、データをマトリックスに展開して、その行と列を入れ替える方式である。ただし、行列転置方式では、バースト誤りがマトリックスの複数行に渡って発生した場合は、その複数行数ビット分のバースト誤りがインタリーブ後に残る。移動体の移動速度が遅くなるほどバースト誤りが長くなるため、行列転置方式では誤りを分散させることができなくなる。
【０００６】
また、データをランダムにインタリーブする方法がある。ランダムにインタリーブする方法では、総データビット数個の乱数配列を用意し、これによりパケット内のデータを並べ替える方法が考えられる。ただし、この場合は、総データビット数個の乱数配列を格納するために膨大なメモリが必要となる。例えば、２５６００ビット（１６０ビット×１６０ビット）のデータの場合、要素数２５６００個の乱数配列が必要である。
【０００７】
インタリーブを改善する方法として、例えば特許文献１の方法がある。特許文献１は、Ｍ系列符号発生器で発生させた乱数配列に従って、データマトリックスの列方向を入れ替えた後に、データマトリックスの行方向を入れ替える技術が記載されている。また、特許文献２は、データビットを長方形マトリックスに行毎に書き込み、この長方形マトリックスの行毎に先頭の初期値を変化させてそれぞれ行毎に擬似乱数を発生させ、この擬似乱数の番号順に長方形マトリックス中のデータビットの並べ替えを行い、並べ替えたデータビットを長方形マトリックスの列毎に読み出すことによりインタリーブを行うことが記載されている。
【特許文献１】特開２０００−１３８５９６号公報
【特許文献２】特開２００４−４０２２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、特許文献１の技術は、データマトリックスの行と列をそれぞれ異なる乱数配列で入れ替えるため、インタリーブとデインタリーブで処理が複雑であり、特許文献２の技術は、並べ替えが行方向のみであるため、複数行に渡るバースト誤りの分散としては不十分であると考えられる。
【０００９】
本発明は、上記事情に鑑みてなされたものであり、デジタル無線通信において、伝送路で発生するバースト誤りを有効に分散させる装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明の第１の観点に係るインタリーブ方法は、データビット列をインタリーブ処理およびデインタリーブ処理して通信を行うインタリーブ方法において、
前記データビット列を長方形マトリックスに行毎に書き込む書き込み工程と、
前記書き込み工程で長方形マトリックスに書き込まれたデータビット列を列毎に読み出す行列転置工程と、
前記長方形マトリックス中の前記データビット列の行の順を、行を単位として所定の乱数配列の番号順に並べ替える行変換工程と、
前記長方形マトリックス中の前記データビット列の列の順を、列を単位として前記所定の乱数配列の番号順に並べ替える列変換工程と、
を備えることを特徴とする。
【００１１】
さらに、前記長方形マトリックスの行と列の数が異なる場合に、
前記所定の乱数配列は、前記長方形マトリックスの行のビット数又は列のビット数の大きい数の配列を有し、
前記行変換工程又は前記列変換工程において、前記所定の乱数配列のうち要素データが前記長方形マトリックスの行又は列のビット数を越える数については、行又は列の並べ替えを省略する、
ことを特徴とする。
【００１２】
本発明の第２の観点に係るインタリーブ方法は、データビット列をインタリーブ処理およびデインタリーブ処理して通信を行うインタリーブ方法において、
前記インタリーブ処理は、
前記データビット列を長方形マトリックスの行の幅ごとに区切って、区切られたデータビット列を前記行の幅ごとに行を単位として所定の乱数配列の値が行の位置になるように、かつ、それぞれの行の中のデータビットを前記乱数配列の値が列の位置になるように、前記長方形マトリックスに書き込む乱数順書き込み工程と、
前記乱数順書き込み工程で長方形マトリックスに書き込まれたデータビット列を列毎に読み出す列読み出し工程と、
を備え、
前記デインタリーブ処理は、
受信したデータビット列を前記長方形マトリックスに列毎に書き込む列書き込み工程と、
前記長方形マトリックスに書き込まれたデータビット列を、前記乱数配列の値を読み出す行の位置とし、かつ、行の中において前記乱数配列の値を読み出す列の位置として、行ごとに読み出す乱数順読み出し工程と、
を備えることを特徴とする。
【００１３】
さらに、前記長方形マトリックスの行と列の数が異なる場合に、
前記所定の乱数配列は、前記長方形マトリックスの行のビット数又は列のビット数の大きい数の配列を有し、
前記インタリーブ処理の前記乱数順書き込み工程は、
前記所定の乱数配列のうち前記長方形マトリックスの行又は列のビット数を越える値については、その配列要素の次の配列要素の値を行又は列の位置として、順次、データビット列を長方形マトリックスに書き込み、
前記デインタリーブ処理の前記乱数配列読み出し工程は、
前記所定の乱数配列のうち前記長方形マトリックスの行又は列のビット数を越える値については、その配列要素の次の配列要素の値を行又は列の位置として、順次、データビット列を前記長方形マトリックスから読み出す、
ことを特徴とする。
【００１４】
好ましくは、前記所定の乱数配列は、Ｍ系列符号発生器の初期値に設定された値が、前記Ｍ系列符号発生器のシフトレジスタ上でシフトされることにより発生することを特徴とする。
【００１５】
また、本発明の第３の観点に係るインタリーブ装置は、送信データをデータビット列としてインタリーブするインタリーブ装置であって、
前記データビット列を長方形マトリックスに行毎に書き込む書き込み手段と、
前記書き込み手段で長方形マトリックスに書き込まれたデータビット列を列毎に読み出す行列転置手段と、
前記長方形マトリックス中の前記データビット列の行の順を、行を単位として所定の乱数配列の番号順に並べ替える行変換手段と、
前記長方形マトリックス中の前記データビット列の列の順を、列を単位として前記所定の乱数配列の番号順に並べ替える列変換手段と、
を備えることを特徴とする。
【００１６】
さらに、前記長方形マトリックスの行と列の数が異なる場合に、
前記所定の乱数配列は前記長方形マトリックスの行のビット数又は列のビット数の大きい数の配列を有し、
前記行変換手段又は前記列変換手段において、前記所定の乱数配列のうち要素データが前記長方形マトリックスの行又は列のビット数を越える数については、行又は列の並べ替えを省略する、
ことを特徴とする。
【００１７】
本発明の第４の観点に係るインタリーブ装置は、送信データをデータビット列としてインタリーブするインタリーブ装置であって、
前記データビット列を長方形マトリックスの行の幅ごとに区切って、区切られたデータビット列を前記行の幅ごとに行を単位として所定の乱数配列の値が行の位置になるように、かつ、それぞれの行の中のデータビットを前記乱数配列の値が列の位置になるように、前記長方形マトリックスに書き込む乱数順書き込み手段と、
前記乱数順書き込み手段で長方形マトリックスに書き込まれたデータビット列を列毎に読み出す列読み出し手段と、
を備えることを特徴とする。
【００１８】
さらに、前記長方形マトリックスの行と列の数が異なる場合に、
前記所定の乱数配列は、前記長方形マトリックスの行のビット数又は列のビット数の大きい数の配列を有し、
前記乱数順書き込み手段は、
前記所定の乱数配列のうち前記長方形マトリックスの行又は列のビット数を越える値については、その配列要素の次の配列要素の値を行又は列の位置として、順次、データビット列を長方形マトリックスに書き込む、
ことを特徴とする。
【００１９】
好ましくは、第３及び第４の観点に係るインタリーブ装置において、前記所定の乱数配列は、Ｍ系列符号発生器の初期値に設定された値が、前記Ｍ系列符号発生器のシフトレジスタ上でシフトされることにより発生することを特徴とする。
【００２０】
本発明の第５の観点に係るデインタリーブ装置は、受信データをデータビット列としてデインタリーブするデインタリーブ装置であって、
前記データビット列を長方形マトリックスに行毎に書き込む書き込み手段と、
前記書き込み手段で長方形マトリックスに書き込まれたデータビット列を列毎に読み出す行列転置手段と、
前記長方形マトリックス中の前記データビット列の行の順を、行を単位として所定の乱数逆配列の番号順に並べ替える行逆変換手段と、
前記長方形マトリックス中の前記データビット列の列の順を、列を単位として前記所定の乱数逆配列の番号順に並べ替える列逆変換手段と、
を備えることを特徴とする。
【００２１】
さらに、前記長方形マトリックスの行と列の数が異なる場合に、
前記所定の乱数逆配列は前記長方形マトリックスの行のビット数又は列のビット数の大きい数の配列を有し、
前記長方形マトリックスの行数が列数より少ない場合は、
前記行逆変換手段は、
前記所定の乱数逆配列の要素番号と要素データを入れ替えた乱数配列の、前記行数を超える要素データの要素番号に行を挿入したのち、前記行が挿入された長方形マトリックス中のデータビット列の行の順を、行を単位として前記所定の乱数逆配列の番号順に並べ替え、
前記長方形マトリックスの列数が行数より少ない場合は、
前記列逆変換手段は、
前記所定の乱数逆配列の要素番号と要素データを入れ替えた乱数配列の、前記列数を超える要素データの要素番号に列を挿入したのち、前記列が挿入された長方形マトリックス中のデータビット列の列の順を、列を単位として前記所定の乱数逆配列の番号順に並べ替える、
ことを特徴とする。
【００２２】
好ましくは、前記所定の乱数逆配列は、Ｍ系列符号発生器の初期値に設定された値が、前記Ｍ系列符号発生器のシフトレジスタ上でシフトされることにより発生した乱数配列の、要素番号と要素データを入れ替えて生成することを特徴とする。
【００２３】
本発明の第６の観点に係るデインタリーブ装置は、受信データをデータビット列としてデインタリーブするデインタリーブ装置であって、
前記データビット列を長方形マトリックスに列毎に書き込む列書き込み手段と、
前記長方形マトリックスに書き込まれたデータビット列を、前記乱数配列の値を読み出す行の位置とし、かつ、行の中において前記乱数配列の値を読み出す列の位置として、行ごとに読み出す乱数順読み出し手段と、
を備えることを特徴とする。
【００２４】
好ましくは、第６の観点に係るデインタリーブ装置において、前記所定の乱数配列は、Ｍ系列符号発生器の初期値に設定された値が、前記Ｍ系列符号発生器のシフトレジスタ上でシフトされることにより発生することを特徴とする。
【発明の効果】
【００２５】
本発明のインタリーブ方法によれば、行列転置方式のインタリーブ処理では分散しきれないフェージング環境下でのバースト誤りを分散させることができる。
本発明のインタリーブ方法は、完全にランダムなデータ入れ替えではなく、行列転置の改良による乱数配列を用いた変換により、処理が簡素化できる。また、必要なメモリ量が少なくてすむ。
また、乱数配列の生成をＭ系列符号発生器の応用で行っており、処理が簡単で実装も容易である。
【発明を実施するための最良の形態】
【００２６】
（実施の形態１）
本発明に係るインタリーブ装置及びデインタリーブ装置の一実施の形態について、図を参照して説明する。図１は、本発明の一実施の形態に係るインタリーブ通信システムの構成を示すブロック図である。図１の（ａ）は無線送信装置１０の構成を示す。無線送信装置１０は、インタリーブ装置１、誤り訂正符号部３、送信部４、アンテナ５及びＭ系列符号発生器１５を備える。インタリーブ装置１は、行書込部１１、列変換部１２、行変換部１３及び列読出し部１４を備える。
【００２７】
誤り訂正符号部３は、送信する入力データに誤り訂正符号を付けて符号化する。インタリーブ装置１は、誤り訂正符号部３で符号化されたデータビット列をインタリーブ処理して送信部４に送る。送信部４は、インタリーブ処理されたデータビット列を変調してアンテナ５から送信する。
【００２８】
行書込部１１は、データビット列をインタリーブ装置１のメモリに、長方形のマトリックスとして行ごとに書き込む。列変換部１２は、長方形マトリックスに書き込まれたデータの列の順を、列を単位としてＭ系列符号発生器１５で生成された乱数配列に従って並べ替える。行変換部１３は、列変換部１２で列の順が並べ替えられた長方形マトリックスのデータビット列の行の順を、列の順を並べ替えた乱数配列と同じ乱数配列に従って、行を単位として並べ替える。
【００２９】
列読出し部１４は、列変換部１２及び行変換部１３で列及び行の順が並べ替えられた長方形マトリックスのデータビット列を、列ごとに順に読み出し、送信部４に送る。データビット列は、行書込部１１で行ごとに長方形マトリックスに書き込まれ、列読出し部１４で列ごとに読み出されるので、長方形マトリックスの行と列が入れ替えられた（転置された）ことになる。
【００３０】
行と列の入れ替え（転置）、列変換及び行変換の順序は、図１（ａ）の順序に従う必要はなく、順序を変えて行っても同じ結果になる。例えば、行と列を最初に入れ替えて、行を乱数配列に従って並べ替え、最後に列を乱数配列に従って並べ替えても同じ結果になる。ただし、この場合は、最後に行ごとに読み出す。
【００３１】
また、図１（ａ）のインタリーブ装置１では、初めにデータビット列を長方形マトリックスに行ごとに書き込み、最後に列ごとに読み出しているが、初めに列ごとに書き込んで、最後に行ごとに読み出す構成でもよい。
【００３２】
図１の（ｂ）は、無線受信装置２０の構成を示す。無線受信装置２０は、デインタリーブ装置２、誤り訂正復号部８、受信部７、アンテナ６、Ｍ系列符号発生器２５及び逆配列生成部２６を備える。デインタリーブ装置２は、行書込部２１、列逆変換部２２、行逆変換部２３及び列読出し部２４を備える。
【００３３】
受信部７は、アンテナ６で捉えた電波を復調して、データビット列を再生しデインタリーブ装置２に送る。デインタリーブ装置２は、受信部７で復調されたデータビット列をデインタリーブ処理して誤り訂正復号部８に送る。誤り訂正復号部８は、デインタリーブされたデータビット列を復号し、誤り訂正符号で誤り訂正して、受信データを出力する。
【００３４】
行書込部２１は、データビット列をデインタリーブ装置２のメモリに、長方形のマトリックスとして行ごとに書き込む。列逆変換部２２は、長方形マトリックスに書き込まれたデータビット列の列の順を、列を単位として、Ｍ系列符号発生器２５及び逆配列生成部２６で生成された乱数逆配列に従って並べ替える。行逆変換部２３は、列逆変換部２２で列の順が並べ替えられた長方形マトリックスのデータビット列の行の順を、列の順を並べ替えた乱数逆配列と同じ乱数逆配列に従って、行を単位として並べ替える。
【００３５】
列読出し部２４は、列逆変換部２２及び行逆変換部２３で列及び行の順が並べ替えられた長方形マトリックスのデータビット列を、列ごとに順に読み出し、誤り訂正復号部８に送る。データビット列は、行書込部２１で行ごとに長方形マトリックスに書き込まれ、列読出し部２４で列ごとに読み出されるので、長方形マトリックスの行と列が入れ替えられた（転置された）ことになる。
【００３６】
行と列の入れ替え（転置）、列逆変換及び行逆変換の順序は、図１（ｂ）の順序に従う必要はなく、順序を変えて行っても同じ結果になる。例えば、行と列を最初に入れ替えて、行を乱数逆配列に従って並べ替え、最後に列を乱数逆配列に従って並べ替えても同じ結果になる。ただし、この場合は、最後に行ごとに読み出す。
【００３７】
また、図１（ｂ）のデインタリーブ装置２では、初めにデータビット列を長方形マトリックスに行ごとに書き込み、最後に列ごとに読み出しているが、初めに列ごとに書き込んで、最後に行ごとに読み出す構成でもよい。
【００３８】
Ｍ系列符号発生器１５及び２５は、データビット列が書き込まれる長方形マトリックスの、行または列のビット数の乱数配列を生成する。図２は、Ｍ系列符号発生器１５、２５の構成例を示す回路図である。図２の例に示すＭ系列符号発生器１５、２５では、８段のシフトレジスタ３０〜３７と、排他的論理和４１、４２、４３とから構成される。
【００３９】
シフトレジスタ３０〜３７はそれぞれ１ビットのデータを保持し、クロックパルスごとに保持したデータを次の段のシフトレジスタに出力し、前の段のシフトレジスタから出力されたデータを入力して保持する。シフトレジスタ３０〜３７の８ビットで１つの数（擬似乱数）が決まる。
【００４０】
Ｎ段のシフトレジスタで構成されたＭ系列符号発生器の場合、１〜２Ｎ−１までの擬似乱数を発生させることができる。図２の例でいえば、１〜２８−１＝２５５までの乱数を発生する。
【００４１】
Ｍ系列は、生成される線形帰還シフトレジスタ(LFSR)において係数多項式を考え、その多項式が有限体ＧＦ（２）上の原始多項式であるときのみ生成され、優れた自己相関特性を有する。図２の例では、原始多項式は、
Ｘ８＋Ｘ４＋Ｘ３＋Ｘ２＋１
である。図２のＭ系列は、シフトレジスタ３０〜３７を備え、排他的論理和４１、４２、４３による帰還タップをもつ線形帰還シフトレジスタに、全ゼロ以外の初期値を与えることにより生成される周期系列である。
【００４２】
配列数が２（Ｎ−１）から２Ｎ−１個の範囲の場合は、Ｎ段のシフトレジスタで構成されるＭ系列符号発生器で２Ｎ−１の乱数を発生させ、その乱数から必要な配列数を越える値を間引いて、必要な乱数配列を得る。例えば１６０ビット×１６０ビットのマトリックスで使用する乱数配列を発生させるには、１〜１６０の値を不規則に配置した乱数配列が必要となる。この場合、まず８段のＭ系列符号発生器を構成し、１〜２５５の値を不規則に配置した要素数２５５の配列ｍを生成する。次に、この配列ｍから１６１以上の値を間引いて、乱数配列ｍ’を生成する。この乱数配列ｍ’をインタリーブ処理の乱数配列として用いる。
【００４３】
デインタリーブ処理に使用する乱数逆配列は、乱数配列の要素番号と要素データを入れ替えて生成する。乱数配列ｍ’の乱数逆配列をｍ”とすると、例えば、ｍ’［１５］＝３、すなわち乱数配列の１５番目のデータが３であれば、ｍ”［３］＝１５、すなわち乱数逆配列の３番目のデータが１５である。
【００４４】
図１（ｂ）の逆配列生成部２６は、Ｍ系列符号発生器２５で生成された乱数配列を、要素番号と要素データを入れ替えて乱数逆配列を生成する。したがって、乱数逆配列による並べ替えは、乱数配列による並べ替えの逆操作である。デインタリーブ装置２のデインタリーブ処理によって、インタリーブ装置１でインタリーブ処理する前の配列が再生される。
【００４５】
乱数配列及び乱数逆配列を実際の機器へ実装することについては、上記の処理を行う乱数発生器を実装して処理ごとに乱数を発生させるか、もしくは、乱数配列又は乱数逆配列をあらかじめ生成してメモリに格納しておき、インタリーブ処理又はデインタリーブ処理を行うときにメモリを参照する構成としてもよい。
【００４６】
Ｍ系列符号発生器１５、２５を実装して、乱数を発生する場合は、Ｍ系列符号発生器の初期値を無線送信装置１０と無線受信装置２０で取り決めておく。Ｍ系列符号発生器の初期値は、通信を開始するときに、無線送信装置１０と無線受信装置２０で通信される構成であってもよい。
【００４７】
次に、図１のインタリーブ装置１によるインタリーブ処理を、具体的な例を参照して説明する。図３は、本発明の一実施の形態に係るインタリーブ動作について示す説明図である。
【００４８】
図３（ａ）は、誤り訂正符号部３から出力されるデータビット列を表す。図３（ｂ）は、行書込部１１で長方形マトリックスに行ごとにデータビット列が書き込まれた状態を表す。図３（ｃ）は、列変換部１２によって、長方形マトリックスのデータの列を、乱数配列に従って列を単位として並べ替えた状態を表す。図３（ｄ）はさらに、行変換部１３によって、長方形マトリックスのデータの行を、乱数配列に従って行を単位として並べ替えた状態を表す。図３（ｅ）は、図３（ｄ）の長方形マトリックスを列ごとに読み出したデータビット列を表す。
【００４９】
図３の例では、データビット列Ｘ（１）〜Ｘ（２５）は、５行×５列の長方形マトリックスに書き込まれる（図３（ｂ））。また、乱数配列は、１、４、３、５、２である。すなわち、前述の乱数配列の記法にならって、
ｍ［１］＝１、ｍ［２］＝４、ｍ［３］＝３、ｍ［４］＝５、ｍ［５］＝２
である。
【００５０】
この乱数配列に従って、列を並べ替えた結果が図３（ｃ）に示されている。たまたま、要素番号と要素データが同じ数である第１列と第３列は、並べ替えの前と同じである。並べ替え後の第２列は、並べ替え前の第４列である。同様に、並べ替え後の第４列と第５列は、それぞれ並べ替え前の第５列と第２列である。
【００５１】
列を並べ替えた長方形マトリックスの行をさらに、乱数配列に従って行を単位として並べ替えた結果が図３（ｄ）に示されている。列の並べ替えと同様、並べ替え後の第１行乃至第５行はそれぞれ、並べ替え前の第１行、第４行、第３行、第５行、第２行の順である。
【００５２】
列と行を並べ替えた長方形マトリックスのデータを、列ごとに読み出して出力データビット列とした結果が、図３（ｅ）に示されている。図３（ｄ）の第１列を上から読み出して、Ｘ（１）、Ｘ（１６）、Ｘ（１１）、Ｘ（２１）、Ｘ（６）の順にデータビット列を生成し、続いて、第２列を上から読み出してＸ（４）．．．としていく。
【００５３】
このようにして、最初のデータビット列Ｘ（１）．．．Ｘ（２５）は、長方形マトリックスに並べられて、行と列が入れ替わり、列と行が乱数配列に従って並べ替えられる。その結果、最初のデータビット列で連続していたデータは不規則に分散される。
【００５４】
なお、列と行の並べ替えの乱数配列が同じなので、行と列の入れ替え、列の並べ替え及び行の並べ替えの順序を変えてインタリーブ処理を行っても同じ結果が得られる。
【００５５】
次に、図１のデインタリーブ装置２によるデインタリーブ処理を、具体的な例を参照して説明する。図４は、本発明の一実施の形態に係るデインタリーブ動作について示す説明図である。
【００５６】
図４（ａ）は、受信部７から出力されるデータビット列を表す。受信部７から出力されるデータビット列は、無線送信装置１０から送信されたデータビット列と同じ順であり、図３（ｅ）と同じである。図４（ｂ）は、行書込部２１で長方形マトリックスに行ごとにデータビット列が書き込まれた状態を表す。図４（ｃ）は、列逆変換部２２によって、長方形マトリックスのデータビット列の列を、乱数逆配列に従って列を単位として並べ替えた状態を表す。図４（ｄ）はさらに、行逆変換部２３によって、長方形マトリックスのデータビット列の行を、乱数逆配列に従って行を単位として並べ替えた状態を表す。図４（ｅ）は、図４（ｄ）の長方形マトリックスを列ごとに読み出したデータビット列を表す。
【００５７】
図４の例では、図３のインタリーブ処理の逆なので、データビット列は、５行×５列の長方形マトリックスに書き込まれる（図４（ｂ））。また、乱数逆配列は、乱数配列１、４、３、５、２から要素番号と要素データを入れ替えて、１、５、３、２、４である。すなわち、前記の乱数配列の記法に従えば、乱数配列が
ｍ［１］＝１、ｍ［２］＝４、ｍ［３］＝３、ｍ［４］＝５、ｍ［５］＝２
であるから、乱数逆配列をｎで表すと、
ｎ［１］＝１、ｎ［２］＝５、ｎ［３］＝３、ｎ［４］＝２、ｎ［５］＝４
である。
【００５８】
この乱数逆配列に従って、列を並べ替えた結果が図４（ｃ）に示されている。たまたま、要素番号と要素データが同じ数である第１列と第３列は、並べ替えの前と同じである。並べ替え後の第２列は、並べ替え前の第５列である。同様に、並べ替え後の第４列と第５列は、それぞれ並べ替え前の第２列と第４列である。
【００５９】
列を並べ替えた長方形マトリックスの行をさらに、乱数配列に従って行を単位として並べ替えた結果が図４（ｄ）に示されている。列の並べ替えと同様、並べ替え後の第１行乃至第５行はそれぞれ、並べ替え前の第１行、第５行、第３行、第２行、第４行の順である。
【００６０】
列と行を並べ替えた長方形マトリックスのデータビット列を、列ごとに読み出して出力データビット列とした結果が、図４（ｅ）に示されている。図４（ｄ）の第１列を上から読み出して、Ｘ（１）、Ｘ（２）、Ｘ（３）、Ｘ（４）、Ｘ（５）の順にデータビット列を生成し、続いて、第２列を上から読み出してＸ（６）．．．としていく。
【００６１】
このようにして、インタリーブ装置１でインタリーブ処理されたデータビット列は、長方形マトリックスに並べられて、行と列が入れ替わり、列と行が乱数配列に従って並べ替えられる。その結果、インタリーブ処理される前のデータビット列が再生される。そして、インタリーブ処理された状態で送信されたデータビット列に加わったバースト誤りは、デインタリーブ処理で不規則に分散される。
【００６２】
本発明のインタリーブ方法は、完全にランダムなデータ入れ替えではなく、行と列を入れ替えるだけの行列転置を改良した乱数配列を用いた変換により、処理が簡素化できる。また、必要なメモリ量が少なくてすむ。また、乱数配列の生成をＭ系列符号発生器の応用で行っており、処理が簡単で実装も容易である。
【００６３】
なお、インタリーブ処理と同じく、列と行の並べ替えの乱数逆配列が同じなので、行と列の入れ替え、列の並べ替え及び行の並べ替えの順序を変えてデインタリーブ処理を行っても同じ結果が得られる。
【００６４】
次に、長方形マトリックスの行と列の数が異なる場合について、図１のインタリーブ装置１のインタリーブ処理とデインタリーブ装置２のデインタリーブ処理を、具体的な例を参照して説明する。図５は、本発明の一実施の形態に係るインタリーブ動作の異なる例について示す説明図である。
【００６５】
図５（ａ）は、誤り訂正符号部３から出力されるデータビット列を表す。図５（ｂ）は、行書込部１１で長方形マトリックスに行ごとにデータビット列が書き込まれた状態を表す。図５（ｃ）は、列変換部１２によって、長方形マトリックスのデータの列を、乱数配列に従って列を単位として並べ替えた状態を表す。図５（ｄ）はさらに、行変換部１３によって、長方形マトリックスのデータの行を、乱数配列に従って行を単位として並べ替えた状態を表す。図５（ｅ）は、図５（ｄ）の長方形マトリックスを列ごとに読み出したデータビット列を表す。
【００６６】
図５の例では、データビット列Ｘ（１）〜Ｘ（３５）は、５行×７列の長方形マトリックスに書き込まれる（図５（ｂ））。また、乱数配列は、例えば１、４、６、７、３、５、２である。
【００６７】
この乱数配列に従って、列を並べ替えた結果が図５（ｃ）に示されている。並べ替え後の第１列乃至第７列は、並べ替え前の第１列、第４列、第６列、第７列、第３列、第５列、第２列の順である。たまたま、要素番号と要素データが同じ値である第１列は、並べ替えの前と同じである。
【００６８】
列を並べ替えた長方形マトリックスの行をさらに、乱数配列に従って行を単位として並べ替えた結果が図５（ｄ）に示されている。この場合、長方形マトリックスは５行しかないので、５を越える要素データの乱数配列要素を無視し、行の並べ替えをスキップする。乱数配列の３番のデータ６と４番のデータ７については、対応する行がないので、並べ替えをスキップし、第３行を次のデータ３を参照して並べ替え前の第３行とする。以下、第４行を並べ替え前の第５行、第５行を並べ替え前の第２行とする。
【００６９】
行の並べ替えをスキップするインタリーブ処理は、行数を超える要素データに対応する行として、空白行を追加し、空白行を含めて行の並べ替えを行ったのち、空白行を削除したものと考えてもよい。
【００７０】
列と行を並べ替えた長方形マトリックスのデータを、列ごとに読み出して出力データビット列とした結果が、図５（ｅ）に示されている。図５（ｄ）の第１列を上から読み出して、Ｘ（１）、Ｘ（２２）、Ｘ（１５）、Ｘ（２９）、Ｘ（８）の順にデータビット列を生成し、続いて、第２列を上から読み出してＸ（４）．．．としていく。
【００７１】
このようにして、最初のデータビット列Ｘ（１）．．．Ｘ（３５）は、長方形マトリックスに並べられて、行と列が入れ替わり、列と行が乱数配列に従って並べ替えられる。その結果、最初のデータビット列で連続していたデータは、不規則に分散される。
【００７２】
なお、列と行の並べ替えの乱数配列が同じなので、行と列の入れ替え、列の並べ替え及び行の並べ替えの順序を変えてインタリーブ処理を行っても同じ結果が得られる。
【００７３】
次に、図５のインタリーブ処理されたデータビット列をデインタリーブする処理について説明する。図６は、本発明の一実施の形態に係るデインタリーブ装置２について、長方形マトリックスの行と列の数が異なる場合のデインタリーブ動作の例について示す説明図である。
【００７４】
図６（ａ）は、受信部７から出力されるデータビット列を表す。受信部７から出力されるデータビット列は、無線送信装置１０から送信されたデータビット列と同じ順であり、図５（ｅ）と同じである。図６（ｂ）は、行書込部２１で長方形マトリックスに行ごとにデータビット列が書き込まれた状態を表す。図６（ｃ）は、インタリーブ処理の並べ替え処理でスキップされた列を追加した長方形マトリックスを示す。図６（ｄ）は列逆変換部２２によって、列が追加された長方形マトリックスのデータの列を、乱数逆配列に従って列を単位として並べ替えた状態を表す。図６（ｅ）はさらに、行逆変換部２３によって、長方形マトリックスのデータの行を、乱数逆配列に従って行を単位として並べ替えた状態を表す。図６（ｆ）は、図６（ｅ）の長方形マトリックスを列ごとに読み出したデータビット列を表す。
【００７５】
図６の例では、図５のインタリーブ処理の逆なので、データビット列は、７行×５列の長方形マトリックスに書き込まれる（図６（ｂ））。また、乱数逆配列は、乱数配列１、４、６、７、３、５、２から要素番号と要素データを入れ替えて、１、７、５、２、６、３、４である。すなわち、前記の乱数配列の記法に従えば、乱数配列が
ｍ［１］＝１、ｍ［２］＝４、ｍ［３］＝６、ｍ［４］＝７、ｍ［５］＝３、
ｍ［６］＝５、ｍ［７］＝２
であるから、乱数逆配列をｎで表すと、
ｎ［１］＝１、ｎ［２］＝７、ｎ［３］＝５、ｎ［４］＝２、ｎ［５］＝６、
ｎ［６］＝３、ｎ［７］＝４
である。
【００７６】
図５及び図６に示す長方形マトリックスは、行と列の数が異なるので、インタリーブ処理でスキップされた並べ替え処理に対応する行又は列を挿入する。図６のデインタリーブ処理では、乱数配列の３番のデータ６と４番のデータ７が列数を越えているので、第３列と第４列を挿入する。これは、インタリーブ処理で、乱数配列の３番のデータ６と４番のデータ７について行の並べ替えをスキップしたことに対応している。列を挿入した結果が図６（ｃ）に示されている。
【００７７】
列を挿入した結果の長方形マトリックスについて、乱数逆配列に従って、列の並べ替えを行う。列を並べ替えた結果が図６（ｄ）に示されている。並べ替え後の第１列乃至第７列はそれぞれ、並べ替え前の第１列、第７列、第５列、第２列、第６列、第３列、第４列の順である。並べ替えた結果、インタリーブ処理の行並べ替え前の行に対応した転置行列に戻るので、挿入した列は後ろに位置することになる。そこで、５列を越える列を無視して以下の処理を行う。
【００７８】
列を並べ替えた長方形マトリックスの行をさらに、乱数配列に従って行を単位として並べ替えた結果が図６（ｅ）に示されている。列の並べ替えと同様、並べ替え後の第１行乃至第７行はそれぞれ、並べ替え前の第１行、第７行、第５行、第２行、第６行、第３行、第４行の順である。
【００７９】
列と行を並べ替えた長方形マトリックスのデータを、列ごとに読み出して出力データビット列とした結果が、図６（ｆ）に示されている。図６（ｅ）の第１列を上から読み出して、Ｘ（１）、Ｘ（２）、Ｘ（３）、Ｘ（４）、Ｘ（５）、Ｘ（６）、Ｘ（７）の順にデータビット列を生成し、続いて、第２列を上から読み出してＸ（８）．．．としていく。
【００８０】
このようにして、インタリーブ装置１でインタリーブ処理されたデータビット列は、長方形マトリックスに並べられて、行と列が入れ替わり、列と行が乱数配列に従って並べ替えられる。その結果、インタリーブ処理される前のデータビット列が再生される。そして、インタリーブ処理された状態で送信されたデータビット列に加わったバースト誤りは、デインタリーブ処理で不規則に分散される。
【００８１】
なお、インタリーブ処理と同じく、列と行の並べ替えの乱数逆配列が同じなので、行と列の入れ替え、列の並べ替え及び行の並べ替えの順序を変えてデインタリーブ処理を行っても同じ結果が得られる。
【００８２】
以上、説明したように、データビット列を２次元配列にした長方形マトリックスの行と列の数が異なる場合でも、行と列について同じ乱数配列によってインタリーブ処理とデインタリーブ処理を行うことができる。その結果、乱数配列のメモリが少なくて済み、また、インタリーブ処理及びデインタリーブ処理が簡単になり、実装も容易である。
【００８３】
（実施の形態２）
本発明に係るインタリーブ装置及びデインタリーブ装置の異なる実施の形態について、図を参照して説明する。図７は、本発明の実施の形態２に係るインタリーブ通信システムの構成を示すブロック図である。図７の（ａ）は無線送信装置１０の構成を示す。無線送信装置１０は、インタリーブ装置１、誤り訂正符号部３、送信部４、アンテナ５及びＭ系列符号発生器１５を備える。インタリーブ装置１は、乱数順書込部１６及び列読出し部１４を備える。実施の形態２では、実施の形態１における無線送信装置１０の行書込部１１、列変換部１２、行変換部１３に代えて、乱数順書込部１６を備えることが異なる。誤り訂正符号部３、送信部４、アンテナ５及びＭ系列符号発生器１５は図１（ａ）の無線送信装置１０と同様である。
【００８４】
図７の（ｂ）は実施の形態２の無線受信装置２０の構成を示す。無線受信装置２０は、デインタリーブ装置２、誤り訂正復号部８、受信部７、アンテナ６及びＭ系列符号発生器２５を備える。実施の形態２のデインタリーブ装置２は、実施の形態１における無線受信装置２０の行書込部２１、列逆変換部２２、行逆変換部２３及び列読み出し部２４に代えて、列書込部２７及び乱数順読出し部２８を備える。また、逆配列生成部２６を備えていない。誤り訂正復号部８、受信部７、アンテナ６及びＭ系列符号発生器２５は図１（ｂ）の無線受信装置２０と同様である。
【００８５】
図７（ａ）のインタリーブ装置１における乱数順書込部１６は、データビット列を長方形のマトリックスに書き込むが、データビットを書き込むアドレス（長方形マトリックス内の行列の位置）を乱数配列の値とする。すなわち、データビット列を長方形マトリックスの行の幅（列の数）ごとに区切り、行ごとに長方形マトリックスの乱数配列の値を行番号として書き込む。さらに、行を書き込むときに、前記の乱数配列の値を列番号とする位置にそのビットを書き込む。
【００８６】
図８は、５行×５列の長方形マトリックスの場合を例にして、実施の形態２のインタリーブ動作について示す説明図である。図８（ａ）は、誤り訂正符号部３から出力されるデータビット列を表す。図８（ｂ）は、乱数順書込部１６で長方形マトリックスに、乱数配列の値をアドレスとしてデータビット列が書き込まれる様子を表す。図８（ｃ）は、乱数順書込部１６で長方形マトリックスに、乱数配列の値をアドレスとしてデータビット列が書き込まれた結果を表す。図８（ｄ）は、図８（ｃ）の長方形マトリックスを列ごとに読み出したデータビット列を表す。
【００８７】
図８の例では、データビット列Ｘ（１）〜Ｘ（２５）は、５行×５列の長方形マトリックスに書き込まれる（図８（ｂ））。また、乱数配列は、１、４、３、５、２である。
【００８８】
乱数順書込部１６では、次のようにしてデータビット列を書き込む。まず、データビット列を長方形マトリックスの行の幅である５つのデータごとに区切る。そして区切った5つのデータごとに、乱数配列の値を行番号として、長方形マトリックスに書き込む。すなわち、乱数配列の1番目の値が１であるから、Ｘ（１）〜Ｘ（５）を長方形マトリックスの1行目に書き込む。乱数配列の２番目の値が４であるから、次の５つのデータＸ（６）〜Ｘ（１０）を長方形マトリックスの４行目に書き込む。
【００８９】
さらに、行の中のビットの書込位置を乱数配列の値とする。すなわち、1行目のデータビット列を書き込むときに、乱数配列の1番目の値が１であるから、Ｘ（１）を第１列に書込み、乱数配列の２番目の値が４であるから、Ｘ（２）を第４列に書き込む。以下、乱数配列の値を列位置として、データビット列を長方形マトリックスに書き込んで、１行目のデータビット列を、Ｘ（１）、Ｘ（５）、Ｘ（３）、Ｘ（２）、Ｘ（４）とする。
【００９０】
次のデータＸ（６）〜Ｘ（１０）も同様に、乱数配列の値を列位置として、第４行に書き込むので、４行目のデータビット列は、Ｘ（６）、Ｘ（１０）、Ｘ（８）、Ｘ（７）、Ｘ（９）となる。
【００９１】
以下、同様にして、データビット列Ｘ（１）〜Ｘ（２５）を長方形マトリックスに書き込んだ結果が図８（ｃ）に示されている。元のデータビット列を長方形マトリックスに並べたものと比較すると、行の順は、第１行、第５行、第３行、第２行、第４行であり、列の順は、第１列、第５列、第３列、第２列、第４列である。
【００９２】
列と行を並べ替えた長方形マトリックスのデータを、列ごとに読み出して出力データビット列とした結果が、図８（ｄ）に示されている。図８（ｃ）の第１列を上から読み出して、Ｘ（１）、Ｘ（２１）、Ｘ（１１）、Ｘ（６）、Ｘ（１６）の順にデータビット列を生成し、続いて、第２列を上から読み出してＸ（５）．．．としていく。
【００９３】
このようにして、最初のデータビット列Ｘ（１）．．．Ｘ（２５）は、長方形マトリックスに乱数配列の値を行列の位置として不規則に並べられ、行と列が転置されて読み出される。その結果、最初のデータビット列で連続していたデータは不規則に分散される。
【００９４】
なお、列と行の位置を決める乱数配列が同じなので、行と列の順序を変えてインタリーブ処理を行っても同じ結果が得られる。また、行と列の数が異なる場合は、乱数配列のうち前記長方形マトリックスの行又は列のビット数を越える値については、その配列要素の次の配列要素の値を行又は列の位置として、順次、データビット列を長方形マトリックスに書き込みを行う。例えば、図５のように５行×７列で乱数配列が１、４、６、７、３、５、２の場合、配列の値が行の数を越える３番目と４番目の値６と７がないものとみなし、行の書き込み位置を示す配列を、１、４、３、５、２として、データビット列を書き込む。その結果、データを書き込むアドレスは異なるが、書き込んだ長方形マトリックスは図５の（ｄ）のような形式になる。あるいは、長方形マトリックスに空白行又は空白列を書き込んで、列読み出しで空白行又は空白列を読み飛ばしてインタリーブ処理を行ってもよい。
【００９５】
次に、図７のデインタリーブ装置２によるデインタリーブ処理を、具体的な例を参照して説明する。図９は、本発明の実施の形態２に係るデインタリーブ動作について示す説明図である。
【００９６】
図９（ａ）は、受信部７から出力されるデータビット列を表す。受信部７から出力されるデータビット列は、無線送信装置１０から送信されたデータビット列と同じ順であり、図８（ｄ）と同じである。図９（ｂ）は、列書込部２７で長方形マトリックスに列ごとにデータビット列が書き込まれた状態を表す。図９（ｃ）は、乱数順読出し部２８によって、図９（ｂ）の長方形マトリックスを行ごとに、乱数配列の値をアドレスとして読み出したデータビット列を表す。乱数配列は無線送信装置１０の乱数配列と同じで、１、４、３、５、２である。
【００９７】
列書込部２７は、データビット列をデインタリーブ装置２の長方形のマトリックスとして列ごとに書き込む。無線送信装置１０のインタリーブ装置１によって、列ごとに読み出されて送信されたデータビット列を、列書込部２７で長方形マトリックスに列ごとに書き込むので、図９（ｂ）は図８（ｃ）と同じデータビット列の順になっている。
【００９８】
乱数順読出し部２８は、列書込部２７で書き込まれた長方形マトリックスのデータを、乱数配列の値をアドレスとして行ごとに読み出す。そのときさらに、乱数配列の値を行の中のデータの読み出しアドレス（列の位置）として、データを読み出す。
【００９９】
具体的に図９（ｂ）と（ｃ）を参照して説明する。乱数配列の１番目の値が１であるから、長方形マトリックスの１行目のデータビット列を読み出す。そのとき、乱数配列の１番目の値が１であるから、第１列のデータを読み出し、乱数配列の２番目の値が４であるから、第４列のデータを次に読み出す。乱数配列の値に従って、１行目のデータビット列を第１列、第４列、第３列、第５列、第２列の順に読み出す。その結果、読み出したデータビット列のはじめの５つのデータは、Ｘ（１）、Ｘ（２）、Ｘ（３）、Ｘ（４）、Ｘ（５）となる。
【０１００】
次に、乱数配列の２番目の値が４であるから、長方形マトリックスの４行目のデータビット列を読み出す。そのとき乱数配列の値に従って、４行目のデータビット列を第１列、第４列、第３列、第５列、第２列の順に読み出す。その結果、読み出したデータビット列の次の５つのデータは、Ｘ（６）、Ｘ（７）、Ｘ（８）、Ｘ（９）、Ｘ（１０）となる。
【０１０１】
同様に、長方形マトリックスを乱数配列の値に従って、第１行、第４行、第３行、第５行、第２行の順に、それぞれの行を第１列、第４列、第３列、第５列、第２列の順で読み出す。読み出したデータビット列の結果が図９（ｃ）に示されている。
【０１０２】
乱数順読出し部２８で読み出した結果、無線送信装置１０のインタリーブ装置１でインタリーブ処理する前のデータビット列が再生される。そして、インタリーブ処理された状態で送信されたデータビット列に加わったバースト誤りは、デインタリーブ処理で不規則に分散される。
【０１０３】
実施の形態２においては、乱数配列の値を長方形マトリックスの中のアドレスとして、データビット列を書き込むので、乱数配列順に行と列を並び替える実施の形態１とは、長方形マトリックスの配列が異なる。しかし、乱数配列の値を長方形マトリックスの中のアドレスとしてデータビット列を書き込むことは、乱数逆配列順に長方形マトリックスの行と列を並び替えることと等価である。乱数配列とその逆配列（乱数逆配列）は、不規則性の度合いは同じと考えてよい。したがって、実施の形態２のバースト誤りを分散する効果は、実施の形態１の効果と同等である。
【０１０４】
なお、インタリーブ処理と同じく、列と行の読み出し位置の乱数配列が同じなので、行と列を入れ替えて、行ごとに書込み、乱数順読出し部２８で列ごとに読み出すデインタリーブ処理を行っても同じ結果が得られる。また、行と列の数が異なる場合は、乱数配列のうち前記長方形マトリックスの行又は列のビット数を越える値については、その配列要素の次の配列要素の値を行又は列の位置として、順次、データビット列を前記長方形マトリックスから読み出しすればよい。すなわち、乱数順書込部１６の行と列の数が異なる場合について記載したように、例えば、図５のように５行×７列で乱数配列が１、４、６、７、３、５、２の場合、配列の値が行の数を越える３番目と４番目の値６と７がないものとみなし、行の読み出し位置を示す配列を１、４、３、５、２として、データビット列の読み出しを行う。あるいは、インタリーブ処理で長方形マトリックスに空白行又は空白列を書き込んで、列読み出しで空白行又は空白列を読み飛ばしてインタリーブ処理を行った場合には、同様に、空白行又は空白列を挿入してから、乱数配列を読み出し位置として、データビット列の読み出しを行う。
【０１０５】
以上、説明したように、実施の形態２のインタリーブ装置１では、乱数配列の値をアドレスとして長方形マトリックスに書き込むので、長方形マトリックスの行と列の並べ替えが必要ない。また、デインタリーブ装置２では、乱数配列の値をアドレスとして長方形マトリックスから読み出すので、行と列の並べ替えが必要ない。さらに、デインタリーブ装置２では、インタリーブ装置１と同じ乱数配列を用いるので、乱数逆配列を生成する必要がない。無線送信装置１０と無線受信装置２０で同じ構成のＭ系列符号発生器１５又は２５を備えていれば、Ｍ系列符号発生器の初期値のみを無線受信装置２０に送信すれば、同じ乱数配列の生成が可能である。
【０１０６】
（実施例）
実際に、本発明のインタリーブ方法を用いて通信を行った結果について説明する。図１０は、レイリーフェージング環境下において２５６００ビット（１６０ビット×１６０ビット）のデータを１２８ｋｂｐｓで伝送したときの誤りの発生の様子を示し、（ａ）は移動速度が３ｋｍ／時、（ｂ）は５０ｋｍ／時の場合である。図１０では、データは１６０ビット×１６０ビットのデータマトリックスに左上から右向きに順番に並べられており、黒く塗りつぶされた１マスが１ビットのデータ誤りが発生したことを表している。図１０（ａ）及び（ｂ）より、３ｋｍ／時の場合の方がバースト誤りの区間が長く、複数行に渡って誤りが発生していることがわかる。
【０１０７】
図１１は、図１０と同じデータマトリックスに対して行と列を入れ替える行列転置のデータインタリーブを施したときのエラーの分散の様子を示す。図１１（ａ）は移動速度が３ｋｍ／時、（ｂ）は５０ｋｍ／時の場合である。図１１から５０ｋｍ／時の場合（ｂ）は、バースト誤りが解消されているが、３ｋｍ／時の場合（ａ）は、データインタリーブを行った後にも、１６ビット前後のバースト誤りが残っていることがわかる。つまり、行列転置ではバースト誤りがデータマトリックスの複数行に渡って発生した場合、その行数ビット分のバースト誤りがデータインタリーブ後にも残る。よって、移動体の移動速度が遅くなるほど、バースト誤りが長くなるため、行列転置のみではバースト誤りを分散させることができなくなる。
【０１０８】
図１２は、本発明のインタリーブ方法を実行した場合のエラーの分散の様子を示す。図１２（ａ）は移動速度が３ｋｍ／時、（ｂ）は５０ｋｍ／時の場合である。図１２（ａ）から３ｋｍ／時の場合でもバースト誤りが解消されているのがわかる。この状態であれば畳み込み符号によるエラー訂正がその効果を発揮できる。これらの結果より、本発明のインタリーブ方法を用いれば、移動体の速度に関わらず、バースト誤りを分散できることがわかる。
【図面の簡単な説明】
【０１０９】
【図１】本発明の一実施の形態に係るインタリーブ通信システムの構成を示すブロック図である。
【図２】本発明の一実施の形態に係るＭ系列符号発生器の構成を示す回路図である。
【図３】本発明の一実施の形態に係るインタリーブ動作について示す説明図である。
【図４】本発明の一実施の形態に係るデインタリーブ動作について示す説明図である。
【図５】本発明の一実施の形態に係るインタリーブ動作の異なる例について示す説明図である。
【図６】本発明の一実施の形態に係るデインタリーブ動作の異なる例について示す説明図である。
【図７】本発明の実施の形態２に係るインタリーブ通信システムの構成を示すブロック図である。
【図８】本発明の実施の形態２に係るインタリーブ動作について示す説明図である。
【図９】本発明の実施の形態２に係るデインタリーブ動作について示す説明図である。
【図１０】レイリーフェージング環境下におけるデータ誤りの発生の一例を示す図である。
【図１１】従来の行列転置によるインタリーブ方法によるデータ誤りの分散の一例を示す図である。
【図１２】本発明のインタリーブ方法によるデータ誤りの分散の一例を示す図である。
【符号の説明】
【０１１０】
１  インタリーブ装置
２  デインタリーブ装置
１１  行書込部
１２  列変換部
１３  行変換部
１４  列読出し部
１５  Ｍ系列符号発生器
１６  乱数順書込部
２１  行書込部
２２  列逆変換部
２３  行逆変換部
２４  列読出し部
２５  Ｍ系列符号発生器
２６  逆配列生成部
２７  列書込部
２８  乱数順読出し部
【図１】
2007158463.tif 000003
【図２】
2007158463.tif 000004
【図３】
2007158463.tif 000005
【図４】
2007158463.tif 000006
【図５】
2007158463.tif 000007
【図６】
2007158463.tif 000008
【図７】
2007158463.tif 000009
【図８】
2007158463.tif 000010
【図９】
2007158463.tif 000011
【図１０】
2007158463.tif 000012
【図１１】
2007158463.tif 000013
【図１２】
2007158463.tif 000014