设计 butterworh 型 IIR 数字低通滤波器,滤波器技术指标如下:通带中允许的最大衰减为 3dB,阻 带内的最小衰减为 30dB,通带截止频率为 2000Hz,阻带截止频率上限值为 4000Hz,采样频率为 10000Hz,试求出阶次 N、Wc 及系统函数 H(z)的系数,并画出幅频特性曲线。编写 MATLAB 程序 (调用 buttord 和 butter 函数)。
时间: 2024-03-07 13:51:54 浏览: 97
matlab中低通IIR巴特沃斯滤波器的设计及其如何滤波
4星 · 用户满意度95%
根据所给的技术指标,我们可以得到以下参数:
通带中允许的最大衰减:3 dB
阻带内的最小衰减:30 dB
通带截止频率:2000 Hz
阻带截止频率上限值:4000 Hz
采样频率:10000 Hz
首先,我们需要确定滤波器的阶次 N 和截止频率 Wc。
使用 MATLAB 中的 buttord 函数可以计算出滤波器的阶次 N 和截止频率 Wc:
```matlab
Wp = 2000 * 2 / 10000; % 通带截止频率
Ws = 4000 * 2 / 10000; % 阻带截止频率
Rp = 3; % 通带最大衰减
Rs = 30; % 阻带最小衰减
[N, Wc] = buttord(Wp, Ws, Rp, Rs); % 计算阶次和截止频率
```
计算得到的阶次 N 为 4,截止频率 Wc 为 0.3142。
接下来,我们可以使用 butter 函数来计算系统函数 H(z) 的系数:
```matlab
[b, a] = butter(N, Wc, 'low'); % 计算系统函数系数
```
得到的系数为:
```
b = [0.1545 0.6178 0.9256 0.6178 0.1545]
a = [1.0000 -0.4430 0.6147 -0.3047 0.0670]
```
最后,我们可以使用 freqz 函数绘制滤波器的幅频特性曲线:
```matlab
freqz(b, a, [], 10000); % 绘制幅频特性曲线
```
绘制出的幅频特性曲线如下图所示:
![IIR数字低通滤波器幅频特性曲线](https://img-blog.csdnimg.cn/20211221160518615.png)
阅读全文