好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

实验1基于Matlab的数字信号处理基本操作.docx

14页
  • 卖家[上传人]:杨***
  • 文档编号:280223446
  • 上传时间:2022-04-21
  • 文档格式:DOCX
  • 文档大小:59.81KB
  • / 14 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    •     实验1基于Matlab的数字信号处理基本操作    实验一 基于Matlab 的数字信号处理基本操作一、 实验目的:学会运用MA TLAB 表示的常用离散时间信号;学会运用MA TLAB 实现离散时间信号的基本运算 二、 实验仪器:电脑一台,MATLAB6.5或更高级版本软件一套 三、 实验内容:(一) 离散时间信号在MATLAB 中的表示离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列离散序列通常用)(n x 来表示,自变量必须是整数离散时间信号的波形绘制在MATLAB 中一般用stem 函数stem 函数的基本用法和plot 函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的如果要实心,需使用参数“fill ”、“filled ”,或者参数“.”由于MATLAB 中矩阵元素的个数有限,所以MA TLAB 只能表示一定时间范围内有限长度的序列;而对于无限序列,也只能在一定时间范围内表示出来类似于连续时间信号,离散时间信号也有一些典型的离散时间信号1. 单位取样序列单位取样序列)(n δ,也称为单位冲激序列,定义为)0()0(01)(≠=???=n n n δ要注意,单位冲激序列不是单位冲激函数的简单离散抽样,它在n =0处是取确定的值1。

      在MATLAB 中,冲激序列可以通过编写以下的impDT .m 文件来实现,即function y=impDT(n)y=(n==0); %当参数为0时冲激为1,否则为0调用该函数时n 必须为整数或整数向量实例1-1】 利用MATLAB 的impDT 函数绘出单位冲激序列的波形图 解:MATLAB 源程序为>>n=-3:3; >>x=impDT(n);>>stem(n,x,'fill'),xlabel('n'),grid on >>title('单位冲激序列') >>axis([-3 3 -0.1 1.1])程序运行结果如图1-1所示图1-1 单位冲激序列2. 单位阶跃序列单位阶跃序列)(n u 定义为)0()0(01)(<≥???=n n n u在MA TLAB 中,冲激序列可以通过编写uDT .m 文件来实现,即function y=uDT(n)y=n>=0; %当参数为非负时输出1调用该函数时n 也同样必须为整数或整数向量实例1-2】 利用MATLAB 的uDT 函数绘出单位阶跃序列的波形图 解:MATLAB 源程序为>>n=-3:5; >>x=uDT(n);>>stem(n,x,'fill'),xlabel('n'),grid on >>title('单位阶跃序列') >>axis([-3 5 -0.1 1.1])程序运行结果如图1-2所示。

      3. 矩形序列矩形序列)(n R N 定义为),0()10(01)(N n n N n n R N ≥<-≤≤???= 1矩形序列有一个重要的参数,就是序列宽度N )(n R N 与)(n u 之间的关系为)()()(N n u n u n R N --=因此,用MATLAB 表示矩形序列可利用上面所讲的uDT 函数图2-2 单位阶跃序列【实例1-3】 利用MATLAB 命令绘出矩形序列)(5n R 的波形图 解:MATLAB 源程序为>>n=-3:8;>>x=uDT(n)-uDT(n-5);>>stem(n,x,'fill'),xlabel('n'),grid on >>title('矩形序列') >>axis([-3 8 -0.1 1.1])程序运行结果如图1-3所示4. 单边指数序列单边指数序列定义为)()(n u a n x n =【实例2-4】 试用MA TLAB 命令分别绘制单边指数序列)(2.1)(1n u n x n =、)()2.1()(2n u n x n -=、)()8.0()(3n u n x n =、)()8.0()(4n u n x n -=的波形图解:MATLAB 源程序为>>n=0:10;>>a1=1.2;a2=-1.2;a3=0.8;a4=-0.8; >>x1=a1.^n;x2=a2.^n;x3=a3.^n;x4=a4.^n; >>subplot(221)>>stem(n,x1,'fill'),grid on >>xlabel('n'),title('x(n)=1.2^{n}') >>subplot(222)>>stem(n,x2,'fill'),grid on>>xlabel('n'),title('x(n)=(-1.2)^{n}') >>subplot(223)>>stem(n,x3,'fill'),grid on >>xlabel('n'),title('x(n)=0.8^{n}') >>subplot(224)>>stem(n,x4,'fill'),grid on图1-3 矩形序列>>xlabel('n'),title('x(n)=(-0.8)^{n}')单边指数序列n 的取值范围为0≥n 。

      程序运行结果如图1-4所示从图可知,当1||>a 时,单边指数序列发散;当1||a 时,该序列均取正值;当05. 正弦序列正弦序列定义为)sin()(0?ω+=n n x其中,0ω是正弦序列的数字域频率;?为初相与连续的正弦信号不同,正弦序列的自变量n 必须为整数可以证明,只有当2ωπ为有理数时,正弦序列具有周期性实例1-5】 试用MATLAB 命令绘制正弦序列)6sin()(πn n x =的波形图 解:MATLAB 源程序为>>n=0:39; >>x=sin(pi/6*n);>>stem(n,x,'fill'),xlabel('n'),grid on >>title('正弦序列') >>axis([0,40,-1.5,1.5]);程序运行结果如图1-5所示图1-4 单边指数序列6. 复指数序列复指数序列定义为n j a e n x )(0)(ω+=当0=a 时,得到虚指数序列nj e n x 0)(ω=,式中0ω是正弦序列的数字域频率由欧拉公式知,复指数序列可进一步表示为)]sin()[cos()(00)(00ωωωωn j n e e e e n x an n j an n j a +===+与连续复指数信号一样,我们将复指数序列实部和虚部的波形分开讨论,得出如下结论:(1)当0>a 时,复指数序列)(n x 的实部和虚部分别是按指数规律增长的正弦振荡序列;(2)当0(3)当0=a 时,复指数序列)(n x 即为虚指数序列,其实部和虚部分别是等幅的正弦振荡序列。

      实例1-6】 用MA TLAB 命令画出复指数序列n j e n x )6101(2)(π+-=的实部、虚部、模及相角随时间变化的曲线,并观察其时域特性解:MATLAB 源程序为>>n=0:30;>>A=2;a=-1/10;b=pi/6; >>x=A*exp((a+i*b)*n); >>subplot(2,2,1)>>stem(n,real(x),'fill'),grid on>>title('实部'),axis([0,30,-2,2]),xlabel('n') >>subplot(2,2,2)>>stem(n,imag(x),'fill'),grid on图1-5 正弦序列>>title('虚部'),axis([0,30,-2,2]) ,xlabel('n') >>subplot(2,2,3)>>stem(n,abs(x),'fill'),grid on >>title('模'),axis([0,30,0,2]) ,xlabel('n') >>subplot(2,2,4)>>stem(n,angle(x),'fill'),grid on>>title('相角'),axis([0,30,-4,4]) ,xlabel('n')程序运行后,产生如图1-6所示的波形。

      二) 离散时间信号的基本运算对离散时间序列实行基本运算可得到新的序列,这些基本运算主要包括加、减、乘、除、移位、反折等两个序列的加减乘除是对应离散样点值的加减乘除,因此,可通过MA TLAB 的点乘和点除、序列移位和反折来实现,与连续时间信号处理方法基本一样实例1-7】 用MA TLAB 命令画出下列离散时间信号的波形图1)()()()[]N n u n u a n x n--=1;(2)()()312+=n x n x (3)()()213-=n x n x ;(4)()()n x n x -=14解:设8.0=a ,8=N ,MATLAB 源程序为>>a=0.8;N=8;n=-12:12; >>x=a.^n.*(uDT(n)-uDT(n-N)); >>n1=n;n2=n1-3;n3=n1+2;n4=-n1; >>subplot(411)>>stem(n1,x,'fill'),grid on >>title('x1(n)'),axis([-15 15 0 1]) >>subplot(412)>>stem(n2,x,'fill'),grid on图1-6 复指数序列图1-7 离散时间信号的基本运算及波形图>>title('x2(n)'),axis([-15 15 0 1]) >>subplot(413)>>stem(n3,x,'fill'),grid on >>title('x3(n)'),axis([-15 15 0 1]) >>subplot(414)>>stem(n4,x,'fill'),grid on >>title('x4(n)'),axis([-15 15 0 1])其波形如图1-7所示。

      三) 编程练习1. 试用MATLAB 命令分别绘出下列各序列的波形图1)()()n u n x n??? ??=21 (2)()()n u n x n2=(3)()()n u n x n??? ??-=21 (4)()()()n u n x n2-=(5)()()121-=-n u n x n (6)()()n u n x n 121-??? ??=2. 试用MATLAB 分别绘出下列各序列的波形图1)()5sinπn n x = (2)())510cos(ππ-=n n x (3)()5sin 65πn n x n??? ??= (4)()5sin 23πn n x n?????=  -全文完-。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.