JPWO2004036746A1 - デジタルフィルタの設計方法および装置、デジタルフィルタ設計用プログラム、デジタルフィルタ - Google Patents
デジタルフィルタの設計方法および装置、デジタルフィルタ設計用プログラム、デジタルフィルタ Download PDFInfo
- Publication number
- JPWO2004036746A1 JPWO2004036746A1 JP2004544992A JP2004544992A JPWO2004036746A1 JP WO2004036746 A1 JPWO2004036746 A1 JP WO2004036746A1 JP 2004544992 A JP2004544992 A JP 2004544992A JP 2004544992 A JP2004544992 A JP 2004544992A JP WO2004036746 A1 JPWO2004036746 A1 JP WO2004036746A1
- Authority
- JP
- Japan
- Prior art keywords
- filter
- numerical sequence
- digital filter
- unit
- total value
- 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/0223—Computation saving measures; Accelerating measures
-
- 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/0219—Compensation of undesirable effects, e.g. quantisation noise, overflow
-
- 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/0283—Filters characterised by the filter structure
- H03H17/0286—Combinations of filter structures
-
- 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とするユニットフィルタL10’,H10’を任意に組み合わせることによってデジタルフィルタを設計するようにすることにより、ユニットフィルタの組み合わせだけで求めるデジタルフィルタの係数を自動的に得ることができるようにする。また、非対称型のフィルタ係数H1〜H3として、対称型の数値列{−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のユニットフィルタと、数値列が非対称型であり、当該数値列の合計値がゼロで、当該数値列の1つ飛びの合計値が逆符号で互いに等しくなるように値が設定された基本のフィルタ係数を有する第2のユニットフィルタとの少なくとも一方を用いて、0個以上の上記第1のユニットフィルタと0個以上の上記第2のユニットフィルタとを任意に縦続接続することによってフィルタ設計を行うようにしたことを特徴とする。
本発明の他の態様では、数値列の合計値が非ゼロで、当該数値列の1つ飛びの合計値が同符号で互いに等しくなるように値が設定された非対称型のフィルタ係数を有する複数の基本フィルタを、全体としての数値列が対称型となるように縦続接続して成る第1のユニットフィルタと、数値列の合計値がゼロで、当該数値列の1つ飛びの合計値が逆符号で互いに等しくなるように値が設定された非対称型のフィルタ係数を有する複数の基本フィルタを、全体としての数値列が対称型となるように縦続接続して成る第2のユニットフィルタとの少なくとも一方を用いて、0個以上の上記第1のユニットフィルタと0個以上の上記第2のユニットフィルタとを任意に縦続接続することによってフィルタ設計を行うようにしたことを特徴とする。
本発明の他の態様では、上記第1および第2のユニットフィルタを構成する非対称型のフィルタ係数に対応する各タップの間にnクロック分のディレイを挿入することによってフィルタの通過周波数帯域を調整するようにしたことを特徴とする。
また、本発明によるデジタルフィルタは、複数の遅延器から成るタップ付き遅延線を備え、各タップの信号を、請求の範囲第1項〜第7項の何れか1項に記載のフィルタ設計法により求められたフィルタ係数によりそれぞれ数倍した後、加算して出力することを特徴とする。
本発明の他の態様では、上記非対称型のフィルタ係数に対応する各タップの間にnクロック分のディレイを挿入するための遅延手段を以下のように構成したことを特徴とする。すなわち、基準クロックの1/n倍の周期を持つ第2のクロックに従って、入力されたデータを保持して出力するディレイ回路を備えて遅延手段を構成する。
以上説明したように本発明によれば、所定の非対称型の数値列をフィルタ係数とする1以上のユニットフィルタを任意に組み合わせることによってデジタルフィルタを設計するようにしたので、ユニットフィルタの組み合わせだけで、所望の周波数特性を有するデジタルフィルタの係数を自動的に得ることができ、熟練した技術者でなくてもフィルタの設計を極めて簡単に行うことができる。
また、本発明によれば、上記所定の非対称型の数値列は、所定の対称型の数値列をその中央で半分に分けたうちの片側に対応するものであるので、設計されるデジタルフィルタに必要なタップ数は非常にわずかで済み、かつ、各タップ出力に対して必要なフィルタ係数の種類も非常に少なくて済む。しかも、窓関数を用いる必要がなく、得られるフィルタ係数に打ち切り誤差が生じることもない。したがって、回路素子数(特に乗算器)を大幅に削減して回路規模を削減、消費電力の低減、演算負荷の軽減等を図ることができるとともに、デジタルフィルタの希望する周波数特性を高精度に実現することができる。また、設計されるデジタルフィルタは、ユニットフィルタという同一パターンの繰り返しから成る極めて単純な構成であるので、集積化に際して工数を短縮することができ、IC化を容易にすることもできる。
本発明の他の態様では、数値列の合計値が非ゼロで、当該数値列の1つ飛びの合計値が同符号で互いに等しくなるように値が設定された非対称型のフィルタ係数を有する複数の基本フィルタを、全体としての数値列が対称型となるように縦続接続して成る第1のユニットフィルタと、数値列の合計値がゼロで、当該数値列の1つ飛びの合計値が逆符号で互いに等しくなるように値が設定された非対称型のフィルタ係数を有する複数の基本フィルタを、全体としての数値列が対称型となるように縦続接続して成る第2のユニットフィルタとの少なくとも一方を用いて、0個以上の上記第1のユニットフィルタと0個以上の上記第2のユニットフィルタとを任意に縦続接続することによってフィルタ設計を行うようにしたことを特徴とする。
本発明の他の態様では、上記第1および第2のユニットフィルタを構成する非対称型のフィルタ係数に対応する各タップの間にnクロック分のディレイを挿入することによってフィルタの通過周波数帯域を調整するようにしたことを特徴とする。
また、本発明によるデジタルフィルタは、複数の遅延器から成るタップ付き遅延線を備え、各タップの信号を、請求の範囲第1項〜第7項の何れか1項に記載のフィルタ設計法により求められたフィルタ係数によりそれぞれ数倍した後、加算して出力することを特徴とする。
本発明の他の態様では、上記非対称型のフィルタ係数に対応する各タップの間にnクロック分のディレイを挿入するための遅延手段を以下のように構成したことを特徴とする。すなわち、基準クロックの1/n倍の周期を持つ第2のクロックに従って、入力されたデータを保持して出力するディレイ回路を備えて遅延手段を構成する。
以上説明したように本発明によれば、所定の非対称型の数値列をフィルタ係数とする1以上のユニットフィルタを任意に組み合わせることによってデジタルフィルタを設計するようにしたので、ユニットフィルタの組み合わせだけで、所望の周波数特性を有するデジタルフィルタの係数を自動的に得ることができ、熟練した技術者でなくてもフィルタの設計を極めて簡単に行うことができる。
また、本発明によれば、上記所定の非対称型の数値列は、所定の対称型の数値列をその中央で半分に分けたうちの片側に対応するものであるので、設計されるデジタルフィルタに必要なタップ数は非常にわずかで済み、かつ、各タップ出力に対して必要なフィルタ係数の種類も非常に少なくて済む。しかも、窓関数を用いる必要がなく、得られるフィルタ係数に打ち切り誤差が生じることもない。したがって、回路素子数(特に乗算器)を大幅に削減して回路規模を削減、消費電力の低減、演算負荷の軽減等を図ることができるとともに、デジタルフィルタの希望する周波数特性を高精度に実現することができる。また、設計されるデジタルフィルタは、ユニットフィルタという同一パターンの繰り返しから成る極めて単純な構成であるので、集積化に際して工数を短縮することができ、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は、第1の実施形態によるバンドパスフィルタの回路例を示す図である。
図18は、図17に示すバンドパスフィルタの周波数特性を示す図である。
図19は、第2の実施形態によるユニットフィルタL10”,H10”の回路構成およびフィルタ係数の数値列を示す図である。
図20は、第2の実施形態によるローパスユニットフィルタL10”の周波数特性を示す図である。
図21は、第2の実施形態によるハイパスユニットフィルタH10”の周波数特性を示す図である。
図22は、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は、第1の実施形態によるバンドパスフィルタの回路例を示す図である。
図18は、図17に示すバンドパスフィルタの周波数特性を示す図である。
図19は、第2の実施形態によるユニットフィルタL10”,H10”の回路構成およびフィルタ係数の数値列を示す図である。
図20は、第2の実施形態によるローパスユニットフィルタL10”の周波数特性を示す図である。
図21は、第2の実施形態によるハイパスユニットフィルタH10”の周波数特性を示す図である。
図22は、5タップユニット2次フィルタL20,H20のフィルタ係数の生成アルゴリズムを示す図である。
以下、本発明の一実施形態を図面に基づいて説明する。
本実施形態のデジタルフィルタは、複数の遅延器から成るタップ付き遅延線を備え、各タップの出力信号を所与のフィルタ係数によりそれぞれ数倍した後、加算して出力するタイプのFIRフィルタである。
(第1の実施形態)
第1の実施形態によるフィルタ設計法は、以下に説明する2種類の3タップユニットフィルタL1n’,H1n’を作り、これらの組み合わせだけで所望の周波数特性を有するFIRフィルタを設計できるようにしたものである。なお、ユニットフィルタを表す符号の後ろに付けた“n”の文字は、各タップ間に挿入するディレイのクロック数、すなわち、各フィルタ係数の間に挿入する“0”の数を示している(詳細は後述する)。
まず、上記2種類の3タップユニットフィルタL1n’,H1n’を理解する上で参考になる2種類の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号)。本実施形態は、この既出願の内容を更に改良したものであり、上述したように2種類の3タップユニットフィルタL1n’,H1n’の組み合わせだけで所望の周波数特性を有するFIRフィルタを設計できるようにしたものである。上記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’を生成することが可能である。
以上のように、図13のように構成した2種類の3タップユニットフィルタL10’,H10’を適宜組み合わせて縦続接続することにより、5タップユニットフィルタL10,H10を組み合わせた場合と同様に所望の周波数特性を有するFIRフィルタを簡単に設計することができる。
なお、3タップユニットフィルタL10’,H10’のフィルタ係数は、5タップユニットフィルタL10,H10のフィルタ係数の数値列をその中央で半分に分けたもう片側の数値列{−1,0,9,8}/16、{1,0,−9,8}/16を調整して生成しても良い。
次に、上述の3タップユニットフィルタL10’,H10’を用いたバンドパスフィルタの設計例を示す。設計するバンドパスフィルタの目標規格は、次の通りとする。すなわち、バンドパスフィルタの中心周波数Fcが675KHz、信号のサンプリング周波数Fsが2.7MHz(Fs=4*Fc)、−3dBの帯域幅が100KHz、−80dBの帯域幅が200KHz、帯域外減衰量は−80dB以上である。
図17は、この目標規格を実現するバンドパスフィルタの回路例を示す図である。図17に示す回路は、3タップハイパスユニットフィルタH11’を6個、3タップローパスユニットフィルタL13’を4個、3タップハイパスユニットフィルタH15’を3個、3タップローパスユニットフィルタL17’を3個、5タップハイパスユニットフィルタH19を2個、この順番で縦続接続することによって構成されている。
図18は、図17に示すバンドパスフィルタの周波数特性を示す図であり、(a)はゲインを直線目盛りで表し、(b)はゲインを対数目盛りで表している。図18から分かるように、図17に示すバンドパスフィルタは上述した目標規格を満足している。なお、3タップユニットフィルタL1n’,H1n’はそのフィルタ係数の数値列が非対称型であるため、これ単独では図16に示したように位相の直線性が保証されない。しかし、これを多数集めて図17のように縦続接続すると、位相の歪みが打ち消しあって、図18のように位相特性が多少改善される。
これらの図17および図18から分かるように、本実施形態のフィルタ設計法によれば、よりタップ数の少ない3タップユニットフィルタL1n’,H1n’を基本とし、これを縦続接続した極めて単純な構成で所望特性のバンドパスフィルタを得ることができる。このとき全体として必要なタップ数は、1ビット当たり僅か51タップである。
すなわち、このバンドパスフィルタのフィルタ係数は上述した有限台の関数に基づいて生成されたものであり、縦続接続の両サイド付近では係数値が無視できるほど小さくなる。有限台の性質上、この部分を無視しても打切り誤差は生じないので、この部分は除外する。除外した残りの部分が、目標規格を満足するバンドパスフィルタについて求める最終的なフィルタ係数となる。
したがって、実際にはこのフィルタ係数をハードウェアとして構成すれば良く、それに必要なタップは51個で済む。これにより、5タップユニットフィルタL1n,H1nのみを用いる場合に比べて、全体として必要なタップ数を少なくすることができ、フィルタ回路の構成を極めて簡単にすることができる。
なお、ここでは3タップユニットフィルタL1n’,H1n’を用いてバンドパスフィルタを設計する例について説明したが、同様の手法によりハイパスフィルタ、ローパスフィルタ、バンドエリミネーションフィルタ等を設計することも可能である。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。上記第1の実施形態では、例えば3タップローパスユニットフィルタL10’のフィルタ係数として、5タップローパスユニットフィルタL10のフィルタ係数を構成する数値列{−1,0,9,16,9,0,−1}/32を半分に分けたうちの片側の数値列{8,9,0,−1}/16を更に調整したものを用いていた。
また、3タップハイパスユニットフィルタH10’のフィルタ係数として、5タップハイパスユニットフィルタH10のフィルタ係数を構成する数値列{1,0,−9,16,−9,0,1}/32を半分に分けたうちの片側の数値列{8,−9,0,1}/16を更に調整したものを用いていた。これら3タップユニットフィルタL10’,H10’のフィルタ係数は共に非対称型なので、上述したように位相の直線性は保証されない。
これに対して、第2の実施形態は、タップ数を減らせる3タップユニットフィルタを用いつつも、直線位相特性を実現できるようにするものである。
図19は、第2の実施形態によるユニットフィルタL10”,H10”を示す図であり、(a)はその回路構成を示し、(b)はフィルタ係数の数値列を示している。
図19(a)に示すように、本実施形態のユニットフィルタL10”,H10”は共に同様の構成を有している。すなわち、ローパスユニットフィルタL10”は、2つの3タップローパスユニットフィルタ1L10,2L10を縦続接続して構成されている。また、ハイパスユニットフィルタH10”は、2つの3タップハイパスユニットフィルタ1H10,2H10を縦続接続して構成されている。
図19(b)に示すように、ローパスユニットフィルタL10”を構成する一方の3タップローパスユニットフィルタ2L10は、上記5タップローパスユニットフィルタL10のフィルタ係数の数値列{−1,0,9,16,9,0,−1}/32を半分に分けたうちの片側の数値列{8,9,0,−1}/16を更に調整したものをフィルタ係数H4〜H6とするものである。これは、第1の実施形態で説明した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とするものである。これは、第1の実施形態で説明した3タップハイパスユニットフィルタH10’と同じものである。また、他方の3タップハイパスユニットフィルタ1H10は、上述のように半分に分けたうちのもう片側の数値列{1,0,−9,8}/16を更に調整したものをフィルタ係数H1〜H3とするものである。
なお、上記2つの3タップローパスユニットフィルタ1L10,2L10の接続関係や、上記2つの3タップハイパスユニットフィルタ1H10,2H10の接続関係は、図19(a)に示したものと左右反対でも良い。
以上のようにユニットフィルタL10”,H10”を構成すると、フィルタ係数は対称型となるので、位相特性は直線となる。図20はローパスユニットフィルタL10”の周波数特性、図21はハイパスユニットフィルタH10”の周波数特性を示す図であり、ゲインを対数目盛りで表している。この図20および図21でも、ゲインおよび周波数を“1”で基準化している。
これらの図から分かるように、周波数−ゲイン特性では通過域での波打ちが無く、かつ、最大値がちょうど“1”になっている。また、約−55dBの良好な減衰量も得られている。さらに、周波数−位相特性では非常にきれいな直線位相特性が得られている。したがって、このような周波数特性を持つユニットフィルタL1n”,H1n”を、第1の実施形態で説明したように縦続接続することにより、非常に少ないタップ数で、係数が対称な直線位相フィルタを構成することができる。
ところで、図19に示したユニットフィルタL10”,H10”は全体で6タップを備えており、5タップユニットL10,H10よりもタップ数が多くなっている。しかし、5タップユニットL10,H10は1段で構成されるのに対して、ユニットフィルタL10”,H10”は2つの3タップユニットフィルタを縦続接続して構成されている。したがって、バンド幅は既に5タップユニットL10,H10よりも狭くなっている。
そのため、第2の実施形態はバンド幅の狭いFIRフィルタを設計する場合に特に有効である。すなわち、所望の狭いバンド幅を実現するために全体として必要なユニットフィルタの縦続数を、5タップユニットフィルタL10,H10を用いる場合に比べて大幅に少なくすることができる。これにより、全体としてみれば回路規模を小さくすることができる。
以上に説明した第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タップユニットフィルタのフィルタ係数としたが、元の対称型の数値列はこれに限定されるものではない。例えば、図22(a)に示すように生成した5タップローパスユニット2次フィルタL20や、図22(b)に示すように生成した5タップハイパスユニット2次フィルタH20の対称型の数値列を用いても良い。
これらの5タップユニット2次フィルタL20,H20の周波数−ゲイン特性では、カットオフ特性は急峻であるが、肩の部分(通過域)に多少の盛り上がりが生じる。したがって、これらの5タップユニット2次フィルタL20,H20は、縦続接続するフィルタブロックの最終段において、波形調整用として使用するのが好ましい。
このような特性を有する5タップユニット2次フィルタL2n,H2nのフィルタ係数を構成する数値列を半分に分けて、その片側を更に調整して3タップユニット2次フィルタL2n’,H2n’のフィルタ係数とすることが可能である。また、この3タップユニット2次フィルタL2n’,H2n’を対称型となるようにミラー接続することにより、直線位相特性を実現するユニット2次フィルタL2n”,H2n”を構成することも可能である。
また、上記図2および図22に示したもの以外でも、絶対値が“1”と“8”の数値を用いて上述の数値列と異なる数値列を5タップユニットフィルタのフィルタ係数とし、その数値列を半分に分けて3タップユニットフィルタのフィルタ係数とするようにしても良い。
また、上記実施形態では、複数種類のユニットフィルタを組み合わせることにより、各特性値どうしの相殺により周波数帯域の抜き出しを行う例について説明した。これに対して、バンドパスフィルタの中心周波数Fcまたは信号のサンプリング周波数Fsの何れかを自由に決定できるときは、周波数抜き出しの条件を最適化することにより、フィルタの構成をより簡素化することができる。
今、バンドパスフィルタの中心周波数Fcと信号のサンプリング周波数Fsとの関係が、
Fs=4*Fc
であるとする。Fc=450KHzのとき、Fs=1.8MHzである。このような設定の場合には、ローパスユニットフィルタとハイパスユニットフィルタとを組み合わせた特性値どうしの相殺により必要な周波数帯域を抜き出すようにすることなく、例えばハイパスユニットフィルタの縦続接続のみでバンドパスフィルタを直接設計することができる。
例えば、5タップハイパスユニットフィルタH11の縦続接続のみによってFM用バンドパスフィルタを構成することができ、その接続数mによってバンド幅(通過帯域幅)を調整する。このことを、3タップハイパスユニットフィルタH11’あるいはハイパスユニットフィルタH11”等に応用することが可能である。
さらに、上記のように構成したFM用バンドパスフィルタの後段に5タップローパスユニットフィルタ(L1n)mを縦続接続することにより、AM用バンドパスフィルタを構成することも可能である。これについても同様に、3タップローパスユニットフィルタL11’あるいはローパスユニットフィルタL11”等に応用することが可能である。
また、上述のユニットフィルタを用いて比較的簡単なローパスフィルタを設計し、その通過域を周波数軸方向にシフトすることによって、所望の周波数帯域を通過域とするハイパスフィルタ、バンドパスフィルタ、バンドエリミネーションフィルタ等を設計するようにしても良い。
一般に、ローパスフィルタの係数H0,H1,H−1,H2,H−2,・・・(係数H0が中央で対称型になっている)に2cos(mω0)をかけるとバンドパスフィルタの係数が得られることが知られている。ここで、ω0=2πFc/Fs(Fcはフィルタの中心周波数、Fsは信号のサンプリング周波数)、m=0,1,−1,2,−2,・・・である。
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本実施形態のデジタルフィルタは、複数の遅延器から成るタップ付き遅延線を備え、各タップの出力信号を所与のフィルタ係数によりそれぞれ数倍した後、加算して出力するタイプのFIRフィルタである。
(第1の実施形態)
第1の実施形態によるフィルタ設計法は、以下に説明する2種類の3タップユニットフィルタL1n’,H1n’を作り、これらの組み合わせだけで所望の周波数特性を有するFIRフィルタを設計できるようにしたものである。なお、ユニットフィルタを表す符号の後ろに付けた“n”の文字は、各タップ間に挿入するディレイのクロック数、すなわち、各フィルタ係数の間に挿入する“0”の数を示している(詳細は後述する)。
まず、上記2種類の3タップユニットフィルタL1n’,H1n’を理解する上で参考になる2種類の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号)。本実施形態は、この既出願の内容を更に改良したものであり、上述したように2種類の3タップユニットフィルタL1n’,H1n’の組み合わせだけで所望の周波数特性を有するFIRフィルタを設計できるようにしたものである。上記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’を生成することが可能である。
以上のように、図13のように構成した2種類の3タップユニットフィルタL10’,H10’を適宜組み合わせて縦続接続することにより、5タップユニットフィルタL10,H10を組み合わせた場合と同様に所望の周波数特性を有するFIRフィルタを簡単に設計することができる。
なお、3タップユニットフィルタL10’,H10’のフィルタ係数は、5タップユニットフィルタL10,H10のフィルタ係数の数値列をその中央で半分に分けたもう片側の数値列{−1,0,9,8}/16、{1,0,−9,8}/16を調整して生成しても良い。
次に、上述の3タップユニットフィルタL10’,H10’を用いたバンドパスフィルタの設計例を示す。設計するバンドパスフィルタの目標規格は、次の通りとする。すなわち、バンドパスフィルタの中心周波数Fcが675KHz、信号のサンプリング周波数Fsが2.7MHz(Fs=4*Fc)、−3dBの帯域幅が100KHz、−80dBの帯域幅が200KHz、帯域外減衰量は−80dB以上である。
図17は、この目標規格を実現するバンドパスフィルタの回路例を示す図である。図17に示す回路は、3タップハイパスユニットフィルタH11’を6個、3タップローパスユニットフィルタL13’を4個、3タップハイパスユニットフィルタH15’を3個、3タップローパスユニットフィルタL17’を3個、5タップハイパスユニットフィルタH19を2個、この順番で縦続接続することによって構成されている。
図18は、図17に示すバンドパスフィルタの周波数特性を示す図であり、(a)はゲインを直線目盛りで表し、(b)はゲインを対数目盛りで表している。図18から分かるように、図17に示すバンドパスフィルタは上述した目標規格を満足している。なお、3タップユニットフィルタL1n’,H1n’はそのフィルタ係数の数値列が非対称型であるため、これ単独では図16に示したように位相の直線性が保証されない。しかし、これを多数集めて図17のように縦続接続すると、位相の歪みが打ち消しあって、図18のように位相特性が多少改善される。
これらの図17および図18から分かるように、本実施形態のフィルタ設計法によれば、よりタップ数の少ない3タップユニットフィルタL1n’,H1n’を基本とし、これを縦続接続した極めて単純な構成で所望特性のバンドパスフィルタを得ることができる。このとき全体として必要なタップ数は、1ビット当たり僅か51タップである。
すなわち、このバンドパスフィルタのフィルタ係数は上述した有限台の関数に基づいて生成されたものであり、縦続接続の両サイド付近では係数値が無視できるほど小さくなる。有限台の性質上、この部分を無視しても打切り誤差は生じないので、この部分は除外する。除外した残りの部分が、目標規格を満足するバンドパスフィルタについて求める最終的なフィルタ係数となる。
したがって、実際にはこのフィルタ係数をハードウェアとして構成すれば良く、それに必要なタップは51個で済む。これにより、5タップユニットフィルタL1n,H1nのみを用いる場合に比べて、全体として必要なタップ数を少なくすることができ、フィルタ回路の構成を極めて簡単にすることができる。
なお、ここでは3タップユニットフィルタL1n’,H1n’を用いてバンドパスフィルタを設計する例について説明したが、同様の手法によりハイパスフィルタ、ローパスフィルタ、バンドエリミネーションフィルタ等を設計することも可能である。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。上記第1の実施形態では、例えば3タップローパスユニットフィルタL10’のフィルタ係数として、5タップローパスユニットフィルタL10のフィルタ係数を構成する数値列{−1,0,9,16,9,0,−1}/32を半分に分けたうちの片側の数値列{8,9,0,−1}/16を更に調整したものを用いていた。
また、3タップハイパスユニットフィルタH10’のフィルタ係数として、5タップハイパスユニットフィルタH10のフィルタ係数を構成する数値列{1,0,−9,16,−9,0,1}/32を半分に分けたうちの片側の数値列{8,−9,0,1}/16を更に調整したものを用いていた。これら3タップユニットフィルタL10’,H10’のフィルタ係数は共に非対称型なので、上述したように位相の直線性は保証されない。
これに対して、第2の実施形態は、タップ数を減らせる3タップユニットフィルタを用いつつも、直線位相特性を実現できるようにするものである。
図19は、第2の実施形態によるユニットフィルタL10”,H10”を示す図であり、(a)はその回路構成を示し、(b)はフィルタ係数の数値列を示している。
図19(a)に示すように、本実施形態のユニットフィルタL10”,H10”は共に同様の構成を有している。すなわち、ローパスユニットフィルタL10”は、2つの3タップローパスユニットフィルタ1L10,2L10を縦続接続して構成されている。また、ハイパスユニットフィルタH10”は、2つの3タップハイパスユニットフィルタ1H10,2H10を縦続接続して構成されている。
図19(b)に示すように、ローパスユニットフィルタL10”を構成する一方の3タップローパスユニットフィルタ2L10は、上記5タップローパスユニットフィルタL10のフィルタ係数の数値列{−1,0,9,16,9,0,−1}/32を半分に分けたうちの片側の数値列{8,9,0,−1}/16を更に調整したものをフィルタ係数H4〜H6とするものである。これは、第1の実施形態で説明した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とするものである。これは、第1の実施形態で説明した3タップハイパスユニットフィルタH10’と同じものである。また、他方の3タップハイパスユニットフィルタ1H10は、上述のように半分に分けたうちのもう片側の数値列{1,0,−9,8}/16を更に調整したものをフィルタ係数H1〜H3とするものである。
なお、上記2つの3タップローパスユニットフィルタ1L10,2L10の接続関係や、上記2つの3タップハイパスユニットフィルタ1H10,2H10の接続関係は、図19(a)に示したものと左右反対でも良い。
以上のようにユニットフィルタL10”,H10”を構成すると、フィルタ係数は対称型となるので、位相特性は直線となる。図20はローパスユニットフィルタL10”の周波数特性、図21はハイパスユニットフィルタH10”の周波数特性を示す図であり、ゲインを対数目盛りで表している。この図20および図21でも、ゲインおよび周波数を“1”で基準化している。
これらの図から分かるように、周波数−ゲイン特性では通過域での波打ちが無く、かつ、最大値がちょうど“1”になっている。また、約−55dBの良好な減衰量も得られている。さらに、周波数−位相特性では非常にきれいな直線位相特性が得られている。したがって、このような周波数特性を持つユニットフィルタL1n”,H1n”を、第1の実施形態で説明したように縦続接続することにより、非常に少ないタップ数で、係数が対称な直線位相フィルタを構成することができる。
ところで、図19に示したユニットフィルタL10”,H10”は全体で6タップを備えており、5タップユニットL10,H10よりもタップ数が多くなっている。しかし、5タップユニットL10,H10は1段で構成されるのに対して、ユニットフィルタL10”,H10”は2つの3タップユニットフィルタを縦続接続して構成されている。したがって、バンド幅は既に5タップユニットL10,H10よりも狭くなっている。
そのため、第2の実施形態はバンド幅の狭いFIRフィルタを設計する場合に特に有効である。すなわち、所望の狭いバンド幅を実現するために全体として必要なユニットフィルタの縦続数を、5タップユニットフィルタL10,H10を用いる場合に比べて大幅に少なくすることができる。これにより、全体としてみれば回路規模を小さくすることができる。
以上に説明した第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タップユニットフィルタのフィルタ係数としたが、元の対称型の数値列はこれに限定されるものではない。例えば、図22(a)に示すように生成した5タップローパスユニット2次フィルタL20や、図22(b)に示すように生成した5タップハイパスユニット2次フィルタH20の対称型の数値列を用いても良い。
これらの5タップユニット2次フィルタL20,H20の周波数−ゲイン特性では、カットオフ特性は急峻であるが、肩の部分(通過域)に多少の盛り上がりが生じる。したがって、これらの5タップユニット2次フィルタL20,H20は、縦続接続するフィルタブロックの最終段において、波形調整用として使用するのが好ましい。
このような特性を有する5タップユニット2次フィルタL2n,H2nのフィルタ係数を構成する数値列を半分に分けて、その片側を更に調整して3タップユニット2次フィルタL2n’,H2n’のフィルタ係数とすることが可能である。また、この3タップユニット2次フィルタL2n’,H2n’を対称型となるようにミラー接続することにより、直線位相特性を実現するユニット2次フィルタL2n”,H2n”を構成することも可能である。
また、上記図2および図22に示したもの以外でも、絶対値が“1”と“8”の数値を用いて上述の数値列と異なる数値列を5タップユニットフィルタのフィルタ係数とし、その数値列を半分に分けて3タップユニットフィルタのフィルタ係数とするようにしても良い。
また、上記実施形態では、複数種類のユニットフィルタを組み合わせることにより、各特性値どうしの相殺により周波数帯域の抜き出しを行う例について説明した。これに対して、バンドパスフィルタの中心周波数Fcまたは信号のサンプリング周波数Fsの何れかを自由に決定できるときは、周波数抜き出しの条件を最適化することにより、フィルタの構成をより簡素化することができる。
今、バンドパスフィルタの中心周波数Fcと信号のサンプリング周波数Fsとの関係が、
Fs=4*Fc
であるとする。Fc=450KHzのとき、Fs=1.8MHzである。このような設定の場合には、ローパスユニットフィルタとハイパスユニットフィルタとを組み合わせた特性値どうしの相殺により必要な周波数帯域を抜き出すようにすることなく、例えばハイパスユニットフィルタの縦続接続のみでバンドパスフィルタを直接設計することができる。
例えば、5タップハイパスユニットフィルタH11の縦続接続のみによってFM用バンドパスフィルタを構成することができ、その接続数mによってバンド幅(通過帯域幅)を調整する。このことを、3タップハイパスユニットフィルタH11’あるいはハイパスユニットフィルタH11”等に応用することが可能である。
さらに、上記のように構成したFM用バンドパスフィルタの後段に5タップローパスユニットフィルタ(L1n)mを縦続接続することにより、AM用バンドパスフィルタを構成することも可能である。これについても同様に、3タップローパスユニットフィルタL11’あるいはローパスユニットフィルタL11”等に応用することが可能である。
また、上述のユニットフィルタを用いて比較的簡単なローパスフィルタを設計し、その通過域を周波数軸方向にシフトすることによって、所望の周波数帯域を通過域とするハイパスフィルタ、バンドパスフィルタ、バンドエリミネーションフィルタ等を設計するようにしても良い。
一般に、ローパスフィルタの係数H0,H1,H−1,H2,H−2,・・・(係数H0が中央で対称型になっている)に2cos(mω0)をかけるとバンドパスフィルタの係数が得られることが知られている。ここで、ω0=2πFc/Fs(Fcはフィルタの中心周波数、Fsは信号のサンプリング周波数)、m=0,1,−1,2,−2,・・・である。
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明は、複数の遅延器から成るタップ付き遅延線を備え、各タップの信号をそれぞれ数倍した後、加算して出力するタイプのFIRデジタルフィルタに有用である。
Claims (30)
- 複数の遅延器から成るタップ付き遅延線における各タップの信号を、与えられるフィルタ係数によりそれぞれ数倍した後、加算して出力するデジタルフィルタを設計する方法であって、
数値列が非対称型であり、上記数値列の合計値が非ゼロで、上記数値列の1つ飛びの合計値が同符号で互いに等しくなるように値が設定された基本のフィルタ係数を有する第1のユニットフィルタと、
数値列が非対称型であり、当該数値列の合計値がゼロで、当該数値列の1つ飛びの合計値が逆符号で互いに等しくなるように値が設定された基本のフィルタ係数を有する第2のユニットフィルタとの少なくとも一方を用いて、
0個以上の上記第1のユニットフィルタと0個以上の上記第2のユニットフィルタとを任意に縦続接続することによってフィルタ設計を行うようにしたことを特徴とするデジタルフィルタの設計方法。 - 複数の遅延器から成るタップ付き遅延線における各タップの信号を、与えられるフィルタ係数によりそれぞれ数倍した後、加算して出力するデジタルフィルタを設計する方法であって、
数値列の合計値が非ゼロで、当該数値列の1つ飛びの合計値が同符号で互いに等しくなるように値が設定された非対称型のフィルタ係数を有する複数の基本フィルタを、全体としての数値列が対称型となるように縦続接続して成る第1のユニットフィルタと、
数値列の合計値がゼロで、当該数値列の1つ飛びの合計値が逆符号で互いに等しくなるように値が設定された非対称型のフィルタ係数を有する複数の基本フィルタを、全体としての数値列が対称型となるように縦続接続して成る第2のユニットフィルタとの少なくとも一方を用いて、
0個以上の上記第1のユニットフィルタと0個以上の上記第2のユニットフィルタとを任意に縦続接続することによってフィルタ設計を行うようにしたことを特徴とするデジタルフィルタの設計方法。 - 上記第1のユニットフィルタを構成する非対称型のフィルタ係数は、所定の対称型の数値列をその中央で半分に分けたうちの片側の数値列を更に調整したものから成り、
上記所定の対称型の数値列は、その数値列の合計値が非ゼロで、当該数値列の1つ飛びの合計値が同符号で互いに等しくなるように値を設定したものであることを特徴とする請求の範囲第1項または第2項に記載のデジタルフィルタの設計方法。 - 上記所定の対称型の数値列が−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)ことを特徴とする請求の範囲第3項に記載のデジタルフィルタの設計方法。 - 上記第2のユニットフィルタを構成する非対称型のフィルタ係数は、所定の対称型の数値列をその中央で半分に分けたうちの片側の数値列を更に調整したものから成り、
上記所定の対称型の数値列は、その数値列の合計値がゼロで、当該数値列の1つ飛びの合計値が逆符号で互いに等しくなるように値を設定したものであることを特徴とする請求の範囲第1項または第2項に記載のデジタルフィルタの設計方法。 - 上記所定の対称型の数値列が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のユニットフィルタに関する情報を保持する第1のユニットフィルタ保持手段と、
数値列の合計値がゼロで、当該数値列の1つ飛びの合計値が逆符号で互いに等しくなるように値が設定されたフィルタ係数を有し、複数の遅延器から成るタップ付き遅延線における各タップの信号を上記フィルタ係数によりそれぞれ数倍した後、それらの乗算結果を加算して出力するように成された第2のユニットフィルタに関する情報を保持する第2のユニットフィルタ保持手段と、
0個以上の上記第1のユニットフィルタと0個以上の上記第2のユニットフィルタとの任意の組み合わせを指示する組み合わせ手段と、
上記第1および第2のユニットフィルタ保持手段により保持されている情報を用いて、上記組み合わせ手段により指示された組み合わせに対応するフィルタ係数を求めるフィルタ係数演算手段とを備えたことを特徴とするデジタルフィルタの設計装置。 - 数値列の合計値が非ゼロで、当該数値列の1つ飛びの合計値が同符号で互いに等しくなるように値が設定された非対称型のフィルタ係数を有する複数の基本フィルタを、全体としての数値列が対称型となるように縦続接続して成る第1のユニットフィルタに関する情報を保持する第1のユニットフィルタ保持手段と、
数値列の合計値がゼロで、当該数値列の1つ飛びの合計値が逆符号で互いに等しくなるように値が設定された非対称型のフィルタ係数を有する基本フィルタを、全体としての数値列が対称型となるように縦続接続して成る第2のユニットフィルタに関する情報を保持する第2のユニットフィルタ保持手段と、
0個以上の上記第1のユニットフィルタと0個以上の上記第2のユニットフィルタとの任意の組み合わせを指示する組み合わせ手段と、
上記第1および第2のユニットフィルタ保持手段により保持されている情報を用いて、上記組み合わせ手段により指示された組み合わせに対応するフィルタ係数を求めるフィルタ係数演算手段とを備えたことを特徴とするデジタルフィルタの設計装置。 - 上記第1および第2のユニットフィルタを構成する非対称型のフィルタ係数に対応する各タップの間にnクロック分のディレイを挿入することによってフィルタの通過周波数帯域を調整する遅延手段を備えたことを特徴とする請求の範囲第8項または第9項に記載のデジタルフィルタの設計装置。
- 複数の遅延器から成るタップ付き遅延線を備え、各タップの信号を、請求の範囲第1項〜第7項の何れか1項に記載のフィルタ設計法により求められたフィルタ係数によりそれぞれ数倍した後、加算して出力することを特徴とするデジタルフィルタ。
- 複数の遅延器から成るタップ付き遅延線を備え、各タップの信号を、与えられるフィルタ係数によりそれぞれ数倍した後、加算して出力するデジタルフィルタであって、
上記フィルタ係数は、その数値列が非対称型であり、上記数値列の合計値が非ゼロで、上記数値列の1つ飛びの合計値が同符号で互いに等しくなるように値を設定したものであることを特徴とするデジタルフィルタ。 - 複数の遅延器から成るタップ付き遅延線を備え、各タップの信号を、与えられるフィルタ係数によりそれぞれ数倍した後、加算して出力するデジタルフィルタであって、
数値列の合計値が非ゼロで、当該数値列の1つ飛びの合計値が同符号で互いに等しくなるように値が設定された非対称型のフィルタ係数を有する複数の基本フィルタを、全体としての数値列が対称型となるように縦続接続して成ることを特徴とするデジタルフィルタ。 - 上記非対称型のフィルタ係数は、所定の対称型の数値列をその中央で半分に分けたうちの片側の数値列を更に調整したものから成り、
上記所定の対称型の数値列は、その数値列の合計値が非ゼロで、当該数値列の1つ飛びの合計値が同符号で互いに等しくなるように値を設定したものであることを特徴とする請求の範囲第11項または第12項に記載のデジタルフィルタ。 - 上記所定の対称型の数値列が−1,0,9,16,9,0,−1の比率から成ることを特徴とする請求の範囲第14項に記載のデジタルフィルタ。
- 上記非対称型のフィルタ係数は、その数値列が−(1−N/8),0,(9−N/8),8、もしくは、8,(9−N/8),0,−(1−N/8)の比率から成る(ただし、Nは0≦N≦8)ことを特徴とする請求の範囲第15項に記載のデジタルフィルタ。
- 複数の遅延器から成るタップ付き遅延線を備え、各タップの信号を、与えられるフィルタ係数によりそれぞれ数倍した後、加算して出力するデジタルフィルタであって、
上記フィルタ係数は、その数値列が非対称型であり、上記数値列の合計値がゼロで、上記数値列の1つ飛びの合計値が逆符号で互いに等しくなるように値を設定したものであることを特徴とするデジタルフィルタ。 - 複数の遅延器から成るタップ付き遅延線を備え、各タップの信号を、与えられるフィルタ係数によりそれぞれ数倍した後、加算して出力するデジタルフィルタであって、
数値列の合計値がゼロで、当該数値列の1つ飛びの合計値が逆符号で互いに等しくなるように値が設定された非対称型のフィルタ係数を有する複数の基本フィルタを、全体としての数値列が対称型となるように縦続接続して成ることを特徴とするデジタルフィルタ。 - 上記非対称型のフィルタ係数は、所定の対称型の数値列をその中央で半分に分けたうちの片側の数値列を更に調整したものから成り、
上記所定の対称型の数値列は、その数値列の合計値がゼロで、当該数値列の1つ飛びの合計値が逆符号で互いに等しくなるように値を設定したものであることを特徴とする請求の範囲第17項または第18項に記載のデジタルフィルタ。 - 上記所定の対称型の数値列が1,0,−9,16,−9,0,1の比率から成ることを特徴とする請求の範囲第19項に記載のデジタルフィルタ。
- 上記非対称型のフィルタ係数は、その数値列が(1−N/8),0,−(9−N/8),8、もしくは、8,−(9−N/8),0,(1−N/8)の比率から成る(ただし、Nは0≦N≦8)ことを特徴とする請求の範囲第20項に記載のデジタルフィルタ。
- 上記非対称型のフィルタ係数に対応する各タップの間にnクロック分のディレイを挿入するための遅延手段を備えたことを特徴とする請求の範囲第12項〜第21項の何れか1項に記載のデジタルフィルタ。
- 請求の範囲第12項または第13項に記載のデジタルフィルタ、もしくは、上記非対称型のフィルタ係数に対応する各タップの間にnクロック分のディレイを挿入したデジタルフィルタを基本的なユニットフィルタとして、当該ユニットフィルタを複数段縦続接続して成ることを特徴とするデジタルフィルタ。
- 請求の範囲第17項または第18項に記載のデジタルフィルタ、もしくは、上記非対称型のフィルタ係数に対応する各タップの間にnクロック分のディレイを挿入したデジタルフィルタを基本的なユニットフィルタとして、当該ユニットフィルタを複数段縦続接続して成ることを特徴とするデジタルフィルタ。
- 請求の範囲第12項または第13項に記載のデジタルフィルタ、もしくは、上記非対称型のフィルタ係数に対応する各タップの間にnクロック分のディレイを挿入したデジタルフィルタを基本的なローパスユニットフィルタとするとともに、請求の範囲第17項または第18項に記載のデジタルフィルタ、もしくは、上記非対称型のフィルタ係数に対応する各タップの間にnクロック分のディレイを挿入したデジタルフィルタを基本的なハイパスユニットフィルタとして、1以上の上記ローパスユニットフィルタおよび1以上の上記ハイパスユニットフィルタを任意に縦続接続して成ることを特徴とするデジタルフィルタ。
- 請求の範囲第14項に記載した上記所定の対称型の数値列をフィルタ係数とするデジタルフィルタ、もしくは、当該所定の対称型の数値列から成るフィルタ係数に対応する各タップの間にnクロック分のディレイを挿入したデジタルフィルタを第2のローパスユニットフィルタとして、当該第2のローパスユニットフィルタを更に任意に縦続接続して成ることを特徴とする請求の範囲第25項に記載のデジタルフィルタ。
- 請求の範囲第19項に記載した上記所定の対称型の数値列をフィルタ係数とするデジタルフィルタ、もしくは、当該所定の対称型の数値列から成るフィルタ係数に対応する各タップの間にnクロック分のディレイを挿入したデジタルフィルタを第2のハイパスユニットフィルタとして、当該第2のハイパスユニットフィルタを更に任意に縦続接続して成ることを特徴とする請求の範囲第25項に記載のデジタルフィルタ。
- 上記遅延手段は、基準クロックの1/n倍の周期を持つ第2のクロックに従って、入力されたデータを保持して出力するディレイ回路を備えて構成されることを特徴とする請求の範囲第22項に記載のデジタルフィルタ。
- 請求の範囲第1項〜第7項の何れか1項に記載のフィルタ設計方法に関する処理手順をコンピュータに実行させるためのデジタルフィルタ設計用プログラム。
- 請求の範囲第8項〜第10項の何れか1項に記載の各手段としてコンピュータを機能させるためのデジタルフィルタ設計用プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002306315 | 2002-10-21 | ||
JP2002306315 | 2002-10-21 | ||
PCT/JP2003/013381 WO2004036746A1 (ja) | 2002-10-21 | 2003-10-20 | デジタルフィルタの設計方法および装置、デジタルフィルタ設計用プログラム、デジタルフィルタ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2004036746A1 true JPWO2004036746A1 (ja) | 2006-02-16 |
Family
ID=32105204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004544992A Pending JPWO2004036746A1 (ja) | 2002-10-21 | 2003-10-20 | デジタルフィルタの設計方法および装置、デジタルフィルタ設計用プログラム、デジタルフィルタ |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1557946A1 (ja) |
JP (1) | JPWO2004036746A1 (ja) |
KR (1) | KR20050071604A (ja) |
CN (1) | CN1706100A (ja) |
TW (1) | TW200408813A (ja) |
WO (1) | WO2004036746A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007033150A1 (en) | 2005-09-13 | 2007-03-22 | Srs Labs, Inc. | Systems and methods for audio processing |
EP2005787B1 (en) * | 2006-04-03 | 2012-01-25 | Srs Labs, Inc. | Audio signal processing |
JP5020265B2 (ja) | 2007-02-07 | 2012-09-05 | 三菱電機株式会社 | 乗員保護装置 |
TWI597939B (zh) | 2009-02-18 | 2017-09-01 | 杜比國際公司 | 具相位偏移之複數值合成濾波器組 |
CN101968964B (zh) * | 2010-08-20 | 2015-09-02 | 北京中星微电子有限公司 | 一种去除语音信号中直流分量的方法及装置 |
EP4233282A1 (en) * | 2020-10-23 | 2023-08-30 | Marvell Asia Pte, Ltd. | Equalization in high-speed data channel having sparse impulse response |
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-15 TW TW092128609A patent/TW200408813A/zh unknown
- 2003-10-20 JP JP2004544992A patent/JPWO2004036746A1/ja active Pending
- 2003-10-20 WO PCT/JP2003/013381 patent/WO2004036746A1/ja active Application Filing
- 2003-10-20 KR KR1020057006906A patent/KR20050071604A/ko not_active Application Discontinuation
- 2003-10-20 CN CNA2003801018286A patent/CN1706100A/zh active Pending
- 2003-10-20 EP EP03754198A patent/EP1557946A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
CN1706100A (zh) | 2005-12-07 |
WO2004036746A1 (ja) | 2004-04-29 |
KR20050071604A (ko) | 2005-07-07 |
TWI292044B (ja) | 2008-01-01 |
EP1557946A1 (en) | 2005-07-27 |
TW200408813A (en) | 2004-06-01 |
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) | デジタルフィルタの設計方法および装置、デジタルフィルタ設計用プログラム、デジタルフィルタ | |
US20050289206A1 (en) | Digital filter design method and device, digital filter design program, digital filter | |
JPWO2005078925A1 (ja) | デジタルフィルタの設計方法および装置、デジタルフィルタ設計用プログラム、デジタルフィルタ | |
JPWO2004036746A1 (ja) | デジタルフィルタの設計方法および装置、デジタルフィルタ設計用プログラム、デジタルフィルタ | |
US7590675B2 (en) | Digital filter, design method thereof, design device, and digital filter design program | |
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 | |
JP4300273B2 (ja) | 音質調整装置及びこれに用いるフィルタ装置、音質調整方法、フィルタの設計方法 | |
US20050120067A1 (en) | Digital filter designing method, digital filter designing program, digital filter | |
JPWO2005104365A1 (ja) | デジタルフィルタの設計方法および設計装置、デジタルフィルタ設計用プログラム、デジタルフィルタ、所望周波数特性の数値列の生成方法および生成装置、所望周波数特性の数値列生成用プログラム | |
JP4989575B2 (ja) | フィルタ及びフィルタの構成方法 | |
JPWO2003096534A1 (ja) | 音質調整装置の設計方法および設計装置、音質調整装置設計用プログラム、音質調整装置 | |
JP2010021860A (ja) | 帯域分離フィルタ及び帯域分離方法 | |
TW200303648A (en) | Design method and design apparatus of digital filter, program for design of digital filter, and digital filter |
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 |