数字信号处理MATLAB实验报告.docx
- 文档编号:25315892
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:12
- 大小:156.69KB
数字信号处理MATLAB实验报告.docx
《数字信号处理MATLAB实验报告.docx》由会员分享,可在线阅读,更多相关《数字信号处理MATLAB实验报告.docx(12页珍藏版)》请在冰豆网上搜索。
数字信号处理MATLAB实验报告
实验报告
课程名称:
数字信号处理实验
专业班级:
姓名:
学号:
实验名称
数字信号处理
实验地点
实验时间
实验成绩
一、实验目的及任务
●学会运用MATLAB表示的常用离散时间信号;
●学会运用MATLAB实现离散时间信号的基本运算。
二、实验内容与步骤
一、离散时间信号在MATLAB中的表示
离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。
离散序列通常用
来表示,自变量必须是整数。
离散时间信号的波形绘制在MATLAB中一般用stem函数。
stem函数的基本用法和plot函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的。
如果要实心,需使用参数“fill”、“filled”,或者参数“.”。
由于MATLAB中矩阵元素的个数有限,所以MATLAB只能表示一定时间范围内有限长度的序列;而对于无限序列,也只能在一定时间范围内表示出来。
类似于连续时间信号,离散时间信号也有一些典型的离散时间信号。
1.单位取样序列
单位取样序列
,也称为单位冲激序列,定义为
(12-1)
要注意,单位冲激序列不是单位冲激函数的简单离散抽样,它在n=0处是取确定的值1。
在MATLAB中,冲激序列可以通过编写以下的impDT.m文件来实现,即
functiony=impDT(n)
y=(n==0);%当参数为0时冲激为1,否则为0
调用该函数时n必须为整数或整数向量。
2.单位阶跃序列
单位阶跃序列
定义为
(12-2)
在MATLAB中,冲激序列可以通过编写uDT.m文件来实现,即
functiony=uDT(n)
y=n>=0;%当参数为非负时输出1
调用该函数时n也同样必须为整数或整数向量。
3.矩形序列
矩形序列
定义为
(12-3)
矩形序列有一个重要的参数,就是序列宽度N。
与
之间的关系为
因此,用MATLAB表示矩形序列可利用上面所讲的uDT函数。
4.单边指数序列
单边指数序列定义为
(12-4)
5.正弦序列
正弦序列定义为
(12-5)
其中,
是正弦序列的数字域频率;
为初相。
与连续的正弦信号不同,正弦序列的自变量n必须为整数。
可以证明,只有当
为有理数时,正弦序列具有周期性。
6.复指数序列
复指数序列定义为
(2-6)
当
时,得到虚指数序列
,式中
是正弦序列的数字域频率。
由欧拉公式知,复指数序列可进一步表示为
(2-7)
与连续复指数信号一样,我们将复指数序列实部和虚部的波形分开讨论,得出如下结论:
(1)当
时,复指数序列
的实部和虚部分别是按指数规律增长的正弦振荡序列;
(2)当
时,复指数序列
的实部和虚部分别是按指数规律衰减的正弦振荡序列;
(3)当
时,复指数序列
即为虚指数序列,其实部和虚部分别是等幅的正弦振荡序列。
二、离散时间信号的基本运算
对离散时间序列实行基本运算可得到新的序列,这些基本运算主要包括加、减、乘、除、移位、反折等。
两个序列的加减乘除是对应离散样点值的加减乘除,因此,可通过MATLAB的点乘和点除、序列移位和反折来实现,与连续时间信号处理方法基本一样。
实验步骤:
试用MATLAB命令分别绘出下列各序列的波形图。
(1)
(2)
(3)
(4)
n=0:
20;
a1=1/2;a2=2;a3=-1/2;a4=-2;
x1=a1.^n;x2=a2.^n;x3=a3.^n;x4=a4.^n;
subplot(2,2,1)
stem(n,x1,'fill'),gridon
xlabel('n'),title('x(n)=(1/2)^n')
subplot(2,2,2)
stem(n,x2,'fill'),gridon
xlabel('n'),title('x(n)=2^n')
subplot(223)
stem(n,x2,'fill'),gridon
xlabel('n'),title('x(n)=(-1/2)^n')
subplot(224)
stem(n,x2,'fill'),gridon
xlabel('n'),title('x(n)=(-2)^n')
(5)
n=1:
20;
a=2;
x=a1.^(n-1);
stem(n,x1,'fill'),gridon
xlabel('n'),title('x(n)=
(2)^(n-1)')
(6)
n=0:
20
a=1/2;
x=a2.^(n-1);
stem(n,x2,'fill'),gridon
xlabel('n'),title('x(n)=(1/2)^(n-1)')
1.试用MATLAB分别绘出下列各序列的波形图。
(1)
n=0:
30;
x=sin(pi/5*n);
stem(n,x,'fill'),xlabel('n'),gridon
title('x(n)=sin(pi/5*n)')
axis([0,30,-2,2]);
(2)
n=0:
30;
x=sin(pi/10*n-pi/5);
stem(n,x,'fill'),xlabel('n'),gridon
title('x(n)=sin(pi/5*n-pi/5)')
axis([0,30,-2,2]);
(3)
n=0:
30;
x=(5/6).^n.*sin(pi/5*n);
stem(n,x,'fill'),xlabel('n'),gridon
title('x(n)=5/6).^n.*sin(pi/5*n)')
axis([0,30,-2,2]);
(4)
n=0:
30;
x=(3/2).^n.*sin(pi/5*n);
stem(n,x,'fill'),xlabel('n'),gridon
title('x(n)=5/6).^n.*sin(pi/5*n)')
axis([0,30,-100,100]);
实验心得:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 MATLAB 实验 报告