实验四数字滤波器设计及应用综合实验教材.docx
- 文档编号:2384182
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:16
- 大小:133.03KB
实验四数字滤波器设计及应用综合实验教材.docx
《实验四数字滤波器设计及应用综合实验教材.docx》由会员分享,可在线阅读,更多相关《实验四数字滤波器设计及应用综合实验教材.docx(16页珍藏版)》请在冰豆网上搜索。
实验四数字滤波器设计及应用综合实验教材
实验四数字滤波器设计及应用综合实验
班级:
电子121班姓名:
李金恩学号:
122114
一、实验目的
1.熟悉IIR数字滤波器的设计原理及方法。
2.熟悉FIR数字滤波器的设计原理及方法。
3.掌握利用Matlab实现数字滤波器的方法
4.掌握利用数字滤波器进行信号处理的方法。
5.了解基于Simulink的动态仿真实现信号滤波的基本方法。
二、实验内容及要求
综合运用数字滤波器设计的相关知识,根据给定设计方法要求,用脉冲响应不变法和双线性变换法设计IIR数字滤波器;利用窗函数设计法设计FIR数字滤波器。
根据实际信号的频谱特性,分析、确定滤波器设计技术指标,实现对信号的滤波。
1.IIR数字滤波器设计
(1)用脉冲响应不变法设计巴特沃斯数字滤波器。
(2)用双线性变换法设计切比雪夫数字滤波器。
(3)用双线性变换法设计巴特沃斯数字滤波器。
并将直接型结构转换成级联型结构。
实验所需程序及函数
%butterworth低通滤波器原型设计函数,要求Ws﹥Wp﹥0,As﹥Rp﹥0。
function[b,a]=afd_butt(Wp,Ws,Rp,As);
N=ceil((log10((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*log10(Wp/Ws)));
%上条语句为求滤波器阶数,函数ceil朝正无穷大方向取整;
fprintf('\nButterworthFilterOrder=%2.0f\n',N);
OmegaC=Wp/((10^(Rp/10)-1)^(1/(2*N)));%求对应于N的3db截止频率;
[b,a]=u_buttap(N,OmegaC);
%非归一化Butterworth模拟低通滤波器原形设计函数
%得到的b,a分别为传输函数分子、分母多项式系数;
function[b,a]=u_buttap(N,Omegac);
[z,p,k]=buttap(N);%归一化巴特沃思模拟低通滤波器原形
%传输函数用极点形式表示
p=p*Omegac;%将代入上式,相当于分子乘以,极点乘以
k=k*Omegac^N;
B=real(poly(z));%poly为构造具有指定根的多项式real为求实部
b=k*B;
a=real(poly(p));
%利用脉冲响应不变法从模拟到数字滤波器变换函数
function[b,a]=imp_invr(c,d,T)
[R,p,k]=residue(c,d);%部分分式展开
p=exp(p*T);%从模拟到数字极点对应关系,部分分式系数相同
[b,a]=residuez(R,p,k);%将部分分式的形式变换成多项式之比的形式
b=real(b');%求出数字滤波器系数
a=real(a');
%非归一化切比雪夫I型模拟低通滤波器原型设计
function[b,a]=u_chb1ap(N,Rp,Omegac)
[z,p,k]=cheb1ap(N,Rp);%归一化切比雪夫1型模拟低通滤波器原形
a=real(poly(p));%以下步骤实际上与求巴特沃思滤波器的原理
aNn=a(N+1);%一样,只是所用方法稍有不同。
p=p*Omegac;
a=real(poly(p));
aNu=a(N+1);
k=k*aNu/aNn;
B=real(poly(z));
b=k*B;
%频率响应函数freqz的修正,此函数可获得滤波器的幅值响应、相位响应及群延迟响应
function[db,mag,pha,w]=freqz_m(b,a);
[H,w]=freqz(b,a,1000,'whole');%在0-2*pi之间选取N个点计算频率响应
H=(H(1:
501))';%频率响应
w=(w(1:
501))';%频率
mag=abs(H);%响应幅度
db=20*log10((mag+eps)/max(mag));%增益
pha=angle(H);%相位
%变直接形式为级联形式
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)];
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));%roots:
求多项式的根
fori=1:
2:
2*K
Brow=broots(i:
1:
i+1,:
);
Brow=real(poly(Brow));
B(fix(i+1)/2,:
)=Brow;
Arow=aroots(i:
1:
i+1,:
);
Arow=real(poly(Arow));
A(fix(i+1)/2,:
)=Arow;
End
2.FIR数字滤波器设计
用窗函数法设计FIR数字低通滤波器(窗函数选择两种)。
要求求出数字滤波器的阶数,并画出频率特性。
FIR数字滤波器设计指标为wp=0.2*pi;Rp=1db;ws=0.3*pi;As=20db。
1该程序由学生自己设计。
2产生理想低通滤波器的冲激响应函数functionhd=ideal_lp(wc,M),见本实验“具体实验内容说明→有关函数说明”。
3.利用数字滤波器实现DTMF信号的提取
双音多频(DualToneMultiFrequency)信号是音频电话中的拨号信号,每一个数字(0-9)由两个不同频率单音组成(每个单音用正弦信号表示),所用频率分为高频带和低频带两组,每个数字由高、低频带中各一个频率组成,例如数字9使用852Hz和1477Hz两个频率。
数字与符号对应频率关系见表3-1所示。
实验涉及到的程序:
functionhd=ideal_lp(wc,M)
alpha=(M-1)/2;%
n=[0:
(M-1)];
m=n-alpha+eps;%eps是一个非常小的数,防止m为零
hd=sin(wc*m)./(pi*m);%
表3-1双频拨号的频率分配
1209Hz
1336Hz
1477Hz
1633Hz
697Hz
1
2
3
A
770Hz
4
5
6
B
852Hz
7
8
9
C
941Hz
*
0
#
D
设计要求:
(1)通过查阅资料,了解电话中DTMF信号的产生与检测方法。
(2)自己选择一个数字(0-9),通过数字方法产生该数字的双频信号;设采样频率为8000Hz。
(3)根据该信号的频率特性,确定滤波器类型及技术指标,将两个单音分别提取出来。
(4)画出数字滤波器输入、输出信号的波形及频谱。
(5)要求自拟实验方案实现。
三、实验步骤
IIR数字滤波器设计:
已知:
IIR数字滤波器设计指标为wp=0.2*pi;ws=0.3*pi;Rp=1db;As=15db。
(1)用脉冲响应不变法设计巴特沃斯数字滤波器
实验程序:
wp=0.2*pi;ws=0.3*pi;Rp=1;As=15;T=1;
OmegaP=wp/T;OmegaS=ws/T;
[cs,ds]=afd_butt(OmegaP,OmegaS,Rp,As);
[b,a]=imp_invr(cs,ds,T)
[db,mag,pha,w]=freqz_m(b,a);
subplot(2,1,1);plot(w/pi,mag);
title('digitalfilterMagnitudeResponse')
axis([0,1,0,1.1])
subplot(2,1,2);plot(w/pi,db);
title('digitalfilterMagnitudeinDB')
axis([0,1,-40,5]);
实验结果:
N=
6
ButterworthFilterOrder=6
OmegaC=
0.7032
b=
0.1209
a=
1.00002.71703.69103.17881.82520.66440.1209
b=
0.0000
0.0006
0.0101
0.0161
0.0041
0.0001
a=
1.0000
-3.3635
5.0684
-4.2759
2.1066
-0.5706
0.0661
(2)用双线性变换法设计切比雪夫数字滤波器。
实验程序:
wp=0.2*pi;ws=0.3*pi;Rp=1;As=15;T=1;
OmegaP=(2/T)*tan(wp/2);
OmegaS=(2/T)*tan(ws/2);
ep=sqrt(10^(Rp/10)-1);
Ripple=sqrt(1/(1+ep*ep));
Attn=1/(10^(As/20));
A1=1/Attn;a1=sqrt(A1*A1-1)/ep;
a2=OmegaS/OmegaP;
N=ceil(logm(a1+sqrt(a1*a1-1))/logm(a2+sqrt(a2*a2-1)));
fprintf('\nChebyshevFilterOrder=%2.0f\n',N)
[cs,ds]=u_chb1ap(N,Rp,OmegaP);
[b,a]=bilinear(cs,ds,1/T)
[db,mag,pha,w]=freqz_m(b,a);
subplot(2,1,1);plot(w/pi,mag);
title('digitalfilterMagnitudeResponse');axis([0,1,0,1.1])
subplot(2,1,2);plot(w/pi,db);
title('digitalfilterMagnitudeinDB');axis([0,1,-40,5]);
实验结果:
ChebyshevFilterOrder=4
b=
0.00180.00730.01100.00730.0018
a=
1.0000-3.05433.8290-2.29250.5507
(3)用双线性变换法设计巴特沃斯数字滤波器。
并将直接型结构转换成级联型结构。
wp=0.2*pi;ws=0.3*pi;Rp=1;As=15;T=1;
OmegaP=(2/T)*tan(wp/2);
OmegaS=(2/T)*tan(ws/2);
[cs,ds]=afd_butt(OmegaP,OmegaS,Rp,As);
[b,a]=bilinear(cs,ds,T)
[db,mag,pha,w]=freqz_m(b,a);
subplot(2,1,1);plot(w/pi,mag);
title('digitalfilterMagnitudeResponse');axis([0,1,0,1.1])
subplot(2,1,2);plot(w/pi,db);
title('digitalfilterMagnitudeinDB');axis([0,1,-4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 数字滤波器 设计 应用 综合 教材