(57)【特許請求の範囲】
【請求項１】
インターリーバメモリ内におけるＢ個の行と２ｋ（ｋは正の整数）ではないＦ個の列に貯蔵されたデータを読み出すためのアドレスを生成するアドレス生成装置において、
Ｂ個のクロックパルスに応答し、行カウンターがＢ−１回カウントする時、キャリー信号を出力し、一番目の行アドレスが出力される時、０の値を出力し、オフセット値Ｆと行カウンターの以前の出力値を加算した値を出力し、前記Ｂ個のクロックパルスの完了時、キャリー信号を発生する行カウンターと、
前記キャリー信号に応答して１ずつ増加するカウント値を増加させるための列カウンターと、
予め設定された列置換規則に応じて前記列カウンターからの出力を置換するためのマッピング器と、
前記行カウンターの出力を読み出しアドレスの最上位ビット(ＭＳＢ)として使用し、前記マッピング器の出力を読み出しアドレスの最下位ビット(ＬＳＢ)として使用することにより、読み出しアドレスを発生する加算器と、を含むことを特徴とするアドレス生成装置。
【請求項２】
インターリーバメモリ内におけるＢ個の行と２ｋ（ｋは正の整数）ではないＦ個の列に貯蔵されたデータをインターリービングするためのアドレスを生成するアドレス生成装置において、
Ｂ個のクロックパルスそれぞれに応答してＢ個の行アドレスを生成し、前記Ｂ個の行アドレスは０の値と、前記列の数Ｆを１から(Ｂ−１)回順次的に出力することにより決定される値を含み、前記Ｂ個の行アドレスが生成される時、キャリー信号を発生する行アドレス生成器と、
前記キャリー信号に応答して１ずつ増加するカウント値を出力し、前記カウント値を予め設定された置換規則に応じて置換して列アドレスを生成する列アドレス生成器と、
前記行アドレスと前記列アドレスをそれぞれ加算し、前記アドレスを発生する加算器と、を含み、
前記列アドレス生成器は、
前記キャリー信号に応答して１ずつ増加するカウント値を出力する列カウンターと、
前記列カウンターから出力されるカウント値を前記置換規則に応じて置換し、前記列アドレスを出力するマッピング器と、を含むことを特徴とするアドレス生成装置。
【請求項３】
前記行アドレス生成器は、
前記Ｂ個のクロックパルス中の一番目のパルスに応答して前記０の値を出力し、残りの(Ｂ−１)個のクロックパルスそれぞれに応答して入力値を受信し、前記加算値を前記行アドレスとして出力する行カウンターと、
前記行カウンターの出力と前記列の数Ｆをオフセット値として受信し、前記行カウンターの出力と前記オフセット値を加算して、前記加算値を残りの(Ｂ−１)個のクロックパルスそれぞれの行カウンターに印加する加算器と、を含むことを特徴とする請求項２に記載のアドレス生成装置。
【請求項４】
データを行と列に貯蔵しているインターリーバメモリを含む１次インターリーバ、または２次インターリーバに使用するためのアドレスを生成するためのアドレス生成装置において、
前記１次インターリーバに対応する第１オフセット値と前記２次インターリーバに対応する第２オフセット値をインターリーバ選択信号に応じて選択的に出力する第１選択器と、
Ｂ個のクロックパルスそれぞれに応答してＢ個の行アドレスを生成し、前記Ｂ個の行アドレスは０の値と、前記選択された第１オフセット値、または第２オフセット値と前記行アドレスの以前の出力を１から(Ｂ−１)回順次、加算することにより決定される値を含み、前記Ｂ個の行アドレスが生成される時、キャリー信号を発生する行アドレス生成器と、
前記キャリー信号に応答して１ずつ増加するカウント値を出力し、前記カウント値を予め設定された置換パターンに応じて置換して列アドレスとして生成する列アドレス生成器と、
前記行アドレスを列の数Ｆに対応して決定されるビット数だけシフトさせ出力するシフターと、
前記シフターの出力と前記行アドレスを前記インターリーバ選択信号に応じて選択的に出力する第２選択器と、
前記第２選択器の出力アドレスと前記列アドレスをそれぞれ加算し、前記アドレスを発生する加算器と、を含むことを特徴とするアドレス生成装置。
【請求項５】
前記行アドレス生成器は、
前記Ｂ個のクロックパルス中の一番目のパルスに応答して前記０の値を出力し、残りの(Ｂ−１)個のクロックパルスそれぞれに応答して前記オフセット値中の一つと前記行カウンターの以前の出力値を加算することにより決定される値を受信して、行アドレスとして出力する行カウンターと、
前記行カウンターの以前の出力値と、前記第１オフセット値及び前記第２オフセット値中のいずれか一つの選択されたオフセット値を受信し、前記行カウンターの出力と前記選択されたオフセット値を加算し、前記加算値を残りの(Ｂ−１)クロックパルスそれぞれの行カウンターに印加する加算器と、を含むことを特徴とする請求項４に記載のアドレス生成装置。
【請求項６】
前記列アドレス生成器は、
前記キャリー信号に応答して１ずつ増加するカウント値を出力する列カウンターと、
前記列カウンターから出力されるカウント値を前記置換規則に応じて置換し、前記列アドレスを出力するマッピング器と、を含むことを特徴とする請求項４に記載のアドレス生成装置。
【請求項７】
前記第１オフセット値は１であることを特徴とする請求項４に記載のアドレス生成装置。
【請求項８】
前記第２オフセット値は列の数であることを特徴とする請求項４に記載のアドレス生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は無線通信システムの多段階チャネルインターリーバ／デインターリーバに関するもので、特に多段階チャネルインターリーバ／デインターリーバに使用するためのアドレス生成装置に関する。
【０００２】
【従来の技術】
一般的にチャネルフェーディング（Ｃｈａｎｎｅｌ Ｆａｄｉｎｇ）効果が存在する無線通信システムでは有線、または無線で伝送されるデジタルソースデータの安定的送受信のため、前記フェーディング効果（Ｆａｄｉｎｇ Ｅｆｆｅｃｔ）を緩和するためのチャネルインターリービング及びデインターリービング処理を行っている。例えば、ＩＭＴ（Ｉｎｔｅｒｎａｔｉｏｎａｌ Ｍｏｂｉｌｅ Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ）２０００無線通信システム、即ちＵＭＴＳ（Ｕｎｉｖｅｒｓａｌ Ｍｏｂｉｌｅ Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ Ｓｙｓｔｅｍ）方式やＣＤＭＡ（Ｃｏｄｅ Ｄｉｖｉｓｉｏｎ Ｍｕｌｔｉｐｌｅ Ａｃｃｅｓｓ）２０００方式の無線通信システムでは、チャネルのフェーディング効果を緩和するためにチャネルインターリーバ（Ｉｎｔｅｒｌｅａｖｅｒ）及びデインターリーバ（ｄｅｉｎｔｅｒｌｅａｖｅｒ）を備えている。
【０００３】
現在３ＧＰＰ（３ｒｄ Ｇｅｎｅｒａｔｉｏｎ Ｐａｒｔｎｅｒｓｈｉｐ Ｐｒｏｊｅｃｔ）の基本無線フレーム構造（ｒａｄｉｏ ｆｒａｍｅ ｓｔｒｕｃｔｕｒｅ）は１０ｍｓ長さのラジオフレームに構成されており、これはさらに１６個のタイムスロット（ｔｉｍｅ ｓｌｏｔ）で構成されている。従って、システムそれぞれの部分に対する標準化傾向も上述したフレーム構造に基づいている。現在２次チャネルインターリーバ（ｃｈａｎｎｅｌ ｉｎｔｅｒｌｅａｖｅｒ）の研究仮説（ｗｏｒｋｉｎｇ ａｓｓｕｍｐｔｉｏｎ）に決定された固定大きさ多段階インターリーバ（ＦＳ−ＭＩＬ：Ｆｉｘｅｄ Ｓｉｚｅ Ｍｕｌｔｉ−ｓｔａｔｅ Ｉｎｔｅｒｌｅａｖｅｒ：以下、“ＭＩＬインターリーバ”）は、２次元（２−Ｄｉｍｅｎｓｉｏｎａｌ）チャネルインターリーバ（ｃｈａｎｎｅｌ ｉｎｔｅｒｌｅａｖｅｒ）として、この時、列（ｃｏｌｕｍｎ）の数は３２に固定されている。前記ＭＩＬインターリーバは１６タイムスロット（ｔｉｍｅ ｓｌｏｔ）で構成されたフレーム構造を支援する形態に設計されたもので、タイムスロットごとに２個の列に該当するデータが伝送されるようにする。このような１次インターリーバと２次インターリーバはすべて列の数が２の累乗の形態を支援するハードウェア（ｈａｒｄｗａｒｅ）構造を有するので、一つのハードウェアモジュール（ｈａｒｄｗａｒｅ ｍｏｄｕｌｅ）を使用して１次チャネルインターリーバと、２次チャネルインターリーバを同時に支援するように具現することができる。従って、ハードウェアの複雑性（ｈａｒｄｗａｒｅ ｃｏｍｐｌｅｘｉｔｙ）は非常に低減される。
【０００４】
一方、ＩＭＴ２０００システムの北米方式であるＣＤＭＡ２０００とヨーロッパ方式であるＵＭＴＳの調和化（ｈａｒｍｏｎｉｚａｔｉｏｎ）が進行中である。しかし、前記ＣＤＭＡ２０００システムはフレーム当たり１６タイムスロットのフレーム構造（ｒａｄｉｏ ｆｒａｍｅ ｓｔｒｕｃｔｕｒｅ）を使用し、前記ＵＭＴＳはフレーム当たり１５タイムスロットのフレーム構造を使用するとの根本的な差がある。そのため、フレーム当たり１６タイムスロットを基準に設計された既存のＣＤＭＡ２０００システム用チャネルインターリーバをＵＭＴＳ用チャネルインターリーバにそのまま使用することは難しく、前記ＵＭＴＳ用チャネルインターリーバを具現するためには、フレーム当たり１５タイムスロットを基準に設計されるべきであることを考慮すべきである。
【０００５】
図１は一般的な２次元チャネルインターリーバで遂行される基本的なＭＩＬチャネルインターリービング技法を示している。１０ｍｓの入力シーケンスは図１のような方式にインターリービングされる。図１で入力シーケンスの長さがＬ≦Ｆ×Ｂである時、入力シーケンスはＦ×Ｂの大きさの２次元メモリ（２−Ｄｉｍｅｎｓｉｏｎ Ｍｅｍｏｒｙ）に貯蔵される。ここでＦはインターリーバの列の数であり、Ｂはインターリーバの行の数である。また前記ＢはＦが固定されている時、Ｌ≦Ｆ×Ｂを満足する最小整数である。この時、データは任意の時間にインターリーバの一つの行に順次的に貯蔵される。言い換えれば、データは２番目の行に貯蔵される前に一番目の行に貯蔵され、前記一番目の行を満たす形態に貯蔵される。順次、貯蔵された入力シーケンスは一例に下記＜表１＞のような列間置換パターン（Ｉｎｔｅｒ−ｃｏｌｕｍｎ ｐｅｒｍｕｔａｔｉｏｎ ｐａｔｔｅｒｎ）の手順により該当列の各行に該当するデータとして順次、出力される。下記＜表１＞は列の数Ｆが３２である時の置換パターン（Ｐｅｒｍｕｔａｔｉｏｎ ｐａｔｔｅｒｎ）である。
【表１】
0003553546.tif 000002
図２は従来技術によるＭＩＬチャネルインターリーバのためのアドレス生成装置の構成を示す図である。このようなアドレス生成装置は列の数が２の累乗である３２の場合に該当する装置である。下記では前記アドレス生成装置がチャネルインターリーバのために使用されるものとして説明されるが、当該分野の通常の知識を有する者であれば、チャネルデインターリーバのためにも同様に使用できるのは公知の事実である。
【０００６】
前記図２を参照すると、アドレス生成装置は２次元チャネルインターリーバに使用するためのアドレスを発生させるための構成要素である行カウンター２１０、列カウンター２３０、マッピング器２４０、５ビットシフター２２０、加算器２５０に構成される。前記行カウンター２１０と前記列カウンター２３０はそれぞれインターリービングのためのメモリ（図示せず）の行と列をカウントするためのものである。このようなメモリには上述したように入力データが行と列の順に順次、貯蔵される。前記マッピング器２４０は前記列カウンター２３０によりカウントされた列を置換された列としてマッピングするためのものである。例えば、前記マッピング器２４０は前記＜表１＞に示されたような列間置換パターンによって前記列カウンター２３０によりカウントされた列を置換された列として出力する。ビットシフター２２０は前記行カウンター２１０によりカウントされた値をビットシフトさせて出力する。加算器２５０は新たなアドレスを構成する。前記加算器２５０は前記ビットシフター２２０の出力を前記新たなアドレスの最上位ビット（ＭＳＢ：Ｍｏｓｔ Ｓｉｇｎｉｆｉｃａｎｔ Ｂｉｔｓ）として使用し、前記マッピング器２４０の出力を前記新たなアドレスの最下位ビット（ＬＳＢ：Ｌｅａｓｔ Ｓｉｇｎｉｆｉｃａｎｔ Ｂｉｔｓ）として使用することにより、前記新たなアドレスを構成する。このようなアドレスは行と列の順に順次、前記メモリに貯蔵されたデータを２次元インターリービングされたデータとして出力するためのアドレスである。
【０００７】
一方、従来技術によるＭＩＬチャネルインターリーバのためのアドレス生成装置は、ビットシフター２２０を含む。このようなビットシフター２２０は列の数が２の累乗である３２の場合、５ビットシフターに具現されるものである。
【０００８】
上述したように、列の数が２の累乗形態である３２の場合、行カウンター２１０からのアドレスを得るために、５ビットのビットシフター２２０によりビットシフト動作（ｂｉｔ ｓｈｉｆｔ ｏｐｅｒａｔｉｏｎ）が遂行された。この時、前記ビットシフター２２０のハードウェア複雑度（Ｈ／Ｗ ｃｏｍｐｌｅｘｉｔｙ）は非常に低い。
【０００９】
しかし、上述したようにフレーム当たりのタイムスロット（ｔｉｍｅ ｓｌｏｔ）の数が１６から１５に変わるようになると、列の数も変わるようになり、新たな列の数は２の累乗ではない確率が高くなる。例えば、タイムスロット当たりの列の数が２であり、総列の数が３０であると仮定する時、各列の数に該当する３０個の乗算器が必要であり、乗算器のハードウェアの大きさは２次ＭＩＬインターリーバのインターリービングのためのハードウェアの大きさを２倍以上増加させるようになる。このようにＭＩＬインターリーバの列の数が２の累乗ではない場合、列の数が１、２、４、８である１次ＭＩＬインターリーバのようにビットシフト動作を使用できないので、列の数に該当するだけの乗算器が必要になり、このような場合、インターリーバ全体のハードウェア複雑度が約２倍に増加するようになる。
【００１０】
【発明が解決しようとする課題】
従って、本発明の目的は、ハードウェアの複雑度を低減するＭＩＬインターリーバを具現するアドレス生成装置を提供することにある。
【００１１】
本発明の他の目的は、ＭＩＬインターリーバの列の数が２の累乗ではない場合にも、インターリーバのハードウェア的な複雑度の増加なしにインターリービング動作を遂行するためのアドレス生成装置を提供することにある。
【００１２】
本発明のさらに他の目的は、単一モジュールを使用して１次及び２次ＭＩＬチャネルインターリーバのためのアドレスを生成する装置を提供することにある。
【００１３】
【課題を解決するための手段】
このような目的を達成するための本発明は、Ｂ個の行とＦ個の列を有するインターリーバメモリからデータを読み出すアドレス生成装置を提案する。ここで前記メモリからのデータは下記のような予め設定された列置換規則に応じて任意の時間に一つの列がインターリービングされる。前記インターリーバメモリで行の数Ｆは２の累乗ではない。即ち、前記行の数Ｆは正の整数ｋに対して２ｋではない数（Ｆ≠２ｋ）である。行カウンターはＢ個のクロックパルスに応答し、連続的な各クロックパルスに対して０から（Ｂ−１）×ＦまでＦ単位に増加するオフセット値を出力し、前記Ｂ個のクロックパルスの完了時、キャリー信号を発生する。列カウンターは前記キャリー信号に応答して１ずつ増加するカウント値を出力する。マッピング器は前記列カウンターから出力される信号列を置換して出力する。加算器は前記マッピング器から出力される前記置換された信号列と、前記行カウンターから出力される信号を加算し、アドレスを発生する。
【００１４】
【発明の実施の形態】
以下、本発明の望ましい実施形態を添付図を参照しつつ詳細に説明する。下記の発明において、本発明の要旨のみを明瞭にする目的で、関連した公知の機能又は構成に関する具体的な説明は省略する。
【００１５】
図３は本発明による２次ＭＩＬチャネルインターリーバのためのアドレス生成装置の構成を示している。この図３は任意の列の数（Ｆ）に該当すると仮定した場合である。
【００１６】
前記図３を参照すると、本発明の実施形態によるアドレス生成装置は、加算器３２０と行カウンター３３０で構成される行アドレス生成器３１０と、列カウンター３５０とマッピング器（ｍａｐｐｉｎｇ）３６０で構成される列アドレス生成器３４０、及び前記アドレス生成器３１０、３４０からそれぞれ生成される行アドレスと列アドレスを加算して実際のインターリービングアドレスを発生させる加算器３７０で構成される。前記加算器３７０は前記行カウンター３３０の出力を前記インターリービングアドレスの最上位ビット（ＭＳＢ：Ｍｏｓｔ Ｓｉｇｎｉｆｉｃａｎｔ Ｂｉｔｓ）として使用し、前記マッピング器３６０の出力を前記インターリービングアドレスの最下位ビット（ＬＳＢ：Ｌｅａｓｔ Ｓｉｇｎｉｆｉｃａｎｔ Ｂｉｔｓ）として使用することにより、前記インターリービングアドレスを構成する。
【００１７】
前記図３に示されたように、前記アドレス生成装置は２次ＭＩＬインターリーバの行アドレスを生成する過程で、乗算をせずに、加算器３２０を使用してオフセット（Ｏｆｆｓｅｔ）を有する行アドレスを発生させることにより、低いハードウェア複雑度（ｃｏｍｐｌｅｘｉｔｙ）を有しながら、同一のインターリービング機能が具現されるようにしたものである。
【００１８】
先ず、図３を参照して２次ＭＩＬチャネルインターリーバの動作を説明すると、次のようになる。
【００１９】
前記図３に示されたように、行アドレス生成器３１０は行カウンター３３０と加算器３２０で構成される。前記行カウンター３３０は基本的に０からＢ−１までをカウントする。ここでＢは行の数である。前記行カウンター３３０での初期のカウント値が０である時、前記行カウンター３３０は０のカウント値を出力する。前記行カウンター３３０が出力するとすぐに、行カウンター３３０のカウントはクロックパルスに応答して一つ増加する。この時、前記行カウンター３３０からの出力は加算器３７０及び加算器３２０に印加される。前記加算器３２０は前記行カウンター３３０の出力とオフセット値“Ｃ”を加算し、加算された値を前記行カウンター３３０に印加する。本発明の望ましい実施形態では前記オフセット値Ｃ＝３０である。前記行カウンター３３０は前記加算器３２０の出力を受信し、受信した値を自分の出力として出力する。即ち、前記加算器３２０の出力は行カウンター３３０を通過するようになる。行カウンター３３０が新たな値を出力するとすぐに、前記行カウンター３３０のカウント値は１増加する。上述したような過程は、行カウンター３３０でのカウント値がＢ−１になるまで反復される。そのため、行カウンター３３０の出力はクロックサイクルごとに“Ｃ”増加する。行カウンター３３０のカウント値がＢ−１に到達した場合、前記行カウンター３３０はＣ×（Ｂ−１）値と同一の値を出力する。これは、加算器３２０はＣ×（Ｂ−２）とＣを加算し、Ｃ×（Ｂ−１）の値を前記行カウンター３３０に印加するためである。前記行カウンター３３０がＣ×（Ｂ−１）の値を出力するとすぐ、行カウンター３３０のカウント値は１増加せずに、０にリセットされる。この時、前記行カウンター３３０は列カウンター３５０にキャリー信号を出力する。前記行カウンター３３０でのカウント値が０にリセットされた後に、前記行カウンター３３０は０の値を出力し、上述したような動作を反復する。
【００２０】
列カウンター３５０は前記リセット（またはキャリー）信号が発生するごとに、０から２９まで１ずつカウント値を増加させる。例えば、前記列カウンター３５０は最初は０を出力し、前記行カウンター３３０からキャリー信号が最初に発生する場合には１を発生し、次のキャリー信号が発生する場合には２を発生する。
【００２１】
マッピング器３６０は列置換（ｃｏｌｕｍｎ ｐｅｒｍｕｔａｔｉｏｎ）のために、（０，１，２，３，４，５，６，７，８，９，１０，１１，１２，１３，１４，１５，１６，１７，１８，１９，２０，２１，２２，２３，２４，２５，２６，２７，２８，２９）に該当する列カウンター３５０の出力を（０，１５，１，１６，２，１７，３，１８，４，１９，５，２０，６，２１，７，２２，８，２３，９，２４，１０，２５，１１，２６，１２，２７，１３，２８，１４，２９）の値にマッピング（Ｍａｐｐｉｎｇ）して出力する。インターリーバの列の数が３２である場合、列置換は下記＜表２＞に基づいて遂行される。しかし、インターリーバの列の数が３０である場合、列置換方式はインターリーバの列が２ｋである場合と異なることができる。そのため、マッピング（Ｍａｐｐｉｎｇ）器３６０のマッピング（ｍａｐｐｉｎｇ）手順は置換方式により変更できる。前記インターリービングアドレスは前記行カウンター３３０の出力を前記インターリービングアドレスのＭＳＢとして使用し、前記マッピング器３６０の出力を前記インターリービングアドレスのＬＳＢとして使用することにより発生される。
【表２】
0003553546.tif 000003
前記アドレス生成装置の動作を説明すると、下記のようになる。ここでは説明を簡単にするため、列カウンター３５０によるカウント出力値がマッピング器３６０に列置換処理なしで出力されるものと仮定する。
【００２２】
一例として、行の数Ｂ＝５であり、列の数Ｆ＝３０と仮定すると、行アドレス生成器３１０は各クロックパルスに応答して０から４（Ｂ−１＝５−１）まで３０のオフセットを有する値である０、３０、６０、９０、１２０を順次、出力する。この時、列アドレス生成器３４０の列カウンター３５０はカウント値として“０”を出力するので、加算器３７０はインターリービングのためのアドレスとして０、３０、６０、９０、１２０を順次、出力する。１２０まで出力された場合、前記行アドレス生成器３１０の行カウンター３３０はキャリー信号を発生する。そして、行アドレス生成器３１０は行カウンター３３０がＢの値をカウントする時、行カウンター３３０を０にリセットさせるためのリセット信号を生成する。前記キャリー信号に応答して、列アドレス生成器３５０はカウント値を１増加させ１を出力し、行アドレス生成器３１０はさらに各クロックパルスに応答して０から４（Ｂ−１）まで３０のオフセットを有する値である０、３０、６０、９０、１２０を順次、出力する。これによって加算器３７０は前記行アドレス生成器３１０の出力値と列アドレス生成器３４０の出力値を加算してインターリービングのためのアドレスとして１６（０＋１６）、４６（３０＋１６）、７６（６０＋１６）、１０６（９０＋１６）、１３６（１２０＋１６）を順次、出力する。その後もこのような動作が反復され、加算器３７０はインターリービングのためのアドレスとして８（０＋８）、３８（３０＋８）、６８（６０＋８）、９８（９０＋８）、１２８（１２０＋８）を順次、出力する。このような動作は、最終的に加算器３７０がインターリービングのためのアドレスとして３１（０＋３１）、６１（３０＋３１）、９１（６０＋３１）、１２１（９０＋３１）、１５１（１２０＋３１）を順次、出力するまで遂行される。
【００２３】
図４は本発明の他の実施形態によるＭＩＬチャネルインターリーバのためのアドレス生成装置の構成を示している。この図４は２次インターリーバの構造を１次インターリーバとの単一モジュールとすることを具現するためのものである。
【００２４】
図４を参照すると、前記ＭＩＬチャネルインターリーバが１次インターリーバに動作する場合、マルチプレクサ（選択器）４１０、４３０は０を選択し、２次インターリーバに動作する場合、マルチプレクサ（選択器）４１０、４３０は１を選択することにより、図３に示されたように動作するようにする。行カウンター３３０、列カウンター３５０、マッピング器３６０を１次インターリーバと２次インターリーバが共有することにより、ハードウェア的な複雑度を最小化したものである。
【００２５】
本発明の他の実施形態によるアドレス生成装置は、第１選択器４１０を含む。前記第１選択器４１０は第１オフセット値１と第２オフセット値３０を第１入力端子０及び第２入力端子１にそれぞれ受信し、第１、または第２インターリーバ選択信号（図４の１ｓｔ、２ｎｄ）によって選択的に出力する。加算器３２０は前記第１選択器４１０を通じて選択的に提供されるオフセット値と行カウンター３３０の出力値を加算して出力する。行カウンター３３０は第１選択器４１０の出力と行カウンター３３０の出力を加算する加算器３２０により加算されたアドレスを出力する。
【００２６】
前記カウンティング動作がＢ個のクロックパルスに応答して０から（Ｂ−１）回遂行された場合、前記行カウンター３３０はキャリー信号を発生して列カウンター３５０に印加し、前記行カウンター３３０は０にリセットされる。前記行カウンター３３０の出力はシフター４２０を通じて第２選択器４３０の一つの入力端子０と、前記第２選択器４３０の他の入力端子１に印加される。また前記行カウンター３３０の出力は加算器３２０にも印加される。前記シフター４２０は列の数がそれぞれ１、２、４、８のように２の累乗である場合、それぞれ０ビット、１ビット、２ビット、３ビットのシフターとして構成される。前記第２選択器４３０は第１入力端子０及び第２入力端子１にそれぞれ入力される値を第１、または第２インターリーバ選択信号（１ｓｔ、２ｎｄ）によって選択し、行アドレスとして出力する。
【００２７】
列カウンター３５０は前記キャリー（リセット）信号が発生するごとに、０から２９まで１ずつカウント値を増加させる。マッピング器３６０は前記列カウンター３５０から出力されるカウント結果値を列置換パターン（ｃｏｌｕｍｎ ｐｅｒｍｕｔａｔｉｏｎ／ｒａｎｄｏｍｉｚｉｎｇ ｐａｔｔｅｒｎ）によってマッピングして出力する。加算器３７０は第２選択器４３０とマッピング器３６０によりそれぞれ生成される行アドレスと列アドレスを加算して、インターリービングのためのアドレスとして発生させる。このように発生されたアドレスはインターリーバメモリ内に行と列の順に貯蔵されたデータをインターリービングされたデータとして出力するために使用される。
【００２８】
前記図４を参照して、１次／２次ＭＩＬ兼用チャネルインターリーバのためのアドレス生成装置の動作を説明すると、次のようである。ここで、第１選択信号は１次インターリービング動作を選択するためＭＵＸ４１０及びＭＵＸ４３０に使用される信号であり、第２選択信号は２次インターリービング動作を選択するためＭＵＸ４１０及びＭＵＸ４３０に使用される信号である。
【００２９】
図４のＭＩＬチャネルインターリーバの１次インターリービング時、機能ブロックは、マルチプレクサ（Ｍｕｌｔｉｐｌｅｘｅｒ）４１０、４３０の０の経路（Ｐａｔｈ）を選択し、この時、インターリービング動作は図２に示された既存のインターリービング動作と同一である。この時、列置換（ｃｏｌｕｍｎ ｐｅｒｍｕｔａｔｉｏｎ）は上述した＜表１＞のように遂行される。シフター（ｓｈｉｆｔｅｒ）４２０のシフティングビットの大きさ（ｓｈｉｆｔｉｎｇ ｂｉｔ ｓｉｚｅ）もインターリーバの列の数（Ｆ）に従う。例えば、列の数がそれぞれ１、２、４、８のように２の累乗である場合、シフター４２０はそれぞれ０ビット、１ビット、２ビット、３ビットのシフターを含む。
【００３０】
前記ＭＩＬチャネルインターリーバの２次インターリービング時、機能ブロックの該当動作は次のようになる。２次インターリービング動作時、マルチプレクサ４１０、４３０は１の経路が選択され、行カウンター３３０は２次ＭＩＬチャネルインターリーバの列の数が３０である時、行の数であるＢ個のクロックパルスそれぞれに応答して３０のオフセット（ｏｆｆｓｅｔ）を有し、０からＢ−１までのカウント動作及びその結果によって前記行カウンター３３０のフィードバック値とオフセット値が加算された値を示す信号を行アドレスとして発生させる動作を遂行する。（Ｂ−１）番目クロックに対するカウント動作が遂行された時、前記行カウンター３３０は前記キャリー及びリセット信号を発生する。
【００３１】
列カウンター３５０は前記キャリー（リセット）信号が発生するごとに、０から２９まで１ずつカウント値を増加させる。列置換のために、マッピング器３６０は、（０，１，２，３，４，５，６，７，８，９，１０，１１，１２，１３，１４，１５，１６，１７，１８，１９，２０，２１，２２，２３，２４，２５，２６，２７，２８，２９，３０）に該当する列カウンター３５０の出力を（０，１５，１，１６，２，７，３，１８，４，１９，５，２０，６，２１，７，２２，８，２３，９，２４，１０，２５，１１，２６，１２，２７，１３，２８，１４，２９）の値にマッピングして出力する。ここでインターリーバの列の数が３２である場合、列置換は前記＜表２＞に基づいて遂行される。しかし、インターリーバの列の数が３０である場合、列置換方式はインターリーバの列が数２ｋである場合と異なることができる。そのため、マッピング器３６０のマッピング手順は置換方式により変形できる。行カウンター３３０と列カウンター３５０によりそれぞれ生成される行アドレスと列アドレスは、加算器３７０により加算されることにより、実際のインターリービングアドレスとして発生される。
【００３２】
図５は本発明のさらに他の実施形態によるＭＩＬインターリービング動作のためのアドレス生成装置の構成を示す図である。ここで、第１選択信号は１次インターリービング動作を選択するためＭＵＸ４１０及びＭＵＸ４３０に使用される信号であり、第２選択信号は２次インターリービング動作を選択するためＭＵＸ４１０及びＭＵＸ４３０に使用される信号である。モード０は行アドレス計算後、該当列のオフセットを加算してＭＵＸ４６０にインターリービングが遂行されるようにする選択信号である。モード１は該当列のアドレスに行アドレスを初期化してインターリービングが遂行されるようにする選択信号である。前記モード０、１の信号はマルチプレクサ（選択器）４４０、４５０及び４６０に提供される。
【００３３】
本発明のさらに他の実施形態によるアドレス生成装置は、図４に示されたアドレス生成装置の構成に追加して、選択器４４０、４５０、４６０を含む。前記選択器４４０、４５０は行カウンター３３０と加算器３２０の間に接続され、選択器４６０はマッピング器３６０と加算器３７０の間に接続される。前記選択器４４０、４６０はモード制御信号（モード０、１）により制御され、前記選択器４５０は行カウンター３３０から発生されるキャリー信号により制御される。
【００３４】
先ず、モード制御信号モード０が受信される場合のアドレス生成装置の動作を説明する。
【００３５】
前記モード０信号に応答して、選択器４４０は行カウンター３３０の出力が加算器３２０に印加されるように接続し、選択器４６０はマッピング器３６０の出力が加算器３７０に印加されるように接続する。行カウンター３３０がオフセット値１と行カウンター３００の以前の出力値の加算値を順次、出力する動作を遂行する場合に、選択器４５０は入力端子０が選択器４４０の入力端子１に接続されるようにし、前記行カウンター３３０がキャリー信号を発生する場合には、入力端子１が選択器４４０の入力端子１に接続されるようにする。しかし、前記選択器４５０の選択的な信号出力動作にもかかわらず、選択器４４０は常に入力端子０が出力端子に連結されている状態である。そのため、このような接続による構成は図４に示された構成と同様に、行アドレスを生成した後、前記発生された行アドレスと該当列のアドレスを加算して、インターリービングのためのアドレスを生成する動作を遂行する。
【００３６】
次に、モード制御信号モード１が受信される場合のアドレス生成装置の動作を説明する。ここで、説明を簡単にするため行の数Ｂ＝５であり、列の数Ｆ＝３０であり、マッピング器３６０は省略されたと仮定する。
【００３７】
前記モード１信号に応答して、選択器４４０は選択器４５０の出力が加算器３２０に印加されるように接続し、選択器４６０は０が加算器３７０に印加されるように接続する。行カウンター３３０が行カウンター３３０の以前の出力値とオフセット値３０の加算値を順次、出力する動作を遂行する場合に、選択器４５０は入力端子０が選択器４４０の入力端子１に接続されるようにし、キャリー信号を発生する場合には、入力端子１が選択器４４０の入力端子１に接続されるようにする。そのため、このような接続の構成下で行カウンター３３０は各クロックパルスに応答して０から４（Ｂ−１＝５−１）まで３０のオフセットを有する値である０、３０、６０、９０、１２０の値を順次、出力する。このような状態で行カウンター３３０はキャリー信号を発生し、前記キャリー信号に応答して選択器４５０は入力端子１が選択器４４０の入力端子１に接続されるようにする。これによって列カウンター３５０は次のカウント値である１を出力し、この出力値１は選択器４５０及び選択器４４０を通じて加算器３２０に印加される。すると、加算器３２０の一つの入力端子には１が印加され、行カウンター３３０は前記印加された１の値に応答して１、３１、６１、９１、１２１の値を順次、出力する。その後、前記行カウンター３３０は上述したような動作の反復遂行により２、３２、６２、９２、１２２の値を順次、出力する。そのため、このような接続の構成は該当列のアドレスに行アドレスを初期化して、インターリービングのためのアドレスを生成する。即ち、列のアドレスと行のアドレスを先ず加算してインターリービングのためのアドレスを生成し、前記生成されたインターリービングのためのアドレスを選択器４３０及び加算器３７０を通じて出力する。
【表３】
0003553546.tif 000004
前記＜表３＞を参照すると、２次ＭＩＬチャネルインターリーバの列の数が２の累乗ではない場合、従来技術によるアドレス生成装置は列の数が１、２、４、８である１次ＭＩＬインターリーバのようにビットシフト動作を使用できないので、列の数に該当する乗算器が必要であり、これによってハードウェア全体の複雑度（Ｔｏｔａｌ：５１１）が本発明によるアドレス生成装置に比べて２倍ほど複雑になることが分かる。換言すれば、本発明によるアドレス生成装置はハードウェア全体の複雑度（Ｔｏｔａｌ：３３０）が従来技術の場合に比べて１／２になることが分かる。
【００３８】
【発明の効果】
上述したように本発明は、２次ＭＩＬチャネルインターリーバの行アドレスを求める過程で乗算器を使用せずに、加算器を使用してオフセットを有する行アドレスを発生させることにより、低いハードウェア複雑度を有し、同一のインターリービング機能を具現することができるという利点がある。また本発明は乗算器代わりに加算器を使用することにより、１次インターリーバと、２次インターリーバの具現のためハードウェアを共有することができ、システム全体の複雑度を最小化するチャネルインターリーバを具現するという利点がある。
【００３９】
以上、本発明の実施形態を添付図面を参照して説明したが、本発明はこの特定の実施形態に限られるものではなく、各種の変形及び修正が本発明の範囲を逸脱しない限り、該当分野における通常の知識を持つ者により可能なのは明らかである。
【図面の簡単な説明】
【図１】基本的なインターリービング技法を示す図である。
【図２】従来技術による多段階（ＭＩＬ）チャネルインターリーバ／デインターリーバに使用するためのアドレス生成装置の構成を示す図である。
【図３】本発明の一実施形態によるＭＩＬチャネルインターリーバ／デインターリーバに使用するためのアドレス生成装置の構成を示す図である。
【図４】本発明の他の実施形態によるＭＩＬチャネルインターリーバ／デインターリーバに使用するためのアドレス生成装置の構成を示す図である。
【図５】本発明のさらに他の実施形態によるＭＩＬチャネルインターリーバ／デインターリーバに使用するためのアドレス生成装置の構成を示す図である。
【符号の説明】
２１０、３３０  行カウンター
２２０  ５ビットシフター
２３０、３５０  列カウンター
２４０  マッピング器
２５０、３２０、３７０  加算器
３１０  行アドレス生成器
３４０  列アドレス生成器
３６０  マッピング（ｍａｐｐｉｎｇ）器
４１０、４３０、４４０、４５０、４６０  マルチプレクサ（選択器）
４２０  シフター
【図１】
0003553546.tif 000005
【図２】
0003553546.tif 000006
【図３】
0003553546.tif 000007
【図４】
0003553546.tif 000008
【図５】
0003553546.tif 000009