[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 23:46:48 PDT 2012


On Fri, Jun 22, 2012 at 10:38 PM, David McQuate <mcquate at sonic.net> wrote:

> ***** High Performance Software Defined Radio Discussion List *****
>
>
>  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
>

What you are describing here almost sounds like what Mercury is already
doing for me, although I recognize that with a wider bandwidth signal I
could take the stream and tune multiple stations simultaneously.  I've been
assuming that the IQ stream I'm getting from Metis consists of a chunk of
bandwidth ranging from -192 KHz through +192 KHz (or whatever the sample
rate is) with the selected frequency translated to the middle at baseband (
0 Hz ), in other words that it is a complex signal but NOT an analytic one
(is my assumption wrong?).  I was curious as to whether Hilbert could be
used on a complex input signal as a highpass filter (to get rid of the
negative frequencies), combined with perhaps a lowpass FIR filter (to get
rid of the frequencies outside a certain distance from 0 Hz ).

As for the FFT, I'm actually rigging the wiring up for it now.  While I did
realize that you could "flip" into frequency domain, "edit" the signal,
then "flip" back, I hadn't realized that this was the primary means of
filtering in HPSDR, or that you could do those two operations quickly
enough often enough for it to work as an acceptable audio translation.  I
was originally planning on using an FFT for a waterfall display where
response time and CPU load weren't as critical (possibly looking into
offloading it into OpenCL, possibly exploring use of overlapping windows
and higher resolution).  Is FFT really that fast, and how does it compare
to say a complex-input 35th order FIR filter, performance-wise? (that FIR
filter is an example in the library book I'm reading)

I'm just realizing that the slowest speed Metis puts out ( 48 Ksps ) is
within the range of audio cards, so if I could convert the IQ stream to
real (again a misunderstanding of what Hilbert does?) I may not even need
to decimate it...

Thank you for the quick responses,
Erik KM2G
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/attachments/20120622/4c3a21ff/attachment-0004.htm>


More information about the Hpsdr mailing list