(57)【要約】【課題】  高次ＩＩＲフィルターのフィルター係数を精度よく算出することができるＩＩＲフィルター設計方法を得る。【解決手段】  所定の演算によって暫定的フィルター係数を算出するステップと、暫定的フィルター係数の最大値が１を超えるか否かを判定するステップと、暫定的フィルター係数の最大値が１を超えるとき、上記暫定的フィルター係数を多項式とみなして因数分解処理を行うステップと、因数分解処理の結果算出された各係数を低次ＩＩＲフィルターのフィルター係数として記憶するステップと、記憶されたフィルター係数を用いて低次ＩＩＲフィルターを縦列接続したＩＩＲフィルターを生成するステップと、生成されたＩＩＲフィルターを上記デジタル信号処理装置にプログラムするステップと、を有するＩＩＲフィルターの設計方法による。【選択図】図１
2010141780.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータプログラムによってデジタル信号処理装置で動作する高次ＩＩＲフィルターのフィルター係数を算出するＩＩＲフィルターの設計方法であって、
所定の演算によって暫定的フィルター係数を算出するステップと、
上記暫定的フィルター係数の最大値が１を超えるか否かを判定するステップと、
上記暫定的フィルター係数の最大値が１を超えるとき、上記暫定的フィルター係数を多項式とみなして因数分解処理を行うステップと、
上記因数分解処理の結果算出された各係数を低次ＩＩＲフィルターのフィルター係数として記憶するステップと、
上記記憶されたフィルター係数を用いて低次ＩＩＲフィルターを縦列接続したＩＩＲフィルターを生成するステップと、
上記生成されたＩＩＲフィルターを上記デジタル信号処理装置にプログラムするステップと、を有するＩＩＲフィルター設計方法。
【請求項２】
コンピュータプログラムによってデジタル信号処理装置で動作する高次ＩＩＲフィルターのフィルター係数を算出するＩＩＲフィルターの設計方法であって、
所定の演算によって暫定的フィルター係数を算出するステップと、
上記暫定的フィルター係数の最大値が１を超えるか否かを判定するステップと、
上記暫定的フィルター係数の最大値が１を超えるとき、上記暫定的フィルター係数を多項式とみなして因数分解処理を行うステップと、
上記因数分解処理の結果算出された各係数を低次ＩＩＲフィルターのフィルター係数として記憶するステップと、
上記記憶された複数の低次ＩＩＲフィルターのフィルター係数の中に１を超えるフィルター係数があるか否かを判定するステップと、
１を超えるフィルター係数があるとき、除算によってその１を超えるフィルター係数の中の最大値が１以下になる定数を算出するステップと、
上記算出された定数を用いて、上記１を超えるフィルター係数を有する低次ＩＩＲフィルターのフィルター係数の全てを除算するステップと、
上記算出された定数を乗じても１を超えないフィルター係数のみで構成される低次ＩＩＲフィルターを特定し、この特定されたＩＩＲフィルターの全フィルター係数に上記定数を乗じるステップと、
上記除算と乗算により算出されたフィルター係数によって構成される低次ＩＩＲフィルターを縦列接続したＩＩＲフィルターを生成するステップと、
上記生成されたＩＩＲフィルターを上記デジタル信号処理装置にプログラムするステップと、を有するＩＩＲフィルター設計方法。
【請求項３】
コンピュータプログラムによってデジタル信号処理装置で動作する高次ＩＩＲフィルターのフィルター係数を算出するＩＩＲフィルターの設計方法であって、
所定の演算によって暫定的フィルター係数を算出するステップと、
上記暫定的フィルター係数の最大値が１を超えるか否かを判定するステップと、
上記暫定的フィルター係数の最大値が１を超えるとき、上記暫定的フィルター係数を多項式とみなして因数分解処理を行うステップと、
上記因数分解処理の結果算出された各係数を低次ＩＩＲフィルターのフィルター係数として記憶するステップと、
上記記憶された複数の低次ＩＩＲフィルターの分母多項式において、根の絶対値が１を超える分母多項式があるか否かを判定するステップと、
上記判定ステップにおいて絶対値が１を超えるものがあったとき、絶対値が１を超える分母多項式を有するＩＩＲフィルターの分子多項式を近似する係数を算出するステップと、
算出された上記近似する係数を用いて上記低次ＩＩＲフィルターを生成し、因数分解処理によって算出された各係数を用いた低次ＩＩＲフィルターを縦列接続したＩＩＲフィルターを生成するステップと、
上記生成されたＩＩＲフィルターを上記デジタル信号処理装置にプログラムするステップと、を有するＩＩＲフィルター設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルフィルタの設計方法に関するもので、より詳しくは、高次ＩＩＲフィルタのフィルタ係数を精度よく算出することができるＩＩＲフィルタ設計方法に関するものである。
【背景技術】
【０００２】
デジタルフィルタは、デジタル信号処理装置（ＤＳＰ）にて実行されるプログラムによって所定のフィルタ特性を発揮するものである。デジタルフィルタには、主に有限インパルス応答フィルタ（ＦＩＲフィルタ）と、無限インパルス応答フィルタ（ＩＩＲフィルタ）がある。ＦＩＲフィルタは、入力されるデジタルデータをある決められた有限な期間のみを用いて、期間が経過した後は当該入力データを演算に用いないという処理を行うように演算処理とフィルタ係数を設定したものであって、フィルタ位相応答が重要なシステムに使用される。ＩＩＲフィルタは、入力されるデータを期間で区切ることなく無限にフィードバックするように演算処理とフィルタ係数を設定したものであって、ＦＩＲフィルタよりも少ない演算（タップ数）で所望するフィルタ特性を実現することができる（例えば特許文献１参照）。
【０００３】
【特許文献１】特開平１０−３０８６５０号公報
【０００４】
ＩＩＲフィルタは、ＦＩＲフィルタと比較すると演算時間が短く、処理速度が速いフィルタであるのでリアルタイム性が高い。しかし、フィードバックパスがあるので係数感度が高く、音響システムに用いる狭帯域フィルタとしては不適である。これは、ＦＩＲフィルタに比べるとフィルタ設計の精度を高める必要があるからである。従って従来は、高速なフィルタ処理が求められるノイズキャンセルシステムなどであっても、ＩＩＲフィルタを用いずにＦＩＲフィルタを用いていた。
【０００５】
ＩＩＲフィルタの伝達関数は（ａ０＋ａ１ｚ−１＋ａ２ｚ−２＋・・・＋ａＮｚ−Ｎ）／（ｂ０＋ｂ１ｚ−１＋ｂ２ｚ−２＋・・・＋ｂＭｚ−Ｍ）で表される。ここで、Ｍはフィルタにおける順序を示す。ＩＩＲフィルタの設計とは、所望するフィルタ特性を有する伝達関数の係数を算出することである。
この係数の算出方法として、逐次演算法が知られている。逐次演算法は、まず各係数の初期値を設定し、この初期値を基にして伝達関数をつくり所望するフィルタ特性に合致する係数が見つかるまで、逐次（繰り返し）演算を行う。
【０００６】
例えば、分子項の係数がａ０＝１、ａ１＝１、ａ２＝１、分母項の係数がｂ０＝１、ｂ１＝１、ｂ２＝１であると仮定してフィルタ特性の演算を行い、所定のフィルタ特性（例えば、特定の帯域を−１０ｄＢにすることができるなど）が得られるまで、上記の各係数を変更しながら最適解を算出する方法が逐次演算法である。
【０００７】
ＤＳＰには、浮動小数点に対応したものと固定小数点に対応したものがある。浮動小数点に対応したＤＳＰは、扱える数値範囲が固定小数点対応のものにくらべて大きい反面、コストが高くなる。固定小数点に対応したＤＳＰ（固定小数点ＤＳＰ）はコストが安く、演算処理が高速であるが、扱える数値範囲の制約によって、ＩＩＲフィルタとして用いるときにフィルタ係数が１を超えてはならない。このため、固定小数点ＤＳＰを用いたＩＩＲフィルタにおいては、上記の演算方法などで算出されたフィルタ係数に「１」を超えるものがあるとき、正規化を行う必要がある。
【０００８】
なお、本明細書において、フィルタ係数が１を超えないＩＩＲフィルタを「低次ＩＩＲフィルタ」とし、フィルタ係数が１を超えるＩＩＲフィルタを「高次ＩＩＲフィルタ」として表記している。
【０００９】
図４は、従来のＩＩＲフィルタ設計方法の流れを示すフローチャートである。この従来のＩＩＲフィルタ設計方法は、コンピュータにおいて動作するプログラムによって実行されるものである。従って、図４に示したフローチャートは上記のプログラムのフローチャートの例である。
【００１０】
図４において各処理のステップはＳ１０１、Ｓ１０２・・・として表記する。まず、上記のような所定の算出方法によってフィルタ係数を算出し、これをコンピュータが有する一時記憶領域に記憶する、また、後の処理で使用する変数Ｓｃａｌｅの値を「１」に設定する（Ｓ１０１）。次に、記憶されている係数の中に値が「１」を超えるものが存在するか否かを判定する（Ｓ１０２）。記憶されている係数の中に最大値が「１」を超えるものが無ければ（Ｓ１０２のＮ）、処理をＳ１０５に移行して、記憶されているフィルタ係数を用いたＩＩＲフィルタの出力結果に変数Ｓｃａｌｅを乗じて出力するＩＩＲフィルタをＤＳＰにプログラムする（Ｓ１０５）。
【００１１】
算出された係数の最大値に「１」を超えるものがあれば（Ｓ１０２のＹ）、その「１」を超えている係数の値の小数点以下を切り上げた値を変数Ｓｃａｌｅに記憶する（Ｓ１０３）。次に、一時記憶領域に記憶されている全ての係数に対して変数Ｓｃａｌｅの値を用いて除算をし、その結果をＩＩＲフィルタの係数として一時記憶領域に記憶する（Ｓ１０４）。記憶されているフィルタ係数を用いたＩＩＲフィルタの出力結果に変数Ｓｃａｌｅを乗じて出力するＩＩＲフィルタをＤＳＰにプログラムする（Ｓ１０５）。
【００１２】
このように、固定小数点ＤＳＰを用いたＩＩＲフィルタの場合、設計段階で算出されたフィルタ係数の大きさに応じて正規化処理が必要となる。また、正規化処理を行ったフィルタ係数を用いるときは、ＩＩＲフィルタの出力において逆正規化演算を行う必要が生じる。この正規化演算、逆正規化演算は、ＩＩＲフィルタの出力における桁落ちや誤差の原因となる。
【００１３】
また、ＩＩＲフィルタは、伝達関数の分母多項式の根（極）の絶対値が１を超えた値になるときは、そのＩＩＲフィルタの出力信号は発散してハウリングに近い音を出力してしまう。従って、このようなフィルタ係数のときは、上記のように正規化処理とは別に、極の絶対値が発散しないような分母多項式の係数ｂ０、ｂ１、ｂ２・・・の補正係数を求める必要がある。そのために、ｒ＜１なる定数を用いて、ｂ０、ｂ１、ｂ２・・・をそれぞれ、ｂ０×ｒ０、ｂ１×ｒ1、ｂ２×ｒ2・・・と置き換えて（ａ０＋ａ１ｚ−１＋ａ２ｚ−２＋・・・＋ａＮｚ−Ｎ）／（（ｂ０×ｒ０）＋（ｂ１×ｒ１）ｚ−１＋（ｂ２×ｒ2）ｚ−２＋・・・＋（ｂＭ×ｒＭ）ｚ−Ｍ）として、分母多項式の根が発散しないフィルタ係数に補正をしてＤＳＰにプログラムをする。
しかしながら、ＩＩＲフィルタの伝達関数は分母項と分子項の比で表されているため、分母項の係数を上記のように修正して発散を防いでも、フィルタ全体の精度は低下する原因となる。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
本発明は、上記課題を鑑みてなされたものであって、固定小数点ＤＳＰを用いた高次ＩＩＲフィルタを精度よく設計することができる、ＩＩＲフィルタ設計方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明は、コンピュータプログラムによってデジタル信号処理装置で動作する高次ＩＩＲフィルタのフィルタ係数を算出するＩＩＲフィルタの設計方法であって、所定の演算によって暫定的フィルタ係数を算出するステップと、暫定的フィルタ係数の最大値が１を超えるか否かを判定するステップと、暫定的フィルタ係数の最大値が１を超えるとき、上記暫定的フィルタ係数を多項式とみなして因数分解処理を行うステップと、因数分解処理の結果算出された各係数を低次ＩＩＲフィルタのフィルタ係数として記憶するステップと、記憶されたフィルタ係数を用いて低次ＩＩＲフィルタを縦列接続したＩＩＲフィルタを生成するステップと、生成されたＩＩＲフィルタを上記デジタル信号処理装置にプログラムするステップと、を有することを主な特徴とする。
【００１６】
また、本発明は、コンピュータプログラムによってデジタル信号処理装置で動作する高次ＩＩＲフィルタのフィルタ係数を算出するＩＩＲフィルタの設計方法であって、所定の演算によって暫定的フィルタ係数を算出するステップと、暫定的フィルタ係数の最大値が１を超えるか否かを判定するステップと、暫定的フィルタ係数の最大値が１を超えるとき、暫定的フィルタ係数を多項式とみなして因数分解処理を行うステップと、因数分解処理の結果算出された各係数を低次ＩＩＲフィルタのフィルタ係数として記憶するステップと、記憶された複数の低次ＩＩＲフィルタのフィルタ係数の中に１を超えるフィルタ係数があるか否かを判定するステップと、１を超えるフィルタ係数があるとき、除算によってその１を超えるフィルタ係数の中の最大値が１以下になる定数を算出するステップと、算出された定数を用いて、上記１を超えるフィルタ係数を有する低次ＩＩＲフィルタのフィルタ係数の全てを除算するステップと、算出された定数を乗じても１を超えないフィルタ係数のみで構成される低次ＩＩＲフィルタを特定し、この特定されたＩＩＲフィルタの全フィルタ係数に上記定数を乗じるステップと、除算と乗算により算出されたフィルタ係数によって構成される低次ＩＩＲフィルタを縦列接続したＩＩＲフィルタを生成するステップと、生成されたＩＩＲフィルタを上記デジタル信号処理装置にプログラムするステップと、を有することを特徴とする。
【００１７】
また、本発明は、コンピュータプログラムによってデジタル信号処理装置で動作する高次ＩＩＲフィルタのフィルタ係数を算出するＩＩＲフィルタの設計方法であって、所定の演算によって暫定的フィルタ係数を算出するステップと、暫定的フィルタ係数の最大値が１を超えるか否かを判定するステップと、暫定的フィルタ係数の最大値が１を超えるとき、暫定的フィルタ係数を多項式とみなして因数分解処理を行うステップと、因数分解処理の結果算出された各係数を低次ＩＩＲフィルタのフィルタ係数として記憶するステップと、記憶された複数の低次ＩＩＲフィルタの分母多項式において、根の絶対値が１を超える分母多項式があるか否かを判定するステップと、判定ステップにおいて絶対値が１を超えるものがあったとき、絶対値が１を超える分母多項式を有するＩＩＲフィルタの分子多項式を近似する係数を算出するステップと、算出された上記近似する係数を用いて上記低次ＩＩＲフィルタを生成し、因数分解処理によって算出された各係数を用いた低次ＩＩＲフィルタを縦列接続したＩＩＲフィルタを生成するステップと、生成されたＩＩＲフィルタを上記デジタル信号処理装置にプログラムするステップと、を有することを特徴とする。
【発明の効果】
【００１８】
本発明によれば、リアルタイム性に優れた高次ＩＩＲフィルタの係数の精度を向上させることができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明に係るＩＩＲフィルタ設計方法の実施形態の例について説明をする。本発明はコンピュータにおいて動作するプログラムによって実行されるものである。従って、図１に示すフローチャートは、このプログラムのフローチャートの例である。高次ＩＩＲフィルタは概ね４次以上のものが多い。４次以上の多項式は、必ず因数分解することができる。本発明は、この性質を利用して高次ＩＩＲフィルタの設計における係数算出精度を向上させるものである。
【００２０】
図１において各処理のステップはＳ１１、Ｓ１２・・・として表記する。まず、従来方法と同様の係数算出方法によって暫定的なフィルタ係数を算出し、これをコンピュータが有する一時記憶領域に記憶する（Ｓ１１）。次に、記憶されているフィルタ係数の中に「１」を超えるものが存在するか否かを判定する（Ｓ１２）。「１」を超えるフィルタ係数が存在しなければ（Ｓ１２のＮ）、処理をＳ１５に移行して、記憶されているフィルタ係数を用いたＩＩＲフィルタプログラムをＤＳＰに記憶させる（Ｓ１５）。
【００２１】
算出された係数に「１」を超えるものがあれば（Ｓ１２のＹ）、一時記憶領域に記憶した係数を多項式としてみなして、この多項式を因数分解する処理を行う（Ｓ１３）。因数分解処理によって算出された各項の係数を低次のフィルタ係数として、一時記憶領域に記憶する（Ｓ１４）。一時記憶領域に記憶された低次のフィルタ係数を用いて、複数のＩＩＲフィルタを生成する（Ｓ１５）。生成された複数のＩＩＲフィルタを縦列接続して動作するように、ＤＳＰにＩＩＲフィルタプログラムを記憶させる（Ｓ１６）。
【００２２】
このように高次ＩＩＲフィルタ係数を多項式とみなして因数分解することによって、算出したフィルタ係数が１を超えるときであっても、正規化処理をすることなく、ＩＩＲフィルタの設計をすることができるようになる。すなわち、高次ＩＩＲフィルタの係数を多項式とみなした因数分解処理によって、複数の低次のＩＩＲフィルタに展開し、これを縦列接続して動作させるようにすることで、号用のフィルタ特性を発揮するＩＩＲフィルタを得ることができ、桁落ちが無く精度が高いＩＩＲフィルタを得ることができる。
【００２３】
次に、本発明に係るＩＩＲフィルタ設計方法の別の実施例について説明をする。この実施例も先の実施例と同様にコンピュータにおいて動作するプログラムによって実行されるものである。図２において各処理のステップはＳ２１、Ｓ２２・・・として表記する。
まず、従来方法と同様の所定の係数算出方法によってフィルタ係数を算出し、これをコンピュータが有する一時記憶領域に記憶する（Ｓ２１）。次に、記憶されているフィルタ係数の中に「１」を超えるものが存在するか否かを判定する（Ｓ２２）。「１」を超えるフィルタ係数が存在しなければ（Ｓ２２のＮ）、処理をＳ２８に移行して、記憶されているフィルタ係数を用いたＩＩＲフィルタプログラムを生成し（Ｓ２８）、ＤＳＰにＩＩＲフィルタプログラムを記憶させる（Ｓ２９）。
【００２４】
算出されたフィルタ係数に「１」を超えるものがあれば（Ｓ２２のＹ）、一時記憶領域に記憶したフィルタ係数を多項式としてみなして、この多項式を因数分解する処理を行う（Ｓ２３）。因数分解処理によって算出された各項の係数を低次のフィルタ係数として、一時記憶領域に記憶する（Ｓ２４）。
【００２５】
このように、実施例１と同様の因数分解処理によってフィルタ係数を算出した場合であっても、算出されたフィルタ係数の中に「１」を超える値が存在することがある。本実施例は、このような場合に適用可能なものである。
【００２６】
上記の処理で算出されたフィルタ係数に「１」を超えているフィルタ係数が存在するか否かを判定し（Ｓ２５）、「１」を超えているフィルタ係数がなければ（Ｓ２５のＮ）、処理をＳ２８に移行して、記憶されているフィルタ係数を用いたＩＩＲフィルタプログラムを生成し（Ｓ２８）、ＤＳＰにＩＩＲフィルタプログラムを記憶させる（Ｓ２９）。
【００２７】
算出したフィルタ係数に「１」を超える値があれば（Ｓ２５のＹ）、この最大のフィルタ係数を除算によって１以下にすることができる値「Ａ」を算出する（Ｓ２６）。算出された「Ａ」を用いて、最大値が「１」以上のフィルタ係数を有するフィルタの全係数をＡで除算して新たなフィルタ係数を算出し、最大値が「１」以下のフィルタ係数を有し、かつ、Ａを乗じても「１」を超えない大きさのフィルタ係数のみを有する別のフィルタの全係数にＡを乗じて新たなフィルタ係数を算出して、それぞれを記憶する（Ｓ２７）。
【００２８】
記憶されたフィルタ係数を用いてＩＩＲフィルタプログラムを生成し（Ｓ２８）、ＤＳＰにＩＩＲフィルタプログラムを記憶させる（Ｓ２９）。
【００２９】
このように高次ＩＩＲフィルタ係数を多項式とみなして因数分解することによって、高次ＩＩＲフィルタのフィルタ係数が複数の低次ＩＩＲフィルタのフィルタ係数に変換し、さらに、変換された低次ＩＩＲフィルタの係数に「１」を超えるものが含まれるとき、縦列接続される他のＩＩＲフィルタに係数を振り分けることによって、全体として、高次ＩＩＲフィルタと等価な特性を有し、桁落ちが無く精度が高いＩＩＲフィルタを得ることができる。
【００３０】
次に、本発明に係るＩＩＲフィルタ設計方法の別の実施例について説明をする。この実施例も先の実施例と同様にコンピュータにおいて動作するプログラムによって実行されるものである。図３において各処理のステップはＳ３１、Ｓ３２・・・として表記する。
まず、従来方法と同様の所定の係数算出方法によってフィルタ係数を算出し、これをコンピュータが有する一時記憶領域に記憶する（Ｓ３１）。次に、記憶されているフィルタ係数の中に「１」を超えるものが存在するか否かを判定する（Ｓ３２）。「１」を超えるフィルタ係数が存在しなければ（Ｓ３２のＮ）、処理をＳ２８に移行して、記憶されているフィルタ係数を用いたＩＩＲフィルタプログラムを生成し（Ｓ２８）、ＤＳＰにＩＩＲフィルタプログラムを記憶させる（Ｓ２９）。
【００３１】
算出されたフィルタ係数に「１」を超えるものがあれば（Ｓ３２のＹ）、一時記憶領域に記憶したフィルタ係数を多項式としてみなした因数分解処理を行う（Ｓ３３）。因数分解処理によって算出された各項のフィルタ係数を低次のフィルタ係数として、一時記憶領域に記憶する（Ｓ３４）。
【００３２】
このように、実施例１と同様の因数分解処理によってフィルタ係数を算出した場合であっても、分母多項式の根の絶対値が１を超える値になるときは、従来方法と同様に出力信号が発散してしまうので、これを解決する必要がある。本実施例は、このような場合において適用可能なものである。
【００３３】
上記の処理で算出されたフィルタ係数において、分母多項式の根の絶対値をそれぞれ算出し、絶対値が「１」を超えているものがあるか否かを判定する（Ｓ３５）、絶対値が「１」を超えているものがなければ（Ｓ３５のＮ）、処理をＳ３７に移行して、記憶されているフィルタ係数を用いたＩＩＲフィルタプログラムを生成し（Ｓ３７）、ＤＳＰにＩＩＲフィルタプログラムを記憶させる（Ｓ３８）。
【００３４】
絶対値が１を超えているものがあれば、その分母多項式を有するＩＩＲフィルタ伝達関数の分子多項式を近似する分子項のフィルタ係数を算出する（Ｓ３６）。算出されたフィルタ係数を用いてＩＩＲフィルタプログラムを生成し（Ｓ３７）、ＤＳＰにＩＩＲフィルタプログラムを記憶させる（Ｓ３８）。
【００３５】
上記のＳ３６における処理について説明をする。ｒ＝１−２−ｎとする変数において、例えばｎ＝６とした場合の分母多項式（（ｂ０×ｒ０）＋（ｂ１×ｒ１）ｚ−１＋（ｂ２×ｒ2）ｚ−２＋・・・＋（ｂＭ×ｒＭ）ｚ−Ｍ））において、根の絶対値Ｐが１を超えるか否かを判定し、１を超えるときは、ｎ＝７，８・・・というように順次増やして根の絶対値Ｐが１を超えないｒを算出する。
【００３６】
算出されたｒの値を用いて、ＩＩＲフィルタの伝達関数（ａ０＋ａ１ｚ−１＋ａ２ｚ−２＋・・・＋ａＮｚ−Ｎ）／（（ｂ０×ｒ０）＋（ｂ１×ｒ１）ｚ−１＋（ｂ２×ｒ2）ｚ−２＋・・・＋（ｂＭ×ｒＭ）ｚ−Ｍ））＝ａ０‘＋ａ１‘ｚ−１＋ａ２‘ｚ−２＋・・・＋ａＮ‘ｚ−Ｎを満たすようなａ０‘、ａ１‘、ａ２‘、・・・、ａＮ‘を算出する。
上記によって算出された分母項の係数と分子項の係数を用いてＩＩＲフィルタを生成する（Ｓ３６，Ｓ３７）。
【００３７】
このように、本発明に係るＩＩＲフィルタ設計方法によれば、高次ＩＩＲフィルタ係数を多項式とみなして因数分解することによって、高次ＩＩＲフィルタのフィルタ係数が複数の低次ＩＩＲフィルタのフィルタ係数に変換し、さらに、変換された低次ＩＩＲフィルタの分母多項式が発散するものであれば、それを精度よく補正する近似する分子多項式の係数を用いることで、全体として、高次ＩＩＲフィルタと等価な特性を有し、桁落ちが無く精度が高いＩＩＲフィルタを得ることができる。
【産業上の利用可能性】
【００３８】
本発明に係るＩＩＲフィルタ設計方法は、例えば、ヘッドホンなどにおけるデジタルノイズキャンセルシステムに用いるＩＩＲフィルタの設計に適用できる。
【図面の簡単な説明】
【００３９】
【図１】本発明に係るＩＩＲフィルタ設計方法を実行するコンピュータプログラムの処理の流れの例を示すフローチャートである。
【図２】上記コンピュータプログラムの処理の流れの別の例を示すフローチャートである。
【図３】上記コンピュータプログラムの処理の流れの別の例を示すフローチャートである。
【図４】従来のＩＩＲフィルタ設計方法を実行するコンピュータプログラムの処理の流れの例を示すフローチャートである。
【符号の説明】
【００４０】
Ｓ１３  因数分解処理
Ｓ１５  縦列接続ＩＩＲフィルタ生成処理
【図１】
2010141780.tif 000003
【図２】
2010141780.tif 000004
【図３】
2010141780.tif 000005
【図４】
2010141780.tif 000006