- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE
PAGE 26
数字信号处理
实 验 指 导 书
武汉理工大学教材中心
2012年7月
实验一 时域离散信号的产生
一、实验目的
1、了解常用时域离散信号及其特点;
2、掌握MATLAB程序的编程方法;
3、熟悉MATLAB函数的调用方法。
二、实验原理
在时间轴上的离散点取值的信号,称为离散时间信号。离散时间信号只在某些离散的瞬时给出函数值,而在其他时刻无定义。它是时间上不连续按一定先后次序排列的一组数的集合,称为时间序列,用x(n)表示,n取整数代表时间的离散时刻。
在MATLAB中用向量来表示一个有限长度的序列。
常用离散信号:
1、单位抽样序列
SKIPIF 1 0
2、单位阶跃序列
SKIPIF 1 0
3、实指数序列
SKIPIF 1 0
4、复指数序列
SKIPIF 1 0
5、正(余)弦序列
SKIPIF 1 0
6、随机序列
在利用计算机进行系统的研究时,经常需要产生随机信号,MATLAB提供一个工具函数rand来产生随机信号。
7、周期序列
SKIPIF 1 0
三、实验用函数
1、stem
功能:绘制二维图形。
调用格式:
stem(n,x);n为横轴,x为纵轴的线性图形。
2、length
功能:计算某一变量的长度或采样点数。
调用格式:
N=length(t);计算时间向量t的个数并赋给变量N。
3、axis
功能:限定图形坐标的范围。
调用格式:
axis([x1,x2,y1,y2]);横坐标从x1—x2,纵坐标从y1—y2。
4、zeros
功能:产生一个全0序列。
调用格式:
x=zeros(1,n);产生n个0的序列。
5、ones
功能:产生一个全1序列。
调用格式:
y=ones(1,n);产生n个1的序列。
四、参考实例
例1.1 用Matlab产生单位抽样序列。
%先建立函数impseq(n1,n2,n0)
function [x,n]=impseq(n1,n2,n0)
n=[n1:n2];
x=[(n-n0)==0];
%编写主程序调用该函数
[x,n]=impseq(-2,8,2);
stem(n,x)
程序运行结果如图1-1所示:
图1-1 单位抽样序列
例1.2实数指数序列(运算符“.^”)
Matlab程序如下:
n=[0:10];
x=0.9.^n;
stem(n,x)
程序运行结果如图1-2所示
图1-2 实数指数序列
例1.3复数指数序列( SKIPIF 1 0 )
Matlab程序如下:
n=[-10:10]; alpha=-0.1+0.3*j; x=exp(alpha*n);
real_x=real(x); image_x=imag(x);
mag_x=abs(x); phase_x=angle(x);
subplot(2,2,1); stem(n,real_x)
subplot(2,2,2); stem(n,image_x)
subplot(2,2,3); stem(n,mag_x)
subplot(2,2,4); stem(n,phase_x)
程序运行结果如图1-3所示
图1-3 复数指数序列
例1.4正、余弦序列( SKIPIF 1 0 )
Matlab程序如下:
n=[0:10];
x=3*cos(0.1*pi*n+pi/3);
stem(n,x)
程序运行结果如图1-4所示
图1-4 正、余弦序列
例1.5随机序列
rand(1,N)产生其元素在[0,1]之间均匀分布长度为N的随机序列
randn(1,N)产生均值为0,方差为1,长度为N的高斯随机序列
例1.6周期序列
如何生成周期序列
1、 将一个周期复制p次;
2、借助矩阵运算、matlab下标能力。先生成一个包含p列x(n)值的矩阵,然后用结构(:)来把p列串接成一个长周期序列。因为这个结构只能用于列向,最后还需要做矩阵转置获得所需序列。
Matlab程序如下:
x=[1,2,3]; %一个x(n)
xn=x*ones(1,3) %生成p列x(n)
xn=xn(:) %将p列串接成长列序列并转置
stem(xn)
程序运行的结果如图1-5所示
图1-5 周期序列
五、实验任务
1、调试部分例题程序,掌握Matlab基本操作方法。
2、编写程序,完成下列函数波形:
1)利用zeros函数生成单位抽样序列;
原创力文档


文档评论(0)