(57)【要約】【課題】  窓関数の適応で重み付けを行なうことなく、ユニークなユーザ定義型のデータ構造に対応するＦＩＲフィルタのフィルタ係数を算出することができるＦＩＲフィルタ設計装置及びＦＩＲフィルタ設計方法を提供する。【解決手段】  ＦＩＲフィルタ設計装置１０は、白色雑音信号を発生する白色雑音信号発生手段２と、白色雑音信号を所定の周波数特性に変換し目標信号として出力する基準フィルタ手段３と、ユーザ定義型のデータ構造に対応するＦＩＲフィルタとしてフィルタ係数を可変可能に機能するＦＩＲフィルタ部４１を有し白色雑音信号を応答信号として出力する適応フィルタ手段４と、目標信号から応答信号を減算して誤差信号を算出する減算手段５と、誤差信号の収束を検出する収束監視手段６とを備え、収束監視手段６が、誤差信号の収束を検出した場合における、可変されたＦＩＲフィルタ部４１のフィルタ係数を出力する。【選択図】        図２
2010028756.tif 000002
【特許請求の範囲】
【請求項１】
白色雑音の周波数特性に擬似する白色雑音信号を発生する白色雑音信号発生手段と、
前記白色雑音信号を所定の周波数特性に変換し、目標信号として出力する基準フィルタ手段と、
ユーザ定義型のデータ構造に対応する有限インパルス応答フィルタとして、フィルタ係数を可変可能に機能するＦＩＲフィルタ部を有し、当該ＦＩＲフィルタ部を介して、前記白色雑音信号を応答信号として出力する適応フィルタ手段と、
前記目標信号から前記応答信号を減算して誤差信号を算出する減算手段と、
前記誤差信号の推移に基づき、前記誤差信号の収束を検出する収束監視手段と、
を備え、
前記収束監視手段が、前記誤差信号の収束を検出した場合における、可変された前記ＦＩＲフィルタ部のフィルタ係数、又は当該フィルタ係数を係数とする前記ＦＩＲフィルタ部の伝達関数を出力することを特徴とする有限インパルス応答フィルタ設計装置。
【請求項２】
前記請求項１に記載の有限インパルス応答フィルタ設計装置において、
前記適応フィルタ手段が、前記誤差信号を最小にするように前記ＦＩＲフィルタ部のフィルタ係数を更新する演算部を備えていることを特徴とする有限インパルス応答フィルタ設計装置。
【請求項３】
前記請求項２に記載の有限インパルス応答フィルタ設計装置において、
前記演算部が、前記ＦＩＲフィルタ部の一のタップにつき、前記誤差信号及び白色雑音信号を乗算して第１の信号を算出する乗算部と、前記フィルタ係数を記憶する記憶部を介して出力される第２の信号及び前記第１の信号を減算して第３の信号を算出する減算部と、を備え、
前記第３の信号が、前記フィルタ係数として前記記憶部に更新されることを特徴とする有限インパルス応答フィルタ設計装置。
【請求項４】
前記請求項１乃至３に記載の有限インパルス応答フィルタ設計装置において、
前記ユーザ定義型のデータ構造が、ビット幅を１６ビット未満とする整数型であることを特徴とする有限インパルス応答フィルタ設計装置。
【請求項５】
白色雑音の周波数特性に擬似する白色雑音信号を発生するステップと、
前記白色雑音信号を所定の周波数特性に変換し、目標信号として出力するステップと、
ユーザ定義型のデータ構造に対応する有限インパルス応答フィルタとして機能するＦＩＲフィルタ部を介して、前記白色雑音信号を応答信号として出力するステップと、
前記目標信号から前記応答信号を減算して誤差信号を算出するステップと、
前記誤差信号を最小にするように前記ＦＩＲフィルタ部のフィルタ係数を更新するステップと、
前記誤差信号の推移に基づき、前記誤差信号の収束を検出するステップと、
前記誤差信号の収束を検出した場合に、更新された前記ＦＩＲフィルタ部のフィルタ係数、又は当該フィルタ係数を係数とする前記ＦＩＲフィルタ部の伝達関数を出力するステップと、
を含むことを特徴とする有限インパルス応答フィルタ設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、入力信号に対して特定の成分を取り出し又は除去することにより、所望の周波数特性の信号を出力する有限インパルス応答（Finite impulse response：以下、ＦＩＲと称す）フィルタのフィルタ係数又は伝達関数を算出することができるＦＩＲフィルタ設計装置及びＦＩＲフィルタ設計方法に関する。
【背景技術】
【０００２】
ＦＩＲフィルタは、シミュレーションアプリケーション、モデム、エコーキャンセラ又はＬＳＩ（Large-scale integration）開発などに使用され、ＦＩＲフィルタを設計することは、フィルタ係数を算出することである。このＦＩＲフィルタの設計には、データ構造が、プログラミング言語の仕様に従う具体的なデータ型、通常、固定小数点数として小数点以下を１６ビットに宣言した整数（Integer：ＩＮＴ）型や、実数型のうち浮動小数点数のＦｌｏａｔ型などの標準的なデータ型を組み合わせて用いられる。
【０００３】
一方、ＦＩＲフィルタの設計は、近年、客先から要求される仕様における高集積化に伴い、標準的なデータ型のデータ構造を簡素化し、ユニークなユーザ定義型のデータ構造により、ＦＩＲフィルタを開発することが求められている。ここで、ユニークなユーザ定義型のデータ構造とは、プログラミング言語の一つであるＣ言語のデータ型以外のデータ構造をしたものを指している。なお、Ｃ言語のデータ型には、char、int、float、doubleといった変数型に加え、型の意味を変えるsigned、unsigned、long、shortといった修飾子、そしてPascalのレコードに相当する構造体、メモリを共有し合う共用体も備わっている。さらに、const、volatileといったアクセス修飾子がある。また、register型や列挙型もある。
【０００４】
このため、ユニークなユーザ定義型のデータ構造で構築されるＦＩＲフィルタは、フィルタ係数を算出するために、全てユニークなユーザ定義型のデータ構造で伝達関数を求める必要がある。
【０００５】
したがって、従来のＦＩＲフィルタの設計においては、ユニークなデータ構造を定義したユーザ定義型（例えば、固定小数点数として小数点以下を５ビットに宣言した整数型）で伝達関数を決定する場合に、伝達関数を丸め込み（例えば、アナログ量を５ビットの整数型に定義）、窓関数の適応（例えば、ハニング窓、ハミング窓、ブラックマン窓）で重み付けをして、模擬実験を実施している。
【０００６】
これに対し、従来のオーディオ装置は、フロントスピーカのレイアウトに基づいてフィルタ手段の係数を決定して所定の伝達特性を設定する。該フィルタ手段はオーディオ信号をバンドパスフィルタを介して入力され、該オーディオ信号に伝達特性を畳み込んで所望の目標信号を出力する。適応信号処理装置は目標信号と観測点における音楽信号との差であるエラー信号及びオーディオ信号を入力され、該エラー信号のパワーが最小となるように適応信号処理する（例えば、特許文献１参照）。
【０００７】
また、従来の能動騒音制御装置は、騒音検出用マイクロホンから誤差検出用マイクロホンに至る系全体の特性を模擬する全系フィルタを設けるとともに、騒音制御フィルタの係数更新を間隔を置いて停止して固定された第１及び第２の係数について得られた該全系フィルタが与える二つの伝達関数の差に相当する特性を提供する差分全系フィルタと、該第１及び第２の係数に対応する伝達関数の差を特性として有する差分騒音制御フィルタと、該差分騒音制御フィルタに縦続接続された適応フィルタとを設け、該全系フィルタと該差分騒音制御フィルタに白色雑音を印加したとき、該差分全系フィルタの出力と該適応フィルタの出力の差が最小となるように該適応フィルタの係数を更新し、その差が最小となった時点で得られた該適応フィルタの係数から該誤差経路フィルタの係数を算定する（例えば、特許文献２参照）。
【０００８】
また、従来の直接スペクトラム拡散用ディジタルフィルタは、入力したベースバンド信号を、所定のタイミングにて順次遅延させる複数のシフトレジスタと、ベースバンド信号およびシフトレジスタの各々の出力を、それぞれ重み付けする複数の係数器と、係数器の各々からの出力を加算する加算器とを備えている。係数器の各々のタップ係数は、逆拡散のための拡散符号と雑音除去のための係数とを畳み込みして、これに窓関数をかけることにより決定された値となっている（例えば、特許文献３参照）。
【特許文献１】特開平９−２２２９３号公報
【特許文献２】特開平１１−２２２９３号公報
【特許文献３】特開２０００−６８８９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従来のＦＩＲフィルタの設計においては、伝達関数の丸め込みと窓関数の適応とを繰り返し、１２ビットの整数型や浮動小数点数のＦｌｏａｔ型などの標準的なデータ型のデータ構造に対応するＦＩＲフィルタを設計するためのソフトウェアや検証ツールが存在する。しかしながら、従来のＦＩＲフィルタの設計においては、ユニークなユーザ定義型のデータ構造に対応するＦＩＲフィルタを設計するためのソフトウェアや検証ツールは存在しない。このため、ユニークなユーザ定義型のデータ構造に対応するＦＩＲフィルタを設計するためには、開発環境を新たに構築する必要があり、新たに構築する開発環境自体の信頼性を確保する必要があるという課題があった。
【００１０】
また、従来のＦＩＲフィルタの設計においては、量子化や標本化によるフィルタ係数の最適値の決定には繰り返しの作業が伴う。特に、ＦＩＲフィルタの設計者は、理想の伝達関数に近づけるように試行錯誤を行ない、伝達関数の丸め込みと窓関数の適応とを繰り返す必要があり、繰り返し工程が増加して、フィルタ係数を決定するために長時間を要するという課題があった。
【００１１】
また、従来のＦＩＲフィルタの設計においては、伝達関数の丸め込みと窓関数の適応とにより、丸め誤差と窓関数の展開で発生する情報落ちや桁落ちによる誤差とが生じるため、偏差を常に意識しなくてはならず、ＦＩＲフィルタの構成を最大限に考慮した伝達関数の係数を決定し難いという課題があった。
【００１２】
なお、従来のオーディオ装置においては、ディジタルフィルタ（ＦＩＲ型フィルタ）が既に搭載されており、車室内音響空間におけるフロントスピーカや観測点のレイアウトに基づいてフィルタ手段の係数（目標とする伝達特性）を決定することで、処理帯域外の補正を簡単に行なえ、観測点で所望の優れた音声を聴取することができるものである。このため、設計開発の段階におけるＦＩＲフィルタのフィルタ係数を算出することを目的とする本発明とは、発明を異にするものである。
【００１３】
同様に、従来の直接スペクトラム拡散用ディジタルフィルタ及び能動騒音制御装置は、既存の実製品であり、設計開発の段階におけるＦＩＲフィルタのフィルタ係数を算出することを目的とする本発明とは、発明を異にするものである。
【００１４】
この発明は、上述のような課題を解決するためになされたもので、窓関数の適応で重み付けを行なうことなく、ユニークなユーザ定義型のデータ構造に対応するＦＩＲフィルタのフィルタ係数を算出することができるＦＩＲフィルタ設計装置及びＦＩＲフィルタ設計方法を提供するものである。
【課題を解決するための手段】
【００１５】
この発明に係るＦＩＲフィルタ設計装置は、白色雑音の周波数特性に擬似する白色雑音信号を発生する白色雑音信号発生手段と、前記白色雑音信号を所定の周波数特性に変換し、目標信号として出力する基準フィルタ手段と、ユーザ定義型のデータ構造に対応する有限インパルス応答フィルタとして、フィルタ係数を可変可能に機能するＦＩＲフィルタ部を有し、当該ＦＩＲフィルタ部を介して、前記白色雑音信号を応答信号として出力する適応フィルタ手段と、前記目標信号から前記応答信号を減算して誤差信号を算出する減算手段と、前記誤差信号の推移に基づき、前記誤差信号の収束を検出する収束監視手段と、を備え、前記収束監視手段が、前記誤差信号の収束を検出した場合における、可変された前記ＦＩＲフィルタ部のフィルタ係数、又は当該フィルタ係数を係数とする前記ＦＩＲフィルタ部の伝達関数を出力するものである。
【発明の効果】
【００１６】
開示のＦＩＲフィルタ設計装置は、窓関数の適応で重み付けを行なうことなく、伝達関数の丸め込みと窓関数の適応を繰り返す工程を削減し、従来と比較して短期間に、ユニークなユーザ定義型のデータ構造に対応するＦＩＲフィルタのフィルタ係数を算出することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１７】
（本発明の第１の実施形態）
図１は第１の実施形態に係るＦＩＲフィルタ設計装置の概略構成を示すブロック図、図２は図１に示す適応フィルタ手段の内部構成の一例を説明するための説明図、図３（ａ）は図１に示す基準フィルタ手段に設定される伝達関数の一例を説明するための説明図、図３（ｂ）は図２に示す適応フィルタ手段におけるＦＩＲフィルタ部の構成図である。
【００１８】
白色雑音信号発生手段２は、マウスやキーボードなどの入力手段１による起動信号に基づき、白色雑音の周波数特性に擬似する白色雑音信号ｘ（ｎ）を発生し、後述する基準フィルタ手段３及び適応フィルタ手段４に対して、白色雑音信号ｘ（ｎ）を出力する。なお、白色雑音とは、不規則に上下に振動する波であり、フーリエ変換を行ない、パワースペクトルにすることで、全ての周波数で同じ強度となる。
【００１９】
基準フィルタ手段３は、入力された白色雑音信号ｘ（ｎ）に対して、ＦＩＲフィルタ設計装置１０の操作者（以下、フィルタ設計者と称す）が目標とする、所定の周波数特性に変換し、目標信号ｄ（ｎ）として後述する減算手段５に出力する。
【００２０】
なお、基準フィルタ手段３は、所定の周波数特性に変換する伝達特性を有し、ユニークなユーザ定義型のデータ構造ではなく（標準的なデータ型のデータ構造であり）、計算誤差の極めて少ない伝達関数（以下、理想モデルと称す）が、予め、入力手段１によって設定されている。すなわち、基準フィルタ手段３は、この理想モデルによって、白色雑音信号ｘ（ｎ）を所定の周波数特性を有する目標信号ｄ（ｎ）に変換する。
【００２１】
例えば、この理想モデルは、図３（ａ）に示すように、白色雑音信号ｘ（ｎ）から、周波数の低い帯域（約０．０１６７×ｆｓＨｚ〜０．２００４×ｆｓＨｚ（ｆｓ=標本化周波数８０００Ｈｚ））の成分を取り出し、それ以外の周波数帯域の成分を除去する伝達関数が設定される。なお、この基準フィルタ手段３には、入力手段１により、図３（ａ）に示すような周波数特性図をイメージとして入力してもよいが、標準的なデータ型のデータ構造で構築され、フィルタ係数が特定されている固定倍率の線形フィルタの伝達関数を入力してもよい。
【００２２】
適応フィルタ手段４は、ユニークなユーザ定義型のデータ構造に対応するＦＩＲフィルタとして機能するＦＩＲフィルタ部４１を有し、ＦＩＲフィルタ部４１を介して、白色雑音信号ｘ（ｎ）を応答信号ｙ（ｎ）として出力する。また、適応フィルタ手段４は、ＦＩＲフィルタ部４１と演算部４２とを組み合わせて、適応フィルタとしての機能を有し、後述する誤差信号ｅ（ｎ）を最小にするようにＦＩＲフィルタ部４１のフィルタ係数を更新する。
【００２３】
なお、本実施形態においては、ＦＩＲフィルタ部４１におけるユニークなユーザ定義型のデータ構造として、ビット幅を５ビットとする整数型のデータ構造を例に挙げ、後述する記憶部４１ａを５ビットに対応する記憶部として図示している。
【００２４】
また、ビット幅を５ビットとする整数型のデータ構造にしたのは、以下の理由からである。データ型としては、電気通信業界において許容される信号対雑音比（Ｓ／Ｎ）が３０ｄＢ（６．０２ｄＢ×５＝３０ｄB）であるために、この信号対雑音比（Ｓ／Ｎ）を実現できる整数型が要求されるからである。また、ビット幅としては、信号対雑音比（Ｓ／Ｎ）が１０ｄＢ程度を実現できればよいという客先もあり、この客先に対しては、ビット幅が５ビットで十分対応できるからである。このため、本実施形態においては、ＦＩＲフィルタ部４１におけるユニークなユーザ定義型のデータ構造として、ビット幅を５ビットとする整数型のデータ構造を例に挙げることにした。
【００２５】
ＦＩＲフィルタ部４１は、図３（ｂ）に示すように、複数段のタップからなり、一のタップにつき、任意の定数であるフィルタ係数を記憶する記憶部４１ａと、記憶部４１ａに記憶されたフィルタ係数により白色雑音信号ｘ（ｎ）を定数倍して出力する乗算部４１ｂとを有する。
【００２６】
また、ＦＩＲフィルタ部４１は、隣接するタップ間にサンプリングの１周期（１クロック）だけ白色雑音信号ｘ（ｎ）を遅延する遅延部４１ｃを有し、各タップの乗算部４１ｂからの出力信号を加算して応答信号ｙ（ｎ）を出力する加算器４１ｄを有している。
【００２７】
なお、遅延部４１ｃは、５ビットに対応する遅延部として図示しているが、ＦＩＲフィルタ部４１におけるデータ構造のビット幅以上に対応する遅延部であっても構わない。しかしながら、桁落ちや情報落ちの計算誤差があるために、例えば、ＦＩＲフィルタ部４１におけるデータ構造のデータ幅を５ビットに設定した場合には、５ビットを超える桁数は使用されず、データ幅を５ビットより大きくすることによる特異な効果があるわけではない。
【００２８】
また、ＦＩＲフィルタ部４１のタップ数は、フィルタ設計者がサンプリング周波数や対象とする周波数帯域に基づき決定するのであるが、タップ数を増加させるほど、フィルタとしての精度を高めることができる。これに対し、タップ数を増加させるほど、図示しない中央処理装置（central processing unit：ＣＰＵ）に負担が掛かり、後述する誤差信号ｅ（ｎ）の収束に時間を要する。このため、ＦＩＲフィルタ部４１のタップ数は、設計対象であるＦＩＲフィルタの仕様に応じて、フィルタ設計者が適宜設定する。なお、サンプリング周波数ｆｓは、ナイキストの定理より、原信号に含まれる最大周波数成分をｆとすると、２ｆよりも高い周波数ｆｓを取ることが知られている。
【００２９】
演算部４２は、図２に示すように、ＦＩＲフィルタ部４１の一のタップにつき、白色雑音信号ｘ（ｎ）及び後述する減算手段５からの誤差信号ｅ（ｎ）を乗算して第１の信号を算出する乗算部４２ａと、フィルタ係数を記憶する記憶部４１ａを介して出力される第２の信号及び第１の信号を減算して第３の信号を算出する減算部４２ｂと、を有する。なお、二段目以降のタップに対応する乗算部４２ａには、隣接するタップ間に配設された遅延部４１ｃにより、白色雑音信号ｘ（ｎ）が重畳的に遅延させて入力されている。
【００３０】
なお、本実施形態においては、後述する減算手段５からの誤差信号ｅ（ｎ）が、値を変化させることなく、適応フィルタ手段４の各乗算部４２ａにそれぞれ入力されている例を示しているが、後述する減算手段５及び収束監視手段６間の分岐したライン上であり、一段目のタップの前に、定数が０以上１未満である乗算部を新たに配設させてもよい。この乗算部は、誤差信号ｅ（ｎ）の急激な変化を緩和する作用効果を奏し、且つ適応フィルタが発散しない抑制を促す。
【００３１】
減算手段５は、基準フィルタ手段３からの目標信号ｄ（ｎ）から適応フィルタ手段４からの応答信号ｙ（ｎ）を減算して誤差信号ｅ（ｎ）を算出する。この誤差信号ｅ（ｎ）は、適応フィルタ手段４の各乗算部４２ａ及び後述する収束監視手段６にそれぞれ入力される。
【００３２】
収束監視手段６は、入力された誤差信号ｅ（ｎ）の推移に基づき、誤差信号ｅ（ｎ）の収束を監視する。そして、収束監視手段６は、誤差信号ｅ（ｎ）の収束を検出した場合に、適応フィルタ手段４のＦＩＲフィルタ部４１の各記憶部４１ａに記憶されているフィルタ係数をそれぞれ抽出する。また、収束監視手段６は、抽出したＦＩＲフィルタ部４１のフィルタ係数をプリンタやディスプレイなどの出力手段７によって表示する。
【００３３】
なお、収束監視手段６は、抽出したＦＩＲフィルタ部４１のフィルタ係数を出力手段７によって表示するのではなく、抽出したＦＩＲフィルタ部４１のフィルタ係数を係数とするＦＩＲフィルタ部４１の伝達関数を出力手段７によって表示してもよい。この場合には、フィルタ設計者が初期値として適応フィルタ手段４に設定したタップ数に基づき、ＦＩＲフィルタ部４１の伝達関数における係数が未確定の多項式が取得できるため、収束監視手段６が、この多項式の未確定の係数に対して、抽出したＦＩＲフィルタ部４１のフィルタ係数をそれぞれ適用することで、ＦＩＲフィルタ部４１の伝達関数を取得できる。
つぎに、本実施形態に係るＦＩＲフィルタ設計装置１０による処理動作について説明する。
【００３４】
まず、フィルタ設計者は、入力手段１を操作して、基準フィルタ手段３に対して理想モデルを設定し、適応フィルタ手段４に対して、ＦＩＲフィルタ部４１のタップ数を特定し、フィルタ係数の初期値として任意の値（例えば、全ての記憶部４１ａに係数「０」）を設定する。特に、理想モデルは、標準的なデータ型のデータ構造に対応し、ＦＩＲフィルタ部４１は、ユニークなユーザ定義型のデータ構造に対応する伝達関数である。
そして、フィルタ設計者は、入力手段１を操作して、白色雑音信号発生手段２を起動する。
【００３５】
白色雑音信号発生手段２は、起動信号に基づき、白色雑音の周波数特性に擬似する白色雑音信号ｘ（ｎ）を発生し、基準フィルタ手段３及び適応フィルタ手段４に対して、白色雑音信号ｘ（ｎ）を出力する。
【００３６】
基準フィルタ手段３は、白色雑音信号発生手段２から入力された白色雑音信号ｘ（ｎ）を所定の周波数特性に変換し、目標信号ｄ（ｎ）として減算手段５に出力する。
また、適応フィルタ手段４は、白色雑音信号発生手段２から入力された白色雑音信号ｘ（ｎ）を適応フィルタ（ＦＩＲフィルタ部４１、演算部４２）により信号処理し、応答信号ｙ（ｎ）として減算手段５に出力する。
【００３７】
そして、減算手段５は、基準フィルタ手段３からの目標信号ｄ（ｎ）と適応フィルタ手段４からの応答信号ｙ（ｎ）との差である誤差信号ｅ（ｎ）を算出し、誤差信号ｅ（ｎ）を収束監視手段６及び適応フィルタ手段４に出力する。
【００３８】
さらに、適応フィルタ手段４は、最小２乗平均（Least-mean-square：以下、ＬＭＳと称す）アルゴリズムにより、適応フィルタを誤算信号ｅ（ｎ）が最小になるように更新していく。この更新処理を、ＦＩＲフィルタ部４１のフィルタ係数が略一定となるまで繰り返すことにより、ＦＩＲフィルタ部４１は、基準フィルタ手段３と略同一の伝達特性となる。なお、フィルタ係数を同定するアルゴリズムは、ＬＭＳ法に限られるものではなく、例えば、学習同定法を用いていもよい。
【００３９】
また、ＦＩＲフィルタ部４１は、フィルタ係数が更新されても、タップ数は変化しない。このため、フィルタ係数が略一定となったＦＩＲフィルタ部４１は、基準フィルタ手段３と略同一の伝達特性を有する共に、予め設定した初期値と等しいタップ数となる。
また、収束監視手段６は、減算手段５からの誤差信号ｅ（ｎ）を記憶して、誤差信号ｅ（ｎ）の推移に基づき、誤差信号ｅ（ｎ）の収束を監視する。
【００４０】
そして、収束監視手段６は、誤差信号ｅ（ｎ）の収束を検出した場合に、適応フィルタ手段４のＦＩＲフィルタ部４１の各記憶部４１ａに記憶されているフィルタ係数、又は当該フィルタ係数を係数とするＦＩＲフィルタ部４１の伝達関数を適応フィルタ手段４のＦＩＲフィルタ部４１から抽出し、出力手段７に出力する。
【００４１】
そして、出力手段７は、収束監視手段６からのフィルタ係数又は伝達関数のデータを表示することで、フィルタ設計者は、ユニークなユーザ定義型のデータ構造に対応するＦＩＲフィルタの最適なフィルタ係数又は伝達関数を取得することができる。
【００４２】
以上のように、本実施形態に係るＦＩＲフィルタ設計装置１０においては、開発環境の構築と実機能とを一体化してコンピュータシミュレーションで評価するものであり、理想モデルと略同一の伝達特性を有し、ユニークなユーザ定義型のデータ構造に対応するＦＩＲフィルタのフィルタ係数又は伝達関数を算出することができる。
【００４３】
なお、本実施形態においては、ＦＩＲフィルタ部４１におけるユニークなユーザ定義型のデータ構造として、ビット幅を５ビットとする整数型のデータ構造の場合について図示したが、整数型のデータ構造としてビット幅が５ビットに限られるものではない。
【００４４】
特に、ビット幅を１６ビット未満とする整数型の場合には、既存のソフトウェアであれば、データの型自体を修正する必要があるが、本実施形態に係るＦＩＲフィルタ設計装置１０であれば、データ型を修正することなく、ビット幅を１６ビット未満とする整数型にも対応できるという作用効果を奏する。
【００４５】
また、量子化誤差などの誤差精度が客先から要求されない場合には、１６ビットなどの上等なビット幅は必要がなく、ＦＩＲフィルタ設計装置１０の処理速度を高めるために、ＦＩＲフィルタ部４１の記憶部４１ａのサイズ（ビット幅）が小さいほど好ましい。
【００４６】
（本発明の第２の実施形態）
図４は第２の実施形態に係るＦＩＲフィルタ設計装置を用いた試験環境の一例を説明するための説明図である。図４において、図１〜図３と同じ符号は、同一又は相当部分を示し、その説明を省略する。
【００４７】
ＦＩＲフィルタ１４１は、第１の実施形態におけるＦＩＲフィルタ部４１を、ハードウェアとして実現したものであり、所定の製品１００（例えば、カーオーディオ）に適用され、音環境（例えば、自動車内）に配置されるものである。
【００４８】
特に、ＦＩＲフィルタ１４１は、組み込みシステムのソフトウェアに対するデバッグの目的でＣＰＵやＦＰＧＡ（field programmable gate array）にアクセスする手段として用いられるＪＴＡＧ（Joint Test Action Group）に対応する製品１００に適用することが好ましい。
【００４９】
ＦＩＲフィルタ１４１は、図４に示すように、複数段のタップからなり、一のタップにつき、任意の定数であるフィルタ係数を記憶するメモリ１４１ａと、メモリ１４１ａに記憶されたフィルタ係数により白色雑音信号ｘ（ｎ）を定数倍して出力する乗算器１４１ｂとを有する。なお、メモリ１４１ａは、フラッシュメモリなどのフィルタ係数をフレキシブルに可変することができる不揮発性メモリを使用することが考えられる。
【００５０】
また、ＦＩＲフィルタ１４１は、隣接するタップ間にサンプリングの１周期（１クロック）だけ白色雑音信号ｘ（ｎ）を遅延する遅延器１４１ｃを有し、各タップの乗算器１４１ｂからの出力信号を加算して応答信号ｙ（ｎ）を出力する加算器１４１ｄを有している。
【００５１】
なお、この第２の実施形態におけるＦＩＲフィルタ設計装置１０においては、ＦＩＲフィルタ部４１をＦＩＲフィルタ１４１としてハードウェアで実現したところのみが第１の実施形態と異なるところであり、ハードウェア（音環境）とソフトウェア（試験環境２００）とを併用したことによる作用効果以外は、第１の実施形態と同様の作用効果を奏する。
【００５２】
第１の実施形態におけるＦＩＲフィルタ設計装置１０は、コンピュータ上で模擬実験するコンピュータシミュレータであり、ＦＩＲフィルタ１４１を適用した製品１００を取り巻く音環境（局条件）に合った最適なフィルタ特性を有するＦＩＲフィルタが設計できるとは限らない。このため、本実施形態においては、適応フィルタ手段４の演算部４２と切り離したＦＩＲフィルタ１４１を製品１００に組み込み、音環境に合ったＦＩＲフィルタ１４１のより最適なフィルタ係数又は伝達関数を算出することができるという作用効果を奏する。
【００５３】
特に、本実施形態に係るＦＩＲフィルタ設計装置１０は、製品１００の初期ロットに対して、適応フィルタ手段４（ＦＩＲフィルタ１４１、演算部４２）を動作させ、音環境に合ったＦＩＲフィルタ１４１の最適なフィルタ係数を算出する。そして、量産化のロットに対しては、算出したフィルタ係数を固定したＦＩＲフィルタ１４１のみを製品１００に搭載することで、適応フィルタの不要な回路を削減することができるという作用効果を奏する。
【００５４】
［付記］  上記実施形態に関し、更に以下の付記を開示する。
（付記１）  白色雑音の周波数特性に擬似する白色雑音信号を発生する白色雑音信号発生手段と、前記白色雑音信号を所定の周波数特性に変換し、目標信号として出力する基準フィルタ手段と、ユーザ定義型のデータ構造に対応する有限インパルス応答フィルタとして、フィルタ係数を可変可能に機能するＦＩＲフィルタ部を有し、当該ＦＩＲフィルタ部を介して、前記白色雑音信号を応答信号として出力する適応フィルタ手段と、前記目標信号から前記応答信号を減算して誤差信号を算出する減算手段と、前記誤差信号の推移に基づき、前記誤差信号の収束を検出する収束監視手段と、を備え、前記収束監視手段が、前記誤差信号の収束を検出した場合における、可変された前記ＦＩＲフィルタ部のフィルタ係数、又は当該フィルタ係数を係数とする前記ＦＩＲフィルタ部の伝達関数を出力することを特徴とする有限インパルス応答フィルタ設計装置。
【００５５】
（付記２）  前記適応フィルタ手段が、前記誤差信号を最小にするように前記ＦＩＲフィルタ部のフィルタ係数を更新する演算部を備えていることを特徴とする有限インパルス応答フィルタ設計装置。
【００５６】
（付記３）  前記演算部が、前記ＦＩＲフィルタ部の一のタップにつき、前記誤差信号及び白色雑音信号を乗算して第１の信号を算出する乗算部と、前記フィルタ係数を記憶する記憶部を介して出力される第２の信号及び前記第１の信号を減算して第３の信号を算出する減算部と、を備え、前記第３の信号が、前記フィルタ係数として前記記憶部に更新されることを特徴とする有限インパルス応答フィルタ設計装置。
【００５７】
（付記４）  前記ユーザ定義型のデータ構造が、ビット幅を１６ビット未満とする整数型であることを特徴とする有限インパルス応答フィルタ設計装置。
【００５８】
（付記５）  白色雑音の周波数特性に擬似する白色雑音信号を発生するステップと、前記白色雑音信号を所定の周波数特性に変換し、目標信号として出力するステップと、ユーザ定義型のデータ構造に対応する有限インパルス応答フィルタとして機能するＦＩＲフィルタ部を介して、前記白色雑音信号を応答信号として出力するステップと、前記目標信号から前記応答信号を減算して誤差信号を算出するステップと、前記誤差信号を最小にするように前記ＦＩＲフィルタ部のフィルタ係数を更新するステップと、前記誤差信号の推移に基づき、前記誤差信号の収束を検出するステップと、前記誤差信号の収束を検出した場合に、更新された前記ＦＩＲフィルタ部のフィルタ係数、又は当該フィルタ係数を係数とする前記ＦＩＲフィルタ部の伝達関数を出力するステップと、を含むことを特徴とする有限インパルス応答フィルタ設計方法。
【図面の簡単な説明】
【００５９】
【図１】第１の実施形態に係るＦＩＲフィルタ設計装置の概略構成を示すブロック図である。
【図２】図１に示す適応フィルタ手段の内部構成の一例を説明するための説明図である。
【図３】（ａ）は図１に示す基準フィルタ手段に設定される伝達関数の一例を説明するための説明図であり、（ｂ）は図２に示す適応フィルタ手段におけるＦＩＲフィルタ部の構成図である。
【図４】第２の実施形態に係るＦＩＲフィルタ設計装置を用いた試験環境の一例を説明するための説明図である。
【符号の説明】
【００６０】
１      入力手段
２      白色雑音信号発生手段
３      基準フィルタ手段
４      適応フィルタ手段
５      減算手段
６      収束監視手段
７      出力手段
１０    ＦＩＲフィルタ設計装置
４１    ＦＩＲフィルタ部
４１ａ  記憶部
４１ｂ  乗算部
４１ｃ  遅延部
４１ｄ  加算器
４２    演算部
４２ａ  乗算部
４２ｂ  減算部
１００  製品
１４１  ＦＩＲフィルタ
１４１ａ  メモリ
１４１ｂ  乗算器
１４１ｃ  遅延器
１４１ｄ  加算器
２００  試験環境
【図１】
2010028756.tif 000003
【図２】
2010028756.tif 000004
【図３】
2010028756.tif 000005
【図４】
2010028756.tif 000006