[hpsdr] FIR filtering and hpsdr

Tom McDermott tom.n5eg at gmail.com
Wed Nov 5 09:30:08 PST 2014


Hi Vasiliy,

My application is a matched time domain filter. To generate the taps is
simple - take the time-reversed desired sequence and use as taps for an FIR
filter (actually FFT implementation of FIR filter).  Time reversal of the
taps changes an FIR filter into a correlator (matched filter).

For filtering I assume that you need to down-convert to baseband, low pass
filter, then decimate. Gnuradio implements this channel selection filter in
one block.

MATLAB being interpreted is not so efficient in computation. A C++ or
Fortran program that is compiled could be much faster.

Searching google only identifies 3 general FIR tap design algorithms:

1. The Remez Exchange method implements Chebychev optimization.
2. The Window method approximates Chebychev, and is faster.
3. The Weighted Least Squares (WLS) method is supposed to be a fast
algorithm. MATLAB function is:   firls
     I don't have MATLAB to know whether there is access to compilable code
for this function.

I do not have access to gnuradio at this time, so don't know how well the
gnuradio firdes function (or the graphical filter_design_tool firdes
function wrapper) would handle a huge amount of taps. Gnuradio firdes is
C++ code implementing the window method.  Gnuradio optfir is the Remez
exchange technique in C++.

That is probably a non-answer to your question.

-- Tom, N5EG

[ rest of message thread deleted due to exceeding reflector size limit of
12k ]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/attachments/20141105/3f1b90b9/attachment-0001.htm>


More information about the Hpsdr mailing list