(57)【要約】【課題】対象フィルタの応答を指定時間シフトした応答となるデジタルフィルタの係数を生成する。【解決手段】対象フィルタにおける予め定められたサンプリング周期のインパルス応答と、サンプリング周期で正規化した時間を変数とするＳＩＮＣ関数を指定時間シフトした遅延関数とを畳込み積分した遅延インパルス応答を生成する畳込み部と、遅延インパルス応答に基づきデジタルフィルタの係数を生成する係数生成部と、を備えるフィルタ生成装置を提供する。【選択図】図１
2011205170.tif 000002
【特許請求の範囲】
【請求項１】
対象フィルタにおける予め定められたサンプリング周期のインパルス応答と、前記サンプリング周期で正規化した時間を変数とするＳＩＮＣ関数を指定時間シフトした遅延関数とを畳込み積分した遅延インパルス応答を生成する畳込み部と、
前記遅延インパルス応答に基づきデジタルフィルタの係数を生成する係数生成部と、
を備えるフィルタ生成装置。
【請求項２】
前記畳込み積分部は、前記対象フィルタにおける予め定められたサンプリング周期のインパルス応答と、前記ＳＩＮＣ関数を前記サンプリング周期未満の精度で表される指定時間シフトした遅延関数とを畳込み積分した遅延インパルス応答を生成する
請求項１に記載のフィルタ生成装置。
【請求項３】
当該フィルタ生成装置は、周波数に対して位相が線形に変化する位相特性を有するフィルタを前記対象フィルタとして、前記デジタルフィルタの係数を生成する
請求項１または２に記載のフィルタ生成装置。
【請求項４】
予め定められた時間範囲より前の値および前記時間範囲より後の値が０となる窓関数を前記遅延インパルス応答に乗じる打切部を更に備え、
前記係数生成部は、前記打切部により前記窓関数が乗じられた前記遅延インパルス応答に基づきデジタルフィルタの係数を生成する
請求項１から３の何れかに記載のフィルタ生成装置。
【請求項５】
前記打切部は、予め定められた偶関数を前記指定時間シフトした前記窓関数を前記遅延インパルス応答に乗じる
請求項４に記載のフィルタ生成装置。
【請求項６】
前記遅延インパルス応答に指定ゲインを乗じるゲイン変更部
を更に備える請求項１から５の何れかに記載のフィルタ生成装置。
【請求項７】
前記係数生成部は、予め定められるタップ数のＦＩＲフィルタの係数を生成する
請求項１から６の何れかに記載のフィルタ生成装置。
【請求項８】
前記係数生成部は、予め定められるタップ数のＩＩＲフィルタの係数を生成する
請求項１から６の何れかに記載のフィルタ生成装置。
【請求項９】
請求項１から８の何れかに記載のフィルタ生成装置としてコンピュータを機能させるプログラム。
【請求項１０】
対象フィルタにおける予め定められたサンプリング周期のインパルス応答と、前記サンプリング周期で正規化した時間を変数とするＳＩＮＣ関数を指定時間シフトした遅延関数とを畳込み積分した遅延インパルス応答を生成し、
前記遅延インパルス応答に基づきデジタルフィルタの係数を生成する
フィルタ生成方法。
【請求項１１】
対象フィルタにおける予め定められたサンプリング周期のインパルス応答を離散フーリエ変換した周波数応答を生成する離散フーリエ変換部と、
前記周波数応答のそれぞれの周波数成分を、指定時間に応じた位相分シフトする位相シフト部と、
位相がシフトされた前記周波数応答を逆離散フーリエ変換した遅延インパルス応答を生成する逆離散フーリエ変換部と、
前記遅延インパルス応答に基づきデジタルフィルタの係数を生成する係数生成部と、
を備えるフィルタ生成装置。
【請求項１２】
前記逆離散フーリエ変換部により生成される遅延インパルス応答を実数とするべく、前記位相シフト部により位相がシフトされた前記周波数応答に対して実数化処理をする実数化部を更に備え、
前記逆離散フーリエ変換部は、実数化された前記周波数応答を逆離散フーリエ変換した遅延インパルス応答を生成する
請求項１１に記載のフィルタ生成装置。
【請求項１３】
請求項１１または１２に記載のフィルタ生成装置としてコンピュータを機能させるプログラム。
【請求項１４】
対象フィルタにおける予め定められたサンプリング周期のインパルス応答を離散フーリエ変換した周波数応答を生成し、
前記周波数応答のそれぞれの周波数成分を、指定時間に応じた位相分シフトし、
位相がシフトされた前記周波数応答を逆離散フーリエ変換した遅延インパルス応答を生成し、
前記遅延インパルス応答に基づきデジタルフィルタの係数を生成する
フィルタ生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィルタ生成装置、プログラムおよびフィルタ生成方法に関する。
【背景技術】
【０００２】
ＩＱ変復調器のＩチャネルおよびＱチャネルの間およびインターリーブＡＤコンバータのチャネル間は、スキューが精度良く調整されていることが好ましい。このようなチャネル間のスキューは、群遅延を精度良く調整したデジタルフィルタを設けることにより調整することができる。特許文献１には、フィルタのインパルス応答を再サンプリングし、再サンプリングしたインパルス応答に基づき群遅延を調整したフィルタを生成する方法が記載されている。
【０００３】
特許文献１  特開平９−２０００４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、インパルス応答を再サンプリングして群遅延を調整する場合、サンプリングククロックをサンプリング周期未満で精度良く遅延させなければならなく、処理が煩雑であった。また、このような方法では、移動平均フィルタ等の応答がフラットなフィルタに対しては適用することができなかった。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明の第１の態様においては、対象フィルタにおける予め定められたサンプリング周期のインパルス応答と、前記サンプリング周期で正規化した時間を変数とするＳＩＮＣ関数を指定時間シフトした遅延関数とを畳込み積分した遅延インパルス応答を生成する畳込み部と、前記遅延インパルス応答に基づきデジタルフィルタの係数を生成する係数生成部と、を備えるフィルタ生成装置、プログラムおよびフィルタ生成方法を提供する。
【０００６】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００７】
【図１】本実施形態に係るフィルタ生成装置１０の構成を示す。
【図２】サンプリング周期で正規化したＳＩＮＣ関数の周波数応答およびインパルス応答を示す。
【図３】ＳＩＮＣ関数を指定時間τ遅延した遅延関数の周波数応答およびインパルス応答を示す。
【図４】対象フィルタのインパルス応答と遅延関数との畳込み積分処理を示す。
【図５】遅延インパルス応答と窓関数との乗算処理を示す。
【図６】本実施形態に係るフィルタ生成装置１０により生成されたデジタルフィルタの振幅特性のシミュレーション結果の一例を示す。
【図７】対象フィルタの位相特性の一例および本実施形態に係るフィルタ生成装置１０により生成されたデジタルフィルタの位相特性の一例を示す。
【図８】タップ数が奇数で係数が偶対称の完全線形位相フィルタの一例を示す。
【図９】タップ数が偶数で係数が偶対称の完全線形位相フィルタの一例を示す。
【図１０】タップ数が奇数で係数が奇対称の完全線形位相フィルタの一例を示す。
【図１１】タップ数が偶数で係数が奇対称の完全線形位相フィルタの一例を示す。
【図１２】本実施形態の変形例に係るフィルタ生成装置１０の構成を示す。
【図１３】本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。
【発明を実施するための形態】
【０００８】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００９】
図１は、本実施形態に係るフィルタ生成装置１０の構成を示す。フィルタ生成装置１０は、既存のデジタルフィルタ（対象フィルタ）に基づき新たなデジタルフィルタの係数を生成する。より詳しくは、フィルタ生成装置１０は、対象フィルタの時間応答から指定時間シフトした時間応答となるデジタルフィルタの係数を生成する。即ち、フィルタ生成装置１０は、対象フィルタの周波数応答から振幅特性が変化せず、位相特性のみが周波数に対して線形に変化した周波数応答の新たなデジタルフィルタを生成する。
【００１０】
フィルタ生成装置１０は、応答生成部１２と、関数生成部１４と、畳込み部１６と、ゲイン変更部１８と、窓関数生成部２０と、打切部２２と、係数生成部２４とを備える。
【００１１】
応答生成部１２は、対象フィルタに関する情報を受け取り、対象フィルタにおける予め定められたサンプリング周期Ｔのインパルス応答を生成する。対象フィルタは、一例として、ＦＩＲ（Finite Impulse Response）フィルタまたはＩＩＲ（Infinite impulse response）フィルタである。また、応答生成部１２は、対象フィルタに関する情報として、対象フィルタのサンプリング周期Ｔのインパルス応答を直接外部から受け取ってもよい。この場合、応答生成部１２は、受け取ったインパルス応答をそのまま出力する。
【００１２】
関数生成部１４は、外部から指定時間τの指定を受ける。この場合において、関数生成部１４は、サンプリング周期Ｔ未満の精度で表される指定時間τの指定を受ける。そして、関数生成部１４は、サンプリング周期Ｔで正規化した時間を変数とするＳＩＮＣ関数を、指定時間τシフトした遅延関数を生成する。なお、ＳＩＮＣ関数および遅延関数については、詳細を後述する。
【００１３】
畳込み部１６は、応答生成部１２により生成されたインパルス応答および関数生成部１４により生成された遅延関数を受け取る。畳込み部１６は、応答生成部１２により生成されたインパルス応答と関数生成部１４により生成された遅延関数とを畳込み積分した遅延インパルス応答を生成する。
【００１４】
ゲイン変更部１８は、外部から指定ゲインＧの指定を受ける。そして、ゲイン変更部１８は、畳込み部１６により生成された遅延インパルス応答に指定ゲインＧを乗じる。ゲイン変更部１８は、指定ゲインＧの指定を受けない場合には、指定ゲインＧを乗じずに受け取った遅延インパルス応答をそのまま出力する。
【００１５】
窓関数生成部２０は、例えばサンプリング周期Ｔで正規化された時間を変数とした関数であって、予め定められた時間範囲より前の値および時間範囲より後の値が０となる窓関数を生成する。窓関数生成部２０は、一例として、係数を生成するべきデジタルフィルタのタップ数に応じた時間範囲より前、および、当該時間範囲より後の値が０となる窓関数を生成する。また、窓関数生成部２０は、一例として、予め定められた偶関数を指定時間τシフトした窓関数を生成してもよい。
【００１６】
打切部２２は、窓関数生成部２０により生成された窓関数を遅延インパルス応答に乗じる。打切部２２は、一例として、窓関数をゲインＧが乗じられた遅延インパルス応答に乗じる。これにより、打切部２２は、遅延インパルス応答における予め定められた時間範囲以外の部分を削除することができる。
【００１７】
係数生成部２４は、打切部２２により窓関数が乗じられた遅延インパルス応答に基づきデジタルフィルタの係数を生成する。係数生成部２４は、一例として、予め定められるタップ数のＦＩＲフィルタの係数またはＩＩＲフィルタの係数を生成する。
【００１８】
そして、このようなフィルタ生成装置１０により生成された係数は、一例として、デジタルフィルタの設計に用いられる。また、このようなフィルタ生成装置１０により生成された係数は、一例として、外部から係数が変更可能なデジタルフィルタに対して設定される。
【００１９】
このようなフィルタ生成装置１０によれば、対象フィルタの応答から指定時間τシフトした応答となるデジタルフィルタの係数を生成することができる。即ち、フィルタ生成装置１０によれば、対象フィルタの周波数応答から、振幅特性が変更せず、位相特性のみが周波数に対して線形に変化した周波数応答のデジタルフィルタの係数を生成することができる。
【００２０】
なお、フィルタ生成装置１０は、ゲイン変更部１８を備えない構成であってもよい。この場合、打切部２２は、遅延インパルス応答を畳込み部１６から直接受け取る。また、フィルタ生成装置１０は、ＩＩＲフィルタの係数を生成する場合、打切部２２を備えない構成であってもよい。この場合、係数生成部２４は、窓関数が乗じされていない遅延インパルス応答に基づきＩＩＲフィルタの係数を生成する。
【００２１】
図２は、サンプリング周期で正規化したＳＩＮＣ関数の周波数応答およびインパルス応答を示す。関数生成部１４は、サンプリング周期Ｔで正規化した時間を変数とするＳＩＮＣ関数を用いて遅延関数を生成する。サンプリング周期Ｔで正規化した時間を変数とするＳＩＮＣ関数の時間応答ｈ（ｔ）の一例は、下式のように表される。なお、Ｔは、サンプリング周期を表す。ｔは、変数であり、時間を表す。
【００２２】
【数１】
2011205170.tif 000003
【００２３】
このようなＳＩＮＣ関数の時間応答ｈ（ｔ）は、時間ｔがサンプリング周期Ｔの整数倍となる点（上記の式においては、時間ｔが整数になる点（…，−３，−２，−１，０，１，２，３，…））において、値が０となる。また、このようなＳＩＮＣ関数の振幅（｜Ｈ（ｊω）｜）は、角周波数ωが−π／Ｔ＜ω＜π／Ｔの範囲において、一定値（例えば１）となる。また、このようなＳＩＮＣ関数の位相（∠Ｈ（ｊω））は、角周波数ωが−π／Ｔ＜ω＜π／Ｔの範囲において、０となる。
【００２４】
図３は、ＳＩＮＣ関数を指定時間τ遅延した遅延関数の周波数応答およびインパルス応答を示す。関数生成部１４は、図２に示されるＳＩＮＣ関数を、指定時間τシフトして遅延関数を生成する。遅延関数の時間応答ｇ（ｔ）は、下式のように表される。なお、τは、指定時間を表す定数である。
【００２５】
【数２】
2011205170.tif 000004
【００２６】
このような遅延関数の時間応答ｇ（ｔ）は、時間ｔがサンプリング周期Ｔの整数倍となる点（上記の式においては、時間ｔが整数になる点（…，−３，−２，−１，０，１，２，３，…））において、時間ｔがサンプリング周期Ｔの整数倍となる点からτ遅れた時間におけるＳＩＮＣ関数の値となる。また、遅延関数の振幅（｜Ｇ（ｊω）｜）は、角周波数ωが−π／Ｔ＜ω＜π／Ｔの範囲において、一定値（例えば１）となる。これは、ＳＩＮＣ関数の振幅（｜Ｈ（ｊω））と同一である。
【００２７】
また、遅延関数の位相（∠Ｇ（ｊω））は、−ωτとなる。即ち、遅延関数の位相（∠Ｇ（ｊω））は、ＳＩＮＣ関数の位相（∠Ｈ（ｊω））から、角周波数ωに応じて線形に増加または減少する。
【００２８】
図４は、対象フィルタのインパルス応答と遅延関数との畳込み積分処理を示す。畳込み部１６は、対象フィルタのサンプリング周期Ｔのインパルス応答と、サンプリング周期Ｔで正規化した時間を変数とするＳＩＮＣ関数を指定時間τシフトした遅延関数とを畳込み積分して、遅延インパルス応答を生成する。この場合、畳込み部１６は、インパルス応答と、サンプリング周期Ｔで離散化した遅延関数とを畳込み積分してもよい。
【００２９】
畳込み部１６により生成された遅延インパルス応答は、対象フィルタのインパルス応答から、振幅特性が変更せず、位相特性のみが周波数に対して線形に変化した応答となる。以下、このような応答となる理由を説明する。なお、ａ（ｘ）＊ｂ（ｘ）は、ａ（ｘ）とｂ（ｘ）とを畳込み積分することを意味する。
【００３０】
まず、対象フィルタのサンプリング周期Ｔのインパルス応答ｈｉ（ｔ）は、下記の式（１）のように表される。なお、Ｎは、対象フィルタのタップ数を表す。ｈ（ｘ）は、対象フィルタの連続時間のインパルス応答を表す。δ（ｘ）は、時間ｔを変数とするデルタ関数を表す。
【００３１】
【数３】
2011205170.tif 000005
【００３２】
対象フィルタのサンプリング周期Ｔのインパルス応答ｈｉ（ｔ）を周波数領域で表わすと、下記の式（２）に示すＨｉ（ｆ）のように表される。
【００３３】
【数４】
2011205170.tif 000006
【００３４】
ここで、Ｈ（ｆ）は、対象フィルタの周波数特性であり、式（３）のように表される。
【００３５】
【数５】
2011205170.tif 000007
【００３６】
対象フィルタの周波数特性Ｈ（ｆ）を指定時間τ分遅らせた周波数特性は、下記の式（４）のＨ′（ｆ）のように表される。
【００３７】
【数６】
2011205170.tif 000008
【００３８】
式（４）のＨ′（ｆ）は、Ｈ（ｆ）に対して、振幅は同一で、位相が２πｆτ遅れている。ここで、式（４）のＨ′（ｆ）は、対象フィルタの周波数特性Ｈ（ｆ）に、下記の式（５）により表される周波数特性Ｓ（ｆ）を乗じた特性である。
【００３９】
【数７】
2011205170.tif 000009
【００４０】
周波数応答Ｓ（ｆ）を逆フーリエ変換して時間領域の特性に変換すると、下記の式（６）のようになる。
【００４１】
【数８】
2011205170.tif 000010
【００４２】
式（６）に示される時間領域のｓ（ｔ）は、サンプリング周期Ｔで正規化した時間を変数とするＳＩＮＣ関数を指定時間τシフトした遅延関数を表す。時間領域で表わされた関数の畳込み積分は、周波数領域で表わされた関数の乗算に相当する。従って、式（１）により表されるｈｉ（ｔ）とｓ（ｔ）とを畳込み積分することにより、式（４）のＨ′（ｆ）が導き出される。
【００４３】
このことから、対象フィルタのサンプリング周期Ｔのインパルス応答と、サンプリング周期Ｔで正規化した時間を変数とするＳＩＮＣ関数を指定時間τシフトした遅延関数とを畳込み積分して算出された遅延インパルス応答は、対象フィルタのインパルス応答から、振幅特性が変更せず、位相特性のみが周波数に対して線形に変化した応答となることがわかる。
【００４４】
また、式（６）に示されるような時間応答を有する理想的なフィルタについて考える。この理想的なフィルタのタップ数は無限大と仮定する。そして、この理想的なフィルタのサンプリング周期Ｔのインパルス応答ｓｉ（ｔ）は、下記の式（７）のように表される。
【００４５】
【数９】
2011205170.tif 000011
【００４６】
次に、対象フィルタのサンプリング周期Ｔのインパルス応答ｈｉ（ｔ）と、理想的なフィルタのサンプリング周期Ｔのインパルス応答ｓｉ（ｔ）とを畳込み積分する。下記の式（８）は、ｈｉ（ｔ）とｓｉ（ｔ）とを畳込み積分した結果を表す。
【００４７】
【数１０】
2011205170.tif 000012
【００４８】
式（８）は、畳込み部１６により生成される遅延インパルス応答を表す。畳込み部１６により生成される遅延インパルス応答は、式（８）に表されるような、負側の無限大から正側の無限大まで続く応答となる。
【００４９】
図５は、遅延インパルス応答と窓関数との乗算処理を示す。打切部２２は、予め定められた時間範囲より前の値および時間範囲より後の値が０となる窓関数を遅延インパルス応答に乗じる。窓関数は、時間を変数とする。窓関数は、一例として、時間０を中心に対称の偶関数である。
【００５０】
ここで、予め定められた時間範囲は、係数を生成すべきデジタルフィルタのタップ数に対応する時間範囲である。これにより、打切部２２は、負側の無限大から正側の無限大まで続く応答の遅延インパルス応答を、デジタルフィルタのタップ数に対応するインパルス応答に変換することができる。
【００５１】
また、本例において、打切部２２は、予め定められた偶関数を指定時間τシフトした窓関数を遅延インパルス応答に乗じる。指定時間τは、関数生成部１４がＳＩＮＣ関数をシフトした指定時間と同一である。打切部２２は、指定時間τシフトした窓関数を遅延インパルス応答に乗じることにより、打ち切りにより生じるフィルタ特性の悪化を抑制することができる。
【００５２】
そして、係数生成部２４は、このように打切部２２により有限長に打ち切られたインパルス応答に基づき、デジタルフィルタの係数を算出する。係数生成部２４は、一例として、ＦＩＲフィルタの係数を生成する場合には、打切部２２により生成されたインパルス応答のサンプル点の値を、そのままそれぞれ対応する係数に割り当てる。また、係数生成部２４は、一例として、ＩＩＲフィルタの係数を生成する場合には、打切部２２により生成されたインパルス応答に対して予め定められた演算を行って係数を算出する。
【００５３】
図６は、本実施形態に係るフィルタ生成装置１０により生成されたデジタルフィルタの振幅特性のシミュレーション結果の一例を示す。図７は、対象フィルタの位相特性の一例および本実施形態に係るフィルタ生成装置１０により生成されたデジタルフィルタの位相特性の一例を示す。
【００５４】
フィルタ生成装置１０により生成された係数が設定されたデジタルフィルタの振幅特性は、図６に示されるように、対象フィルタの振幅特性と同一となる。これに対して、フィルタ生成装置１０により生成された係数が設定されたデジタルフィルタの位相特性は、図７に示されるように、対象フィルタの位相特性から、周波数に応じて位相が線形に増加または減少した位相特性となる。このように、フィルタ生成装置１０によれば、対象フィルタの周波数応答から、振幅特性が変更せず、位相特性のみが周波数に対して線形に変化した周波数応答のデジタルフィルタの係数を生成することができる。
【００５５】
図８は、タップ数が奇数で係数が偶対称の完全線形位相フィルタの一例を示す。図９は、タップ数が偶数で係数が偶対称の完全線形位相フィルタの一例を示す。図１０は、タップ数が奇数で係数が奇対称の完全線形位相フィルタの一例を示す。図１１は、タップ数が偶数で係数が奇対称の完全線形位相フィルタの一例を示す。
【００５６】
フィルタ生成装置１０により生成される係数のデジタルフィルタの位相特性は、対象フィルタの位相特性からの変化量が周波数に応じて線形に増加または減少する。従って、対象フィルタの位相が周波数に対して線形に変化する場合、フィルタ生成装置１０により生成される係数のデジタルフィルタの位相も、同様に、周波数に対して線形に変化する。
【００５７】
即ち、対象フィルタが周波数に対して位相が線形に変化する位相特性を有する完全直線位相フィルタであれば、フィルタ生成装置１０により生成される係数のデジタルフィルタも周波数に対して位相が線形に変化する位相特性を有するフィルタとなる。従って、フィルタ生成装置１０によれば、原点に対称ではない係数を有する完全直線位相フィルタを生成することができる。
【００５８】
即ち、例えば、完全線形位相フィルタは、図８、図９、図１０および図１１に示されるようなフィルタである。フィルタ生成装置１０はこのような完全直線位相フィルタを対象フィルタとしてデジタルフィルタの係数を生成することにより、原点に対称ではない係数を有する完全直線位相フィルタを生成することができる。
【００５９】
図１２は、本実施形態の変形例に係るフィルタ生成装置１０の構成を示す。本変形例に係るフィルタ生成装置１０は、図１に示したフィルタ生成装置１０と略同一の構成および機能を採るので、略同一機能の部材には図面中に同一の符号を付け、以下相違点を除き説明を省略する。
【００６０】
本変形例に係るフィルタ生成装置１０は、図１に示される関数生成部１４および畳込み部１６に代えて、離散フーリエ変換部３２と、位相シフト部３４と、実数化部３６と、逆離散フーリエ変換部３８とを備える。離散フーリエ変換部３２は、応答生成部１２により生成されたインパルス応答を離散フーリエ変換をする。即ち、離散フーリエ変換部３２は、対象フィルタにおける予め定められたサンプリング周期Ｔのインパルス応答を離散フーリエ変換した周波数応答を生成する。
【００６１】
位相シフト部３４は、離散フーリエ変換部３２が生成した周波数応答のそれぞれの周波数成分を、指定時間τに応じた位相分シフトする。位相シフト部３４は、一例として、離散フーリエ変換して生成された複数の周波数成分のそれぞれについて、指定時間τに対応した位相量を算出する。そして、位相シフト部３４は、複数の周波数成分のそれぞれの位相を、算出した対応する位相量シフトする。
【００６２】
これにより、位相シフト部３４は、離散フーリエ変換部３２により生成された周波数応答のそれぞれの周波数成分に対して、下記の式（９）の成分を乗じることができる。
【００６３】
【数１１】
2011205170.tif 000013
【００６４】
実数化部３６は、後段の逆離散フーリエ変換部３８により生成される遅延インパルス応答を実数とするべく、位相シフト部３４により位相がシフトされた周波数応答に対して実数化の処理をする。即ち、実数化部３６は、逆離散フーリエ変換した結果が実数となるように、周波数応答に処理を施す。
【００６５】
より具体的には、実数化部３６は、サンプリング周波数をＦｓとした場合、周波数が０より大きくＦｓ／２以下の第１ナイキスト領域の周波数成分と、周波数がＦｓ／２より大きくＦｓ以下の第２ナイキスト領域の周波数成分とがミラー共役の関係となるように、周波数応答を変更する。実数化部３６は、一例として、第１ナイキスト領域の周波数成分に対してミラー共役な周波数成分を、第２ナイキスト領域にコピーする。
【００６６】
逆離散フーリエ変換部３８は、実数化部３６により実数化された周波数応答を逆離散フーリエ変換した遅延インパルス応答を生成する。そして、逆離散フーリエ変換部３８は、生成した遅延インパルス応答をゲイン変更部１８に与える。
【００６７】
このような変形例に係るフィルタ生成装置１０によれば、対象フィルタの応答から指定時間τシフトした応答となるデジタルフィルタの係数を生成することができる。即ち、フィルタ生成装置１０によれば、対象フィルタの周波数特性から、振幅特性が変更せず、位相特性のみが周波数に対して線形に変化した周波数応答のデジタルフィルタの係数を生成することができる。
【００６８】
図１３は、本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、及び表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスクドライブ２０４０、及びＣＤ−ＲＯＭドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０を有するレガシー入出力部とを備える。
【００６９】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００及びグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０及びＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００７０】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ２０６０は、ＣＤ−ＲＯＭ２０９５からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。
【００７１】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、及び／又は、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０を入出力コントローラ２０８４へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続する。
【００７２】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【００７３】
コンピュータ１９００にインストールされ、コンピュータ１９００を、フィルタ生成装置１０として機能させるプログラムは、応答生成モジュール、関数生成モジュールと、畳込みモジュールと、ゲイン変更モジュールと、窓関数生成モジュールと、打切モジュールと、係数生成モジュールとを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、応答生成部１２、関数生成部１４、畳込み部１６、ゲイン変更部１８、窓関数生成部２０、打切部２２および係数生成部２４としてそれぞれ機能させる。また、フィルタ生成装置１０として機能させるプログラムは、畳込みモジュールおよび関数生成モジュールに代えて、離散フーリエ変換モジュールと、位相シフトモジュールと、実数化モジュールと、離散フーリエ変換モジュールとを備えてもよい。この場合、これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、応答生成部１２、離散フーリエ変換部３２、位相シフト部３４、実数化部３６、逆離散フーリエ変換部３８、ゲイン変更部１８、窓関数生成部２０、打切部２２および係数生成部２４としてそれぞれ機能させる。
【００７４】
これらのプログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である応答生成部１２、関数生成部１４、畳込み部１６、ゲイン変更部１８、窓関数生成部２０、打切部２２、係数生成部２４、離散フーリエ変換部３２、位相シフト部３４、実数化部３６および逆離散フーリエ変換部３８として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有のフィルタ生成装置１０が構築される。
【００７５】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、ハードディスクドライブ２０４０、フレキシブルディスク２０９０、又はＣＤ−ＲＯＭ２０９５等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置又は通信インターフェイス２０３０からデータを読み出し、転送先の通信インターフェイス２０３０又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【００７６】
また、ＣＰＵ２０００は、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０（ＣＤ−ＲＯＭ２０９５）、フレキシブルディスク・ドライブ２０５０（フレキシブルディスク２０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、及び／又は記憶装置に含まれるものとする。
【００７７】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合（又は不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【００７８】
また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ２０００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【００７９】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５の他に、ＤＶＤ又はＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【００８０】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００８１】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００８２】
１０  フィルタ生成装置、１２  応答生成部、１４  関数生成部、１６  畳込み部、１８  ゲイン変更部、２０  窓関数生成部、２２  打切部、２４  係数生成部、３２  離散フーリエ変換部、３４  位相シフト部、３６  実数化部、３８  逆離散フーリエ変換部、１９００  コンピュータ、２０００  ＣＰＵ、２０１０  ＲＯＭ、２０２０  ＲＡＭ、２０３０  通信インターフェイス、２０４０  ハードディスクドライブ、２０５０  フレキシブルディスク・ドライブ、２０６０  ＣＤ−ＲＯＭドライブ、２０７０  入出力チップ、２０７５  グラフィック・コントローラ、２０８０  表示装置、２０８２  ホスト・コントローラ、２０８４  入出力コントローラ、２０９０  フレキシブルディスク、２０９５  ＣＤ−ＲＯＭ
【図１】
2011205170.tif 000014
【図２】
2011205170.tif 000015
【図３】
2011205170.tif 000016
【図４】
2011205170.tif 000017
【図５】
2011205170.tif 000018
【図６】
2011205170.tif 000019
【図７】
2011205170.tif 000020
【図８】
2011205170.tif 000021
【図９】
2011205170.tif 000022
【図１０】
2011205170.tif 000023
【図１１】
2011205170.tif 000024
【図１２】
2011205170.tif 000025
【図１３】
2011205170.tif 000026