<div dir="ltr">Hi Warren,<div><br></div><div>Does that mean the high latency, linear phase FIR filters as currently implemented in openHPSDR as the "DSP Phone Buffer" et al are going away in the new implementation?</div><div><br></div><div>Thanks & 73,</div><div><br></div><div>Scott/w-u-2-o</div><div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Apr 5, 2015 at 1:08 PM, Warren C. Pratt <span dir="ltr"><<a href="mailto:warren@wpratt.com" target="_blank">warren@wpratt.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">***** High Performance Software Defined Radio Discussion List *****<br>
<br>
Excellent comments.  There are examples of various types of filtering in the wdsp library we use.<br>
<br>
When a FIR filter exceeds somewhere around 50 to 100 taps, it is more computationally efficient to implement it using FFTs.  The reason being, if N is the number of taps, that using FFTs the computation grows as N log2 N where implementing in the time domain the computation grows as N^2.  Our main bandpass filter is implemented as a linear-phase FIR, implemented with an FFT/iFFT in an overlap-save configuration.  No "windowing" of the data is required in this case and we use an overlap factor of 2.<br>
<br>
The new noise reduction algorithm, NR2, is a frequency domain algorithm, also implemented with FFTs.  In this case, we perform an FFT, multiply each frequency bin by a calculated gain value, and perform an inverse FFT.  Since the gains are time varying, we window the data both before the FFT and after the iFFT.  For various reasons, an overlap of four is being used.<br>
<br>
In contrast, for the APF (audio peaking filter), and in a few other places, IIR filters are used.<br>
<br>
73,<br>
Warren  NR0V<br>
<br><br></blockquote></div></div></div></div>