MATLAB对正弦函数傅里叶变换,矩形脉冲信号傅里叶变换
利用MATLAB对正弦信 矩形脉冲信 进行Fourier transform
%-------------------------------------------------------------------------------------------------------------------------------------% % 使用cxdhm 积分计算一个幅值为10 脉宽为0.5s 时间范围0~6s的矩形脉冲信 的cxdhm 变换,并绘制其频谱图
%-------------------------------------------------------------------------------------------------------------------------------------% clear;clc;
Fs = 1000; % 采样频率.
N = 1024;
A = 10;
W = 0.5;
[ T,Xt ] = MyImpulse(A,W,Fs); % 调用产生矩形脉冲信 的函数 MyImpulse( ).
subplot(2,1,1);
plot(T,Xt,'b'); % 绘制矩形脉冲信 波形图.
axis([0 max(T) 0 max(Xt)*1.1]); % 设置横纵坐标轴的显示宽度.
title('Rectangular Impulse Signal','FontName','New Times Roman','FontSize',11);
xlabel('time/s','FontName','New Times Roman','FontSize',11);
ylabel('Amplitude','FontName','New Times Roman','FontSize',11);
[ f0,Xf0 ] = MyFourierT(T,Xt,Fs,N ); % 调用傅里 变换函数 MyFourierT 对矩形脉冲信
…进行傅里 变换.
f = f0(ceil(length(f0)/2):length(f0));
Xf = Xf0(ceil(length(Xf0)/2):length(Xf0));
subplot(2,1,2);
plot(f,Xf,'r');
% plot(f0,Xf0,'r'); % 绘制矩形脉冲信 频谱图.
ylim([0 max(Xf)*1.3]);
title('Amplitude Spectrum','FontName','New Times Roman','FontSize',11);
xlabel('Frequency/Hz','FontName','New Times Roman','FontSize',11);
ylabel('Amplitude','FontName','New Times Roman','FontSize',11);
%-------------------------------------------------------------------------------------------------------------------------------------% % 使用MyFourierT函数计算一个幅值为5 频率为20Hz的正弦信 的cxdhm 变换,并绘制其频谱图 %-------------------------------------------------------------------------------------------------------------------------------------% clear;clc;
Fs = 1000;
N = 1024;
A = 5;
f = 20;
[ t,xt ] = MySin(A,f,Fs,N); % 调用函数MySin Function.
subplot(2,1,1);
plot(t,xt,'k'); % 绘制正弦信 波形图.
axis tight
title('正弦信 ','FontName','New Times Roman','FontSize',11);
xlabel('time/s','FontName','New Times Roman','FontSize',11);
ylabel('Amplitude/(g)','FontName','New Times Roman','FontSize',11);