用matlab设计一个截止频率150hz的三阶fir滤波器
时间: 2023-05-23 22:04:40 浏览: 373
E4_2_Windows.zip_fir_matlab_窗函数_频率响应
A:
step 1:计算采样频率
假设采样频率为fs,根据采样定理,fs≥2*fmax, 其中fmax为信号中最高频率分量。
此处要求截止频率为150Hz,考虑到三阶fir滤波器的阻带带宽较宽,为避免滤波器工作不稳定,fs选择为600Hz。(150Hz为三倍频)
step 2:计算滤波器系数
fir滤波器的系数可以通过窗函数法、最小二乘法等多种方法计算得到。本处选择通过窗函数法进行计算。
代码如下:
fd = 150 / fs; % 截止频率计算
b = fir1(3, fd); % 计算三阶fir滤波器系数
step 3:验证滤波器效果
用fir滤波器对一段含有高频信号的音频进行滤波,检验滤波器设计是否成功。
代码如下:
[x, fs] = audioread('test.wav'); % 读取音频文件
y = filter(b, 1, x); % 应用fir滤波器
sound(y, fs); % 播放滤波后的音频
其中,test.wav为一段包含高频分量的音频文件,可自行准备或在互联网上寻找。
阅读全文