(57)【特許請求の範囲】
【請求項１】
Ｎサイズで入力されるビットシンボルをメモリーの０から（Ｎ−１）までのアドレスに順次に格納し、前記格納されたビットシンボルを前記メモリーから読み取る方法において、
式Ｎ＝２ｍ×Ｊを充足する第１変数ｍと第２変数Ｊを提供する過程と、
前記Ｋ(0≦Ｋ≦(Ｎ−１))番目のビットシンボルを下記の数学式１により決定されたアドレスから読み取る過程とをさらに含むことを特徴とする方法。
［数１］
２ｍ(Ｋ ｍｏｄ Ｊ)＋ＢＲＯ(Ｋ／Ｊ)
(ここで、‘／’は商を計算するための除算処理を示し、前記ＢＲＯは２進数をビット逆相順(bit reversing)して１０進数に変換する関数のことである。)
【請求項２】
前記第１変数ｍは、前記サイズＮを２進数として表示した時、最下位ビット(ＬＳＢ)から連続する“０”の個数であることを特徴とする請求項１記載の方法。
【請求項３】
前記第２変数Ｊは前記サイズＮを２進数として表示した時、最下位ビット(ＬＳＢ)から連続する“０”ビットを除いた残りのビットを１０進数として表示したことを特徴とする請求項１記載の方法。
【請求項４】
与えられたインターリーバサイズＮの入力ビットシンボルをメモリーの０から（Ｎ−１）までのアドレスに順次に格納し、Ｒアドレスに格納されたビットシンボルを前記メモリーから読み取るための装置において、
Ｎ＝２ｍ×Ｊを充足する第１変数ｍと第２変数Ｊを提供するルックアップテーブルと、
前記ルックアップテーブルから提供された前記第１変数ｍと第２変数Ｊにて下記の数学式２により前記読み取りアドレスを生成するアドレス生成器とを含むことを特徴とする装置。
［数２］
２ｍ(Ｋ ｍｏｄ Ｊ)＋ＢＲＯ(Ｋ／Ｊ)
ここで、前記Ｋ(０≦Ｋ≦(Ｎ−１))は前記読み取りシーケンスのことであり、‘／’は商を計算するための除算処理を示し、前記ＢＲＯは２進数をビット逆相順して１０進数に変換する関数のことである。
【請求項５】
前記第１変数ｍは前記インターリーバサイズＮを２進数として表示した時、最下位ビットから連続する“０”ビットの個数であることを特徴とする請求項４記載の装置。
【請求項６】
前記第２変数Ｊは前記インターリーバサイズＮを２進数として表示した時、最下位ビットから連続する“０”ビットを除いたビットを１０進数として表示したことを特徴とする請求項４記載の装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、本発明は通信システムに係り、特に無線通信システムのインターリビング／ディインターリビング装置及び方法に関する。
【０００２】
【従来の技術】
インターリビングはフェージング（ｆａｄｉｎｇ）チャネルでエラー訂正符号の性能を向上させるために移動通信で一般的に用いる技術であって、ランダムエラー訂正符号の復号化と密接な関係がある。特に、ＩＭＴ−２０００通信システムのエアインタフェース（ａｉｒ ｉｎｔｅｒｆａｃｅ）で多様なインターリビング方式に対する具体的な具現方式が要求されている。かつ、前記分野はデジタル通信システムの信頼度の向上と幅広く係わっている分野であって、既存のデジタル通信システムの性能改善分野と将来に決定される次世代システムの性能を改善させる方式に関する技術分野である。
【０００３】
ＩＭＴ−２０００分野（ＩＭＴ−２０００ ｓｔａｎｄａｒｄ）ではチャネルインターリーバとしてビット逆相順インターリーバ（ｂｉｔ ｒｅｖｅｒｓａｌ ｉｎｔｅｒｌｅａｖｅｒ）を用いるように暫定的に勧めている。しかしながら、ＩＭＴ−２０００分野で与えられた順方向リンク（ｆｏｒｗａｒｄ ｌｉｎｋ）と逆方向リンク（ｒｅｖｅｒｓｅ ｌｉｎｋ）の場合、論理チャネルの種類が非常に多様であり、インターリーバのサイズも多様な種類から構成されており、多様な要求を満足するためには大きい容量のメモリーが必要になる。例えば、順方向リンクＮ＝３の伝送モードの場合、最少１４４ｂｉｔｓ／ｆｒａｍｅから最大３６８６４ｂｉｔｓ／ｆｒａｍｅまでの非常に多様なサイズのインターリーバが用いられる。前記のようなビット逆相順インターリーバに対して簡単に説明すると、次の通りである。
【０００４】
図１は前記ビット逆相順インターリーバの置換方式を示したものである。前記図１を参照すると、前記ビット逆相順インターリビングはアドレスの最上位ビットであるＭＳＢ（Ｍｏｓｔ Ｓｉｇｎｉｆｉｃａｎｔ Ｂｉｔ）から最下位ビットであるＬＳＢ（Ｌｅａｓｔ Ｓｉｇｎｉｆｉｃａｎｔ Ｂｉｔ）までのビット位置を相互交換し、再整列させてインターリビングを作る方式である。前記インターリビング方式は次のような長所を有する。前記方式は列挙関数（ｅｎｕｍｅｒａｔｉｏｎ ｆｕｎｃｔｉｏｎ）を用いてインターリーバを具現できるので、メモリーの使用が簡単な上に、多様なサイズのインターリーバを具現しやすい。かつ、前記置換されたシーケンスのビット位置が相当部分にかけてランダムに分布される。ところが、２の累乗で表現できないインターリーバサイズの場合、メモリーの活用効率性に劣る問題点がある。例えば、３６８６４ビットのインターリーバを具現するためには、６４Ｋｂｉｔ（６５５３６＝２１６）のメモリーが要る。何故ならば、３６８６４は３２Ｋｂｉｔ（３２７６８＝２１５）より大きいので、その値を表現するためにはさらに多いビットが要る。従って、２８６７２（＝６５５３６−３６８６４）だけの未使用のメモリーが具現されるので、メモリー損失が発生する。かつ、十分なメモリーを提供されると仮定しても、前記シンボルを伝送する方式を具現するのが非常に難しく、受信機の方でも受信されたシンボルの位置を正確に探知するのが困難である。なお、多様な種類のインターリーバが用いられるために、それぞれ相異なるインターリーバ規則をメモリーに格納しなければならない。よって、制御器（ＣＰＵ）にも同じように大きいメモリー容量を確保しなければならない問題点がある。
【０００５】
【発明が解決しようとする課題】
前述したように、従来のインターリビング方式は下記のような問題点を有する。第一、既存のインターリビング方式はインターリーバのサイズが２の累乗で表現できず、サイズが大きくなるほどメモリーの効率性が落ちる問題点を有する。即ち、ほとんどの場合、ＩＭＴ−２０００順方向リンクのためのインターリーバの設計で、各論理チャネルのインターリーバサイズが２ｍの形で表現できないために、インターリーバのサイズも非常に大きくなる。従って、ビット逆相順インターリビング方式を用いるのは非効率的である。
【０００６】
第二、既存のインターリビング方式はそれぞれのインターリーバサイズに応じる多様なインターリビング方式を送受信機の制御器（ＣＰＵかｈｏｓｔ）に格納しなければならないために、インターリーババッファーの他に別途の格納空間がホスト（ｈｏｓｔ）メモリーに必要である。
第三、前記ビット逆相順インターリビング方式を用いるために、インターリーバサイズを２ｍの形にして送受信する場合、不要な無効アドレスの除去による伝送方式が非常に複雑で、具現時にシンボル同期を合わせるのが難しい。
【０００７】
【課題を解決するための手段】
従って、本発明の目的は、通信システムで多様なインターリーバのサイズに対してアドレスを一つのアルゴリズムを用いて生成するインターリビング装置及び方法を提供することにある。
本発明の他の目的は、通信システムでインターリーバメモリーがフレームサイズＮに該当する容量だけを用いるインターリビング装置及び方法を提供することにある。
【０００８】
前記の目的を達成するために、本発明による、Ｎサイズで入力される一連のビットシンボルをメモリーの０からＮ−１までのアドレスまでに順次に格納し、前記格納されたビットシンボルを前記メモリーから読み取る装置が、式Ｎ＝２ｍ×Ｊを充足する第１変数ｍと第２変数Ｊを提供するルックアップテーブルと、前記ルックアップテーブルから提供された第１変数ｍと第２変数Ｊにより読み取りアドレスを発生するアドレス発生器とを含むことを特徴とする。前記読み取りアドレスは２ｍ（Ｋ ｍｏｄ Ｊ）＋ＢＲＯ（Ｋ／Ｊ）により決定され、ここで、Ｋ（０≦Ｋ≦（Ｎ−１））は読み取りシーケンスを、ＢＲＯは２進数をビット逆相順して１０進数に変換する関数である。
【０００９】
【発明の実施の形態】
以下、本発明による望ましい実施形態を添付図面を参照しつつ詳細に説明する。なお、図面中、同一な構成要素及び部分には、可能な限り同一な符号及び番号を共通使用するものとする。
そして、以下の説明では、具体的な特定事項を示しているが、これに限られることなく本発明を実施できることは、当技術分野で通常の知識を有する者には自明である。また、関連する周知技術については適宜説明を省略するものとする。
【００１０】
本発明で用いるインターリーバ（ｉｎｔｅｒｌｅａｖｅｒ）／ディインターリーバ（Ｄｅｉｎｔｅｒｌｅａｖｅｒ）はインターリビング／ディインターリビングアルゴリズムを用いて入力されたシンボルの順番を置換した後、出力バッファーに新たな順番通りに格納する。従って、本発明で提案したインターリーバ／ディインターリーバは三つの部分、即ち（インターリーバメモリー（入力データバッファー／出力データバッファー）、アドレス生成部、既存のカウンター）からなる。
【００１１】
図２は本発明の実施形態によるインターリーバの構成を示したものである。前記図２を参照すると、アドレス生成部２１１はインターリーバサイズ値Ｎ，第１変数ｍ，第２変数Ｊ及びクロック（ｃｌｏｃｋ）を受信し、インターリーバメモリー２１２に順次に格納されているビットシンボルを読み取るためのインターリーバメモリーアドレスを発生する。前記インターリーバメモリー２１２は書き込みモード時に入力ビットシンボルを順番通りに格納し、読み取りモード時に前記アドレス生成部２１１から提供されるアドレスに応じてビットシンボルを出力する。カウンター２１３は入力されたクロックをカウントし、前記クロックをカウントした値を書き込みアドレス値として前記インターリーバメモリー２１２に提供する。
【００１２】
前述したように、前記インターリーバは書き込みモード時に入力データをインターリーバメモリー２１２に順番通りに格納し、読み取りモード時に前記アドレス生成部２１１から発生された読み取りアドレスに応じて前記インターリーバメモリー２１２に格納されているデータを出力する。
ここで、前記アドレス生成部２１１は下記の数学式４のような部分分割ビット逆相順インターリビングアルゴリズムにより読み取りアドレス（即ち、インターリビングアドレス値）を生成する。
【００１３】
［数４］
Ｆｏｒ ａ ｇｉｖｅｎ Ｋ ．．．．．（０ ≦ Ｋ ≦ （Ｎ−１））
ｒ ＝ Ｋ ｍｏｄ Ｊ；
ＰＵＣ ＝ Ｋ ／ Ｊ；
ｓ ＝ ＢＲＯ （ＰＵＣ）；
ＡＤＤＲＥＳＳ＿ＲＥＡＤ＝ ｒ×２ｍ＋ｓ
【００１４】
ここで、前記“Ｋ”は出力されるデータの順番を示し、順番番号といい、前記“ｍ”はＬＳＢからＭＳＢ方向へ連続する“０”の個数を示し、第１変数といい、前記“Ｊ”は前記連続する０を除いたビットの１０進数に当たる値であり、第２変数という。ここで、前記インターリーバサイズＮは２ｍ×Ｊとして表現される。
【００１５】
前記数学式４を参照して、メモリーに順次に記録された入力シンボルを読み取るためのアドレス生成方法を説明すると次の通りである。まず、インターリーバのサイズをＮとする。前記の数学式４において、Ｋ（＝０，１，２，．．．．，Ｎ−１）は入力データの読み取り順番を示し、ｒとＰＵＣ及びｓは任意の変数のことを示す。“ｍｏｄ”と“／”はそれぞれ余りと商を求めるモジュロ演算（Ｍｏｄｕｌｏ ｏｐｅｒａｔｉｏｎ）とディバイダ演算（Ｄｉｖｉｄｅｒ ｏｐｅｒａｔｉｏｎ）のことを示す。かつ、ＢＲＯ（Ｈ）は“Ｈ”を２進数に転換した後、ＭＳＢからＬＳＢへの順番を逆相順にして２進数を１０進数に変換するビット逆相順（ｒｅｖｅｒｓａｌ）関数である。従って、前記数学式４のような関数を用いて、該当入力データの順番“Ｋ”に対応される読み取りシーケンスインデックスのＡＤＤＲＥＳＳ＿ＲＥＡＤを求め、前記読み取りシーケンスインデックスＡＤＤＲＥＳＳ＿ＲＥＡＤに当たるメモリー内容を読み取る。前記第１変数と第２変数はインターリーバサイズに応じて決定される値である。一旦、インターリーバサイズＮと前記第１変数，第２変数が決定されると、前記値に基づき、下記のアルゴリズムによりそれぞれのＫに当たる新たなアドレッシングインデックスであるＡＤＤＲＥＳＳ＿ＲＥＡＤを生成し、これを用いてインターリーバメモリー２１２からデータを読み取る。
【００１６】
前記フレームサイズ（インターリーバサイズ）Ｎから前記第１変数と第２変数を決定する方式を説明すると、任意のインターリーバサイズＮを２進数として表示する。そして、ＬＳＢからＭＳＢ方向に連続する“０”の数を求め、これを前記第１変数ｍとして定義する。さらに、前記連続する“０”ビットを除いたビットを集めて１０進数に転換して、前記第２変数Ｊとして定義する。
例えば、Ｎ＝５７６の場合、これを２進数として表示すると、Ｎ＝［１０ ０１００ ００００］なのでｍ＝６、Ｊ＝（１００１）２＝９になる。
【００１７】
図３は前述したインターリーバの逆に当たるディインターリーバの構成を示したものである。
前記図３を参照すると、アドレス生成部３１１はインターリーバサイズＮ、第１変数ｍ、第２変数Ｊ及びクロック（Ｃｌｏｃｋ）を入力して、書き込みモードを行うためのインターリーバメモリーアドレスを生成して、ディインターリーバメモリー３１２に出力する。前記ディインターリーバメモリー３１２は書き込みモード時に前記アドレス生成部３１１から提供される書き込みアドレス（Ｗｒｉｔｅ ＡＤＤＲ）に応じて入力データを格納し、読み取りモード時に格納データを順番通りに出力する。カウンター３１３は入力されたクロックをカウントし、前記クロックをカウントした値を前記ディインターリーバメモリー３１２に読み取りアドレス（Ｒｅａｄ ＡＤＤＲ）値として出力する。
【００１８】
前記ディインターリーバは前記インターリーバの逆過程を行うものであって、インターリーバと同一な構成を有する。但し、書き込みモード時に前述した数学式４のようなアルゴリズムを用いて入力データをディインターリーバメモリー３１２に順番通りに格納し、読み取りモード時にデータを順番通りに読み取るという点では異なる。即ち、前記ディインターリーバは送信側から伝送したデータを元の順番に復元するために、書き込みモード時にデータを元の順番通りに格納する。
【００１９】
便宜上、インターリーバを主にして説明することにする。すると、本発明を次世代移動通信システムのＩＭＴ−２０００システムに適用する場合の実施形態を説明する。
まず、表１を参照して、ＩＭＴ−２０００システムの順方向リンクで用いられるインターリーバサイズを見てみる。
【００２０】
【表１】
0003612023.tif 000002
【００２１】
前記表１に示したように、ＩＭＴ−２０００システムでは１２個のインターリーバサイズＮが提案されており、これは各順方向論理チャネルで適宜に用いられる。ここで、各順方向チャネルで用いられるインターリーバは“○”を付けて表した。例えば、順方向基本チャネルＦ−ＦＣＨ（ＲＳ２）の場合、用いられるインターリーバサイズは１４４ｂｉｔ（この際、フレームサイズは５ｍｓｅｃである），５７６ｂｉｔ，１１５２ｂｉｔである。
前記表１で提示されたインターリーバサイズに当たる前記第１変数ｍと第２変数Ｊを求めると、下記の表２に示した通りである。
【００２２】
【表２】
0003612023.tif 000003
【００２３】
（但し、Ｎはインターリーバサイズ、Ｆ−ＤＣＣＨは順方向専用制御チャネル、Ｆ−ＦＣＨは順方向基本チャネル、Ｆ−ＳＹＮＣ ＣＨは同期チャネル、Ｆ−ＰＣＨは順方向ページングチャネル、Ｆ−ＣＣＣＨは順方向共通制御チャネル、Ｆ−ＤＣＣＨは順方向専用制御チャネル、Ｆ−ＦＣＨは順方向基本チャネル、Ｆ−ＳＣＨは順方向付加チャネルのことをそれぞれ示す。）
【００２４】
前記表２を参照して、インターリーバサイズＮが９２１６である場合、第１変数と第２変数を求める方法を説明する。まず前記インターリーバサイズ９２１６を２進数として表示すると、Ｎ＝［１０ ０１００ ００００ ００００］である。ここでＬＳＢからＭＳＢ方向へ連続する“０”の最大数を求めて、これを第１変数として定義する。そして、前記連続する“０”ビットを除いたビットを集めてこれを１０進数（１００１＝９（１０））に転換して、これを第２変数Ｊとして定義する。
下記の表３及び表４はＮ＝５７６のインターリーバに対してそれぞれ読み取りモード（Ｒｅａｄ Ｍｏｄｅ）と書き込みモード（Ｗｒｉｔｅ Ｍｏｄｅ）の一例を示したものである。
【００２５】
【表３】
0003612023.tif 000004
【００２６】
【表４】
0003612023.tif 000005
【００２７】
書き込みモードでは前記表３に示したように、０００アドレスから５７４アドレスまで順次に入力データをインターリーバメモリー２１２に格納する。次に、読み取りモードではアドレッシング生成部２１１から生成される読み取りアドレスを用いて該当するアドレスのデータをインターリーバメモリー２１２から出力する。
【００２８】
例えば、三番目（Ｋ＝２）に出力されるデータが何なのか前記数学式４を参照して見てみる。まず、Ｎ＝５７６であると、ｍは６、Ｊは９である。従って、ｒ＝２ｍｏｄ９＝２であり、ＰＵＣ＝２／９＝０である。かつ、ｓ＝ＢＲＯ（０）＝０である。よって、最終的に得られるアドレスＡＤＤＲＥＳＳ＿ＲＥＡＤ＝２×２６＝１２８である。表４に示したインターリーバの書き込みモードで、出力アドレスは１からＮまでのに表現される。即ち、すべての出力アドレスはそれぞれ１ずつ加えられる。
【００２９】
前述したように、本発明では２の累乗で表現できない多様なインターリーバサイズに対して効果的なアドレス生成方法を提案した。従って、従来のインターリーバの非効率的なメモリー使用問題を解決することができる。さらに、一つのアルゴリズムを用いて多様なインターリーバサイズに対してアドレスを生成できる。よって、従来のようにホスト（ＣＰＵ）が各インターリーバサイズに対してそれぞれのインターリビング方式を格納する必要がなくて、メモリーの効率性が向上される。さらに、本発明はフレームサイズＮだけのインターリーバメモリーが用いられるので、メモリーの効率性が増大される。
【００３０】
一方、前記本発明の詳細な説明では具体的な実施形態を挙げて説明したが、本発明の範囲内で様々な変形が可能であることは当然のことである。従って、本発明の範囲は、前記実施形態によって限られてはいけなく、特許請求の範囲とそれに均等なものによって定められるべきである。
【図面の簡単な説明】
【図１】従来の技術によるビット逆相順インターリーバの置換方式を示す図である。
【図２】本発明の実施形態によるインターリーバの構成を示す図である。
【図３】本発明の実施形態によるディインターリーバの構成を示す図である。
【符号の説明】
２１１  アドレッシング生成部
２１２  インターリーバメモリー
２１３  カウンター
【図１】
0003612023.tif 000006
【図２】
0003612023.tif 000007
【図３】
0003612023.tif 000008