Butterworth filter: Number of coefficients?

11 ビュー (過去 30 日間)
Max Behr
Max Behr 2020 年 5 月 19 日
コメント済み: Star Strider 2020 年 5 月 19 日
Hello
I am trying to create a low pass filter. My device has a sample rate of 100 and the cutoff value should be 10 Hz.
But according to the manual the filter should also have a setting "number of coefficients". And this should be 40 in my case...
How can I implement the number of coefficients into the filter?
Thanks.
My Code:
Fs = 100;
Fco = 10;
Fn = Fs/2;
Wn = Fco/Fn;
[b,a]=butter(1,Wn,'low')
m_filtered=filter(b,a,m)

採用された回答

Star Strider
Star Strider 2020 年 5 月 19 日
The first argument to butter is the filter order, and the number of coefficients in the transfer function vectors will be 1 less than that, so:
Fs = 100;
Fco = 10;
Fn = Fs/2;
Wn = Fco/Fn;
n = 40;
[b,a]=butter(n-1,Wn,'low');
figure
freqz(b,a,2^14,Fs)
should do what you want.
Note that this creates an unstable filter.
Are you absolutely certain that you want to use a IIR filter here? A filter order of 40 is more typical of a FIR filter, especially for a lowpass application such as this. (If you want a FIR filter instead, use the kaiserord and fir1 functions to create it.)
  8 件のコメント
Max Behr
Max Behr 2020 年 5 月 19 日
Thanks again :)
I did it!
Star Strider
Star Strider 2020 年 5 月 19 日
As always, my pleasure!
Thank you!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeFilter Analysis についてさらに検索

製品


リリース

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by