溫馨提示×

在Matlab中設(shè)計一個簡單的帶通/帶阻濾波器

小云
196
2023-09-26 09:48:29
欄目: 編程語言

在Matlab中設(shè)計一個簡單的帶通/帶阻濾波器,可以使用函數(shù)fir1firpm來設(shè)計濾波器系數(shù)。以下是使用fir1函數(shù)設(shè)計一個帶通/帶阻濾波器的示例代碼:

% 設(shè)計一個簡單的帶通/帶阻濾波器
fs = 1000; % 采樣頻率
fcuts = [100, 200, 300, 400]; % 通/阻帶邊界頻率
mags = [0, 1, 0]; % 通/阻帶增益
devs = [0.01, 0.05, 0.01]; % 通/阻帶允許波動范圍
% 使用fir1函數(shù)設(shè)計濾波器系數(shù)
order = 64; % 濾波器階數(shù)
b = fir1(order, fcuts/(fs/2), 'bandpass', 'cheby1', 'noscale');
% 繪制濾波器的頻率響應(yīng)
freqz(b, 1, 1024, fs);
% 使用濾波器濾波信號
% x = 輸入信號
% y = filter(b, 1, x);

上述代碼中,fs是采樣頻率,fcuts是通/阻帶邊界頻率,mags是通/阻帶增益,devs是通/阻帶允許波動范圍,order是濾波器階數(shù)。使用fir1函數(shù)設(shè)計濾波器系數(shù)b,然后可以使用filter函數(shù)來應(yīng)用濾波器。最后,使用freqz函數(shù)繪制濾波器的頻率響應(yīng)。

0