3 ms·
> I'm not convinced that I'm operating anywhere close to peak efficiency. There may be some huge DSP-specific shortcut that I'm overlooking - I'm certainly no e
by formerly_proven 2y ago
> I'm not convinced that I'm operating anywhere close to peak efficiency. There may be some huge DSP-specific shortcut that I'm overlooking - I'm certainly no expert. But the current code works well enough.
Something along the lines of taking the FM at baseband, transform to frequency domain, copy result n times and shift the coefficients to the right indices, much wider ifft to RF should work, right?
- gorkish 2y agoRegarding wideband signals muxing/demuxing Yes, modulate then FFT for each signal, do the upconversion and mixing in frequency domain, then a single large IFFT to give the final bitstream. Roughly the inverse of this (single large FFT, filter in frequency domain, and IFFT individual signals) is how the 'wideband sdr' at utwente.nl works to support hundreds of simultaneous receivers on a single gpu. The amateur radio folks working with these techniques on HPSDR hardware were calling the technique "Direct Fourier Conversion" but I do not know if they ever got to a releasable state. They spent an awful lot of time prematurely optimizing their stuff to run on the original Jetson board which was not really adequate to the task, so I think that was likely frustrating and killed momentum.
- cbruns 2y agoThe most efficient way is a filter bank technique. Key words to Google would be "reconstruction", "dechannelizer", "synthesis". A power of two number (N) of equally spaced frequency channels can be efficiently combined using a short fir filter on each channel followed by an fft where one sample from each channel is input to the fft per frame. Then you get N samples of your output. There is a bit more nuance but the author's bandwidth and number of channels are trivial to handle with this method. Since each channel is already assumed to be spaced in frequency, you are essentially already in the frequency domain and only so only one fft stage is required.