收藏 分销(赏)

数字信号处理MATLAB上机实验教学讲义.pptx

上传人:快乐****生活 文档编号:12566225 上传时间:2025-10-31 格式:PPTX 页数:115 大小:1.32MB 下载积分:20 金币
下载 相关 举报
数字信号处理MATLAB上机实验教学讲义.pptx_第1页
第1页 / 共115页
数字信号处理MATLAB上机实验教学讲义.pptx_第2页
第2页 / 共115页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,1,Matlab,基础介绍,、,Matlab,介绍,、,Matlab,安装与开启,、,Matlab,编程基础,、,Matlab,在数字信号处理课程中应用,1/115,2,一、,Matlab,介绍,Matlab,名字是由,Matrix,和,Laboratory,两个词前三个字母组合而成,是由,MathWorks,企业于,1982,年推出一套高性能数值计算和可视化数学软件。到,20,世纪,90,年代,,MATLAB,已经成为国际控制界公认标准计算软件,.,Matlab,编程运算与人进行科学计算思绪和表示方式完全一致。不象学习其它高级语言如,Basic,、,Fortran,和,C,等那样难于掌握。,其基本元素是矩阵。,含有强大数值计算和图示能力。,含有丰富工具箱(,ToolBox),。,含有强大与外部程序如,C,交互接口。,在高校中,,Matlab,成为数学,信息,控制等很多学科相关课程有效教学工具。,2/115,3,二、,Matlab,安装,3/115,4,Matlab,开启,4/115,5,操作桌面缺省外貌,5/115,6,通用操作界面,指令窗(,Command Window,),历史指令窗(,Command History,),当前目录浏览器(,Current Directory Browser,),工作空间浏览器(,Workspace Browser,),内存数组编辑器(,Array Editor,),M,文件编辑器,/,调试器(,Editor/Debugger,),帮助导航,/,浏览器(,Help Navigator/Browser,),6/115,7,三、,Matlab,编程基础,1,变量,2,数组,向量与矩阵创建和访问,3,部分特殊变量和常数,4,部分惯用运算符,5 Matlab,程序设计,6 m,文件创建,保留,,运行,7,基本数学函数和基本绘图函数,8,编程举例,7/115,8,3.1,变量,变量无需定义即可使用,。,变量名大小写是敏感,。,变量第一个字符必须为英文字母,而且不超出,31,个字符。,变量名能够包含下连字符、数字,但不能为空格符、标点。,8/115,9,局部(,Local,)变量:它存在于函数空间内部中间变量,产生于该函数运行过程中,其影响范围也仅限于该函数本身。,全局(,Global,)变量:经过,global,指令,,MATLAB,也允许几个不一样函数空间以及基本工作空间共享同一个变量。,9/115,10,保留字列表,(,不能用作变量名),for end if while function return elseif,case otherwise switch continue,else try catch global persistent break,10/115,11,最简单计算器使使用方法,【,例,】,求 算术运算结果。,(,1,)用键盘在,MATLAB,指令窗中输入以下内容,(12+2*(7-4)/32,(,2,)在上述表示式输入完成后,按,【Enter】,键,该指令被执行。,(,3,)在指令执行后,,MATLAB,指令窗中将显示以下结果。,ans=,2,输入,help*,可查看该命令帮助信息。,11/115,12,3.2,数组,向量与矩阵创建和访问,在,Matlab,中,这三个概念在,创建和显示,时候没有任何区分。,向量创建,【,例,】,要创建一个向量,在命令窗口下输入:,t=0:1:10,屏幕显示:,t=,0 1 2 3 4 5 6 7 8 9 10,注意:,向量第一个元素下标是,1,,而不是,0,。,T=0:1:10,产生了,010,步长为,1,共,11,个数,保留在,t(1),t(2),t(11),中。,12/115,13,定数线性采样法,x=linspace(a,b,n),x=linspace(0,pi,11),x=,Columns 1 through 7,0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850,Columns 8 through 11,2.1991 2.5133 2.8274 3.1416,13/115,14,矩阵创建,【,例,】,创建一个,33,矩阵,输入:,a=1 2 3;4 5 6;7 8 9,或,a=1,2,3;4,5,6;7,8,9,或,a=1,2,3,4,5,6,7,8,9,屏幕输出,a=,1 2 3,4 5 6,7 8 9,14/115,15,整个输入数组必须以方括号“,”,为其首尾;,数组行与行之间必须用分号“,;”,或回车键,【Enter】,隔开;,数组元素必须由逗号“,”,或空格分隔。,a=2.7358;b=33/79;,C=1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i,C=,1.0000 5.4716+0.4177i 0.6909,0.7071 4.8244 3.5000+1.0000i,15/115,16,指令,含义,指令,含义,diag,产生对角形数据,rand,产生均匀分布随机数组,eye,产生单位数组,randn,产生正态分布随即数组,magic,产生魔方数组,zeros,产生全,0,数组,ones,产生全,1,数组,标准数组生成函数,16/115,17,访问矩阵某一个元素,:,a(3,2),ans=,8,访问矩阵某行,(,列)全部元素,:,a(3,:)a(:,2),注意:这两个符号分别是,1*3,行向量和,3*1,列向量,17/115,18,【,例,】,子数组寻访。,rand(state,0)%,把均匀分布伪随机发生器置为,0,状态,x=rand(1,5)%,产生均布随机数组,x=,0.9501 0.2311 0.6068 0.4860 0.8913,x(3)%,寻访数组,x,第三个元素。,ans=,0.6068,x(1 2 5)%,寻访数组,x,第一、二、五个元素组成子数组。,ans=,0.9501 0.2311 0.8913,x(1:3)%,寻访前三个元素组成子数组,ans=,0.9501 0.2311 0.6068,18/115,19,【,例,】,创建二维数组,C,。,a=2.7358;b=33/79;,%,这两条指令分别给变量,a,,,b,赋值。,C=1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i,%,这指令用于创建二维数组,C,C=,1.0000 5.4716+0.4177i 0.6909,0.7071 4.8244 3.5000+1.0000i,19/115,20,【,例,】,二维数组子数组寻访和赋值,。,A=zeros(2,4)%,创建全零数组,A=,0 0 0 0,0 0 0 0,A(:)=1:8%,全元素赋值方式,A=,1 3 5 7,2 4 6 8,20/115,21,3.3,部分特殊变量和常数,ans,最近生成无名结果,eps,浮点数相对误差,pi,3.14145926,i,虚数单位,j,虚数单位,inf,无穷大,如,n/0,NaN,非数,真实记述,0/0,/,0,运算后果;,21/115,22,a=0/0,Warning:Divide by zero.,(Type warning off MATLAB:divideByZero to suppress this warning.),a=,NaN,isnan(a),ans=,1,22/115,23,t=-2*pi:pi/10:2*pi;%,该自变量数组中,存在,0,值,y=sin(t)./t;%,在,t=0,处,计算将产生,NaN,tt=t+(t=0)*eps;%,使,0,元素被一个“机器零”小数代替,yy=sin(tt)./tt;%,用,sin(eps)/eps,近似代替,sin(0)/0,极限,subplot(1,2,1),plot(t,y),axis(-7,7,-0.5,1.2),xlabel(t),ylabel(y),title(,残缺图形,),subplot(1,2,2),plot(tt,yy),axis(-7,7,-0.5,1.2),23/115,24,3.4,部分惯用运算符,3.4.1,算术运算符,加,减,*,乘,(,包含标量乘,矩阵乘,标量与矩阵乘,),/,除,(,包含标量除,矩阵除标量,数组除标量,),矩阵求幂(矩阵必须为方阵),.*,数组相乘,./,数组相除,.,数组求幂,注意:,.*./,表示两个同维数组中对应元素做乘,除,.,表示对数组每个元素求幂,24/115,25,【,例,】,输入,A=1,3;2,4 B=1,2;3,4 C=A*B,屏幕输出:,A=,1 3,2 4,B=,1 2,3 4,C=,10 14,14 20,25/115,26,C=A.*B,屏幕输出:,A=,1 3,2 4,B=,1 2,3 4,C=,1 6,6 16,26/115,27,【,例,】,演示,pow2,数组运算性质。,A=1:4;5:8%,生成数组,A=,1 2 3 4,5 6 7 8,pow2(A)%,计算结果也是数组,ans=,2 4 8 16,32 64 128 256,27/115,28,【,例,】,复数矩阵生成及运算,A=1,3;2,4-5,8;6,9*i,B=1+5i,2+6i;3+8*i,4+9*i,C=A*B,A=,1.0000-5.0000i 3.0000-8.0000i,2.0000-6.0000i 4.0000-9.0000i,B=,1.0000+5.0000i 2.0000+6.0000i,3.0000+8.0000i 4.0000+9.0000i,C=,1.0e+002*,0.9900 1.1600-0.0900i,1.1600+0.0900i 1.3700,28/115,29,3.4.2,关系运算符,小于,大于,=,大于等于,=,等于,=,不等于,运算法则:若关系式成立,结果为,1,;,若关系式不成立,结果为,0,。,29/115,30,A=1:9,B=10-A,r0=(A4),r1=(A=B),A=,1 2 3 4 5 6 7 8 9,B=,9 8 7 6 5 4 3 2 1,r0=,1 1 1 0 0 0 0 0 0,r1=,0 0 0 0 1 0 0 0 0,30/115,31,3.4.3,逻辑运算符,&,与,|,或,非,运算法则:若逻辑真,结果为,1,;,若逻辑假,结果为,0,。,31/115,32,3.4.4,其它常见符号,=,变量赋值,%,注释符,共轭转置符,:,冒号运算符,n:s:m,产生,nm,步长为,s,序列,,s,能够为,正或负或者小数,默认值为,1,。,32/115,33,3.5 Matlab,程序设计,Matlab,工作方式有二种,1.,交互式指令操作方式。即用户在命令窗口中输入命令并按下回车键后,系统执行该指令并马上给出运算结果。,2.m,文件编程方式。,m,文件是由,matlab,语句组成文件,且文件名必须以,.m,为扩展名,如,example.m,。用户能够用任何文件编辑器来对,M,文件进行编辑。,33/115,34,m,文件有两种:,第一个:可单独运行。需在,command,窗口打开。直接双击在文本窗口打开,只能编辑。,语句后加;号。同,C,语言。,%labdft.m,x=ones(1,8),zeros(1,248);,n=0:(length(x)-1);,w=(2*pi/length(x)*n;,Am3,pha3=dft3(x);,语句后不加;号可在,command,窗口看到结果。,34/115,35,第二种:不可单独运行,但能被其它,M,文件直接调用(须在,MATLAB,可寻路径,如同一目录),相当于,函数,。,%dft3.m:,function Am,pha=dft3(x),Xk=fft(x);,Am=abs(Xk);,pha=angle(Xk);,35/115,36,在,MATLAB,中,调用函数惯用形式是:,输出参数,1,输出参数,2,=,函数名,(,输入参数,1,输入参数,2,),函数调用能够嵌套,一个函数能够调用别函数,甚至调用它自己(递归调用)。,36/115,37,程序流程控制,次序结构:,Matlab,从上到下依次执行各语句,该结构最简单。,循环结构,(1)for-end,循环,用于循环次数事先确定,格式为,for i=n:s:m,语句体,end,s,为步长,能够为正数,负数或小数。,37/115,38,(,2,),while-end,循环,用于循环次数不能事先确定,格式为,while,表示式,语句,体,end,只有表示式为真,就执行语句体,表示式为假,终止该循环。,38/115,39,分支结构,(,1,),if,语句,格式为,if,表示式,1,语句体,1,elseif,表示式,2,语句体,2,.,else,语句体,else,end,39/115,40,(,2,),switch-case,结构。,40/115,41,3.6 m,文件创建,保留,,运行,创建,【File】,菜单下,【New】,菜单项选择项,【M-File】,命 令 打开,matlab,m,文件编辑器窗口。,41/115,42,保留,单击,M,文件编辑器窗口工具栏中,【Save】,图标,,打开保留对话框,42/115,43,运行,使,M,文件*,.m,所在目录成为当前目录,或让该目录处于,MATLAB,搜索路径上,,然后运行,M,文件名指令,便可。,在,command,窗口可看到调试信息。,command,窗口可及时清理。,43/115,44,3.7,基本数学函数和基本绘图函数,sin,,,cos,,,tan,,,asin(x),,,acos(x),,,atan(x),,,atan2(x,,,y),,,sinh(x),,,cosh(x),,,tanh(x),,,asinh(x),,,acosh(x),,,atanh(x),:,三角函数,exp:,指数,sqrt,:,开平方,log:,自然对数,log10:,产用对数,log2:,以二为底对数,abs:,取模,Angle,:,取角度;,conj:,取共轭,real:,取实部;,imag:,取虚部,round(x),,,fix(x),,,floor(x),,,ceil(x),:取整,44/115,45,基本绘图指令,Matlab,提供了强大图形绘制功效。在大多数情况下,用户只需要指定绘图方式,提供绘图数据,利用,Matlab,提供丰富二维,三维图形函数,就能够绘制出所需图形。,1,、绘制二维连续函数,Matlab,中最惯用绘图函数是,plot,,,plot,基本命令格式有以下几个:,45/115,46,(1),plot(y),plot(y,S,),当,y,为一向量时,以,y,序号作为,x,轴,按向量,y,值绘制曲线。,S:,用来指定线型、色彩、数据点形选项字符串。,(2),plot(x,y),plot(x,y,S,),x,y,均为向量时,以,x,向量作为,X,轴,向量,y,作为,Y,轴绘制曲线。,注意:,x,和,y,种元素个数必须相同!,46/115,47,2,、绘制二维,离散,序列,在,Matlab,用,stem,命令实现离散序列绘制。,stem,命令格式有以下几个,:,(1),stem(y);stem(y,,,S,),以,x=1,2,3,为各点数据,x,坐标,以,y,向量各个对应元素为,y,坐标,在(,X,Y,)坐标面画一个空心小圆圈。,(2),stem(x,y,);,stem(x,y,S,),以,x,向量各个元素为,x,坐标,以,y,向量各个对应元素为,y,坐标,在(,X,Y,)坐标面画一个实心小圆圈,并连接一条线段到,X,轴。,47/115,48,3,、绘制子图:,figure,(,n,),;,subplot(m,n,l);,4,、,坐标控制:,axis(0,1,-5,5);,5,、图上加标题,:,title(Actual Phase Response in radians);,6,、坐标标注,:,xlabel(frequency in pi units);,ylabel(arg(Hexp(jw);,7,、在图面,(xt,yt),坐标处书写字符注释,text(xt,yt,S),48/115,49,8,、,grid on,:,画出分格线,grid off,:,不画分格线,grid,:,是否画分格线双向切换指令,9,、,hold on,:,使当前轴及图形保持而不被刷新,准备接收今后将绘制新图形,hold off,:,使当前轴及图形不再具备不给刷新性质,hold,:,当前图形是否具备刷新性质双向切换开关,49/115,50,10,、,gtext,:,用鼠标把字符串放置到图形上,11,、,legend,:,在指定位置建立图例,50/115,51,普通步骤,1,曲线数据准备,先取一个参变量采样向量,然后计算各坐标数据向量,t=pi*(0:100)/100;,x=f1(t);y=f2(t);,z=f3(t);,三维曲面数据,产生自变量采样向量,产生自变量“格点”矩阵,计算自变量“格点”矩阵对应函数值矩阵,x=x1:dx:x2;,y=y1:dy:y2;,X,Y=meshgrid(x,y);,Z=f(X,Y);,2,选定图形窗及子图位置,缺省时,打开,Figure No.1,,或当前窗,可用指令指定图形窗口和子图号,figure(1),subplot(2,2,3),3,调用三维曲线绘制指令:,线型、色彩、数据点形,plot(x,y,r:),plot3(x,y,z,b-),调用三维曲面绘图指令,mesh(X,Y,Z),51/115,52,4,设置轴范围、坐标分割线x,axis(x1,x2,y1,y2),axis(x1,x2,y1,y2,z1,z2),grid on,5,图形注释:,图名、坐标名、图例、文字,说明,title(,调制波形,),xlabel(t);ylabel(y),text(2,0.5,y=sin(t),6,着色、明暗、灯光、材质处理,(仅对三维图形使用),colormap,shading,light,material,7,视点、三度(横、纵、高)比,(仅对三维图形使用),view,aspect,8,图形精细修饰(图柄操作),利用对象属性值设置,利用图形窗工具条进行,get,set,9,打印,图形窗上直接打印,利用图形后处理软件打印,print dps2,52/115,53,S,:,色彩和线型,线型,符号,-,:,-.,-,含义,实线,虚线,点划线,双划线,色彩,符号,b,g,r,c,m,y,k,w,含义,蓝,绿,红,青,品红,黄,黑,白,53/115,54,符号,含义,符号,含义,.,实心黑点,d,菱形符,diamond,+,十字符,h,六角星符,hexagram,*,八线符,o,空心圆圈,朝上三角符,p,五角星符,pentagram,朝右三角符,x,叉字符,v,朝下三角符,S,:,数据,点形,54/115,55,3.8,编程举例,例一:画出衰减震荡曲线,及其包络线,t,取值范围是,程序以下:,%plot_exam1.m,t=0:pi/50:4*pi;%定义自变量取值数组,y0=exp(-t/3);%计算与自变量对应y0数组,y=exp(-t/3).*sin(3*t);%计算与自变量对应y数组,plot(t,y,-r,t,y0,:b,t,-y0,:b)%用不一样颜色、线型绘制曲线,grid%在“坐标纸”画小方格,55/115,56,程序运行结果以下:,56/115,57,57/115,58,例二,.,用图形表示连续调制波形,及其包络。程序以下:,%plot_exam2.m,t=(0:pi/100:pi)%长度为101时间采样列向量y1=sin(t)*1,-1;%包络线函数值,是(101x2)矩阵,y2=sin(t).*sin(9*t);%长度为101调制波列向量,t3=pi*(0:9)/9;,y3=sin(t3).*sin(9*t3);,plot(t,y1,r:,t,y2,b,t3,y3,bo),axis(0,pi,-1,1)%控制轴范围,58/115,59,59/115,60,%plot_exam3.m,alpha=.02;,beta=.5;,t=0:4:200;,y=exp(-alpha*t).*sin(beta*t);,figure(1);,subplot(2,1,1);plot(t,y);,subplot(2,1,2);stem(t,y);,例三,.,用图形表示连续调制波形,及其包络。程序以下:,60/115,61,61/115,62,例四,.,x=linspace(0,2*pi,30);,y=sin(x);,z=cos(x);,plot(x,y,b:p,x,z,r-,x,2*z,m+),62/115,63,例五,.,t=2*pi*(0:20)/20;,y=cos(t).*exp(-0.4*t);,stem(t,y,g);,hold on;,stairs(t,y,r);,hold off,63/115,64,64/115,65,四、,Matlab,在数字信号处理课程中应用举例,常见连续信号,离散信号,离散卷积,LTI,系统,65/115,66,4.1,常见连续信号,周期信号:正弦信号,周期方波,【,例,】,产生一个幅度为,2,,频率为,4Hz,相位为 正弦信号,A=2;,f=4;,phi=pi/6;,w0=2*pi*f;,t=0:0.01:1;,x=A*sin(w0*t+phi);,plot(t,x);,66/115,67,非周期信号:指数信号,阶跃信号,取样函数,Sa(x),等,【,例,】,产生一个高度为,1,,宽度为,3,,延时为,2,秒矩形脉冲 信号,t=-2:0.02:6;,plot(t,rectpuls(t-2,3);,axis(-2,6,0,1.5);,67/115,68,【,例,】,取样函数:用,sinc(x),命令,N=1000;,t=-10:20/N:10;,x=sinc(t/pi);,plot(t,x);grid on,68/115,69,69/115,70,随机信号:,【,例,】,rand,产生均匀分布白嘈声,,randn,产生高斯分布白噪声,t=0:0.01:1;,y=randn(1,length(t);,plot(t,y);grid on;,70/115,71,4.2,离散信号,周期序列,【,例,】,产生一个幅度为,2,,频率为,4Hz,相位为 正弦信号,A=2;,phi=pi/6;,omega=2*pi/12;,n=-10:10;,x=A*sin(omega*n+phi);,stem(n,x,fill);,grid on;,71/115,72,单位脉冲序列 和单位阶跃序列,u(n),能够用,ones(1,n),和,zeros(1,n),来生成单位脉冲序列和单位阶跃序列,ones(1,n),命令产生,1,行,n,列,1,值,zeros(1,n),命令产生,1,行,n,列,0,值,72/115,73,【,例,】,产生单位脉冲序列 和单位阶跃序列,u(n-3),n=-2:30;,x=zeros(1,5),1,zeros(1,27);,y=zeros(1,5),ones(1,28);,subplot(2,1,1);,stem(n,x,fill);grid on;,subplot(2,1,2),stem(n,y,fill);grid on;,73/115,74,74/115,75,4.3,离散卷积,matlab,中卷积运算指令是,c=conv(a,b),其中,a,和,b,是有限长序列。,【,例,】,计算下面两个序列卷积,a=-2 0 1 1 3;b=1 2 0-1;,两个序列都从,0,开始,75/115,76,%conva.m,x=-2 0 1-1 3;,h=1 2 0-1 0;,y=conv(x,h);,N=length(y)-1;,n=0:1:N;,stem(n,y,fill);,grid on;,title(conv of x and h);,ylabel(y);,xlabel(Time index n);,76/115,77,77/115,78,【,例,】,有序列 和,求这两个完整序列卷积,并图示。,78/115,79,%,完整序列卷积,%conv1.m,a=ones(1,10);,n1=3;n2=12;%,完整,a(n),序列非平凡值和区间端点,b=ones(1,8);,n3=2;n4=9;%,完整,b(n),序列非平凡值和区间端点,c=conv(a,b);,nc1=n1+n3;nc2=n2+n4;%,计算卷积和确定卷积非平凡区间端点,kc=nc1:nc2;%,组成非平凡区间序号自变量,stem(kc,c,b),title(conv of x and h);,ylabel(y);xlabel(Time index n);,79/115,80,80/115,81,4.4 LTI,系统,filter,:,因果,LTI,系统零状态响应,在,matlab,中能够用函数,y=filter(num,den,x),实现。,其中:,num-,系统传递函数分子系数组成行向量,den-,系统传递函数分母系数组成行向量,x-,输入离散序列,y-,输出离散序列,,y,长度与,x,长度一样,81/115,82,impz,:,在,A(z),、,B,(,z,)已知情况下,用以下函数求系统单位抽样响应,h(n),,,t,是所统计,0,到,n-1,取样点数矢量:,h,t=impz(,num,den,),,取样点数自动选取;,h,t=impz(,num,den,n),,取样点数选取为,0,到,n-1,或由矢量,n,指定,取样间隔为,1,;,h,t=impz(,num,den,n,,,Fs),,取样间隔为,1/Fs,;,impz(,num,den,),,只在当前窗口用,stem,(,t,,,h,)绘出单位抽样响应,h(n),。,82/115,83,freqz,:,因果,LTI,系统幅频响应和相频响应曲线,在,matlab,中能够用,以下,函数,作出:,H,w=freqz(num,den,N),,,频率响应在单位圆上半周取,N,个等分点;,H,w=freqz(num,den,N,whole),,频率响应在单位圆取,N,个等分点;,H=freqz(num,den,w),,频率响应在,w,设定频率上。,该函数能够同时作出幅频和相频响应图,其中:,num-,系统传递函数分子系数组成行向量;,den-,系统传递函数分母系数组成行向量;,N-,是频率响应点数,最好为,2,幂缺省值,512,;,w-,是返回频率轴坐标向量。,83/115,84,zplane,:,离散系统极零图,,在,matlab,中能够用以下函数作出:,zplane(,z,p),,,已知,极点、零点;,zplane(,num,den),;,hz,,,hp,,,ht=zplane(,z,p),,,返回,极点、零点、坐标轴等句柄。,84/115,85,【,例,】,已知一个系统传递函数为,绘出,极零图,,求系统单位冲激响应,hn,,以及,hn,幅频相频响应图。,85/115,86,%sys_filter.m,N=64;,n=1:N;,Fs=1024;,x=1 zeros(1,N-1);%,产生单位冲激序列,num=0.008-0.033 0.05-0.033 0.008;,den=1 2.37 2.7 1.6 0.41;,h1=filter(num,den,x);%,计算单位冲激响应,1,86/115,87,figure(1),subplot(2,1,1);,stem(n,h1,fill);,grid on;,title(,单位冲激响应,1);,ylabel(h1(n);,xlabel(n),subplot(2,1,2);,h2,t=impz(num,den,n,Fs);%,计算单位冲激响应,2,stem(t,h2,fill);,grid on;,title(,单位冲激响应,2);,ylabel(h2(n);,xlabel(n),87/115,88,figure(2),zplane(num,den);%,作出极零图,figure(3),freqz(num,den,N,Fs);,grid on;%,做出幅频和相频响应曲线,title(,频率响应,);,88/115,89,89/115,90,90/115,91,91/115,92,【,例,】,有一调幅信号,用做频谱分析,要求能分辨,x,a,(t),全部频率分量,,若用,f,s,=3kHz,频率抽样,抽样数据为点,,做频谱分析,求,X(k)=DFTx(n),,点,,画出,X(k),幅频特征,|X(k)|,。,92/115,93,%cosfft0,.m,N=512;,n=0:1:N-1;,fs=3000,%x=cos(2*pi/fs*100*n);,x=cos(2*pi/fs*600*n)+0.5*cos(2*pi/fs*700*n)+0.5*cos(2*pi/fs*500*n);,subplot(3,1,1);stem(n,x);ylabel(signal x(n),0=n=511);xlabel(n),axis(0,N-1,-2.5,2.5),93/115,94,X=fft(x,N);magX=abs(X(1:1:N),k=0:1:N-1;f=fs/N*k;,axis(0,1500,0,250),subplot(3,1,2);plot(f,magX);ylabel(DFT Magnitude);xlabel(frequency in Hz),%,图中横坐标值即为信号实际频率(赫兹)。,k=0:1:N-1;w=2*pi/N*k;,subplot(3,1,3);plot(w,magX);ylabel(DFT Magnitude);xlabel(frequency in rad),axis(0,pi,0,250),%,图中横坐标值为信号数字频率(弧度),乘以,fs,除以,2*pi,即为信号实际频率(赫兹)。,94/115,95,95/115,96,【,例,】,比较高密度谱和高分辨率谱之间差异,考虑,x,(,n,),=cos(0.48*pi*n)+cos(0.52*pi*n),()取,x,(,n,)()时,,求,x,(,n,),DFT,。,()将()中,x,(,n,)以,补零方式使,x,(,n,),加长到,求,x,(,n,),DFT,。,()取,x,(,n,)()时,,求,x,(,n,),DFT,画出幅频特征。,96/115,97,%spectrum_com1,.m,&part 1,%Spectrum based on the first 10 samples of x(n),figure(1),n1=0:1:9;x=cos(0.48*pi*n1)+cos(0.52*pi*n1);y1=x(1:1:10);,subplot(2,1,1);stem(n1,y1);title(signal x(n),0=n=9);xlabel(n),axis(0,10,-2.5,2.5),Y1=fft(y1);magY1=abs(Y1(1:1:6);,k1=0:1:5;w1=2*pi/10*k1;,subplot(2,1,2);stem(w1/pi,magY1);title(Samples of DTFT Magnitude);,xlabel(frequency in pi units),axis(0,1,0,10),97/115,98,%part 2,%High density spectrum(100 samples)based on the first 10 samples of x(n),figure(2),n3=0:1:99;x=cos(0.48*pi*n3)+cos(0.52*pi*n3);y3=x(1:1:10)zeros(1,90);,subplot(2,1,1);stem(n3,y3);title(signal x(n),0=n=9+90 zeros);xlabel(n),axis(0,100,-2.5,2.5),Y3=fft(y3);magY3=abs(Y3(1:1:51);,k3=0:1:50;w3=2*pi/100*k3;,subplot(2,1,2);plot(w3/pi,magY3);title(DTFT Magnitude);xlabel(frequency in pi units),axis(0,1,0,10),98/115,99,%part 3,%High resolution spectrum based on 100 samples of the signal x(n),figure(3),n=0:1:99;,x=cos(0.48*pi*n)+cos(0.52*pi*n);,subplot(2,1,1);stem(n,x);title(signal x(n),0=n=99);xlabel(n),axis(0,100,-2.5,2.5),X=fft(x);magX=abs(X(1:1:51);,k=0:1:50;w=2*pi/100*k;,subplot(2,1,2);plot(w/pi,magX);title(DTFT Magnitude);xlabel(frequency in pi units),axis(0,1,0,60),99/115,100,100/115,101,101/115,102,102/115,103,【,例,】,有一,连续,信号,频率成份分别为,f,1,=4Hz,,,f,2,=8Hz,,,f,3,=10Hz,。,(,1,)、若用,f,s,=32Hz,频率抽样,抽样数据为,N=16,点做频谱分析,能分辨,x,a,(t),全部频率分量。,X,1,(,t,)一个周期取,8,点,共取,2,个周期;,X,2,(,t,)一个周期取,4,点,共取,4,个周期;,X,3,(,t,)一个周期取,3.2,点,共取,5,个周期。或,N,取,16,整数倍,但最少为,16,。,103/115,104,(,2,)、若用,f,s,=64Hz,频率抽样,抽样数据为,N=32,点做频谱分析,也能分辨,x,a,(t),全部频率分量。,X,1,(,t,)一个周期取,16,点,共取,2,个周期;,X,2,(,t,)一个周期取,8,点,共取,4,个周期;,X,3,(,t,)一个周期取,6.4,点,共取,5,个周期。或,N,取,32,整数倍,但最少为,32,。,抽样频率,f,s,可取,32Hz,整数倍,但最少为,32Hz,。,104/115,105,若用,f,s,=30Hz,频率抽样,抽样数据为,16,点做频谱分析,不能分辨,x,a,(t),全部频率分量,X(k),幅频特征,|X(k)|,以下。,105/115,106,%cosdft30.m:,N=16;,n=0:1:N-1;,k=0:1:N-1;,fs=32;,%x=1,1,1,1;,x=cos(2*pi/fs*4*n)+2*cos(2*pi/fs*8*n)+3*cos(2*pi/fs*10*n);,X=fft(x,N);,magX=abs(X(1:1:N);,f=fs/N*k;,106/115,107,subplot(2,1,1);,stem(n,x);,ylabel(x(n);,xlabel(n);,title(signal x(n),0=n 16,,,stem(n,x),%axis(0,N-1,-5,5);,subplot(2,1,2);,stem(f,magX);,ylabel(DFT Magnitude);,xlabel(frequency in Hz);,title(fs=32,N=16),%axis(0,50,0,25);,%,图中横坐标值即为信号实际频率(赫兹)。,107/115,108,108/115,109,1
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服