网站大量收购独家精品文档,联系QQ:2885784924

实验1 用MTLAB进行信号频谱分析.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验1 用MTLAB进行信号频谱分析

实验1 用MATLAB进行信号频谱分析 一、实验目的 ㈠ 初步掌握MATLAB产生常用离散时间信号的编程方法。 ㈡ 学习编写简单的FFT算法程序,对离散信号进行幅频谱分析。 ㈢ 观察离散时间信号频谱的特点。 二、实验原理 ㈠ 常用的离散时间信号 在 MATLAB语言主要是研究离散信号的。常用的离散信号有: 1.单位取样序列 2.单位阶跃序列 3.实指数序列 4.复指数序列 5.正(余)弦序列 6.周期序列 ㈡ 离散信号的产生 离散信号的图形显示使用stem指令。 在 MATLAB中的信号处理工具箱中,主要提供的信号是离散信号。 由于MATLAB对下标的约定为从1开始递增,例如x=[5,4,3,2,1,0],表示x(1)=5,x(2)=4,X(3)=3… 因此要表示一个下标不由1开始的数组x(n),一般应采用两个矢量,如 n=[-3,-2,-1,0,l,2,3,4,5]; x=[1,-l,3,2,0,4,5,2,1]; 这表示了一个含9个采样点的矢量:X(n)={x(-3),x(-2),x(-1),x(0),x(1),x(2),x(3),x(4),x(5)}。 1.单位取样序列 这一函数实现的方法有二: 方法一:可利用MATLAB的zeros函数。 x=zeros(1,N); %建立一个一行N列的全零数组 x(1)=1; %对X(1)赋1 方法二:可借助于关系操作符实现 n=1:N; x=[n==1]; %n等于1时逻辑关系式结果为真,x=1;n不等于1时为假,x=0 如要产生 则可采用MATLAB实现: n=n1:n2; x=[(n-n0)==0];%n=n0时逻辑关系式结果为真,x=1;n≠n0时为假,x=0 2.单位阶跃序列 这一函数可利用MATLAB的ones函数实现: x=ones(1,N); 还可借助于关系操作符“=”来实现。如要产生在n1≤n0≤n2上的单位阶跃序列 则可采用MATLAB实现: n=n1:n2; x=[(n-n0)=0]; %n-n0≥0为真,x=1;n-n0<0时为假,x=0 3.实指数序列 采用MATLAB实现: n=0:N-l; x=a.^n; 4.复指数序列 采用MATLAB实现: n=0:N-1; x=exp((lu+j*w0)*n); 5.正(余)弦序列 采用MATLAB实现: n=0:N-l; x=cos(w0*n+Q); 6.随机序列 MATLAB中提供了两类(伪)随机信号: rand(1,N)产生[0,1)上均匀分布的随机矢量; randn(1,N)产生均值为0,方差为1的高斯随机序列,也就是白噪声序列。其它分布的随机数可通过上述随机数的变换而产生。 7.周期序列 例如,设t1表示T序列中一个周期的序列,要产生4个周期的T序列,用MATLAB实现: T=[t1 t1 t1 t1]; 三、实验任务 ㈠ 运行实验原理中介绍的例题程序,读懂每一条程序的含义,熟悉MATLAB中离散信号和频谱分析常用的子函数。 ㈡ 编写求解例1中单位阶跃序列频谱的程序,并显示其信号及其频谱曲线。 n0=0;nf=10;ns=3;N=32;M=100; n2=n0:nf;x2=[(n2-ns)=0]; subplot(3,1,1),stem(n2,x2); %画出x2的单位阶跃序列 i=0:N-1; j=0:M-1; %样点自0开始 y1=fft(x2,N); %对x2进行32点傅里叶变换 y2=fft(x

文档评论(0)

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

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

1亿VIP精品文档

相关文档