FFT的基本原理及其在matlab中的应用

1、产生高斯脉冲信号

%% 快速傅里叶变换(FFT)
clc,clear,close all;
%% 构造高斯信号
Fs = 100;           % Sampling frequency(1s采样100个点)
t = -0.5:1/Fs:0.5;  % Time vector 采样周期为采样频率的倒数,即一个采样点所需的时间。
L = length(t);      % Signal length
X = 1/(4*sqrt(2*pi*0.01))*(exp(-t.^2/(2*0.01)));
plot(t,X)
title('Gaussian Pulse in Time Domain')
xlabel('Time (t)')
ylabel('X(t)')
%% 
Y = fft(X,L);       % 由实数变为复数
f = Fs*(0:L-1)/L;   % 整个频率范围
P = abs(Y/L);
plot(f,P) 
% plot(f,abs(Y));
title('Gaussian Pulse in Frequency Domain')
xlabel('Frequency (f)')
ylabel('|P(f)|')
%% 
clc,clear
Fs = 1000;            % Sampling frequency                    
T = 1/Fs;             % Sampling period       
L = 1500;             % Length of signal
t = (0:L-1)*T;        % Time vector
S = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);
X = S + 2*randn(size(t));
plot(1000*t(1:50),X(1:50),'*-')

版权声明:本文为qq_44004117原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。