So I was thinking a parallel ADC could sample the return echoes and dump the data into RAM. I have a few options:
-dsPIC passes data from ADC to RAM
-dsPIC controls ADC and RAM control ports, but ADC dumps data straight into dual-port RAM where dsPIC can retrieve from other side
For the second one I *think* I could maybe get the ADC-RAM control routines to be interrupts while the dsPIC can go about analyzing the data as it's coming in. For the first one I would have to wait until all the data is in before it can be analyzed.
Which brings me to my actualy question...
does anyone know anything about the dsPIC FFT routines? I'm dealing with signal data that comes in chunks of 48,000 bytes. It certainly cannot all be held in the dsPIC's memory. As far as the FFT routine goes, does it need all the data present? Or is it able to "calculate on-the-fly" as new data points come in? I'm not sure if I can do a proper fourier analysis on all the data if it's not all in the PIC's memory at once. I'm not sure how I can split it up either and do it in chunks, reintegrating "chunked" FFT amplitude and phase spectra data back into RAM so the dsPIC can go through it hunting for frequency components of large magnitude. I didn't take any courses on numerical FFT so I'm not sure if it's possible to split a time-domain signal into a bunch of segments, do the FFT on them somehow and then combine it all again at the end for the entire frequency spectra.
-dsPIC passes data from ADC to RAM
-dsPIC controls ADC and RAM control ports, but ADC dumps data straight into dual-port RAM where dsPIC can retrieve from other side
For the second one I *think* I could maybe get the ADC-RAM control routines to be interrupts while the dsPIC can go about analyzing the data as it's coming in. For the first one I would have to wait until all the data is in before it can be analyzed.
Which brings me to my actualy question...
does anyone know anything about the dsPIC FFT routines? I'm dealing with signal data that comes in chunks of 48,000 bytes. It certainly cannot all be held in the dsPIC's memory. As far as the FFT routine goes, does it need all the data present? Or is it able to "calculate on-the-fly" as new data points come in? I'm not sure if I can do a proper fourier analysis on all the data if it's not all in the PIC's memory at once. I'm not sure how I can split it up either and do it in chunks, reintegrating "chunked" FFT amplitude and phase spectra data back into RAM so the dsPIC can go through it hunting for frequency components of large magnitude. I didn't take any courses on numerical FFT so I'm not sure if it's possible to split a time-domain signal into a bunch of segments, do the FFT on them somehow and then combine it all again at the end for the entire frequency spectra.