信号与系统实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四:非周期信号的Matlab实现及频谱分析
一、实验目的:周期信号的MATLAB实现及频谱分析
二、实验仪器:装有MATLAB的计算机
三、实验内容:讲课本身3.4.4节中的源程序输入到MATLAB中运行
四、实验结果
程序一
function [A_sym,B_sym]=CTFSshbpsym(T,Nf)
syms t n y
if nargin<3;Nf=input('please Input ËùÐèÕ¹¿ªµÄ×î¸ßµÄг²¨´ÎÊý£ºNf=');end T=input('please Input ÐźŵÄÖÜÆÚT=');
if nargin<5;Nn=32;end
y=time_fun_s(t);
A0=2*int(y,t,0,T)/T;
As=int(2*y*cos(2*pi*n*t/T)/T,t,0,T);
Bs=int(2*y*sin(2*pi*n*t/T)/T,t,0,T);
A_sym(1)=double(vpa(A0,Nn));
for k=1:Nf
A_sym(k+1)=double(vpa(subs(As,n,k),Nn));
B_sym(k+1)=double(vpa(subs(Bs,n,k),Nn));
end
if nargout==0
S1=fliplr(A_sym);
S1(1,k+1)=A_sym(1);
S2=fliplr(1/2*S1);
S3=fliplr(1/2*B_sym);
S3(1,k+1)=0;
S4=fliplr(S3);
S5=S2-i*S4;
S6=fliplr(S5);
N=Nf*2*pi/T;
k2=-N:2*pi/T:N;
S7=[S6,S5(2:end)];
subplot(3,3,3)
x=time_fun_e(t)
subplot(2,1,1)
stem(k2,abs(S7));
title('Á¬Ðøʱ¼äº¯ÊýÖÜÆÚ¾ØÐÎÂö³åµÄË«±ß·ù¶ÈÆ×')
axis([-80,80,0,0.12])
line([-80,80],[0,0])
line([0,0],[0,0.12])
end
实验结果图像:
程序二
function x=time_fun_e(t)
T=5;t=-2*T:0.01:2*T;tao=T/5;
x=rectpuls(t,1);
subplot(2,2,2)
plot(t,x)
hold on
x=rectpuls(t-5,1);
plot(t,x)
hold on
x=rectpuls(t+5,1);
plot(t,x)
title('ÖÜÆÚT=5£¬Âö¿ítao=1µÄ¾ØÐÎÂö³å') axis([-10,10,0,1.2])
实验结果图像:
程序三
function y=time_fun_s(t)
syms a a1
T=input('please Input ÐźŵÄÖÜÆÚT='); M=input('ÖÜÆÚÓëÂö³å¿í¶ÈÖ®±ÈM=');
A=1;tao=T/M;a=tao/2;
y1=sym('Heaviside(t+a1)')*A;
y=y1-sym('Heaviside(t-a1)')*A;
y=subs(y,a1,a);
y=simple(y);
实验结果:
please Input 信号的周期T=60
周期与脉冲宽度之比M=5
ans =
heaviside(t+6)-heaviside(t-6)