matlab巴特沃斯数字带通滤波器代码
时间: 2024-01-08 12:01:13 浏览: 149
巴特沃斯数字带通滤波器是一种常用的数字信号处理滤波器,它可以用于滤除信号中某一特定频率范围内的噪音或干扰。在MATLAB中,可以使用butter函数来设计巴特沃斯数字带通滤波器。下面是一个MATLAB代码示例:
```matlab
% 设定参数
fs = 1000; % 采样频率
fpass = [20 200]; % 通带频率范围
Ap = 1; % 通带最大衰减
Astop = 60; % 阻带最小衰减
% 计算滤波器阶数和截止频率
[n, Wn] = buttord(fpass/(fs/2), fstop/(fs/2), Ap, Astop);
[b, a] = butter(n, Wn, 'bandpass');
% 频域响应
freqz(b, a, 1024, fs);
% 输入信号
t = 0:1/fs:1-1/fs;
x = sin(2*pi*50*t) + sin(2*pi*150*t) + randn(size(t))*0.5;
% 滤波
y = filter(b, a, x);
% 绘制原始信号和滤波后的信号
figure;
plot(t, x, 'b', t, y, 'r');
legend('原始信号', '滤波后信号');
xlabel('时间');
ylabel('幅值');
```
在以上代码中,首先设定了采样频率和希望滤除的频率范围,然后使用buttord函数计算滤波器阶数和截止频率,接着使用butter函数设计带通滤波器,并使用filter函数对输入信号进行滤波处理。最后利用plot函数将原始信号和滤波后的信号进行可视化展示。通过这段代码,我们可以很容易地在MATLAB中实现巴特沃斯数字带通滤波器。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)