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