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如下: