一、引言
巴特沃斯滤波器(Butterworth Filter),是滤波器的一种,其主要特点是通频带的频率响应曲线最平滑。这种滤波器最先由英国工程师斯蒂芬·巴特沃斯(StephenButterworth)在1930年发表在英国《无线电工程》期刊的一篇论文中提出的,也被称作最大平坦滤波器,在于其通频带内的频率响应曲线最大限度平坦,而在阻频带则逐渐下降为零。
巴特沃斯滤波器的公式由以下形式定义:
H(w)= 1/ (w + (w/w_c)^2N)^0.5
其中,H(w)是滤波器的传递函数,w是复频域变量,w_c是截止频率,N是滤波器的阶数。
二、巴特沃斯滤波器的MATLAB应用
clear all;
close all;
clc;
% 参数设置
fs = 1000; % 采样频率 (Hz)
fc = 100; % 截止频率 (Hz)
n = 4; % 滤波器阶数
Wn = fc / (fs/2); % 归一化截止频率
% 设计低通滤波器
[b, a] = butter(n, Wn, 'low');
% 频率响应
freqz(b, a);
title('低通巴特沃斯滤波器的频率响应');
% 应用滤波器(假设有一个信号 x)
x = randn(1, 1000); % 随机信号作为示例
y = filter(b, a, x);
% 绘制信号
figure;
subplot(2, 1, 1);
plot(x);
title('原始信号');
subplot(2, 1, 2);
plot(y);
title('巴特沃斯滤波器滤波后的信号');
三、主要运行结果
如果你觉得本文对大家学习和研究有所帮助,请关注、点赞和转发。感谢大家的支持!