问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

巴特沃斯滤波器在信号处理中的应用

创作时间:
作者:
@小白创作中心

巴特沃斯滤波器在信号处理中的应用

引用
CSDN
1.
https://blog.csdn.net/xrgs_shz/article/details/142532481

一、引言

巴特沃斯滤波器(Butterworth Filter),是滤波器的一种,其主要特点是通频带的频率响应曲线最平滑。这种滤波器最先由英国工程师斯蒂芬·巴特沃斯(StephenButterworth)在1930年发表在英国《无线电工程》期刊的一篇论文中提出的,也被称作最大平坦滤波器,在于其通频带内的频率响应曲线最大限度平坦,而在阻频带则逐渐下降为零。

一维信号巴特沃斯滤波器的公式由以下公式定义:

H(w)= 1/ (w + (w/Wc)^2N)^0.5

其中,H(w)是滤波器的传递函数,w是频域变量,Wc是截止频率,N是滤波器的阶数。

二维信号巴特沃斯滤波器的公式由以下公式定义:

H(u,v) =(1./(1 + (D/Wc).^(2*n)).^0.5

D =(u.^2 + v.^2).^0.5; 其中,u和v是频率。

其中,H(u,v)是滤波器的传递函数,u、v是频域变量,Wc是截止频率,n是滤波器的阶数。

巴特沃斯滤波器有多种类型,主要包括低通滤波器、高通滤波器、带通滤波器和带阻滤波器。下面分别给出一个采用低通巴特沃斯滤波器对一维原始信号和二维图像进行处理的实例。

二、巴特沃斯滤波器的MATLAB应用

1.采用低通巴特沃斯滤波器对一维原始信号处理实例。

clear all;  
close all;  
clc;  
% 参数设置  
fs = 1000; % 采样频率 (Hz)  
fc = 100; % 截止频率 (Hz)  
n = 4; % 滤波器阶数  
Wn = fc / (fs/2); % 归一化截止频率  
% 设计低通滤波器  
[b, a] = butter(n, Wn, 'low'); %用于根据  
ftype  
的值和  
Wn  
的元素数目,设计低通巴特沃斯滤波器。  
% 频率响应  
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('巴特沃斯滤波器滤波后的信号');  

2.采用低通巴特沃斯滤波器对二维图像进行处理的实例。

clear all;  
close all;  
clc;  
imageSize = [256, 256]; % 设置图像大小  
randomImage = rand(imageSize);% 生成随机二维图像信号  
figure,imshow(randomImage, []),title('原始随机图像'); ; % 显示原始图像  
colormap(gray);  
% 创建高通滤波器  
% 定义频率空间的范围  
[u, v] = meshgrid(-floor(imageSize(1) / 2) : floor(imageSize(1) / 2) - 1, -floor(imageSize(2) / 2) : floor(imageSize(2) / 2) - 1);  
D = sqrt(u.^2 + v.^2); % 计算距离频率中心的距离  
D0 = 30; % 可以调整这个值来改变滤波器的效果  
n=5;  
% 巴特沃斯滤波器的频率响应函数  
H = sqrt(1./(1 + (D/D0).^(2*n)));  
figure;  
surf(u, v, H);  
shading interp; % 插值着色  
zlabel('H(u, v)');  
colorbar;  
% 设置视角  
view(3);  
axis tight;  
F = fftshift(fft2(randomImage)); % 将滤波器应用到频率域  
G = F .* H;  
filteredImage = ifft2(ifftshift(G)); % 逆傅里叶变换得到滤波后的图像  
figure,imshow(real(filteredImage), []),title('高通滤波后的图像'); % 显示滤波后的图像  
colormap(gray);  

三、主要运行结果

1.采用低通巴特沃斯滤波器对一维原始信号处理实例。

2.采用低通巴特沃斯滤波器对二维图像进行处理的实例。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号