MATLAB信号处理仿真实习

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

MATLAB信号处理实习报告实习名称MATLAB信号处理仿真实习专业班级电子1241姓名学号1204451118成绩评定考核内容设计表现设计报告设计成果和答辩综合评定成绩成绩电气与信息学院二0一五年七月MATLAB信号处理仿真实习-2-实习考核和成绩评定办法1、实习的考核由指导教师根据设计表现(出勤、遵守纪律情况等)、设计报告、设计成果、答辩等几个方面,给出各项成绩或权重,综合后给出实习总成绩。该设计考核须经教研室主任审核,主管院长审批备案。2、成绩评定采用五级分制,即优、良、中、及格和不及格。3、参加本次设计时间不足三分之二或旷课三天以上者,不得参加本次考核,按不及格处理。4、实习结束一周内,指导教师提交成绩和设计总结。5、设计过程考核和成绩在教师手册中有记载。MATLAB信号处理仿真实习-3-MATALAB信号处理实习报告一、实习目的“数字信号处理”是电子信息工程专业的主干课程,其理论性较强,学生通过理论课的系统学习后,应通过MATLAB语言对其所涉及的算法进行仿真,这不仅能帮助学生理解其抽象的物理概念,工程概念和复杂算法,加强感性认识,而且能激发学生更进一步地在该领域的学习和探索热情。二、相关设计内容原理及其实现之的MATLAB函数(1)序列的傅立叶变换FT、离散傅立叶变换DFT和快速傅立叶变换FFT原理FFT算法基本上分为两大类:时域抽取法FFT(DecimationInTimeFFT,简称DIT-FFT)和频域抽取法FFT(DecimationInFrequencyFFT,简称DIF―FFT)。在MATLAB中,DFT的快速算法FFT的实现函数是fft(x,n),这里x是离散序列,n是变换点数,n的选择由信号的最高频率和频率分辨率决定,即n2fh/F。(2)FIR滤波器的工作原理设希望设计的滤波器传输函数为Hd(ejω),hd(n)是与其对应的单位脉冲响应,因此为了构造一个长度为N的线性相位滤波器,只有将hd(n)截取一段,并保证截取的一段对(N-1)/2对称。设截取的一段用h(n)表示,即h(n)=hd(n)RN(n)我们实际实现的滤波器的单位取样响应为h(n),长度为N,其系统函数为H(z),10()[()](),k=0,1,&,N-1(3.1.1)NknNnXkDFTxnxnW()()jjnnXexne()()1()()2jjddnjjnddHehnehnHeed,()0,jacjdceHe1sin(())()2()ccjajncdnahneedna10()()NnnHzhnzMATLAB信号处理仿真实习-4-在MATLAB中,实现FIR滤波的函数是),'',,(1windowftypeNfirbcN-----滤波器的阶数;C-----滤波器的截止频率,若是带通或带阻滤波器][21c,1和2分别代表通带(阻带)上、下限截止频率,且这里的1和2均为归一化截止频率。提示:Matlab信号处理工具箱滤波器设计中的截止频率均采用归一化频率(对采样频率的1/2做归一化处理),归一化频率转换为角频率,则将归一化频率乘以。ftype-----滤波器的类型,即低通(low),高通(high),带阻(stop),带通(bandpass),默认值为低通或带阻。window-----窗函数类型,即矩形窗(boxcar)、汉宁窗(hanning)、巴特利窗(barlet)、布莱克曼窗(blackman)、海明窗(ghammin)等。默认值为海明窗(ghammin)。b-----返回滤波器的系数。滤波器的系数得到后,就可以做它的频率响应图了。Matlab提供了数字滤波器的频率响应函数,其基本调用格式为:),,(],[nabfreqzhb-----代表滤波器传递函数的分子多项式系数。a-----代表滤波器传递函数的分目多项式系数。MATLAB信号处理仿真实习-5-n-----代表复频率响应的采样点数。h-----滤波器的复频率响应。-----频率点,该是将归一化后的频率乘以的角频率值。(3)IIR滤波器的工作原理IIR滤波器设计方法有两类,经常用的一类设计方法是借助于模拟滤波器的设计方法进行的。其设计步骤是:先设计模拟滤波器得到传输函数Ha(s),然后将Ha(s)按某种方法转换成数字滤波器的系统函数H(z)。模拟滤波器的理论和设计方法已发展得相当成熟,且有若干典型的模拟滤波器供我们选择,如巴特沃斯(Butterworth)滤波器、切比雪夫(Chebyshev)滤波器、椭圆(Cauer)滤波器、贝塞尔(Bessel)滤波器等,这些滤波器都有严格的设计公式、现成的曲线和图表供设计人员使用。模拟低通滤波器的设计指标及逼近方法模拟低通滤波器的设计指标有αp,Ωp,αs和Ωs。其中Ωp和Ωs分别称为通带截止频率和阻带截止频率,αp是通带Ω(=0~Ωp)中的最大衰减系数,αs是阻带Ω≥Ωs的最小衰减系数,αp和αs一般用dB数表示。对于单调下降的幅度特性,可表示成:如果Ω=0处幅度已归一化到1,即|Ha(j0)|=1,αp和αs表示为Ωc称为3dB截止频率滤波器的技术指标给定后,需要设计一个传输函数Ha(s),希望其幅度平方函数满足给定的指标αp和αs,一般滤波器的单位冲激响应为实数,因此2222()10lg()()10lg()apapasasHjHjHjHj2210lg()10lg()papsasHjHj()1/2,20lg()3acacHjHjdB2()()()()()aasjaaHjHsGsHjHjMATLAB信号处理仿真实习-6-在MATALB中,实现IIR滤波的函数有切比雪夫滤波器cheby和椭圆滤波器ellip。这里我们只选用椭圆滤波器,椭圆滤波器的调用格式为:)'',,,,(],[ftypewnrsrpnellipab;b滤波器的分子多项式系数a滤波器的分母多项式系数n滤波器的阶数rp通带最大衰减rs阻带最小衰减ftype滤波器的类型,其取值为high代表高通滤波器,low代表低通滤波器,bandpass代表带通滤波器,stop代表带阻滤波器。(4)MATLAB的滤波函数在MATLAB中,实现滤波的函数是filter(b,a,x)。这里,b和a分别是滤波器传递函数分子和分母多项式的系数,x是被滤波的信号。滤波函数的调用格式为:),,(xabfilterxfb-----代表滤波器传递函数的分子多项式系数。a-----代表滤波器传递函数的分目多项式系数。x-----代表被滤波的信号。三、实习任务1.FT与DFT关系的MATLAB仿真任务要求:(1)任设一个长度为N的实序列;(2)编写MATLAB代码,实现该序列的傅立叶变换和离散傅立叶变换;(3)调试运行代码,得到仿真图形;(4)通过仿真图形观察二者的关系,并得出结论。(1)令x=[1,0,1,0,1,0,1,0,1,0];N=16;(2)实验源程序如下:x=[1,0,1,0,1,0,1,0,1,0];N=16;MATLAB信号处理仿真实习-7-w=2*pi*(0:127)/128;%设置FT的横轴数据范围X=x*exp(-j*[1:length(x)]'*w)%x的傅立叶变换FTsubplot(211)plot(w,abs(X))title('x的傅里叶变换FT赫思远');xlabel('\omega/\pi');ylabel('|X|')k=0:N-1;%设置DFT的横轴数据范围XK=x*exp(-j*[1:length(x)]'*(2*pi*k)/N)%x的离散傅立叶变换DFTsubplot(212)stem(k,abs(XK))%DFT的变换结果title('x的离散傅里叶变换DFT');xlabel('k');ylabel('|XK|')(3)仿真结果如下:(4)通过仿真图形,可得出二者关系为:DFT是FT的频域的离散化采样,二者的波形包络相同。FT的频域离散化得到DFT的时域周期化。MATLAB信号处理仿真实习-8-2.DFT的快速算法FFT的仿真任务要求:(1)在熟悉FFT算法原理的基础上,对所给的时域信号进行分析;(2)对信号做时域分析时要注意混叠现象的发生(3)对混合信号)2sin()2sin()2sin()(321tffttftf做快速傅立叶变换FFT运算,其中1f、2f、3f自设,变换点数根据所设的情况自定(4)对变换结果做分析。(1)实验源程序如下:f1=10;f2=10;f3=20;fs=100;n=64;t=0:1/fs:1;x=sin(2*pi*f1*t)+sin(2*pi*f2*t)+sin(2*pi*f3*t);subplot(211)plot(t,x)%信号x的时域信号图形title('x的时域波形赫思远');xlabel('t');ylabel('x')subplot(212)xfft=fft(x,n)f=fs*(0:n/2-1)/n;plot(f,abs(xfft(1:n/2)))%信号x的n点FFT图形title('x的FFT波形');xlabel('\omega/\pi');ylabel('|X|')MATLAB信号处理仿真实习-9-(2)实验仿真结果如下:3.利用MATLAB信号处理工具箱设计FIR滤波器要求如下:(1)熟悉FIR滤波器的工作原理;(2)设计一个N阶高通数字滤波器,阶数和截止频率自定;(3)设计一个N阶带通数字滤波器,阶数和截止频率自定;(4)设计一个N阶低通数字滤波器,阶数和截止频率自定;高通:(1)实验源程序如下:N=50;Wn=0.8;M=256;b=fir1(N,Wn,'high');[h,w]=freqz(b,1,M);MATLAB信号处理仿真实习-10-plot(w*100/pi,20*log10(abs(h)))title('高通数字滤波器赫思远');axis([0150-1000])(2)实验仿真结果如下:带通:(1)实验源程序如下:N=30;Wn=[0.30.5];M=256;b=fir1(N,Wn,'bandpass');[h,w]=freqz(b,1,M);plot(w*100/pi,20*log10(abs(h)))title('带通数字滤波器赫思远');axis([0100-1000])MATLAB信号处理仿真实习-11-(2)实验仿真结果如下:低通:(1)实验源程序如下:N=30;Wn=0.1;M=216;b=fir1(N,Wn,'low');[h,w]=freqz(b,1,M);plot(w*100/pi,20*log10(abs(h)))title('低通数字滤波器赫思远');axis([0100-1000])MATLAB信号处理仿真实习-12-(2)实验仿真结果如下:4.利用MATLAB信号处理工具箱设计IIR滤波器要求如下:(1)熟悉IIR数字滤波器的工作原理;(2)设计一个N阶高通数字滤波器,阶数和截止频率自定;(3)设计一个N阶带通数字滤波器,阶数和截止频率自定;(4)设计一个N阶低通数字滤波器,阶数和截止频率自定;高通:(1)实验源程序如下:M=30;rp=1;rs=100;wn=0.5;n=256;MATLAB信号处理仿真实习-13-[b,a]=ellip(M,rp,rs,wn,'high');[h,w]=freqz(b,a,n);plot(w/pi,abs(h))title('高通数字滤波器赫思远');(2)实验仿真结果如下:带通;(1)实验源程序如下:M=10;rp=0.1;rs=90;wn=[0.20.5];n=256;[b,a]=ellip(M,rp,rs,wn,'bandpass');[h,w]=freqz(b,a,n);MATLAB信号处理仿真实习-14-plot(w/pi,abs(h))titl

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功