reading your email more closely:
* the sound card generates real data with an even spectrum with components at w and -w
* you transfer from VLF band to baseband by multiplying by a complex NCO exp(-jwt) with t=[0:length(samples)]/fs
when sampling at fs
* the -w component is shifted to -2w that you filter our before decimation
* after transposition and decimation, you end up with the complex I/Q components you are familiar with.
You can also multiply with cos(wt) instead of exp(jwt) but then you create all the spectral components
at +/-2wt which might be more annoying to filter out, so you might as well work with a complex NCO from the
JM Friedt, FEMTO-ST Time & Frequency/SENSeOR, 26 rue de l'Epitaphe,
25000 Besancon, France
May 2, 2019 10:24 PM, "Brad Hein" <address@hidden
I took a Raspberry Pi and attached a 48KHz USB sound card, with a big magnetic loop antenna fed into the mic. A little cheesy? yes! But I'd like to try and see if I can receive VLF. It's in a remote location with little to no interference so I'm thinking my chances should be good. The challenge I'm facing is that I need to write the SDR logic to "tune" throughout the 0-24KHz tuning range.
My question is, being that a sound card source presents samples in float and not the usual complex data type, can I still apply the same SDR logic that we use for SSB/FM/AM demodulation such as those presented in the Gnuradio tutorials (eg. http://www.csun.edu/~skatz/katzpage/sdr_project/sdr/grc_tutorial3.pdf
) and if not, how do I go about translating the float input into something I can use to feed existing AM/FM/SSB demodulator flowgraphs?
I run many other flowgraphs on Raspberry Pi's remotely so the networking and remote aspect of the project will be easy for me. I really just need some initial guidance knowing which direction to go in terms of tuning.