一段MATLAB进行傅里叶变换的代码

使用方法:

1、首先打开MATLAB ,点击 导入

在弹出的界面选择文件后弹出如下界面

然后点击 右上的 绿√ 即可导入所选内容。这里注意数值必须不能出现文字,否则计算会出错。

最后在命令界面输入如下代码即可。

%% FFT
%clear;clc;close all
% import ACC_X
Fs=100;    % 采集频率
T=1/Fs;     % 采集时间间隔
N=length(ACC_X);     % 采集信号的长度--采样点数
f1=33;      % 第一个余弦信号的频率
f2=200;     % 第二个余弦信号的频率
 
t=(0:1:N-1)*T;  % 定义整个采集时间点
t=t';           % 转置成列向量
 
%y=1.2+2.7*cos(2*pi*f1*t+pi/4)+5*cos(2*pi*f2*t+pi/6);  % 时域信号
y=ACC_X-min(ACC_X);
%% 绘制时域信号
figure
plot(t,y)
xlabel('时间')
ylabel('信号值')
title('时域信号')

%% fft变换
Y=fft(y);    % Y为fft变换的结果,为复数向量
A=abs(Y);    % 复数的幅值(模)
A(find(A==max(A)))=0;
RE=real(Y);  % 复数的实部
IM=imag(Y);  % 复数的虚部
 
%% 绘制fft变换结果(幅值,实部,虚部)
figure
subplot(3,1,1)
plot(0:1:N-1,A)
xlabel('序号 0 ~ N-1')
ylabel('幅值')
grid on

猜你喜欢

转载自blog.csdn.net/nie15870449223/article/details/81318624