(57)【特許請求の範囲】
【請求項１】
フィルタコプロセッサであって、
２倍オーバサンプルされた複素データシーケンスのうち、偶数番目又は奇数番目の複素データシーケンスを表すデータ情報を記憶するための第１のメモリと、
係数を記憶するための第２のメモリと、
前記偶数番目又は奇数番目の複素データシーケンスを表す前記記憶されたデータ情報とミッドアンブルシーケンスを表わす記憶された係数との間の相関プロセスの間に乗算および累算機能を行うために乗算器および累算器を制御するためのコントローラであって、前記ミッドアンブルシーケンスは、前記偶数番目又は奇数番目の複素データシーケンスを表す前記データ情報を入力する毎に交互に入力される純粋の実数および純粋の虚数からなる複素数値を含み、前記コントローラはさらに前記記憶されたデータ情報および前記記憶された係数の読出しの調整を行って、偶数番目又は奇数番目の相関出力を生成するように前記乗算器及び前記累積器を制御するコントローラと
を具備するフィルタコプロセッサ。
【請求項２】
無線通信システムに対応可能な受信機において使用するためのイコライザであって、
２倍オーバサンプルされた複素データシーケンスのうち、偶数番目又は奇数番目の複素データシーケンスを表すデータ情報を記憶するための第１のメモリと、係数を記憶するための第２のメモリと、相関に関連する第１のモードおよびマッチドフィルタリングに関する第２のモードにおいて乗算および累算機能を行うために乗算器および累算器を制御するためのコントローラとを含むフィルタコプロセッサであって、
乗算器および累算器を使用して前記偶数番目又は奇数番目の複素データシーケンスを表す前記記憶されたデータ情報およびミッドアンブルシーケンスを表わす記憶された係数を相関するための相関ブロックであって、前記ミッドアンブルシーケンスは、前記偶数番目又は奇数番目の複素データシーケンスを表す前記データ情報を入力する毎に交互に入力される純粋の実数および純粋の虚数からなる複素数値からなり、前記記憶されたデータ情報および前記記憶された係数の読出しの調整を行って、偶数番目又は奇数番目の相関出力を生成する相関ブロックと、
乗算器および累算器を使用するとともに、複素係数を使用して複素入力をマッチドフィルタリングしかつ交互の純粋の実数データおよび純粋の虚数データの実シーケンスを出力するためのマッチドフィルタリングブロックとして機能するフィルタコプロセッサと、
前記マッチドフィルタリングブロックの出力に基づき無線通信システムにおいて送信される信号を推定または評価するための最尤シーケンス推定ブロックと、
を具備するイコライザ。
【発明の詳細な説明】
発明の分野
本発明は一般的にはコプロセッサに関し、かつより特定的にはデジタル信号プロセッサにおいて実施されるフィルタコプロセッサ（ｆｉｌｔｅｒ  ｃｏ−ｐｒｏｃｅｓｓｏｒｓ）に関する。
発明の背景
デジタルセルラシステムのような、今日の無線通信システムはチャネル等化、チャネル符号化／復号またはコーディング／デコーディング、および音声符号化を行うために膨大なデジタル信号処理を必要とする。１つのそのようなデジタルセルラシステムはグループ・スペシャル・モービル（Ｇｒｏｕｐｅ  Ｓｐｅｃｉａｌ  Ｍｏｂｉｌｅ：ＧＳＭ）デジタルセルラシステムである。典型的なＧＳＭデジタルセルラシステム構成においては、１つのタイムスロットに別個のデジタル信号プロセッサ（ＤＳＰ）が専用のものとされ、従って単一の無線周波（ＲＦ）キャリアを等化する（ｅｑｕａｌｉｚｅ）ために８つのＤＳＰが必要とされる。しかしながら、イコライザからの各々の出力はチャネルデコーディングを行うために他の別個のＤＳＰに入力されなければならない。すべての合計で、１６のＤＳＰが単一のＲＦキャリアを等化し／デコードするのに必要とされる。
ＧＳＭのようなセルラシステムにおいて配備される多数のＲＦキャリアを考慮したとき、受信機内で使用されるＤＳＰの数は高価なものとなる。コストに加えて、ＤＳＰの寸法は多数のものが受信機内の貴重な不動産（ｒｅａｌ  ｅｓｔａｔｅ）の大きな部分を消費するようになる。さらに、多数のＤＳＰは受信機から除去されなければならない対応した量の熱を放散する。全体的にみて、上に述べた受信機において実施される多数のＤＳＰは不利益を伴って作られている。従って、従来技術のように多数の専用のＤＳＰの必要性なしに単一のＲＦキャリア上に存在する同じ数の信号を受信する方法が必要である。
【図面の簡単な説明】
図１は、本発明に係わるフィルタコプロセッサのハードウエアアーキテクチャを、ブロック図形式で、概略的に示す。
図２は、図１のフィルタコプロセッサにおいて使用するためのデータ、係数および出力の概略的編制または構成を示す。
図３〜図１２は、図１のハードウエアアーキテクチャに適用されるモード０および１に対するたたみ込みおよび相関の多様なデシメイション値に対する図２に示される概略的なデータ編制または構成を示す。
図１３は、本発明に係わるフィルタコプロッサから利益を受けることができるイコライザを概略的に示す。
図１４〜図１９は、図１のハードウエアアーキテクチャに適用されるモード２および３に対するマッチドフィルタリングおよび相関の多様なデシメイション値に対する図２に示される概略的なデータ編制を示す。
図２０は、無線通信システムの受信機において好適に実施される図１のフィルタコプロセッサを概略的に示す。
好ましい実施形態の詳細な説明
一般的にいえば、デジタル信号プロセッサ（ＤＳＰ）内のフィルタコプロセッサは等化プロセスの間における変調信号の直交的性質を活用する。受信の後は、受信信号のある実数／虚数値のみが復調のために有用であるから、前記フィルタコプロセッサは送信された信号を評価または推定するためにこれらの値のみを処理する。復調のために有用なこれらの値のみを使用することにより、前記フィルタコプロセッサは与えられた量の時間内により多くの情報を処理することができ、従来技術と比較した場合増大した処理につながる。
好ましい実施形態においては、前記フィルタコプロセッサはデータ情報を記憶するための第１のメモリおよび係数を記憶するための第２のメモリを含む。前記フィルタコプロセッサはまた乗算器／累算器（ｍｕｌｔｉｐｌｉｅｒ／ａｃｃｕｍｕｌａｔｏｒ）を制御して複数の動作モードにおいて乗算／累算機能を行い、かつ前記データ情報および係数の回復または引出しを調整するためのコントローラを含む。
好ましい実施形態においては、１つのモードの動作はさらに複素データシーケンスおよびミッドアンブル（ｍｉｄ−ａｍｂｌｅ）シーケンスの間の相関を備え、この場合前記ミッドアンブルシーケンスは交互の純粋の実数／純粋の虚数の複素数値を具備する。さらに、他のモードの動作は前記相関の出力のデシメイションを備える。該相関に関連する実施形態では、他のモードの動作は２Ｘオーバサンプルの複素データシーケンスおよびミッドアンブルシーケンスの間の相関を備え、この場合ミッドアンブルシーケンスは１Ｘの交互の純粋の実数／純粋の虚数の複素数値を具備する。
また、好ましい実施形態においては、１つのモードの動作はさらにマッチドフィルタリング（ｍａｔｃｈｅｄ  ｆｉｌｔｅｒｉｎｇ）を備え、この場合入力データは複素数であり、マッチドフィルタリングに関連する係数は複素数であり、かつ出力は交互の純粋の実数／純粋の虚数データの実シーケンス（ｒｅａｌ  ｓｅｑｕｅｎｃｅ）である。他のモードの動作はマッチドフィルタリングの出力のデシメイションを具備する。
上に述べたフィルタコプロセッサは最尤シーケンス推定（Ｍａｘｉｍｕｍ  Ｌｉｋｅｌｉｈｏｏｄ  Ｓｅｑｕｅｎｃｅ  Ｅｓｔｉｍａｔｉｏｎ：ＭＬＳＥ）アルゴリズムによって使用するための出力を発生する。前記フィルタコプロセッサの係数はチャネル応答係数およびマッチドフィルタ係数を具備する。中央処理ユニットによる介入を最小にするため、フィルタコプロセッサは入力データをメモリからフィルタコプロセッサへかつ出力をフィルタコプロセッサからメモリへと移動するためにダイレクトメモリアクセス装置が使用される動作モードで動作する。
前記フィルタコプロセッサは無線通信システムと両立するまたは適合する受信機において使用するためのイコライザへの用途を有する。この実施形態では、前記イコライザは複素データシーケンスおよびミッドアンブルシーケンスを相関するための相関ブロックを具備し、前記ミッドアンブルシーケンスは交互の純粋の実数／純粋の虚数の複素数値を備え、かつ前記イコライザは複素係数を使用して複素入力をマッチドフィルタリングしかつ実シーケンスの交互の純粋の実数／純粋の虚数データを出力するためのマッチドフィルタリングブロックを具備する。最尤シーケンス推定（ＭＬＳＥ）ブロックは前記マッチドフイルタリングブロックの出力に基づき無線通信システムにおいて送信される信号を評価または推定する。
この実施形態では、前記相関ブロックおよびマッチドフイルタリングブロックは第１および第２のメモリおよび前記相関に関連する第１のモードおよび前記マッチドフィルタリングに関連する第２のモードにおいて乗算／累算機能を行うために乗算器／累算器を制御するためのコントローラを使用して実施される。相関に関連する第１のモードおよびマッチドフィルタリングに関連する第２のモードはデジタル信号プロセッサ内のフィルタコプロセッサにおいて達成される。
図１は、本発明に係わるフィルタコプロセッサ（ｆｉｌｔｅｒ  ｃｏ−ｐｒｏｃｅｓｓｏｒ）のハードウエアアーキテクチャを概略的に示す。好ましい実施形態では、フィルタコプロセッサは有限インパルス応答（ＦＩＲ）コプロセッサである。図１に示されるように、システムは乗算器／累算器（ｍｕｌｔｉｐｌｉｅｒ／ａｃｃｕｍｕｌａｔｏｒ：ＭＡＣ）１０９に結合されたデータメモリバンク１０３および係数メモリバンク１０６を備えている。メモリバンクのサイズはハードウエア設計者に任されているが、ＧＳＭ電気通信標準に適応するよう十分に大きくすべきである。図１にはまた２つの専用のダイレクトメモリアクセス（ＤＭＡ）チャネル１１２および１１３が示されており、第１のもの１１２はデータメモリバンクへのデータ転送のためのものであり、かつ第２のもの１１３はＦＩＲ結果を中央処理ユニットＣＰＵへと転送し戻すためのものである。この構成により、ＣＰＵの介在の量が初期設定のみへと最小化される。４ワード入力バッファ１１５および１ワード出力バッファ１１８がＤＭＡ転送プロセスとＦＩＲデータ捕捉プロセスの間でインタフェースする。フィルタカウント部１２１はＦＩＲフィルタの長さの制御を担当している。アドレス発生器１２４は選択されたモードに従ってメモリバンク１０３および１０６へのアドレスポインタを発生する責務を有する。制御ユニット１２７はＦＩＲ動作を制御しかつＣＰＵへのインタフェースを行う。
図１に示されるように、クロックサイクルごとに１つの乗算／累算（ＭＡＣ）操作のみが行われる。このアーキテクチャは広い範囲のＦＩＲフィルタリングの用途をサポートするために最大の柔軟性を与え、一方各用途に対して最小の計算ステップを維持する。これは面積および総合の計算時間に関してコスト効率のよい解決方法に寄与する。
上で述べたように、図１に示されるフィルタコプロセッサのアーキテクチャは複数のモードをサポートすることが可能である。好ましい実施形態では、（２つのモードビットにより構成される）４つのモードの動作がサポートされる。
１．モード０−実数ＦＩＲフィルタ。
２．モード１−複素ＦＩＲフィルタ。
３．モード２−純粋の実数／純粋の虚数出力を交互に発生する複素ＦＩＲフィルタ。
４．モード３−完全に複素数のデータシーケンスと交互の純粋の実数／純粋の虚数データ要素からなる複素シーケンスの間の複素相関。
付加的な、デシメイションなし／２によるデシメイション（Ｎｏ＿Ｄｅｃｉｍａｔｉｏｎ／Ｄｅｃｉｍａｔｉｏｎ＿ｂｙ＿２）モードビットがＴ間隔（Ｔ−Ｓｐａｃｅｄ）およびＴ／２間隔（Ｔ／２−Ｓｐａｃｅｄ）通信システムをサポートするために規定された。それにより、３つのプログラム可能なビットは広い範囲のＦＩＲフィルタリングの用途の効率的な実施を可能にし、それらの内のいくつかを以下に示しかつ簡単に説明する。
＊  実数たたみ込み（Ｒｅａｌ  ｃｏｎｖｏｌｕｔｉｏｎ）ＦＩＲフィルタ（図３）、
＊  ２による出力デシメイションを備えた実数たたみ込みＦＩＲフィルタ（図４）、
＊  実数相関ＦＩＲフィルタ（図５）、
＊  ２による出力デシメイションを備えた実数相関ＦＩＲフィルタ（図６）、
＊  複素たたみ込みＦＩＲフィルタ（図７）、
＊  ２による出力デシメイションを備えた複素たたみ込みＦＩＲフィルタ（図８）、
＊  実数出力のみを発生する複素たたみ込みＦＩＲフィルタ（図９）、
＊  虚数出力のみを発生する複素たたみ込みＦＩＲフィルタ（図１０）、
＊  複素相関ＦＩＲフィルタ（図１１）、
＊  ２による出力デシメイションを備えた複素相関ＦＩＲフィルタ（図１２）、
＊  純粋実数／純粋虚数出力を交互に発生する複素ＦＩＲフィルタ（図１４）、
＊  ２によりデシメイトされた交互の純粋実数／純粋虚数出力を発生する複素ＦＩＲフィルタ（図１５）、
＊  完全複素データシーケンスと交互の純粋＿実数／純粋＿虚数データ要素からなる複素シーケンスとの間の複素相関（図１６および図１７）、
＊  ２によりオーバサンプルされた完全複素データシーケンスと交互の純粋＿実数／純粋＿虚数データ要素からなる複素シーケンスとの間の複素相関（図１８および図１９）。
本発明に係わるフィルタコプロセッサのハードウエアアーキテクチャはＧＳＭ電気通信標準と両立できる。ＧＳＭにおいては、時分割多元接続（ＴＤＭＡ）が８つのタイムスロットを含む４．６１５ミリセカンドのフレーム構造を備えて使用される。各タイムスロットは１５６．２５ビットからなる。通常のまたはノーマルデータバーストに対しては、２つの５８暗号化データビット、２６トレーニングシーケンスビット、６テイルビット（ｔａｉｌ  ｂｉｔｓ）および８．２５ガードビットがある。アクセスデータバーストに対しては、３６の暗号化データビット、４１のトレーニングシーケンスビット、８つの拡張テイルビット、３つのテイルビットおよび６８．２５の拡張ガードビットがある。変調機構は差分符号化ガウスろ波ＭＳＫ（ＧＭＳＫ）である。
図３〜図１２は、図１のハードウエア構造に適用されるモード０および１に対するたたみ込みおよび相関の種々のデシメイション値に対して図２に示される概略的なデータ編制を示す。各々の図に対し、データを初期設定しかつ処理するためのステップがバレットまたは弾薬筒（ｂｕｌｌｅｔ）形式で与えられており、処理を行うために使用される適用可能な方程式もまた示されている。
＊  実数たたみ込みＦＩＲフィルタ（図３）
＜方程式＞
0004494531.tif 000002
＜初期設定＞
＊  モード＆フィルタカウントをセット（＝係数値の＃）。
＊  係数バンクの係数を逆方向順序（ｒｅｖｅｒｓｅ  ｏｒｄｅｒ）で初期設定。コアが＃フィルタ＿カウント書込みを実行。
＜処理＞
＊  もし入力データバッファが空であれば、４つまでの新しいデータワードを転送するためコア／ＤＭＡをトリガ。
＊  データバンクのデータを正方向順序（ｄｉｒｅｃｔ  ｏｒｄｅｒ）で初期設定。コア／ＤＭＡが＃フィルタ＿カウント書込みを実行。
＊  Ｆ（ｎ）を計算し、結果を記憶し、コア／ＤＭＡをトリガ。
＊  新しいデータワードをデータバンクに取得しかつデータバンクポインタ増分。
＊  ２による出力デシメイションを備えた実数たたみ込みＦＩＲフィルタ（図４）
＜方程式＞
0004494531.tif 000003
＜初期設定＞
＊  モード＆フィルタカウントをセット（＝係数値の＃）。
＊  係数バンクの係数を逆方向順序（ｒｅｖｅｒｓｅ  ｏｒｄｅｒ）で初期設定。コアが＃フィルタ＿カウント書込みを実行。
＜処理＞
＊  もし入力データバッファが空であれば、４つまでの新しいデータワードを転送するためコア／ＤＭＡをトリガ。
＊  データバンクのデータを正方向順序（ｄｉｒｅｃｔ  ｏｒｄｅｒ）で初期設定。コア／ＤＭＡが＃フィルタ＿カウント書込みを実行。
＊  Ｆ（ｎ）を計算し、結果を記憶し、コア／ＤＭＡをトリガ。
＊  新しいデータワードをデータバンクに取得しかつデータバンクポインタ増分。
＊  新しいデータワードをデータバンクに取得しかつデータバンクポインタ増分。
＊  実数相関ＦＩＲフィルタ（図５）
＜方程式＞
0004494531.tif 000004
＜初期設定＞
＊  モード＆フィルタカウントをセット（＝係数値の＃）。
＊  係数バンクの係数を正方向順序で初期設定。
＊  コアは＃フィルタ＿カウント書込みを実行。
＜処理＞
＊  もし入力データバッファが空であれば、４つまでの新しいデータワードを転送するためコア／ＤＭＡをトリガ。
＊  データバンクのデータを正方向順序で初期設定。コア／ＤＭＡが＃フィルタ＿カウント書込みを実行。
＊  Ｆ（ｎ）を計算し、結果を記憶し、コア／ＤＭＡをトリガ。
＊  新しいデータワードをデータバンクに取得しかつデータバンクポインタ増分。
＊  ２による出力デシメイションを備えた実数相関ＦＩＲフィルタ（図６）
＜方程式＞
0004494531.tif 000005
＜初期設定＞
＊  モード＆フィルタカウントをセット（＝係数値の＃）。
＊  係数バンクの係数を正方向順序で初期設定。
＊  コアは＃フィルタ＿カウント書込みを実行。
＜処理＞
＊  もし入力データバッファが空であれば、４つまでの新しいデータワードを転送するためコア／ＤＭＡをトリガ。
＊  データバンクのデータを正方向順序で初期設定。コア／ＤＭＡが＃フィルタ＿カウント書込みを実行。
＊  Ｆ（ｎ）を計算し、結果を記憶し、コア／ＤＭＡをトリガ。
＊  新しいデータワードをデータバンクに取得しかつデータバンクポインタ増分。
＊  新しいデータワードをデータバンクに取得しかつデータバンクポインタ増分。
＊  複素たたみ込みＦＩＲフィルタ（図７）
＜方程式＞
0004494531.tif 000006
＜初期設定＞
＊  モード＆フィルタカウントをセット（＝係数値の＃）。
＊  係数バンクの係数を正方向順序で初期設定。
＊  コアは＃フィルタ＿カウント書込みを実行。
＜処理＞
＊  入力データバッファが空であれば、２または４の新しいデータワードを転送するためコア／ＤＭＡをトリガ。
＊  データバンクにおけるデータを正方向順序で初期設定。コア／ＤＭＡは＃フィルタ＿カウント書込みを実行。
＊  ＦＲ（ｎ）を計算し、結果を記憶し、コア／ＤＭＡをトリガ。
＊  ＦＩ（ｎ）を計算し、結果を記憶し、コア／ＤＭＡをトリガ。
＊  新しいデータワード（ＤＲ）を取得し、データバンクポインタを増分。
＊  新しいデータワード（ＤＩ）を取得し、データバンクポインタを増分。
＊  ２による出力デシメイションを備えた複素たたみ込みＦＩＲフィルタ（図８）
＜方程式＞
0004494531.tif 000007
＜初期設定＞
＊  モード＆フィルタカウントをセット（＝係数値の＃）。
＊  係数バンクの係数を正方向順序で初期設定。
＊  コアは＃フィルタ＿カウント書込みを実行。
＜処理＞
＊  入力データバッファが空であれば、２または４の新しいデータワードを転送するためコア／ＤＭＡをトリガ。
＊  データバンクにおけるデータを正方向順序で初期設定。コア／ＤＭＡは＃フィルタ＿カウント書込みを実行。
＊  ＦＲ（ｎ）を計算し、結果を記憶し、コア／ＤＭＡをトリガ。
＊  ＦＩ（ｎ）を計算し、結果を記憶し、コア／ＤＭＡをトリガ。
＊  新しいデータワード（ＤＲ）を取得し、データバンクポインタを増分。
＊  新しいデータワード（ＤＩ）を取得し、データバンクポインタを増分。
＊  新しいデータワード（ＤＲ）を取得し、データバンクポインタを増分。
＊  新しいデータワード（ＤＩ）を取得し、新しいデータバンクポインタを増分。
＊  実数出力のみを発生する複素たたみ込みＦＩＲフィルタ（図９）
＜方程式＞
0004494531.tif 000008
＜初期設定＞
＊  モード＆フィルタカウントをセット（＝係数値の＃）。
＊  係数バンクの係数を逆方向順序で初期設定し、一方虚数係数は始めに無視される。
＊  コアは＃フィルタ＿カウント書込みを実行。
＜処理＞
＊  もし入力データバッファが空であれば、２または４の新しいデータワードを転送するためにコア／ＤＭＡをトリガ。
＊  データバンクのデータを正方向順序で初期設定。コア／ＤＭＡは＃フィルタ＿カウント書込みを実行。
＊  ＦＲ（ｎ）を計算し、結果を記憶し、コア／ＤＭＡをトリガ。
＊  新しいデータワード（ＤＲ）を取得し、データバンクポインタを増分。
＊  新しいデータワード（ＤＩ）を取得し、データバンクポインタを増分。
＊  虚数出力のみを発生する複素たたみ込みＦＩＲフィルタ（図１０）
＜方程式＞
0004494531.tif 000009
＜初期設定＞
＊  モード＆フィルタカウントをセット（＝係数値の＃）。
＊  データはＩｍ／Ｒｅ対に編制。
＊  係数バンクの係数を逆方向順序で初期設定し、一方虚数係数は始めに無視される。
＊  コアは＃フィルタ＿カウント書込みを実行。
＜処理＞
＊  入力データバッファが空であれば、２または４の新しいデータワードを転送するためコア／ＤＭＡをトリガ。
＊  データバンクのデータを正方向順序で初期設定。コア／ＤＭＡは＃フィルタ＿カウント書込みを実行。
＊  ＦＩ（ｎ）を計算し、結果を記憶し、コア／ＤＭＡをトリガ。
＊  新しいデータワード（ＤＩ）を取得し、データバンクポインタを増分。
＊  新しいデータワード（ＤＲ）を取得し、データバンクポインタを増分。
＊  複素相関ＦＩＲフィルタ（図１１）
＜方程式＞
0004494531.tif 000010
＜初期化＞
＊  モード＆フィルタカウントをセット（＝係数値の＃）。
＊  係数バンクの係数を正方向順序で初期設定し、一方虚数成分は始めに無視される。
＊  コアは＃フィルタ＿カウント書込みを実行。
＜処理＞
＊  入力データバッファが空であれば、２または４の新しいデータワードを転送するためコア／ＤＭＡをトリガ。
＊  データバンクのデータを正方向順序で初期設定。コア／ＤＭＡは＃フィルタ＿カウント書込みを実行。
＊  ＦＲ（ｎ）を計算し、結果を記憶し、コア／ＤＭＡをトリガ。
＊  ＦＩ（ｎ）を計算し、結果を記憶し、コア／ＤＭＡをトリガ。
＊  新しいデータワード（ＤＲ）を取得し、データバンクポインタを増分。
＊  新しいデータワード（ＤＩ）を取得し、データバンクポインタを増分。
＊  ２による出力デシメイションを備えた複素相関ＦＩＲフィルタ（図１２）
＜方程式＞
0004494531.tif 000011
＜初期化＞
＊  モード＆フィルタカウントをセット（＝係数値の＃）。
＊  係数バンクの係数を正方向順序で初期設定し、一方虚数成分は始めに無視される。
＊  コアは＃フィルタ＿カウント書込みを実行。
＜処理＞
＊  入力データバッファが空であれば、２または４の新しいデータワードを転送するためコア／ＤＭＡをトリガ。
＊  データバンクのデータを正方向順序で初期設定。コア／ＤＭＡは＃フィルタ＿カウント書込みを実行。
＊  ＦＲ（ｎ）を計算し、結果を記憶し、コア／ＤＭＡをトリガ。
＊  ＦＩ（ｎ）を計算し、結果を記憶し、コア／ＤＭＡをトリガ。
＊  新しいデータワード（ＤＲ）を取得し、データバンクポインタを増分。
＊  新しいデータワード（ＤＩ）を取得し、データバンクポインタを増分。
＊  新しいデータワード（ＤＲ）を取得し、データバンクポインタを増分。
＊  新しいデータワード（ＤＩ）を取得し、データバンクポインタを増分。
図１に示されるハードウエアアーキテクチャは受信機のイコライザにおいて使用される場合に特に有利である。そのようなイコライザは概略的に図１３に示されており、そこでは直交信号ＩおよびＱが相関ブロック２０３に入力される。重要なことは、本発明はＩおよびＱの間の直交性を活用し、従って図１のフィルタコプロセッサは任意の直交変調システムにおいて有利に実施できることに注目することである。説明を続けると、相関ブロック２０３はその出力としてマッチドフィルタ２０６への入力を有する。マッチドフィルタ２０６はまた入力として直交信号ＩおよびＱを有する。マッチドフィルタ２０６の出力はビタビデコーダ（Ｖｉｔｅｒｂｉ  ｄｅｃｏｄｅｒ）２０９へ入力される。相関ブロック２０３、マッチドフィルタ２０６およびビタビデコーダ２０９は全体として技術的によく知られたイコライザを構成する。ビタビデコーダ２０９の出力は受信信号のさらなる処理を行うチャネルデコーダ（図示せず）へと入力される。
図１４〜図１９は図１のハードウエアアーキテクチャに適用されるマッチドフィルタリング（モード２）および相関（モード３）のデシメイション値を変えるための図２に示される概略的なデータ編制を示す。最初の分析は相関プロセスのものである。相関プロセスにおいては、入力データはミッドアンブルの形式での同期ワードパターンと相関される。ＧＳＭのＧＭＳＫ変調機構の性質により、同期ワードは、純粋の実数値と純粋の虚数値との間で交番する。通常、フルバリュー（ｆｕｌｌ  ｖａｌｕｅｓ）である。通常、全またはフル複素数乗算は４つの乗算および累算操作を必要とする。同期ワードの性質のため、２つの乗算が必要とされるのみであり、それは実数または虚数部分のいずれかが“０”である（すなわち、直交する）ためである。図１のフィルタコプロセッサは計算時間を半分に低減するためにこの特性を活用する。前述のように、各図に対して、データを初期設定しかつ処理するためのステップがバレット形式で与えられ、処理を行うために使用される適用可能な方程式も示される。
＊  フル複素データシーケンスと交互の純粋実数／純粋虚数データ要素からなる複素シーケンスの間の複素相関（図１６および図１７）
トレーニングシーケンス（受信データ）は複素数である（ビットごとに一対のＩおよびＱサンプル）。ミッドアンブルシーケンス（参照データまたは基準データ）は交互の純粋Ｒｅ／純粋Ｉｍ複素数値からなり（ビットごとに１つの純粋の複素数）、図１６に示される表を形成する。
＜方程式＞
＊  相関関数は、
0004494531.tif 000012
＊  ミッドアンブルシーケンスの直交成分を活用すると次式が得られる。
0004494531.tif 000013
＊  したがって、複素相関出力が各々の複素入力に対して計算され半分のＭＡＣ操作を必要とする。
＜初期設定＞
＊  モード＆フィルタカウント設定（＝係数値の＃）。
＊  係数バンクの係数を正方向順序で初期設定。
＊  コアは＃フィルタ＿カウント書込みを実行。
＜処理＞
＊  入力データバッファが空の場合に、２または４の新しいデータサンプルを転送するためコア／ＤＭＡをトリガ。
＊  データバンクのデータを正方向順序で初期設定。コア／ＤＭＡは２×＃フィルタ＿カウント書込みを実行。
＊  ＦＲ（ｎ）を計算し、結果を記憶し、コア／ＤＭＡをトリガ。
＊  ＦＩ（ｎ）を計算し、結果を記憶し、コア／ＤＭＡをトリガ。
＊  新しいデータワード（ＤＲ）を取得し、データバンクポインタを増分。
＊  新しいデータワード（ＤＩ）を取得し、データバンクポインタを増分。
＊  ２によりオーバサンプルされた完全複素データシーケンスと交互の純粋実数／純粋虚数データ要素からなる複素シーケンスの間の複素相関（図１８および図１９）
トレーニングシーケンス（受信データ）は２×オーバサンプルされる（ビットごとに２×Ｉ＆Ｑサンプル）。ミッドアンブルシーケンス（基準データ）は交互の純粋Ｒｅ／純粋Ｉｍ複素数値（ビットごとに１つの純粋の複素数）から構成される。相関の前に、ミッドアンブルシーケンスは純粋の複素数値の間に複素ゼロを加えることにより２×補間されて、図１８に示される表を形成する。
＜方程式＞
＊  相関関数は次のようになる
0004494531.tif 000014
＊  補間されたミッドアンブルシーケンスの直交成分を活用することにより次の式を得る。
0004494531.tif 000015
＊  ｎが「偶数」である場合、フィルタ出力は「奇数」入力サンプルと独立であり、かつｎが「奇数」である場合、フィルタ出力は「偶数」入力サンプルと独立であることを容易に示すことができる。その結果、偶数および奇数フィルタ出力は別個に計算することができ、半分のデータメモリのバンクサイズを必要とするのみとなる。
＜初期設定＞
＊  モード＆フィルタカウントを設定（＝係数値の＃）。
＊  係数バンクの係数を正方向順序で初期設定。
＊  コアは＃フィルタ＿カウント書込みを実行。
＜処理＞
＊  入力データバッファが空の場合、２または４の新しいデータサンプルを転送するためコア／ＤＭＡをトリガ。
＊  データバンクのデータを正方向順序で初期設定。コア／ＤＭＡは２×＃フィルタ＿カウント書込みを実行、偶数のみまたは奇数のみ。
＊  ＦＲ（ｎ）を計算し、結果を記憶し、コア／ＤＭＡをトリガ。
＊  ＦＩ（ｎ）を計算し、結果を記憶し、コア／ＤＭＡをトリガ。
＊  新しいデータワード（ＤＲ）を取得し、データバンクポインタを増分。
＊  新しいデータワード（ＤＩ）を取得し、データバンクポインタを増分。
第２の分析はマッチドフィルタリングプロセスのものである。マッチドフィルタリングプロセスにおいては、ＧＳＭシステムにおいて使用される等化プロセスに特定的な２つの要素が活用される。第１に、交互の実数および虚数出力値のみが計算される。これは前述のようにＧＭＳＫ変調機構の直交的性質を活用する。さらに、２×オーバサンプルされたデータを処理しかつビット出力ごとに単一のサンプルを提供するため出力データは２によりデシメイトされる。出力シーケンスはビタビデコーダ２０９によるさらなる処理のために純粋の実数シーケンスとして取り扱われる。前と同様に、フィルタコプロセッサのマッチドフィルタリングモードはこれらの特性を活用して完全な複素数乗算を行うものに対して計算時間を低減する。前述のように、各々の図に対して、データを初期設定しかつ処理するためのステップがバレット形式で与えられ、処理を行うために使用される適用可能な方程式も示されている。
＊  純粋の実数／純粋の虚数出力を交互に発生する複素ＦＩＲフィルタ（図１４）
＜方程式＞
0004494531.tif 000016
＜初期設定＞
＊  モード＆フィルタカウントを設定（＝係数値の＃）。
＊  係数バンクの係数を逆方向順序で初期設定。
＊  コアは＃フィルタ＿カウント書込みを実行。
＜処理＞
＊  もし入力データバッファが空であれば、２まはた４の新しいデータワードを転送するためコア／ＤＭＡをトリガ。
＊  データバンクのデータを正方向順序で初期設定。コア／ＤＭＡは＃フィルタ＿カウント書込みを実行。
＊  ＦＲ（ｎ）を計算し、結果を記憶し、コア／ＤＭＡをトリガ。
＊  新しいデータワード（ＤＲ）を取得し、データバンクポインタを増分。
＊  新しいデータワード（ＤＩ）を取得し、データバンクポインタを増分。
＊  ＦＩ（ｎ）を計算し、結果を記憶し、コア／ＤＭＡをトリガ。
＊  新しいデータワード（ＤＲ）を取得し、データバンクポインタを増分。
＊  新しいデータワード（ＤＩ）を取得し、データバンクポインタを増分。
＊  ２によりデシメイトされた交互の純粋の実数／純粋の虚数出力を発生する複素ＦＩＲフィルタ（図１５）
＜方程式＞
0004494531.tif 000017
＜初期設定＞
＊  モード＆フィルタカウントを設定（＝係数値の＃）。
＊  係数バンクの係数を逆方向順序で初期設定。
＜処理＞
＊  もし入力データバッファが空であれば、４つの新しいデータワード（２つの複素データ）を転送するためコア／ＤＭＡをトリガ。
＊  データを正方向順序で初期設定（コア／ＤＭＡ書込み）。
＊  ＦＲ（ｎ）を計算し、結果を記憶し、コア／ＤＭＡをトリガ。
＊  新しいデータワード（ＤＲ）を取得し、データバンクポインタを増分。
＊  新しいデータワード（ＤＩ）を取得し、データバンクポインタを増分。
＊  新しいデータワード（ＤＲ）を取得し、データバンクポインタを増分。
＊  新しいデータワード（ＤＩ）を取得し、データバンクポインタを増分。
＊  ＦＩ（ｎ）を計算し、結果を記憶し、コア／ＤＭＡをトリガ。
＊  新しいデータワード（ＤＲ）を取得し、データバンクポインタを増分。
＊  新しいデータワード（ＤＩ）を取得し、データバンクポインタを増分。
＊  新しいデータワード（ＤＲ）を取得し、データバンクポインタを増分。
＊  新しいデータワード（ＤＩ）を取得し、データバンクポインタを増分。
あらかじめ、これらのタスクはプロセッサコア上でファームウエア動作によって行われている。以下の表はフィルタコプロセッサを使用して行われる改善を示す。
【表１】
0004494531.tif 000018
【表２】
0004494531.tif 000019
図２０は、無線通信システムの受信機において好適に実施される図１のフィルタコプロセッサを概略的に示す。概略的に説明すると、この受信機は直交変調された信号４００を受信機フロントエンド４０６において受信する。直交変調された信号４００は複数のシンボルからなる。好ましい実施形態では、該シンボルは受信機フロントエンド４０６の第１および第２の分岐（ｂｒａｎｃｈｅｓ）において受信されかつ第１および第２の分岐の間のシンボルの受信は所定の期間だけオフセットされている。図１に示されるフィルタコプロセッサのハードウエアを実施するチャネルイコライザ２１２においては、受信機の第１の分岐からの偶数番号のシンボルが独立にデコードされかつ受信機の第２の分岐からの奇数番号のシンボルが独立にデコードされて受信機の各分岐に対するデコードされた情報を生成する。受信機の各分岐に対するデコードされた情報は次に受信機バックエンド（図示せず）に結合されかつ処理される。
好ましい実施形態では、前記直交変調された信号はさらにオフセット直交位相シフトキード（ＱＰＳＫ）変調された信号を含み、この信号は特定的にはガウス最小シフトキーイング（Ｇａｕｓｓｉａｎ  Ｍｉｎｉｍｕｍ  Ｓｈｉｆｔ  Ｋｅｙｉｎｇ：ＧＭＳＫ）変調された信号である。最小シフトキーイング（ＭＳＫ）変調、のような他の形式の変調も同様に使用できる。図２０の受信機は時分割多元接続（ＴＤＭＡ）エアインタフェース、かつ特にグループスペシャルモービル（Ｇｒｏｕｐｅ  Ｓｐｅｃｉａｌ  Ｍｏｂｉｌｅ：ＧＳＭ）ＴＤＭＡエアインタフェース、と両立性がある。
前記受信機の第１の分岐からの偶数番号のシンボルは独立にデコードされかつ前記受信機の第２の分岐からの奇数番号のシンボルが独立にデコードされて受信機の各分岐に対するデコードされた情報を生成する。独立のデコードを行うために、ＩおよびＱデータはトレーニングシーケンスによって相関されてチャネルインパルス応答を推定または評価しその後受信データと共に推定または評価されたチャネルをマッチフィルタリングする。前記トレーニングシーケンス（基準データ）は図１６の表に示されるように交互の純粋＿Ｒｅ／純粋＿Ｉｍ複素数値（ビットごとに１つの純粋の複素数）から構成される。それは次に最尤シーケンス推定（ＭＬＳＥ）およびシンボル間干渉打消し（ｉｎｔｅｒ−ｓｙｍｂｏｌ  ｉｎｔｅｒｆｅｒｅｎｃｅ  ｃａｎｃｅｌｌａｔｉｏｎ）を行ってソフト決定データシーケンス推定を行う。ソフト決定データは次にさらに処理を行うためチャネルデコーダ（受信機バックエンド）に渡される。ここに説明されかつ図１に示されたフィルタコプロセッサはチャネルインパルス応答のための相関プロセスならびにその推定または計算された（ｅｓｔｉｍａｔｅｄ）チャネルによる受信データのマッチフィルタリングプロセスを行う。ＧＳＭシステムのＧＭＳＫ変調機構を活用することにより、前記相関およびマッチドフィルタリングプロセスを行うためのステップの数が大幅に低減され、従ってＲＦキャリアごとにより少ないＤＳＰを要求する結果となる。
本発明が特定の実施形態に関して特定的に示されかつ説明されたが、当業者には本発明の範囲から離れることなく形式上または細部において種々の変更を行うことができることが理解されるであろう。
【図１】
0004494531.tif 000020
【図２】
0004494531.tif 000021
【図３】
0004494531.tif 000022
【図４】
0004494531.tif 000023
【図５】
0004494531.tif 000024
【図６】
0004494531.tif 000025
【図７】
0004494531.tif 000026
【図８】
0004494531.tif 000027
【図９】
0004494531.tif 000028
【図１０】
0004494531.tif 000029
【図１１】
0004494531.tif 000030
【図１２】
0004494531.tif 000031
【図１３】
0004494531.tif 000032
【図１４】
0004494531.tif 000033
【図１５】
0004494531.tif 000034
【図１６】
0004494531.tif 000035
【図１７】
0004494531.tif 000036
【図１８】
0004494531.tif 000037
【図１９】
0004494531.tif 000038
【図２０】
0004494531.tif 000039