How to find FFT of the values generated from signal generator using Arduino?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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')
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/199442/image.jpeg)
3 commentaires
Mark Sherstan
le 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.
Réponses (0)
Voir également
Catégories
En savoir plus sur Signal Generation and Preprocessing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!