[hpsdr] DSP theory, interpreting IQ streams as audio, and way too much math - is this a good approach?

David McQuate mcquate at sonic.net
Fri Jun 22 22:38:38 PDT 2012


The nice thing about an IQ stream is that it's already a complex 
(analytic) function.  When you have only a single stream of samples, 
like right out of an ADC, then you might need the Hilbert transform.

Usually, at least when digitizing the RF from an antenna, there are 
thousands of signals.  You'll want to be selective.  Apply a band-pass 
filter, and do a digital down-conversion by multiplying by sin & cos of 
a digital LO.  This brings the selected signal down to baseband.  Since 
the bandwidth has been limited by the filter, you have many more samples 
than you need, so you can decimate, just tossing out all but every Nth 
sample.  At this point you might have an audio signal you can listen to.

Dave
WA8YWQ

On 6/22/2012 7:24 PM, Erik Anderson wrote:
> ***** High Performance Software Defined Radio Discussion List *****
>
>
>
> I think I've reached the point in my little programming exercise where 
> I'm getting a really fast IQ stream flying at me that likely contains 
> interesting radio data.  So now I'm trying to figure out what to do 
> with it.  And of course I'm doing the stupid thing and trying to wade 
> out and figure things out on my own and realizing that this isn't as 
> easy as calling up your local FFT library and throwing everything at 
> it to fix for you.
>
> I'm still learning all the terms here and not quite ready to read the 
> math yet, would like someone more intelligent than me (I'm sure this 
> reflector has plenty) to say whether I'm going in the right direction 
> with this.  Goal: transform an IQ stream into an audio stream.
>
> (*) Apply a Hilbert transform, selecting either USB or LSB
> - every example describes passing Hilbert a real stream ("use it to 
> convert your signal from real to complex"), I'm thinking for my use 
> case it can take a complex stream as well.  In the end I want an 
> analytical stream (i.e. discard one sideband).
> - comes in two approximations: convolution and FIR.  I haven't found 
> documentation on convolution yet (still reading).  Different 
> workarounds/limitations for each ("Failure to appreciate or correctly 
> apply these concepts is probably one of the most common mistakes made 
> by non-experts").  Filter may need to keep history and/or delay the 
> signal (hopefully not by half a sample).
> - if using FIR, half the multiplications required by the 
> implementation may drop out with the following step.
>
> (*) Forget the imaginary (quadrature) stream and force real
> - Assuming the signal is either analytic or mirrored, this is a safe 
> operation.
> - Causes an immediate fold over the zero frequency line.
> - Do I need to follow this by multiplying the output by 2?  Does the 
> fold cause the power to be cut in half?  It feels like it wouldn't if 
> the initial signal is real, so this is likely "no".
>
> (*) Apply a low-pass audio filter
> - Doing this as a real stream uses less math, is there a benefit to 
> doing this earlier when the stream is complex?
>
> (*) Decimate
> - I'm guessing this causes folding at the nyquist boundary, so don't 
> decimate down to less than twice the cutoff frequency of the low-pass 
> filter you applied.
>
> Was hoping this month to get something working by field day.  Don't 
> think that's gonna happen anymore (lol), but this is still fun.
>
> 73s,  Erik KM2G
>
>
> _______________________________________________
> HPSDR Discussion List
> To post msg: hpsdr at openhpsdr.org
> Subscription help: http://lists.openhpsdr.org/listinfo.cgi/hpsdr-openhpsdr.org
> HPSDR web page: http://openhpsdr.org
> Archives: http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/attachments/20120622/7da370c1/attachment-0004.htm>


More information about the Hpsdr mailing list