一段MATLAB進行傅立葉變換的程式碼
阿新 • • 發佈:2018-11-29
使用方法:
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