实验一常见离散信号的MATLAB产生和图形显示

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Guangxi University of Science and

Technology

实验报告

实验课程:数字信号处理

实验内容:常见离散信号的MATLAB产生和图形显示

院(系):计算机科学与通信工程学院

专业:通信工程

班级:

学生姓名:

学号:

指导教师:

2016年5 月25 日

实验一、常见离散信号的MATLAB 产生和图形显示

一、实验目的:加深对常用离散信号的理解;

二、实验原理:

1.单位抽样序列实现: ⎩⎨⎧=01)(n δ 00

≠=n n

在MATLAB 中可以利用zeros()函数实现。;1)1();

,1(==x N zeros x

如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即: ⎩⎨⎧=-0

1

)(k n δ 0≠=n k n

2.单位阶跃序列实现: ⎩⎨⎧01)(n u 00

<≥n n ;

在MATLAB 中可以利用ones()函数实现。);,1(N ones x =

3.正弦序列实现: )/2sin()(ϕπ+=Fs fn A n x

在MATLAB 中 )/***2sin(*1

:0fai Fs n f pi A x N n +=-=

4.复指数序列实现: n j e n x ϖ=)(

在MATLAB 中 )**ex p(1

:0n w j x N n =-=

5.实指数序列实现: n a n x =)(

在MATLAB 中 n a x N n .^1

:0=-=

三、实验内容及步骤:

1.单位抽样序列实现

程序如下:

n=n1:n2;

x1=[zeros(1,5) 1 zeros(1,5)];%%n为冲击位置

x2=[zeros(1,7) 1 zeros(1,3)];%向右平移2个单位

subplot(1,2,1);stem(n,x1,'filled');

axis([n1,n2,0,1.1]);

title('单位脉冲序列');

xlabel('时间');ylabel('幅度x(n)');

subplot(1,2,2);stem(n,x2,'filled');

axis([n1,n2,0,1.1]);

title('单位脉冲序列向右平移2个单位');

xlabel('时间');ylabel('幅度x(n)');

结果如下:

图: 1-1

2. 单位阶跃序列

程序如下:

N=5;

x=ones(1,N);

xn=0:N-1;

subplot(1,2,1);stem(xn,x,'filled') axis([-1 5 0 1.1])

title('单位阶跃序列');

xlabel('时间(n)');ylabel('幅度x(n)'); x1=[0 0 ones(1,3)];

subplot(1,2,2);stem(xn,x1,'filled') axis([-1 5 0 1.1])

title('单位阶跃序列平移两个单位'); xlabel('时间(n)');ylabel('幅度x(n)'); 结果如下:

图: 1-2

3.正弦序列实现

程序如下:

n1=0;n2=15;

n=n1:n2;

x=3*sin(n*pi/4+pi/2);

stem(n,x,'filled');

axis([n1 n2 1.1*min(x) 1.1*max(x)]);

axis([n1 n2 1.1*min(x) 1.1*max(x)]);

title('正弦函数图');

ylabel('时间x(n)');xlabel('幅度n');

结果如下:

图: 1-3 4.复指数序列实现

程序如下:

n1=30;a=-0.1;w=0.6;

n=0:n1;

x=exp((a+j*w)*n);

subplot(1,2,1),stem(n,real(x),'filled');

title('复指数原信号的实部');

subplot(1,2,2),stem(n,imag(x),'filled');

title('复指数原信号的虚部');

结果如下:

图: 1-4 5.实指数序列实现

程序如下:

n1=-10;n2=10;a1=0.5;a2=2;

na1=n1:0;x1=a1.^na1;

na2=0:n2;x2=a2.^na2;

subplot(1,2,1),stem(na1,x1,'filled');

title('实指数序列(a<1)');

subplot(1,2,2),stem(na2,x2,'filled');

title('实指数序列(a>1)');

结果如下:

图: 1-5

四、实验总结与分析

通过本实验,深入了解了MATLAB的运行环境,掌握了如何在该软件上编程、编译和运行一个MATLAB程序,通过运行简单的MATLAB程序,初步了解了MATLAB 程序的特点,掌握了一些基本的MATLAB函数。

THANKS !!!

致力为企业和个人提供合同协议,策划案计划书,学习课件等等

打造全网一站式需求

欢迎您的下载,资料仅供参考

相关文档
最新文档