[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