%xh10
?T进行高斯序列的频谱分析
n=0:15; %定义序列的长度是15 p=8; q=2; x=exp(-1*(n-p).^2/q); %利用fft 函数实现付氏变换 close all; subplot(3,2,1); stem(x,’.’);subplot(3,2,2);stem(abs(fft(x)),’.’);grid on; p=8; q=4; x=exp(-1*(n-p).^2/q); %改变信号参数,重新计算 subplot(3,2,3);stem(x,’.’);subplot(3,2,4); stem(abs(fft(x)),’.’);grid on; p=8; q=8; x=exp(-1*(n-p).^2/q);
subplot(3,2,5);stem(x,’.’);subplot(3,2,6); stem(abs(fft(x)),’.’);grid on; 2.程序2: %xh11 N=40;n=0:N-1; t=0.01*n;
x=2*sin(4*pi*t)+5*cos(8*pi*t); k=0:N/2;w=2*pi/N*k; X=fft(x,N);
magX=abs(X(1:N/2+1));
subplot(2,1,1);stem(n,x,'.');title('signal x(n)'); subplot(2,1,2);plot(w/pi,magX);title('FFT N=40'); xlabel('w (unit :pi)');ylabel('|X|');grid 3.程序3: %xh12
% 用FFT实现由DFT计算线性卷积 x=[1 2 0 1];h=[2 2 1 1]; L=length(x)+length(h)-1; XE=fft(x,L);HE=fft(h,L); y1=ifft(XE.*HE);
%画出由圆周卷积计算线性卷积结果及误差 k=0:L-1;
subplot(221);stem(k,real(y1),’.’);axis([0 6 0 7]);
16
title('圆周卷积');
xlabel('Time index k');ylabel('Amplitude');grid on; y2=conv(x,h);
subplot(222);stem(k, y2,’.’);axis([0 6 0 7]); title('线性卷积');
xlabel('Time index k');ylabel('Amplitude');grid on; error=y1-y2; subplot(223); stem(k,abs(error));
xlabel('Time index k');ylabel('Amplitude'); title('Error Magnitude');grid on;
17
实验四 IIR数字滤波器的设计
一、实验目的
1.掌握脉冲响应不变法和双线性变换法设计IIR数字滤波器的原理和方法;
2.观察双线性变换法和脉冲响应不变法设计的滤波器的频域特性,了解双线性变换法和脉冲响应不变法的特点和区别。
二、实验内容
使用MATLAB编写程序,实现IIR数字滤波器的设计。涉及脉冲响应不变法和双线性变换法设计IIR数字滤波器的方法、不同设计方法得到的IIR滤波器频域特性异同等知识点。
三、实验原理与方法和手段
1.脉冲响应不变法
所谓脉冲响应不变法就是使数字滤波器的单位脉冲响应序列h(n)等于模拟滤波器的单位冲激响应ha(t)的采样值,即:h(n)?ha(t)t?nT?ha(nt),其中,T为采样周期。
在脉冲响应不变法中,模拟角频率和数字角频率的变换关系为:???T,可见,?和ω之间的变换关系为线性的。
在MATLAB中,可用函数impinvar实现从模拟滤波器到数字滤波器的脉冲响应不变映射,调用格式为:
[B,A]=impinvar(b,a,fs1) [B,A]=impinvar(b,a)
其中,b、a分别为模拟滤波器的分子和分母多项式系数向量;fs1为采样频率(Hz),缺省值fs=1Hz;B、A分别为数字滤波器分子和分母多项式系数向量。 2.双线性变换法:
21?z?1由于s平面和z平面的单值双线性映射关系为s=,其中T为采样周期。因此,?1T1?z若已知模拟滤波器的传递函数,将上式代入即可得到数字滤波器的系统函数H(z)。
在双线性变换中,模拟角频率和数字角频率的变换关系为:??ω之间的变换关系为非线性的。
在MATLAB中,可用函数bilinear实现从模拟滤波器到数字滤波器的双线性变换映射,
18
2?tg,可见,Ω和T2
调用格式为:[B,A]=bilinear(b,a,fs1) 3.数字滤波器设计
(1)定技术指标转换为模拟滤波器设计性能指标。
(2)估计满足性能指标的模拟相应滤波器性能阶数和截止频率。 利用MATLAB中buttord、cheb1ord、cheb2ord、ellipord等函数, 调用格式如:[N,?c]?buttord(?p,?s,?p,?s,'s')
其中,Ωp为通带边界频率,rad/s;Ωs为阻带边界频率,rad/s;αp为带通波动,dB;αs为阻带衰减,dB;‘s’表示为模拟滤波器;函数返回值N为模拟滤波器的最小阶数;Ωc为模拟滤波器的截止频率(-3dB频率),rad/s。函数适用低通、高通、带通、带阻滤波器。 (3)设计模拟滤波器。
MATLAB信号处理工具箱提供了模拟滤波器设计的完全工具函数:butter、cheby1,cheby2、ellip、besself。用户只需一次调用就可完成低通、高通、带通、带阻滤波器设计。 调用格式如:[b,a]=butter(N,Ωc,’ftype’,‘s’),其中,’ftype’为滤波器类型: ‘high’表示高通滤波器,截止频率为Ωc;
‘stop’表示带阻滤波器,Ωc=[Ω1 Ω2] (Ω1<Ω2); ‘ftype’缺省时表示为低通或带通滤波器。
(4)利用脉冲响应不变法或双线性不变法,实现模拟滤波器到数字滤波器的映射。
四、实验组织运行要求
1.学生在进行实验前必须进行充分的预习,熟悉实验内容; 2.学生根据实验要求,编写相应的程序;
3.学生严格遵守实验室的各项规章制度,注意人身和设备安全,配合和服从实验室人员管理;
4.教师在学生实验过程中予以必要的辅导,独立完成实验; 5.采用集中授课形式。
五、实验条件
1.具有WINDOWS 98/2000/NT/XP操作系统的计算机一台; 2.MATLAB编程软件。
19
六、实验步骤
在“开始--程序”菜单中,找到MATLAB程序,运行启动;
进入MATLAB后 ,在Command Window中输入自己编写的主程序,并执行;记录运行结果图形,作分析对比。 具体步骤如下:
1、查看帮助文件,了解相关函数的调用格式。
2、设计模拟巴特沃斯低通滤波器,fp=5kHz,αp=2dB,fs=12kHz,αs=30dB。
3、设计模拟巴特沃斯高通滤波器,fp=200Hz,fs=100Hz,幅度特性单调下降,fp处最大衰减为3dB,阻带最小衰减αs=15dB。
4、fp=0.2kHZ,αp=1dB,fs=0.4kHZ,αs=30dB,采样间隔T=1ms;分别用脉冲响应不变法和双线性变换法设计一个Butterworth数字低通滤波器
(1)观察所设计数字滤波器的幅频特性曲线,记录带宽和衰减量; (2)比较两种方法的优缺点;
5、设计一数字高通滤波器,它的通带为700~1000Hz,通带内容许有2dB的波动,阻带内衰减在小于500Hz的频带内至少为30dB,采样频率为2000Hz。
6、利用MATLAB编程设计一个Butterworth数字带通滤波器,指标要求如下: 通带边缘频率:ωp1=0.5?rad,ωp2=0.7?rad,通带峰值起伏:αp≤2dB; 阻带边缘频率:ωs1=0.35?rad,ωs2=0.95?rad,最小阻带衰减:αs≥35dB。 分别用脉冲响应不变法和双线性变换法进行IIR数字滤波器的设计。T=0.2ms
七、实验报告要求
1.报告中要给出实验的MATLAB程序,了解每个语句作用; 2.简述实验目的和原理;
3.按实验步骤附上所设计滤波器的H(z)及相应的幅频特性曲线定性分析得到的图形,判断设计是否满足要求;
4.总结双线性变换法和脉冲不变法的特点和区别; 5.收获与建议。
八、MATLAB示例
例1:设计模拟巴特沃斯低通滤波器,fp=300Hz,αp=1dB,fs=800Hz,αs=20dB。
20
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数字信号处理实验讲义2015-9-6(4)在线全文阅读。
相关推荐: