[hpsdr] FIR filtering and HPSDR

Erik Anderson erikba at odysseus.anderson.name
Mon Sep 1 22:38:07 PDT 2014


I haven't had time to keep up on this list for a while so I may have missed
something, but with the long weekend I've had a little time to re-open my
radio development project and push the ball forward a bit.

My current focus is on FIR filter development and implementation (focused
on signal extraction), and I do have some some questions from those that
have been down this road regularly:

(*) When I last mentioned FIR filters, I was told it would be faster to
filter using FFT + mask + iFFT.  I'm not convinced where this is coming
from; with an acceptable implementation the minimum latency is the decode
latency (half an ethernet frame for me) plus the FFT latency (which could
easily run 4k samples).  With a FIR the latency is decode plus the tap
count.

(*) I have found a hand-optimized assembly FIR implementation that assumes
a 16-tap (single-precision) symmetric kernel (
http://www.virtualdub.org/blog/pivot/entry.php?id=307 ).  I will likely
break the symmetry so I can support a smaller (odd?) number of taps.  Is 16
taps enough for most purposes?  I can't "double the recipe" here to get
more taps without running out of x86 registers.

(*) There is a FIR in Mercury that I'm assuming filters the results to fit
within the specified frequency window.  Is there value in dividing my first
FFT results by the Mercury filter's kernel, possibly canceling its effects
and removing the need to clip the edges of the waterfall?

(*) I'm curious as to what the kernel for the FIR in Mercury is, how many
taps it uses, what windowing function was used to develop it, etc.  Mostly
as an example to get an idea of what kind of deep water I'm getting myself
into here.

Thanks as always for your help and enthusiasm in all this :-)

Erik KM2G
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/attachments/20140901/826dc6bd/attachment-0001.htm>


More information about the Hpsdr mailing list