clc
clear
Fs = 1000; %采样频率
T = 1/Fs; %采样间隔
N = 2000; %2000个点
f1 = 5;
f2 = 70;
f3 = 200;
t = (0:1:N-1)*T;%采集时间点
t = t';
x = 2 + 5*cos(2*pi*f1*t+pi/3) + 3*cos(2*pi*f2*t+pi/4) + 6*cos(2*pi*f3*t-pi/6);
figure
plot(t,x)
xlabel("time")
ylabel("signal")
title("time domain")
% Fourier transform
X = fft(x);
RE = real(X);
IM = imag(X);
figure
subplot(2,1,1)
plot(0:1:N-1,RE)
xlabel("k")
ylabel("real of X")
grid on
subplot(2,1,2)
plot(0:1:N-1,IM)
ylabel("imag of X")
grid on
%FT 一半有效
X_half = X(1:N/2+1);
f = (0:1:N/2)*Fs*N; %对应频率点
f = f';
XA = abs(X_half);
Xangle = angle(X_half);
Xangle = rad2deg(Xangle); %return deg
figure
subplot(3,2,1);
plot(f,XA);
xlabel("frequency/Hz")
ylabel("amplitude")
grid on
subplot(3,2,2);
plot(f,Xangle)
xlabel("frequency /Hz")
ylabel("Phase Angle /deg")
grid on
Matlab傅里叶变换笔记
最新推荐文章于 2025-04-29 11:58:07 发布