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