华北电力大学数字信号处理实验报告.docx
- 文档编号:8097559
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:26
- 大小:741.55KB
华北电力大学数字信号处理实验报告.docx
《华北电力大学数字信号处理实验报告.docx》由会员分享,可在线阅读,更多相关《华北电力大学数字信号处理实验报告.docx(26页珍藏版)》请在冰豆网上搜索。
华北电力大学数字信号处理实验报告
华北电力大学实验报告
实验环境
MATLAB6.5
实验名称
提高性实验实验三IIR数字低通滤波器的设计
实验目的
1.熟悉MATLAB在数字信号处理方面的应用
2.深刻理解频域上的频谱特性
3.学会数字滤波器的设计
4.学会比较不同方法,不同参数设计的滤波器性能比较
实验原理
设计IIR数字滤波器一般采用间接法(冲激响应不变法和双线性变换法),该设计采用双线性不变法。
IIR的基本设计过程是:
首先,将给定的数字滤波器的指标转换成过渡的模拟滤波器的指标;其次,设计过渡模拟滤波器;最后,将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。
设计过程要事先预畸变。
由于从s平面到z平面的映射
具有多值性,使得设计出来的数字滤波器不可避免的出现频谱混迭现象。
为了克服脉冲响应不变法可能产生的频谱混叠效应的缺点,使用一种新的变换——双线性变换。
双线性变换法可认为是基于对微分方程的积分,利用对积分的数值逼近的思想。
仿真滤波器的传递函数H(s)为
将展开为部份分式的形式,并假设无重复极点,则
那么,对于上述函数所表达的数字信号处理系统来讲,其仿真输入x(t)和模拟输出y(t)有如下关系
实验原理
所谓的双线性变换,仅是指变换公式中s与z的关系无论是分子部份还是分母部份都是线性的。
预畸变公式为:
实验原理
巴特沃斯滤波器的特点是同频带内的频率响应曲线最为平坦,没有起伏,而在组频带则逐渐下降为零。
在振幅的对数对角频率的波特图上,从某一边界见频率开始,振幅随着角频率的增加而逐渐减少,趋向于负无穷大。
一阶巴特沃斯滤波器的衰减率为每倍频20分贝,二阶巴特沃斯滤波器的衰减率为每倍频12分贝,三阶的衰减率为每分贝18分贝,如此类推,巴特沃斯滤波器的振幅对角频率单调下降,并且滤波器的结束越高,在组频带振幅衰减速度越快,其他滤波器高阶的振幅对角频率图和低阶数的振幅对角频率有不同的形状。
巴特沃斯滤波器的设计实质上就是根据设计指标求阶数N和3dB截止频率Ωc的过程。
实验内容
一、实验内容
实验三实现IIR数字低通滤波器的设计(提高性实验)
用双线性变换法设计一个IIR数字Butterworth低通滤波器。
技术指标为:
通带截止频率fp=1kHz,阻带截止频率fs=1.5kHz,通带衰减Rp≤1dB,阻带衰减Rs≥40dB,采样频率Fs=10kHz。
绘出滤波器的幅频特性曲线和相频特性曲线,判断设计是否符合要求。
二、设计方案、步骤
设计一个非归一化的模拟巴特沃斯滤波器的原型函数,这个函数称为buttap_o(N,omega)
利用buttap_o函数,可以编制一个能设计给定指标的模拟巴特沃斯低通滤波器的函数afd_buttap()
编写计算模拟滤波器频率响应的函数freqs_m,这个函数以绝对值和相对值dB尺度计算幅度响应和相位响应。
编写sdirzcas()函数,它能将模拟滤波器的系统函数由直接型转换为级联型。
以上函数是模拟巴特沃斯滤波器设计中用到的函数,实验MATLAB设计模拟巴特沃斯滤波器时用到的参数有通带截止频率,阻带截止频率,通带的衰减波动,阻带的衰减波动。
根据具体参数调用上述函数编写程序,实现一个IIR数字Butterworth低通滤波器,并绘出滤波器的幅频特性曲线和相频特性曲线,判断设计是否符合要求。
三、实验源程序
%非归一化的巴特沃斯模拟低通滤波器的原型函数
function[b,a]=buttap_o(N,omega)
%UNTITLED2Summaryofthisfunctiongoeshere
%Detailedexplanationgoeshere
[z,p,k]=buttap(N);%内部函数
p=p*omega;k=k*omega^N;B=real(poly(z));
b0=k;b=k*B;a=real(poly(p));
end
%非归一化巴特沃斯模拟滤波器设计函数
function[b,a]=afd_buttap(wp,ws,Rp,As)
%UNTITLED3Summaryofthisfunctiongoeshere
%Detailedexplanationgoeshere
ifwp<=0
error('通带边缘必须大于0');
end
ifws<=0
error('阻带边缘必须大于0');
end
if(Rp<=0)||(As<0)
error('通带波动或阻带波动衰减必须大于0');
end
N=ceil((log10((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*log10(wp/ws)));
fprintf('\n***ButterworthFilterOrder=%2.0f\n',N);
omega=wp/((10^(Rp/10)-1)^(1/(2*N)));
[b,a]=buttap_o(N,omega);%非归一化的巴特沃斯模拟低通滤波器原型函数
End
%计算离散系统频率响应的函数
function[db,mag,pha,grd,w]=freqz_m(b,a)
%UNTITLED4Summaryofthisfunctiongoeshere
%Detailedexplanationgoeshere
[H,w]=freqz(b,a,1000,'whole');
H=(H(1:
1:
501))';w=(w(1:
1:
501))';
mag=abs(H);
db=20*log10((mag+eps)/max(mag));
pha=angle(H);
grd=grpdelay(b,a,w);
end
%直接型到级联型的转换函数
function[b0,B,A]=dir2cas(b,a)
%计算增益系数
b0=b
(1);b=b/b0;
a0=a
(1);a=a/a0;
b0=b0/a0;
%
M=length(b);N=length(a);
ifN>M
b=[bzeros(1,N-M)];
elseifM>N
a=[azeros(1,M-N)];N=M;
else
NM=0;
end
%
K=floor(N/2);B=zeros(K,3);A=zeros(K,3);
ifK*2==N
b=[b0];a=[a0];
end
%
broots=cplxpair(roots(b));
aroots=cplxpair(roots(a));
fori=1:
2:
2*K
Brow=broots(i:
1:
i+1,:
);
Brow=real(poly(Brow));
B(fix((i+1)/2),:
)=Brow;
Arow=aroots(i:
i+1,:
);
Arow=real(poly(Arow));
A(fix((i+1)/2),:
)=Arow;
end
主程序
%模拟滤波器指标
wp=0.2*pi;ws=0.3*pi;Rp=1;As=40;
%预畸变
fs=10000;T=1/fs;
omegap=(2/T)*tan(wp/2);
omegas=(2/T)*tan(ws/2);
[cs,ds]=afd_buttap(omegap,omegas,Rp,As);
%双线性变换
[b,a]=bilinear(cs,ds,fs);
[C,B,A]=dir2cas(b,a);
[db,mag,pha,grd,w]=freqz_m(b,a);
%画图
figure
(1);plot(w/pi,mag);
ylabel('|幅度|');xlabel('以\pi为单位的频率');title('幅度响应');gridon;
axis([00.801]);
figure
(2);plot(w/pi,db);title('幅度响应(db)');gridon;
ylabel('对数幅度/db');xlabel('以\pi为单位的频率');
axis([00.8-600]);
figure(3);plot(w/pi,pha);title('相位响应');gridon;
axis([00.8-44]);ylabel('相位');xlabel('以\pi为单位的频率');
实验结果及分析
1、实验结果:
2、实验分析
实验环境
MATLAB6.5
实验名称
提高性实验实验四利用窗函数法实现线性相位FIR数字低通滤波器设计
实验目的
1、根据ALPF指标,构建物理可实现的线性相位FIR滤波器的冲激响应函数;
2、采用多种窗函数,设计线性相位型FIR滤波器
4、对比分析多种窗函数法设计的数字滤波器性能。
实验原理
FIR滤波器通常采用窗函数方法来设计。
窗设计的基本思想是,首先选择一个适当的理想选频滤波器(它总是具有一个非因果,无限持续时间脉冲响应),然后截取(加窗)它的脉冲响应得到线性相位和因果FIR滤波器。
我们用Hd(e^jw)表示理想的选频滤波器,它在通带上具有单位增益和线性相位,在阻带上具有零响应。
一个带宽wc 为了从hd(n)得到一个FIR滤波器,必须同时在两边截取hd(n)。 而要得到一个因果的线性相位滤波器,它的h(n)长度为N,必须有: 这种操作叫做加窗,h(n)可以看做是hd(n)与窗函数w(n)的乘积: h(n)=hd(n)w(n)其中 根据w(n)的不同定义,可以得到不同的窗结构。 在频域中,因果FIR滤波器响应H(e^jw)由Hd(e^jw)和窗响应W(e^jw)的周期卷积得到,即 常用的窗函数有矩形窗、巴特利特(BARTLETT)窗、汉宁(HANNING)窗、哈明(HAMMING)窗、布莱克曼(BLACKMAN)窗、凯泽(KAISER)窗等 实验内容 一、实验内容 实验四利用窗函数法实现线性相位FIR数字低通滤波器设计(提高性实验) 用窗函数法设计一个线性相位FIR数字低通滤波器。 技术指标为: 通带截止角频率ωp=0.2π,阻带截止角频率ωs=0.3π,通带衰减Rp≤1dB,阻带衰减Rs≥40dB。 绘出滤波器的幅频特性曲线和相频特性曲线,判断设计是否符合要求。 根据相同的滤波器要求,选用不同的窗函数进行设计,比较各种窗函数对FIR数字滤波器频率特性的影响。 二、设计方案、步骤 FIR滤波器的设计方法有许多种,如窗函数设计法、频率采样设计法和最优化设计法等。 窗函数设计法的基本原理是用一定宽度窗函数截取无限脉冲响应序列获得有限长的脉冲响应序列,主要设计步骤为: 1给出希望设计的滤波器的频率响应函数 2根据允许的过渡带宽度及阻带衰减,初步选定窗函数和N值 3计算以下积分,求出 或 将 与窗函数相乘得FIR数字滤波器的冲激响应 计算FIR数字滤波器的频率响应 验证是否达到所要求的指标 三、实验源程序 %计算离散系统频率响应的函数 function[db,mag,pha,grd,w]=freqz_m(b,a) %UNTITLED4Summaryofthisfunctiongoeshere %Detailedexplanationgoeshere [H,w]=freqz(b,a,1000,'whole'); H=(H(1: 1: 501))';w=(w(1: 1: 501))'; mag=abs(H); db=20*log10((mag+eps)/max(mag)); pha=angle(H); grd=grpdelay(b,a,w); end %理想低通滤波器的计算函数 functionhd=ideal_lp(wc,M) %UNTITLEDSummaryofthisfunctiongoeshere %Detailedexplanationgoeshere alpha=(M-1)/2; n=[0: 1: (M-1)]; m=n-alpha+eps;%加一个很小的数以避免用零来除 hd=sin(wc*m)./(pi*m); end %用哈明窗函数设计FTR数字滤波器 wp=0.2*pi;ws=0.3*pi; N=51 n=[0: 1: N-1]; wc=(ws+wp)/2;%理想低通的截止频率 hd=ideal_lp(wc,N);%理想低通的冲激响应 w_ham=(hamming(N))'; h=hd.*w_ham;%FIR滤波器的冲激响应 [db,mag,pha,grd,w]=freqz_m(h,[1]); delta_w=2*pi/1000; Rp=-(min(db(1: 1: wp/delta_w+1)))%实际的通带衰减 As=-round(max(db(ws/delta_w+1: 1: 501)))%实际的最小阻带衰减 %plots subplot(2,2,1);plot(w/pi,mag);ylabel('|幅度|');xlabel('以\pi为单位的频率');title('幅度响应');gridon; axis([00.801]); subplot(2,2,3);plot(w/pi,db);title('幅度响应(db)');gridon; ylabel('对数幅度/db');xlabel('以\pi为单位的频率'); axis([00.8-1000]); subplot(2,2,2);plot(w/pi,pha);title('相位响应');gridon; axis([00.8-44]);ylabel('相位');xlabel('以\pi为单位的频率'); %用汉宁窗函数设计FTR数字滤波器 wp=0.2*pi;ws=0.3*pi; N=51; n=[0: 1: N-1]; wc=(ws+wp)/2;%理想低通的截止频率 hd=ideal_lp(wc,N);%理想低通的冲激响应 w_han=(hanning(N))'; h=hd.*w_han;%FIR滤波器的冲激响应 [db,mag,pha,grd,w]=freqz_m(h,[1]); delta_w=2*pi/1000; Rp=-(min(db(1: 1: wp/delta_w+1)))%实际的通带衰减 As=-round(max(db(ws/delta_w+1: 1: 501)))%实际的最小阻带衰减 %plots figure (2) subplot(2,2,1);plot(w/pi,mag);ylabel('|幅度|');xlabel('以\pi为单位的频率');title('幅度响应');gridon; axis([00.801]); subplot(2,2,3);plot(w/pi,db);title('幅度响应(db)');gridon; ylabel('对数幅度/db');xlabel('以\pi为单位的频率'); axis([00.8-1000]); subplot(2,2,2);plot(w/pi,pha);title('相位响应');gridon; axis([00.8-44]);ylabel('相位');xlabel('以\pi为单位的频率'); %用凯泽窗函数设计FIR数字滤波器 wp=0.2*pi;ws=0.3*pi; As=40; tr_width=ws-wp; N=ceil((As-7.95)/(14.36*tr_width/(2*pi))+1)+1%ceil为向右取整函数 n=[0: 1: N-1]; beta=0.1102*(As-8.7) wc=(ws+wp)/2;%理想低通的截止频率 hd=ideal_lp(wc,N); w_kai=(kaiser(N,beta))'; h=hd.*w_kai%FIR滤波器的冲激响应 [db,mag,pha,grd,w]=freqz_m(h,[1]); delta_w=2*pi/1000; Rp=-(min(db(1: 1: wp/delta_w+1)))%实际的通带衰减 As=-round(max(db(ws/delta_w+1: 1: 501)))%实际的最小阻带衰减 figure (1); subplot(2,2,1);stem(n,hd,'.');title('理想冲激响应'); xlabel('n');ylabel('hd(n)'); axis([0N-1-0.20.3]); subplot(2,2,2);stem(n,w_kai,'.');title('Kaiser窗'); xlabel('n');ylabel('w(n)'); axis([0N-101.1]); subplot(2,2,3); plot(w/pi,pha);title('相位响应');gridon; ylabel('相位');xlabel('以\pi为单位的频率'); subplot(2,2,4); plot(w/pi,db);title('幅度响应(dB)');gridon; ylabel('对数幅度/dB');xlabel('以\pi为单位的频率'); %用布莱克曼窗函数设计FIR数字滤波器 wp=0.2*pi;ws=0.3*pi; As=40; tr_width=ws-wp; N=ceil(12*pi/tr_width)+1 n=[0: 1: N-1]; wc=(ws+wp)/2;%理想低通的截止频率 hd=ideal_lp(wc,N);%理想低通的冲激响应 w_bla=(blackman(N))'; h=hd.*w_bla; [db,mag,pha,grd,w]=freqz_m(h,[1]); delta_w=2*pi/1000; Rp=-(min(db(1: 1: wp/delta_w+1)))%实际的通带衰减 As=-round(max(db(ws/delta_w+1: 1: 501)))%实际的最小阻带衰减 figure(4); subplot(2,2,1);stem(n,hd,'.');title('理想冲激响应'); xlabel('n');ylabel('hd(n)'); axis([0N-1-0.20.3]); subplot(2,2,2);stem(n,w_bla,'.');title('布莱克曼窗'); xlabel('n');ylabel('w(n)'); axis([0N-101.1]); subplot(2,2,3);plot(w/pi,pha);title('相位响应');gridon; xlabel('以\pi为单位的频率');ylabel('相位'); subplot(2,2,4);plot(w/pi,db);title('幅度响应(dB)');gridon; xlabel('以\pi为单位的频率');ylabel('对数幅度/dB'); 1、实验结果 1)哈明窗 2)汉宁窗 3)凯泽窗 5)布莱克曼窗 2、结果分析
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华北电力 大学 数字信号 处理 实验 报告