2012-05-17 93 views
1

對於模擬通信系統設計在MATLAB首先我需要做這兩種設計:低通/帶通濾波器的設計中MATLAB

  1. 設計的低通濾波器[slow]=lowpassfilter(s,fcut,fs)其過濾輸入信號s與截止頻率fcut和採樣頻率fs赫茲。

  2. 設計的帶通濾波器[sband]=bandpassfilter(s,fcutlow,fcuthigh,fs)其過濾輸入信號s的截止頻率fcutlowfcuthigh和在赫茲採樣頻率fs

你能幫我嗎?

回答

2

對於濾波器設計目的,Matlab有fdatoolHere是文檔。您可以使用fdatool和信號處理工具箱完成所有這些任務。

+0

是的,我知道,但問題是我需要從其他功能的輸出採用輸入,所以我有FCUT或FS沒有具體的數值。所以當我寫入fs時,它會給出錯誤:S –

+0

我想你應該改變你的問題的措辭。如果你知道fs(apriori),你可以檢查信號的fft以確定你想要過濾的頻段。 – YBE

2

我發現這個問題有這麼多的意見,仍然沒有很好的答案。

以下代碼將執行您所需的操作。由於沒有指定過濾器類型,我使用butterworth過濾器來演示它。 s是輸入信號,x是濾波信號。 fs是以Hz爲單位的採樣率。

% Design and apply the lowpass filter 
order = 4; 
fcut = 8000; 
[b,a] = butter(order,fcut/(fs/2),'low'); 
x  = filter(b,a,s); 


% Design and apply the bandpass filter 
order = 10; 
fcutlow = 1000; 
fcuthigh = 2000; 
[b,a] = butter(order,[fcutlow,fcuthigh]/(fs/2), 'bandpass'); 
x  = filter(b,a,s);