在 MATLAB 中,可以使用函数butter()来设计多极低通滤波器,并使用函数filter()来应用该滤波器。\n\n下面是一个示例代码,用于设计一个二阶巴特沃斯低通滤波器,并将其应用于一个随机信号。\n\nmatlab\n% 设计滤波器\nfs = 1000; % 采样率\nfc = 100; % 截止频率\norder = 2; % 阶数\n[b, a] = butter(order, fc/(fs/2), 'low');\n\n% 生成随机信号\nt = 0:1/fs:1;\nx = sin(2*pi*50*t) + sin(2*pi*150*t) + randn(size(t));\n\n% 应用滤波器\ny = filter(b, a, x);\n\n% 绘制原始信号和滤波后的信号\nsubplot(2,1,1);\nplot(t, x);\nxlabel('Time');\nylabel('Amplitude');\ntitle('Original Signal');\n\nsubplot(2,1,2);\nplot(t, y);\nxlabel('Time');\nylabel('Amplitude');\ntitle('Filtered Signal');\n\n\n在上述代码中,首先使用butter()函数设计了一个二阶巴特沃斯低通滤波器,截止频率为100 Hz。然后,使用filter()函数将该滤波器应用于一个包含随机噪声的信号。最后,使用subplot()plot()函数绘制了原始信号和滤波后的信号的图像。\n\n请注意,代码中的order变量表示滤波器的阶数,可以根据需要进行调整。另外,fc变量表示截止频率,可以根据需要进行调整。

MATLAB 多极低通滤波器实现:Butterworth 滤波器设计与应用

原文地址: https://www.cveoy.top/t/topic/pZVe 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录