1. 程式人生 > >一段MATLAB進行傅立葉變換的程式碼

一段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