联系人: 邓经理
手机: 15655165750
电话: 15655165750
邮箱: 2479058516@qq.com
地址: 安徽省合肥市高新区柏堰科技园众望分园E13号301-401室
IIR数字滤波器的设计
一、实验目的
1、掌握IIR数字滤波器的设计原理和方法;
掌握掌握和理解FFT傅里叶快速变换的用法
3、掌握设计IIR数字滤波器的冲激响应不变;
4、掌握IIR实现数字滤波器软件的方法。
二、实验内容
2.数字滤波器的设计基于以下指标:通带要求ωp≤0.2π允许的范围误差小于1dB,在阻带ωs≥0.3π内部,衰减应大于15dB;通带幅度归一化,使其在ω=0处为0 dB。
2.2 巴特沃斯是基于冲击响应不变法设计的IIR画出其幅频特性和相频特性的数字滤波器;
2.3 验证设计的巴特沃斯滤波器的功能,并分析实验结果
三、实验步骤和过程
3.巴特沃斯利用冲激响应不变法设计IIR低通数字滤波器
首先由书上P设计307页的指标是:
要求在通带ωp≤0.2π允许的范围误差小于1dB,在阻带ωs≥0.3π内部,衰减应大于15dB;通带幅度归一化,使其在ω=0处为0 dB。
由于设计的Wp=0.2pi,Ws=0.3pi,设计的Fs=800Hz,所以设计的Ts=0.00125s,T=0.08s;由于Wp=0.2pi,通带频率Fp=80Hz,Ws=0.3pi,获取阻带截止频率Fs=120Hz,最大通带衰减为1dB,最小阻带衰减为15dB(大于15dB)
利用MATLAB的fdatool设计巴特沃斯的工具箱IIR滤波器:
巴特沃斯IIR低通滤波器的设计:首先设计Ts=0.00125s,T=0.08s;由于Wp=0.2pi,求到Fp=80Hz,Ws=0.3pi,求到Fs=120Hz,通带衰减为1dB,阻带衰减为15dB。
巴特沃斯IIR数字滤波器的容查图
滤波器的振幅频特性如下:
相频特性如下:
3.巴特沃斯是通过计算机编程设计的IIR低通滤波器
3.2.1冲激响应不变设计:
滤波器的振幅和相频特性是
3.2.双线性变换设计:
滤波器的振幅和相频特性是
3.3巴特沃斯IIR滤波器验证:
首先设计的Ts=0.00125s,T=0.08s;由于Wp=0.2pi,求到Fp=80Hz,Ws=0.3pi,求到Fs=120Hz,通带衰减为1dB,阻带衰减为15dB。
3.3.首先从50开始设计一个信号Hz到250Hz叠加信号,信号从0-80开始ms每隔Ts=0.00125s离散采集:
Fs=800; % 采样频率800Hz
t=0:1/Fs:0.08;%将0.08s按采样时间Ts分成 ** 份
s50=sin(2*50*pi*t); % 产生50Hz正弦波
s100=1.5*sin(2*100*pi*t); % 产生100Hz正弦波
s200=2.5*cos(2*200*pi*t);%产生200Hz的正弦波
s250=2.5*cos(2*250*pi*t);%产生250Hz的正弦波
s=s50 s100 s200 s250; % 信号叠加
3.3.二是叠加离散信号FFT频谱分析
当N= ** 时,FFT频谱为:
当N=128时,FFT频谱为:
当N=256时,FFT频谱为:
当N=256时,FFT频谱为:
取N= ** 后的FFT后续分析频谱
3.3.信号s通过巴特沃斯通过IIR滤波器滤波后:
50Hz的信号和FFT频谱为:
100Hz的信号和FFT频谱为:
200Hz的信号和FFT频谱为:
250Hz的信号和FFT频谱为:
3.3.对滤波前后的频谱图形进行对比分析:
可分析,50Hz和100Hz信号未过滤,但250Hz和200Hz由于阻带截止频率为Fs=120Hz,所以50Hz与100Hz信号保留,2000Hz和250Hz过滤掉信号。
四、实验结论
通过滤波器的验证可以得出结论,设计IIR数字滤波器50Hz和100Hz信号未过滤,但250Hz和200Hz由于阻带截止频率为Fs=120Hz,所以50Hz与100Hz信号保留,2000Hz和250Hz过滤掉信号。
五、实验经验
本实验基本应不变法和双线性变换法,本实验基本达到了实验目的IIR数字滤波器验证了设计的滤波器的实际功能。通过分析,双线性变换法的振幅频率特性与冲击响应不变法基本相同,相频特性略有不同。双线性变换法不会产生频谱混合叠加,滤波器更稳定。在过滤器验证过程中,信号叠加并使用N= ** 点的FFT通过使用巴特沃斯设计的频谱进行分析IIR低通滤波器可以发现S信号通过巴特沃斯IIR低通滤波器保留低频信号,高频信号过滤,符合滤波器的功能,验证了设计滤波器的正确性和可用性。通过这次实验,我深得自己缺乏知识,希望以后能更好的利用频谱分析工具进行以后的学习和分析。本实验加强了对频谱的理解,提高了自身MATLAB实际水平。
五、附录代码:
5.巴特沃斯IIR数字滤波器设计代码:
T=2;
fs=1/T; 采样频率%为采样周期倒数
Wp=0.2.*pi;
Ws=0.3.*pi; %设计归一化通带阻带截止频率
Ap=1;
As=15; %设置通带最大最小衰减
[N,Wc]=buttord(Wp,Ws,Ap,As,'s'); %调用butter 确定巴特沃斯滤波器阶数
[B,A]=butter(N,Wc,'s'); %调用butter 巴特沃斯滤波器函数设计
W=linspace(0,pi,400*pi); %指定频率值
[D,C]=impinvar(B,A,fs); %调用冲击响应不变法
Hz=freqz(D,C,W); %·返回频率值
plot(W/pi,abs(Hz)/abs(Hz(1))); 巴特沃斯数字低通滤波器的幅频率为%
grid on;
title(' 巴特沃斯低通数字滤波器');
xlabel('Frequency/Hz'); ylabel('Magnitude');
5.巴特沃斯IIR数字滤波器代码:
wp=0.2*pi; %通带边界频率
ws=0.3*pi; %阻带截止频率
Wp=1; %通带最大衰减
Ws=15; %阻带最小衰减
fs=1; %采样频率
ts=1/fs; %采样周期
wp2=2*fs*tan(wp/2*ts); %预畸变校正
ws2=2*fs*tan(ws/2*ts); %预畸变校正
[n,wn]=buttord(wp2,ws2,Wp,Ws, 's' ) 将预畸变后获得的归一化模拟频率参数带入%
[z,p,k]=buttap(n) %创建归一化BUTTERWORTH模拟低通原型滤波器
[bap,aap]=zp2tf(z,p,k) 将滤波器零极点模型转化为传递函数模型
[b,a]=lp2lp(bap,aap,wn) 将模拟滤波器原型转换为截止频率%Wn模拟低通滤波器
[bz,az]=bilinear(b,a,fs); 从模拟滤波器到数字滤波器的转换%采用双线性转换法实现
[h,w]=freqz(bz,az); %绘制频率响应曲线
subplot(2,1,1);
plot(w/pi,abs(h));
grid on
xlabel( ' 频率' );
ylabel( ' 幅度' );
subplot(2,1,2);
plot(w/pi,20*log10(abs(h)));
grid on
xlabel( ' 频率' );
ylabel( ' 幅度' );
5.3数字滤波器验证MATLAB代码:
IIR滤波器设计
目的:设计8000个采样频率Hz、截止频率为80Hz、阻带截止频率为120Hz低通滤波器要求通带最大衰减为1dB,阻带最小衰减为15dB。
1. 产生信号(50频率)Hz-250Hz正弦波叠加)
Fs=800; % 采样频率800Hz
t=0:1/Fs:0.08;
s50=sin(2*50*pi*t); % 产生50Hz正弦波
s100=1.5*sin(2*100*pi*t); % 产生100Hz正弦波
s200=2.5*cos(2*200*pi*t);%产生200Hz的正弦波
s250=2.5*cos(2*250*pi*t);%产生250Hz的正弦波
s=s50 s100 s200 s250; % 信号叠加
figure(1); % 画图
subplot(2,1,1);stem(s);grid;
title(';原始信号');
2. FFT分析信号频谱
len = ** ;
y=fft(s,len); % 对信号做len点FFT变换
f=Fs*(0:len/2 - 1)/len;
subplot(2,1,2);stem(f,abs(y(1:len/2)));grid;
title(';原始信号频谱;')
xlabel('Hz');ylabel('幅值');
3. IIR滤波器设计
N=0; % 阶数
Fp=80; % 截止频率为80Hz
Fc=120; % 阻带截止频率120Hz
Wp=1; % 通带波纹最大衰减为1dB
Ws=15; % 阻带衰减为15dB
3.0 计算最小滤波器阶数
na=sqrt(10^(0.1*Wp)-1);
ea=sqrt(10^(0.1*Ws)-1);
N=ceil(log10(ea/na)/log10(Fc/Fp));
3.1 巴特沃斯滤波器
Wn=Fp*2/Fs;
[Bb Ba]=butter(N,Wn,'low'); % 调用MATLAB butter滤波器快速设计函数
[BH,BW]=freqz(Bb,Ba); % 绘制频率响应曲线
Bf=filter(Bb,Ba,s); % 低通滤波
By=fft(Bf,len); % 对信号f1做len点FFT变换
figure(2); % 画图
subplot(2,1,1);plot(t,s250,'blue',t,Bf,'red');grid;
legend('250Hz原始信号',';巴特沃斯滤波器滤波后');
subplot(2,1,2);stem(f,abs(By(1:len/2)));grid;
title('.巴特沃斯低通滤波后的信号频谱');
xlabel('Hz');ylabel('幅值');
5.4滤波器结构设计代码:
function [ A ] = IIRDF(A,N)
%UNTITLED8 Sum ** ry of this function goes here
% Detailed explanation goes here
x=[0 0 0];y1=[0 0 0];y2=[0 0 0];y=[0 0 0];
for n=1:N
x(1)=A(n);
y1(1)=1.31432*y1(2)-0.71489*y1(3) 0.08338*x(1) 0.16676*x(2) 0.08338*x(3);
x(3)=x(2);
x(2)=x(1);
y2(1)=1.0541*y2(2)-0.37534*y2(3) 0.08388*y1(1) 0.16676*y1(2) 0.08338*y1(3);
y1(3)=y1(2);
y1(2)=y1(1);
y(1)=0.94592*y(2)-0.23422*y(3) 0.08388*y2(1) 0.16676*y2(2) 0.08338*y2(3);
y2(3)=y2(2);
y2(2)=y2(1);
y(3)=y(2);
y(2)=y(1);
A(n)=y(1);
end
end
5.5.验证前后对比分析代码:
f=50;
T0=1/f;
Ts=0.00125;
N=0.08/Ts;
for n=0:N-1
SS(n 1)=sin(2*pi*f*n*Ts) 1.5*sin(2*pi*2*f*n*Ts)+2.5*cos(2*pi*4*f*n*Ts)+2.5*cos(2*pi*5*f*n*Ts);
end
subplot(2,2,1);
t=0:Ts:(N-1)*Ts;
stem(t,SS)
xlabel('t/s');
ylabel('x(t)/A');
title('滤波前时域波形');
grid on
yy=fft(SS);
deltaf=1/(N*Ts);
yy=yy./N;
subplot(2,2,2);
f=0:deltaf:N/2*deltaf;
stem(f,abs(yy(1:N/2+1)))
title('滤波前幅频特性');
grid on
A=IIRDF(SS,length(SS));
subplot(2,2,3);
t=0:Ts:(N-1)*Ts;
stem(t,A)
xlabel('t/s');
ylabel('x(t)/A');
title('滤波后时域特性');
grid on
zz=fft(A);
deltaf=1/(N*Ts);
zz=zz./N;
subplot(2,2,4);
f=0:deltaf:N/2*deltaf;
stem(f,abs(zz(1:N/2+1)))
title('滤波后频域特性');
- 上一篇:陷波滤波器是什么?陷波滤波器的介绍
- 下一篇:开关电源变压器是由什么成分组成的?
-
2022-11-14贴片线圈电感测量-告诉你测量方法
-
2023-03-28大功率变压器原理
-
2022-12-08电流互感器和电压互感器如何分类?
-
2023-02-10(干货分享)差模电感与共模电感
-
2023-02-06移相全桥谐振电感
-
2023-01-31精密模具开发制作的过程中,要满足哪些制作条件才可以呢?