fir高通滤波器matlab程序
时间: 2023-07-31 08:13:32 浏览: 140
以下是一个FIR高通滤波器的MATLAB程序示例:
```MATLAB
% 设计一个FIR高通滤波器
% 采样率为1000 Hz,截止频率为50 Hz
Fs = 1000; % 采样率
fc = 50; % 截止频率
% 设计滤波器
N = 100; % 滤波器阶数
b = fir1(N, fc/(Fs/2), 'high'); % FIR高通滤波器系数
% 生成信号
t = linspace(0, 1, Fs); % 1秒钟的时间轴
f1 = 10; % 信号频率1
f2 = 100; % 信号频率2
x = sin(2*pi*f1*t) + 0.5*sin(2*pi*f2*t); % 信号
% 滤波
y = filter(b, 1, x);
% 绘制结果
subplot(2,1,1);
plot(t, x);
title('原始信号');
subplot(2,1,2);
plot(t, y);
title('滤波后的信号');
```
在上面的程序中,我们使用了MATLAB中的`fir1`函数来设计FIR高通滤波器。这个函数的第一个参数是滤波器阶数,第二个参数是截止频率(归一化到采样频率的一半),第三个参数是滤波器类型(这里选择了“high”表示高通滤波器)。我们还生成了一个包含两个频率分量的信号,并使用`filter`函数来应用我们设计的滤波器进行滤波。最后,我们绘制了原始信号和滤波后的信号。
阅读全文