付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实用标准文案数字信号处理Matlab实现实例第1章离散时间信号与系统的离散卷积。电工例1-1用MATLAB十算序列-2 0 1- 1 3和序列1 2 0 -1解MATLAB程序如下:a=-2 0 1 -1 3;b=1 2 0 -1;c=conv(a,b);M=length(c)-1;n=0:1:M;stem(n,c);xlabel('n'); ylabel('幅度');精彩文档n图L1用MATLAB计其两个序列的卷积图1.1给出了卷积结果的图形,求得的结果存放在数组c中为:-2 -4 1-3。例1-2用MATLAB十算差分方程了(售)+ 0.7,(差 T) _
2、0,45/(并2) - 0 6y(犀一 35=0&种- 0,44x(h-1) + 036KM -2) + 0 02x(« - 3)当输入序列为 则二帅)时的输出结果y(n 0<«<40 。解MATLAB程序如下:N=41;a=0.8 -0.44 0.36 0.22;b=1 0.7 -0.45-0.6;x=1 zeros(1,N-1);k=0:1:N-1;y=filter(a,b,x);stem(k,y)xlabel('n');ylabel(' 幅度')图1.2给出了该差分方程的前 41个样点的输出,即该系统的单位 脉冲响应
3、。图1.2用MATLAB计菖差分方程输出例1-3用MATLAB十算例1-2差分方程MM + O'MkT)戏-2)_ 0,6/(符=0.取- 044x(-1) + 036x(-2) + 0.02x(«- 3)所对应的系统函数的 DTFT解 例1-2差分方程所对应的系统函数为:_ _j _q_3H(z)=1 0.7z,-0.45z,-0.6z工0.8 -0.44z0.36z0.02z其DTFT为j 0.8 -0.44ej0.36e-20.02e-j3 e 1 0.7e -0.45e-j2 -0.6e-j3 ,用MATLAB十算的程序如下: k=256;num=0.8 -0.44
4、0.36 0.02;den=1 0.7 -0.45-0.6;w=0:pi/k:pi;h=freqz(num,den,w);subplot(2,2,1);plot(w/pi,real(h);gridtitle('实部')xlabel('omega/pi');ylabel('幅度')subplot(2,2,2);plot(w/pi,imag(h);grid title('虚部) xlabel('omega/pi');ylabel('Amplitude') subplot(2,2,3);plot(w/pi,abs
5、(h);gridtitle(' 幅度谱)xlabel('omega/pi');ylabel('幅值')subplot(2,2,4);plot(w/pi,angle(h);gridtitle(' 相位谱)xlabel('omegaApi');ylabel('弧度')第2章离散傅里叶变换及其快速算法例2-1对连续的单一频率周期信号按采样频率 1=8/ 采样,截取长度N分别选N=20和N=16 ,观察其DFT结果的幅度谱。解此时离散序列= sin( 2喇/工)=渺(2就/8) ,即k=8。用MATLAB十算并作图,函数f
6、ft用于计算离散傅里叶变换DFT,程序如下:k=8;n1=0:1:19;xa1=sin(2*pi*n1/k);subplot(2,2,1)plot(n1,xa1)xlabel('t/T');ylabel('x(n)');xk1=fft(xa1);xk1=abs(xk1);subplot(2,2,2)stem(n1,xk1)xlabel('k');ylabel('X(k)');n2=0:1:15;xa2=sin(2*pi*n2/k);subplot(2,2,3)plot(n2,xa2)xlabel('t/T');yl
7、abel('x(n)');xk2=fft(xa2);xk2=abs(xk2);subplot(2,2,4)stem(n2,xk2)xlabel('k');ylabel('X(k)');106642005101510|8o6 W-*受42051015图2.1不同威取长度的正弦信号及其DFT结果计算结果示于图2.1 , (a)和(b)分别是N=20时的截取信号和 DFT结果,由于截取了两个半周期,频谱出现泄漏;(c)和(d)分别是N=16时的截取信号和 DFT结果,由于截取了两个整周期,得到单一谱线的频谱。非整周期截断产生的频谱泄漏。电工例2-2用F
8、FT计算两个序列上述频谱的误差主要是由于时域中对信号的x(n) = 1 3-112帅):(2 1-1的互相关函数%(砌。解用MATLAB十算程序如下:x=1 3 -1 1 2 3 3 1;y=2 1-1 1 2 0 -1 3;k=length(x);xk=fft(x,2*k);yk=fft(y,2*k);rm=real(ifft(conj(xk).*yk); rm=rm(k+2:2*k) rm(1:k); m=(-k+1):(k-1);stem(m,rm)xlabel('m'); ylabel(' 幅度');其计算结果如图2.2所示。图22两个序列的自相关函数例
9、2-3计算两个序列的的互相关函数,其中x(n尸2 3 5 2 1- 1 0 0 12 3 5 3 0- 1 - 2 0 1 2y(n)=x(n-4)+e(n), e(n)为一随机噪声,在MATLAB3可以用随机函数rand产生解用MATLAB十算程序如下:x=2 3 5 2 1 -1 0 0 12 3 5 3 0 -1 -2 0 1 2;y=0 0 0 0 2 3 5 2 1 -1 0 0 12 3 5 3 0 -1 -2 0 1 2;k=length(y);e=rand(1,k)-0.5;y=y+e;xk=fft(x,2*k);yk=fft(y,2*k);rm=real(ifft(conj(
10、xk).*yk);rm=rm(k+2:2*k) rm(1:k);幅度);m=(-k+1):(k-1); stem(m,rm) xlabel('m'); ylabel(计算结果如图2.3(a),我们看到最大值出现在 m=4处,正好是y(n)对于x(n)的延迟。2. 3(b) 是x(n)的自相关函数,他和 y(n)的区别除时间位置外,形状也略不同,这是由于y(n)受到噪声的干扰。图2. 3延迟序列的互相关函数值)和自相关函数(b)第3章 无限长单位脉冲响应(IIR)滤波器的设计方法例3-1设采样周期T=250s (采样频率fs=4kHz),用脉冲响应不变法和双线性变换 法设计一个三
11、阶巴特沃兹滤波器,其3dB边界频率为fc =1kHz。B,A=butter(3,2*pi*1000,'s');num1,den1=impinvar(B,A,4000);h1,w=freqz(num1,den1);B,A=butter(3,2/0.00025,'s');num2,den2=bilinear(B,A,4000);h2,w=freqz(num2,den2);f=w/pi*2000;plot(f,abs(h1), '-.',f,abs(h2),'-');grid;xlabel('频率 /Hz ')ylabe
12、l('幅值 /dB')程序中第一个butter的边界频率2兀x 1000,为脉冲响应不变法原型低通滤波器的边 界频率;第二个 butter的边界频率2/T=2/0.00025 ,为双线性变换法原型低通滤波器的边 界频率.图3.1给出了这两种设计方法所得到的频响,虚线为脉冲响应不变法的结果;实线 为双线性变换法的结果。脉冲响应不变法由于混叠效应,使得过渡带和阻带的衰减特性变差,并且不存在传输零点。同时,也看到双线性变换法,在 z=-1即3=兀或f=2000Hz处有一个 三阶传输零点,这个三阶零点正是模拟滤波器在Q=8处的三阶传输零点通过映射形成的。1, 1 - 1-1Illi|i
13、i1ddIIJHH09;:i -1 一一一 一J=-T一 一ii1ghiin a11i1nIi1Iiiiiiii11111KHlidi07.-三胃一 T三三十三三 | |11HliNM1' 18N限06 HH1 1!;II|1HH111%iNIi理 05HH1b11 1,1110.41 . -1 _ iih11 1_i_!|l|i| :、;0.3-|irrA- - - T - - -X-1Ii11 1、j HN1i 11J n0.2Ih1 11 X 11'i aiiii0.1l!l!-一-1-IlII11111ii-.iiri- -ii0 -11IIl>0|l|l1i|(
14、1|l1rih020040060080口1000 1200 1400 1600 1300 2000频率图3 1三阶巴特沃兹滤波器的频率响应 动,阻带内衰减在小于 317Hz的频带内至少为19dB,采样频率为1,000Hz。例3-2 设计一数字高通滤波器,它的通带为400500Hz,通带内容许有 0.5dB的波wc=2*1000*tan(2*pi*400/(2*1000);wt=2*1000*tan(2*pi*317/(2*1000);N,wn=cheb1ord(wc,wt,0.5,19,'s');B,A=cheby1(N,0.5,wn, 'high' ,
15、9;s');num,den=bilinear(B,A,1000);h,w=freqz(num,den);f=w/pi*500;plot(f,20*log10(abs(h);axis(0,500,-80,10);grid;xlabel(")ylabel(' 幅度 /dB')图3.2给出了 MATLAB十算的结果,可以看到模拟滤波器在=8处的三阶零点通过高通变换后出现在3 =0 (z=1)处,这正是高通滤波器所希望得到的。频率/取图12切比雪夫高通滤波器例3-3设计一巴特沃兹带通滤波器,其3dB边界频率分别为f2=110kHz和f i=90kHz,在阻带f3 =
16、120kHz处的最小衰减大于1 0dB,采样频率fs=400kHz。10频率/kHz§ -s妈 里io图3.3巴特沃兹带通法波器w1=2*400*tan(2*pi*90/(2*400);w2=2*400*tan(2*pi*110/(2*400);wr=2*400*tan(2*pi*120/(2*400);N,wn=buttord(w1 w2,0 wr,3,10,B,A=butter(N,wn, 's');num,den=bilinear(B,A,400);h,w=freqz(num,den);f=w/pi*200;plot(f,20*log10(abs(h);axis
17、(40,160,-30,10);'s');grid;xlabel('ylabel('图3.3给出了1的二阶零点,频率/kHz')幅度/dB')MATLAB十算的结果,可以看出数字滤波器将无穷远点的二阶零点映射为 数字带通滤波器的极点数是模拟低通滤波器的极点数的两倍。z= ±总工例3-4 一数字滤波器采样频率fs = 1kHz,要求滤除100Hz的干扰,其3 dB的边界频率为95Hz和105Hz,原型归一化低通滤波器为母二41 + Sw1=95巧00;w2=105/500;B,A=butter(1,w1, w2, 'stop
18、9;);h,w=freqz(B,A);f=w/pi*500;plot(f,20*log10(abs(h);axis(50,150,-30,10);grid;xlabel('频率/Hz')ylabel(' 幅度 /dB')图3.4为MATLAB勺计算结果1050i 1i i ii i i ii ii 11 II 1 IIi i i p i h11 iiI ii i 1 1 1 1i i 1 i I iiiii一 i.piiii图ii i1- i i -r 入4一|i i1 iH liHII1H旭 辔-10i li iI-1 |1fl ii rII-15i 丁 1
19、.1 1引-r111iI iH 111201-* -1寸11-1- ii-H-1|i一 X .Ii11 I三4=11i11 1i:11I :1 1 ki-I - i iiI 一一i1 iIi一 X =, IJ hSO 磕?0 #90 iw 110 1X M) 130频率/取图3.4巴特沃兹带阻滤波器第4章 有限长单位脉冲响应(FIR)滤波器的设计方法例2用凯塞窗设计一FIR低通滤波器,低通边界频率值 =Q一%,阻带边界频率叫二。.玩,阻带衰减人不小于50dB。解 首先由过渡带宽和阻带衰减人 来决定凯塞窗的N和6Q) = Qy-Q)= 0 2打r150-82 2g5x0 2恋解3010 = 0,
20、1102(50-8.7) = 4.55T I I:-:n不号胜磔归-4t战赛,怎UN fl 5 口鼻 H9 OB Ojr J J归一优期嵬,真图4 1凯塞窗设计举例图4.1给出了以上设计的频率特性,(a)为N=30直接截取的频率特性(b)为凯塞窗设计的频率特性。凯塞窗设计对应的MATLA翼序为:wn=kaiser(30,4.55);nn=0:1:29;alfa=(30-1)/2;hd=sin(0.4*pi*(nn-alfa)./(pi*(nn-alfa);h=hd.*wn'h1,w1=freqz(h,1);plot(w1/pi,20*log10(abs(h1);axis(0,1,-80
21、,10);grid;xlabel(' 归一化频率/元)ylabel(' 幅度 /dB')例4-2利用雷米兹交替算法,设计一个线性相位低通FIR数字滤波器,其指标为:通带边界频率fc=800Hz,阻带边界fr=1000Hz,通带波动3二05dB 阻带最小衰减 At=40dB, 采样频率fs=4000Hz。解 = 1-10 = 0.0559在MATLA冲可以用remezord和remez两个函数设计,其结果如图4.2 , MATLA翼序如下:fedge=800 1000;mval=1 0;dev=0.0559 0.01;fs=4000;N,fpts,mag,wt=remez
22、ord(fedge,mval,dev,fs);b=remez(N,fpts,mag,wt);h,w=freqz(b,1,256);plot(w*2000/pi,20*log10(abs(h);grid;xlabel('频率 /Hz')ylabel('幅度/dB')1002030-40如,即70ISOO 20000200400600800100012001400 KOO频率生图42 Remez交替法设计举例函数remezord中的数组fedge为通带和阻带边界频率,数组 mval是两个 边界处的幅值,而数组dev是通带和阻带的波动,fs是采样频率单位为 Hz。第5
23、章数字信号处理系统的实现例5-1求下列直接型系统函数的零、极点,并将它转换成二阶节形式H =;-7TT1 + 01,+0 2/+0 叱 +0 5/解用MATLAB十算程序如下:num=1 -0.1 -0.3 -0.3 -0.2;den=1 0.1 0.2 0.2 0.5;z,p,k=tf2zp(num,den);m=abs(p);disp('零点');disp(z);disp('极点');disp(p);disp('增益系数');disp(k);sos=zp2sos(z,p,k);disp('二阶节);disp(real(sos);zpl
24、ane(num,den)输入到“ num”和“den”的分别为分子和分母多项式的系数。计算求得零、极点增益系数和 二阶节的系数:零点0.9615-0.5730-0.1443 + 0.5850i-0.1443 - 0.5850i极点0.5276 + 0.6997i0.5276 - 0.6997i-0.5776 + 0.5635i-0.5776 - 0.5635i增益系数1二阶节1.0000 -0.3885 -0.5509 1.0000 1.1552 0.65111.0000 0.2885 0.3630 1.0000 -1.0552 0.7679系统函数的二阶节形式为:1-0.3885r】-0,5
25、509只1 + 0一2就一】+01%30 产1 + 1,1552z-1 +0.65Hz-2 1-1 0552rl+0.7679z-3极点图见图5.1 。0.6图5.1系统函数的零、极点图0.4x,通带纹波为例5-2分析五阶椭圆低通滤波器的量化效应,其截止频率为0.4dB,最小的阻带衰减为50dB。对滤波器进行截尾处理时,使用函数a2dT.m.。解用以下MATLA翼序分析量化效应clf;b,a=ellip(5,0.4,50,0.4);h,w=freqz(b,a,512);g=20*log10(abs(h);bq=a2dT(b,5);aq=a2dT(a,5);hq,w=freqz(bq,aq,51
26、2);gq=20*log10(abs(hq);plot(w/pi,g,'b',w/pi,gq,'r:');grid;axis(0 1 -80 5);xlabel('omega/pi');ylabel('Gain, dB');legend('量化前','量化后);figurez1,p1,k1 = tf2zp(b,a);z2,p2,k2 = tf2zp(bq,aq);zplaneplot(z1,z2,p1,p2,'o','x','*','+');l
27、egend('量化前的零点','量化后的零点','量化前的极点,'量化后的极点');图5.1 (a)表示系数是无限精度的理想滤波器的频率响应(以实线表示)以及当 滤波器系数截尾到 5位时的频率响应(以短线表示)。由图可知,系数量化对频带的边缘影 响较大,经系数量化后, 增加了通带的波纹幅度, 减小了过渡带宽,并且减小了最小的阻带 衰减。图5.1 (b)给出了系数量化以前和系数量化以后的椭圆低通滤波器的零极点位 置。由图可知,系数的量化会使零极点的位置与它们的理想的标称位置相比发生显著的改变。在这个例子中,靠近虚轴的零点的位置变动最大, 程
28、序稍作改变就可以分析舍入量化的影响。并且移向靠它最近的极点的位置。只要对为了研究二进制数量化效应对数字滤波器的影响,首先需要将十进制表示的滤波器系数转换成二进制数并进行量化,二进制数的量化既可以通过截尾法也可以通过舍入法实现。我们提供了如下的两个MATLA叫序:a2dT.m和a2dR.m,这两段程序分别将向量d中的每一个数按二进制数进行截尾或舍入量化, 返回的向量为beq。量化的精度是小数点以后保留 b位,量化后function beq = a2dT(d,b)% beq = a2dT(d,b)将十进制数利用截尾法得到b位的二进制数,后将该二进制数再转换为十进制数m=1; d1=abs(d);w
29、hile fix(d1)>0d1=abs(d)/(2Am);m=m+1;endbeq=fix(d1*2Ab);beq=sign(d).*beq.*2A(m-b-1);function beq=a2dR(d,b)% beq=a2dR(d,b)将十进制数利用舍入法得到b位的二进制数后将该二进制数再转换为十进制数m=1; d1=abs(d);while fix(d1)>0d1=abs(d)/(2Am);m=m+1;endbeq=fix(d1*2Ab+.5);beq=sign(d).*beq.*2A(m-b-1);第7章多采样率信号处理电工例7-1在时域上显示一个 N二50,信号频率为0.042张 的正弦信号,然后以抽取因 子3降采样率,并在时域上显示相应的结果,比较两者在时域上的特点。解用MATLAB十算程序如下:M=3; %down-sampling factor=3;fo=0.042;%signal frequency=0.042;%generate the input sinusoidal sequencen=0:N-1;m=0:N*M-1;x=sin(2*pi*fo*m);%generate the down-sampling squencey=x(1:M:length(x);subpl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国医科大学《档案学》2025-2026学年期末试卷
- 长治幼儿师范高等专科学校《税法》2025-2026学年期末试卷
- 盐城工学院《人体运动基础》2025-2026学年期末试卷
- 2024年初三化学知识点总结梳理
- 2024年湖南成人高考报名指南
- 2024年宣传部宣传部工作总结5篇
- AI 车载无线监控系统如何以灵活部署与AI感知提升驾驶员作业效率
- 2024年小学期中考试复习计划
- 2024年安全生产隐患排查工作总结
- 2024年钢材销售工作总结
- 违禁物品X射线图像与识别课件
- 外贸合同取消协议模板
- 新版中华民族共同体概论课件第十讲中外会通与中华民族巩固壮大(明朝时期)-2025年版
- 2025昌吉州科技馆招牌编制外聘用人员(3人)考试参考试题及答案解析
- 便利店槟榔营销方案
- 班前酒精检测管理办法
- 水利类岗位竞聘考试题及答案
- 消防给水及消火栓系统维修保养规程
- 2025全国翻译资格(水平)考试阿拉伯语二级笔译试卷
- 手机工作摄影培训课件
- GB/T 45660-2025电子装联技术电子模块
评论
0/150
提交评论