基于matlab使用频率采样法设计FIR数字带阻滤波器
时间: 2023-12-24 18:03:32 浏览: 162
基于MATLAB的频率采样法设计FIR滤波器.pdf
5星 · 资源好评率100%
以下是基于Mat使用频率采样法设计FIR数字带阻滤波器的步骤:
1. 确定滤波器的阶数和截止频率。
2. 计算出滤波器的理想幅频响应和相位响应。
3. 通过频率采样方法将理想的幅频响应转换为数字滤波器的幅频响应。
4. 通过反变换将数字滤波器的幅频响应转换为数字滤波器的冲激响应。
5. 通过窗函数法将数字滤波器的冲激响应转换为实际的数字滤波器系数。
以下是基于Matlab使用频率采样法设计FIR数字带阻滤波器的代码示例:
```matlab
% 设计参数
fs = 1000; % 采样频率
f1 = 50; % 通带截止频率
f2 = 150; % 阻带截止频率
delta1 = 0.01; % 通带最大衰减
delta2 = 0.01; % 阻带最小衰减
% 计算参数
wp = 2*pi*f1/fs; % 通带截止频率(弧度)
ws = 2*pi*f2/fs; % 阻带截止频率(弧度)
Rp = -20*log10(1-delta1); % 通带最大衰减(dB)
Rs = -20*log10(delta2); % 阻带最小衰减(dB)
M = ceil((Rp-8)/(2.285*(ws-wp))); % 滤波器阶数
% 理想滤波器幅频响应
w = 0:0.01:pi;
Hd = (sin(ws*(M/2-w))./(pi*(M/2-w))) - (sin(wp*(M/2-w))./(pi*(M/2-w)));
Hd(M/2+1) = (ws-wp)/pi;
% 频率采样
n = 0:M;
hd = (sin(ws*(n-M/2))./(pi*(n-M/2))) - (sin(wp*(n-M/2))./(pi*(n-M/2)));
hd(M/2+1) = (ws-wp)/pi;
% 窗函数法
w = hamming(M+1);
h = hd.*w';
```
阅读全文