LDX第5次课-信号处理算法Matlab仿真探析.ppt

LDX第5次课-信号处理算法Matlab仿真探析.ppt

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5讲 MATLAB数字信号处理应用;MATLAB桌面;M文件介绍;? 新建一个 M 文件有以下三种途径: ① 菜单操作(File ?New ?Script) ② 命令操作(edit M文件名) ③ 命令按钮(快捷键) ? 打开已有的 M 文件有四种途径: ① 菜单操作(File ?Open) ② 命令操作(edit M 文件名) ③ 命令按钮(快捷键) ④ 双击M文件名;图所示为M文件编辑器新建/打开快捷键。;2)函数; 脚本是若干命令或函数的集合,用于执行特定的功能。 在MATLAB命令窗口直接输入此文件的主文件名,MATLAB可顺序执行此文件内的所有命令,不需要在其中输入参数,也不需要给出输出变量来接收处理结果。 脚本的操作对象为MATLAB工作空间内的变量,脚本式M文件运行产生的所有变量都是全局变量,这些变量都驻留在MATLAB基本工作空间内,通过使用clear命令或者关闭MATLAB系统可以清除这些变量。 ; 脚本文件可以理解为简单的M文件,脚本文件中的变量都是全局变量。函数文件是在脚本文件的基础之上多添加了函数定义行,其代码组织结构和调用方式与对应的脚本文件截然不同。函数文件是以函数声明行“function”作为开始,如果没有特别声明,函数文件中的变量都是局部变量。函数运行完毕之后,其定义的变量将从工作区间中清除。而脚本文件只是将一系列相关的代码结合封装,没有输入参数和输出参数,即不自带参数,也不一定要返回结果。而多数函数文件一般都有输入和输出变量,并返回结果。;一、 常用序列;引言:模拟信号与其采样序列;引言:模拟信号与其采样序列;通常,用式(1)的序列作为离散信号的研究模型,由于抽掉了模拟信号中的主要物理量——时间。 在数字域处理信号时, 通常都是按序号逐次进行运算和存储,这就是抽象为序列模型的好处。;一、常用的序列;有限长序列和无限长序列 序列位置向量的起点和终点都是有限数称为有限长序列 序列位置向量的起点向 -∞ 延伸为无限长序列,简称左序列。 序列位置向量的终点向∞ 延伸也为无限长序列,简称右序列。 工程中遇到的序列都属于有限序列,有些情况下可看成右序列,但不会有左序列。;一、常用的序列;矩形序列 ???数指数序列 正余弦序列 x(n)=cos(ωn)+jsin(ωn);一、常用的序列;function [x,n] = impseq(np,ns,nf) % ns、 nf分别为序列起始与终止位置, np为脉冲位置 if nsnp | nsnf | npnf error(’输入位置参数不满足ns = np = nf’) else n = [ns:nf]; x = [(n-np) == 0]; % 核心语句 end 单位阶跃序列: 把核心语句改为: x = [(n-np) = 0];二、序列的基本运算;1、序列相乘相加: 将两个序列x1,x2的位置向量n1与n2对准,长度取两者之‘合’;形成一个新的包含n1与n2的公共位置向量n。其起点为两者中小的起点,终点为两者中大的终点, n = min(ns1,ns2)::max(nf1,nf2); 将x1,x2补零,在n上延长,构成y1,y2; 各个对应元素相乘或相加; y=y1.*y2; (或y=y1+y2;);% y(n)的长度 n = min(min(n1),min(n2)):max(max(n1),max(n2)); % y1,y2初始化 y1= zeros(1,length(n)); y2 = y1; %把x1补零,扩展为具有y的长度的y1 y1(find((n=min(n1))(n=max(n1))))=x1; % 把x2补零,扩展为具有y的长度的y2 y2(find((n=min(n2))(n=max(n2))))=x2; y = y1+y2; % 序列相加.;例2:x1=[0,1,2,3,4,3,2,1,0]; n1=-2:6; x2=[2,2,0,0,0,-2,-2]; n2=2:8 则 ny=-2:8; y1=[0,1,2,3,4,3,2,1,0,0,0]; y2= [0,0,0,0,2,2,0,0,0,-2,-2]; yadd=y1+y2=[0,1,2,3,6,5,2,1,0,-2,-2] ymult=y1.*y2=[0,0,0,0,6,9,0,0,0,0,0];例2的计算图解;序列向量的值不变,只把位置向量右移k拍 子程序[y,ny]=seqshift(x,nx,k)的核心语句: y=x; ny=nx+k 左移时k取负值 例3:把x=[3,7,-2,4]; nx=-1:2;k=2代

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档