[hpsdr] Fwd: Re: FIR filtering and HPSDR

Warren C. Pratt warren at wpratt.com
Tue Sep 2 20:00:38 PDT 2014


Hi Eric,

As far as real-world examples, there are several in the wdsp library 
which is included with the PowerSDR source code. Depending upon the 
requirements, some of these filters were implemented with time-domain 
convolution (tap-weights multiplied by sample values and summed) and 
others were implemented with the FFT-multipliers-IFFT technique.  The 
two techniques are mathematically equivalent; however, as Tom pointed 
out, the FFT approach is much more computationally efficient for larger 
filters.  Examples of filters within wdsp include:

* Complex bandpass filters (FFT approach - designed on the fly as 
requirements change using the Windowed-Sinc design approach)
* Audio equalizers (FFT approach)
* Automatic Notch Filter (TD Convolution - Adaptive Filter, tap weights 
are adjusted on the fly at each sample)
* Noise Reduction (TD Convolution - Adaptive Filter, tap weights are 
adjusted on the fly)
* Resamplers (TD Convolution implemented with a polyphase approach)
* Adjustable sub-sample delays (TD Convolution, polyphase approach)
* perhaps others that don't come to mind at the moment.

If you need pointers to specific files for any of these, let me know.

With regard to the number of taps, it really depends upon several 
factors, including the sample rate.  For example, for a bandpass filter, 
at 192K sample rate, my taste for selectivity leads me to at least 4097 
coefficients.

One other design/analysis program of potential interest is ScopeFIR.  I 
think there is a free trial.  For filters within the SDR, often the 
filters must be designed on the fly.  So, one has to write the software 
for that and include it within the SDR console program.  However, the 
separate design programs are interesting to learn and explore the 
possibilities and to design filters that can be static.  For the 
"static" filters, the design can often be more optimized than for the 
filters designed on the fly.

73,
Warren  NR0V



More information about the Hpsdr mailing list