实验三离散时间信号的表示及运算.docx

上传人:b****5 文档编号:4061684 上传时间:2022-11-27 格式:DOCX 页数:11 大小:215.46KB
下载 相关 举报
实验三离散时间信号的表示及运算.docx_第1页
第1页 / 共11页
实验三离散时间信号的表示及运算.docx_第2页
第2页 / 共11页
实验三离散时间信号的表示及运算.docx_第3页
第3页 / 共11页
实验三离散时间信号的表示及运算.docx_第4页
第4页 / 共11页
实验三离散时间信号的表示及运算.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

实验三离散时间信号的表示及运算.docx

《实验三离散时间信号的表示及运算.docx》由会员分享,可在线阅读,更多相关《实验三离散时间信号的表示及运算.docx(11页珍藏版)》请在冰豆网上搜索。

实验三离散时间信号的表示及运算.docx

实验三离散时间信号的表示及运算

实验三离散时间信号的表示及运算

3.1实验目的

1.学会运用MATLAB表示常用离散时间信号的方法;

2.学会运用MATLAB实现离散时间信号的基本运算。

3.2实验原理及实例分析

1信号的表示

例3-1该程序用来产生离散时间信号x[n]=sin(0.2πn)。

>>clear,

closeall,

n=-10:

10;

x=sin(0.2*pi*n);

stem(n,x)

title('Sinusoidalsignalx[n]')

例3-2该程序用来仿真下面形式的离散时间信号:

x[n]={....,0.1,1.1,-1.2,0,1.3,….}

↑n=0

>>clear,

closeall,

n=-5:

5;

x=[0,0,0,0,0.1,1.1,-1.2,0,1.3,0,0];

stem(n,x,'.')

gridon,

title('Adiscrete-timesequencex[n]')

xlabel('Timeindexn')

例3-3当x[n]={0.1,1.1,-1.2,0,1.3}时,为了得到例3-2中的序列,

↑n=0

可以用这个MATLAB语句x=[zeros(1,4)xzeros(1,2)]来实现。

用这种方法编写的程序如下:

>>clear,

closeall,

n=-5:

5;

x=[zeros(1,4),0.1,1.1,-1.2,0,1.3,zeros(1,2)];

stem(n,x,'.')

gridon,

title('Adiscrete-timesequencex[n]')

xlabel('Timeindexn')

离散时间单位阶跃信号u[n]定义为

1.2

离散时间单位阶跃信号u[n]除了也可以直接用前面给出的扩展函数来产生,还可以利用MATLAB内部函数ones(1,N)来实现。

这个函数类似于zeros(1,N),所不同的是它产生的矩阵的所有元素都为1。

值得注意的是,利用ones(1,N)来实现的单位阶跃序列并不是真正的单位阶跃序列,而是一个长度为N单位门(Gate)序列,也就是u[n]-u[n-N]。

但是在一个有限的图形窗口中,我们看到的还是一个单位阶跃序列。

在绘制信号的波形图时,有时我们需要将若干个图形绘制在同一个图形窗口中,这就需要使用MATLAB的图形分割函数subplot(),其用法是在绘图函数stem或plot之前,使用图形分割函数subplot(n1,n2,n3),其中的参数n1,n2和n3的含义是,该函数将把一个图形窗口分割成n1×n2个子图,即将绘制的图形将绘制在第n3个子图中。

2信号的基本运算

对于离散信号,它的基本运算包括加、减、乘、除、时移、反折等,与连续时间信号处理方法基本一样。

3.3编程练习

1.利用MATLAB命令画出下列各序列的波形图。

(1)

>>clear,

closeall,

n=0:

10;

x=(1/2).^n.*(n>=0);

stem(n,x)

title('signalx[n]')

(2)

>>clear,

closeall,

n=0:

6;

x=2.^n.*(n>=0);

stem(n,x)

title('signalx[n]')

(3)

>>clear,

closeall,

n=0:

10;

x=(-(1/2)).^n.*(n>=0);

stem(n,x)

title('signalx[n]')

(4)

clear,

closeall,

n=0:

10;

x=(-2).^n.*(n>=0);

stem(n,x)

title('signalx[n]')

(5)

>>clear,

closeall,

n=0:

10;

x=2.^(n-1).*(n-1>=0);

stem(n,x)

title('signalx[n]')

(6)

>>clear,

closeall,

n=0:

10;

x=(1/2).^(n-1).*(n>=0);

stem(n,x)

title('signalx[n]')

2.利用MATLAB命令画出下列各序列的波形图。

(1)

>>clear,

closeall,

n=-10:

10;

x=sin(n*pi./5);

stem(n,x)

title('signalx[n]')

(2)

>>clear,

closeall,

n=-10:

10;

x=cos(n*pi./10-pi/5);

stem(n,x)

title('signalx[n]')

(3)

>>clear,

closeall,

n=-10:

10;

x=(5/6).^n.*sin(n*pi./5);

stem(n,x)

title('signalx[n]')

(4)

>>clear,

closeall,

n=-10:

10;

x=(3/2).^n.*sin(n*pi./5);

stem(n,x)

title('signalx[n]')

3.利用MATLAB命令产生幅度为1、周期为1、占空比为0.5的一个周期矩形脉冲信号。

>>n=-5:

5;

y=square(2*pi*n,50);

stem(n,y)

title('所求信号')

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1