1
# Specifications for HPF
Wp = 0.01 # Cutoff frequency 
Ws = 0.004 # Stop frequency 
Rp = 0.1 # passband maximum loss (gpass)
As = 60 # stoppand min attenuation (gstop)
b,a = fd.iirdesign(Wp, Ws, Rp, As, ftype='butter')
y = sig.lfilter(b, a, x, axis=-1)

パラメータを調整しましたが、期待どおりの結果が得られませんでした。

たとえば、 を減らしたときWp、フィルタリング後により多くの周波数成分が残ることを期待していました。したがって、より「不安定な」信号が表示されることを期待していました。

しかし、それはどこでも0であることが判明しました。

この HPF に関する私の理解は間違っているようです。

HPF を実装するためにこれを行うのは正しいですか?

パラメータの調整方法を教えてください。

4

1 に答える 1

3

トランジション バンドが iirdesign ツールに対してきつすぎるようです。結果として得られるフィルターは、低周波数で大きなゲインブーストを持ち、本質的にローパスフィルターを作成します. たとえば、フィルターを作成してみてください

Wp = 0.1
Ws = 0.04

これにより、ハイパス フィルターが得られるはずです。結果の係数を octave または matlab freqz 関数でプロットして、目的のフィルター応答が生成されたことを確認してください。

そのような狭い遷移が必要な場合は、バターワース フィルター タイプ以外を試すことができます。たとえば、エリプティックは目的のカットオフ、遷移、および停止を生成することができますが、通過帯域と停止帯域の両方でリンギング (および非線形位相応答) を導入します。

b, a = fd.iirdesign(0.1, 0.04, 0.1, 60, ftype='ellip')
于 2013-08-14T08:53:26.813 に答える