(57)【特許請求の範囲】
【請求項１】
ＵＭＴＳにおけるターボ符号化器のインターリーバにおいて、
インターリーバ動作条件を設定するための各種変数データを更新貯蔵するレジスタ部と、
前記レジスタ部から条件が入力されてシステム動作に必要な制御信号を生成する制御部と、
前記制御部から生成された制御信号によって前記レジスタ部から提供される前記行内置換えパターン及び前記レジスタ部から提供される前記行内置換えパターン増加分[ｉｎｃｒ(ｊ)]値を加算した第１加算値と、該第１加算値に素数を加算した第２加算値とを、予め決定された条件によって現在の行内置換えパターンとして選択して行内置換えパターン貯蔵配列部に出力し、同時に、前記レジスタから行内置換え用基本数列[ｓ(ｉ)]を出力するための読出アドレス値として提供する行内置換えパターン[ａ(ｊ)]生成部と、
前記行内置換えパターン生成部が行内置換えパターンの計算のとき中間データを貯蔵する行内置換えパターン貯蔵配列部と、
前記レジスタ部からの行間置換えパターン[Ｔ(ｊ)]該当値と前記行内置換えパターン生成部から生成された行内置換えパターン値とに該当する前記行内置換え用基本数列[ｓ(ｉ)]の該当値を利用して、最終インターリービングされたデータのアドレスを計算する最終アドレス生成部と
前記ターボ符号化器へ入力される入力データを順次的に貯蔵した後、前記アドレス計算部から生成されたアドレスに該当するデータを出力するデータ貯蔵部と
からなることを特徴とするＵＭＴＳにおけるターボ符号化器のインターリーバ。
【請求項２】
前記レジスタ部は、
インターリービングのための前記入力データの行間／行内置換えパターンの計算のための各種変数を更新貯蔵し、これら変数データを前記アドレス計算部の行内置換えパターン生成部に印加して、インターリービングされた最終行内置換えパターン生成のための行内置換えパターンが生成されるようにすることを特徴とする請求項１に記載のインターリーバ。
【請求項３】
前記レジスタ部は、
前記行間置換えパターン[Ｔ(ｊ)]、行内置換えパターン増加分[ｉｎｃｒ(ｊ)]、及び行内置換え用基本数列[ｓ(ｉ)]値を計算するための変数データとして、入力データ数(Ｋ)、素数(ｐ)、原始根(μ)、入力データの行数(Ｒ)、入力データの列数(Ｃ)、及び例外処理要求信号(ＴｙｐｅＤ)値を更新貯蔵することを特徴とする請求項１に記載のインターリーバ。
【請求項４】
前記行内置換えパターン生成部は、
前記最終行内置換えパターン[Ｕｊ(ｉ)]を計算するステップで、行間置換え数列[ｒ(ｊ)]を計算するために、前記行間置換えパターン[Ｔ(ｊ)]を逆変換した行間逆置換えパターン[ＴＩ(ｊ)]を利用することを特徴とする請求項２に記載のインターリーバ。
【請求項５】
前記行内置換えパターン生成部は、
前記レジスタ部の行内置換えパターン貯蔵部から以前の行内置換えパターンを前記行内置換えパターン増加分[ｉｎｃｒ(ｊ)]と加算して第１加算値を出力する第１加算器と、
前記第１加算器から出力される第１加算値を素数-(ｐ-１)と加算して第２加算値を出力する第２加算器と、
前記第１加算器及び第２加算器からの２つの出力値のうち１つを選択的に出力する第１マルチプレクサと、
前記第２加算器と前記第１マルチプレクサとの間に連結され、前記第２加算器から出力される第２加算値が陽の値の場合、前記第２加算値を行内置換え用基本数列[ｓ(ｉ)]のアドレスとして出力し、第２加算値が陰の値の場合、第１加算値を行内置換え用基本数列のアドレスとして出力するように、前記第１マルチプレクサへ選択制御信号を提供する符号検出器と、
前記行内置換えパターン[ａ(ｊ)]生成部の初期動作のとき予め設定された初期値を出力し、この後、前記第１マルチプレクサからの出力を次の前記行内置換えパターンのための前記行内置換えパターン貯蔵配列部の読出アドレス値として提供する第２マルチプレクサと
からなることを特徴とする請求項１に記載のインターリーバ。
【請求項６】
前記増加分[ｉｎｃｒ(ｊ)]値は、
下記《数１》のように計算されることを特徴とする請求項１に記載のインターリーバ。
【数１】
0003636684.tif 000016
【請求項７】
前記行内置換えパターン貯蔵配列部は、
前記第２マルチプレクサから出力される１つの列の読出アドレス値を順次的に貯蔵し、以前に貯蔵された読出アドレス値を前記第１加算器へ帰還させることを特徴とする請求項５に記載のインターリーバ。
【請求項８】
ターボ符号化器のインターリーバでのインターリービングを遂行する方法において、
前記ターボ符号化器へ入力されるデータを入力データメモリに順次的に貯蔵させるステップと、
入力データ数による行間置換えパターン[Ｔ(ｊ)]によって前記入力データの行間アドレスを変換させるステップと、
前記変換された行間アドレス値を利用して行内置換えパターン[ａ(ｊ)]の生成のための増加分[ｉｎｃｒ(ｊ)]値を計算するステップと、
前記増加分値と前記行内置換えパターン増加分[ｉｎｃｒ(ｊ)]に貯蔵された以前の行内置換えパターン値とを利用して新たな行内置換えパターンを計算するステップと、
前記行内置換えパターンを利用して前記入力データの行内アドレスを変換させるための行内置換え用基本数列[ｓ(ｉ)]の読出アドレスを計算するステップと、
行内置換え用基本数列メモリの出力によって最終行内置換えパターンを計算するステップと、
前記最終行内置換えパターン[Ｕｊ(ｉ)]及び前記行間置換えパターン[Ｔ(ｊ)]を利用して最終インターリービングされたアドレスを計算するステップと、
前記入力データメモリから前記行間／行内置換えパターンを利用して最終インターリービングされたアドレスに該当するデータを順次的に出力して入力データに対するインターリービングを遂行するステップと
からなることを特徴とするターボ符号化器のインターリーバでのインターリービングを遂行する方法。
【請求項９】
ターボ符号化器のインターリーバでのインターリービングを遂行する方法において、
入力データ数による行間置換えパターン[Ｔ(ｊ)]によって入力データの行間アドレスを変換させるステップと、
前記変換された行間アドレス値を利用して行内置換えパターン[ａ(ｊ)]の生成のための増加分[ｉｎｃｒ(ｊ)]値を計算するステップと、
前記増加分値と以前の行内置換えパターン値とを利用して新たな行内置換えパターンを計算するステップと、
前記行内置換えパターンを利用して、前記入力データの行内アドレスを変換させるための行内置換え用基本数列[ｓ(ｉ)]を計算し、前記行内置換え用基本数列［ｓ（ｉ）］と前記行間置換えパターン［Ｔ（ｊ）］を利用して読出アドレスを計算するステップと
からなることを特徴とするターボ符号化器のインターリーバでのインターリービングを遂行する方法。
【請求項１０】
ターボ符号化器のインターリーバでのインターリービングを遂行する方法において、
行内置換えパターンを生成するステップと、
以前の行内置換えパターン及び行内置換えパターン増加分[ｉｎｃｒ(ｊ)]値を加算した第１加算値と、該第１加算値に素数を加算した第２加算値とを、予め決定された条件によって選択してレジスタから行内置換え用基本数列[ｓ(ｉ)]を出力するための読出アドレス値を提供する最終行内置換えパターンを計算するステップと、
前記最終行内置換えパターン[Ｕｊ(ｉ)]及び行間置換えパターン[Ｔ(ｊ)]を利用して最終インターリービングされたアドレスを計算するステップと、
前記行間／行内置換えパターンを利用して最終インターリービングされたアドレスに該当するデータを順次的に出力して入力データに対するインターリービングを遂行するステップと
からなることを特徴とするターボ符号化器のインターリーバでのインターリービングを遂行する方法。
【請求項１１】
前記ターボ符号化器へ入力されるデータをデータ貯蔵部に順次的に貯蔵するステップをさらに含むことを特徴とする請求項９に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、無線通信システムにおけるターボ符号化器に関し、特に、ユニバーサル移動通信システム(Universal Mobile Telecommuncation System；ＵＭＴＳ)におけるターボ符号化器のインターリーバ及びインターリービングを遂行する方法に関する。
【０００２】
【従来の技術】
一般的に、衛星システム、ＩＳＤＮ(Integrated Service Digital Network)、ディジタルセルラー、Ｗ-ＣＤＭＡ(Code Division Multiple Access)、及びＩＭＴ-２０００(ＣＤＭＡ２０００)などのような無線通信システムの符号化器として、ターボ符号(Turbo code)を使用する符号化器が使用されることができる。このようなターボ符号化器の内部にはインターリーバが含まれるが、このインターリーバは、符号化器に入力されるデータをランダム化することにより、コードワードの距離特性を改善させる。これは、ターボ符号化器の性能を左右する重要な要素である。
【０００３】
図１は、通常のターボ符号化器の構成を示す。
図１に示すように、ターボ符号化器１０６は、入力フレームデータｄｋを符号化してＹ１ｋへ出力する第１構成符号化器(constituent encoder)１０２と、前記入力フレームデータｄｋをインターリービングするインターリーバ１００と、前記インターリーバ１００の出力を符号化してＹ２ｋへ出力する第２構成符号化器１０４とからなる。すなわち、ターボ符号化器１０６は、入力フレームデータｄｋを符号化処理せず、直接Ｘｋへ出力するのみならず符号化処理してＹ１ｋを出力し、インターリービング及び符号化処理を施してＹ２ｋを出力する。このうち、前記インターリーバ１００は、入力されるデータのフレームサイズと同一のサイズのデータを出力し、前記第２構成符号化器１０４へ入力されるデータビットの入力手順を変更させることにより、データビット間の相関を減少させる。
【０００４】
以下、前記インターリーバ１００の動作を詳細に説明すると、まず、インターリーバ１００は、入力されるデータを行(Row)及び列(Column)で構成されたメモリに順次的に貯蔵させた後、入力されるデータの数によって定められるインターリービング変数値を初期化する。すなわち、前記インターリーバ１００は、行列マトリクスの行インデックスｊ、行列マトリクスの列インデックスｉ、前記入力データ数Ｋによる行数Ｒ及び列数Ｃのみならず、入力データのインターリービングのための行間／行内置換えのための素数(prime number)ｐ及び原始根(primitive root)μなどのような各種変数値をメモリ内のテーブルを参照して前記入力データ数に対応する値で設定する。
【０００５】
すなわち、前記入力データ数がＫ=４０とすれば、前記それぞれの変数は、Ｒ=５、Ｃ=８、ｐ=７、μ=３などで定められる。そうすると、前記インターリーバ１００は、前記入力データを下記《表１》に示すような５×８行列でメモリ上に位置させる。
【表１】
0003636684.tif 000002
【０００６】
次いで、前記インターリーバ１００は、前記《表１》のように位置された入力データの行及び列のうち、まず、行に対してインターリービング動作を遂行する。このとき、前記インターリーバ１００は、前記行に対するインターリービング動作のために行間(inter-row)置換えパターン[Ｔ(ｊ)]を決定するようになる。前記置換えパターンとは、入力データの行間インターリービングのための関数として前記入力データ数Ｋによって下記《数２》のように決定される。
【数２】
0003636684.tif 000003
【０００７】
次いで、前記インターリーバ１００は、前記行間置換えパターンＴ(ｊ)値によって元の行列Ｔ(ｊ)番目行を新たな行列のｊ番目にコピーして前記入力データの行を変更させるようになる。すなわち、入力データ数Ｋが“４０”であることによってＴ(ｊ)値はｐａｔ４が選択され、前記選択された置換え数列値によって行変換された入力データの行列を示した下記《表２》のように、前記元の行列の４行のデータは新たな行列の０番目の行に、３行のデータは新たな行列の１番目の行に、２行のデータは新たな行列の２番目の行に、１行のデータは新たな行列の３番目の行に、そして、０行のデータは、新たな行列の４番目の行にそれぞれ位置させる。
【表２】
0003636684.tif 000004
【０００８】
次いで、前記インターリーバ１００は、行内置換えのための置換え数列である最小素数数列(minimum prime integer sequence)[q(j)]、置換えられた素数数列(permuted prime integer sequence)[ｒ(ｊ)]、行内置換え用基本数列(inter-row permutation basic sequence)[ｓ(ｉ)]を下記《数３》によって順次に計算する。
【数３】
0003636684.tif 000005
【０００９】
そして、前記インターリーバ１００は、行間／行内置換えのための最終行内置換えパターンＵｊ(ｉ)を前記行内置換え用基本数列[ｓ(ｉ)]を利用して下記《数４》のように計算する。
【数４】
0003636684.tif 000006
【００１０】
すなわち、前記最終行内置換えパターンＵj(ｉ)値は、各列に対して下記《数５》のように計算される。
【数５】
0003636684.tif 000007
【００１１】
従って、前記インターリーバ１００は、前記行内置換えのための最終行内置換えパターンＵｊ(ｉ)によって、前記《表２》のように、行間置換えされたデータ列を下記《表３》のように行内(intra-row)置換えを行って最終インターリービングを遂行するようになる。
【表３】
0003636684.tif 000008
【００１２】
前述したように、従来のターボ符号化器のインターリーバは、入力データのインターリービングのために前記のように置換えられたデータの中間貯蔵のために追加のメモリを要求し、マイクロプロセッサー及びディジタルシグナルプロセッサー(digital signal processor；ＤＳＰ)に過負荷が発生する問題点があった。
【００１３】
【発明が解決しようとする課題】
従って、本発明の目的は、ＵＭＴＳにおけるターボ符号化器内のインターリーバにおいて、インターリービングのためのデータ処理によるマイクロプロセッサーの過負荷を防止し、中間貯蔵のための追加のメモリを必要としないインターリーバ及インターリービングを遂行する方法を提供することにある。
【００１４】
【課題を解決するための手段】
前記のような目的を達成するために、本発明は、ＵＭＴＳにおけるターボ符号化器のインターリーバにおいて、インターリーバ動作条件を設定するための各種変数データを更新貯蔵するレジスタ部と、前記レジスタ部から条件が入力されてシステム動作に必要な制御信号を生成する制御部と、前記制御部から生成された制御信号によって前記レジスタ部から提供される行間置換えパターン[Ｔ(ｊ)]、行内置換えパターン増加分[ｉｎｃｒ(ｉ)]、及び行内置換え用基本数列[ｓ(ｉ)]を利用して最終インターリービングされたアドレスを生成するアドレス計算部と、前記ターボ符号化器へ入力される入力データを順次的に貯蔵した後、前記アドレス計算部から生成されたアドレスに該当するデータを出力するデータ貯蔵部と、からなることを特徴とする。特に、前記アドレス計算部は、行内置換えパターン生成部と、前記行内置換えパターン生成部が行内置換えパターンの計算のとき中間データを貯蔵する行内置換えパターン貯蔵配列部と、前記制御部の制御信号によってレジスタ部から行間置換えパターン該当値と行内置換え用基本数列の該当値とを利用して、インターリービングされたアドレスを計算する出力アドレス生成部と、からなることを特徴とする。
【００１５】
【発明の実施の形態】
以下、本発明に従う好適な実施形態を添付図面を参照しつつ詳細に説明する。なお、図面中、同一な構成要素及び部分には、可能な限り同一な符号及び番号を共通使用するものとする。
【００１６】
下記の説明において、本発明の要旨を不明瞭にする公知の機能及び構成に対する詳細な説明は省略する。
【００１７】
図２は、本発明の実施形態によるターボ符号化器のインターリーバの構成を示す。
図２を参照すると、まず、入力データ数Ｋ及びこれによって決定される常数Ｒ、Ｃ、ｐ、μ、ＴｙｐｅＤがレジスタ部２００に貯蔵される。このうち、ＴｙｐｅＤは、Ｃ=ｐ＋１であり、Ｋ=Ｃ＊Ｒであるとき“１”に設定される。
【００１８】
また、行間置換えパターン(inter-row permutation pattern)[Ｔ(ｊ)]、行内置換え用基本数列[ｓ(ｉ)]、行内置換えパターン増加分(intra-row permutation pattern increment arrangement value)[ｉｎｃｒ(ｊ)]がレジスタ部２００内のメモリに貯蔵される。前記行間置換えパターン[Ｔ(ｊ)]、 行内置換え用基本数列[ｓ(ｉ)]、 及び行内置換えパターン増加分[ｉｎｃｒ(ｊ)]は、所定の制御部(図示せず)からｉ及びｊ値を受信して、それに該当する値をアドレス計算部２０２に伝達する。このとき、前記行間置換えパターン[Ｔ(ｊ)]は、前記《数２》のように決定され、行内置換え用基本数列[ｓ(ｉ)]は、前記《数３》のように決定される。そして、行内置換えパターン増加分[ｉｎｃｒ(ｊ)]は、下記《数６》のように決定される。
【数６】
0003636684.tif 000009
【００１９】
前記《数６》で使用される置換えられた素数数列[ｒ(ｊ)]を計算する過程において、本発明の実施形態では、前記《数３》のように行間置換えパターン[Ｔ(ｊ)]を利用する代わり、これを逆変換した行間逆置換えパターン[ＴＩ(ｊ)]を利用することにより、置換えられた素数数列[ｒ(ｊ)]の計算にかかる演算量を減少させることができる。これを下記《数７》に示す。
【数７】
0003636684.tif 000010
【００２０】
ここで、前記最小素数数列[ｑ(ｊ)]は前記《数３》でのように同一であり、ＴＩ(ｊ)は、行間逆置換えパターンとして下記《数８》のように決定される。
【数８】
0003636684.tif 000011
【００２１】
すなわち、レジスタ部２００の設定が完了した後、ハードウェア部内の制御部は、アドレス計算部２０２の動作を制御するためのカウンタ値ｉ及びｊを順次的に生成する。ここで、ｉ及びｊは、それぞれ“０”から始めて、ｊが１ずつ増加して‘Ｒ-１’に到達した後ｉが“１”増加する。このような動作は、ｉが‘Ｃ-１’に到達するときまで反復的に継続される。
【００２２】
一方、前記《数４》において、行内置換え用基本数列[ｓ(ｉ)]内のインデックスとして使用される各行別行内置換えパターン[ａｉ(ｊ)]が[ｉ×r(j)] mod (p-1)と定義すると、最終行内置換えパターン[Ｕｊ(ｉ)]は、下記《数９》のように表現されることができる。
【数９】
0003636684.tif 000012
【００２３】
本発明では、前記《数９》で定義された各行別行内置換えパターン[ａi(ｊ)]が(ｐ-１)に割られた余りの値で示されることに着目する。従って、前記《数９》で定義された各行別行内置換えパターン[ａi(ｊ)]のｊを固定させ、ｉを初期値“０”から１ずつ増加させると、ｊ番目の列に対する行内置換えパターン[ａi(ｊ)]は、《数９》の代わり《数１０》を利用して計算することができる。すなわち、前記のように、行内置換えパターン増加分 [ｉｎｃｒ(ｊ)]を予め決定することにより、前記行内置換えパターン[ａi(ｊ)]は、実際ハードウェア部の動作のとき、各行に該当する行内置換えパターン増加分を利用して、乗算を遂行する代わり加算及びモジュロ演算のみで行内置換えパターン[ａi(ｊ)]を生成する。これを下記《数１０》に示す。
【数１０】
0003636684.tif 000013
【００２４】
すなわち、前記《数１０》に示すように、それぞれのｊに対して行内置換えパターン[ａi(ｊ)]は、ｉが増加する前の値であるａi-1(ｊ)から計算されることができる。また、ｉは、インターリービングが遂行される間減少しないので、現在値を計算した後は以前値を貯蔵しておく必要がない。このような計算方式に基づいて行内置換えパターン[ａ(ｊ)]生成部２０４は、それぞれのｉ及びｊ値に対して行内置換えパターン[ａi-1(ｊ)]を生成するときごと、それぞれのｊに対する終わりのａi(ｊ)値を行内置換えパターン貯蔵配列部２０６に貯蔵しておく。
【００２５】
ハードウェア部の動作のとき行内置換えパターン[ａ(ｊ)]生成部２０４は、制御部から提供されるそれぞれのｉ及びｊ値に対して行内置換えパターンを生成するが、ｉが“０”であるときは、行内置換えパターン貯蔵配列部２０６を初期化させなければならないので、行内置換えパターン[ａ(ｊ)]に“０”を出力した後、これを行内置換えパターン貯蔵配列部２０６に貯蔵する。ｉが“０”より大きく、ｐ-２と同じであるかまたは小さいときは、行内置換えパターン貯蔵配列部２０６からｊ番目に該当するデータａ(ｊ)を読み出して行内置換えパターン増加分[ｉｎｃｒ(ｊ)]から読み出した該当増加分を加算した後、モジュロ演算を遂行して新たな行内置換えパターンａ(ｊ＋１)を生成した後これを出力する。前記出力されたデータは、次の行内置換えパターンを生成するために、再び行内置換えパターン貯蔵配列部２０６のｊ番目のアドレスに貯蔵される。
【００２６】
行内置換えパターン[ａ(ｊ)]生成部２０４から出力される行内置換えパターン[ａi(ｊ)]は、レジスタ部２００内の行内置換え用基本数列[ｓ(ｉ)]メモリ２０８に読出アドレスとして入力され、これにより、前記メモリ２０８の出力ｓ[ａ(ｊ)]は、最終アドレス生成部２０７へ伝達される。
【００２７】
前記最終アドレス生成部２０７は、前記制御部から提供されるｉ及びｊ値によって行内置換え用基本数列の該当値ｓ[ａ(ｊ)]を利用して、まず最終行内置換えパターン[Ｕj(ｉ)]を計算し、前記計算された値及びレジスタ部２００から入力された行間置換えパターン[Ｔ(ｊ)]を利用して、最終インターリービングされたアドレスｘａｄｄｒを計算する。また、ＴｙｐｅＤが“１”である場合の例外処理を遂行する。前記最終アドレス生成部２０７の計算過程を下記《数１１》及び《数１２》に示す。
【数１１】
0003636684.tif 000014
【数１２】
0003636684.tif 000015
【００２８】
データ貯蔵部２１４は、最終アドレス生成部２０７から生成された最終インターリービングされたアドレスｘａｄｄｒに該当するデータを読み出してこれを出力する。
【００２９】
図３は、前記行内置換えパターン[ａ(ｊ)]生成部２０４の詳細な構成を示す。図３を参照して、行内置換えパターン[ａ(ｊ)]生成部２０４の動作をより具体的に説明する。
まず、前記行内置換えパターン[ａ(ｊ)]の変数ｉが“０”である場合、第２マルチプレクサ４０２から行内置換えパターン[ａ(ｊ)]は初期値として“０”が選択され、前記選択された値は、レジスタ部２００内の行内置換え用基本数列[ｓ(ｉ)]のアドレスとして提供されると同時に、行内置換えパターン貯蔵配列部２０６のｊ番目のアドレスに貯蔵される。
【００３０】
変数ｉが“０”ではない場合は、行内置換えパターン貯蔵配列部２０６のｊ番目のアドレスのデータ値が第１加算器４００へ帰還されて、以前の変数データ値として入力されるが、これは、以前に貯蔵しておいた行内置換えパターン[ａi-1(ｊ)]に該当する。このとき、前記第１加算器４００の他側入力端には、前記行内置換えパターン増加分[ｉｎｃｒ(ｊ)]のｊ番目のアドレスに貯蔵された値がレジスタ部２００から前記第１加算器４００へ入力される。従って、前記第１加算器４００は、前記以前の行内置換えパターン[ａ(ｊ)]値と増加分[ｉｎｃｒ(ｊ)]値とが加算され、前記第１加算器４００から出力された第１加算値は第２加算器４０４へ提供され、前記《数６》に示すように、前記第１加算値に素数[-(ｐ-１)]値が加算される。
【００３１】
その後、前記加算された値が第１マルチプレクサ４０８及び符号検出部４０６へそれぞれ提供される。すなわち、前記第２加算器４０４は、以前の行内置換えパターン[ａ(ｊ)]値及び増加分[ｉｎｃｒ(ｊ)]値が加算された第１加算値を再び素数(ｐ-１)に割った余りの値{ａ(ｊ)＋ｉｎｃｒ(ｊ)}-(ｐ-１)を出力する。これは、前記《数１０》に示すように、素数(ｐ-１)を利用してモジュロ演算を遂行する過程で、前記以前の行内置換えパターン[ａ(ｊ)]値に増加分[ｉｎｃｒ(ｊ)]値を加算した値が素数(ｐ-１)より大きい場合、その第１加算値の結果から(ｐ-１)を引いた値が余りに該当する値になるからである。
【００３２】
前記第２加算器４０４から出力された第２加算値{ａ(ｊ)＋ｉｎｃｒ(ｊ)}-(ｐ-１)は、最上位ビット(Most Significant Bit)符号検出部４０６及び第１マルチプレクサ４０８のそれぞれに入力される。そうすると、前記符号検出部４０６は、前記第２加算器４０４から出力された第２加算値の最上位ビットのみを検出して、これを第１マルチプレクサ４０８の選択制御信号へ印加する。これにより、第１マルチプレクサ４０８は、前記符号検出部４０６からの選択制御信号によって前記第１加算器４００から出力される第１加算値ａ(j)＋ｉｎｃｒ(ｊ)及び前記第２加算器４０４から出力される第２加算値ａ(j)＋ｉｎｃｒ(ｊ)-(ｐ-１)のうちの１つの値を選択して出力する。
【００３３】
もしも、前記符号検出部４０６から検出された符号が“０”である場合、前記第１加算値が(ｐ-１)より同じであるかまたは大きいことを意味する。そこで、モジュロ演算の結果値を得るためには、第１加算値から(ｐ-１)を引かなければならない。反面、符号が“１”である場合、前記第１加算値が(ｐ-１)より小さいことを意味する。そこで、前記第１加算値は、モジュロ演算の結果値と同一になる。従って、初期値ｉが“０”になった後、第２マルチプレクサ４０２は、第１マルチプレクサ４０８から出力された前記第１または第２加算値に対して正しいモジュロ演算の結果を選択する。前記選択された値をレジスタ部２００内の行内置換え用基本数列[ｓ(ｉ)]のアドレスとして提供し、同時に、前記行内置換えパターン貯蔵配列部２０６のｊ番目のアドレスに貯蔵する。
【００３４】
以下、前記行内置換えパターン[ａ(ｊ)]生成部２０４の動作を入力データの最終行内置換えパターン[Ｕj(ｉ)]の計算式を示した前記《数５》のＵ0(ｉ)値の計算式を例に挙げて説明すると、すなわち、ｊが“０”であり、ｉが“０”である場合、行内置換え用基本数列[ｓ(ｉ)]の参照の時の出力アドレス値ｉ、すなわち、行内置換えパターン[ａ(ｊ)]値は“０”に設定される。そうすると、前記行内置換えパターン[ａ(ｊ)]の初期値“０”は、行内置換えパターン貯蔵配列部２０６に貯蔵されると共に、行内置換え用基本数列[ｓ(ｉ)]のアドレスとして提供される。
【００３５】
すなわち、同一のｊ値(=“０”)に対してｉが１ずつ増加する場合、行内置換えパターン貯蔵配列部２０６に貯蔵されていた以前の行内置換えパターン値“０”が第１加算器４００に入力されて増加分[ｉｎｃｒ(ｊ)]値“５”と加算される。その結果、第１加算値“５”は、第１マルチプレクサ４０８の一側入力端に提供されると同時に第２加算器４０４へ提供される。
【００３６】
その後、第２加算器４０４は、前記第１加算値“５”を素数-(ｐ-１)、すなわち、-６と加算して-１の値として前記符号検出部４０６へ出力する。このとき、前記第２加算値が陰の値であるので、前記符号検出部４０６は選択制御信号“１”を発生させ、第１マルチプレクサ４０８が前記第１加算器４００から出力された第１加算値を選択するようにする。従って、第１マルチプレクサ４０８は、第１加算値５を出力し、この値は、再び第２マルチプレクサ４０２を通じて次の行内置換えパターン[ａ(ｊ)]として選択された後、行内置換えパターン貯蔵配列部２０６に貯蔵される。すなわち、このような方法にて、従来の行内置換え用基本数列[ｓ(ｉ)]のアドレス値ｉは、複雑な《数３》を利用しなくとも計算されるので、回路の構成が簡単になることである。
【００３７】
一方、前記レジスタ部２００は、制御部から提供された入力データ数Ｋによる増加分[ｉｎｃｒ(ｊ)]値の以外にも、原始根を意味するμ、入力データ数を意味するＫ、入力データの行数を意味するＲ、入力データの列数を意味するＣ、素数を意味するｐ、及び例外処理要求信号を意味するＴｙｐｅＤなどを貯蔵する。また、前記レジスタ部２００は、前記入力データ数Ｋによって決定された前記入力データの行間置換えパターン[Ｔ(ｊ)]を予め貯蔵する。
【００３８】
以下、前記行内置換えパターン[ａ(ｊ)] 生成部２０４と行内置換え用基本数列[ｓ(ｉ)]及び行間置換えパターン[Ｔ(ｊ)]メモリ部２１２を利用した最終アドレス生成部２０７の動作を説明する。前記のように、行内置換えパターン[ａ(ｊ)]生成部２０４から出力された行内置換えパターンは、レジスタ部２００内の行内置換え基本数列[ｓ(ｉ)]メモリ２０８に読出アドレスとして提供される。これにより、行内置換え基本数列[ｓ(ｉ)]メモリ２０８は、前記行内置換えパターン[ａ(ｊ)]生成部２０４から提供される読出アドレスによって指定された値[ａ(ｊ)]を最終アドレス生成部２０７へ提供する。
【００３９】
このとき、前記読出アドレスに指定された行内置換え基本数列[ｓ(ｉ)]メモリ２０８内の該当アドレス値が前記入力データの最終行内置換えパターン[Ｕj(ｉ)]値と同一であるので、最終アドレス生成部２０７は、前記行内置換え用基本数列[ｓ(ｉ)]メモリ部２０８から読み出されたｓ[ａ(ｊ)]値及び前記行間置換えパターン[Ｔ(ｊ)]メモリ部２１２から読み出された行間置換えパターンを受信し、前記受信された値をインターリービングされた出力データを読み出すための読出アドレス値としてデータ貯蔵部２１４へ提供する。その結果、前記データ貯蔵部２１４内の前記読出アドレス領域に貯蔵された入力データが読み出されてインターリービングされた出力データとして出力される。
【００４０】
従って、本発明の実施形態では、入力データの行間置換えのときや、行内置換えのときに再配列される入力データを継続して別途のメモリに再び貯蔵せず、順次的に貯蔵されたデータ貯蔵部から最終行間または行内置換えされた読出アドレスを演算して前記読出アドレスに該当するデータを出力する。これにより、インターリービングされたデータを別途に貯蔵したメモリからデータを順次的に読み出す従来のインターリーバと同一の機能を遂行することができる。
【００４１】
以上、本発明を特定の実施形態を参照して説明してきたが、本発明はこれらに限られるべきではなく、各種の変形が本発明の思想及び範囲を逸脱しない限り、当該技術分野における通常の知識を持つ者により可能なのは明らかである。
【００４２】
【発明の効果】
以上から述べてきたように、本発明によるターボ符号化器のインターリーバは、メモリの浪費を防止し、簡単な構造を有することができる。また、新たなインターリーバは、ターボ符号化器の負荷を減少させることができる長所がある。
【図面の簡単な説明】
【図１】  一般的のターボ符号化器の構成を示すブロック図である。
【図２】  本発明の実施形態によるターボ符号化器のインターリーバの構造を示すブロック図である。
【図３】  本発明の実施形態による行内置換えパターン[ａ(ｊ)]生成部の詳細な構成を示すブロック図である。
【符号の説明】
２００  レジスタ部
２０２  アドレス計算部
２０４  行内置換えパターン[ａ(ｊ)]生成部
２０６  行内置換えパターン貯蔵配列部
２０７  最終アドレス生成部
２０８  行内置換え基本数列[ｓ(ｋ)]メモリ部
２１０  増加分[ｉｎｃｒ(ｊ)]メモリ部
２１２  行間置換えパターン[Ｔ(ｊ)]メモリ部
２１４  データ貯蔵部
４００  第１加算器
４０２  第２マルチプレクサ
４０４  第２加算器
４０６  符号検出部
４０８  第１マルチプレクサ
【図１】
0003636684.tif 000017
【図２】
0003636684.tif 000018
【図３】
0003636684.tif 000019