信号仿真实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信号分析与处理实验报告
电气工程学院
09级自动化一班
李亚威
20090220115
【例9-7】:离散时间序列的卷积
实验目的:学会使用MA TLAB中提供的求卷积函数conv(), 即y=conv(x,h) 来求离散时间序列的卷积;
实验内容:
1、我们构造一新的函数conv_m(),可求任意两个有限序列的卷积。
函数程序为:
function[y,ny]=conv_m(x,nx,h,nh)
nyb=nx(1)+nh(1);
nye=nx(length(x))+nh(length(h));
ny=[nyb:nye];
y=conv(x,h);
2、设线性时不变系统的单位脉冲响应为h(n)=n)9.0(ε(n),输入序列
为x(n)= ε(n)-ε(n-10),求系统的输出y(n)。
程序如下:
>> nx=-4:40;
>> x=zeros(1,length(nx));
>> x(1,5:14)=1;
>> nh=0:40;
>> h=(0.9).^nh;
>> [y,ny]=conv_m(x,nx,h,nh);
>> subplot(3,1,1);stem(nx,x,'filled');axis([-4,40,0,1]);title('x[n]');
>> subplot(3,1,2);stem(nh,h,'filled');axis([-4,40,0,1]);title('h[n]');
>> subplot(3,1,3);stem(ny,y,'filled');axis([-4,40,0,8]);title('y[n]');
实验结果:执行程序,绘出系统的输入序列、脉冲响应和输出序列图形。
【例9-8】:连续时间信号的卷积
实验目的:研究连续时间信号的卷积,连续时间信号的卷积可通过数值卷积来实现。
实验内容:1、将参加卷积的两个连续信号以等间隔进行采样,得到两个离散序列,然后调用MA TLAB提供的卷积函数conv()
求解。
2、已知莫连续系统的单位冲激响应h(t)=t e5 ε(t),
输入信号x(t)=ε(t)-ε(t-1),求系统的零状态响应y(t).
程序如下:
>> p=0.01;
>> t=0:p:2;
>> x=heaviside(t)-heaviside(t-1);
>> h=exp(-5.*t);
>> h1=h*p;
>> y=conv(x,h1);
>> y=y(1:length(t));
>>subplot(3,1,1);plot(t,x);axis([-1,2,0,1.2]);title('x(t)');
>>subplot(3,1,2);plot(t,h);axis([0,2,0,1.2]);title('h(t));
>>subplot(3,1,3);plot(t,y);axis([0,2,0,0.22]);title('y(t)');
实验结果:如图所示:
【例9-18】:用MATLAB绘制周期信号的频谱
实验目的:学会用MATLAB来绘制周期信号的频谱,MATLAB提供了符号积分函数int(),int(x,t,a,b),式中:x为符号表达式;t为积分变量;
a和b分别为积分的下限和上限。
实验内容:1、周期矩形脉冲信号,若A=1,T=5s,τ=T/4=1.25s,试求其傅里叶系数
X,并绘制出频谱图。
K
程序如下:
>> syms t k;
>> T=5;tao=1.25;A=1;
>> x0=int(A,t,-tao/2,tao/2)/T
x0 =
1/4
>> x=A*exp(-j*k*2*pi/T*t);
>> xk=int(x,t,-tao/2,tao/2)/T;
>> xk=simple(xk)
xk =
sin((pi*k)/4)/(pi*k)
>> t=[-2*T:0.01:2*T];
>> x1=rectpuls(t,tao);
>> subplot(1,2,1);plot(t,x1)
>> hold on
>> x1=rectpuls(t-5,tao);
>> plot(t,x1)
>> hold on
>> x1=rectpuls(t+5,tao);
>> plot(t,x1)
>> hold off
>> title('周期矩形脉冲(tao=T/4)')
>> xlabel('t')
>> axis([-8,8,0,1.2])
>> k=[-20:-1,eps,1:20];
>> xk=subs(xk,k,'k');
>> subplot(1,2,2);stem(k,xk,'filled')
>> line([-20,20],[0,0])
>> title('周期矩形脉冲的频谱')
>> xlabel('k')
>> ylabel('Xk')
2、若减小脉冲宽度,令τ=T/8=0.625s,只需将原程序中的tao=0.625s。此时,执行结果
x0 =1/8
xk =sin((pi*k)/8)/(pi*k)
实验结果:如图:
τ=T/4=1.25s时: