使用MATLAB方法:采用窗函数法设计FIR数字高通滤波器,要求性能指标:通带波纹0.01,阻带波纹0.001,通带截止频率0.6pi,阻带截止频率0.4pi,求其幅度响应曲线
时间: 2024-12-17 20:17:35 浏览: 120
自动化专业数字信号处理实验四_用窗函数法设计 FIR 数字滤波器matlab.rar
在MATLAB中,设计FIR(有限 impulse response)数字高通滤波器通常会使用fir1函数,它可以根据指定的频率响应特性生成FIR滤波器。为了满足给定的性能指标:
- 通带波纹(Passband ripple): 0.01
- 阻带波纹(Stopband ripple): 0.001
- 通带截止频率(Passband edge frequency): 0.6π rad/s (约等于90度)
- 阻带截止频率(Stopband edge frequency): 0.4π rad/s (约等于60度)
你可以按照以下步骤操作:
1. **设置滤波器参数**:
```matlab
cutoff_freq = [0.4 pi; 0.6 pi]; % 阻带和通带截止频率
ripple_db = [0.001; 0.01]; % 波纹值(dB)
```
2. **创建FIR滤波器结构**:
```matlab
filter_order = fir1design(cutoff_freq, ripple_db, 'high'); % 设计高通滤波器
```
`fir1design`函数采用了'high'作为输入第三个参数,表示我们想要设计的是高通滤波器。
3. **绘制幅度响应曲线**:
```matlab
[h, w] = freqz(fir1(filter_order)); % 计算频率响应
plot(w/pi, 20*log10(abs(h))) % 绘制幅频特性曲线
xlabel('Normalized Frequency (\times \pi rad/sample)')
ylabel('Magnitude (dB)')
title('Amplitude Response of the FIR High Pass Filter')
grid on
```
这将显示滤波器的设计幅度响应曲线。
阅读全文