实验4-滤波器设计.doc

上传人:豆**** 文档编号:17551794 上传时间:2022-05-24 格式:DOC 页数:11 大小:251.50KB
返回 下载 相关 举报
实验4-滤波器设计.doc_第1页
第1页 / 共11页
实验4-滤波器设计.doc_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《实验4-滤波器设计.doc》由会员分享,可在线阅读,更多相关《实验4-滤波器设计.doc(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流实验4-滤波器设计.精品文档.实 验 报 告学生姓名: 学 号: 指导教师:一、实验室名称:数字信号处理实验室二、实验项目名称:数字滤波器的设计及实现三、实验原理:一 数字滤波器设计:1 数字滤波器设计步骤:(1) 根据给定的滤波器设计要求,得到参数化描述,即通带,阻带截止频率和,通带阻带纹波和等数据。(2) 找一个数字系统函数G(z),使其频率响应逼近设计要求。(3) 择合适的滤波器结构对满足要求的传递函数G(z)进行实现。2 数字滤波器设计中的注意事项:)(wjeGPd+1Pd-1sdSw-Pw-PwSw通带阻带过渡带w图1.典型的数字L

2、PF幅频特性(1) 设计要求的参数化:图1给出了一个典型的数字低通滤波器的幅频特性说明。理解每个参数的物理含义。(2) 滤波器类型选择:在数字滤波器实现中可选择IIR滤波器和FIR滤波器两种。在实现相同幅频特性时,IIR滤波器的阶数会相对FIR滤波器的更低;而在实现中,对相同阶数的两种滤波器来看,对每个采样值所做的乘法数量,IIR约为FIR的两倍;另外,FIR还可以方便地设计成线性相位滤波器。总的来说,IIR滤波器除不能实现线性相位这一点外,由于阶数的原因,从计算复杂度上较FIR滤波器有很大的优势。根据以上这些区别,结合实际的设计要求,就可以选择一款合适的滤波器。(3) 波器设计的方法:由于I

3、IR滤波器和FIR滤波器各自的结构特点,所以它们的设计方法也不一样。在IIR滤波器的设计中,常用的方法是:先根据设计要求寻找一个合适的模拟原型滤波器,然后根据一定的准则将此模拟原型滤波器转换为数字滤波器,即为我们需要设计的数字滤波器。在FIR滤波器设计中,一般使用比较直接的方法:根据设计的要求在时域对理想的冲击响应序列进行加窗逼近,或从频域对需要实现的频率响应特性进行采样逼近然后进行反FFT。(4) 波器阶数估计:IIR滤波器的阶数就等于所选的模拟原型滤波器的阶数,所以其阶数确定主要是在模拟原型滤波器设计中进行的。FIR滤波器阶数估计可以根据很多工程中的经验公式,这些公式可以直接从设计的参数要

4、求中估计滤波器阶数。例如,对FIR低通滤波器,已知通带截止频率,阻带截止频率,最大通带纹波和最大最带纹波,则可以使用下面的公式估计其阶数:3 数字滤波器的设计方法:(1) IIR滤波器设计方法:(a) 冲击响应不变法:A. 满足设计要求的模拟原型滤波器进行部分分式展开为:B. 由于 ,可以得到:(b) 双线性变换法:A. 设计要求中给出的边界频率进行预畸处理,然后用得到的频率进行模拟滤波器设计,得到模拟原型滤波器。B. 用双线性变换法求出数字滤波器:。(2) FIR滤波器设计方法:(a) 窗函数法:A. 根据设计的要求选择合适的窗函数,然后根据此窗计算阶数等参数N。B. 写出冲击响应序列的表达

5、式:,其中,为理想的冲击响应序列,一般为无限长的,为长度为N的窗函数。C. 计算所得冲击响应序列的DTFT,然后验证其是否满足设计要求。(b) 频率采样法:A. 根据设计要求估算滤波器阶数N。B. 对要求的频率响应特性进行采样,获得N个离散样点值H(k)。C. 对H(k)求N点IFFT,得到所需要的滤波器冲击响应序列h(n)。D. 计算所得冲击响应序列的DTFT,然后验证其是否满足设计要求。4 滤波器的实现结构(a) FIR滤波器:直接型实现结构级联结构并联结构多相实现结构线性相位型结构(b) IIR滤波器:直接型实现结构:I型和II型级联结构并联结构具体结构形式参见教材第六章内容。二 在滤波

6、器设计中使用到的MATLAB命令:1. IIR滤波器设计函数:butter, buttord, chebwin, cheb1ord, cheb2ord, cheby1, cheby2, ellip, ellipord。例如:用下面的MATLAB命令可估算一个Butterworth滤波器的阶数:N, Wn = buttord(Wp, Ws, Rp, Rs)2. FIR滤波器设计函数:fir1, fir2, remez, remezord, kaiser, kaiserord, hanning, hamming, blackman。例如:用下面的MATLAB命令可根据式(7.18)估算一个FIR滤

7、波器阶数:N, fpts,mag,wt = remezord(fedge,mval,dev)3. MATLAB中提供的滤波器设计辅助设计软件(在命令窗口中键入“fdatool”即可启动),界面如下图1所示。在本界面中填写需要设计的滤波器参数,即可设计出需要的滤波器。还可以通过本工具提供的幅度,相位观察窗口观察设计出来的滤波器的幅度,相位特性等,并可以将设计好的滤波器冲激响应系数导出进行实现。图1 MATLAB中滤波器辅助设计软件界面四、实验目的:从理论上讲,任何的线性时不变(LTI)离散时间系统都可以看做一个数字滤波器,因此设计数字滤波器实际就是设计离散时间系统。本实验通过使用MATLAB函数

8、和滤波器辅助设计软件对数字滤波器进行设计和实现,加深学生对数字滤波器的常用指标、设计过程及实现的理解。五、实验内容:对给定的输入信号(基带二进制码元为500Hz,两个载频分别为2kHz和4kHz的FSK调制信号)进行滤波。利用MATLAB编程设计一个数字低通滤波器,指标要求如下:通带截止频率:;阻带截止频率:;采样频率;通带峰值起伏:;最小阻带衰减:。要求分别用MATLAB中的IIR和FIR设计命令进行滤波器设计,得出需要的滤波器系数。再将得到的滤波器系数在MATLAB中编程进行实现(选择直接型实现结果),对输入信号进行滤波,观察滤波结果。在提供的DSP实验板上编程对本滤波器过程进行实现,观察

9、实际的滤波结果,并与理论结果对比。六、实验器材(设备、元器件):安装MATLAB软件的PC机一台,DSP实验演示系统一套。七、实验步骤:(1) 给定输入信号:FSK信号(输入的二进制待调信号为随机信号,码元频率为500Hz,两个载频分别为2kHz和4kHz,采样频率为20kHz,)。利用MATLAB编程产生本信号,画出其时域和频域的图像。(2) 利用MATLAB编程设计一个数字低通滤波器,指标要求如下:通带截止频率:;阻带截止频率:;采样频率;通带峰值起伏:;最小阻带衰减:。(3) 分别用MATLAB中的IIR和FIR设计命令进行滤波器设计,得出需要的滤波器系数。(4) (拓展要求)用MATL

10、AB滤波器辅助设计软件对上述滤波器进行设计,并将得到的滤波器系数对输入信号进行滤波,观察滤波实现。(5) 将得到的滤波器系数在MATLAB中编程进行实现(选择直接型实现结果进行实现),对(1)中的输入信号进行滤波(分别用FIR和IIR滤波器进行),观察滤波结果,画出时域和频域图像。(6) (拓展要求)修改需要设计的滤波器的指标要求,比如:将通带截止频率修改为2kHz,或者将最小阻带衰减改为,这时再重复(3)和(5)的步骤,观察所得到的滤波器效果,并对这一结果进行解释。(7) (拓展要求)在提供的DSP实验板上编程对滤波器滤波过程进行实现,观察实际的滤波结果,并与理论结果对比。八、 实验数据及结

11、果分析:(1)产生输入FSK信号的程序 程序:N=input(二进制序列长度=);b=randint(1,N,2); %二进制序列rb=500; %比特率为500A=10; %调制信号的幅度f1=2000; %载频f1为2000f2=4000; %载频f1为4000fs=20000; %采样频率20kHzTime=1/rb; %脉冲保持时间Num=fs*Time; %一个脉冲采样多少点High_Level=ones(1,Num); Low_Level=zeros(1,Num);signal=zeros(1,Num*N);%调制后的信号signal_y=zeros(1,Num*N);%基带信号t

12、=0:1/fs:N*Time-1/fs;for I=1:N %原始脉冲信号 if b(I)=1 signal_y(I-1)*Num+1:I*Num)=High_Level; else signal_y(I-1)*Num+1:I*Num)=Low_Level; endendfor I=1:N %实现FSK调制 if b(I)=1 signal(I-1)*Num+1:I*Num)=A*sin(2*pi*f1*t(I-1)*Num+1:I*Num); else signal(I-1)*Num+1:I*Num)=A*sin(2*pi*f2*t(I-1)*Num+1:I*Num); endendH,om

13、ega=freqz(signal,1); %得到调制后频谱subplot(311)plot(t,signal_y) axis(0,N*Time-1/fs,0,2)title(基带信号时域波形)subplot(312)plot(t,signal)title(FSK调制后的时域波形)subplot(313)plot(omega*fs/(2*pi),abs(H)title(FSK调制后信号频域波形)其调制后时域频域波形如下:结果分析: (1)实验中取了20个二进制随机序列,形成了如上图所示的基带信号 的时域脉冲信号。 (2)取F1=2kHz ,F2=4kHz 的载频信号,进行FSK调制,同时实验中

14、用到的采样频率Fs=20kHz。得到如上图所示的时域波形与频域波形。 其中当脉冲取1时,时域在该时刻为频率为2kHz的正弦信号,频域 低频信号移到2kHz为中心的区域;当脉冲取0时,时域在该时刻为 频率为4kHz的正弦信号,频域低频信号移到4kHz为中心的区域。 便得到了FSK的调制信号。(2) FIR滤波器设计程序 程序如下:N=input(二进制序列长度=);b=randint(1,N,2); %二进制序列rb=500; %比特率为500A=10; %调制信号的幅度f1=2000; %载频f1为2000f2=4000; %载频f1为4000fs=20000; %采样频率20kHzTime=

15、1/rb; %脉冲保持时间Num=fs*Time; %一个脉冲采样多少点High_Level=ones(1,Num); Low_Level=zeros(1,Num);signal=zeros(1,Num*N);%调制后的信号signal_y=zeros(1,Num*N);%基带信号t=0:1/fs:N*Time-1/fs;for I=1:N %原始脉冲信号 if b(I)=1 signal_y(I-1)*Num+1:I*Num)=High_Level; else signal_y(I-1)*Num+1:I*Num)=Low_Level; endendfor I=1:N %实现FSK调制 if

16、b(I)=1 signal(I-1)*Num+1:I*Num)=A*sin(2*pi*f2*t(I-1)*Num+1:I*Num); else signal(I-1)*Num+1:I*Num)=A*sin(2*pi*f1*t(I-1)*Num+1:I*Num); endendfp=2200; %通带截止频率fs1=3500; %阻带截止频率fc=20000; %采用频率ap=1; %通带峰值起伏为1dBas=40; %最小阻带衰减为40dBwp=2*pi*fp/fc; %归一化的通带截止角频率ws=2*pi*fs1/fc; %归一化的阻带截止角频率dw=ws-wp; M=3.11*pi/dw;

17、N=ceil(2*M+1); %窗函数的阶数W=hann(N+1); %汉宁窗函数wn=(ws+wp)/(2*pi);b=fir1(N,wn,W); %进行加窗%freqz(b,1,512) %得低通滤波器的频谱b=fir1(N,wn,W);H3,omega3=freqz(b,1,512) %滤波器的频率H1,omega1=freqz(signal,1); %调制后的频率y=filter2(b,signal); H2,omega2=freqz(y,1); %滤波之后的频率响应figure(1)subplot(211)plot(t,signal)title(滤波前的时域波形)subplot(21

18、2)plot(t,y)title(滤波后的时域波形)figure(2)subplot(311)plot(omega1*fs/(2*pi),abs(H1)title(滤波前的频谱)subplot(312)plot(omega2*fs/(2*pi),abs(H2)title(滤波后的频谱)subplot(313)plot(omega3*fs/(2*pi),abs(H3)title(滤波器的频谱) 结果分析: 程序用汉宁窗进行加窗处理,并计算出所需最小阶数为50,且 其采样频率为20kHz,其通带截止频率为2.2kHz,阻带截止频率 为3.5kHz。用该滤波器对FSK调制信号进行滤波,将高频频谱 4

19、kHz的信号滤掉,得到的时域,频率波形如下: FIR滤波前后时域的波形如下: FIR滤波前后频率的波形及FIR滤波器如下:(3) IIR滤波器设计程序 程序如下:N=input(二进制序列长度=);b=randint(1,N,2); %二进制序列rb=500; %比特率为500A=10; %调制信号的幅度f1=2000; %载频f1为2000f2=4000; %载频f1为4000fs=20000; %采样频率20kHzTime=1/rb; %脉冲保持时间Num=fs*Time; %一个脉冲采样多少点High_Level=ones(1,Num); Low_Level=zeros(1,Num);s

20、ignal=zeros(1,Num*N);%调制后的信号signal_y=zeros(1,Num*N);%基带信号t=0:1/fs:N*Time-1/fs;for I=1:N %原始脉冲信号 if b(I)=1 signal_y(I-1)*Num+1:I*Num)=High_Level; else signal_y(I-1)*Num+1:I*Num)=Low_Level; endendfor I=1:N %实现FSK调制 if b(I)=1 signal(I-1)*Num+1:I*Num)=A*sin(2*pi*f2*t(I-1)*Num+1:I*Num); else signal(I-1)*

21、Num+1:I*Num)=A*sin(2*pi*f1*t(I-1)*Num+1:I*Num); endendfp=2200; %通带截止频率fs=3500; %阻带截止频率fc=20000; %采用频率ap=1; %通带峰值起伏为1dBas=40; %最小阻带衰减为40dBwp=2*pi*fp/fc; %归一化的通带截止角频率ws=2*pi*fs/fc; %归一化的阻带截止角频率T=2;WP=(2/T)*tan(wp/2);%对wp进行预畸变处理WS=(2/T)*tan(ws/2);%对ws进行预畸变处理N,Wn=ellipord(WP,WS,ap,as,s);%椭圆滤波器的实现B,A=ell

22、ip(N,ap,as,Wn,s);num,den=bilinear(B,A,1/T); %进行双线性变换H3,omega3=freqz(num,den,20);H1,omega1=freqz(signal,1);y=filter(num,den,signal); %用IIR滤波器进行滤波处理H2,omega2=freqz(y,1);figure(1)subplot(211)plot(t,signal)title(滤波前的时域波形)subplot(212)plot(t,y)title(滤波后的时域波形)figure(2)subplot(311)plot(omega1*fs/(2*pi),abs(

23、H1)title(滤波前的频谱)subplot(312)plot(omega2*fs/(2*pi),abs(H2)title(滤波后的频谱)subplot(313)plot(omega3*fs/(2*pi),abs(H3)title(滤波器的频谱) 结果分析:用椭圆滤波器进行双线性变化,得到IIR数字滤波器,其参数同上。对FSK进行滤波,将高频频谱4kHz的信号滤掉,得到时域频域波形如下图: IIR滤波前后的时域波形如下:IIR滤波前后的频谱及IIR滤波器的频谱如下:(4) 将通带截止频率修改为2kHz,只需将以上程序的fp=2kHz即可,可以从所 得图中看到和原频谱滤波滤出的效果差不多,只是

24、在2000Hz的右边的部分 频谱减小了。 将最小阻带衰减改为得到如下的时域频域波形,可知,阻带的 最小衰减会引起没有在高频4kHz处将其滤干净,因而在0处会出现高频震 荡的小幅度信号 时域波形如下:频域波形如下:九、 实验结论: (1)产生FSK信号,使得信号的频谱从低频被搬移到2kHz和 4kHz为中心的位置,并且得到其时域与频域的频谱。(2) 生产FIR与IIR滤波器,其中FIR滤波器,本实验采用了汉宁窗进行加窗处理,得到最终的数字滤波器;而IIR滤波器,则采用了椭圆滤波器产生模拟滤波器,并进行双线性变换,得到了最终的数字滤波器。(3) 分别用FIR与IIR滤波器对FSK信号进行滤波,最终将FSK信号的高频信号滤去,得到了最终2kHz的信号。(4) 分别改变各滤波器的截止频率和最小阻带衰减,分析得到最终的频谱与之前的频谱在滤波部分分别有差别。十、 总结及心得体会: 通过对FIR与IIR滤波器的设计,了解了一些基本的函数命令的用法,并通过自己编程来实现对各滤波器的生成,同时也学会了FSK信号的生产,并用设计的滤波器对其进行滤波处理。最终得到的信号与预期目标相符,将部分频谱保留。十一、对本实验过程及方法、手段的改进建议: 在对FSK信号进行滤波时,建议采用带通滤波器会更好的对某一段频谱进行保留,其他的频谱滤去。 报告评分: 指导教师签字:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁