對於模擬通信系統設計在MATLAB首先我需要做這兩種設計:低通/帶通濾波器的設計中MATLAB
設計的低通濾波器
[slow]=lowpassfilter(s,fcut,fs)
其過濾輸入信號s
與截止頻率fcut
和採樣頻率fs
赫茲。設計的帶通濾波器
[sband]=bandpassfilter(s,fcutlow,fcuthigh,fs)
其過濾輸入信號s
的截止頻率fcutlow
和fcuthigh
和在赫茲採樣頻率fs
。
你能幫我嗎?
對於模擬通信系統設計在MATLAB首先我需要做這兩種設計:低通/帶通濾波器的設計中MATLAB
設計的低通濾波器[slow]=lowpassfilter(s,fcut,fs)
其過濾輸入信號s
與截止頻率fcut
和採樣頻率fs
赫茲。
設計的帶通濾波器[sband]=bandpassfilter(s,fcutlow,fcuthigh,fs)
其過濾輸入信號s
的截止頻率fcutlow
和fcuthigh
和在赫茲採樣頻率fs
。
你能幫我嗎?
對於濾波器設計目的,Matlab有fdatool
。 Here是文檔。您可以使用fdatool
和信號處理工具箱完成所有這些任務。
我發現這個問題有這麼多的意見,仍然沒有很好的答案。
以下代碼將執行您所需的操作。由於沒有指定過濾器類型,我使用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);
是的,我知道,但問題是我需要從其他功能的輸出採用輸入,所以我有FCUT或FS沒有具體的數值。所以當我寫入fs時,它會給出錯誤:S –
我想你應該改變你的問題的措辭。如果你知道fs(apriori),你可以檢查信號的fft以確定你想要過濾的頻段。 – YBE