How to find FFT of the values generated from signal generator using Arduino?
4 次查看(过去 30 天)
显示 更早的评论
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 个评论
Mark Sherstan
2019-1-30
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.
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Signal Generation and Preprocessing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!