温馨提示×

matlab低通滤波器代码怎么写

小亿
338
2023-11-22 03:17:56
栏目: 编程语言

在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函数将生成的信号通过滤波器进行滤波,并绘制了原始信号和滤波后的信号的图形。

0