用matlab,编写一个数字高通滤波器代码
时间: 2023-11-22 10:56:50 浏览: 163
用matlab编制的数字滤波器
以下是一个简单的数字高通滤波器的MATLAB代码示例:
```matlab
% 定义数字高通滤波器参数
fc = 1000; % 截止频率
fs = 8000; % 采样频率
N = 50; % 滤波器阶数
% 计算数字高通滤波器系数
[b, a] = butter(N, fc/(fs/2), 'high');
% 加载输入信号
load handel.mat;
y = y';
% 应用数字高通滤波器
y_filtered = filter(b, a, y);
% 绘制原始信号和滤波后的信号图像
t = (1:length(y))/fs;
subplot(2,1,1);
plot(t, y);
title('原始信号');
xlabel('时间 (秒)');
ylabel('幅度');
subplot(2,1,2);
plot(t, y_filtered);
title('高通滤波后的信号');
xlabel('时间 (秒)');
ylabel('幅度');
```
在这个示例中,我们使用了MATLAB内置的butter函数来计算数字高通滤波器的系数。然后,我们加载一个音频文件,并将其应用于数字高通滤波器。最后,我们将原始信号和滤波后的信号绘制在同一个图像上进行比较。
阅读全文