Optimizing the Number of Taps

The delay, amount of calculation time, and memory storage required by a FIR filter is proportional to its number of taps (NTaps).  So, you would like to design FIRs with the minimum number of taps which meet specifications.  Towards that end, ScopeFIR uniquely provides an Optimize feature. ScopeFIR's optimization algorithm simply searches for the minimum NTaps value by setting NTaps to different values, designing the filter, and then checking whether the filter design met specifications. This operation is similar to what you would do to optimize NTaps manually, but the Optimize feature saves you the time and trouble of a lot of manual steps.

Several Filter Specification Editors provides an Optimize button. When you hit the Optimize button, ScopeFIR begins by finding a value of NTaps which meets specifications and a second value of NTaps which fails specifications. It then searches the values in between using a bisection method, and stops when it finds two adjacent values of NTaps, one of which meets specifications and the other of which does not. In that case, optimization is said to "converge", and the last value that meets specifications is deemed to be the "Optimum" value of NTaps.

Optimization Hints:

As you use ScopeFIR's Optimize feature, please bear the following in mind:

  • Since Optimization does not try every possible value of NTaps, the fact that Optimization converged does not necessarily mean that the value of NTaps it found was truly the minimum. However, here is a good check: if all actual specifications are within less than 1 dB of the specifications you entered, Optimization has probably found the true minimum value.
  • If Optimization does not seem to be producing the minimum value of NTaps (because the specification margins after optimization are greater than about 1 dB), try increasing the "Grid" parameter (maybe to 64) and then Optimize again. (Note that Optimization will take longer with a larger Grid value.)

ScopeFIR 5 Help