📄 experiment1.m
字号:
p=1;
while(p)
s=input('Please Select The Step Of Experiment:1.时域采样序列分析,2.系统和响应分析,3.卷积定理的验证\n');
close all;
Xb=impseq(0,0,1);
Ha=stepseq(1,1,10);
Hb=impseq(0,0,3)+2.5*impseq(1,0,3)+2.5*impseq(2,0,3)+impseq(3,0,3);
i=0;
if s==1
disp('时域采样序列分析');
k=1;
while(k)
A=aminput;
a=atinput;
w=aninput;
fs=fsinput;
Xa=FF(A,a,w,fs);
string1=('xa(n)=A*exp(-a*n*Ts)*sin(w*n*Ts)');
string2=['fs=',num2str(fs)];
i=i+1;
figure(i)
DFT1(Xa,50,string1,string2);
k=input('是否继续第一部分:1.继续,0.退出\n');
end
else if s==2
disp('系统和响应分析')
kk=1;
while(kk)
i=i+1;
ss=input('选择时域信号类型:1.x(b)通过h(b),2.系统h(a),3.长度为5的脉冲通过h(a)\n');
switch ss
case 1
m=conv(Xb,Hb); %The response of the system
N=5;
figure(i)
string=('hb(n)=delta(n)+2.5*delta(n-1)+2.5*delat(n-2)+delta(n-3)');
Hs=DFT(Hb,4,string); %hb的傅里叶变换
i=i+1;
figure(i)
string=('xb(n)=delta(n)');
DFT2(Xb,2,string); %xb的傅里叶变换
i=i+1;
string1=('y(n)=xb(n)*hb(n)');
string2=(' ');
case 2
m=conv(Ha,Ha);
N=19;
string1=('ha(n)=R10(n)');
string2=('y(n)=ha(n)*ha(n)');
case 3
Xc=stepseq(1,1,5);
m=conv(Xc,Ha);
N=14;
string1=('xc(n)=R5(n)');
string2=('y(n)=xc(n)*ha(n)');
end
figure(i)
DFT1(m,N,string1,string2);
kk=input('是否继续第二部分:1.继续,0.退出\n');
end
else if s==3
A=1;a=0.5;w=2.0734;fs=1;
Xa1=FF(A,a,w,fs);
i=1;
figure(i)
string=('xa(n)=exp(-0.4*n)*sin(2*n)');
[Xs,w]=DFT(Xa1,50,string);
i=i+1;
figure(i)
string=('hb(n)=delta(n)+2.5*delta(n-1)+2.5*delat(n-2)+delta(n-3)');
Hs=DFT(Hb,4,string);
Ys=Xs.*Hs;
y=conv(Xa1,Hb);
N=53;
i=i+1;
figure(i)
string=('y(n)=xa(n)*hb(n)');
[yy,w]=DFT(y,N,string);
i=i+1;
figure(i)
subplot(2,2,1)
plot(w/pi,abs(yy));
axis([-2 2 0 2]);
xlabel('w/pi');
ylabel('|Y(jw)|');
title('FT[x(n)*h(n)]');
subplot(2,2,3)
plot(w/pi,abs(Ys));
axis([-2 2 0 2]);
xlabel('w/pi');
ylabel('|Ys(jw)|');
title('FT[xs(n)].FT[h(n)]');
end
end
end
p=input('是否继续实验:1.继续,0.退出\n');
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -