2014-10-31 85 views
1

我是新來matlab和信號課程,但我有一個作業,說我必須爲巴特沃斯設計一個DT過濾器。 我有這些給定的參數:Matlab Buttord返回Wn> 1爲什麼?

  • 的噪聲信號被存儲在變量嘈雜和在 44100(FS)赫茲取樣。
    1. 通帶邊緣:2500Hz。
    2. 阻帶邊緣:4000Hz。
    3. 通帶最大增益Gpbmax:40 dB。
    4. 通帶Gpbmin的最小增益:37 dB。
    5. 阻帶最大增益Gsbmax:-55 dB。

我做了什麼:

[n, Wn] = buttord(2500*2*pi, 4000*2*pi, 3, 55, 's'); 
% Wn here is 1.5989e+04, I couldn't execute this without the 's' option. 

[b, a] = butter(n, Wn) 
The cutoff frequencies must be within the interval of (0,1). 

任何答案嗎?

+0

請參閱http: //www.mathworks.com/matlabcentral/answers/2557-lowpass-digital-butterworth-filter – Nasser 2014-10-31 07:34:32

回答

1

因爲您使用的是's'選項,所以以rad/s返回Wn,請參閱documentation。與butter使用它,你需要通過採樣頻率恢復正常,或不使用's'選項:與's'選項

fs = 2*pi*44100; 
[b, a] = butter(n, Wn/fs); 

或使用butter還有:

[b,a] = butter(n,Wn,'s'); 
+0

哦,現在我明白了,謝謝! – achehab 2014-10-31 08:53:26