在MATLAB中,可以使用designfilt
函數(shù)來(lái)設(shè)計(jì)低通濾波器。以下是一個(gè)簡(jiǎn)單的示例代碼:
% 設(shè)計(jì)低通濾波器
fs = 1000; % 采樣率
fc = 100; % 截止頻率
[b, a] = butter(6, fc/(fs/2), 'low'); % 6階巴特沃斯濾波器
% 生成隨機(jī)信號(hào)
t = 0:1/fs:1; % 時(shí)間向量
x = sin(2*pi*50*t) + sin(2*pi*120*t) + randn(size(t));
% 使用濾波器進(jìn)行濾波
y = filter(b, a, x);
% 繪制原始信號(hào)和濾波后的信號(hào)
figure
plot(t, x, 'b')
hold on
plot(t, y, 'r')
legend('原始信號(hào)', '濾波后的信號(hào)')
xlabel('時(shí)間')
ylabel('幅值')
在上述代碼中,首先使用butter
函數(shù)設(shè)計(jì)了一個(gè)6階巴特沃斯低通濾波器,截止頻率為100Hz。然后,生成了一個(gè)包含50Hz和120Hz正弦波以及噪聲的隨機(jī)信號(hào)。最后,使用filter
函數(shù)將生成的信號(hào)通過(guò)濾波器進(jìn)行濾波,并繪制了原始信號(hào)和濾波后的信號(hào)的圖形。