(57)【特許請求の範囲】
【請求項１】
複数の遅延器から成るタップ付き遅延線を備え、各タップの信号を、与えられるフィルタ係数群によりそれぞれ数倍した後、加算して出力するデジタルフィルタであって、
数列が対称型であり、上記数列の合計値が非ゼロで、上記数列の１つ飛びの合計値が同符号で互いに等しくなるように値を設定した第１のフィルタ係数群を基本とし、上記第１のフィルタ係数群の数列の絶対値をそのままにして上記数列の中央値以外を符号反転することによって得た第２のフィルタ係数群を、上記各タップの信号に対するフィルタ係数群として与えるように設計されたことを特徴とするデジタルフィルタ。
【請求項２】
複数の遅延器から成るタップ付き遅延線を備え、各タップの信号を、与えられるフィルタ係数群によりそれぞれ数倍した後、加算して出力するデジタルフィルタであって、
数列が対称型であり、上記数列の合計値が非ゼロで、上記数列の１つ飛びの合計値が同符号で互いに等しくなるように値を設定した第１のフィルタ係数群を基本とし、上記第１のフィルタ係数群の数列の中央値以外については絶対値をそのままにして符号反転するとともに、上記数列の中央値については上記数列の全てのフィルタ係数値を加算した値である基準値から上記中央値を減算することによって得た第２のフィルタ係数群を、上記各タップの信号に対するフィルタ係数群として与えるように設計されたことを特徴とするデジタルフィルタ。
【請求項３】
上記第１のフィルタ係数群は、−１，０，９，１６，９，０，−１の比率から成る数列をフィルタ係数群として用いるように成された基本フィルタを１段もしくは複数段縦続接続した場合に得られる数列から成ることを特徴とする請求項１または２に記載のデジタルフィルタ。
【請求項４】
複数の遅延器から成るタップ付き遅延線を備え、各タップの信号を、与えられるフィルタ係数群によりそれぞれ数倍した後、加算して出力するデジタルフィルタであって、
数列が対称型であり、上記数列の合計値が非ゼロで、上記数列の１つ飛びの合計値が同符号で互いに等しくなるように値を設定した第１のフィルタ係数群を基本とし、上記第１のフィルタ係数群の各値と合算した結果が上記数列の全てのフィルタ係数値を加算した値である基準値となるように各値が設定された数列から成る第２のフィルタ係数群を、上記各タップの信号に対するフィルタ係数群として与えるように設計されたことを特徴とするデジタルフィルタ。
【請求項５】
複数の遅延器から成るタップ付き遅延線を備え、各タップの信号を、与えられるフィルタ係数群によりそれぞれ数倍した後、加算して出力するデジタルフィルタであって、
数列が対称型であり、上記数列の合計値がゼロで、上記数列の１つ飛びの合計値が逆符号で互いに等しくなるように値を設定した第２のフィルタ係数群を基本とし、上記第２のフィルタ係数群の数列の絶対値をそのままにして上記数列の中央値以外を符号反転することによって得た第１のフィルタ係数群を、上記各タップの信号に対するフィルタ係数群として与えるように設計されたことを特徴とするデジタルフィルタ。
【請求項６】
複数の遅延器から成るタップ付き遅延線を備え、各タップの信号を、与えられるフィルタ係数群によりそれぞれ数倍した後、加算して出力するデジタルフィルタであって、
数列が対称型であり、上記数列の合計値がゼロで、上記数列の１つ飛びの合計値が逆符号で互いに等しくなるように値を設定した第２のフィルタ係数群を基本とし、上記第２のフィルタ係数群の数列の中央値以外については絶対値をそのままにして符号反転するとともに、上記数列の中央値については上記数列の全てのフィルタ係数値を加算した値である基準値から上記中央値を減算することによって得た第１のフィルタ係数群を、上記各タップの信号に対するフィルタ係数群として与えるように設計されたことを特徴とするデジタルフィルタ。
【請求項７】
上記第２のフィルタ係数群は、１，０，−９，１６，−９，０，１の比率から成る数列をフィルタ係数群として用いるように成された基本フィルタを１段もしくは複数段縦続接続した場合に得られる数列から成ることを特徴とする請求項５または６に記載のデジタルフィルタ。
【請求項８】
複数の遅延器から成るタップ付き遅延線を備え、各タップの信号を、与えられるフィルタ係数群によりそれぞれ数倍した後、加算して出力するデジタルフィルタであって、
数列が対称型であり、上記数列の合計値がゼロで、上記数列の１つ飛びの合計値が逆符号で互いに等しくなるように値を設定した第２のフィルタ係数群を基本とし、上記第２のフィルタ係数群の各値と合算した結果が上記数列の全てのフィルタ係数値を加算した値である基準値となるように各値が設定された数列から成る第１のフィルタ係数群を、上記各タップの信号に対するフィルタ係数群として与えるように設計されたことを特徴とするデジタルフィルタ。
【請求項９】
複数の遅延器から成るタップ付き遅延線における各タップの信号を、与えられるフィルタ係数群によりそれぞれ数倍した後、加算して出力するデジタルフィルタを設計する方法であって、
数列が対称型であり、上記数列の合計値が非ゼロで、上記数列の１つ飛びの合計値が同符号で互いに等しくなるように値を設定した基本のフィルタ係数群をもとに、上記基本のフィルタ係数群の数列の絶対値をそのままにして上記数列の中央値以外を符号反転することにより、上記各タップの信号に対するフィルタ係数群を求めるようにしたことを特徴とするデジタルフィルタの設計方法。
【請求項１０】
複数の遅延器から成るタップ付き遅延線における各タップの信号を、与えられるフィルタ係数群によりそれぞれ数倍した後、加算して出力するデジタルフィルタを設計する方法であって、
数列が対称型であり、上記数列の合計値が非ゼロで、上記数列の１つ飛びの合計値が同符号で互いに等しくなるように値を設定した基本のフィルタ係数群をもとに、上記基本のフィルタ係数群の数列の中央値以外については絶対値をそのままにして符号反転するとともに、上記数列の中央値については上記数列の全てのフィルタ係数値を加算した値である基準値から上記中央値を減算することにより、上記各タップの信号に対するフィルタ係数群を求めるようにしたことを特徴とするデジタルフィルタの設計方法。
【請求項１１】
上記基本のフィルタ係数群は、−１，０，９，１６，９，０，−１の比率の数列から成ることを特徴とする請求項９または１０に記載のデジタルフィルタの設計方法。
【請求項１２】
複数の遅延器から成るタップ付き遅延線における各タップの信号を、与えられるフィルタ係数群によりそれぞれ数倍した後、加算して出力するデジタルフィルタを設計する方法であって、
数列が対称型であり、上記数列の合計値がゼロで、上記数列の１つ飛びの合計値が逆符号で互いに等しくなるように値を設定した基本のフィルタ係数群をもとに、上記基本のフィルタ係数群の数列の絶対値をそのままにして上記数列の中央値以外を符号反転することにより、上記各タップの信号に対するフィルタ係数群を求めるようにしたことを特徴とするデジタルフィルタの設計方法。
【請求項１３】
複数の遅延器から成るタップ付き遅延線における各タップの信号を、与えられるフィルタ係数群によりそれぞれ数倍した後、加算して出力するデジタルフィルタを設計する方法であって、
数列が対称型であり、上記数列の合計値がゼロで、上記数列の１つ飛びの合計値が逆符号で互いに等しくなるように値を設定した基本のフィルタ係数群をもとに、上記基本のフィルタ係数群の数列の中央値以外については絶対値をそのままにして符号反転するとともに、上記数列の中央値については上記数列の全てのフィルタ係数値を加算した値である基準値から上記中央値を減算することにより、上記各タップの信号に対するフィルタ係数群を求めるようにしたことを特徴とするデジタルフィルタの設計方法。
【請求項１４】
上記基本のフィルタ係数群は、１，０，−９，１６，−９，０，１の比率の数列から成ることを特徴とする請求項１２または１３に記載のデジタルフィルタの設計方法。
【請求項１５】
複数の遅延器から成るタップ付き遅延線における各タップの信号を、与えられるフィルタ係数群によりそれぞれ数倍した後、加算して出力するデジタルフィルタを設計する方法であって、
数列が対称型であり、上記数列の合計値が非ゼロで、上記数列の１つ飛びの合計値が同符号で互いに等しくなるように値を設定した基本のフィルタ係数群を用いるように成された基本フィルタをｎ段（ｎ≧１）縦続接続し、これによって得られたｎ次のフィルタ係数群の数列の絶対値をそのままにして上記数列の中央値以外を符号反転し、これによって得られた転写フィルタ係数群を、上記各タップの信号に対するフィルタ係数群として求めるようにしたことを特徴とするデジタルフィルタの設計方法。
【請求項１６】
複数の遅延器から成るタップ付き遅延線における各タップの信号を、与えられるフィルタ係数群によりそれぞれ数倍した後、加算して出力するデジタルフィルタを設計する方法であって、
数列が対称型であり、上記数列の合計値が非ゼロで、上記数列の１つ飛びの合計値が同符号で互いに等しくなるように値を設定した基本のフィルタ係数群を用いるように成された基本フィルタをｎ段（ｎ≧１）縦続接続し、これによって得られたｎ次のフィルタ係数群の数列の中央値以外については絶対値をそのままにして符号反転するとともに、上記数列の中央値については上記数列の全てのフィルタ係数値を加算した値である基準値から上記中央値を減算し、これによって得られた転写フィルタ係数群を、上記各タップの信号に対するフィルタ係数群として求めるようにしたことを特徴とするデジタルフィルタの設計方法。
【請求項１７】
複数の遅延器から成るタップ付き遅延線における各タップの信号を、与えられるフィルタ係数群によりそれぞれ数倍した後、加算して出力するデジタルフィルタを設計する方法であって、
数列が対称型であり、上記数列の合計値がゼロで、上記数列の１つ飛びの合計値が逆符号で互いに等しくなるように値を設定した基本のフィルタ係数群を用いるように成された基本フィルタをｎ段（ｎ≧１）縦続接続し、これによって得られたｎ次のフィルタ係数群の数列の絶対値をそのままにして上記数列の中央値以外を符号反転し、これによって得られた転写フィルタ係数群を、上記各タップの信号に対するフィルタ係数群として求めるようにしたことを特徴とするデジタルフィルタの設計方法。
【請求項１８】
複数の遅延器から成るタップ付き遅延線における各タップの信号を、与えられるフィルタ係数群によりそれぞれ数倍した後、加算して出力するデジタルフィルタを設計する方法であって、
数列が対称型であり、上記数列の合計値がゼロで、上記数列の１つ飛びの合計値が逆符号で互いに等しくなるように値を設定した基本のフィルタ係数群を用いるように成された基本フィルタをｎ段（ｎ≧１）縦続接続し、これによって得られたｎ次のフィルタ係数群の数列の中央値以外については絶対値をそのままにして符号反転するとともに、上記数列の中央値については上記数列の全てのフィルタ係数値を加算した値である基準値から上記中央値を減算し、これによって得られた転写フィルタ係数群を、上記各タップの信号に対するフィルタ係数群として求めるようにしたことを特徴とするデジタルフィルタの設計方法。
【請求項１９】
上記遅延器の遅延レートを変えることによってフィルタの通過周波数帯域をシフトさせるようにしたことを特徴とする請求項１５または１６に記載のデジタルフィルタの設計方法。
【請求項２０】
上記遅延器の遅延レートを変えることによってフィルタの通過周波数帯域をシフトさせるようにしたことを特徴とする請求項１７または１８に記載のデジタルフィルタの設計方法。
【請求項２１】
請求項１５〜１８の何れか１項に記載の設計方法により求められたフィルタ係数群を用いるフィルタをｍ段（ｍ≧１）縦続接続することにより、フィルタの通過周波数帯域を調整するようにしたことを特徴とするデジタルフィルタの設計方法。
【請求項２２】
複数の遅延器から成るタップ付き遅延線における各タップの信号を、与えられるフィルタ係数群によりそれぞれ数倍した後、加算して出力するデジタルフィルタを設計する方法であって、
数列が対称型であり、上記数列の合計値が非ゼロで、上記数列の１つ飛びの合計値が同符号で互いに等しくなるように値を設定した第１の基本のフィルタ係数群を用いるように成された第１の基本フィルタをｎ段（ｎ≧１）縦続接続し、上記遅延器の遅延レートを変えることによってフィルタの通過周波数帯域をシフトさせ、これによってｎ次のフィルタ係数群を得るとともに、
数列が対称型であり、上記数列の合計値がゼロで、上記数列の１つ飛びの合計値が逆符号で互いに等しくなるように値を設定した第２の基本のフィルタ係数群を用いるように成された第２の基本フィルタをｍ段（ｍ≧１）縦続接続し、上記遅延器の遅延レートを変えることによってフィルタの通過周波数帯域をシフトさせ、これによってｍ次のフィルタ係数群を得て、
上記ｎ次のフィルタ係数群を用いるフィルタと、上記ｍ次のフィルタ係数群を用いるフィルタとを縦続接続し、
さらに、当該縦続接続によって得られたフィルタ係数群の数列の中央値以外については絶対値をそのままにして符号反転するとともに、上記数列の中央値については上記数列の全てのフィルタ係数値を加算した値である基準値から上記中央値を減算することにより、これによって得られた転写フィルタ係数群を、上記各タップの信号に対するフィルタ係数群として求めるようにしたことを特徴とするデジタルフィルタの設計方法。
【請求項２３】
複数の遅延器から成るタップ付き遅延線における各タップの信号を、与えられるフィルタ係数群によりそれぞれ数倍した後、加算して出力するデジタルフィルタを設計する方法であって、
数列が対称型であり、上記数列の合計値が非ゼロで、上記数列の１つ飛びの合計値が同符号で互いに等しくなるように値を設定した最初のフィルタ係数群、または、上記数列の合計値がゼロで、上記数列の１つ飛びの合計値が逆符号で互いに等しくなるように値を設定した最初のフィルタ係数群をもとに、上記最初のフィルタ係数群を用いるように成されたフィルタを複数段縦続接続した場合に得られるフィルタ係数群であって、接続段数を１つずつ増やしていったときに変化していく周波数が目的の周波数を飛び超える段数だけ上記基本フィルタを縦続接続した場合に得られる２番目のフィルタ係数群を求め、
上記求めた２番目のフィルタ係数群をもとに、当該２番目のフィルタ係数群の数列の中央値以外については絶対値をそのままにして符号反転するとともに、上記数列の中央値については上記数列の全てのフィルタ係数値を加算した値である基準値から上記中央値を減算することにより、転写フィルタ係数群を求めて、
上記転写フィルタ係数群をもとに、上記転写フィルタ係数群を用いるように成された中間成果物のフィルタを複数段縦続接続した場合に得られるフィルタ係数群であって、接続段数を１つずつ増やしていったときに変化していく周波数が上記目的の周波数を飛び超える段数だけ上記中間成果物のフィルタを縦続接続した場合に得られる３番目のフィルタ係数群を更に求め、
以下同様に、上記求めた３番目のフィルタ係数群をもとに、転写フィルタ係数群と、当該転写フィルタ係数群を用いるように成された中間成果物のフィルタを縦続接続した場合のフィルタ係数群とを繰り返し求めて、これによって得られる周波数と上記目的の周波数との誤差を小さくしていき、最終的なフィルタ係数群を得るようにしたことを特徴とするデジタルフィルタの設計方法。
【発明の詳細な説明】
技術分野
本発明は、デジタルフィルタおよびその設計方法に関し、特に、複数の遅延器から成るタップ付き遅延線を備え、各タップの信号をそれぞれ数倍した後、加算して出力するＦＩＲフィルタに用いて好適なものである。
背景技術
通信、計測、音声・画像信号処理、医療、地震学などの様々な分野で提供されている種々の電子機器においては、その内部で何らかのデジタル信号処理を行っているのが通常である。デジタル信号処理の最も重要な基本操作に、各種の信号や雑音が混在している入力信号の中から、必要なある周波数帯域の信号のみを取り出すフィルタリング処理がある。このために、デジタル信号処理を行う電子機器では、デジタルフィルタが用いられることが多い。
デジタルフィルタとしては、ＩＩＲ（Ｉｎｆｉｎｉｔｅ  Ｉｍｐｕｌｓｅ  Ｒｅｓｐｏｎｓｅ：無限長インパルス応答）フィルタやＦＩＲ（Ｆｉｎｉｔｅ  Ｉｍｐｕｌｓｅ  Ｒｅｓｐｏｎｓｅ：有限長インパルス応答）フィルタが多く用いられる。このうちＦＩＲフィルタは、次のような利点を持つ。第１に、ＦＩＲフィルタの伝達関数の極はｚ平面の原点のみにあるため、回路は常に安定である。第２に、完全に正確な直線位相特性を実現することができる。
フィルタを通過域と阻止域との配置から分類すると、ローパスフィルタ、ハイパスフィルタ、帯域通過フィルタ、帯域消去フィルタの４つに分けられる。ＩＩＲフィルタやＦＩＲフィルタで基本となるのはローパスフィルタであり、その他のハイパスフィルタ、帯域通過フィルタ、帯域消去フィルタは、ローパスフィルタから周波数変換等の処理を行うことによって導かれる。
電子機器の用途によっては、互いに対称的な周波数特性を有するローパスフィルタとハイパスフィルタとの対から成る対称型ＦＩＲフィルタを用いることがある。そのような対称型ＦＩＲフィルタは、まず基本となるローパスフィルタを設計し、これを周波数変換することにより、ローパスフィルタと特性が対称的なハイパスフィルタを設計する。
ところで、ＦＩＲフィルタは、有限時間長で表されるインパルス応答がそのままフィルタの係数となっている。したがって、ＦＩＲフィルタを設計するということは、希望の周波数特性が得られるようにフィルタ係数群を決定するということである。
従来、ＦＩＲ型のローパスフィルタからハイパスフィルタ等のフィルタ係数を導く周波数変換では、フィルタのカットオフ周波数を変換する処理が行われていた。具体的には、サンプリング周波数とカットオフ周波数との比率をもとに、窓関数やチェビシェフ近似法などを用いた畳み込み演算等を行うことにより、フィルタの伝達関数を求め、それを更に周波数成分に置き換える処理を行っていた。
しかしながら、窓関数やチェビシェフ近似法などを用いた周波数変換は、その計算が非常に複雑である。そのため、これをソフトウェアで実現すると処理負荷が重くなり、ハードウェアで実現すると回路規模が大きくなるという問題があった。
また、従来の設計法で得られるフィルタの周波数特性は、窓関数や近似式に依存するので、これらをうまく設定しないと、良好な周波数特性を得ることができない。しかし、窓関数や近似式を適当に設定することは一般に困難であり、所望の周波数特性を有するフィルタを設計することは、非常に大変であった。
また、周波数変換によらず、ハイパスフィルタなどのフィルタ係数を直接的に求める方法も考えられる。しかし、この場合は、所望の周波数特性を得るのに必要なフィルタ係数を試行錯誤して求めなければならず、簡単には設計できないという問題があった。
本発明は、このような問題を解決するために成されたものであり、所望の周波数特性を有するＦＩＲデジタルフィルタを簡易的に設計できるようにすることを目的とする。
発明の開示
本発明のデジタルフィルタは、複数の遅延器から成るタップ付き遅延線を備え、各タップの信号を、与えられるフィルタ係数群によりそれぞれ数倍した後、加算して出力するデジタルフィルタであって、数列が対称型であり、上記数列の合計値が非ゼロで、上記数列の１つ飛びの合計値が同符号で互いに等しくなるように値を設定した第１のフィルタ係数群を基本とし、上記第１のフィルタ係数群の各値と合算した結果が基準値となるように各値が設定された数列から成る第２のフィルタ係数群を、上記各タップの信号に対するフィルタ係数群として与えるように設計されたことを特徴とする。
本発明のその他の態様では、複数の遅延器から成るタップ付き遅延線を備え、各タップの信号を、与えられるフィルタ係数群によりそれぞれ数倍した後、加算して出力するデジタルフィルタであって、数列が対称型であり、上記数列の合計値がゼロで、上記数列の１つ飛びの合計値が逆符号で互いに等しくなるように値を設定した第２のフィルタ係数群を基本とし、上記第２のフィルタ係数群の各値と合算した結果が基準値となるように各値が設定された数列から成る第１のフィルタ係数群を、上記各タップの信号に対するフィルタ係数群として与えるように設計されたことを特徴とする。
また、本発明によるデジタルフィルタの設計方法は、複数の遅延器から成るタップ付き遅延線における各タップの信号を、与えられるフィルタ係数群によりそれぞれ数倍した後、加算して出力するデジタルフィルタを設計する方法であって、数列が対称型であり、上記数列の合計値が非ゼロで、上記数列の１つ飛びの合計値が同符号で互いに等しくなるように値を設定した基本のフィルタ係数群をもとに、上記基本のフィルタ係数群の数列の絶対値をそのままにして上記数列の中央値以外を符号反転することにより、上記各タップの信号に対するフィルタ係数群を求めるようにしたことを特徴とする。
本発明の他の態様では、複数の遅延器から成るタップ付き遅延線における各タップの信号を、与えられるフィルタ係数群によりそれぞれ数倍した後、加算して出力するデジタルフィルタを設計する方法であって、数列が対称型であり、上記数列の合計値が非ゼロで、上記数列の１つ飛びの合計値が同符号で互いに等しくなるように値を設定した基本のフィルタ係数群をもとに、上記基本のフィルタ係数群の数列の中央値以外については絶対値をそのままにして符号反転するとともに、上記数列の中央値については基準値から上記中央値を減算することにより、上記各タップの信号に対するフィルタ係数群を求めるようにしたことを特徴とする。
本発明のその他の態様では、数列が対称型であり、上記数列の合計値がゼロで、上記数列の１つ飛びの合計値が逆符号で互いに等しくなるように値を設定した基本のフィルタ係数群をもとに、上述と同様の操作を行うことにより、上記各タップの信号に対するフィルタ係数群を求めるようにしたことを特徴とする。
本発明のその他の態様では、複数の遅延器から成るタップ付き遅延線における各タップの信号を、与えられるフィルタ係数群によりそれぞれ数倍した後、加算して出力するデジタルフィルタを設計する方法であって、数列が対称型であり、上記数列の合計値が非ゼロで、上記数列の１つ飛びの合計値が同符号で互いに等しくなるように値を設定した基本のフィルタ係数群を用いるように成された基本フィルタをｎ段（ｎ≧１）縦続接続し、これによって得られたｎ次のフィルタ係数群の数列の絶対値をそのままにして上記数列の中央値以外を符号反転し、これによって得られた転写フィルタ係数群を、上記各タップの信号に対するフィルタ係数群として求めるようにしたことを特徴とする。
本発明のその他の態様では、上記ｎ次のフィルタ係数群の数列の中央値以外については絶対値をそのままにして符号反転するとともに、上記数列の中央値については基準値から上記中央値を減算し、これによって得られた転写フィルタ係数群を、上記各タップの信号に対するフィルタ係数群として求めるようにしたことを特徴とする。
本発明のその他の態様では、複数の遅延器から成るタップ付き遅延線における各タップの信号を、与えられるフィルタ係数群によりそれぞれ数倍した後、加算して出力するデジタルフィルタを設計する方法であって、数列が対称型であり、上記数列の合計値がゼロで、上記数列の１つ飛びの合計値が逆符号で互いに等しくなるように値を設定した基本のフィルタ係数群を用いるように成された基本フィルタをｎ段（ｎ≧１）縦続接続し、これによって得られたｎ次のフィルタ係数群の数列の絶対値をそのままにして上記数列の中央値以外を符号反転し、これによって得られた転写フィルタ係数群を、上記各タップの信号に対するフィルタ係数群として求めるようにしたことを特徴とする。
本発明のその他の態様では、上記ｎ次のフィルタ係数群の数列の中央値以外については絶対値をそのままにして符号反転するとともに、上記数列の中央値については基準値から上記中央値を減算し、これによって得られた転写フィルタ係数群を、上記各タップの信号に対するフィルタ係数群として求めるようにしたことを特徴とする。
本発明のその他の態様では、上記遅延器の遅延レートを変えることによってフィルタの通過周波数帯域をシフトさせるようにしたことを特徴とする。
本発明のその他の態様では、請求の範囲第３１項、第３２項、第３４項、第３５項の何れか１項に記載の設計方法により求められたフィルタ係数群を用いるフィルタをｍ段（ｍ≧１）縦続接続することにより、フィルタの通過周波数帯域を調整するようにしたことを特徴とする。
本発明のその他の態様では、複数の遅延器から成るタップ付き遅延線における各タップの信号を、与えられるフィルタ係数群によりそれぞれ数倍した後、加算して出力するデジタルフィルタを設計する方法であって、数列が対称型であり、上記数列の合計値が非ゼロで、上記数列の１つ飛びの合計値が同符号で互いに等しくなるように値を設定した第１の基本のフィルタ係数群を用いるように成された第１の基本フィルタをｎ段（ｎ≧１）縦続接続し、上記遅延器の遅延レートを変えることによってフィルタの通過周波数帯域をシフトさせ、これによってｎ次のフィルタ係数群を得るとともに、数列が対称型であり、上記数列の合計値がゼロで、上記数列の１つ飛びの合計値が逆符号で互いに等しくなるように値を設定した第２の基本のフィルタ係数群を用いるように成された第２の基本フィルタをｍ段（ｍ≧１）縦続接続し、上記遅延器の遅延レートを変えることによってフィルタの通過周波数帯域をシフトさせ、これによってｍ次のフィルタ係数群を得て、上記ｎ次のフィルタ係数群を用いるフィルタと、上記ｍ次のフィルタ係数群を用いるフィルタとを縦続接続し、さらに、当該縦続接続によって得られたフィルタ係数群の数列の中央値以外については絶対値をそのままにして符号反転するとともに、上記数列の中央値については基準値から上記中央値を減算することにより、これによって得られた転写フィルタ係数群を、上記各タップの信号に対するフィルタ係数群として求めるようにしたことを特徴とする。
本発明のその他の態様では、複数の遅延器から成るタップ付き遅延線における各タップの信号を、与えられるフィルタ係数群によりそれぞれ数倍した後、加算して出力するデジタルフィルタを設計する方法であって、数列が対称型であり、上記数列の合計値が非ゼロで、上記数列の１つ飛びの合計値が同符号で互いに等しくなるように値を設定した最初のフィルタ係数群、または、上記数列の合計値がゼロで、上記数列の１つ飛びの合計値が逆符号で互いに等しくなるように値を設定した最初のフィルタ係数群をもとに、上記最初のフィルタ係数群を用いるように成されたフィルタを複数段縦続接続した場合に得られるフィルタ係数群であって、接続段数を１つずつ増やしていったときに変化していく周波数が目的の周波数を飛び超える段数だけ上記基本フィルタを縦続接続した場合に得られる２番目のフィルタ係数群を求め、上記求めた２番目のフィルタ係数群をもとに、当該２番目のフィルタ係数群の数列の中央値以外については絶対値をそのままにして符号反転するとともに、上記数列の中央値については基準値から上記中央値を減算することにより、転写フィルタ係数群を求めて、上記転写フィルタ係数群をもとに、上記転写フィルタ係数群を用いるように成された中間成果物のフィルタを複数段縦続接続した場合に得られるフィルタ係数群であって、接続段数を１つずつ増やしていったときに変化していく周波数が上記目的の周波数を飛び超える段数だけ上記中間成果物のフィルタを縦続接続した場合に得られる３番目のフィルタ係数群を更に求め、以下同様に、上記求めた３番目のフィルタ係数群をもとに、転写フィルタ係数群と、当該転写フィルタ係数群を用いるように成された中間成果物のフィルタを縦続接続した場合のフィルタ係数群とを繰り返し求めて、これによって得られる周波数と上記目的の周波数との誤差を小さくしていき、最終的なフィルタ係数群を得るようにしたことを特徴とする。
発明を実施するための最良の形態
以下、本発明の一実施形態を図面に基づいて説明する。
本実施形態のデジタルフィルタは、複数の遅延器から成るタップ付き遅延線を備え、各タップの信号を、与えられるフィルタ係数群によりそれぞれ数倍した後、加算して出力するトランスバーサル型のＦＩＲフィルタである。ＦＩＲフィルタでは、これに与える複数のフィルタ係数の数列が対称型であれば、位相特性は直線となり、かつ、回路が常に安定となる。
本実施形態では、このＦＩＲフィルタに対して与える対称型の基本的なフィルタ係数群として、図２の▲４▼に示すような数列｛−１，０，９，１６，９，０，−１｝を用いる。この▲４▼に示すフィルタ係数群は、その数列が対称型であり、数列の合計値が非ゼロで、数列の１つ飛びの合計値が同符号で互いに等しくなるという性質を持っている（−１＋９＋９＋（−１）＝１６、０＋１６＋０＝１６）。
上記図２の▲４▼に示すフィルタ係数は、同図の▲３▼に示すデジタル基本関数を１回移動平均演算することによって得られるものである。このデジタル基本関数は、１クロック毎にデータ値が−１，１，８，８，１，−１と変化する関数である。このデジタル基本関数の数列は、同図の▲１▼に示す数列を２回移動平均演算することによって得られる。
ここで、上記デジタル基本関数の数列の意味について、図１９を用いて説明する。
図１９は、上記デジタル基本関数を１回移動平均して得られる上述の数値列｛−１，０，９，１６，９，０，−１｝に対して、４倍のオーバーサンプリングとコンボリューション演算とを施した結果を示す図である。
図１９（ａ）において、一番左の列に示される一連の数値列は、元の数値列｛−１，０，９，１６，９，０，−１｝に対して４倍のオーバーサンプリングを行った値である。また、一番左から右に向かって４列分の数値列は、一番左の列に示される数値列を１つずつ下方向にシフトしていったものである。図１９（ａ）の列方向は時間軸を示しており、数値列を下方向にシフトするということは、一番左の列に示される数値列を徐々に遅延させていくことに対応する。
すなわち、左から２列目の数値列は、一番左の列に示される数値列を４倍周波数のクロック４ＣＫの１／４位相分だけずらした数値列であることを示す。また、左から３列目の数値列は、左から２列目に示される数値列を４倍周波数のクロック４ＣＫの１／４位相分だけずらした数値列、左から４列目の数値列は、左から３列目に示される数値列を４倍周波数のクロック４ＣＫの１／４位相分だけ更にずらした数値列であることを示す。
また、左から５列目の数値列は、１〜４列目の各数値列を対応する行どうしで加算した値である。この左から５列目までの処理により、４相のコンボリューション演算を伴う４倍のオーバーサンプリングがデジタル的に実行されることになる。
上記５列目から右に向かって４列分の数値列は、５列目に示される数値列を１つずつ下方向にシフトしていったものである。また、左から９列目の数値列は、５〜８列目の各数値列を対応する行どうしで加算した値である。この左から９列目までの処理により、４相のコンボリューション演算を伴う４倍のオーバーサンプリングがデジタル的に２回実行されることになる。
また、左から１０列目の数値列は、９列目に示される数値列を１つ下方向にシフトしたものである。また、左から１１列目（一番右の列）の数値列は、９列目の数値列と１０列目の数値列とを対応する行どうしで加算した値である。
この図１９（ａ）の一番右の列に示される最終的に得られた数値列をグラフ化したのが、図１９（ｂ）である。この図１９（ｂ）に示すような波形を有する関数は、横軸に沿った標本位置がｔ１からｔ４の間にあるときにのみ“０”以外の有限な値を有し、それ以外の領域では値が全て“０”となる関数、つまり標本位置ｔ１，ｔ４において値が“０”に収束する関数である。このように関数の値が局所的な領域で“０”以外の有限の値を有し、それ以外の領域で“０”となる場合を「有限台」と称する。
また、この図１９（ｂ）に示す関数は、中央の標本位置ｔ５においてのみ極大値をとり、ｔ１，ｔ２，ｔ３，ｔ４の４つの標本位置において値が“０”になるという特徴を有する標本化関数であり、滑らかな波形のデータを得るために必要なサンプル点は全て通る。
図３は、図２の▲１▼〜▲４▼に示す数列をＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｅｒ：高速フーリエ変換）した結果の周波数−ゲイン特性を示す図である。なお、この図３では、ゲインを“１”で基準化している。この特性図から分かるように、▲４▼の数列をフィルタ係数に用いた場合には、中心周波数においてゲインが０．５となり、かつ、低周波領域でのオーバーシュートや高周波領域でのリンギングも存在しない良好なローパスフィルタ特性が得られる。
このようなローパスフィルタ特性を実現する上述した｛−１，０，９，１６，９，０，−１｝の数値列は、図１９（ｂ）に示した有限台の標本化関数の基礎となるものである。従来一般的に用いられていた標本化関数はｔ＝±∞の標本位置で“０”に収束するのに対し、図１９（ｂ）に示した標本化関数は、ｔ＝ｔ１，ｔ４の有限の標本位置で“０”に収束する。
そのため、上述の数値列をＦＦＴ変換した場合、ｔ＝ｔ１〜ｔ４の範囲内に相当するデータだけが意味を持つ。ｔ＝ｔ１〜ｔ４の範囲外に相当するデータについては、本来これを考慮すべきであるのに無視しているという訳ではなく、理論的に考慮する必要がないため、打ち切り誤差は発生しない。したがって、上述の数値列をフィルタ係数として用いれば、窓関数を用いて係数の打ち切りを行う必要もなく、良好なローパスフィルタ特性を得ることができる。よって、これを基本ローパスフィルタとする。
図１は、上記基本ローパスフィルタの構成例を示す図である。このフィルタでは、縦続接続された６個のＤ型フリップフロップ１１〜１６によって入力信号を１クロックＣＫずつ順次遅延させる。そして、Ｄ型フリップフロップ１１〜１６の入出力タップから取り出した信号に対し、５個の係数器２１〜２５により上記▲４▼の数列から成るフィルタ係数をそれぞれ乗算し、それらの乗算結果を全て加算器３１〜３４で加算して出力する。
加算器３４の出力段に設けられている１／３２倍の乗算器３５は、各タップの信号と各フィルタ係数とを積和演算することによって大きくなった振幅を元の振幅に戻すために用いる。つまり、ゲインを“１”で基準化している。“３２”という値は、全てのフィルタ係数値を加算した結果である（−１＋０＋９＋１６＋９＋０＋（−１）＝３２）。ここでは、図２の▲４▼に示す整数列を基本のフィルタ係数群として用い、加算出力を１／３２倍しているが、フィルタ係数群の値自体を１／３２倍しても良い。
図４は、図１に示す基本ローパスフィルタをｎ段（ｎ≧１）縦続接続した場合に、それによって得られるｎ次のフィルタ係数群をそれぞれ示す図である。ここでは代表として、１次、２次、４次のフィルタ係数群を示している。なお、ここに示したフィルタ係数群は、係数値自体を１／３２倍して１０−３で丸めたものである。
上述のように、１次のローパスフィルタ係数群は、７個のフィルタ係数の数列｛−１，０，９，１６，９，０，−１｝／３２から成る。これに対し、基本ローパスフィルタを２段縦続接続した場合の２次のローパスフィルタ係数群は１３個のフィルタ係数、４段縦続接続した場合の４次のローパスフィルタ係数群は２５個のフィルタ係数、…というように、接続する段数に応じてフィルタ係数の数が増えていく。
図４に示した１次、２次、４次の各フィルタ係数群のうち、太枠で示した部分は、それぞれのフィルタ係数群の中央値を示す。図４において、２次および４次のフィルタ係数群におけるＲ［ｉ］列Ｃ［ｊ］行のフィルタ係数値は、以下の式により求められる。
（−（Ｒ［ｉ−８］Ｃ［ｊ−１］＋Ｒ［ｉ−２］Ｃ［ｊ−１］）＋（Ｒ［ｉ−６］Ｃ［ｊ−１］＋Ｒ［ｉ−４］Ｃ［ｊ−１］）＊９＋Ｒ［ｉ−５］Ｃ［ｊ−１］＊１６）／３２
図５は、ｎ次（ｎ＝１，２，４，８，１６）ローパスフィルタのフィルタ係数群の数列をＦＦＴした結果の周波数−ゲイン特性を示す図である。図５の例では、４４．１ＫＨｚのサンプリング周波数で量子化した信号を、同じく４４．１ＫＨｚの遅延レードを持つ（Ｄ型フリップフロップ１１〜１６に供給するクロックＣＫの周波数が４４．１ＫＨｚ）ローパスフィルタに通した場合のフィルタ特性を示している。
図５に示すように、基本ローパスフィルタをｎ段縦続接続して次数を大きくしていくことにより、通過域から阻止域へと移る中間の遮断域（過渡域）の傾斜およびカットオフ周波数を段階的に変化させることができる。すなわち、基本ローパスフィルタを任意の段数だけ縦続接続することにより、遮断域の傾斜およびカットオフ周波数として所望の特性を有するローパスフィルタを簡単に設計することができる。なお、図５から分かるように、遮断域の傾斜およびカットオフ周波数の変化幅は、次数を大きくするに従って徐々に小さくなっていく。
図６は、１次〜１６次のフィルタ係数群の最大値（中央値）と、ゲインが平坦な部分より−３ｄｂ下がるカットオフ周波数のバンド幅との相関関係を示す図である。これから分かるように、両者間には相関があり、係数最大値およびカットオフ周波数の双方とも、次数を大きくするほど小さくなる。カットオフ周波数が段階的に小さくなる様子は、図５にも表されている。カットオフ周波数を微細に調整することも可能であるが、その方法については後述する。
本実施形態では、基本のフィルタ係数群として、｛−１，０，９，１６，９，０，−１｝の比率から成る数列を用いている。これにより、基本ローパスフィルタを何段接続しても、通過域が平坦な特性を持ち、オーバーシュートが全く存在しない良好なローパスフィルタ特性を得ることができる。本実施形態で用いる基本のフィルタ係数群がこのような特性を持つことにより、当該基本ローパスフィルタをもとに、任意の周波数特性を持つ各種のデジタルフィルタを簡易的に設計することが可能となる（これについては後述する）。
また、本実施形態では、Ｄ型フリップフロップ１１〜１６の遅延レート（クロックレート）を変えることによって、ローパスフィルタの周波数帯域をシフトさせることができる。例えば、４４．１ＫＨｚのサンプリングクロックで音声信号を量子化した場合に、ローパスフィルタの通過域を０〜２２ＫＨｚとして、量子化信号から２３〜４４．１ＫＨｚの周波数成分を除去するためには、Ｄ型フリップフロップ１１〜１６のクロック周波数を８８．２ＫＨｚ以上に大きくする必要がある（クロック周波数が４４．１ＫＨｚだと、図５に示したように通過域を０〜２２ＫＨｚにできない）。
逆に、Ｄ型フリップフロップ１１〜１６のクロックレートをサンプリング周波数の１／ｎに小さくすることにより、異なる周波数特性を持つローパスフィルタを得ることができる。図７は、クロックレートを１／４にした場合のローパスフィルタの構成例を示す図であり、図１に示した構成要素と同一の機能を有する構成要素には同一の符号を付している。なお、ここで用いるクロックレートが１／４のクロックは、図７中に示したものに限らず、デューティ比が５０％のものを用いても良い。
図８は、図７に示したローパスフィルタおよびこれを４段縦続接続した４次のローパスフィルタの周波数−ゲイン特性を示す図である。この図８と図５との比較から分かるように、クロックレートを小さくすると、通過域のバンド幅が減少し、遮断域の傾斜も急になる。これにより、クロックレートを変えるだけで、遮断域の傾斜およびカットオフ周波数として所望の特性を有するローパスフィルタを簡単に設計することができる。また、このような特性を利用して、任意の周波数特性を持つ各種のデジタルフィルタを簡易的に設計することも可能となる（これについても後述する）。
さらに、上述のような基本ローパスフィルタをもとに、ハイパスフィルタを簡単に導くこともできる。ここで求めるハイパスフィルタは、その周波数−ゲイン特性が基本ローパスフィルタと比べて、ある周波数軸に対して左右に対称な特性を持つ対称型のハイパスフィルタと、基本ローパスフィルタとハイパスフィルタとのゲイン出力を合算すると、全周波数帯域でゲインが完全に１（基準値）となる補完型のハイパスフィルタとが考えられる。
図１に示す基本ローパスフィルタに対して、ゲインが１に基準化された単一パルスを入力すると、各係数器２１〜２５を通して基本のフィルタ係数群｛−１，０，９，１６，９，０，−１｝が出力される。これは、このフィルタ係数群の数列そのものがローパスフィルタの特性を表していると考えられる。したがって、基本ローパスフィルタのフィルタ係数群の数列を変えることにより、ハイパスフィルタを作ることができる。
例えば、基本ローパスフィルタとの対称性を保つために、数列の絶対値はそのままにして中央値以外を符号変換する。基本のフィルタ係数群に対してこのような条件を満たすフィルタ係数群の数列は、｛１，０，−９，１６，−９，０，１｝となる。このようにすると、サンプリング周波数の１／４，３／４の周波数軸に対して左右に対称な特性を持つハイパスフィルタを得ることができる。
図９は、基本ローパスフィルタを４段縦続接続した４次のクロックレート１（基準のクロックＣＫ）のローパスフィルタおよび、基本のフィルタ係数群を符号変換して生成した転写フィルタ係数群を用いるハイパスフィルタを４段縦続接続した４次のクロックレート１の対称型ハイパスフィルタの周波数−ゲイン特性を示す図である。
この特性図から分かるように、４次のローパスフィルタと比べて、サンプリング周波数（４４．１ＫＨｚ）の１／４，３／４の周波数軸に対して左右に対称な特性を持つ４次のハイパスフィルタを得ることができる。なお、４次ローパスフィルタのフィルタ係数群を求めた後、その数列を転写フィルタ係数群に変換した場合でも、１次ローパスフィルタのフィルタ係数群を転写フィルタ係数群に変換した後、当該転写フィルタ係数群から４次ハイパスフィルタのフィルタ係数群を求めた場合でも、その数列は全く同じものとなる。
また、他の例では、基本ローパスフィルタのフィルタ係数群の数列｛−１，０，９，１６，９，０，−１｝と対応する要素どうしで加算した場合に、中央値どうしの加算結果が３２（これは数列の各値を合算した基準値であり、各フィルタ係数の値が１／３２倍されているときは、基準値は１である）で、それ以外が０となる数列を新しいフィルタ係数群とする。このようにすると、得られるフィルタ係数群はその数列の合計値が０、数列の１つ飛びの合計値が逆符号で等しい値となり、ローパスフィルタのゲインとのトータルが全周波数帯域で完全に１となるという特性を持つハイパスフィルタを得ることができる。
図１０は、４次のクロックレート１のローパスフィルタに用いるフィルタ係数群から、４次のクロックレート１のハイパスフィルタに用いるフィルタ係数群を求める転写について説明するための図である。なお、ここでは、フィルタ係数群の値自体を１／３２倍し、各フィルタ係数値を１０−３で丸めた例について示しており、丸めた結果として値が０となる部分の図示は省略している。
ここでは、まず、４次のローパスフィルタのフィルタ係数群を小数点以下３桁で取り出す（表の第１列）。次に、当該取り出したフィルタ係数群の数列の中央値以外については絶対値をそのままにして符号反転する。数列の中央値については、基準値（この場合は１）から中央値を減算する（表の第２列）。これによって得られた転写フィルタ係数群（表の第３列）が、求める４次のハイパスフィルタのフィルタ係数群である。
図１１は、基本ローパスフィルタを４段縦続接続した４次のクロックレート１のローパスフィルタおよび、基本のフィルタ係数群を符号変換等して生成した転写フィルタ係数群を用いるハイパスフィルタを４段縦続接続した４次のクロックレート１の補完型ハイパスフィルタの周波数−ゲイン特性を示す図である。
この特性図から分かるように、４次ローパスフィルタと比べて、当該４次ローパスフィルタのゲインとのトータルが全周波数帯域で完全に１になるという特性を持つ４次ハイパスフィルタを得ることができる。なお、４次ローパスフィルタのフィルタ係数群を求めた後、その数列を転写フィルタ係数群に変換した場合でも、１次ローパスフィルタのフィルタ係数群を転写フィルタ係数群に変換した後、当該転写フィルタ係数群から４次ハイパスフィルタのフィルタ係数群を求めた場合でも、その数列は全く同じものとなる。
以上のように、本実施形態によれば、ＦＩＲローパスフィルタに与える基本的なフィルタ係数群として、所定の条件を満たす数列を与えるようにしたので、ローパスフィルタに対するフィルタ係数群の符号を変える程度の簡単な操作だけで、ハイパスフィルタを設計することができる。
なお、以上では、｛−１，０，９，１６，９，０，−１｝の比率から成る数列をフィルタ係数群として利用するローパスフィルタを基本として、当該フィルタ係数群を転写することにより、ハイパスフィルタのフィルタ係数群を求める例について説明した。これとは逆に、｛１，０，−９，１６，−９，０，１｝の比率から成る数列をフィルタ係数群として利用するハイパスフィルタを基本として、当該フィルタ係数群を転写することにより、ローパスフィルタのフィルタ係数群を求めることも可能である。
次に、以上に説明したフィルタの縦続接続、クロックレートの変換、フィルタ係数群の転写を駆使して、所望の周波数特性を有するＦＩＲデジタルフィルタを設計する例について説明する。ここでは一例として、サンプリング周波数４４．１ＫＨｚ、−３ｄｂ周波数（カットオフ周波数）が２０ＫＨｚのローパスフィルタを設計する場合について説明する。
まず、基本ローパスフィルタをもとに、ｎ次のクロックレート１／２（クロックＣＫ／２）のローパスフィルタＬＰＦ２（ｎ）を作る。このとき、図１２に示すように、次数ｎを調整して、フィルタの通過域を必要なバンド幅にする。図１２の例では、基本ローパスフィルタを８段縦続接続して８次のローパスフィルタを作っている。
これとは別に、基本ハイパスフィルタ（基本ローパスフィルタのフィルタ係数群を転写したもの）をもとに、ｎ次のクロックレート１のハイパスフィルタＨＰＦ１（ｎ）を作る。このとき、図１３の実線に示すように、次数ｎを調整して、フィルタの通過域のバンド幅が十分に小さくなるようにする。図１３の例では、基本ハイパスフィルタを２１段縦続接続して２１次のハイパスフィルタを作っている。なお、図１３中には、比較のために、図１２に示した８次のローパスフィルタの特性も併せて示している（点線）。
次に、上述のように作成した８次のローパスフィルタＬＰＦ２（８）と、２１次のハイパスフィルタＨＰＦ１（２１）とを縦続接続することにより、それぞれの通過域のオーバーラップした部分を取り出す。図１４は、その場合の周波数−ゲイン特性、周波数−位相特性を示す図である。これから分かるように、通過域のバンド幅が十分に小さく、遮断域の傾斜が十分に大きい周波数特性を持ったハイパスフィルタを得ることができる。また、ほぼ直線的な位相特性も得ることができる。
なお、ここでは８次のローパスフィルタと２１次のハイパスフィルタとの合成により通過域のバンド幅を小さくしているが、ハイパスフィルタの次数をより大きくすることにより、通過城のバンド幅を小さくしていくことも可能である。しかし、上述したように、遮断域の傾斜およびカットオフ周波数の変化幅は、次数を大きくするに従って徐々に小さくなっていく。したがって、次数を大きくするだけでは、通過域のバンド幅を小さくするのに限界がある。また、あまり次数を大きくし過ぎると、デジタルフィルタの段数が増えて、回路規模が増大する。これに対して、上述のようにローパスフィルタとハイパスフィルタとを合成する方法によれば、次数をそれほど大きくしなくても、通過域のバンド幅を十分に小さくすることができる。
次に、合成により得たハイパスフィルタの係数を１０−３で丸めた後、それを補完型の転写係数に変換する。その結果を示したのが図１５である。図１５において、左側の数列は、合成フィルタ係数を１０−３で丸めた結果を示すものであり、右側の数列は、補完型の転写係数に変換した結果を示すものである。このように、ハイパスフィルタのフィルタ係数群を転写フィルタ係数群に変換することにより、ローパスフィルタのフィルタ係数群を得ることができる。そこで、図１５の右側に示す転写フィルタ係数の数列を新たなフィルタ係数群として、求めるローパスフィルタを構成する。さらに、当該ローパスフィルタを複数段縦続接続して次数を調整し、通過域のバンド幅を調整する。
図１６および図１７は、このようにして作成したローパスフィルタの周波数−ゲイン特性および周波数−位相特性を示す図である。これから分かるように、カットオフ周波数がほぼ２０ＫＨｚ、通過域がほぼ平坦で、遮断域の傾斜が極めて大きい理想型に近いローパスフィルタを得ることができる。また、直線位相特性も実現することができる。
以上のように、本実施形態によれば、｛−１，０，９，１６，９，０，−１｝の比率から成る数列をフィルタ係数群として用いる基本ローパスフィルタを利用して、フィルタの縦続接続、クロックレートの変換、フィルタ係数群の転写を任意に組み合わせて適用することにより、所望の周波数特性を有するデジタルフィルタを極めて簡単に設計することができる。
次に、フィルタの縦続接続およびフィルタ係数群の転写を行うことにより、カットオフ周波数を微細に調整する方法について説明する。
上述したように、ローパスフィルタの次数を大きくしていくと、カットオフ周波数は小さくなる方へ変化していく。逆に、ハイパスフィルタの次数を大きくしていくと、カットオフ周波数は大きくなる方へ変化していく。しかも、これらの変化幅は、次数を大きくするに従って徐々に小さくなっていく。
このような性質を利用して、図１８に示すように、まず１次のローパスフィルタの接続段数を１つずつ増やしていく。このとき、縦続接続によって小さくなる方へ変化していくカットオフ周波数が、目的とするカットオフ周波数を飛び超えるまで、接続段数を増やしていく（ａ）。そして、ローパスフィルタをｎ段接続して目的のカットオフ周波数を飛び超えたら、当該縦続接続によって得られたフィルタ係数群を、補完型の転写係数に変換する。これにより、ｎ次のハイパスフィルタのフィルタ係数群が得られる。
次に、このようにして得たｎ次のハイパスフィルタの接続段数を１つずつ増やしていく。ここでは、ｎ次のハイパスフィルタを縦続接続していくので、カットオフ周波数の変化幅は、１次のローパスフィルタをｎ段接続したときの変化幅に続けて更に小さくなっていく。そして、このとき大きい方へ変化していくカットオフ周波数が、目的とするカットオフ周波数を先ほどとは逆方向から再び飛び超えるまで、接続段数を増やしていく（ｂ）。
そして、ｎ次のハイパスフィルタをｍ段接続して目的のカットオフ周波数を飛び超えたら、当該縦続接続によって得られたフィルタ係数群を、補完型の転写係数に変換する。これにより、ｎｍ次のローパスフィルタのフィルタ係数群が得られる。次に、このようにして得たｎｍ次のローパスフィルタの接続段数を１つずつ増やしていく。そして、小さい方へ変化していくカットオフ周波数が、目的とするカットオフ周波数を再び飛び超えるまで、接続段数を増やしていく（ｃ）。
以下同様にして、当該縦続接続によって得られたフィルタ係数群をもとに、その転写フィルタ係数群の生成と、当該転写フィルタ係数群を用いる中間成果物のフィルタの縦続接続とを繰り返し行う。これにより、得られるカットオフ周波数と目的のカットオフ周波数との誤差を小さくしていき、最終的なフィルタ係数群を得る。
このような周波数の微調整方法を用いれば、任意のカットオフ周波数を特性として持つローパスフィルタあるいはハイパスフィルタを、極めて簡単な操作で設計することができる。
以上に説明した本実施形態のデジタルフィルタおよびフィルタ設計の手法は、ハードウェア構成、ＤＳＰ、ソフトウェアの何れによっても実現することが可能である。例えばソフトウェアによって実現する場合、本実施形態のデジタルフィルタおよびフィルタ設計装置は、実際にはコンピュータのＣＰＵあるいはＭＰＵ、ＲＡＭ、ＲＯＭなどで構成され、ＲＡＭやＲＯＭに記憶されたプログラムが動作することによって実現できる。
したがって、コンピュータが上記本実施形態の機能を果たすように動作させるプログラムを例えばＣＤ−ＲＯＭのような記録媒体に記録し、コンピュータに読み込ませることによって実現できるものである。上記プログラムを記録する記録媒体としては、ＣＤ−ＲＯＭ以外に、フレキシブルディスク、ハードディスク、磁気テープ、光ディスク、光磁気ディスク、ＤＶＤ、不揮発性メモリカード等を用いることができる。また、上記プログラムをインターネット等のネットワークを介してコンピュータにダウンロードすることによっても実現できる。
また、コンピュータが供給されたプログラムを実行することにより上述の実施形態の機能が実現されるだけでなく、そのプログラムがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合や、供給されたプログラムの処理の全てあるいは一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて上述の実施形態の機能が実現される場合も、かかるプログラムは本発明の実施形態に含まれる。
なお、上記実施形態では、基本ローパスフィルタに対するフィルタ係数群の数列として｛−１，０，９，１６，９，０，−１｝を用い、基本ハイパスフィルタに対するフィルタ係数群の数列として｛１，０，−９，１６，−９，０，１｝を用いたが、上記実施形態で説明した条件を満たす数列であれば、これ以外の数列をフィルタ係数群として用いても良い。
また、上記実施形態では、補完型の転写フィルタ係数群の例として、転写前後の各フィルタ係数値を対応する要素どうしで加算した場合、数列の中央値どうしの加算結果が１となり、それ以外の加算結果が０となる場合について説明したが、係数値の加算結果がトータルで１となるようにしても良い。例えば、中央値どうしの加算結果が０．５で、その両隣の値どうしの加算結果が０．２５ずつである場合などが該当する。
このような条件を満たす転写フィルタ係数群を求める方法は、基本とするフィルタ係数群の数列の中央値については０．５から中央値を減算し、中央値の両隣の値については０．２５からその両隣の値を減算する。そして、これ以外については絶対値をそのままにして符号反転すればよい。
また、上述した実施形態は単なる一例を示したに過ぎないものであって、本発明はこれに限定されるものではない。すなわち、フィルタの縦続接続、クロックレートの変換、フィルタ係数群の転写を任意に組み合わせて適用することにより、任意の周波数特性を有するＦＩＲデジタルフィルタを簡易的に設計することが可能である。
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
以上説明したように本発明によれば、所望の周波数特性を有するＦＩＲデジタルフィルタを極めて簡易的に設計することができる。
産業上の利用可能性
本発明は、所望の周波数特性を有するＦＩＲデジタルフィルタを簡易的に設計できるようにするのに有用である。
【図面の簡単な説明】
図１は、基本ローパスフィルタの構成例を示す図である。
図２は、基本のフィルタ係数群の説明図である。
図３は、図２に示したフィルタ係数群の周波数−ゲイン特性を示す図である。
図４は、図１の基本ローパスフィルタをｎ段（ｎ≧１）縦続接続した場合に得られるｎ次のフィルタ係数群の数列を示す図である。
図５は、ｎ次（ｎ＝１，２，４，８，１６）のフィルタ係数群の数列をＦＦＴした結果の周波数−ゲイン特性を示す図である。
図６は、１次〜１６次のフィルタ係数群の最大値とカットオフ周波数のバンド幅との相関関係を示す図である。
図７は、クロックレートを１／４にした場合のローパスフィルタの構成例を示す図である。
図８は、図７に示したローパスフィルタおよびこれを４段縦続接続した４次ローパスフィルタの周波数−ゲイン特性を示す図である。
図９は、４次のクロックレート１のローパスフィルタおよび４次のクロックレート１の対称型ハイパスフィルタの周波数−ゲイン特性を示す図である。
図１０は、４次のクロックレート１のローパスフィルタ係数群から、４次のクロックレート１のハイパスフィルタ係数群を求める転写を説明するための図である。
図１１は、４次のクロックレート１のローパスフィルタおよび４次のクロックレート１の補完型ハイパスフィルタの周波数−ゲイン特性を示す図である。
図１２は、８次のクロックレート１／２のローパスフィルタの周波数−ゲイン特性を示す図である。
図１３は、２１次のクロックレート１のハイパスフィルタの周波数−ゲイン特性を示す図である。
図１４は、図１２に示す８次のローパスフィルタと、図１３に示す２１次のハイパスフィルタとを合成した場合に得られる周波数−ゲイン特性および周波数−位相特性を示す図である。
図１５は、８次ローパスフィルタと２１次ハイパスフィルタとの合成フィルタ係数から補完型の転写係数への転写を説明するための図である。
図１６は、最終成果物であるローパスフィルタの周波数−ゲイン特性を示す図である。
図１７は、最終成果物であるローパスフィルタの周波数−位相特性を示す図である。
図１８は、カットオフ周波数を微細に調整するための方法を説明するための図である。
図１９は、本実施形態で用いるデジタル基本関数の意味を説明するための図である。
【図１】
0004300272.tif 000002
【図２】
0004300272.tif 000003
【図３】
0004300272.tif 000004
【図４】
0004300272.tif 000005
【図５】
0004300272.tif 000006
【図６】
0004300272.tif 000007
【図７】
0004300272.tif 000008
【図８】
0004300272.tif 000009
【図９】
0004300272.tif 000010
【図１０】
0004300272.tif 000011
【図１１】
0004300272.tif 000012
【図１２】
0004300272.tif 000013
【図１３】
0004300272.tif 000014
【図１４】
0004300272.tif 000015
【図１５】
0004300272.tif 000016
【図１６】
0004300272.tif 000017
【図１７】
0004300272.tif 000018
【図１８】
0004300272.tif 000019
【図１９】
0004300272.tif 000020