数字信号处理实验报告
实验一 离散时间信号分析一、实验目的
1.掌握各种常用的序列,理解其数学表达式和波形表示。2.掌握在计算机中生成及绘制数字信号波形的方法。
3.掌握序列的相加、相乘、移位、反褶等基本运算及计算机实现与作用。
4.掌握线性卷积软件实现的方法。
5.掌握计算机的使用方法和常用系统软件及应用软件的使用。6.通过编程,上机调试程序,进一步增强使用计算机解决问题的能力。
二、实验原理
1.序列的基本概念
离散时间信号在数学上可用时间序列来表示,其中代表序列的第n个数字,n代表时间的序列,n的取值范围为的整数,n取其它值没有意义。离散时间信号可以是由模拟信号通过采样得到,例如对模拟信号进行等间隔采样,采样间隔为T,得到一个有序的数字序列就是离散时间信号,简称序列。2.常用序列
常用序列有:单位脉冲序列(单位抽样)、单位阶跃序列、矩形序列、实指数序列、复指数序列、正弦型序列等。
3.序列的基本运算
序列的运算包括移位、反褶、和、积、标乘、累加、差分运算等。
三、主要实验仪器及材料
微型计算机、Matlab7.0教学版、TC编程环境。四、实验内容
1.知识准备
认真复习以上基础理论,理解本实验所用到的实验原理。2.离散时间信号(序列)的产生
利用MATLAB编程产生下列有限长序列:
(1)单位脉冲序列(2)单位阶跃序列
(3)实指数序列x(n)=an(4)Sinc函数3.序列的运算
利用MATLAB编程完成上述两序列的移位、反褶、和、积、标乘、累加等运算,并绘制+运算后序列的波形。
4.上机调试并打印或记录实验结果。5.完成实验报告。
五、实验程序及结果
1、实现
+
程序如下:
%n1=-10;n2=10;k0=0;k1=0;k2=-2;
n=n1:n2;x1=[-n>=k0];subplot(311);
stem(n,x1,'filled','r');x2=[(n-k2)==0];subplot(312);
stem(n,x2,'filled');x3=x1+x2;subplot(313);
stem(n,x3,'filled');
2、实现
程序如下
n1=-2;n2=8;n0=0;n=n1:n2;x=[n>=n0];
stem(n,x,'filled');
axis([n1,n2,0,1.1*max(x)]);title(' ');
xlabel(' ');ylabel(' x(n)');
实现
程序如下
n1=-5;n2=5;n0=0;n=n1:n2;x=[n==n0];
stem(n,x,'filled');
%axis([n1,n2,0,1.1*max(x)]);title(' ');
xlabel(' ');ylabel(' x(n)')
3、实现+
程序如下:
n1=0;n2=10;n01=2;n02=4;n=n1:n2;
x1=[(n-n01)==0];x2=[(n-n02)==0];x3=x1+x2;
subplot(311);stem(n,x1,'filled');ylabel('δ(n-2)');
subplot(312);stem(n,x2,'filled');ylabel('δ(n-4)');
subplot(313);stem(n,x3,'filled');ylabel('δ(n-2)+ δ(n-4)');