一、获取代码方式


二、数字滤波器设计简介

1 设计原理

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_3d

1.1 滤波器概念

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_参考文献_02

1.2 数字滤波器的系统函数和差分方程

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_matlab_03

1.3 数字滤波器结构的表示

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_matlab_04

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_低通滤波器_05

1.4 数字滤波器的分类

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_低通滤波器_06

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_3d_07

2.1 IIR滤波器与FIR滤波器的分析比较

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_参考文献_08

2.2 FIR滤波器的原理

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_低通滤波器_09

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_参考文献_10

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_低通滤波器_11

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_matlab_12

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_3d_13

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_参考文献_14

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_低通滤波器_15

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_低通滤波器_16

3 FIR滤波器的仿真步骤

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_3d_17

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_3d_18

三、部分源代码

%设计FIR数字低通滤波器,截止频率为pi/4,在不同窗口长度(N=15,N=33)下,分别求出
%h(n),通过幅频特性和相频特性,观察3dB带宽和20dB带宽,总结窗口长度N对滤波特性的影响。

close all;
clc;
clear;
N=15;
N1=N+mod(N+1,2);
wcc=pi/4;
wc=wcc/pi;
hn=fir1(N1-1,wc,hanning(N1)); %矩形窗boxcar(N) 三角窗bartlett(N) 汉宁窗 hanning(N) 哈明窗hamming(N)
% 布莱克曼窗函数blackman(N) 凯瑟-贝赛尔窗函数 kaiser(N,beta)
figure(1)
subplot(3,1,1)
freqz(hn,1)
ylim([-150,50]);
hold on;
plot([-1 1],[-3 -3],'r')
plot([-1 1],[-20 -20],'y')
title('N=15')
legend('N=15','3dB','20dB')

clc;
clear;
N=33;
N1=N+mod(N+1,2);
wcc=pi/4;
wc=wcc/pi;
hn=fir1(N1-1,wc,hanning(N1)); %矩形窗boxcar(N) 三角窗bartlett(N) 汉宁窗 hanning(N) 哈明窗hamming(N)
% 布莱克曼窗函数blackman(N) 凯瑟-贝赛尔窗函数 kaiser(N,beta)
%以N=33,wc=pi/4为技术指标,用三种窗函数设计线性相位低通滤波器,通过对相应的幅频特性分析,
%观察3dB和20dB带宽以及阻带最小衰减,比较三种窗函数对滤波特性的影响。
%假设:通带边界频率wp为pi/5,阻带截止频率ws为pi*3/10,此时通带截止频率wc为pi/4.
%结论:观察波形和数值,发现窗函数会影响滤波器带内波动和阻带最小衰减,
% 其中三角窗的幅频特性为单调衰减,相频特性在整个频域均为线性。矩形窗的阻带内最小衰减最大,衰减最快。

close all;
clc;
clear;
N=33;
N1=N+mod(N+1,2)
wcc=pi/4;
wc=wcc/pi;
hn=fir1(N1-1,wc,hanning(N1)); %矩形窗boxcar(N) 三角窗bartlett(N) 汉宁窗 hanning(N) 哈明窗hamming(N)
%布莱克曼窗函数blackman(N) 凯瑟-贝赛尔窗函数 kaiser(N,beta)
figure(1)
freqz(hn,1); %汉宁窗3dB带宽为0.2246*pi,20dB带宽为0.3074*pi,阻带内最小衰减为17.73
hold on;
plot([-1 1],[-3 -3],'r')
plot([-1 1],[-20 -20],'y')
title('N=33 汉宁窗')

hn1=fir1(N1-1,wc,boxcar(N1)); %矩形窗3dB带宽为0.2385*pi,20dB带宽为0.2776*pi,阻带内最小衰减为21.41
figure(2)
freqz(hn1,1);
hold on;
plot([-1 1],[-3 -3],'r')
plot([-1 1],[-20 -20],'y')
title('N=33 矩形窗')

hn2=fir1(N1-1,wc,bartlett(N1)); %三角窗3dB带宽为0.2261*pi,20dB带宽为0.315*pi,阻带内最小衰减为16.09
figure(3)
freqz(hn2,1);
hold on;
plot([-1 1],[-3 -3],'r')
plot([-1 1],[-20 -20],'y')
title('N=33 三角窗')

hn3=fir1(N1-1,wc,hamming(N1)); %哈明窗3dB带宽为0.2246*pi,20dB带宽为0.3073*pi,阻带内最小衰减为17.76
figure(4)
freqz(hn3,1);
hold on;
plot([-1 1],[-3 -3],'r')
plot([-1 1],[-20 -20],'y')
title('N=33 哈明窗')

四、运行结果

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_低通滤波器_19

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_低通滤波器_19

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_低通滤波器_21

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_参考文献_22

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_参考文献_23

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_参考文献_24

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_matlab_25

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_3d_26

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_3d_27

【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】_参考文献_28

五、matlab版本及参考文献

1 matlab版本

2014a

2 参考文献

[1] 沈再阳.精通MATLAB信号处理[M].清华大学出版社,2015.

[2]高宝建,彭进业,王琳,潘建寿.信号与系统——使用MATLAB分析与实现[M].清华大学出版社,2020.

[3]王文光,魏少明,任欣.信号处理与系统分析的MATLAB实现[M].电子工业出版社,2018.