<div>Hi Vasiliy,<br> <br>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).<br> <br>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.<br> <br>MATLAB being interpreted is not so efficient in computation. A C++ or Fortran program that is compiled could be much faster.<br> <br>Searching google only identifies 3 general FIR tap design algorithms:<br> <br>1. The Remez Exchange method implements Chebychev optimization.<br>2. The Window method approximates Chebychev, and is faster.<br>3. The Weighted Least Squares (WLS) method is supposed to be a fast algorithm. MATLAB function is:   firls<br>     I don't have MATLAB to know whether there is access to compilable code for this function.<br> <br>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++. <br> <br>That is probably a non-answer to your question.<br> <br>-- Tom, N5EG </div>
<div> </div>
<div>[ rest of message thread deleted due to exceeding reflector size limit of 12k ]</div>
<div> </div>
<div> </div>