JPWO2004036747A1 - デジタルフィルタの設計方法および装置、デジタルフィルタ設計用プログラム、デジタルフィルタ - Google Patents
デジタルフィルタの設計方法および装置、デジタルフィルタ設計用プログラム、デジタルフィルタ Download PDFInfo
- Publication number
- JPWO2004036747A1 JPWO2004036747A1 JP2004544993A JP2004544993A JPWO2004036747A1 JP WO2004036747 A1 JPWO2004036747 A1 JP WO2004036747A1 JP 2004544993 A JP2004544993 A JP 2004544993A JP 2004544993 A JP2004544993 A JP 2004544993A JP WO2004036747 A1 JPWO2004036747 A1 JP WO2004036747A1
- Authority
- JP
- Japan
- Prior art keywords
- filter
- numerical sequence
- digital filter
- numerical
- sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/06—Non-recursive filters
Abstract
非対称型の数値列をフィルタ係数H1〜H3,H4〜H6とする2つのユニットフィルタ1L10,2L10を縦続接続して対称型のユニットフィルタL10”を構成し、これを縦続接続することによってフィルタ設計を行うようにすることにより、1種類のユニットフィルタL10”の縦続接続だけで求めるデジタルフィルタの係数を自動的に得ることができるようにする。また、非対称型のフィルタ係数H1〜H3,H4〜H6として、対称型の数値列{−1,0,9,16,9,0,−1}/32をその中央で半分に分けたものを用いることにより、必要なタップ数が少なくなるようにするとともに、窓関数を用いる必要もなくし、得られるフィルタ特性に打ち切り誤差が生じないようにする。
Description
本発明はデジタルフィルタの設計方法および装置、デジタルフィルタ設計用プログラム、デジタルフィルタに関し、特に、複数の遅延器から成るタップ付き遅延線を備え、各タップの信号をそれぞれ数倍した後、加算して出力するFIRフィルタおよびその設計法に関するものである。
通信、計測、音声・画像信号処理、医療、地震学などの様々な分野で提供されている種々の電子機器においては、その内部で何らかのデジタル信号処理を行っているのが通常である。デジタル信号処理の最も重要な基本操作に、各種の信号や雑音が混在している入力信号の中から、必要なある周波数帯域の信号のみを取り出すフィルタリング処理がある。このために、デジタル信号処理を行う電子機器では、デジタルフィルタが用いられることが多い。
デジタルフィルタとしては、IIR(Infinite Impulse Response:無限長インパルス応答)フィルタやFIR(Finite Impulse Response:有限長インパルス応答)フィルタが多く用いられる。このうちFIRフィルタは、次のような利点を持つ。第1に、FIRフィルタの伝達関数の極はz平面の原点のみにあるため、回路は常に安定である。第2に、フィルタ係数が対称型であれば、完全に正確な直線位相特性を実現することが可能である。
フィルタを通過域と阻止域との配置から分類すると、主にローパスフィルタ、ハイパスフィルタ、帯域通過フィルタ、帯域消去フィルタの4つに分けられる。IIRフィルタやFIRフィルタで基本となるのはローパスフィルタであり、その他のハイパスフィルタ、帯域通過フィルタ、帯域消去フィルタは、ローパスフィルタから周波数変換等の処理を行うことによって導かれる。
ところで、FIRフィルタは、有限時間長で表されるインパルス応答がそのままフィルタの係数となっている。したがって、FIRフィルタを設計するということは、希望の周波数特性が得られるようにフィルタ係数を決定するということである。
従来、基本となるローパスフィルタを設計する際には、サンプリング周波数とカットオフ周波数との比率をもとに、窓関数やチェビシェフ近似法などを用いた畳み込み演算等を行うことにより、FIRフィルタの各タップに対するフィルタ係数を求める。そして、その求めたフィルタ係数を用いてシミュレーションを行うことにより周波数特性を確認しながら、係数値を適宜修正し、所要特性のローパスフィルタを得ていた。
また、ハイパスフィルタ、帯域通過フィルタ、帯域消去フィルタ等の他のフィルタを設計する際には、まず上述のような手順で基本となるローパスフィルタを複数設計する。そして、それらを組み合わせて周波数変換等の操作を行うことにより、所望の周波数特性を有するFIRフィルタを設計していた。
しかしながら、従来の設計法で得られるフィルタの周波数特性は、窓関数やチェビシェフ近似式に依存するので、これらをうまく設定しないと、良好な周波数特性を得ることができない。ところが、窓関数や近似式を適当に設定することは一般に困難である。すなわち、上記従来のフィルタ設計法では、熟練した技術者が時間と手間をかけて設計する必要があり、所望特性のFIRフィルタを容易には設計できないという問題があった。
また、仮に所望特性に近いFIRフィルタを設計できたとしても、設計されたフィルタのタップ数は膨大となり、しかもその係数値は非常に複雑でランダムな値となる。そのため、そのタップ数および係数値を実現するためには大規模な回路構成(加算器、乗算器)が必要になるという問題もあった。また、設計されたFIRフィルタを実際に使用する際に、その演算量が非常に多くなり、処理負荷が重くなるという問題もあった。
本発明はこのような問題を解決するために成されたものであり、所望の周波数特性を有するFIRデジタルフィルタを簡易的に設計できるようにすることを目的とする。
また、本発明は、希望する周波数特性を小さな回路規模で高精度に実現することが可能なFIRデジタルフィルタを提供することを目的とする。
デジタルフィルタとしては、IIR(Infinite Impulse Response:無限長インパルス応答)フィルタやFIR(Finite Impulse Response:有限長インパルス応答)フィルタが多く用いられる。このうちFIRフィルタは、次のような利点を持つ。第1に、FIRフィルタの伝達関数の極はz平面の原点のみにあるため、回路は常に安定である。第2に、フィルタ係数が対称型であれば、完全に正確な直線位相特性を実現することが可能である。
フィルタを通過域と阻止域との配置から分類すると、主にローパスフィルタ、ハイパスフィルタ、帯域通過フィルタ、帯域消去フィルタの4つに分けられる。IIRフィルタやFIRフィルタで基本となるのはローパスフィルタであり、その他のハイパスフィルタ、帯域通過フィルタ、帯域消去フィルタは、ローパスフィルタから周波数変換等の処理を行うことによって導かれる。
ところで、FIRフィルタは、有限時間長で表されるインパルス応答がそのままフィルタの係数となっている。したがって、FIRフィルタを設計するということは、希望の周波数特性が得られるようにフィルタ係数を決定するということである。
従来、基本となるローパスフィルタを設計する際には、サンプリング周波数とカットオフ周波数との比率をもとに、窓関数やチェビシェフ近似法などを用いた畳み込み演算等を行うことにより、FIRフィルタの各タップに対するフィルタ係数を求める。そして、その求めたフィルタ係数を用いてシミュレーションを行うことにより周波数特性を確認しながら、係数値を適宜修正し、所要特性のローパスフィルタを得ていた。
また、ハイパスフィルタ、帯域通過フィルタ、帯域消去フィルタ等の他のフィルタを設計する際には、まず上述のような手順で基本となるローパスフィルタを複数設計する。そして、それらを組み合わせて周波数変換等の操作を行うことにより、所望の周波数特性を有するFIRフィルタを設計していた。
しかしながら、従来の設計法で得られるフィルタの周波数特性は、窓関数やチェビシェフ近似式に依存するので、これらをうまく設定しないと、良好な周波数特性を得ることができない。ところが、窓関数や近似式を適当に設定することは一般に困難である。すなわち、上記従来のフィルタ設計法では、熟練した技術者が時間と手間をかけて設計する必要があり、所望特性のFIRフィルタを容易には設計できないという問題があった。
また、仮に所望特性に近いFIRフィルタを設計できたとしても、設計されたフィルタのタップ数は膨大となり、しかもその係数値は非常に複雑でランダムな値となる。そのため、そのタップ数および係数値を実現するためには大規模な回路構成(加算器、乗算器)が必要になるという問題もあった。また、設計されたFIRフィルタを実際に使用する際に、その演算量が非常に多くなり、処理負荷が重くなるという問題もあった。
本発明はこのような問題を解決するために成されたものであり、所望の周波数特性を有するFIRデジタルフィルタを簡易的に設計できるようにすることを目的とする。
また、本発明は、希望する周波数特性を小さな回路規模で高精度に実現することが可能なFIRデジタルフィルタを提供することを目的とする。
本発明によるデジタルフィルタの設計方法は、数値列の合計値が非ゼロで、当該数値列の1つ飛びの合計値が同符号で互いに等しくなるように値が設定された非対称型のフィルタ係数を有する第1および第2のユニットフィルタを、全体としての数値列が対称型となるように縦続接続して成る基本フィルタを用いて、当該基本フィルタを複数縦続接続することによりフィルタ設計を行うようにしたことを特徴とする。
本発明の他の態様では、数値列の合計値がゼロで、当該数値列の1つ飛びの合計値が逆符号で互いに等しくなるように値が設定された非対称型のフィルタ係数を有する第1および第2のユニットフィルタを、全体としての数値列が対称型となるように縦続接続して成る基本フィルタを用いて、当該基本フィルタを複数縦続接続することによりフィルタ設計を行うようにしたことを特徴とする。
本発明の他の態様では、上記第1および第2のユニットフィルタを構成する非対称型のフィルタ係数に対応する各タップの間にnクロック分のディレイを挿入することによってフィルタの通過周波数帯域を調整するようにしたことを特徴とする。
また、本発明によるデジタルフィルタは、複数の遅延器から成るタップ付き遅延線を備え、各タップの信号を、請求の範囲第1項〜第7項の何れか1項に記載のフィルタ設計法により求められたフィルタ係数によりそれぞれ数倍した後、加算して出力することを特徴とする。
以上説明したように本発明によれば、所定の非対称型の数値列をフィルタ係数とする2つユニットフィルタを縦続接続して基本フィルタを構成し、この基本フィルタを複数縦続接続することによってデジタルフィルタを設計するようにしたので、当該基本フィルタの縦続接続だけで、所望の周波数特性を有するデジタルフィルタのフィルタ係数を自動的に得ることができ、熟練した技術者でなくてもフィルタの設計を極めて簡単に行うことができる。
また、本発明によれば、上記所定の非対称型の数値列は、所定の対称型の数値列をその中央で半分に分けたものであるので、設計されるデジタルフィルタに必要なタップ数は非常にわずかで済み、かつ、各タップ出力に対して必要なフィルタ係数の種類も非常に少なくて済む。しかも、窓関数を用いる必要がなく、得られるフィルタ係数に打ち切り誤差が生じることもない。したがって、回路素子数(特に乗算器)を大幅に削減して回路規模を削減、消費電力の低減、演算負荷の軽減等を図ることができるとともに、デジタルフィルタの希望する周波数特性を高精度に実現することができる。また、設計されるデジタルフィルタは、基本フィルタという同一パターンの繰り返しから成る極めて単純な構成であるので、集積化に際して工数を短縮することができ、IC化を容易にすることもできる。
本発明の他の態様では、数値列の合計値がゼロで、当該数値列の1つ飛びの合計値が逆符号で互いに等しくなるように値が設定された非対称型のフィルタ係数を有する第1および第2のユニットフィルタを、全体としての数値列が対称型となるように縦続接続して成る基本フィルタを用いて、当該基本フィルタを複数縦続接続することによりフィルタ設計を行うようにしたことを特徴とする。
本発明の他の態様では、上記第1および第2のユニットフィルタを構成する非対称型のフィルタ係数に対応する各タップの間にnクロック分のディレイを挿入することによってフィルタの通過周波数帯域を調整するようにしたことを特徴とする。
また、本発明によるデジタルフィルタは、複数の遅延器から成るタップ付き遅延線を備え、各タップの信号を、請求の範囲第1項〜第7項の何れか1項に記載のフィルタ設計法により求められたフィルタ係数によりそれぞれ数倍した後、加算して出力することを特徴とする。
以上説明したように本発明によれば、所定の非対称型の数値列をフィルタ係数とする2つユニットフィルタを縦続接続して基本フィルタを構成し、この基本フィルタを複数縦続接続することによってデジタルフィルタを設計するようにしたので、当該基本フィルタの縦続接続だけで、所望の周波数特性を有するデジタルフィルタのフィルタ係数を自動的に得ることができ、熟練した技術者でなくてもフィルタの設計を極めて簡単に行うことができる。
また、本発明によれば、上記所定の非対称型の数値列は、所定の対称型の数値列をその中央で半分に分けたものであるので、設計されるデジタルフィルタに必要なタップ数は非常にわずかで済み、かつ、各タップ出力に対して必要なフィルタ係数の種類も非常に少なくて済む。しかも、窓関数を用いる必要がなく、得られるフィルタ係数に打ち切り誤差が生じることもない。したがって、回路素子数(特に乗算器)を大幅に削減して回路規模を削減、消費電力の低減、演算負荷の軽減等を図ることができるとともに、デジタルフィルタの希望する周波数特性を高精度に実現することができる。また、設計されるデジタルフィルタは、基本フィルタという同一パターンの繰り返しから成る極めて単純な構成であるので、集積化に際して工数を短縮することができ、IC化を容易にすることもできる。
図1は、5タップユニットフィルタL10,H10の回路構成およびフィルタ係数の数値列を示す図である。
図2は、5タップユニットフィルタL10,H10のフィルタ係数の生成アルゴリズムを示す図である。
図3は、5タップローパスユニットフィルタL10のフィルタ係数の意味を説明するための図である。
図4は、5タップハイパスユニットフィルタH10のフィルタ係数の意味を説明するための図である。
図5は、5タップローパスユニットフィルタL11のフィルタ係数の生成アルゴリズムを示す図である。
図6は、5タップローパスユニットフィルタL10,L11の周波数−ゲイン特性を示す図である。
図7は、5タップハイパスユニットフィルタH11のフィルタ係数の生成アルゴリズムを示す図である。
図8は、5タップハイパスユニットフィルタH10,H11の周波数−ゲイン特性を示す図である。
図9は、5タップローパスユニットフィルタ(L10)mの周波数−ゲイン特性を示す図である。
図10は、5タップハイパスユニットフィルタ(H10)mの周波数−ゲイン特性を示す図である。
図11は、周波数帯域の抜き取りについて説明するための図である。
図12は、周波数帯域の他の抜き取り例を示す図である。
図13は、第1の実施形態によるフィルタ設計法で最も基本となる2種類の3タップユニットフィルタの回路構成およびフィルタ係数の数値列を示す図である。
図14は、単純な数値列{8,−9,0,1}/16をフィルタ係数とした場合における3タップハイパスユニットフィルタH10’の周波数特性を示す図である。
図15は、フィルタ係数H3のみを調整した場合における3タップハイパスユニットフィルタH10’の周波数特性を示す図である。
図16は、フィルタ係数H2,H3を調整した場合における3タップハイパスユニットフィルタH10’の周波数特性を示す図である。
図17は、本実施形態によるユニットフィルタL10”,H10”の回路構成およびフィルタ係数の数値列を示す図である。
図18は、本実施形態によるローパスユニットフィルタL10”の周波数特性を示す図である。
図19は、本実施形態によるハイパスユニットフィルタH10”の周波数特性を示す図である。
図20は、第1の実施形態に基づき設計したローパスフィルタの周波数特性を示す図である。
図21は、第1の実施形態に基づき設計したバンドパスフィルタの周波数特性を示す図である。
図22は、第2の実施形態によるローパスフィルタを示す図である。
図23は、第2の実施形態に基づき設計したローパスフィルタの周波数特性を示す図である。
図24は、5タップユニット2次フィルタL20,H20のフィルタ係数の生成アルゴリズムを示す図である。
図2は、5タップユニットフィルタL10,H10のフィルタ係数の生成アルゴリズムを示す図である。
図3は、5タップローパスユニットフィルタL10のフィルタ係数の意味を説明するための図である。
図4は、5タップハイパスユニットフィルタH10のフィルタ係数の意味を説明するための図である。
図5は、5タップローパスユニットフィルタL11のフィルタ係数の生成アルゴリズムを示す図である。
図6は、5タップローパスユニットフィルタL10,L11の周波数−ゲイン特性を示す図である。
図7は、5タップハイパスユニットフィルタH11のフィルタ係数の生成アルゴリズムを示す図である。
図8は、5タップハイパスユニットフィルタH10,H11の周波数−ゲイン特性を示す図である。
図9は、5タップローパスユニットフィルタ(L10)mの周波数−ゲイン特性を示す図である。
図10は、5タップハイパスユニットフィルタ(H10)mの周波数−ゲイン特性を示す図である。
図11は、周波数帯域の抜き取りについて説明するための図である。
図12は、周波数帯域の他の抜き取り例を示す図である。
図13は、第1の実施形態によるフィルタ設計法で最も基本となる2種類の3タップユニットフィルタの回路構成およびフィルタ係数の数値列を示す図である。
図14は、単純な数値列{8,−9,0,1}/16をフィルタ係数とした場合における3タップハイパスユニットフィルタH10’の周波数特性を示す図である。
図15は、フィルタ係数H3のみを調整した場合における3タップハイパスユニットフィルタH10’の周波数特性を示す図である。
図16は、フィルタ係数H2,H3を調整した場合における3タップハイパスユニットフィルタH10’の周波数特性を示す図である。
図17は、本実施形態によるユニットフィルタL10”,H10”の回路構成およびフィルタ係数の数値列を示す図である。
図18は、本実施形態によるローパスユニットフィルタL10”の周波数特性を示す図である。
図19は、本実施形態によるハイパスユニットフィルタH10”の周波数特性を示す図である。
図20は、第1の実施形態に基づき設計したローパスフィルタの周波数特性を示す図である。
図21は、第1の実施形態に基づき設計したバンドパスフィルタの周波数特性を示す図である。
図22は、第2の実施形態によるローパスフィルタを示す図である。
図23は、第2の実施形態に基づき設計したローパスフィルタの周波数特性を示す図である。
図24は、5タップユニット2次フィルタL20,H20のフィルタ係数の生成アルゴリズムを示す図である。
以下、本発明の一実施形態を図面に基づいて説明する。
本実施形態のデジタルフィルタは、複数の遅延器から成るタップ付き遅延線を備え、各タップの出力信号を所与のフィルタ係数によりそれぞれ数倍した後、加算して出力するタイプのFIRフィルタである。
(第1の実施形態)
第1の実施形態によるフィルタ設計法は、以下に説明するユニットフィルタL1n”,H1n”(本発明の基本フィルタ)を作り、その一方のみだけで所望の周波数特性を有するFIRフィルタを設計できるようにしたものである。なお、ユニットフィルタを表す符号の後ろに付けた“n”の文字は、各タップ間に挿入するディレイのクロック数、すなわち、各フィルタ係数の間に挿入する“0”の数を示している(詳細は後述する)。
まず、上記ユニットフィルタL1n”,H1n”を理解する上で参考になる5タップユニットフィルタL1n,H1nについて説明する。図1は、5タップユニットフィルタL10,H10を示す図であり、(a)はその回路構成を示し、(b)はフィルタ係数の数値列を示している。
図1(a)に示すように、5タップユニットフィルタL10,H10では、縦続接続された6個のD型フリップフロップ1−1〜1−6によって入力信号を1クロックCKずつ順次遅延させる。そして、各D型フリップフロップ1−1〜1−6の所定のタップから取り出した信号に対して、図1(b)に示すフィルタ係数h1〜h5を5個の係数器2−1〜2−5でそれぞれ乗算し、それらの乗算結果を全て4個の加算器3−1〜3−4で加算して出力する。
上記2種類の5タップユニットフィルタL10,H10の回路構成は、何れも図1(a)のようになっており、フィルタ係数(係数器2−1〜2−5の乗数値h1〜h5)のみが図1(b)のように異なっている。
図1(b)から分かるように、5タップローパスユニットフィルタL10のフィルタ係数は、極めて単純な数値列{−1,0,9,16,9,0,−1}/32から成る(ただし、値が“0”の部分は図1(a)のようにタップ出力がなく、フィルタ係数として用いていない)。このようなフィルタ係数は、その数値列が対称型であり、数値列の合計値が非ゼロで、数値列の1つ飛びの合計値が同符号で互いに等しくなるという性質を持っている(−1+9+9−1=16、0+16+0=16)。
また、5タップハイパスユニットフィルタH10のフィルタ係数は、極めて単純な数値列{1,0,−9,16,−9,0,1}/32から成る(ただし、値が“0”の部分はタップ出力がなく、フィルタ係数として用いていない)。このようなフィルタ係数は、その数値列が対称型であり、数値列の合計値がゼロで、数値列の1つ飛びの合計値が逆符号で互いに等しくなるという性質を持っている(1−9−9+1=−16、0+16+0=16)。
ここで、これらのフィルタ係数を構成する数値列の意味について、図2〜図4を用いて説明する。
図2は、5タップユニットフィルタL10,H10のフィルタ係数を構成する数値列の生成法を説明するための図である。図2(a)に示すように、5タップローパスユニットフィルタL10のフィルタ係数を構成する数値列は、1クロックCK毎にデータ値が{−1,1,8,8,1,−1}/16と変化する所定のデジタル基本関数を1回移動平均演算することによって得られるものである。
また、図2(b)に示すように、5タップハイパスユニットフィルタH10のフィルタ係数を構成する数値列は、1クロックCK毎にデータ値が{1,−1,−8,8,−1,1}/16と変化するデジタル基本関数と、1クロックCK毎にデータ値が{1,−1,8,−8,−1,1}/16と変化するデジタル基本関数とを移動平均演算することによって得られるものである。
図3は、5タップローパスユニットフィルタL10のフィルタ係数を構成する数値列に対して、4倍のオーバーサンプリングとコンボリューション演算とを施した結果を示す図である。なお、ここでは説明を分かりやすくするために、元の数値列を32倍した整数の数値列{−1,0,9,16,9,0,−1}に対してオーバーサンプリングとコンボリューション演算とを行う例について示している。
図3(a)において、一番左の列に示される一連の数値列は、元の数値列{−1,0,9,16,9,0,−1}に対して4倍のオーバーサンプリングを行った値である。また、一番左から右に向かって4列分の数値列は、一番左の列に示される数値列を1つずつ下方向にシフトしていったものである。図3(a)の列方向は時間軸を示しており、数値列を下方向にシフトするということは、一番左の列に示される数値列を徐々に遅延させていくことに対応する。
すなわち、左から2列目の数値列は、一番左の列に示される数値列を4倍周波数のクロック4CKの1/4位相分だけずらした数値列であることを示す。また、左から3列目の数値列は、左から2列目に示される数値列を4倍周波数のクロック4CKの1/4位相分だけずらした数値列、左から4列目の数値列は、左から3列目に示される数値列を4倍周波数のクロック4CKの1/4位相分だけ更にずらした数値列であることを示す。
また、左から5列目の数値列は、1〜4列目の各数値列を対応する行どうしで加算した値である。この左から5列目までの処理により、4相のコンボリューション演算を伴う4倍のオーバーサンプリングがデジタル的に実行されることになる。
上記5列目から右に向かって4列分の数値列は、5列目に示される数値列を1つずつ下方向にシフトしていったものである。また、左から9列目の数値列は、5〜8列目の各数値列を対応する行どうしで加算した値である。この左から9列目までの処理により、4相のコンボリューション演算を伴う4倍のオーバーサンプリングがデジタル的に2回実行されることになる。
また、左から10列目の数値列は、9列目に示される数値列を1つ下方向にシフトしたものである。また、左から11列目(一番右の列)の数値列は、9列目の数値列と10列目の数値列とを対応する行どうしで加算した値である。
この図3(a)の一番右の列に示される最終的に得られた数値列をグラフ化したのが、図3(b)である。この図3(b)に示す波形を有する関数は、横軸に沿った標本位置がt1からt4の間にあるときにのみ“0”以外の有限な値を有し、それ以外の領域では値が全て“0”となる関数、つまり標本位置t1,t4において値が“0”に収束する関数である。このように関数の値が局所的な領域で“0”以外の有限の値を有し、それ以外の領域で“0”となる場合を「有限台」と称する。
また、この図3(b)に示す関数は、中央の標本位置t5においてのみ極大値をとり、t1,t2,t3,t4の4つの標本位置において値が“0”になるという特徴を有する標本化関数であり、滑らかな波形のデータを得るために必要なサンプル点は全て通る。
次いで、図4は、5タップハイパスユニットフィルタH10のフィルタ係数を構成する数値列に対して、4倍のオーバーサンプリングとコンボリューション演算とを施した結果を示す図である。なお、ここでも説明を分かりやすくするために、元の数値列を32倍した整数の数値列{1,0,−9,16,−9,0,1}に対してオーバーサンプリングとコンボリューション演算とを行う例について示している。
図4(a)は、上記図3(a)と同様の演算過程を示している。この図4(a)の一番右の列に示される最終的に得られた数値列をグラフ化すると、図4(b)のようになる。この図4(b)に示す関数も、中央の標本位置t7’においてのみ極大値をとる標本化関数であって、全域において1回微分可能であり、しかも標本位置t1’,t6’において0に収束する有限台の関数である。
次に、各タップ間に挿入するディレイのクロック数nをn≧1とした場合について説明する。図5は、5タップローパスユニットフィルタL11(n=1の場合)のフィルタ係数を示す図である。この図5に示すように、5タップローパスユニットフィルタL11のフィルタ係数は、上記5タップローパスユニットフィルタL10の各フィルタ係数の間に“0”を1つずつ挿入することによって生成する。
同様に、5タップローパスユニットフィルタL1n(n=2,3,・・・)のフィルタ係数は、5タップローパスユニットフィルタL10の各フィルタ係数の間に“0”をn個ずつ挿入することによって生成する。
図6は、5タップローパスユニットフィルタL10,L11の数値列をFFT(Fast Fourier Transfer:高速フーリエ変換)した結果の周波数−ゲイン特性を示す図である。ここではゲインおよび周波数を“1”で基準化している。
この図6から分かるように、5タップローパスユニットフィルタL10,L11では、中心周波数においてゲインが0.5となり、かつ、低周波領域でのオーバーシュートや高周波領域でのリンギングも存在しない良好なローパスフィルタ特性が得られる。また、各フィルタ係数の間に挿入する“0”の数をnとすると、その周波数−ゲイン特性の周波数軸(周波数方向に対する周期)は1/nとなる。
このようなローパスフィルタ特性を実現する大元となる上記図2(a)の数値列は、図3(b)に示した有限台の標本化関数の基礎となるものである。従来一般的に用いられていた標本化関数はt=±∞の標本位置で“0”に収束するのに対し、図3(b)に示した標本化関数は、t=t1,t4の有限の標本位置で“0”に収束する。
そのため、上記図2(a)の数値列をFFT変換した場合、t=t1〜t4の範囲内に相当するデータだけが意味を持つ。t=t1〜t4の範囲外に相当するデータについては、本来これを考慮すべきであるのに無視しているという訳ではなく、理論的に考慮する必要がないため、打ち切り誤差は発生しない。したがって、上記図2(a)に示す数値列をフィルタ係数として用いれば、窓関数を用いて係数の打ち切りを行う必要もなく、良好なローパスフィルタ特性を得ることができる。
図7は、5タップハイパスユニットフィルタH11のフィルタ係数を示す図である。この図7に示すように、5タップハイパスユニットフィルタH11のフィルタ係数は、上記5タップハイパスユニットフィルタH10の各フィルタ係数の間に“0”を1つずつ挿入することによって生成する。
同様に、5タップハイパスユニットフィルタH1n(n=2,3,・・・)のフィルタ係数は、5タップハイパスユニットフィルタH10の各フィルタ係数の間に“0”をn個ずつ挿入することによって生成する。
図8は、5タップハイパスユニットフィルタH10,H11の周波数−ゲイン特性を示す図である。ここでもゲインおよび周波数を“1”で基準化している。この図8から分かるように、5タップハイパスユニットフィルタH10,H11では、中心周波数においてゲインが0.5となり、かつ、高周波領域でのオーバーシュートや低周波領域でのリンギングも存在しない良好なハイパスフィルタ特性が得られる。また、フィルタ係数の間に挿入する“0”の数をnとすると、その周波数−ゲイン特性の周波数軸(周波数方向に対する周期)は1/nとなる。
このようなハイパスフィルタ特性を実現する大元となる上記図2(b)の数値列も、図4(b)に示すような有限台の標本化関数の基礎となるものである。したがって、この数値列をフィルタ係数として用いることにより、窓関数を用いて係数の打ち切りを行う必要もなく、良好なハイパスフィルタ特性を得ることができる。
次に、5タップユニットフィルタの縦続接続について説明する。5タップユニットフィルタを縦続接続することにより、各ユニットフィルタの係数どうしが乗算・加算されて新しいフィルタ係数が作り出される。以下では、例えば5タップローパスユニットフィルタL10の縦続数をmとするとき、これを(L10)mと記述することにする。
図9は、5タップローパスユニットフィルタL10,(L10)2,(L10)4,(L10)8の周波数−ゲイン特性を示す図である。この図9でもゲインおよび周波数を“1”で基準化している。5タップローパスユニットフィルタL10が1個のみの場合、振幅が0.5となる位置のクロックは0.25である。これに対して縦続数mが多くなると、フィルタの通過帯域幅が狭くなる。例えばm=8の場合、振幅が0.5となる位置のクロックは0.125となる。
図10は、5タップハイパスユニットフィルタH10,(H10)2,(H10)4,(H10)8の周波数−ゲイン特性を示す図である。この図10でもゲインおよび周波数を“1”で基準化している。5タップハイパスユニットフィルタH10が1個のみの場合、振幅が0.5となる位置のクロックは0.25である。これに対して縦続数mが多くなると、フィルタの通過帯域幅が狭くなる。例えばm=8の場合、振幅が0.5となる位置のクロックは0.375となる。
次に、所望の周波数帯域の抜き出しについて説明する。図11は、周波数帯域の抜き出しを説明するための図である。周波数帯域の抜き出しは、上述のユニットフィルタを4個以上縦続接続したものを用いて行う。図11(a)は、5タップローパスユニットフィルタ(L10)4,(L11)4,(L13)4,(L17)4の周波数−ゲイン特性を1つのグラフ上にまとめて示した図である。この図11(a)でもゲインおよび周波数を“1”で基準化している。
これら複数種の5タップローパスユニットフィルタ(L10)4,(L11)4,(L13)4,(L17)4を組み合わせると、各特性値どうしが相殺し合って周波数帯域の抜き取りが行われる。また、これらの波形を基本として組み合わせ、必要に応じて反転周波数軸方向への移動を行うことにより、所望の周波数帯域のみが通過域となるフィルタを作ることができる。
図11(b)は、これら4種類の5タップローパスユニットフィルタ(L10)4,(L11)4,(L13)4,(L17)4を縦続接続したときに得られる周波数特性を示している。これによれば、低周波の極めて狭い領域が通過域となる、ほぼ良好な減衰特性を有するローパスフィルタが得られている。わずかにリンギングが発生しているが、このリンギングは−106dB以上落ち込んだ部分で生じているため、殆ど無視できる。
図12は、周波数帯域の他の抜き取り例を示す図である。図12(a)に示すように、5タップハイパスユニットフィルタ(H10)8と、5タップローパスユニットフィルタ(L11)8,(L13)8,(L17)8とを組み合わせてこれらを縦続接続すると、所定の周波数帯域が通過域となるハイパスフィルタを得ることができる。
また、図12(b)に示すように、5タップローパスユニットフィルタ(L10)4,(L11)8,(L13)4を組み合わせてこれらを縦続接続すると、所定の周波数帯域が通過域となるローパスフィルタを得ることができる。また、図12(c)に示すように、5タップハイパスユニットフィルタ(H11)8と、5タップローパスユニットフィルタ(L13)4,(L17)4,(L115)8とを組み合わせてこれらを縦続接続すると、所定の周波数帯域が通過域となるバンドパスフィルタを得ることができる。
以上のように、所定の基本的な数値列をフィルタ係数とする5タップユニットフィルタを用いてこれらを任意に組み合わせることにより、ユニットフィルタの組み合わせだけで、所望の周波数特性を有するFIRフィルタのフィルタ係数を自動的に生成することができる。したがって、フィルタ設計法が単純で考えやすく、熟練した技術者でなくてもフィルタ設計を極めて簡単に行うことができる。
また、上述の手法を適用して設計されるフィルタ回路に必要なタップ数は非常に僅かで済み、かつ、各タップ出力に対して必要なフィルタ係数の種類も僅かで済むので、フィルタ回路の演算部の構成を極めて簡単にすることができる。したがって、回路素子数(特に乗算器)を大幅に削減してフィルタ回路の規模を小さくすることができるとともに、消費電力の低減、演算負荷の軽減等を図ることができる。
また、上述の手法を適用して設計されるフィルタ回路は、ほぼ同一パターンの繰り返しから成る極めて単純な構成であるので、集積化に際して工数を短縮することができ、IC化を容易にすることができるというメリットも有する。また、特性面では遮断特性の極めて大きな改善が可能となり、位相特性も直線で優れたフィルタ特性を得ることができる。
以上説明した内容については、本出願人が既に特許出願済みである(特願2001−321321号)。本実施形態は、この既出願の内容を更に改良したものであり、上述したように1種類のユニットフィルタL1n”あるいはH1n”の縦続接続だけで所望の周波数特性を有するFIRフィルタを設計できるようにしたものである。
まず、上記ユニットフィルタL1n”,H1n”の構成要素である3タップユニットフィルタL1n’,H1n’について説明する。この3タップユニットフィルタL1n’,H1n’のフィルタ係数は、上述した5タップユニットフィルタL1n,H1nのフィルタ係数の数値列をその中央で半分に分けたうちの片側を更に調整したものである。
図13は、3タップユニットフィルタL10’,H10’を示す図であり、(a)はその回路構成を示し、(b)はフィルタ係数の数値列を示している。図13(a)に示すように、3タップユニットフィルタL10’,H10’では、縦続接続された3個のD型フリップフロップ11−1〜11−3によって入力信号を1クロックCKずつ順次遅延させる。そして、各D型フリップフロップ11−1〜11−3の所定のタップから取り出した信号に対して、図13(b)に示すフィルタ係数H1〜H3を3個の係数器12−1〜12−3でそれぞれ乗算し、それらの乗算結果を全て2個の加算器13−1〜13−2で加算して出力する。
上記2種類の3タップユニットフィルタL10’,H10’の回路構成は、何れも図13(a)のようになっており、フィルタ係数(係数器12−1〜12−3の乗数値H1〜H3)のみが図13(b)のように異なっている。
3タップローパスユニットフィルタL10’のフィルタ係数は、その数値列が非対称型であり、当該数値列の合計値が非ゼロで、当該数値列の1つ飛びの合計値が同符号で互いに等しくなるという性質を持っている。また、3タップハイパスユニットフィルタH10’のフィルタ係数は、その数値列が非対称型であり、当該数値列の合計値がゼロで、当該数値列の1つ飛びの合計値が逆符号で互いに等しくなるという性質を持っている。
このように、これら3タップユニットフィルタL10’,H10’のフィルタ係数は、非対称型であることを除けば上述した5タップユニットフィルタL10,H10と同じ性質を持っている。ただし、5タップユニットフィルタL10,H10のフィルタ係数に比べて多少複雑な値になっている。以下に、この理由を説明する。
図14は、5タップハイパスユニットフィルタH10のフィルタ係数{1,0,−9,16,−9,0,1}/32をその中央で半分に分けたものの片側に相当する単純な数値列{8,−9,0,1}/16をフィルタ係数とした場合(ただし、値が“0”の部分はタップ出力がなく、フィルタ係数として用いない)の周波数特性を示す図である。ここではゲインおよび周波数を“1”で基準化している。
この図14に示すように、5タップハイパスユニットフィルタH10の数値列を単純に半分に分けただけの数値列をフィルタ係数として用いると、その周波数特性において通過域となる部分のピークが波打って複数の極大値を生じ、かつ、その極大値が“1”を超えてしまう。このような周波数特性を持つユニットフィルタは、これを複数縦続接続して所望のFIRフィルタを設計する方式には適しない。
そこで、上記単純な数値列{8,−9,0,1}/16を調整する。まず、高域側の周波数特性を決定付けるフィルタ係数H3の絶対値を小さくする。すなわち、その係数値を“1”から“1−N/8”(N=1,2,・・・8の何れか)に変更して高域の成分を少なくすることにより、通過域のちょうど中央のみがゲインの最大値となるようにする。
図15は、フィルタ係数H3についてN=3とした場合の周波数特性を示す図である。この図15から明らかなように、通過域の波打ちは改善され、中央部分のみがゲインの最大値となっている。しかし、その最大値は依然として“1”を超えている。そこで次に、このゲインの最大値がちょうど“1”となるように係数値を更に調整する。
最大値の調整は、高域成分の調整のために用いたフィルタ係数H3と逆符号のフィルタ係数H2で行うことができる。ここでは、フィルタ係数H2の値を“−9”から“−(9−N/8)”(N=1,2,・・・8の何れか)のように絶対値を小さくする。
このとき、ゲイン調整用のNの値(フィルタ係数H2のNの値)を、上述した高域調整用のNの値(フィルタ係数H3のNの値)と同じにすることにより、調整後の数値列の合計が、調整前の数値列の合計と同じ値になるようにする(調整前:8−9+0+1=0、調整後:8−(9−N/8)+0+(1−N/8)=0)。また、数値列の1つ飛びの合計値も調整前後で変わらないようにする。
図16は、フィルタ係数H2,H3についてN=3とした場合の周波数特性を示す図であり、(a)はゲインを直線目盛りで表し、(b)はゲインを対数目盛りで表している。この図16でも、ゲインおよび周波数を“1”で基準化している。
この図16から明らかなように、フィルタ係数H2,H3を調整した場合は、通過域での波打ちが無く中央部分のみがゲインの最大値となっており、かつ、その最大値がちょうど“1”になっている。また、約−55dBの良好な減衰量も得られている。このような周波数特性を持つ3タップハイパスユニットフィルタH10’は、これを縦続接続して所望のFIRフィルタを設計する方式に適したものとなっている。
また、上述した5タップハイパスユニットフィルタH1n(n=1,2,・・・)と同様に、3タップハイパスユニットフィルタH10’の各フィルタ係数の間に“0”をn個ずつ挿入することにより、3タップハイパスユニットフィルタH1n’を生成することが可能である。
上記3タップハイパスユニットフィルタH10’と同様にして、3タップローパスユニットフィルタL10’のフィルタ係数も適宜調整することができる。すなわち、5タップローパスユニットフィルタL10の数値列を単純に半分に分けただけの数値列{8,9,0,−1}/16に対して、高域側の周波数特性を決定付けるフィルタ係数H3の値を“−1”から“−(1−N/8)”のように絶対値を小さくする。
また、このフィルタ係数H3と逆符号のフィルタ係数H2によってゲインの最大値を調整する。すなわち、フィルタ係数H2の値を“9”から“9−N/8”のように小さくする。このとき、高域調整用のNの値とゲイン調整用のNの値とを同じにすることにより、調整後の数値列の合計が、調整前の数値列の合計と同じ値になるようにする(調整前:8+9+0−1=16、調整後:8+(9−N/8)+0−(1−N/8)=16)。また、数値列の1つ飛びの合計値も調整前後で変わらないようにする。
このように3タップローパスユニットフィルタL10’のフィルタ係数値を調整した場合も、通過域での波打ちが無く中央部分のみがゲインの最大値となり、かつ、その最大値がちょうど“1”になるようなローパスフィルタ特性を得ることができる。このような周波数特性を持つ3タップローパスユニットフィルタL10’も、これを縦続接続して所望のFIRフィルタを設計する方式に適したものとなっている。
また、上述した5タップローパスユニットフィルタL1n(n=1,2,・・・)と同様に、3タップローパスユニットフィルタL10’の各フィルタ係数の間に“0”をn個ずつ挿入することにより、3タップローパスユニットフィルタL1n’を生成することが可能である。
なお、3タップユニットフィルタL10’,H10’のフィルタ係数は、5タップユニットフィルタL10,H10のフィルタ係数の数値列をその中央で半分に分けたもう片側の数値列{−1,0,9,8}/16、{1,0,−9,8}/16を調整して生成しても良い。
以上説明したような3タップユニットフィルタL1n’あるいはH1n’をそのまま縦続接続することによっても、所望の周波数特性を有するFIRフィルタを設計することが可能である。しかし、これらのフィルタ係数は共に非対称型なので、位相の直線性は保証されない。そこで、本実施形態では、タップ数を減らせる3タップユニットフィルタL1n’,H1n’を用いつつも、直線位相特性を実現できるように更に調整する。
図17は、本実施形態によるユニットフィルタL10”,H10”を示す図であり、(a)はその回路構成を示し、(b)はフィルタ係数の数値列を示している。
図17(a)に示すように、本実施形態のユニットフィルタL10”,H10”は共に同様の構成を有している。すなわち、ローパスユニットフィルタL10”は、2つの3タップローパスユニットフィルタ1L10,2L10を縦続接続して構成されている。また、ハイパスユニットフィルタH10”は、2つの3タップハイパスユニットフィルタ1H10,2H10を縦続接続して構成されている。
図17(b)に示すように、ローパスユニットフィルタL10”を構成する一方の3タップローパスユニットフィルタ2L10は、上記5タップローパスユニットフィルタL10のフィルタ係数の数値列{−1,0,9,16,9,0,−1}/32を半分に分けたうちの片側の数値列{8,9,0,−1}/16を更に調整したものをフィルタ係数H4〜H6とするものである。つまり、上述した3タップローパスユニットフィルタL10’と同じものである。また、他方の3タップローパスユニットフィルタ1L10は、上述のように半分に分けたうちのもう片側の数値列{−1,0,9,8}/16を更に調整したものをフィルタ係数H1〜H3とするものである。
また、ハイパスユニットフィルタH10”を構成する一方の3タップハイパスユニットフィルタ2H10は、上記5タップハイパスユニットフィルタH10のフィルタ係数の数値列{1,0,−9,16,−9,0,1}/32を半分に分けたうちの片側の数値列{8,−9,0,1}/16を更に調整したものをフィルタ係数H4〜H6とするものである。つまり、上述した3タップハイパスユニットフィルタH10’と同じものである。また、他方の3タップハイパスユニットフィルタ1H10は、上述のように半分に分けたうちのもう片側の数値列{1,0,−9,8}/16を更に調整したものをフィルタ係数H1〜H3とするものである。
なお、上記2つの3タップローパスユニットフィルタ1L10,2L10の接続関係や、上記2つの3タップハイパスユニットフィルタ1H10,2H10の接続関係は、図17(a)に示したものと左右反対でも良い。
以上のようにユニットフィルタL10”,H10”を構成すると、フィルタ係数は対称型となるので、位相特性は直線となる。図18はローパスユニットフィルタL10”の周波数特性、図19はハイパスユニットフィルタH10”の周波数特性を示す図であり、ゲインを対数目盛りで表している。この図18および図19でも、ゲインおよび周波数を“1”で基準化している。
これらの図から分かるように、周波数−ゲイン特性では通過域での波打ちが無く、かつ、最大値がちょうど“1”になっている。また、約−55dBの良好な減衰量も得られている。さらに、周波数−位相特性では非常にきれいな直線位相特性が得られている。したがって、このような周波数特性を持つユニットフィルタL1n”,H1n”を縦続接続することにより、非常に少ないタップ数で、係数が対称な直線位相フィルタを構成することができる。
ところで、図17に示したユニットフィルタL10”,H10”は全体で6タップを備えており、5タップユニットL10,H10よりもタップ数が多くなっている。しかし、5タップユニットL10,H10は1段で構成されるのに対して、ユニットフィルタL10”,H10”は2つの3タップユニットフィルタを縦続接続して構成されている。したがって、バンド幅は既に5タップユニットL10,H10よりも狭くなっている。
そのため、本実施形態はバンド幅の狭いFIRフィルタを設計する場合に特に有効である。すなわち、所望の狭いバンド幅を実現するために全体として必要なユニットフィルタの縦続数を、5タップユニットフィルタL10,H10を用いる場合に比べて大幅に少なくすることができる。これにより、全体としてみれば回路規模を小さくすることができる。
次に、本実施形態によるデジタルフィルタの設計例を幾つか示す。最初に、ローパスユニットフィルタL10”を用いたローパスフィルタの設計例を示す。設計するローパスフィルタの目標規格は、次の通りとする。すなわち、信号のサンプリング周波数Fsが48KHz、−3dBの帯域幅が3.5KHz、−80dBの帯域幅が8KHz、帯域外減衰量は−80dB以上である。
この目標規格を実現するローパスフィルタは、例えばN=2.6としたローパスユニットフィルタL10”を64個縦続接続することによって構成することができる(この場合の構成を{1L(2.6)10*2L(2.6)10}64で表す)。
目標規格に特性を合わせるためには、通過帯域のバンド幅と傾斜とを調整する必要がある。バンド幅については、ユニットフィルタの縦続段数を増やすことによって狭くすることができる。また、傾斜については、パラメータ値Nを変更することによって調整することができる。このパラメータ値Nは3が標準で、N>3になると傾斜は小さくなり、N<3になると傾斜は大きくなる。ここではN=2.6とし、縦続段数を64個とすることにより、上述の目標規格を満足するローパスフィルタの特性を得た。
図20は、このように構成したローパスフィルタの周波数特性を示す図であり、ゲインを対数目盛りで表している。図20(b)は図20(a)に示す特性の一部拡大図である。この図20から分かるように、ローパスフィルタ{1L(2.6)10*2L(2.6)10}64は上述した目標規格を満足している。また、フィルタ係数は対称型なので、位相特性は直線である。
また、このように構成したローパスフィルタに必要な1ビット当たりのD型フリップフロップ数は49個、タップ数は49個であり、フィルタ係数の種類(演算する値の種類)はわずか23種類である。6タップを持つユニットフィルタL10”を64個縦続接続すれば、D型フリップフロップやタップの数は本来49個より多くなる。しかし、このローパスフィルタのフィルタ係数は上述した有限台の関数に基づいて生成されたものであり、縦続接続の両サイド付近では係数値が無視できるほど小さくなる。有限台の性質上、この部分を無視しても打切り誤差は生じないので、この部分は除外する。
除外した残りの部分が、目標規格を満足するローパスフィルタについて求める最終的なフィルタ係数となる。よって、実際にはこのフィルタ係数をハードウェアとして構成すれば良く、それに必要なD型フリップフロップおよびタップは共に49個で済む。これにより、全体として必要なD型フリップフロップ数やタップ数を非常に少なくすることができ、フィルタ回路の構成を極めて簡単にすることができる。
次に、ハイパスユニットフィルタH11”を用いたバンドパスフィルタの設計例を示す。設計するバンドパスフィルタの目標規格は、次の通りとする。すなわち、信号のサンプリング周波数Fsが1.8MHz、−3dBの帯域幅が100KHz、−80dBの帯域幅が200KHz、帯域外減衰量は−80dB以上である。
この目標規格を実現するバンドパスフィルタは、例えばN=2.7としたハイパスユニットフィルタH11”を704個縦続接続することによって構成することができる。
図21は、このように構成したバンドパスフィルタの周波数特性を示す図であり、ゲインを対数目盛りで表している。図21(b)は図21(a)に示す特性の一部拡大図である。この図21から分かるように、バンドパスフィルタ{1H(2.7)11*2H(2.7)11}704は上述した目標規格を満足している。また、位相特性も直線である。
また、このように構成したバンドパスフィルタに必要な1ビット当たりのタップ数は、係数値が無視できるほど小さい部分を除くと僅か77タップであり、フィルタ係数の種類は僅か31種類である。また、1ビット当たりのD型フリップフロップ数は僅か161段である。
なお、ここでは図示を省略するが、複数のハイパスユニットフィルタH10”を縦続接続することによって、所望特性のハイパスフィルタを構成することも可能である。
また、上記図20および図21は、処理ビット数を16ビットとした場合の例を示しているが、処理ビット数を増やせばより深い減衰を持つ特性を得ることができる。換言すれば、減衰量が処理ビット数に依存するデジタルフィルタを得ることができる。
以上詳しく説明したように、本実施形態によれば、所定の基本的な数値列をフィルタ係数とする1種類のユニットフィルタL1n”あるいはH1n”を縦続接続することにより、この縦続接続だけで、所望の周波数特性を有するFIRフィルタのフィルタ係数を得ることができる。したがって、フィルタ設計法が非常に単純で考えやすく、熟練した技術者でなくてもフィルタ設計を極めて簡単に行うことができる。
また、上述の手法を適用して設計されるフィルタ回路に必要なタップ数は非常にわずかで済み、かつ、各タップ出力に対して必要なフィルタ係数の種類も僅かで良いから、フィルタ回路の演算部の構成を極めて簡単にすることができる。したがって、回路素子数を大幅に削減してフィルタ回路の規模を小さくすることができる。また、上述の手法を適用して設計されるフィルタ回路は、全く同一パターンの繰り返しから成る極めて単純な構成であるので、集積化に際して工数を短縮することができ、IC化を容易にすることができるというメリットも有する。
なお、既出願の5タップユニットフィルタL1n,H1nについても、1種類の縦続接続だけで所望特性のデジタルフィルタを設計することが可能である。しかし、狭いバンド幅のデジタルフィルタを設計するためには本実施形態に比べて非常に多くの縦続段数を必要とし、使用するタップやD型フリップフロップの数は非常に多くなる。
そのため、1種類の5タップユニットフィルタL1n,H1nだけでデジタルフィルタを設計することは現実的でなく、複数種類のユニットフィルタを組み合わせて周波数帯域の抜き取りをする必要があった。これに対して、本実施形態では、ユニットフィルタL1n”あるいはH1n”の少ない縦続数で狭いバンド幅を実現できるので、1種類のユニットフィルタL1n”あるいはH1n”の縦続接続だけでデジタルフィルタを設計することが可能である。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。図22は、上述したローパスフィルタ{1L(2.6)10*2L(2.6)10}64を示す図であり、(a)はその回路構成を示し、(b)は使用するクロックを示している。
図22に示すローパスフィルタは、基準クロックCKに従って動作するD型フリップフロップ51,56と、16倍周波数のクロック16CKに従って動作するD型フリップフロップ53および4段処理部54と、1/16倍周波数のクロックCK1に従って動作するマルチプレクサ52およびデータセレクタ55とを備えて構成されている。上記4段処理部54は、ローパスフィルタ{1L(2.6)116*2L(2.6)116}4により構成されている。
初段のD型フリップフロップ51に入力されたデータは、マルチプレクサ52の端子A側に入力される。このマルチプレクサ52の端子B側には、データセレクタ55の端子Bより出力されたローパスフィルタ処理結果のデータが入力される。マルチプレクサ52は、これらの端子A,Bに入力されるデータの何れかを選択的に次段のD型フリップフロップ53に出力する。
この例では、マルチプレクサ52にクロックCK1が与えられたタイミングで端子A側を選択するとともに、それ以外のタイミングでは端子B側を選択して、その選択したデータをD型フリップフロップ53に出力する。D型フリップフロップ53は、マルチプレクサ52より供給されたデータを一旦保持し、4段処理部54に出力する。
4段処理部54は、D型フリップフロップ53より供給されるデータに対して{1L(2.6)116*2L(2.6)116}4のローパスフィルタ処理を施す。この4段処理部54より出力されたデータは、データセレクタ55に入力される。データセレクタ55は、4段処理部54より供給されるデータをD型フリップフロップ56またはマルチプレクサ52の何れかに選択的に出力する。
すなわち、データセレクタ55は、クロックCK1が与えられたタイミングで端子A側を選択して、4段処理部54より供給されるデータをD型フリップフロップ56に出力する。また、それ以外のタイミングでは端子B側を選択して、4段処理部54より供給されるデータをマルチプレクサ52に出力する。
以上のような構成により、D型フリップフロップ51を通じて入力されたデータは、4段処理部54において{1L(2.6)116*2L(2.6)116}4のローパスフィルタ処理が16回繰り返し行われ、その結果得られたデータがD型フリップフロップ56を通じて出力される。これにより、入力されたデータに対して{1L(2.6)10*2L(2.6)10}64と同様の処理が施される。
上述した第1の実施形態では、1種類のユニットフィルタを縦続接続するだけでデジタルフィルタを構成することができ、当該デジタルフィルタは全く同一パターンの繰り返しから成る。第2の実施形態では、この同一パターンの繰り返し部分をループ回路により構成することにより、使用するタップ数を更に削減することができる。上述の第1の実施形態では1ビット当たり必要なタップ数は49個、タップの種類は23個であったのに対し、第2の実施形態ではタップ数を21個、タップの種類を11個にそれぞれ減らすことができる。
図23は、図22のように構成したローパスフィルタの周波数特性を示す図であり、ゲインを対数目盛りで表している。図23(b)は図23(a)に示す特性の一部拡大図である。この図23と上述した図20とを比較すれば明らかなように、図22のようにローパスフィルタを構成した場合も、図20とほぼ同程度の周波数特性を得ることができる。
なお、ここでは、ローパスフィルタの構成例について示したが、ハイパスフィルタやバンドパスフィルタ等についても同様にループ回路を用いて構成することが可能であり、これによって使用するタップ数を更に少なくすることができる。
以上に説明した第1および第2の実施形態によるデジタルフィルタの設計方法を実現するための装置は、ハードウェア構成、DSP、ソフトウェアの何れによっても実現することが可能である。例えばソフトウェアによって実現する場合、フィルタ設計装置はコンピュータのCPUあるいはMPU、RAM、ROMなどで構成され、RAMやROMあるいはハードディスク等に記憶されたプログラムが動作することによって実現できる。
したがって、コンピュータが上記本実施形態の機能を果たすように動作させるプログラムを例えばCD−ROMのような記録媒体に記録し、これをコンピュータに読み込ませることによって実現できるものである。上記プログラムを記録する記録媒体としては、CD−ROM以外に、フレキシブルディスク、ハードディスク、磁気テープ、光ディスク、光磁気ディスク、DVD、不揮発性メモリカード等を用いることができる。また、上記プログラムをインターネット等のネットワークを介してコンピュータにダウンロードすることによっても実現できる。
すなわち、各種のユニットフィルタに関するフィルタ係数を情報としてRAMあるいはROM等のメモリに保持しておき、ユーザがユニットフィルタに関する任意の組み合わせを指示すると、CPUが、上記メモリに保持されているフィルタ係数の情報を用いて、指示された組み合わせに対応するフィルタ係数を演算してFIRフィルタを求めるようにすることが可能である。
例えば、各種のユニットフィルタをアイコン化しておき(各アイコンに対応してフィルタ係数を情報として保持している)、ユーザがこれらのアイコンをディスプレイ画面上で任意に組み合わせて配置することにより、CPUがその配列に対応するフィルタ係数を自動的に演算して求めるようにしても良い。また、求めたフィルタ係数を自動的にFFT変換し、その結果を周波数−ゲイン特性図として表示するようにすれば、設計したフィルタの特性を確認することができ、フィルタ設計をより容易に行うことができる。
なお、コンピュータが供給されたプログラムを実行することにより上述の実施形態の機能が実現されるだけでなく、そのプログラムがコンピュータにおいて稼働しているOS(オペレーティングシステム)あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合や、供給されたプログラムの処理の全てあるいは一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて上述の実施形態の機能が実現される場合も、かかるプログラムは本発明の実施形態に含まれる。
なお、上記第1および第2の実施形態では、図2(a)および(b)に示した対称型の数値列を半分に分けて非対称型の3タップユニットフィルタのフィルタ係数としたが、元の対称型の数値列はこれに限定されるものではない。例えば、図24(a)に示すように生成した5タップローパスユニット2次フィルタL20や、図24(b)に示すように生成した5タップハイパスユニット2次フィルタH20の対称型の数値列を用いても良い。
また、上記図2および図24に示したもの以外でも、絶対値が“1”と“8”の数値を用いて上述の数値列と異なる数値列を5タップユニットフィルタのフィルタ係数とし、その数値列を半分に分けて3タップユニットフィルタのフィルタ係数とするようにしても良い。
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本実施形態のデジタルフィルタは、複数の遅延器から成るタップ付き遅延線を備え、各タップの出力信号を所与のフィルタ係数によりそれぞれ数倍した後、加算して出力するタイプのFIRフィルタである。
(第1の実施形態)
第1の実施形態によるフィルタ設計法は、以下に説明するユニットフィルタL1n”,H1n”(本発明の基本フィルタ)を作り、その一方のみだけで所望の周波数特性を有するFIRフィルタを設計できるようにしたものである。なお、ユニットフィルタを表す符号の後ろに付けた“n”の文字は、各タップ間に挿入するディレイのクロック数、すなわち、各フィルタ係数の間に挿入する“0”の数を示している(詳細は後述する)。
まず、上記ユニットフィルタL1n”,H1n”を理解する上で参考になる5タップユニットフィルタL1n,H1nについて説明する。図1は、5タップユニットフィルタL10,H10を示す図であり、(a)はその回路構成を示し、(b)はフィルタ係数の数値列を示している。
図1(a)に示すように、5タップユニットフィルタL10,H10では、縦続接続された6個のD型フリップフロップ1−1〜1−6によって入力信号を1クロックCKずつ順次遅延させる。そして、各D型フリップフロップ1−1〜1−6の所定のタップから取り出した信号に対して、図1(b)に示すフィルタ係数h1〜h5を5個の係数器2−1〜2−5でそれぞれ乗算し、それらの乗算結果を全て4個の加算器3−1〜3−4で加算して出力する。
上記2種類の5タップユニットフィルタL10,H10の回路構成は、何れも図1(a)のようになっており、フィルタ係数(係数器2−1〜2−5の乗数値h1〜h5)のみが図1(b)のように異なっている。
図1(b)から分かるように、5タップローパスユニットフィルタL10のフィルタ係数は、極めて単純な数値列{−1,0,9,16,9,0,−1}/32から成る(ただし、値が“0”の部分は図1(a)のようにタップ出力がなく、フィルタ係数として用いていない)。このようなフィルタ係数は、その数値列が対称型であり、数値列の合計値が非ゼロで、数値列の1つ飛びの合計値が同符号で互いに等しくなるという性質を持っている(−1+9+9−1=16、0+16+0=16)。
また、5タップハイパスユニットフィルタH10のフィルタ係数は、極めて単純な数値列{1,0,−9,16,−9,0,1}/32から成る(ただし、値が“0”の部分はタップ出力がなく、フィルタ係数として用いていない)。このようなフィルタ係数は、その数値列が対称型であり、数値列の合計値がゼロで、数値列の1つ飛びの合計値が逆符号で互いに等しくなるという性質を持っている(1−9−9+1=−16、0+16+0=16)。
ここで、これらのフィルタ係数を構成する数値列の意味について、図2〜図4を用いて説明する。
図2は、5タップユニットフィルタL10,H10のフィルタ係数を構成する数値列の生成法を説明するための図である。図2(a)に示すように、5タップローパスユニットフィルタL10のフィルタ係数を構成する数値列は、1クロックCK毎にデータ値が{−1,1,8,8,1,−1}/16と変化する所定のデジタル基本関数を1回移動平均演算することによって得られるものである。
また、図2(b)に示すように、5タップハイパスユニットフィルタH10のフィルタ係数を構成する数値列は、1クロックCK毎にデータ値が{1,−1,−8,8,−1,1}/16と変化するデジタル基本関数と、1クロックCK毎にデータ値が{1,−1,8,−8,−1,1}/16と変化するデジタル基本関数とを移動平均演算することによって得られるものである。
図3は、5タップローパスユニットフィルタL10のフィルタ係数を構成する数値列に対して、4倍のオーバーサンプリングとコンボリューション演算とを施した結果を示す図である。なお、ここでは説明を分かりやすくするために、元の数値列を32倍した整数の数値列{−1,0,9,16,9,0,−1}に対してオーバーサンプリングとコンボリューション演算とを行う例について示している。
図3(a)において、一番左の列に示される一連の数値列は、元の数値列{−1,0,9,16,9,0,−1}に対して4倍のオーバーサンプリングを行った値である。また、一番左から右に向かって4列分の数値列は、一番左の列に示される数値列を1つずつ下方向にシフトしていったものである。図3(a)の列方向は時間軸を示しており、数値列を下方向にシフトするということは、一番左の列に示される数値列を徐々に遅延させていくことに対応する。
すなわち、左から2列目の数値列は、一番左の列に示される数値列を4倍周波数のクロック4CKの1/4位相分だけずらした数値列であることを示す。また、左から3列目の数値列は、左から2列目に示される数値列を4倍周波数のクロック4CKの1/4位相分だけずらした数値列、左から4列目の数値列は、左から3列目に示される数値列を4倍周波数のクロック4CKの1/4位相分だけ更にずらした数値列であることを示す。
また、左から5列目の数値列は、1〜4列目の各数値列を対応する行どうしで加算した値である。この左から5列目までの処理により、4相のコンボリューション演算を伴う4倍のオーバーサンプリングがデジタル的に実行されることになる。
上記5列目から右に向かって4列分の数値列は、5列目に示される数値列を1つずつ下方向にシフトしていったものである。また、左から9列目の数値列は、5〜8列目の各数値列を対応する行どうしで加算した値である。この左から9列目までの処理により、4相のコンボリューション演算を伴う4倍のオーバーサンプリングがデジタル的に2回実行されることになる。
また、左から10列目の数値列は、9列目に示される数値列を1つ下方向にシフトしたものである。また、左から11列目(一番右の列)の数値列は、9列目の数値列と10列目の数値列とを対応する行どうしで加算した値である。
この図3(a)の一番右の列に示される最終的に得られた数値列をグラフ化したのが、図3(b)である。この図3(b)に示す波形を有する関数は、横軸に沿った標本位置がt1からt4の間にあるときにのみ“0”以外の有限な値を有し、それ以外の領域では値が全て“0”となる関数、つまり標本位置t1,t4において値が“0”に収束する関数である。このように関数の値が局所的な領域で“0”以外の有限の値を有し、それ以外の領域で“0”となる場合を「有限台」と称する。
また、この図3(b)に示す関数は、中央の標本位置t5においてのみ極大値をとり、t1,t2,t3,t4の4つの標本位置において値が“0”になるという特徴を有する標本化関数であり、滑らかな波形のデータを得るために必要なサンプル点は全て通る。
次いで、図4は、5タップハイパスユニットフィルタH10のフィルタ係数を構成する数値列に対して、4倍のオーバーサンプリングとコンボリューション演算とを施した結果を示す図である。なお、ここでも説明を分かりやすくするために、元の数値列を32倍した整数の数値列{1,0,−9,16,−9,0,1}に対してオーバーサンプリングとコンボリューション演算とを行う例について示している。
図4(a)は、上記図3(a)と同様の演算過程を示している。この図4(a)の一番右の列に示される最終的に得られた数値列をグラフ化すると、図4(b)のようになる。この図4(b)に示す関数も、中央の標本位置t7’においてのみ極大値をとる標本化関数であって、全域において1回微分可能であり、しかも標本位置t1’,t6’において0に収束する有限台の関数である。
次に、各タップ間に挿入するディレイのクロック数nをn≧1とした場合について説明する。図5は、5タップローパスユニットフィルタL11(n=1の場合)のフィルタ係数を示す図である。この図5に示すように、5タップローパスユニットフィルタL11のフィルタ係数は、上記5タップローパスユニットフィルタL10の各フィルタ係数の間に“0”を1つずつ挿入することによって生成する。
同様に、5タップローパスユニットフィルタL1n(n=2,3,・・・)のフィルタ係数は、5タップローパスユニットフィルタL10の各フィルタ係数の間に“0”をn個ずつ挿入することによって生成する。
図6は、5タップローパスユニットフィルタL10,L11の数値列をFFT(Fast Fourier Transfer:高速フーリエ変換)した結果の周波数−ゲイン特性を示す図である。ここではゲインおよび周波数を“1”で基準化している。
この図6から分かるように、5タップローパスユニットフィルタL10,L11では、中心周波数においてゲインが0.5となり、かつ、低周波領域でのオーバーシュートや高周波領域でのリンギングも存在しない良好なローパスフィルタ特性が得られる。また、各フィルタ係数の間に挿入する“0”の数をnとすると、その周波数−ゲイン特性の周波数軸(周波数方向に対する周期)は1/nとなる。
このようなローパスフィルタ特性を実現する大元となる上記図2(a)の数値列は、図3(b)に示した有限台の標本化関数の基礎となるものである。従来一般的に用いられていた標本化関数はt=±∞の標本位置で“0”に収束するのに対し、図3(b)に示した標本化関数は、t=t1,t4の有限の標本位置で“0”に収束する。
そのため、上記図2(a)の数値列をFFT変換した場合、t=t1〜t4の範囲内に相当するデータだけが意味を持つ。t=t1〜t4の範囲外に相当するデータについては、本来これを考慮すべきであるのに無視しているという訳ではなく、理論的に考慮する必要がないため、打ち切り誤差は発生しない。したがって、上記図2(a)に示す数値列をフィルタ係数として用いれば、窓関数を用いて係数の打ち切りを行う必要もなく、良好なローパスフィルタ特性を得ることができる。
図7は、5タップハイパスユニットフィルタH11のフィルタ係数を示す図である。この図7に示すように、5タップハイパスユニットフィルタH11のフィルタ係数は、上記5タップハイパスユニットフィルタH10の各フィルタ係数の間に“0”を1つずつ挿入することによって生成する。
同様に、5タップハイパスユニットフィルタH1n(n=2,3,・・・)のフィルタ係数は、5タップハイパスユニットフィルタH10の各フィルタ係数の間に“0”をn個ずつ挿入することによって生成する。
図8は、5タップハイパスユニットフィルタH10,H11の周波数−ゲイン特性を示す図である。ここでもゲインおよび周波数を“1”で基準化している。この図8から分かるように、5タップハイパスユニットフィルタH10,H11では、中心周波数においてゲインが0.5となり、かつ、高周波領域でのオーバーシュートや低周波領域でのリンギングも存在しない良好なハイパスフィルタ特性が得られる。また、フィルタ係数の間に挿入する“0”の数をnとすると、その周波数−ゲイン特性の周波数軸(周波数方向に対する周期)は1/nとなる。
このようなハイパスフィルタ特性を実現する大元となる上記図2(b)の数値列も、図4(b)に示すような有限台の標本化関数の基礎となるものである。したがって、この数値列をフィルタ係数として用いることにより、窓関数を用いて係数の打ち切りを行う必要もなく、良好なハイパスフィルタ特性を得ることができる。
次に、5タップユニットフィルタの縦続接続について説明する。5タップユニットフィルタを縦続接続することにより、各ユニットフィルタの係数どうしが乗算・加算されて新しいフィルタ係数が作り出される。以下では、例えば5タップローパスユニットフィルタL10の縦続数をmとするとき、これを(L10)mと記述することにする。
図9は、5タップローパスユニットフィルタL10,(L10)2,(L10)4,(L10)8の周波数−ゲイン特性を示す図である。この図9でもゲインおよび周波数を“1”で基準化している。5タップローパスユニットフィルタL10が1個のみの場合、振幅が0.5となる位置のクロックは0.25である。これに対して縦続数mが多くなると、フィルタの通過帯域幅が狭くなる。例えばm=8の場合、振幅が0.5となる位置のクロックは0.125となる。
図10は、5タップハイパスユニットフィルタH10,(H10)2,(H10)4,(H10)8の周波数−ゲイン特性を示す図である。この図10でもゲインおよび周波数を“1”で基準化している。5タップハイパスユニットフィルタH10が1個のみの場合、振幅が0.5となる位置のクロックは0.25である。これに対して縦続数mが多くなると、フィルタの通過帯域幅が狭くなる。例えばm=8の場合、振幅が0.5となる位置のクロックは0.375となる。
次に、所望の周波数帯域の抜き出しについて説明する。図11は、周波数帯域の抜き出しを説明するための図である。周波数帯域の抜き出しは、上述のユニットフィルタを4個以上縦続接続したものを用いて行う。図11(a)は、5タップローパスユニットフィルタ(L10)4,(L11)4,(L13)4,(L17)4の周波数−ゲイン特性を1つのグラフ上にまとめて示した図である。この図11(a)でもゲインおよび周波数を“1”で基準化している。
これら複数種の5タップローパスユニットフィルタ(L10)4,(L11)4,(L13)4,(L17)4を組み合わせると、各特性値どうしが相殺し合って周波数帯域の抜き取りが行われる。また、これらの波形を基本として組み合わせ、必要に応じて反転周波数軸方向への移動を行うことにより、所望の周波数帯域のみが通過域となるフィルタを作ることができる。
図11(b)は、これら4種類の5タップローパスユニットフィルタ(L10)4,(L11)4,(L13)4,(L17)4を縦続接続したときに得られる周波数特性を示している。これによれば、低周波の極めて狭い領域が通過域となる、ほぼ良好な減衰特性を有するローパスフィルタが得られている。わずかにリンギングが発生しているが、このリンギングは−106dB以上落ち込んだ部分で生じているため、殆ど無視できる。
図12は、周波数帯域の他の抜き取り例を示す図である。図12(a)に示すように、5タップハイパスユニットフィルタ(H10)8と、5タップローパスユニットフィルタ(L11)8,(L13)8,(L17)8とを組み合わせてこれらを縦続接続すると、所定の周波数帯域が通過域となるハイパスフィルタを得ることができる。
また、図12(b)に示すように、5タップローパスユニットフィルタ(L10)4,(L11)8,(L13)4を組み合わせてこれらを縦続接続すると、所定の周波数帯域が通過域となるローパスフィルタを得ることができる。また、図12(c)に示すように、5タップハイパスユニットフィルタ(H11)8と、5タップローパスユニットフィルタ(L13)4,(L17)4,(L115)8とを組み合わせてこれらを縦続接続すると、所定の周波数帯域が通過域となるバンドパスフィルタを得ることができる。
以上のように、所定の基本的な数値列をフィルタ係数とする5タップユニットフィルタを用いてこれらを任意に組み合わせることにより、ユニットフィルタの組み合わせだけで、所望の周波数特性を有するFIRフィルタのフィルタ係数を自動的に生成することができる。したがって、フィルタ設計法が単純で考えやすく、熟練した技術者でなくてもフィルタ設計を極めて簡単に行うことができる。
また、上述の手法を適用して設計されるフィルタ回路に必要なタップ数は非常に僅かで済み、かつ、各タップ出力に対して必要なフィルタ係数の種類も僅かで済むので、フィルタ回路の演算部の構成を極めて簡単にすることができる。したがって、回路素子数(特に乗算器)を大幅に削減してフィルタ回路の規模を小さくすることができるとともに、消費電力の低減、演算負荷の軽減等を図ることができる。
また、上述の手法を適用して設計されるフィルタ回路は、ほぼ同一パターンの繰り返しから成る極めて単純な構成であるので、集積化に際して工数を短縮することができ、IC化を容易にすることができるというメリットも有する。また、特性面では遮断特性の極めて大きな改善が可能となり、位相特性も直線で優れたフィルタ特性を得ることができる。
以上説明した内容については、本出願人が既に特許出願済みである(特願2001−321321号)。本実施形態は、この既出願の内容を更に改良したものであり、上述したように1種類のユニットフィルタL1n”あるいはH1n”の縦続接続だけで所望の周波数特性を有するFIRフィルタを設計できるようにしたものである。
まず、上記ユニットフィルタL1n”,H1n”の構成要素である3タップユニットフィルタL1n’,H1n’について説明する。この3タップユニットフィルタL1n’,H1n’のフィルタ係数は、上述した5タップユニットフィルタL1n,H1nのフィルタ係数の数値列をその中央で半分に分けたうちの片側を更に調整したものである。
図13は、3タップユニットフィルタL10’,H10’を示す図であり、(a)はその回路構成を示し、(b)はフィルタ係数の数値列を示している。図13(a)に示すように、3タップユニットフィルタL10’,H10’では、縦続接続された3個のD型フリップフロップ11−1〜11−3によって入力信号を1クロックCKずつ順次遅延させる。そして、各D型フリップフロップ11−1〜11−3の所定のタップから取り出した信号に対して、図13(b)に示すフィルタ係数H1〜H3を3個の係数器12−1〜12−3でそれぞれ乗算し、それらの乗算結果を全て2個の加算器13−1〜13−2で加算して出力する。
上記2種類の3タップユニットフィルタL10’,H10’の回路構成は、何れも図13(a)のようになっており、フィルタ係数(係数器12−1〜12−3の乗数値H1〜H3)のみが図13(b)のように異なっている。
3タップローパスユニットフィルタL10’のフィルタ係数は、その数値列が非対称型であり、当該数値列の合計値が非ゼロで、当該数値列の1つ飛びの合計値が同符号で互いに等しくなるという性質を持っている。また、3タップハイパスユニットフィルタH10’のフィルタ係数は、その数値列が非対称型であり、当該数値列の合計値がゼロで、当該数値列の1つ飛びの合計値が逆符号で互いに等しくなるという性質を持っている。
このように、これら3タップユニットフィルタL10’,H10’のフィルタ係数は、非対称型であることを除けば上述した5タップユニットフィルタL10,H10と同じ性質を持っている。ただし、5タップユニットフィルタL10,H10のフィルタ係数に比べて多少複雑な値になっている。以下に、この理由を説明する。
図14は、5タップハイパスユニットフィルタH10のフィルタ係数{1,0,−9,16,−9,0,1}/32をその中央で半分に分けたものの片側に相当する単純な数値列{8,−9,0,1}/16をフィルタ係数とした場合(ただし、値が“0”の部分はタップ出力がなく、フィルタ係数として用いない)の周波数特性を示す図である。ここではゲインおよび周波数を“1”で基準化している。
この図14に示すように、5タップハイパスユニットフィルタH10の数値列を単純に半分に分けただけの数値列をフィルタ係数として用いると、その周波数特性において通過域となる部分のピークが波打って複数の極大値を生じ、かつ、その極大値が“1”を超えてしまう。このような周波数特性を持つユニットフィルタは、これを複数縦続接続して所望のFIRフィルタを設計する方式には適しない。
そこで、上記単純な数値列{8,−9,0,1}/16を調整する。まず、高域側の周波数特性を決定付けるフィルタ係数H3の絶対値を小さくする。すなわち、その係数値を“1”から“1−N/8”(N=1,2,・・・8の何れか)に変更して高域の成分を少なくすることにより、通過域のちょうど中央のみがゲインの最大値となるようにする。
図15は、フィルタ係数H3についてN=3とした場合の周波数特性を示す図である。この図15から明らかなように、通過域の波打ちは改善され、中央部分のみがゲインの最大値となっている。しかし、その最大値は依然として“1”を超えている。そこで次に、このゲインの最大値がちょうど“1”となるように係数値を更に調整する。
最大値の調整は、高域成分の調整のために用いたフィルタ係数H3と逆符号のフィルタ係数H2で行うことができる。ここでは、フィルタ係数H2の値を“−9”から“−(9−N/8)”(N=1,2,・・・8の何れか)のように絶対値を小さくする。
このとき、ゲイン調整用のNの値(フィルタ係数H2のNの値)を、上述した高域調整用のNの値(フィルタ係数H3のNの値)と同じにすることにより、調整後の数値列の合計が、調整前の数値列の合計と同じ値になるようにする(調整前:8−9+0+1=0、調整後:8−(9−N/8)+0+(1−N/8)=0)。また、数値列の1つ飛びの合計値も調整前後で変わらないようにする。
図16は、フィルタ係数H2,H3についてN=3とした場合の周波数特性を示す図であり、(a)はゲインを直線目盛りで表し、(b)はゲインを対数目盛りで表している。この図16でも、ゲインおよび周波数を“1”で基準化している。
この図16から明らかなように、フィルタ係数H2,H3を調整した場合は、通過域での波打ちが無く中央部分のみがゲインの最大値となっており、かつ、その最大値がちょうど“1”になっている。また、約−55dBの良好な減衰量も得られている。このような周波数特性を持つ3タップハイパスユニットフィルタH10’は、これを縦続接続して所望のFIRフィルタを設計する方式に適したものとなっている。
また、上述した5タップハイパスユニットフィルタH1n(n=1,2,・・・)と同様に、3タップハイパスユニットフィルタH10’の各フィルタ係数の間に“0”をn個ずつ挿入することにより、3タップハイパスユニットフィルタH1n’を生成することが可能である。
上記3タップハイパスユニットフィルタH10’と同様にして、3タップローパスユニットフィルタL10’のフィルタ係数も適宜調整することができる。すなわち、5タップローパスユニットフィルタL10の数値列を単純に半分に分けただけの数値列{8,9,0,−1}/16に対して、高域側の周波数特性を決定付けるフィルタ係数H3の値を“−1”から“−(1−N/8)”のように絶対値を小さくする。
また、このフィルタ係数H3と逆符号のフィルタ係数H2によってゲインの最大値を調整する。すなわち、フィルタ係数H2の値を“9”から“9−N/8”のように小さくする。このとき、高域調整用のNの値とゲイン調整用のNの値とを同じにすることにより、調整後の数値列の合計が、調整前の数値列の合計と同じ値になるようにする(調整前:8+9+0−1=16、調整後:8+(9−N/8)+0−(1−N/8)=16)。また、数値列の1つ飛びの合計値も調整前後で変わらないようにする。
このように3タップローパスユニットフィルタL10’のフィルタ係数値を調整した場合も、通過域での波打ちが無く中央部分のみがゲインの最大値となり、かつ、その最大値がちょうど“1”になるようなローパスフィルタ特性を得ることができる。このような周波数特性を持つ3タップローパスユニットフィルタL10’も、これを縦続接続して所望のFIRフィルタを設計する方式に適したものとなっている。
また、上述した5タップローパスユニットフィルタL1n(n=1,2,・・・)と同様に、3タップローパスユニットフィルタL10’の各フィルタ係数の間に“0”をn個ずつ挿入することにより、3タップローパスユニットフィルタL1n’を生成することが可能である。
なお、3タップユニットフィルタL10’,H10’のフィルタ係数は、5タップユニットフィルタL10,H10のフィルタ係数の数値列をその中央で半分に分けたもう片側の数値列{−1,0,9,8}/16、{1,0,−9,8}/16を調整して生成しても良い。
以上説明したような3タップユニットフィルタL1n’あるいはH1n’をそのまま縦続接続することによっても、所望の周波数特性を有するFIRフィルタを設計することが可能である。しかし、これらのフィルタ係数は共に非対称型なので、位相の直線性は保証されない。そこで、本実施形態では、タップ数を減らせる3タップユニットフィルタL1n’,H1n’を用いつつも、直線位相特性を実現できるように更に調整する。
図17は、本実施形態によるユニットフィルタL10”,H10”を示す図であり、(a)はその回路構成を示し、(b)はフィルタ係数の数値列を示している。
図17(a)に示すように、本実施形態のユニットフィルタL10”,H10”は共に同様の構成を有している。すなわち、ローパスユニットフィルタL10”は、2つの3タップローパスユニットフィルタ1L10,2L10を縦続接続して構成されている。また、ハイパスユニットフィルタH10”は、2つの3タップハイパスユニットフィルタ1H10,2H10を縦続接続して構成されている。
図17(b)に示すように、ローパスユニットフィルタL10”を構成する一方の3タップローパスユニットフィルタ2L10は、上記5タップローパスユニットフィルタL10のフィルタ係数の数値列{−1,0,9,16,9,0,−1}/32を半分に分けたうちの片側の数値列{8,9,0,−1}/16を更に調整したものをフィルタ係数H4〜H6とするものである。つまり、上述した3タップローパスユニットフィルタL10’と同じものである。また、他方の3タップローパスユニットフィルタ1L10は、上述のように半分に分けたうちのもう片側の数値列{−1,0,9,8}/16を更に調整したものをフィルタ係数H1〜H3とするものである。
また、ハイパスユニットフィルタH10”を構成する一方の3タップハイパスユニットフィルタ2H10は、上記5タップハイパスユニットフィルタH10のフィルタ係数の数値列{1,0,−9,16,−9,0,1}/32を半分に分けたうちの片側の数値列{8,−9,0,1}/16を更に調整したものをフィルタ係数H4〜H6とするものである。つまり、上述した3タップハイパスユニットフィルタH10’と同じものである。また、他方の3タップハイパスユニットフィルタ1H10は、上述のように半分に分けたうちのもう片側の数値列{1,0,−9,8}/16を更に調整したものをフィルタ係数H1〜H3とするものである。
なお、上記2つの3タップローパスユニットフィルタ1L10,2L10の接続関係や、上記2つの3タップハイパスユニットフィルタ1H10,2H10の接続関係は、図17(a)に示したものと左右反対でも良い。
以上のようにユニットフィルタL10”,H10”を構成すると、フィルタ係数は対称型となるので、位相特性は直線となる。図18はローパスユニットフィルタL10”の周波数特性、図19はハイパスユニットフィルタH10”の周波数特性を示す図であり、ゲインを対数目盛りで表している。この図18および図19でも、ゲインおよび周波数を“1”で基準化している。
これらの図から分かるように、周波数−ゲイン特性では通過域での波打ちが無く、かつ、最大値がちょうど“1”になっている。また、約−55dBの良好な減衰量も得られている。さらに、周波数−位相特性では非常にきれいな直線位相特性が得られている。したがって、このような周波数特性を持つユニットフィルタL1n”,H1n”を縦続接続することにより、非常に少ないタップ数で、係数が対称な直線位相フィルタを構成することができる。
ところで、図17に示したユニットフィルタL10”,H10”は全体で6タップを備えており、5タップユニットL10,H10よりもタップ数が多くなっている。しかし、5タップユニットL10,H10は1段で構成されるのに対して、ユニットフィルタL10”,H10”は2つの3タップユニットフィルタを縦続接続して構成されている。したがって、バンド幅は既に5タップユニットL10,H10よりも狭くなっている。
そのため、本実施形態はバンド幅の狭いFIRフィルタを設計する場合に特に有効である。すなわち、所望の狭いバンド幅を実現するために全体として必要なユニットフィルタの縦続数を、5タップユニットフィルタL10,H10を用いる場合に比べて大幅に少なくすることができる。これにより、全体としてみれば回路規模を小さくすることができる。
次に、本実施形態によるデジタルフィルタの設計例を幾つか示す。最初に、ローパスユニットフィルタL10”を用いたローパスフィルタの設計例を示す。設計するローパスフィルタの目標規格は、次の通りとする。すなわち、信号のサンプリング周波数Fsが48KHz、−3dBの帯域幅が3.5KHz、−80dBの帯域幅が8KHz、帯域外減衰量は−80dB以上である。
この目標規格を実現するローパスフィルタは、例えばN=2.6としたローパスユニットフィルタL10”を64個縦続接続することによって構成することができる(この場合の構成を{1L(2.6)10*2L(2.6)10}64で表す)。
目標規格に特性を合わせるためには、通過帯域のバンド幅と傾斜とを調整する必要がある。バンド幅については、ユニットフィルタの縦続段数を増やすことによって狭くすることができる。また、傾斜については、パラメータ値Nを変更することによって調整することができる。このパラメータ値Nは3が標準で、N>3になると傾斜は小さくなり、N<3になると傾斜は大きくなる。ここではN=2.6とし、縦続段数を64個とすることにより、上述の目標規格を満足するローパスフィルタの特性を得た。
図20は、このように構成したローパスフィルタの周波数特性を示す図であり、ゲインを対数目盛りで表している。図20(b)は図20(a)に示す特性の一部拡大図である。この図20から分かるように、ローパスフィルタ{1L(2.6)10*2L(2.6)10}64は上述した目標規格を満足している。また、フィルタ係数は対称型なので、位相特性は直線である。
また、このように構成したローパスフィルタに必要な1ビット当たりのD型フリップフロップ数は49個、タップ数は49個であり、フィルタ係数の種類(演算する値の種類)はわずか23種類である。6タップを持つユニットフィルタL10”を64個縦続接続すれば、D型フリップフロップやタップの数は本来49個より多くなる。しかし、このローパスフィルタのフィルタ係数は上述した有限台の関数に基づいて生成されたものであり、縦続接続の両サイド付近では係数値が無視できるほど小さくなる。有限台の性質上、この部分を無視しても打切り誤差は生じないので、この部分は除外する。
除外した残りの部分が、目標規格を満足するローパスフィルタについて求める最終的なフィルタ係数となる。よって、実際にはこのフィルタ係数をハードウェアとして構成すれば良く、それに必要なD型フリップフロップおよびタップは共に49個で済む。これにより、全体として必要なD型フリップフロップ数やタップ数を非常に少なくすることができ、フィルタ回路の構成を極めて簡単にすることができる。
次に、ハイパスユニットフィルタH11”を用いたバンドパスフィルタの設計例を示す。設計するバンドパスフィルタの目標規格は、次の通りとする。すなわち、信号のサンプリング周波数Fsが1.8MHz、−3dBの帯域幅が100KHz、−80dBの帯域幅が200KHz、帯域外減衰量は−80dB以上である。
この目標規格を実現するバンドパスフィルタは、例えばN=2.7としたハイパスユニットフィルタH11”を704個縦続接続することによって構成することができる。
図21は、このように構成したバンドパスフィルタの周波数特性を示す図であり、ゲインを対数目盛りで表している。図21(b)は図21(a)に示す特性の一部拡大図である。この図21から分かるように、バンドパスフィルタ{1H(2.7)11*2H(2.7)11}704は上述した目標規格を満足している。また、位相特性も直線である。
また、このように構成したバンドパスフィルタに必要な1ビット当たりのタップ数は、係数値が無視できるほど小さい部分を除くと僅か77タップであり、フィルタ係数の種類は僅か31種類である。また、1ビット当たりのD型フリップフロップ数は僅か161段である。
なお、ここでは図示を省略するが、複数のハイパスユニットフィルタH10”を縦続接続することによって、所望特性のハイパスフィルタを構成することも可能である。
また、上記図20および図21は、処理ビット数を16ビットとした場合の例を示しているが、処理ビット数を増やせばより深い減衰を持つ特性を得ることができる。換言すれば、減衰量が処理ビット数に依存するデジタルフィルタを得ることができる。
以上詳しく説明したように、本実施形態によれば、所定の基本的な数値列をフィルタ係数とする1種類のユニットフィルタL1n”あるいはH1n”を縦続接続することにより、この縦続接続だけで、所望の周波数特性を有するFIRフィルタのフィルタ係数を得ることができる。したがって、フィルタ設計法が非常に単純で考えやすく、熟練した技術者でなくてもフィルタ設計を極めて簡単に行うことができる。
また、上述の手法を適用して設計されるフィルタ回路に必要なタップ数は非常にわずかで済み、かつ、各タップ出力に対して必要なフィルタ係数の種類も僅かで良いから、フィルタ回路の演算部の構成を極めて簡単にすることができる。したがって、回路素子数を大幅に削減してフィルタ回路の規模を小さくすることができる。また、上述の手法を適用して設計されるフィルタ回路は、全く同一パターンの繰り返しから成る極めて単純な構成であるので、集積化に際して工数を短縮することができ、IC化を容易にすることができるというメリットも有する。
なお、既出願の5タップユニットフィルタL1n,H1nについても、1種類の縦続接続だけで所望特性のデジタルフィルタを設計することが可能である。しかし、狭いバンド幅のデジタルフィルタを設計するためには本実施形態に比べて非常に多くの縦続段数を必要とし、使用するタップやD型フリップフロップの数は非常に多くなる。
そのため、1種類の5タップユニットフィルタL1n,H1nだけでデジタルフィルタを設計することは現実的でなく、複数種類のユニットフィルタを組み合わせて周波数帯域の抜き取りをする必要があった。これに対して、本実施形態では、ユニットフィルタL1n”あるいはH1n”の少ない縦続数で狭いバンド幅を実現できるので、1種類のユニットフィルタL1n”あるいはH1n”の縦続接続だけでデジタルフィルタを設計することが可能である。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。図22は、上述したローパスフィルタ{1L(2.6)10*2L(2.6)10}64を示す図であり、(a)はその回路構成を示し、(b)は使用するクロックを示している。
図22に示すローパスフィルタは、基準クロックCKに従って動作するD型フリップフロップ51,56と、16倍周波数のクロック16CKに従って動作するD型フリップフロップ53および4段処理部54と、1/16倍周波数のクロックCK1に従って動作するマルチプレクサ52およびデータセレクタ55とを備えて構成されている。上記4段処理部54は、ローパスフィルタ{1L(2.6)116*2L(2.6)116}4により構成されている。
初段のD型フリップフロップ51に入力されたデータは、マルチプレクサ52の端子A側に入力される。このマルチプレクサ52の端子B側には、データセレクタ55の端子Bより出力されたローパスフィルタ処理結果のデータが入力される。マルチプレクサ52は、これらの端子A,Bに入力されるデータの何れかを選択的に次段のD型フリップフロップ53に出力する。
この例では、マルチプレクサ52にクロックCK1が与えられたタイミングで端子A側を選択するとともに、それ以外のタイミングでは端子B側を選択して、その選択したデータをD型フリップフロップ53に出力する。D型フリップフロップ53は、マルチプレクサ52より供給されたデータを一旦保持し、4段処理部54に出力する。
4段処理部54は、D型フリップフロップ53より供給されるデータに対して{1L(2.6)116*2L(2.6)116}4のローパスフィルタ処理を施す。この4段処理部54より出力されたデータは、データセレクタ55に入力される。データセレクタ55は、4段処理部54より供給されるデータをD型フリップフロップ56またはマルチプレクサ52の何れかに選択的に出力する。
すなわち、データセレクタ55は、クロックCK1が与えられたタイミングで端子A側を選択して、4段処理部54より供給されるデータをD型フリップフロップ56に出力する。また、それ以外のタイミングでは端子B側を選択して、4段処理部54より供給されるデータをマルチプレクサ52に出力する。
以上のような構成により、D型フリップフロップ51を通じて入力されたデータは、4段処理部54において{1L(2.6)116*2L(2.6)116}4のローパスフィルタ処理が16回繰り返し行われ、その結果得られたデータがD型フリップフロップ56を通じて出力される。これにより、入力されたデータに対して{1L(2.6)10*2L(2.6)10}64と同様の処理が施される。
上述した第1の実施形態では、1種類のユニットフィルタを縦続接続するだけでデジタルフィルタを構成することができ、当該デジタルフィルタは全く同一パターンの繰り返しから成る。第2の実施形態では、この同一パターンの繰り返し部分をループ回路により構成することにより、使用するタップ数を更に削減することができる。上述の第1の実施形態では1ビット当たり必要なタップ数は49個、タップの種類は23個であったのに対し、第2の実施形態ではタップ数を21個、タップの種類を11個にそれぞれ減らすことができる。
図23は、図22のように構成したローパスフィルタの周波数特性を示す図であり、ゲインを対数目盛りで表している。図23(b)は図23(a)に示す特性の一部拡大図である。この図23と上述した図20とを比較すれば明らかなように、図22のようにローパスフィルタを構成した場合も、図20とほぼ同程度の周波数特性を得ることができる。
なお、ここでは、ローパスフィルタの構成例について示したが、ハイパスフィルタやバンドパスフィルタ等についても同様にループ回路を用いて構成することが可能であり、これによって使用するタップ数を更に少なくすることができる。
以上に説明した第1および第2の実施形態によるデジタルフィルタの設計方法を実現するための装置は、ハードウェア構成、DSP、ソフトウェアの何れによっても実現することが可能である。例えばソフトウェアによって実現する場合、フィルタ設計装置はコンピュータのCPUあるいはMPU、RAM、ROMなどで構成され、RAMやROMあるいはハードディスク等に記憶されたプログラムが動作することによって実現できる。
したがって、コンピュータが上記本実施形態の機能を果たすように動作させるプログラムを例えばCD−ROMのような記録媒体に記録し、これをコンピュータに読み込ませることによって実現できるものである。上記プログラムを記録する記録媒体としては、CD−ROM以外に、フレキシブルディスク、ハードディスク、磁気テープ、光ディスク、光磁気ディスク、DVD、不揮発性メモリカード等を用いることができる。また、上記プログラムをインターネット等のネットワークを介してコンピュータにダウンロードすることによっても実現できる。
すなわち、各種のユニットフィルタに関するフィルタ係数を情報としてRAMあるいはROM等のメモリに保持しておき、ユーザがユニットフィルタに関する任意の組み合わせを指示すると、CPUが、上記メモリに保持されているフィルタ係数の情報を用いて、指示された組み合わせに対応するフィルタ係数を演算してFIRフィルタを求めるようにすることが可能である。
例えば、各種のユニットフィルタをアイコン化しておき(各アイコンに対応してフィルタ係数を情報として保持している)、ユーザがこれらのアイコンをディスプレイ画面上で任意に組み合わせて配置することにより、CPUがその配列に対応するフィルタ係数を自動的に演算して求めるようにしても良い。また、求めたフィルタ係数を自動的にFFT変換し、その結果を周波数−ゲイン特性図として表示するようにすれば、設計したフィルタの特性を確認することができ、フィルタ設計をより容易に行うことができる。
なお、コンピュータが供給されたプログラムを実行することにより上述の実施形態の機能が実現されるだけでなく、そのプログラムがコンピュータにおいて稼働しているOS(オペレーティングシステム)あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合や、供給されたプログラムの処理の全てあるいは一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて上述の実施形態の機能が実現される場合も、かかるプログラムは本発明の実施形態に含まれる。
なお、上記第1および第2の実施形態では、図2(a)および(b)に示した対称型の数値列を半分に分けて非対称型の3タップユニットフィルタのフィルタ係数としたが、元の対称型の数値列はこれに限定されるものではない。例えば、図24(a)に示すように生成した5タップローパスユニット2次フィルタL20や、図24(b)に示すように生成した5タップハイパスユニット2次フィルタH20の対称型の数値列を用いても良い。
また、上記図2および図24に示したもの以外でも、絶対値が“1”と“8”の数値を用いて上述の数値列と異なる数値列を5タップユニットフィルタのフィルタ係数とし、その数値列を半分に分けて3タップユニットフィルタのフィルタ係数とするようにしても良い。
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明は、複数の遅延器から成るタップ付き遅延線を備え、各タップの信号をそれぞれ数倍した後、加算して出力するタイプのFIRデジタルフィルタに有用である。
Claims (22)
- 複数の遅延器から成るタップ付き遅延線における各タップの信号を、与えられるフィルタ係数によりそれぞれ数倍した後、加算して出力するデジタルフィルタを設計する方法であって、
数値列の合計値が非ゼロで、当該数値列の1つ飛びの合計値が同符号で互いに等しくなるように値が設定された非対称型のフィルタ係数を有する第1および第2のユニットフィルタを、全体としての数値列が対称型となるように縦続接続して成る基本フィルタを用いて、当該基本フィルタを複数縦続接続することによりフィルタ設計を行うようにしたことを特徴とするデジタルフィルタの設計方法。 - 上記第1および第2のユニットフィルタを構成する非対称型のフィルタ係数は、所定の対称型の数値列をその中央で半分に分けた両側の数値列を更に調整したものから成り、
上記所定の対称型の数値列は、その数値列の合計値が非ゼロで、当該数値列の1つ飛びの合計値が同符号で互いに等しくなるように値を設定したものであることを特徴とする請求の範囲第1項に記載のデジタルフィルタの設計方法。 - 上記所定の対称型の数値列が−1,0,9,16,9,0,−1の比率から成り、
上記非対称型のフィルタ係数は、その数値列が−(1−N/8),0,(9−N/8),8、および、8,(9−N/8),0,−(1−N/8)の比率から成る(ただし、Nは0≦N≦8)ことを特徴とする請求の範囲第2項に記載のデジタルフィルタの設計方法。 - 複数の遅延器から成るタップ付き遅延線における各タップの信号を、与えられるフィルタ係数によりそれぞれ数倍した後、加算して出力するデジタルフィルタを設計する方法であって、
数値列の合計値がゼロで、当該数値列の1つ飛びの合計値が逆符号で互いに等しくなるように値が設定された非対称型のフィルタ係数を有する第1および第2のユニットフィルタを、全体としての数値列が対称型となるように縦続接続して成る基本フィルタを用いて、当該基本フィルタを複数縦続接続することによりフィルタ設計を行うようにしたことを特徴とするデジタルフィルタの設計方法。 - 上記第1および第2のユニットフィルタを構成する非対称型のフィルタ係数は、所定の対称型の数値列をその中央で半分に分けた両側の数値列を更に調整したものから成り、
上記所定の対称型の数値列は、その数値列の合計値がゼロで、当該数値列の1つ飛びの合計値が逆符号で互いに等しくなるように値を設定したものであることを特徴とする請求の範囲第4項に記載のデジタルフィルタの設計方法。 - 上記所定の対称型の数値列が1,0,−9,16,−9,0,1の比率から成り、
上記非対称型のフィルタ係数は、その数値列が(1−N/8),0,−(9−N/8),8、および、8,−(9−N/8),0,(1−N/8)の比率から成る(ただし、Nは0≦N≦8)ことを特徴とする請求の範囲第5項に記載のデジダルフィルタの設計方法。 - 上記第1および第2のユニットフィルタを構成する非対称型のフィルタ係数に対応する各タップの間にnクロック分のディレイを挿入することによってフィルタの通過周波数帯域を調整するようにしたことを特徴とする請求の範囲第1項〜第6項の何れか1項に記載のデジタルフィルタの設計方法。
- 数値列の合計値が非ゼロで、当該数値列の1つ飛びの合計値が同符号で互いに等しくなるように値が設定された非対称型のフィルタ係数を有する第1および第2のユニットフィルタを、全体としての数値列が対称型となるように縦続接続して成る基本フィルタに関する情報を保持する基本フィルタ保持手段と、
上記基本フィルタの縦続接続数を指示する縦続接続手段と、
上記基本フィルタ保持手段により保持されている情報を用いて、上記縦続接続手段により指示された縦続数に対応するフィルタ係数を求めるフィルタ係数演算手段とを備えたことを特徴とするデジタルフィルタの設計装置。 - 数値列の合計値がゼロで、当該数値列の1つ飛びの合計値が逆符号で互いに等しくなるように値が設定された非対称型のフィルタ係数を有する第1および第2のユニットフィルタを、全体としての数値列が対称型となるように縦続接続して成る基本フィルタに関する情報を保持する基本フィルタ保持手段と、
上記基本フィルタの縦続接続数を指示する縦続接続手段と、
上記基本フィルタ保持手段により保持されている情報を用いて、上記縦続接続手段により指示された縦続数に対応するフィルタ係数を求めるフィルタ係数演算手段とを備えたことを特徴とするデジタルフィルタの設計装置。 - 上記第1および第2のユニットフィルタを構成する非対称型のフィルタ係数に対応する各タップの間にnクロック分のディレイを挿入することによってフィルタの通過周波数帯域を調整する遅延手段を備えたことを特徴とする請求の範囲第8項または第9項に記載のデジタルフィルタの設計装置。
- 複数の遅延器から成るタップ付き遅延線を備え、各タップの信号を、請求の範囲第1項〜第7項の何れか1項に記載のフィルタ設計法により求められたフィルタ係数によりそれぞれ数倍した後、加算して出力することを特徴とするデジタルフィルタ。
- 複数の遅延器から成るタップ付き遅延線を備え、各タップの信号を、与えられるフィルタ係数によりそれぞれ数倍した後、加算して出力するデジタルフィルタであって、
数値列の合計値が非ゼロで、当該数値列の1つ飛びの合計値が同符号で互いに等しくなるように値が設定された非対称型のフィルタ係数を有する第1および第2のユニットフィルタを、全体としての数値列が対称型となるように縦続接続して基本フィルタを構成し、当該基本フィルタを複数縦続接続して成ることを特徴とするデジタルフィルタ。 - 上記第1および第2のユニットフィルタを構成する上記非対称型のフィルタ係数は、所定の対称型の数値列をその中央で半分に分けた両側の数値列を更に調整したものから成り、
上記所定の対称型の数値列は、その数値列の合計値が非ゼロで、当該数値列の1つ飛びの合計値が同符号で互いに等しくなるように値を設定したものであることを特徴とする請求の範囲第12項に記載のデジタルフィルタ。 - 上記所定の対称型の数値列が−1,0,9,16,9,0,−1の比率から成ることを特徴とする請求の範囲第13項に記載のデジタルフィルタ。
- 上記第1および第2のユニットフィルタを構成する上記非対称型のフィルタ係数は、その数値列が−(1−N/8),0,(9−N/8),8、および、8,(9−N/8),0,−(1−N/8)の比率から成る(ただし、Nは0≦N≦8)ことを特徴とする請求の範囲第14項に記載のデジタルフィルタ。
- 複数の遅延器から成るタップ付き遅延線を備え、各タップの信号を、与えられるフィルタ係数によりそれぞれ数倍した後、加算して出力するデジタルフィルタであって、
数値列の合計値がゼロで、当該数値列の1つ飛びの合計値が逆符号で互いに等しくなるように値が設定された非対称型のフィルタ係数を有する第1および第2のユニットフィルタを、全体としての数値列が対称型となるように縦続接続して基本フィルタを構成し、当該基本フィルタを複数縦続接続して成ることを特徴とするデジタルフィルタ。 - 上記第1および第2のユニットフィルタを構成する上記非対称型のフィルタ係数は、所定の対称型の数値列をその中央で半分に分けた両側の数値列を更に調整したものから成り、
上記所定の対称型の数値列は、その数値列の合計値がゼロで、当該数値列の1つ飛びの合計値が逆符号で互いに等しくなるように値を設定したものであることを特徴とする請求の範囲第16項に記載のデジタルフィルタ。 - 上記所定の対称型の数値列が1,0,−9,16,−9,0,1の比率から成ることを特徴とする請求の範囲第17項に記載のデジタルフィルタ。
- 上記第1および第2のユニットフィルタを構成する上記非対称型のフィルタ係数は、その数値列が(1−N/8),0,−(9−N/8),8、および、8,−(9−N/8),0,(1−N/8)の比率から成る(ただし、Nは0≦N≦8)ことを特徴とする請求の範囲第18項に記載のデジタルフィルタ。
- 上記第1および第2のユニットフィルタを構成する上記非対称型のフィルタ係数に対応する各タップの間にnクロック分のディレイを挿入するための遅延手段を備えたことを特徴とする請求の範囲第12項〜第19項の何れか1項に記載のデジタルフィルタ。
- 請求の範囲第1項〜第7項の何れか1項に記載のフィルタ設計方法に関する処理手順をコンピュータに実行させるためのデジタルフィルタ設計用プログラム。
- 請求の範囲第8項〜第10項の何れか1項に記載の各手段としてコンピュータを機能させるためのデジタルフィルタ設計用プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002306316 | 2002-10-21 | ||
JP2002306316 | 2002-10-21 | ||
PCT/JP2003/013382 WO2004036747A1 (ja) | 2002-10-21 | 2003-10-20 | デジタルフィルタの設計方法および装置、デジタルフィルタ設計用プログラム、デジタルフィルタ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2004036747A1 true JPWO2004036747A1 (ja) | 2006-02-16 |
Family
ID=32105205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004544993A Pending JPWO2004036747A1 (ja) | 2002-10-21 | 2003-10-20 | デジタルフィルタの設計方法および装置、デジタルフィルタ設計用プログラム、デジタルフィルタ |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1557947A1 (ja) |
JP (1) | JPWO2004036747A1 (ja) |
KR (1) | KR20050075365A (ja) |
CN (1) | CN1706101A (ja) |
TW (1) | TW200414675A (ja) |
WO (1) | WO2004036747A1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006053510A1 (de) * | 2006-11-14 | 2008-05-15 | Zinoviy, Lerner, Dipl.-Ing. | Verfahren zur digitalen nichtrekursiven Signalverarbeitung |
DE102006053511A1 (de) * | 2006-11-14 | 2008-05-15 | Zinoviy, Lerner, Dipl.-Ing. | Verfahren zur digital Bandpaß-FIR-Filterung |
DE102006053508A1 (de) * | 2006-11-14 | 2008-05-15 | Zinoviy, Lerner, Dipl.-Ing. | Verfahren zur digitalen Signalverarbeitung |
WO2009047673A2 (en) * | 2007-10-08 | 2009-04-16 | St-Nxp Wireless (Holding) Ag | Fir digital to analog converter |
JP4472769B2 (ja) * | 2007-12-28 | 2010-06-02 | 株式会社シグネット | リアルタイム震度計とそれを用いた震度等の予知方法 |
EP2315353B1 (en) | 2008-06-10 | 2020-07-29 | Japan Science and Technology Agency | Filter |
JP2010041311A (ja) * | 2008-08-04 | 2010-02-18 | Japan Science & Technology Agency | フィルタ、フィルタの構成システム及び構成方法 |
JP2010021860A (ja) * | 2008-07-11 | 2010-01-28 | Japan Science & Technology Agency | 帯域分離フィルタ及び帯域分離方法 |
CN102388534B (zh) * | 2010-02-20 | 2014-04-30 | 华为技术有限公司 | 滤波设备和用于提供滤波设备的方法 |
KR102192991B1 (ko) | 2014-04-23 | 2020-12-18 | 삼성전자주식회사 | 가변적인 디지털 필터를 포함하는 아날로그-디지털 컨버터 및 이를 포함하는 이미지 센서 |
US10135424B2 (en) * | 2015-02-27 | 2018-11-20 | Microchip Technology Germany Gmbh | Digital filter with confidence input |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE467680B (sv) * | 1990-12-19 | 1992-08-24 | Johan Hellgren | Digital filterbank med minskad effektfoerbrukning |
JPH05243908A (ja) * | 1991-12-06 | 1993-09-21 | Nec Corp | ろ波器 |
JPH05235701A (ja) * | 1992-02-25 | 1993-09-10 | Nippon Steel Corp | 環状畳み込みによるディジタルフィルタバンク処理方法及び装置 |
GB9226536D0 (en) * | 1992-12-21 | 1993-02-17 | Unilever Plc | Foodstuffs and other compositions |
JPH1079686A (ja) * | 1996-09-02 | 1998-03-24 | Ricoh Co Ltd | ディジタル相関器 |
-
2003
- 2003-10-13 TW TW092128314A patent/TW200414675A/zh unknown
- 2003-10-20 WO PCT/JP2003/013382 patent/WO2004036747A1/ja active Application Filing
- 2003-10-20 EP EP03754199A patent/EP1557947A1/en not_active Withdrawn
- 2003-10-20 KR KR1020057006905A patent/KR20050075365A/ko not_active Application Discontinuation
- 2003-10-20 CN CNA2003801018303A patent/CN1706101A/zh active Pending
- 2003-10-20 JP JP2004544993A patent/JPWO2004036747A1/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
CN1706101A (zh) | 2005-12-07 |
EP1557947A1 (en) | 2005-07-27 |
KR20050075365A (ko) | 2005-07-20 |
TW200414675A (en) | 2004-08-01 |
WO2004036747A1 (ja) | 2004-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7529788B2 (en) | Digital filter design method and device, digital filter design program, and digital filter | |
JPWO2006048958A1 (ja) | デジタルフィルタおよびその設計方法、設計装置、デジタルフィルタ設計用プログラム | |
JP4300272B2 (ja) | デジタルフィルタおよびその設計方法 | |
JPWO2004036747A1 (ja) | デジタルフィルタの設計方法および装置、デジタルフィルタ設計用プログラム、デジタルフィルタ | |
JP2008021119A (ja) | デジタルフィルタおよびこれを用いた画像処理装置 | |
US20050289206A1 (en) | Digital filter design method and device, digital filter design program, digital filter | |
JPWO2005078925A1 (ja) | デジタルフィルタの設計方法および装置、デジタルフィルタ設計用プログラム、デジタルフィルタ | |
US7590675B2 (en) | Digital filter, design method thereof, design device, and digital filter design program | |
JPWO2004036746A1 (ja) | デジタルフィルタの設計方法および装置、デジタルフィルタ設計用プログラム、デジタルフィルタ | |
EP1533898A1 (en) | Digital filter designing method, digital filter designing program, digital filter | |
WO2003047097A1 (fr) | Procede de conception d'un filtre numerique, appareil de projet, programme de projet pour la realisation d'un tel filtre, et filtre numerique y relatif | |
US20050171988A1 (en) | Digital filter design method and device, digital filter design program, and digital filter | |
US20050120067A1 (en) | Digital filter designing method, digital filter designing program, digital filter | |
US7400676B2 (en) | Tone quality adjustment device designing method and designing device, tone quality adjustment device designing program, and tone quality adjustment device | |
JP4300273B2 (ja) | 音質調整装置及びこれに用いるフィルタ装置、音質調整方法、フィルタの設計方法 | |
JP2005020554A (ja) | デジタルフィルタ | |
US7190751B1 (en) | Multi-stage filter circuit and digital signal processing circuit employing the same | |
JPWO2003096534A1 (ja) | 音質調整装置の設計方法および設計装置、音質調整装置設計用プログラム、音質調整装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060818 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20090319 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090915 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100202 |