信号与系统实验教程(只有答案) 下载本文

function y=x28(t) y1=t+2; y2=1; y3=-t+2;

y=y1.*(-2<=t&t<-1)+y2.*(-1<=t&t<1)+y3.*(1<=t&t<2);

clear,close all

T = 2; dt = 0.00001; t = -5:dt:5; x1 = x28(t).*(u(t+2)-u(t-2)); x2=cos(pi/2*t).*(u(t+1)-u(t-1)); subplot(211),

plot(t,x1,'.'),title('The original signal x1(t)'), axis([-5,5,-1,1]), xlabel('Time t') subplot(212),

plot(t,x2,'.'),title('The original signal x2(t)'),axis([-5,5,-1,1]), xlabel('Time t')

Q2-9手工计算x1(t) 和x2(t) 的傅里叶变换(如能够用傅里叶变换的性质计算最好),并手工

绘制出它们的幅度谱和相位谱;

计算x1(t) 的傅里叶变换的过程:

计算得到的x1(t) 的傅里叶变换的数学表达式为:

clear,close all

T = 0.01; dw = 0.1; %时间和频率变化的步长 t = -10:T:10;

w = -4*pi:dw:4*pi; xx=x28(t);

X=x28(t)*exp(-j*t'*w)*T; %傅里叶变换 X1=abs(X); %计算幅度谱 phai=angle(X); %计算相位谱 subplot(221);

plot(t,xx),title('The original signal x1(t)'),axis([-10,10,-1,2]),xlabel('Time t'),grid on; subplot(222)

plot(w,X),title('The Fourier Transform of x1(t) '),axis([-4*pi,4*pi,-1,3.5]),xlabel('f(jw)'),grid on; subplot(223);

plot(w,X1), title('The amplitude of f(jw) )'), axis([-4*pi,4*pi,-1,3.5]),xlabel('f(jw)'),grid on; subplot(224);

plot(w,phai),title('The phase of f(jw)'),axis([-pi,pi,-4,4]),xlabel('f(jw)'),grid on;

计算x2(t) 的傅里叶变换的过程:

clear,close all

T = 0.01; dw = 0.1; %时间和频率变化的步长 t = -10:T:10;

w = -4*pi:dw:4*pi;

xx=cos(pi/2*t).*(u(t+1)-u(t-1));

X=xx*exp(-j*t'*w)*T; %傅里叶变换 X1=abs(X); %计算幅度谱 phai=angle(X); %计算相位谱 subplot(221);

plot(t,xx),title('The original signal x1(t)'),axis([-10,10,-1,2]),xlabel('Time t'),grid on; subplot(222)

plot(w,X),title('The Fourier Transform of x1(t) '),axis([-4*pi,4*pi,-1,3.5]),xlabel('f(jw)'),grid on; subplot(223);

plot(w,X1), title('The amplitude of f(jw) )'), axis([-4*pi,4*pi,-1,3.5]),xlabel('f(jw)'),grid on; subplot(224);

plot(w,phai),title('The phase of f(jw)'),axis([-pi,pi,-4,4]),xlabel('f(jw)'),grid on;

计算得到的x2(t) 的傅里叶变换的数学表达式为:

手工绘制的x1(t)的幅度频谱图 手工绘制的x2(t)的幅度频谱图

Q2-10 编写MATLAB程序Q2_10,能够接受从键盘输入的时域信号表达式,计算并绘制出

信号的时域波形、幅度谱。

程序Q2_10抄写如下

clear,close all

T = 0.01; dw = 0.1; %时间和频率变化的步长 t = -10:T:10;

w = -4*pi:dw:4*pi;

xx= input('Input the signal (t) :'); X=xx*exp(-j*t'*w)*T; %傅里叶变换 X1=abs(X); %计算幅度谱 phai=angle(X); %计算相位谱 subplot(211);

plot(t,xx),title('The original signal x(t)'),axis([-10,10,-1,2]),xlabel('Time t'),grid on; subplot(223)

plot(w,X1),title('The amplitude of f(jw) '),xlabel('f(jw)'),grid on; subplot(224);

plot(w,phai),title('The phase of f(jw)'),axis([-pi,pi,-4,4]),xlabel('f(jw)'),grid on;

执行程序Q2_10,输入信号

下:

X1(t)=exp(-t)

x1(t)的数学表达式,得到的信号时域波形、幅度谱和相位谱如

执行程序Q2_10,输入信号

下:

x2(t)的数学表达式,得到的信号时域波形、幅度谱和相位谱如

Q2-11 修改程序Q2_10,并以程

序受

Q2_11为文件名存盘,要求能够接从键盘输入的时域信号表达式,计

算其傅里叶变换,并分别绘制其傅里叶变换的实部、虚部、幅度频谱和相位频谱的图形。

编写的程序Q2_11如下:

clear,close all

T = 0.01; dw = 0.1; %时间和频率变化的步长 t = -10:T:10;

w = -4*pi:dw:4*pi;

xx= input('Input the signal (t) :');

X=xx*exp(-j*t'*w)*T; %傅里叶变换 X1=abs(X); %计算幅度谱 phai=angle(X); %计算相位谱 realx=real(X); imagx=imag(X); subplot(311);

plot(t,xx),title('The original signal x(t)'),axis([-10,10,-1,2]),xlabel('Time t'),grid on; subplot(323)

plot(w,realx),title('The real of f(jw) '),xlabel('f(jw)'),grid on; subplot(324);

plot(w,imagx),title('The imag of f(jw)'),axis([-pi,pi,-4,4]),xlabel('f(jw)'),grid on; subplot(325)

plot(w,X1),title('The amplitude of f(jw) '),xlabel('f(jw)'),grid on; subplot(326);

plot(w,phai),title('The phase of f(jw)'),axis([-pi,pi,-4,4]),xlabel('f(jw)'),grid on;

选定适当的信号,该信号的时域表达式为:u(t)-u(t-3)

执行你编写好的MATLAB程序Q2_11,输入你选定的信号的数学表达式,绘制出的该信号

的傅里叶变换的图形如下:

Q2-12 修改程序Q2_11,并以Q2_12存盘,要求程序能接受从键盘输入信号的时域表达式,

计算并绘制信号的时域波形、信号的幅度频谱和相位频谱图。

编写的程序Q2_12如下: