实验一 离散信号及其MATLAB实现-2_第1页
实验一 离散信号及其MATLAB实现-2_第2页
实验一 离散信号及其MATLAB实现-2_第3页
实验一 离散信号及其MATLAB实现-2_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一离散信号及其MATLAB实现实验目的熟悉MATLAB的主要操作命令;学会离散信号的表示方法及基本操作运算;掌握简单的绘图命令;用MATLAB编程并学会创建函数;实验原理1.离散信号表示与运算在数字信号处理中,所有信号都是离散时间信号——序列,表示为x(n)={...,x(-1),x(0),x(1),...}-∞<n<∞MATLAB一般把普通的一维抽样数据信号即抽样序列表示成向量的形式。本实验用到的典型信号表示如下:(1)实指数序列x(n)=ana∈RMATLAB实现n=0:N-1;x=a.^n;(2)正(余)弦序列x(n)=Asin(2fπnTS+β)n1≤n≤n2MATLAB实现n=n1:n2;x=A*sin(2*pi*f*n*Ts+β);(3)复指数序列x(n)=e(α+jw)n任意nMATLAB实现n=0:N-1;x=exp((r+j*w)*n);(4)单位阶跃序列:

在MATLAB中可用函数ones(1,N)产生一个由N个1组成的行向量,实现有限区间的u(n)x=ones(1,N);(5)单位抽样序列:

在MATLAB中可用函数zero(1,N)产生一个由N个零组成的行向量,实现有限区间x=zeros(1,N)x(1)=1;(6)定义函数格式:例:function[d]=mysum(a,b,c)2.MATLAB的绘图方法(1)函数:figure()figure:创建一个图形窗口并返回它的句柄;(2)子图函数:subplot()subplot(m,n,p):将窗口划分为m*n的小窗口矩阵,选择第p个为当前绘图窗口并返回句柄.具体窗口的计数是沿着顶部的行进行,然后再到下一行.(3)绘制离散序列数据杆状图函数:stem()stem(x,y):在x的制定值处画数据序列y的杆状图。(4)设置网格线命令:gridgridON:对当前坐标线加上网格线gridOFF:撤销网格线grid:设置或撤销网格线(5)添加坐标轴标志函数:xLabel(),yLabel()

三.实验内容(1)序列的加、减、乘、除和乘方运算。输入A=[1234],B=[3456],起点n=0,求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B,并用stem语句画出A,B,C,D,E,F,G。(2)用MATLAB实现下列序列:x1(n)=0.8n0≤n≤15x2(n)=e(0.2+3j)0≤n≤15x3(n)=3cos(0.125πn+0.2π)+2sin(0.25πn+0.1π)0≤n≤15(3)编写函数如stepshift(n0,n1,n2)实现u(n)的移位序列u(n-n0),n1≤n≤n2(4)x(n)=[1,-1,3,5],起点n=0,产生并绘出下列序列的样本:x1(n)=2x(n+2)-x(n-1)-2x(n)四.实验代码(1)n=[0:3];A=[1234];B=[3456];C=A+B;D=A-B;E=A.*B;F=A./B;G=A.^B;figure(1);subplot(3,3,1)stem(n,A);xlabel(‘n');ylabel('A');gridon;subplot(3,3,2)stem(n,B);xlabel('n');ylabel('B');gridon;title('序列的运算');subplot(3,3,3)stem(n,C);xlabel('n');ylabel('C');gridon;subplot(3,3,4);stem(n,D);xlabel('n');ylabel('D');gridon;subplot(3,3,5)stem(n,E);xlabel('n');ylabel('E');gridon;subplot(3,3,6)stem(n,F);xlabel('n');ylabel('F');gridon;subplot(3,3,7)stem(n,G);xlabel('n');ylabel('G');gridon;(2)clear;closeall;n=[0:15];x1=0.8.^n;x2=exp((0.2+3*j).*n);x3=3*cos(0.125*pi*n+0.2*pi)+2*sin(0.25*pi*n+0.1*pi);figure(1);subplot(3,1,1);stem(n,x1);xlabel('n');ylabel('x1');gridon;title('序列的表示');subplot(3,1,2);stem(n,x2);xlabel('n');ylabel('x2');gridon;subplot(3,1,3);stem(n,x3);xlabel('n');ylabel('x3');gridon;(3)函数stepshift定义代码:function[n,x1]=stepshift(n0,n1,n2)n=n1:n2;x1=[(n-n0)>=0];调用函数代码:clear;closeall;n1=0;n2=9;n0=2;N=n2-n1+1;x=ones(1,N);[n,x1]=stepshift(n0,n1,n2);figure(1);subplot(2,1,1);stem(n,x);xlabel('n');ylabel('x');title('阶跃序列');subplot(2,1,2);stem(n,x1);xlabel('n');ylabel('x1');title('阶跃序列的移位');函数sigshift定义:function[y,n]=sigshift(x,m,n0);=m-n0;y=x;函数sigadd定义:function[y,n]=sigadd(x1,n1,x2,n2,x3,n3);m=[min(n1),min(n2),min(n3)]p=[max(n1),max(n2),max(n3)]n=min(m):1:max(p)y1=zeros(1,length(n));y2=y1;y3=y1;y1(find((n>=min(n1))&(n<=max(n1))==1))=x1;y2(find((n>=min(n2))&(n<=max(n2))==1))=x2;y3(find((n>=min(n3))&(n<=max(n3))==1))=x3;y=y1+y2+y3;调用函数代码:clear;closeall;n=[0:3];x=[1-135];[x11,n11]=sigshift(x,n,-2);[x12,n12]=sigshift(x,n,1);[x13,n13]=sigshift(x,n,0);[x1,n]=sigadd(2*x11,n11,(-1)*x12,n12,(-2)*x13,n13);figure(1)stem(n,x1);xlabel('n');ylabel('x1');title('序列相加');gridon;[y,n]=sigshift(x,m,n0)n=m+n0;y=x;[y,n]=sigadd(x1,n1,x2,n2,x3,n3)m=[min(n1),min(n2),min(n3)]p=[max(n1),max(n2),max(n3)]n=min(m):1:max(p)y1=zeros(1,length(n));y2=y1;y3=y1;y1(find((n>=min(n1))&(n<=max(n1))==1))=x1;y2(find((n>=min(n2))&(n<=max(n2))==1))=x2;y3(find((n>=min(n3))&(n<=max(n3))==1))=x3;y=y1+y2+y3;五.实验结果实验(1)序列图见附录一实验(2)序列图见附录二实验(3)序列图见附录三实验(4)序列图见附录四六.实验结果分析(1)实验一的序列图是离散信号A和B经过序列的加、减、乘、除和乘方运

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论