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

Erik Anderson erikba at odysseus.anderson.name
Fri Jun 22 19:24:42 PDT 2012


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/attachments/20120622/cbd855bc/attachment-0003.htm>


More information about the Hpsdr mailing list