哈尔滨工程大学 数字信号处理实验一 基本信号
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一基本信号
一实验目的
熟悉MATLAB环境,产生和绘制出各种基本信号。
二实验原理:
最简单的信号是单位冲激函数,在matlab中产生冲击函数,必须先关注信号部分的长度,如果准备用冲击信号来激励因果LTI系统,可能需要观察从n=0到n=L-1总共L个点。并且实验中使用matlab内部向量来产生信号,用stem函数绘制冲击信号。完整描述正弦信号需要三个参数,振幅:A,频率:w和相位φ并且用stem指令显示每个序列。依据matlab的编址约定,标号n=0必须对应nn(1);衰减的指数信号是数字信号处理中的基本信号因为它是线性常系数差分方程的解。
三实验内容
1,.冲击信号
(1) x1[n]=0.9δ[n-5] 1<=n<=20
程序:
>>L=20;
>> nn=1:20;
>> imp=zeros(L,1);
>> imp(5)=0.9;
>> stem(nn,imp,'b')
(2)x2[n]=0.8δ[n] -15<=n<=15
程序:
>>L=31;
>> nn=-15:15;
>> imp=zeros(L,1);
>> imp(16)=0.8;
>> stem(nn,imp,'b')
(3) x3[n]=1.5δ[n-333] 300<=n<=350
程序:
>>L=51;
>> nn=300:350;
>> imp=zeros(L,1);
>> imp(34)=1.5;
>> stem(nn,imp,'b')
(4)x4[n]=4.5δ[n+7] -10<=n<=0 程序:
>>L=11;
>> nn=-10:0;
>> imp=zeros(L,1);
>> imp(4)=4.5;
>> stem(nn,imp,'b')
结果分析:通过正确给其n轴的参数,并且使用stem绘制出指定的冲激信号,并在指定的区间上展开,出现了离散时间信号。可以看出使用MATLAB可以快速准确的绘制出冲激信号。
2:正弦信号
实验内容:
(1)x1[n]=sin(πn/17) 0<=n<=25
程序:
>> nn=0:25;
>>sinus=sin(nn*pi/17);
>>stem(nn,sinus)
(2)X2[n]=sin(πn/17) -15<=n<=15
程序:
>> nn=-15:25;
>>sinus=sin(nn*pi/17);
>>stem(nn,sinus)
(3)X3[n]=sin(3πn+π/2) -10<=n<=10
程序:
>> nn=-10:10;
>>sinus=sin(3*pi*nn+pi/2);
>>stem(nn,sinus)
(4)X4[n]=cos(πn/sqrt(23)) 0<=n<=50
程序:
>> nn=0:50;
>>sinus=cos(pi*nn/sqrt(23));
>>stem(nn,sinus)
结果分析:通过使用sinus以及调用sin和cos函数,通过给它赋正确的参数,再调用stem函数可以正确绘制出sin和cos函数的离散图形。并且由于函数的不同,绘制出来的离散图像差别也很大。
3:正弦信号
实验内容:
M文件:
function y=genexp(b,n0,L)
if(L<=0)
error('GENEXP:length not positive')
end
nn=n0+[1:L]'-1;
y=b.^nn;
end
程序:
>> x=genexp(0.9,0,21);
>> nn=0:20;
>> stem(nn,x)
结果分析:其产生一个指数信号,通过对比前面绘制的图形可以看出,用这两种方法绘出的图形完全一致,结果一样。故该函数定义正确。
四:实验总结
通过这次实验,使我熟悉了MATLAB的用法,掌握了一些常用的指令,并且学会了绘制一些基本信号的方法,提升了自己分析问题和解决问题的能力。虽然犯了许多错误,但是收获也很大。