(57)【要約】  通信システムのインターリービング装置及び方法を提供する。本発明によるインターリービング装置及び方法は、与えられたインターリーバのサイズＮが２ｍ×ｊより大きく、２ｍ×(ｊ＋１)より小さい場合、２ｍ×(ｊ＋１)の新たなインターリーバのサイズＮ'と０から(Ｎ'−１)までのアドレスを決定する。ここで、ｍは最下位ビットから最上位ビットに連続する０ビットの個数を示す第１変数を示し、ｊは連続する０ビットを除いたビットの十進値に該当する第２変数を示す。前記装置及び方法は、Ｎ個の入力データビットを前記新たなサイズＮ'を有するメモリの０から(Ｎ−１)までのアドレスに該当するメモリ領域に順次に貯蔵する。前記装置及び方法は、サイズＮ'を有するメモリを部分ビット逆順インターリービングし、インターリービング以前のメモリのＮから(Ｎ'−１)までのアドレスに対応するアドレスを削除して読み出す。
2005514848.tif 000002
【特許請求の範囲】
【請求項１】
与えられたインターリーバのサイズＮが２ｍ×ｊより大きく、２ｍ×(ｊ＋１)より小さい場合、２ｍ×(ｊ＋１)の新たなインターリーバのサイズＮ'と０から(Ｎ'−１)までのアドレスを決定する過程と、
Ｎ個の入力データビットをメモリの０から(Ｎ−１)までのアドレスに順次に貯蔵する過程と、
前記メモリのアドレスを部分ビット逆順(ＰＢＲＯ)インターリービングする過程と、
前記メモリからデータを読み出すとき、前記メモリのＮから(Ｎ'−１)までのアドレスに対応するアドレスを削除して読み出す過程とを含むことを特徴とするインターリービング方法。
【請求項２】
前記メモリはＮのサイズを有することを特徴とする請求項１に記載のインターリービング方法。
【請求項３】
前記メモリはＮ'のサイズを有することを特徴とする請求項１に記載のインターリービング方法。
【請求項４】
通信システムでＮ＝２ｍ×ｊ＋ａ(ここで、０＜ａ＜２ｍ)の入力データをインターリービングするための方法において、
Ｎ'=２ｍ×(ｊ＋１)の(行×列)マトリックス構造を有するメモリのアドレスを順次に決定する過程と、
前記入力データを順次に前記メモリの０から(Ｎ−１)までのアドレスに貯蔵し、前記メモリの最終列のうち、Ｎから(Ｎ'−１)までのアドレスに該当する(２ｍ-ａ)個の領域にはデータを貯蔵しない過程と、
前記決定されたアドレスを部分ビット逆順(ＰＢＲＯ)インターリービングして(行×列)マトリックス構造を有する出力アドレスを生成する過程と、
順次に前記出力アドレスを決定して前記メモリに貯蔵されたデータを読み出すための読み出しアドレスを生成し、前記生成された読み出しアドレスには前記Ｎから(Ｎ'−１)までのアドレスに対応する出力アドレスが削除される過程とを含むことを特徴とする前記インターリービング方法。
【請求項５】
前記生成された読み出しアドレスに応じて前記メモリに貯蔵されたデータを読み出す過程をさらに含むことを特徴とする請求項４に記載の前記インターリービング方法。
【請求項６】
与えられたインターリーバのサイズＮが２ｍ×ｊより大きく、２ｍ×(ｊ＋１)より小さい場合、２ｍ×(ｊ＋１)の新たなインターリーバのサイズＮ'による０から(Ｎ'−１)までのアドレスをカウントするカウンターと、
前記カウンターによるカウント結果に応じてＮ個の入力データビットを０から(Ｎ−１)までのアドレスに順次に貯蔵するメモリと、
前記メモリのアドレスを部分ビット逆順(ＰＢＲＯ)インターリービングして読み出すための読み出しアドレスを生成し、前記生成された読み出しアドレスには前記メモリのＮから(Ｎ'−１)までのアドレスに対応するアドレスが削除されているアドレス生成部とを含むことを特徴とするインターリービング装置。
【請求項７】
前記メモリはＮのサイズを有することを特徴とする請求項６に記載のインターリービング装置。
【請求項８】
前記メモリはＮ'のサイズを有することを特徴とする請求項６に記載のインターリービング装置。
【請求項９】
通信システムのインターリービング装置において、
Ｎ'＝２ｍ×(ｊ＋１)の(行×列)マトリックス構造を有するメモリと、
書き込みアドレス生成部と、
読み出しアドレス生成部とを含み、
前記書き込みアドレス生成部はＮ＝２ｍ×ｊ＋ａ(ここで、０＜ａ＜２ｍ)の入力データを順次に前記メモリの０から(Ｎ−１)までのアドレスに貯蔵するための書き込みアドレスを生成し、
前記メモリのＮから(Ｎ'−１)までのアドレスに該当する(２ｍ−ａ)個の領域には前記入力データが貯蔵されず、
前記読み出しアドレス生成部は、前記０から(Ｎ−１)までのアドレスを部分ビット逆順(ＰＢＲＯ)インターリービングして生成された(行×列)マトリックス構造を有する出力アドレスを順次に決定して前記メモリに貯蔵されたデータを読み出すための読み出しアドレスを生成し、前記生成された読み出しアドレスには前記Ｎから(Ｎ'−１)までのアドレスに対応する出力アドレスが削除されていることを特徴とする前記インターリービング装置。
【請求項１０】
インターリーバを制御するための命令を備えるコンピュータ読み出し媒体において、前記命令は、
与えられたインターリーバのサイズＮが２ｍ×ｊより大きく、２ｍ×(ｊ＋１)より小さい場合、２ｍ×(ｊ＋１)の新たなインターリーバのサイズＮ'と０から(Ｎ'−１)までのアドレスを決定するようにインターリーバを制御する第１命令集合と、
Ｎ個の入力データビットをメモリの０から(Ｎ−１)までのアドレスに順次に貯蔵するように前記インターリーバを制御する第２命令集合と、
前記サイズＮ’のメモリを部分ビット逆順(ＰＢＲＯ)インターリービングするように前記インターリーバを制御する第３命令集合と、
前記メモリからデータを読み出すとき、前記メモリのＮから(Ｎ'−１)までのアドレスに対応するアドレスを削除して読み出すように前記インターリーバを制御する第４命令集合とを含むことを特徴とする前記媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムに係り、特に、無線通信システムのインターリービング装置及び方法に関する。より詳しくは、本発明はインターリービングアドレスを生成してインターリーバのサイズをインターリーバのメモリ効率性を向上させるように決定するのに使用できるインターリービング装置及び方法に関する。
【背景技術】
【０００２】
フェーディングチャンネルでエラー訂正符号の性能を向上させるために使用するインターリービング技術は、ランダムエラー訂正符号の復号化と密接な関係がある。特に、ＩＭＴ−２０００(International Mobile Telecommunication-2000)のエアインターフェース(air interface)のような多様なインターリービング方式に対する具体的な具現方式が要求されている。さらに、このような技術はデジタル通信システムの信頼度向上に関連した分野であり、特に、既存のデジタル通信システムの性能改善分野及び今後の次世代デジタル通信システムの性能改善方式に関する技術分野である。
【０００３】
ＩＭＴ−２０００分野ではチャンネルインターリーバとしてビット逆順インターリーバ(bit reversal interleaver)を使用することを勧告している。しかし、ＩＭＴ−２０００分野で定義された順方向リンク(forward link)と逆方向リンク(reverse link)の場合は多様な種類の論理チャンネルを備え、各種のインターリーバサイズで構成されるので、これを忠実に反映するためには、多量のメモリが要求される。例えば、順方向リンクＮ＝３の伝送モードの場合、最小１４４bits/frameから最大３６,８６４bits/frameまで多様なサイズのインターリーバの使用が可能である。このようなビット逆順インターリーバを簡略に説明すると、次の通りである。
【０００４】
前記ビット逆順インターリーバの置換方式を図１に示した。図１を参照すれば、前記ビット逆順インターリービングは、アドレスの最上位ビットＭＳＢ(Most Significant Bit)から最下位ビットＬＳＢ(Least Significant Bit)までのビット位置を相互交換して再整列させてインターリービングアドレスを生成する方式である。このような方式の長所は次の通りである。まず、列挙関数(enumeration function)を用いてインターリーバを具現できてメモリの使用が簡単であり、多様なサイズのインターリーバの具現も容易である。さらに、前記置換されたシーケンスの位置分布が相当部分でランダムに行われる。しかし、２の累乗形態で表現できないインターリーバサイズの場合、メモリの活用面で非効率的であるという問題点がある。例えば、３６,８６４ビットのインターリーバの場合、最も容易に具現するためには６４ｋbit(６５,５３６＝２１６)のメモリが必要である。これは、３６,８６４より小さい整数のうち、２の累乗形態で表現可能な最も大きい整数は６５,５３６であるからである。したがって、２８,６７２(=６５,５３６−３６,８６４)ビットの未使用メモリが具現されるので、メモリの損失が発生する。さらに、十分なメモリが提供されるとしても、これを伝送する方式の具現が困難であり、受信側でも受信されたシンボルの位置を正確に把握しにくい。さらに、多様な種類のインターリーバが使用されるので、相異なるインターリービング規則をメモリに貯蔵すべきである。これにより、制御器でも多くのメモリ空間を確保しなければならないという問題点がある。
【０００５】
上述したように、従来のインターリービング方式の問題点は次の通りである。第一に、既存のインターリービング方式では、インターリーバのサイズが２の累乗形態で表現されず、サイズが大きくなるほど、メモリ活用面で非効率的であるという問題点がある。すなわち、ＩＭＴ−２０００順方向リンクのためのインターリーバの設計時に、各論理チャンネルのインターリーバサイズが２ｍ形態で表現されず、インターリーバのサイズも非常に大きい。したがって、ビット逆順インターリービング方式を使用することは非効率的である。
【０００６】
第二に、既存のインターリービング方式では、各々のインターリーバサイズによるインターリービング方式を送受信機の制御器(ＣＰＵ又はホスト)が貯蔵すべきなので、インターリーババッファ以外に別途の貯蔵空間がホストメモリに必要である。
【０００７】
第三に、前記ビット逆順インターリービング方式を使用するために、インターリーバサイズを２ｍの形態に設定して送受信を行う場合、不必要な無効アドレス除去による伝送方式が非常に複雑であり、具現時のシンボル同期合わせが困難である。
したがって、過度の複雑度なしにビット逆順インターリービング技術を使用できる効率的な容量のインターリーバを提供するインターリービング装置及び方法が必要である。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
したがって、本発明の目的は、通信システムで多様なインターリーバのサイズに対してインターリービングアドレスを一つのアルゴリズムを通じて生成するインターリービング装置及び方法を提供することにある。
【０００９】
本発明の他の目的は、通信システムでインターリーバメモリ容量がフレームのサイズＮだけ所要されるインターリービング装置及び方法を提供することにある。
【００１０】
本発明のさらに他の目的は、通信システムでＮ＝２ｍ×ｊ＋ａ(ここで、０＜ａ＜２ｍ)の入力データをインターリービングするための装置及び方法を提供することにある。
【課題を解決するための手段】
【００１１】
前記目的を達成するための本発明の第１見地によるインターリービング方法は、与えられたインターリーバのサイズＮが２ｍ×ｊより大きく、２ｍ×(ｊ＋１)より小さい場合、２ｍ×(ｊ＋１)の新たなインターリーバのサイズＮ'と０から(Ｎ'−１)までのアドレスを決定する過程と、Ｎ個の入力データビットを前記新たなインターリーバのサイズＮ'を有するメモリの０から(Ｎ−１)までのアドレスに該当するメモリ領域に順次に貯蔵する過程と、前記新たなインターリーバのサイズ Ｎ'を有する前記メモリを部分ビット逆順(ＰＢＲＯ)インターリービングする過程と、前記メモリからデータを読み出すとき、インターリービング以前のメモリのＮから(Ｎ'−１)までのアドレスに対応するアドレスを削除して読み出す過程とを含むことを特徴とする。
【００１２】
本発明の第２見地によれば、通信システムでＮ＝２ｍ×ｊ＋ａ(ここで、０＜ａ＜２ｍ)の入力データをインターリービングするための方法において、Ｎ'=２ｍ×(ｊ＋１)の(行×列)マトリックス構造を有するメモリのアドレスを順次に決定する過程と、前記入力データを順次に前記メモリの０から(Ｎ−１)までのアドレスに貯蔵し、前記メモリの最終列のうち、Ｎから(Ｎ'−１)までのアドレスに該当する(２ｍ−ａ)個の領域にはデータを貯蔵しない過程と、前記決定されたアドレスを部分ビット逆順(ＰＢＲＯ)インターリービングして(行×列)マトリックス構造を有する出力アドレスを生成する過程と、順次に前記出力アドレスを決定して前記メモリに貯蔵されたデータを読み出すための読み出しアドレスを生成し、前記生成された読み出しアドレスには前記Ｎから(Ｎ'−１)までのアドレスに対応する出力アドレスが削除される過程とを含むことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、２の累乗で表現されない多様なインターリーバサイズに対して効果的なアドレス生成方法を提案する。したがって、既存のインターリーバの非効率的なメモリの使用問題を解決する。さらに、様々なインターリーバサイズに対してアドレスを一つのアルゴリズムを通じて生成し得るので、既存のホスト(ＣＰＵ)に各々のインターリーバサイズに対するインターリービング方式を貯蔵することにより、メモリ空間の浪費を防止する。さらに、本発明ではフレームのサイズＮだけのインターリーバメモリが所要されるので、メモリの活用度を高める。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の好ましい実施例を添付図面に参照して詳細に説明する。下記の説明において、本発明の要旨のみを明瞭するために公知の機能又は構成に対する詳細な説明は省略する。
【００１５】
本発明で使用するインターリーバ/デインターリーバはインターリービング/デインターリービングアルゴリズムを用いて入力されるシンボルの順序を置換する。その後、出力バッファに新たな順序に応じて貯蔵する。したがって、本発明で提案するインターリーバ/デインターリーバはインターリーバメモリ(入力データバッファ/出力データバッファ)、アドレス生成部及び一般的なカウンターで構成される。
【００１６】
図２は本発明の実施例によるインターリーバ２００の構成を示している。図２を参照すれば、アドレス生成部２１１はインターリーバサイズＮ、第１変数“ｍ”(又はBIT_SHIFTパラメータ)、第２変数“j”(又はUP_LIMITパラメータ)及びクロックを入力し、インターリーバメモリ２１２に順次に貯蔵されているビットシンボルを読み出すためのインターリービングアドレスを発生する。前記インターリーバメモリ２１２は書き込みモード時に入力ビットシンボルを順次に貯蔵し、読み出しモード時に前記アドレス生成部２１１から提供されるアドレスによりビットシンボルを出力する。カウンター２１３はクロックを入力してカウント値を生成して前記インターリーバメモリ２１２に書き込みアドレス(Write)として出力する。
【００１７】
上述したように、前記インターリーバ２００は書き込みモード時に入力データをインターリーバメモリ２１２に順次に貯蔵し、読み出しモード時に前記アドレス生成部２１１から発生された読み出しアドレスに応じて前記インターリーバメモリ２１２に貯蔵されているデータを出力する。
【００１８】
ここで、前記アドレス生成部２１１は次の[数式１]のような部分ビット逆順(partial bit reversal order:ＰＢＲＯ)インターリービングアルゴリズムに応じて読み出しアドレス(又はインターリービングアドレス)を生成する。
【００１９】
[数式１]
ｒ＝ｋ mod ｊ
ＰＵＣ＝ｋ/ｊ
ｓ＝ＢＲＯ(ＰＵＣ)
ADDRESS_READ＝ｒ×２ｍ ＋ｓ
【００２０】
[数式１]において、前記“ｋ”はシーケンス番号(０≦ｋ≦Ｎ−１)を示すものであり、出力データビットの順序と称し、前記“ｍ”はＬＳＢからＭＳＢに連続する“０”ビットの個数を示す第１変数と称し、前記“ｊ”は前記連続する０ビットを除いたビットの十進数に該当する第２変数を示す。ここで、前記インターリーバのサイズＮは２ｍ×ｊとして表現される。
【００２１】
[数式１]を参照してインターリーバメモリ２１２に順次に記録された入力シンボルを読み出すためのインターリービングアドレス生成方法を説明すると、次の通りである。まず、インターリーバのサイズをＮと仮定する。[数式１]において、ｋ(＝０，１，２，．．，Ｎ−１)は入力データの時間インデックス(time index)を示し、第３変数“ｒ”、ＰＵＣ及び第４変数“ｓ”は任意の変数を示す。さらに、“mod”と“/”はそれぞれ余りと商を求めるモジュロオペレーション(Modulo operation)とディバイダーオペレーション(Divider operation)を示す。さらに、ＢＲＯ(Ｈ)はＨを二進フォーマット(binary format)に変換した後、ＭＳＢからＬＳＢの順序を逆順にして十進形態に変換するビット逆順関数である。したがって、前記[数式１]のような関数を用いて該当入力データシーケンスのｋに対応する読み出しシーケンスインデックスADDRESS_READを求め、前記読み出しシーケンスインデックスADDRESS_READに該当するメモリの内容を読み出す。前記第１変数“ｍ”と第２変数“ｊ”はインターリーバサイズにより決定される。一旦、インターリーバサイズＮ、第１変数“ｍ”及び第２変数“ｊ”が決定されると、その値に基づいて下記のアルゴリズムに応じて各々のｋに該当する新たなアドレシングインデックスADDRESS_READを生成し、これを用いてインターリーバメモリ２１２からデータを読み出す。
【００２２】
前記フレームサイズ(又はインターリーバサイズ)Ｎから前記第１変数“ｍ”と第２変数“ｊ”を決定する方式を説明すると、任意のインターリーバサイズＮを二進形態で表示する。さらに、ＬＳＢからＭＳＢに連続する“０”ビットの最大数を求め、これを前記第１変数“ｍ”として定義する。また、前記連続する“０”ビットを除いたビット(Truncated bits)を集めて十進数に変換して前記第２変数“ｊ”として定義する。例えば、Ｎ＝５７６の場合、これを二進形態で表示すると、Ｎ＝[10 0100 0000]なので、ｍ＝６、ｊ＝(1001)２＝９となる。
【００２３】
上述したインターリーバ２００に対応するデインターリーバ３００の構成を図３に示した。図３を参照してデインターリーバ３００の構成を調べると、アドレス生成部３１１はデインターリーバサイズＮ、BIT_SHIFT(第１パラメータ“ｍ”)、UP_LIMIT(第２パラメータ“ｊ”)及びクロックを入力して書き込みモードを行うためのインターリーバメモリアドレスを生成してデインターリーバメモリ３１２に出力する。前記デインターリーバメモリ３１２は書き込みモード時に前記アドレス生成部３１１から提供される書き込みアドレス(write ADDR)に応じて入力データを貯蔵し、読み出しモード時に貯蔵データを順次に出力する。カウンター３１３はクロックを入力し、前記クロックカウント値を前記デインターリーバメモリ３１２の読み出しアドレス(Read ADDR)値として出力する。
【００２４】
前記デインターリーバ３００は前記インターリーバ２００と同じ構造を備え、前記インターリーバ２００の逆過程を行う。但し、書き込みモード時に[数式１]のようなアルゴリズムを用いて入力データをデインターリーバメモリ３１２に順次に貯蔵し、読み出しモード時にデータを順次に読み出すということが異なる。すなわち、前記デインターリーバ３００は送信側から伝送されたデータをもとの順序に復元するために書き込みモードでもとの順序を探して貯蔵する。
【００２５】
説明の便宜上、インターリーバ２００を参照して説明する。本発明をＩＭＴ−２０００又はＣＤＭＡ-２０００(Code Division Multiple Access-2000)システムに適用する場合の実際例を調べる。
【００２６】
まず、ＩＭＴ-２０００システムの順方向リンクに使用されるインターリーバのサイズについて表１を参照して説明する。
【００２７】
【表１】
2005514848.tif 000003
【００２８】
表１において、Ｆ-ＦＣＨは順方向基本チャンネルを示し、Ｆ-ＳＣＨは順方向付加チャンネルを示し、Ｆ-ＣＣＣＨは順方向共通制御チャンネルを示し、Ｆ-ＳＹＮＣ ＣＨは順方向同期チャンネルを示し、Ｆ-ＰＣＨは順方向フェーディングチャンネルを示し、Ｆ-ＤＣＣＨは順方向専用制御チャンネルを示す。
【００２９】
表１に示したように、ＩＭＴ-２０００システムは１２個のインターリーバサイズＮを提案しており、これは各順方向論理チャンネルに“Ｏ”と表示されて適用される。例えば、順方向基本チャンネルＦ-ＦＣＨ(Rate Set 2)は１４４ビット(ここで、フレームサイズは５msec)、５７６ビット及び１,１５２ビットのインターリーバサイズを使用する。
表２は表１のインターリーバサイズに対して計算された第１変数“ｍ”と第２変数“ｊ”を示す。
【００３０】
【表２】
2005514848.tif 000004
【００３１】
表２を参照してインターリーバサイズＮ＝９,２１６の場合のBIT_SHIFTとUP_LIMITを計算する方法を説明すると、まず、前記９,２１６を二進形態で表示すると、Ｎ＝[10 0100 0000 0000]となる。ここで、ＬＳＢからＭＳＢに連続する“０”ビットの個数を求め、これを第１変数“ｍ”（又はBIT_SHIFT）として定義する。さらに、連続する“０”ビットを除いたビットを集めて十進数(1001＝９(10))に変換してUP_LIMIT(９)を求める。
表３及び表４はＮ＝５７６のインターリーバに対する読み出しモード(Read-Mode)と書き込みモード(Write-Mode)の一例を示す。
【００３２】
【表３】
2005514848.tif 000005
【００３３】
【表４】
2005514848.tif 000006
【００３４】
書き込みモードでは、表３のようにアドレス０からアドレス５７４まで順次に入力データをインターリーバメモリ２１２に貯蔵する。次に、読み出しモードでは、アドレス生成部２１１から生成されるRead ADDRを用いて該当アドレスのデータをインターリーバメモリ２１２から出力する。
【００３５】
例えば、三番目(ｋ＝２)に出力されるデータについて数１を参照して説明する。まず、Ｎ＝５７６の場合、BIT_SHIFTとUP_LIMTを計算すると、BIT_SHIFTは６であり、UP_LIMITは９となる。したがって、ｒ＝２ mod ９＝２であり、ＰＵＣ＝２/９＝０である。さらに、ｓ＝ＢＲＯ（０）＝０である。したがって、最終的に求められるアドレスADDRESS_READ＝２×２６＋０＝１２８である。しかし、表４は１からＮまでの読み出しアドレスを示すので、前記求められたアドレスに“１”を加算して有効アドレスを決定する。
【００３６】
上述したＰＢＲＯインターリービング動作は、インターリーバサイズＮが第１変数“ｍ”と第２変数“ｊ”で決定される２ｍ×ｊと一致する場合を考慮したものである。仮に、前記インターリーバサイズＮが２ｍ×ｊと一致せず、そのサイズが２ｍ×ｊより大きく、２ｍ×（ｊ＋１）より小さい場合、上述したＰＢＲＯインターリービング動作とは異なる方式で処理する必要がある。すなわち、インターリーバサイズＮが２ｍ×ｊ＋ａで表現される場合、他のインターリービング動作の処理が必要である。ここで、ａは０より大きく、２ｍ(０＜ａ＜２ｍ)より小さい任意の正数を示す。実際にシステムの具現において、上位階層の特徴に応じて特定のインターリーバのサイズが２ｍ×ｊと一致しない場合や、サイズが一致しても第１変数“ｍ”が非常に小さい場合がある。この場合、インターリーバはＰＢＲＯ特性を備えないこともある。仮に、インターリーバのサイズが３８４＝２７×３ならば、ｍ＝７、ｊ＝３として決定され得る。しかし、インターリーバのサイズが４０６＝２７×３＋２２の場合、ｍ＝７、ｊ＝３として決定すれば、２ｍ×ｊ形態の表現は不可能である。仮に、２ｍ×ｊ形態で表現しようとする場合、表現可能な値は２×(２６×３＋１１)＝２×２０３なので、それぞれｍ＝１、ｊ＝２０３として決定できるが、実際にｍ＝１の場合はＰＢＲＯの性能が提供されない問題が発生する。
【００３７】
次の表５は、上述したように、インターリーバのサイズに応じてＰＢＲＯインターリービングが可能な場合と不可能な場合の例を示す。詳しくは、表５はａ＝２２である６個のインターリーバサイズ４０６、７９０、１,５５８、２,３２６、３,０９４、３,８６２に対して決定された変数ｍ、ｊ’を示す。
【００３８】
【表５】
2005514848.tif 000007
【００３９】
表５において、左側列の“Perfect cases”はインターリーバサイズＮが３８４、７６８、１,５３６、２,３０４、３,０７２及び３,８４０の場合のようにＮ＝Ｎmaxなので、前記ＰＢＲＯインターリービング方式によりインターリービングが可能な場合を示す。しかし、右側列の“Imperfect cases”はＰＢＲＯ特性が消失される場合を示し、“Discard”はインターリービングのための出力アドレスのうち、削除されるアドレスの個数を示す。したがって、本発明は表５に示したいずれの場合のインターリーバのサイズに対しても、部分ビット逆順インターリービングを可能にする方案を提供する。
【００４０】
図４は、本発明の実施例による部分ビット逆順(ＰＢＲＯ)インターリービング動作の処理流れを示した図である。すなわち、図４は表５に示した“Imperfect cases”のインターリーバサイズに対して部分ビット逆順インターリービングを行うための過程を示している。このような過程は、カウンター２１３によるカウント値である書き込みアドレスに応じてインターリーバメモリ２１２に入力データを貯蔵し、アドレス生成部２１１により生成された読み出しアドレスに応じて前記メモリ２１２に貯蔵されたデータを読み出すことにより実行される。前記カウンター２１３により書き込みアドレスを生成する方法は、当該技術分野の通常の知識を持つ者にはよく知られたので、その詳細は省略する。ここでは、前記アドレス生成部２１１により読み出しアドレスを生成する動作を具体的に説明する。
【００４１】
図４を参照すれば、まず、アドレス生成部２１１はステップ４０１で使用しようとするインターリーバサイズＮを決定する。前記インターリーバサイズＮはインターリービングするデータのサイズに対応する。その後、前記アドレス生成部２１１はステップ４０３で前記インターリーバサイズＮより小さいＮmaxのうち、２ｍ×ｊを満たす最大のＮmaxを求め、ステップ４０５で前記Ｎmax＝２ｍ×ｊを満たすｍとｊをそれぞれ前記perfect casesに適用可能なＰＢＲＯインターリービング方式を用いて計算する。
【００４２】
さらに、前記アドレス生成部２１１はステップ４０７で前記変数ｊに１を加算して変数ｊ’を決定し、ステップ４０９で変数ｋを初期化させる。ここで、ｋは上述したように読み出しシーケンスを示す。その後、前記アドレス生成部２１１は、ステップ４１１で前記ｍとｊ’=ｊ＋１からＮ'= ２m×ｊ'=２m×(ｊ＋１)で表現される新たなインターリーバサイズＮ'を定義する。ここで、新たなインターリーバサイズＮ'はＮ'＞Ｎ＞Ｎmaxの関係を有する。その後、前記アドレス生成部はｍとｊに応じて上述した部分ビット逆順インターリービング方式で出力アドレスＰＢＲＯ(ｋ)を求める。
【００４３】
一方、本発明の実施例によれば、書き込みモード時に入力される一連の情報シンボル(入力データ)はインターリーバメモリの０からＮ−１までのアドレスに順次に貯蔵される。したがって、実際に必要とするインターリーバメモリのサイズはＮとなる。すなわち、前記インターリーバメモリの残りＮからＮ'−１までのアドレス領域はインターリーバの設計時に存在するように具現することもできるが、実際では使用しないメモリの領域である。このような書き込みモード動作は、図２に示したカウンター２１３により書き込みアドレスを発生することにより行われる。すなわち、前記カウンター２１３は書き込みアドレス生成部としての機能を行う。
【００４４】
本発明の実施例によれば、前記アドレス生成部は読み出しモード時に前記新たなインターリーバサイズＮ’を用いて前記数１のような部分ビット逆順インターリービングを実行して出力シーケンスｋに対する読み出しアドレスＰＢＲＯ(ｋ)を生成し、前記生成される読み出しアドレスに応じて前記インターリーバメモリに順次に貯蔵された情報シンボルを読み出す。
【００４５】
このような読み出しモード過程の実行中に、前記アドレス生成部はステップ４１３で前記生成された読み出しアドレスＰＲＢＯ(ｋ)がＮ−１より大きいかを検査する。仮に、前記生成された読み出しアドレスＰＢＲＯ(ｋ)が前記Ｎ−１より大きければ、前記アドレス生成部はステップ４２３に進行して前記生成された読み出しアドレスを廃棄する。一方、前記生成された読み出しアドレスが前記Ｎ−１より小さいか、同じであれば、前記アドレス生成部はステップ４１５に進行して前記生成された読み出しアドレスに貯蔵されたデータを読み出す。
【００４６】
その後、前記アドレス生成部はステップ４１７で前記出力シーケンスに該当する変数ｋを１だけ増加させ、ステップ４１９で前記変数ｋが“２ｍ×ｊ'−１(又はＮ'−１)”より大きいかを検査する。仮に、前記変数ｋが前記２ｍ×ｊ'−１より小さいか、同じであれば、続けて読み出しアドレスを生成するために前記アドレス生成部はステップ４１１に復帰する。一方、前記変数ｋが前記２ ｍ×ｊ'−１より大きければ、前記アドレス生成部はステップ４２１に進行して読み出しアドレス生成動作を終了する。上述した動作を要約すると、前記生成される読み出しアドレスのうち、前記インターリーバサイズＮより大きいか、同じアドレスは廃棄される。したがって、最終インターリービングのための読み出しアドレスには入力されるビットシンボルだけのＮ個のアドレスが使用される。
【００４７】
さらに、表５には、６個のインターリーバサイズ４６０、７９０、１,５５８、２,３２６、３,０９４、３,８６２の各々に対して決定された変数ｍとｊ’が示されている。表５に示したように、ｊ'はＮmaxから求められたｊに比べて＋１だけ大きい値を有する。
【００４８】
図５は、表５に示したｍ、j’を用いて“imperfect cases”に該当する部分ビット逆順(ＰＢＲＯ)インターリービング動作の例を示す。図５を参照すれば、最終列には２２個のビットシンボルが追加されており、前記最終列の構成要素のうち、前記２２個を除いた２ｍ−２２個のアドレスは使用されない。したがって、ＰＢＲＯインターリービングを実行した後、その部分に該当するビットシンボルは出力されず、削除される。すなわち、インターリーバサイズＮ＝２ｍ×ｊ＋ａ(ここで、０＜ａ＜２ｍ)の入力データをインターリービングすると仮定すれば、前記入力データは順次に前記メモリの０から(Ｎ−１)までのアドレスに貯蔵され、この際、前記メモリの最終列のうち、Ｎから(Ｎ'−１)までのアドレスに該当する(２ｍ−ａ)個の領域にはデータが貯蔵されない。
【００４９】
図６は、本発明の実施例に応じてインターリーバサイズＮ＝４０６の場合に対するＰＢＲＯインターリービング動作の実行例を示す。インターリーバサイズＮ＝４０６の場合、Ｎmaxは表５に示したように３８４＝２７×３なので、ｍ＝７、ｊ＝３として決定される。したがって、ｊ'＝ｊ＋１＝４である。本発明のインターリーバ２００は、図６に示したように、書き込みモードで入力される０番目のビットシンボルから４０番目のビットシンボルまで順次にインターリーバメモリに貯蔵する。残りビットシンボルは存在しないので、図面ではＸで表示した。前記インターリーバは入力されるビットシンボルを(２7×(３＋１))の(行×列)マトリックス形状を有するインターリーバメモリに順次列方向に４０６個のビットシンボルを貯蔵する。この際、最終の(ｊ＋１)番目の列には２２個のみのビットシンボルが貯蔵され、残り１０６個のアドレスにはビットシンボルが貯蔵されない。
【００５０】
次に、本発明のインターリーバ２００は読み出しモードで前記数１によるＰＢＲＯインターリービングを行う。この際、出力アドレスがインターリーバサイズ４０６より大きいか、同じ場合はこれを出力しない。従って、本発明の実施例によれば、Ｎ＝４０６個のアドレスのみが出力され、これに該当するメモリも正確にＮ＝４０６のみが要求される。
【００５１】
上述した本発明の実施例による原理はＮ＝２ｍ×ｊ＋ａ(ここで、０＜ａ＜２ｍ)の入力データをインターリービングする場合にも同じく適用されうる。このようなインターリービング動作を次のように定理する。第一の過程では、Ｎ'＝２ｍ×(ｊ＋１)のマトリックス構造を有するメモリの順次列方向にアドレスが決定される。第二の過程では、前記入力データが順次列方向に前記メモリの０から(Ｎ−１)までのアドレスに貯蔵される。この際、前記メモリの最終列のうち、Ｎから(Ｎ'−１)までのアドレスに該当する(２ｍ−ａ)個の領域にはデータが貯蔵されない。第三の過程では、前記決定されたアドレスが部分ビット逆順(ＰＢＲＯ)インターリービングされて(行×列)マトリックス構造を有する出力アドレスが生成される。第四の過程では順次列方向に前記出力アドレスを決定して前記メモリに貯蔵されたデータを読み出すためのアドレスが生成される。この際、生成された読み出しアドレスには前記Ｎから(Ｎ'−１)までのアドレスに対応する出力アドレスが削除されている。
【００５２】
表５及び表６は、本発明の他の実施例による“Imperfect cases”に該当する部分ビット逆順インターリービングの実行に必要なパラメータｍ，ｊ'を示す。上述したように、図５はａ＝２２である６個のインターリーバサイズ４０６、７９０、１,５５８、２,３２６、３,０９４及び３,８６２に対して決定された変数ｍ，ｊ'を示す。
表６は、ａ＝２４である６個のインターリーバサイズ４０８、７９２、１,５６０、２,３２８、３,０９６及び３,８６４に対して決定された変数ｍとｊ'を示す。
【００５３】
【表６】
2005514848.tif 000008
【００５４】
表６は、ａ＝２４である６個のインターリーバサイズ４０８、７９２、１,５６０、２,３２８、３,０９６及び３,８６４に対して決定された変数ｍとｊ'を示す。しかし、図４の過程を考慮すれば、表６は次の表７のように変更される。
【００５５】
【表７】
2005514848.tif 000009
【００５６】
デインターリーバのサイズが上述した“Imperfect cases”に該当する場合、デインターリービングは前記ＰＢＲＯインターリービングとデインターリービングで言及されたようにインターリービングの逆過程で実行される。すなわち、インターリービング過程で使用される読み出しアドレスを生成する図４の方式を用いてデインターリービング過程における書き込みアドレスを生成する。したがって、実際のインターリーバのサイズより大きな新たなインターリーバサイズを用いて書き込みアドレスを生成するが、生成された書き込みアドレスのうち、不必要なアドレスが除去されるので、実際のインターリーバのサイズに該当するデータがメモリに記録される。
【００５７】
上述したように、本発明の詳細な説明では具体的な実施例について説明したが、本発明の範囲を逸脱しない限り、各種の変形が可能なのは明らかである。例えば、本発明の実施例では、前記ａが２２、２４である場合のみを説明したが、ａが２ｍ より小さいいずれの場合にも本発明が適用可能なのは明らかである。従って、本発明の範囲は前記実施例に限るものでなく、特許請求の範囲とその範囲と均等なものにより定められるべきである。
【図面の簡単な説明】
【００５８】
【図１】従来の技術によるビット逆順インターリーバの置換方式を説明するための図である。
【図２】本発明の実施例によるインターリーバの構成図である。
【図３】本発明の実施例によるデインターリーバの構成図である。
【図４】本発明の実施例によるImperfect casesに該当するインターリーバサイズを用いて部分ビット逆順インターリービングを行うための過程を示した図である。
【図５】本発明の実施例による部分ビット逆順インターリービングを説明するための図である。
【図６】本発明の一実施例に応じてインターリーバサイズＮ＝４０６の場合、実行される部分ビット逆順インターリービングの実行動作を示した図である。
【符号の説明】
【００５９】
４０１，４０３，４０５，４０７，４０９，４１１，４１３，４１５，４１７，４１９，４２１，４２３  ステップ
【図１】
2005514848.tif 000010
【図２】
2005514848.tif 000011
【図３】
2005514848.tif 000012
【図４】
2005514848.tif 000013
【図５】
2005514848.tif 000014
【図６】
2005514848.tif 000015
【国際調査報告】
2005514848.tif 000016