欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    实验一 离散时间信号的时域表示.docx

    • 资源ID:3435963       资源大小:40KB        全文页数:8页
    • 资源格式: DOCX        下载积分:6.99金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要6.99金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    实验一 离散时间信号的时域表示.docx

    实验一 离散时间信号的时域表示实验一 离散时间信号的时域表示 一、实验目的 1、熟悉Matlab命令,掌握离散时间信号序列的时域表示方法。 2、掌握用Matlab描绘二维图像的方法。 3、掌握用Matlab对序列进行基本的运算和时域变换的方法。 二、实验原理与计算方法 序列的表示方法 序列的表示方法有列举法、解析法和图形法,相应的用Matlab也可以有这样几种表示方法,分别介绍如下: 1、列举法 在Matlab中,用一个列向量来表示一个有限长序列,由于一个列向量并不包含位置信息,因此需要用表示位置的n和表示量值的x两个向量来表示任意一个序列,如: 例1.1: >>n=-3,-2,-1,0,1,2,3,4; >>x=2,1,-1,0,1,4,3,7; 如果不对向量的位置进行定义,则Matlab默认该序列的起始位置为n=1。 由于内存有限,Matlab不能表示一个无限序列。 2、解析法 对于有解析表达式的确定信号,首先定义序列的范围即n的值,然后直接写出该序列的表达式,如: 例1.2:实现实指数序列x(n)=(0.9)n,0£n£10的Matlab程序为: >>n=0:10; >>x=(0.9).n; 例1.3:实现正余弦序列x(n)=3cos(0.1pn+p3)+2sin(0.5pn),5£n£15的Matlab程序为: >>n=5:15; >>x=3*cos(0.1*pi*n+pi/3)+2*sin(0.5*pi*n); 3、图形法 在Matlab中用图形法表示一个序列,是在前两种表示方法的基础上将序列的各个量值描绘出来,即首先对序列进行定义,然后用相应的画图语句画图,如: 例1.4:绘制在例1.1中用列举法表示的序列的图形,则在向量定义之后加如下相应的绘图语句: >>stem(n,x); 此时得到的图形的横坐标范围由向量n的值决定,为-3到4,纵坐标的范围由向量x的值决定,为-1到7。应用stem函数时应确保自变量n和函数值x的个数相等。此外可用函数axis(x1,x2,y1,y2)对横纵坐标进行限定,以完善图形,其中x1和x2分别为横坐标的起始和截止位置,y1和y2分别为纵坐标的起始和截止位置。也可用xlabel()、ylabel()和title()为该图添加横、纵坐标说明和标题。 subplot(m,n,k)函数可以将当前窗口分成m行n列个子窗口,并在第k的子窗口绘图。窗口的排列顺序为从左至右,从上至下分别为1,2,m*n。 以上为各个绘图函数的基本用法,有关各函数的其他参数可参考Matlab的帮助文件。 下面给出产生单位抽样序列和单位阶跃序列的两个函数,供参考。 例1.5:产生单位抽样序列的函数impseq(n0,n1,n2)。 function x,n = impseq(n0,n1,n2) % Generates x(n) = delta(n-n0); n1 <= n,n0 <= n2 % - % x,n = impseq(n0,n1,n2) % if (n0 < n1) | (n0 > n2) | (n1 > n2) error('arguments must satisfy n1 <= n0 <= n2') end n = n1:n2; x = (n-n0) = = 0; 该函数产生一个抽样位置n0位于n1和n2之间的单位抽样序列。 例1.6:产生单位阶跃序列的函数stepseq(n0,n1,n2)。 function x,n = stepseq(n0,n1,n2) % Generates x(n) = u(n-n0); n1 <= n,n0 <= n2 % - % x,n = stepseq(n0,n1,n2) % if (n0 < n1) | (n0 > n2) | (n1 > n2) error('arguments must satisfy n1 <= n0 <= n2') end n = n1:n2; %x = zeros(1,(n0-n1), ones(1,(n2-n0+1); x = (n-n0) >= 0; 该函数产生一个起始位置n0位于n1和n2之间的单位阶跃序列。 注意:由function产生的函数文件,不能直接运行,并且要放在当前路径下的文件夹里,供其他M文件调用。 序列的基本运算和时域变换 1、加法:x1(n)+x2(n) 序列的加法运算为对应位置处量值的相加,在Matlab中可用运算符“+”实现,但要求参与运算的序列的长度必须相等。如果长度不等或者长度相等但采样位置不同,则不能直接应用该运算符,此时需要先给定参数使序列具有相同的位置向量和长度。下面给出sigadd函数实现任意两序列的加法运算。 例1.7: function y,n = sigadd(x1,n1,x2,n2) % implements y(n) = x1(n)+x2(n) % % y,n = sigadd(x1,n1,x2,n2) % y = sum sequence over n, which includes n1 and n2 % x1 = first sequence over n1 % x2 = second sequence over n2 (n2 can be different from n1) % n = min(min(n1),min(n2):max(max(n1),max(n2); % duration of y(n) y1 = zeros(1,length(n); y2 = y1; % initialization y1(find(n>=min(n1)&(n<=max(n1)=1)=x1; % x1 with duration of y y2(find(n>=min(n2)&(n<=max(n2)=1)=x2; % x2 with duration of y y = y1+y2; % sequence addition 其中x1和x2为参与加法运算的两序列,n1和n2分别为x1和x2的位置向量。 2、乘法:x1(n)·x2(n) 序列的乘法运算为对应位置处量值的相乘,在Matlab中由数组运算符“.*”实现,也受到“+”运算符同样的限制。 3、反折:x(n)x(-n) 序列的反折指序列的每个量值都对n=0做一个对称操作,从而得到一个新序列。在Matlab中可由fliplr(x)函数实现,此时序列位置的反折则由-fliplr(n)实现。 4、平移:x(n)x(n-m) 平移操作是将序列的每个量值都移动m个位置,在得到的新序列中,量值和原序列相同,只是位置向量n发生变化,当m>0时,表示序列向右平移,此时新序列的位置向量为n+m;当m<0时,表示序列向左平移,此时新序列的位置向量为n-m。 三、实验内容 参考示例程序,产生一个有延迟的单位抽样序列:d (n-11),5£n£15,绘出序列的图形。 本题程序: n=5:15 x=(n-11)=0 stem(n,x,'r.','MarkerSize',15) axis(4,16,-0.5,1.5) grid on; title('单位抽样序列 '); xlabel('自变量n'); ylabel('序列值 X(n)') n = 5 6 7 8 9 10 11 12 13 14 15 x = 0 0 0 0 0 0 1 0 0 0 0 本题的图形: 参考示例程序,产生一个向前时移7个时刻的单位阶跃序列:u(n+7),10£n£10,绘出序列的图形。 本题程序: n=-10:10; f= (n>=-7); stem(n,f,'r.') axis(-11,11,0,1.5); grid on; xlabel ('横坐标 n') ylabel ('纵坐标X(n)') title('第二题的图形') 图形: 产生一个指数为-0.1+(pi/6)*in的复指数序列,并绘出序列的实部、虚部、幅度和相位的波形。 本题程序: n = -10:10; f =exp( (-0.1+(pi/6).*i).*n); xubu= imag(f); shibu= real(f); fudu= abs(f); fujiao= angle(f); subplot(221) stem(n,xubu,'b.') grid on; ylabel (' 纵坐标xubu') xlabel ('横坐标 n') title('虚部图形') subplot(222) stem(n,shibu,'r.') grid on; ylabel (' 纵坐标shibu') xlabel ('横坐标 n') title('实部图形') subplot(223) stem(n,fudu,'m.') grid on; ylabel (' 纵坐标fudu') xlabel ('横坐标 n') title('虚部图形') subplot(224) stem(n,fujiao,'b.') grid on; ylabel (' 纵坐标fujiao') xlabel ('横坐标 n') title('幅角图形') 图形: 产生序列的程序: n = -10:10; f =exp( (-0.1+(pi/6).*i).*n); stem(n,f,'r.') grid on; ylabel (' 纵坐标f') xlabel ('横坐标 n') title('序列图形')图形: 已知x(n)=1,2,3,4,5,6,7, 6,5,4,3,2,1,-2£n£10,参考示例程序,绘出下列序列的波形。 a.x1(n)=2x(n-5)-3x(n+4) b.x2(n)=x(3-n)+x(n)x(n-2) 用到的M文件 function y,n=sigadd(x1,n1,x2,n2) n = min(min(n1),min(n2):max(max(n1),max(n2); %确定n的长度 y1 = zeros(1,length(n); y2 = y1; %对Y1,Y2用1初始化 y1(find(n>=min(n1)&(n<=max(n1)=1)=x1; %把矩阵X1付给Y1 y2(find(n>=min(n2)&(n<=max(n2)=1)=x2; y=y1+y2; %实现两个的相加 本题程序: >> clear, close all, n=-2:1:10; x=1,2,3,4,5,6,7,6,5,4,3,2,1; %两序列进行相加操作 x1=2*x; %产生一个新的矩阵 n1=n-5; x2=(-3)*x; n2=n+4; y,n3=sigadd(x1,n1,x2,n2); %调用序列相加函数 subplot(121); stem(n3,y,'b.') xlabel('自变量n'); ylabel('相加序列值 X(n)') title('两序列相加') t1=x; n4=3-n; t2=x.*x n5=n-2 y,n6=sigadd(t1,n4,t2,n5) subplot(122); stem(n6,y,'m.') xlabel('自变量n'); ylabel('相加序列值 X(n)') title('两序列相加') t2 = 1 4 9 %调用序列相加函数 25 36 49 36 16 25 16 9 4 1 n5 = -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 y = 1 2 3 5 9 15 23 31 41 53 39 27 17 9 4 1 n6 = -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 本题图形: 四、思考 代数运算符号和.的区别是? 答:是算数乘方,而.是点乘方;即算术加、减、乘及乘方中的乘方,它与传统意义的加、减、乘及乘方中的乘方相类似,用法也基本相同,而点乘方.则有其特殊的一面,点运算是指元素点对点运算,即矩阵内元素对元素之间的运算,点运算要求参与的运算的变量在结构上必须是相似的。

    注意事项

    本文(实验一 离散时间信号的时域表示.docx)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开