哈尔滨工程大学数字信号处理实验一讲述.doc
- 文档编号:148000
- 上传时间:2022-10-04
- 格式:DOC
- 页数:20
- 大小:199.50KB
哈尔滨工程大学数字信号处理实验一讲述.doc
《哈尔滨工程大学数字信号处理实验一讲述.doc》由会员分享,可在线阅读,更多相关《哈尔滨工程大学数字信号处理实验一讲述.doc(20页珍藏版)》请在冰豆网上搜索。
实验报告
课程名称
实验项目名称
实验类型
实验学时
班级
学号
姓名
指导教师
实验室名称
实验时间
实验成绩
预习部分
实验过程
表现
实验报告
部分
总成绩
教师签字
日期
实验一:
基本信号实验报告
一、实验原理
1、由于MATLAB是数字计算机的语言,它不能精确地实现连续时间信号与系统。
然而,如果正确恰当的使用,在模拟仿真许多连续时间函数和操作时,它是非常有用的,可以产生和绘出各种基本信号。
2、作为数字计算机的语言,MATLAB是非常理想地适合于离散时间信号与系统的实验的,信号处理工具箱为离散时间分析与处理也提供了许多强大的特殊功能的指令。
3、MATLAB语言编程是由一条条语句指令构成的,表达式中相当大一部分是调用函数。
本次实验中着重于用MATLAB产生一些基本离散时间信号。
主要使用MATLAB内部向量程序来产生信号,用MATLAB的stem指令来绘制离散时间信号。
二、实验内容
1、冲激信号
(1)实验程序清单:
L=20;%序列的长度
nn=1:
(L);%n取值的范围
imp=zeros(L,1);%生成一个L行、1列的矩阵
imp(5)=0.9;%表示第5个数,即n=5处的冲激高度为0.9
stem(nn,imp);%以n的取值为横轴。
以imp为纵轴
实验仿真图:
(2)实验程序清单:
L=31;%序列的长度
nn=-15:
(L-16);%n取值的范围
imp=zeros(L,1);%生成一个L行、1列的矩阵
imp(16)=0.8;%表示第16个数,即n=0处的冲激高度为0.8
stem(nn,imp);%以n的取值为横轴。
以imp为纵轴
实验仿真图:
(3)实验程序清单:
L=51;%序列的长度
nn=300:
(300+L-1);%n取值的范围
imp=zeros(L,1);%生成一个L行、1列的矩阵
imp(34)=1.5;%表示第34个数,即n=333处的冲激高度为1.5
stem(nn,imp);%以n的取值为横轴。
以imp为纵轴
实验仿真图:
(4)实验程序清单:
L=11;%序列的长度
nn=-10:
(L-11);%n取值的范围
imp=zeros(L,1);%生成一个L行、1列的矩阵
imp(4)=4.5;%表示第4个数,即n=-7处的冲激高度为4.5
stem(nn,imp);%以n的取值为横轴。
以imp为纵轴
实验仿真图:
冲激信号实验结果分析:
根据以上编写的实验程序得到的仿真结果可知:
理论计算分析和实验结果图一致。
2、正弦信号
要求:
使用matlab的向量功能求解次问题,将向量参数赋予余弦(或正弦)函数,再利用一个函数调用。
在每种情况下,应只在指定的区间上展开并相应标注水平N轴,使用stem指令现实每个序列。
产生并且绘出下面的序列,不化简X3[n],并说明X4[n]不是周期序列的原因。
x1[n]=sin(πn/17)0≤n≤25
x2[n]=sin(πn/17)-15≤n≤25
x3[n]=sin(3πn+π/2)-10≤n≤10
x4[n]=cos(πn/√23)0≤n≤50
编写的正弦函数程序为:
functiony=myselfs(A,B,Q,X,Y)%定义一个正弦函数及其变量
N=X:
Y%N的取值范围
Z=B*N+Q%正弦函数变量的表达式
y=A*sin(Z)%正弦函数的表达式
stem(N,y)%以N为横坐标,y=A*sin(Z)的值为纵坐标
end
编写的余弦函数程序为:
functiony=myselfc(A,B,Q,X,Y)%定义一个余弦函数及其变量
N=X:
Y%N的取值范围
Z=B*N+Q%余弦函数变量的表达式
y=A*cos(Z)%余弦函数的表达式
stem(N,y)%以N为横坐标,y=A*cos(Z)的值为纵坐标
end
正弦函数和余弦函数的程序编好以后,在随后的使用当中只需写出调用程序语句,赋予相应的变量值即可。
(1)实验程序清单:
y=myselfs(1,pi/17,0,0,25)%给要调用的正弦函数的相应变量赋值
实验仿真图:
(2)实验程序清单:
y=myselfs(1,pi/17,0,-15,25)%给要调用的正弦函数的相应变量赋值
实验仿真图:
(3)实验程序清单:
y=myselfs(1,3*pi,pi/2,-10,10)%给要调用的正弦函数的相应变量赋值
实验仿真图:
(4)实验程序清单:
y=myselfc(1,(pi)/sqrt(23),0,0,50)%给要调用的余弦函数的相应变量赋值
实验仿真图:
正弦信号实验结果分析
由第四个仿真图可以看出其不是周期序列,从理论上分析,(2π)/(π/√23)=2√23,是一个无理数,所以它为非周期序列。
其它的图与理论计算绘制的图均保持一致。
3、指数信号
实验内容如下:
1、研究下面的MATLAB函数,看它如何产生离散时间指数信号,然后使用函数在区间n=0,1,2,…,20上绘制出指数信号x[n]=(0.9)^n.
首先创建M文件,并在MATLAB中设置好路径,M文件内容如下:
(注意:
必须设置成function文件)
functiony=genexp(b,n0,L) %指数信号函数
if(L<=0)
error('GENEXP:
Lengthnopositive')
end
nn=n0+[1:
L]'-1;%[1:
L]'为一行L列从1到L的向量的转置,即L行一列的向量
y=b.^nn;%指数y的表达式
stem(nn,y)%以n为横坐标,y值为纵坐标绘图
end %b为底数,n0为区间起始值,L为区间长度
指数函数的程序如上,编写好以后,在之后的使用中只需调用并给相应变量赋值即可。
实验程序清单:
x=genexp(0.9,0,21)';%调用指数函数,并给变量赋值
实验仿真图:
2、在许多推导中,指数信号序列x[n]=a^n*u[n]需在有限区间上求和,这个和用下面的闭合式表示:
∑a^n=(1-a^L)/(1-a),a≠1(0≤n≤L-1,)(3.1)使用a部分中的函数产生一个指数信号然后对其求和;将结果与(3.1)式比较。
实验程序清单:
L=21;
a=0.9;
S=(1-a^L)/(1-a)%以上为利用指数的求和公式算出序列和
S=
8.9058%此法下序列和的值
b=0.9;
Q=0;
forn=0:
20
y=b^n;
Q=Q+y;
end%以上为编写程序各项累加求和
Q
Q=
8.9058%此法下序列和的值
3、证明一有限长指数信号满足位移关系:
y[n]=ay[n-1],1≤n≤L-1(3.4);比较向量y(2:
L)和a*y(1:
(L-1)).
实验程序清单:
y1=[genexp(0.9,2,20)]';%调用指数函数,并给变量赋值
实验仿真图:
4、当输入x[n]是一个冲激信号时,信号y[n]=a^n*u[n]是下面差分方程的解:
y[n]-ay[n-1]=x[n],初始条件为y[-1]=0,用MATLAB中的filter函数实现差分方程,使用filter函数产生一个与(a)部分中相同的信号(即a=0.9)。
filter函数的用法如下:
yout=filter(b,a,xin),可用helpfilter了解函数详情。
实验程序清单:
a=[1,-0.9];b=1;
xin=zeros(1,21);
xin
(1)=1;
yout=filter(1,a,xin);%调用filter函数
n=0:
20;%n的取值范围
stem(n,yout);%以n的值为横坐标,yout的结果为纵坐标
实验仿真图:
复指数信号实验结果分析:
(1)在实验2中,∑a^n=(1-a^L)/(1-a),a≠1(0≤n≤L-1)通过计算得到结果为:
8.90581010868487640791,可以看出两者的误差极其小,为:
1.1e-4%
(2)在实验3中,由实验仿真图可以看出:
在移位有限长度时,向量y(2:
L)和a*y(1:
(L-1))的图形是基本一致的,因此我们可以得出结论:
时移不改变信号的特征。
(3)在实验4中,将实验仿真图与1的仿真图形进行比较,由差分方程给出的递归表示式,即用MATLAB中的filter函数实现差分方程,得到差分方程的解是完全一致的。
4、复值信号
实验程序清单:
nn=0:
25;%n取值的范围
xx=exp(j*nn/3)%复指数
subplot(211)%把绘图窗口分成两行一列两个子图,然后在第一块区域作图
stem(nn,real(xx))%在n的指定点处画出复指数实部
title('REALPART'),xlabel('INDEX(n)')%图的标题为REALPART,X轴为INDEX(n)
subplot(212)%把绘图窗口分成两行一列两个子图,然后在第二块区域作图
stem(nn,imag(xx))%在n的指定点处画出复指数虚部
title('IMAGPART'),xlabel('INDEX(n)') %图的标题为IMAGPART,X轴为INDEX(n)
实验仿真图:
复值信号实验结果分析:
使用了subplot这一函数,将复指数的实部和虚部图绘制在同一张图上,如上图所示。
5、复指数信号
a、实验程序清单:
n=0:
20;%n取值的范围
X=0.9.^n.*(cos(pi/4.*n)+j.*sin(pi/4.*n));%复指数
subplot(211);%把绘图窗口分成两行一列两个子图,然后在第一块区域作图
plot(n,real(X));%在n的指定点处画出复指数实部,plot一般用于连续函数
xlabel('n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 哈尔滨工程 大学 数字信号 处理 实验 讲述