How to find FFT of the values generated from signal generator using Arduino?

9 views (last 30 days)
I have a data of values recorded from signal generator using aduino.I would like to find the fft of the signals.I gave a 15Hz sine wave with amplitude 2Vpk-pk but I am getting the wrong fft.Please help me.
X=load('data3.txt');
fs=256;
T=1/fs;
L=10000;
t = (0:L-1)*T;
Y=fft(X);
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = fs*(0:(L/2))/L;
plot(f,P1);
title('FFT Plot of a signal')
  3 Comments
Mark Sherstan
Mark Sherstan on 30 Jan 2019
Theres lots of different ways but you could rerun your data acquistion and print a timer to record how long it takes to execute one loop (e.g. using micros(); on the Arduino). Then use MATLAB to calculate the difference between time steps using the diff function and average the vector to get an approximation of the sampling rate.

Sign in to comment.

Answers (0)

Categories

Find more on Signal Generation and Preprocessing in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!