最短のインパルス応答が得られるバンドパスフィルターの設計


14

中心周波数が500 Hz、帯域幅が1オクターブの単純な2次IIRバンドパスバターワースフィルターを設計すると、次の周波数応答が得られます...

ここに画像の説明を入力してください

ここで、インパルス応答を取得して正規化し、dBに変換すると、インパルス応答の減衰が観察できます。

ここに画像の説明を入力してください

インパルス応答の減衰は、このスケールでプロットした場合、時間に対してほぼ線形であり、減衰時間の統計を定義できます(リバーブ時間を定義できる室内音響のように)。このフィルターのインパルス応答が30 dBを下回るには、約11 msかかります。

この減衰時間を最小限に抑えて、次の定数を維持しようとしています。

  • -3 dBの帯域幅
  • フィルター次数

通過帯域と阻止帯域のリップルを(制限内で)受け入れ、および/またはこれを達成するための遷移帯域の急峻性の妥協点を受け入れます。上記で定義した最短インパルス応答時間でフィルタリングする方法を提案できる人はいますか?


2
これらの11msに何らかの意味を持たせるために、サンプリング周波数を含めてください。
-Juancho

4
フィルターの極は、インパルス応答で指数関数的に減衰する項を生成します。これは、示されているように、ログスケールでプロットすると線形減衰を与えます。減衰率は、極から単位円までの距離に関連しています。それらが近いほど、減衰が遅くなります。遷移バンドの急峻さは、極が単位円にどれだけ近いかに関係しています。この特定の特性に優先順位を付けることができるような、手に負えない設計手法は知りません。
ジェイソンR

@ Juanchoサンプルレートは完全に無関係だと思ったため省略しました。5kHzまたは500 kHzを使用しても、インパルス応答の減衰率は変わりません。興味があれば、44.1 kHzをターゲットにしています。見てくれてありがとう:)
learnvst

2
@JimClayはい、できますが、計算コストを非常に低く抑えたいです。Firを効率的に使用するには、fftベースの手法を使用する必要があります。これにより、FFTバッファーがサンプルで満たされている間、アルゴリズムに待ち時間が発生します。はい・いいえ?
-learnvst

3
@JimClayなぜ物理学の法則が世界支配の私の計画を常に停止させるのか 不平不平を言う
learnvst

回答:


8

バターワースフィルタの周波数応答は、特定の式の結果であり、その特性は平坦な通過帯域周波数応答です。したがって、IIRフィルターの係数が何らかの方法で変更された場合、フィルターは「バターワース」特性を維持しない可能性があります。

「Hilmar」と「Jason R」による応答に加えて、これを仕様をキャプチャするフィットネス関数の最適化問題として扱うことができます。

たとえば、いくつかの設計(バターワースフィルターなど)から開始し、最適化手法を使用して、その位置を中心に零点と極を移動(または極と零点を追加/削除して設計を変更)し、仕様を達成しようとします(より鋭い帯域幅とフィルター次数を維持する時間領域ロールオフ)。

この線に沿って、遺伝的アルゴリズム(およびここ)およびシミュレーテッドアニーリング(およびここ)を使用してフィルターを設計する際に、多くの作業が実行されています。


6

魔法の弾丸はありません、私は恐れています。楕円フィルターを使用して、通過帯域リップルと阻止帯域減衰を独立して制御できますが、減衰率はフィルターの急峻さと全体的な帯域幅に密接に関連していることがわかります。フィルターの次数を1に減らすことで、フィルターの減衰を大幅に速くすることができますが、その場合もフィルターの勾配はずっと低くなります。


それはネットワークのリンクウィッツ・ライリーのタイプで使用されているように、第1の順にフィルタを減らすことはできませんが、ありがとうそんなに応答+1に時間を割いて
learnvst
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.