I am fairly new to Arduino, so please bear with me.
I measured and documented a large signal and I would like to upload those data points into Arduino, and have it convert the signal from the time-domain to the frequency-domain. I can trim the amount of data points drastically if need be, this is purely for proof of concept.
I am using an Arduino Uno.
I installed the ArduinoFFT library and have seen a few examples from that, but it doesn't appear to be of too much use because the inputs for those are just basic sinusoids.
If anyone could point me to correct library or an example similar to this, I would be incredibly grateful.
I know I will have to trim it severely. This is purely for a proof of concept. I'm a student and just need to be able to use Arduino to convert from the time-domain to frequency domain for a signal I acquired.
It doesn't have to be the whole signal, just some of it.
That's perfectly fine. I'm a student and just need to use the FFT on a signal I acquired for proof of concept. It doesn't need to be for the whole signal. I can trim it severely if needed.
The ArduinoFFT library is perfectly general but is limited to series with powers of two as the number of points.
The Fourier transform (and the FFT method used to calculate it) is used to approximate an arbitrary function as a series of "basic" sine and cosine functions. In other words, to convert a time domain series into a frequency domain series.
I've never used FFT but I assume the examples will work with multiple frequencies or more complex waveforms. It's not of much use otherwise. It makes sense to TEST the examples with a sine waves to make sure it's working.
If the signal is constant and continuous it doesn't have to be "large". i.e. A 1-second 1kHz signal has the same spectrum as a 10-hour 1kHz signal. Otherwise the signal is usually windowed (time sliced) and FFT is run repetitively on a limited number of samples.
Lots of people have made "spectrum analyzer" music visualizing effects with the Arduino and LEDs.
Why on earth would you choose to do signal processing on an Arduino? AVR-based Arduinos are VERY poorly equipped for that. Absolutely ANY PC, even one from the '90s, or even a cell phone or tablet, can do the job 1000X better and faster.