巴特沃斯高通滤波器的函数 matlab生成方式
时间: 2023-06-12 20:03:13 浏览: 159
巴特沃斯滤波器的MATLAB实现
5星 · 资源好评率100%
在 Matlab 中,可以使用 `fir1` 函数来生成巴特沃斯高通滤波器的系数。具体步骤如下:
1. 确定采样频率和截止频率。
2. 计算归一化的截止频率:`Wn = fc/(fs/2)`,其中 `fc` 是截止频率,`fs` 是采样频率。
3. 设置滤波器的阶数 `n` 和通带衰减 `Rp`,以及阻带衰减 `Rs`。
4. 使用 `b = fir1(n, Wn, 'high', kaiser(n+1, Rp))` 生成滤波器系数,其中 `'high'` 表示高通滤波,`kaiser(n+1, Rp)` 是指定的窗函数,`n+1` 是窗函数长度,`Rp` 是通带衰减。
生成的滤波器系数 `b` 即为巴特沃斯高通滤波器的系数。
以下是一个示例代码:
```
fs = 1000; % 采样频率
fc = 50; % 截止频率
n = 5; % 滤波器阶数
Rp = 1; % 通带衰减
Rs = 60; % 阻带衰减
Wn = fc/(fs/2); % 归一化的截止频率
b = fir1(n, Wn, 'high', kaiser(n+1, Rp)); % 生成滤波器系数
freqz(b, 1); % 绘制滤波器的频率响应
```
阅读全文