FilterPro 3 is a complete redesign and recoding of FilterPro, our popular active filter design tool. The previous version, FilterPro 2, was written many years ago and was difficult to maintain. As such, it had several bugs that were never addressed.

FilterPro 3 was designed to be easier to use, easier to maintain, and aimed to correct the bugs in FilterPro 2 as well as add functionality to the tool. Because there was significant changes to be made, we opted to get the most used and most popular features of FilterPro 2 into FilterPro 3, while leaving some features of FilterPro 2 for later releases. This FAQ will address those differences and our thinking behind why we made the choices we did.

FilterPro 2 Bugs

FilterPro 2, before it was replaced with FilterPro 3, still had the following bugs in it:

Bandpass Filters

In FilterPro2, a bandpass filter was specified by a center frequency and a Q. This Q value would naturally be thought of as the Q for the overall filter; however, the program would assign this Q to every stage of the filter, resulting in an overall Q different than that which was specified.

Wide Bandpass Filters

This unusual topology consisted of cascaded lowpass and highpass filter sections. No constraints were placed on the corner frequencies of this topology, however, which often caused incorrect passband gains and responses if the upper and lower corner frequencies were too close together.

3-pole sections

FilterPro 2 offered the option to realize a 3-pole filter using a second-order stage preceded by a real pole stage. This real pole could be buffered by an op amp or unbuffered. The unbuffered case did not take into account the loading of the second-order stage on this real pole section, resulting in an incorrect amplitude (sometimes with high gain peaking) and incorrect cutoff frequencies.

Incorrect GBP Calculations

FilterPro2 often incorrectly calculated the required gain bandwidth product (GBP) of op amps for filters using a Sallen-Key circuit topology. This resulted in overly high GBPs being specified.

Incorrect plotting of results

When starting FilterPro 2 and selecting high-Pass with default values, the chart was scaled wrong. There was a 1 decade shift in frequency (x-axis). The reason was that a capital "K" in cutoff frequency box was used.

Saved designs lose frequency information

When a design was saved in FilterPro 2, and then read back into the tool, the cutoff frequency information was not read correctly and instead the program would use the default cutoff frequencies.

Other Bugs

There were several cases of FilterPro 2 crashing, not printing properly, divide by zero errors, and the dreaded "Run-time Error 9" and "Run-time Error 13", which we were never able to track down.

FilterPro 3 Comparison to FilterPro 2

One of the main motivators behind the complete redesign of FilterPro was to bring FilterPro 3 into the same look and feel of our other Pro tools. Like our other Pro tools, we also plan to make an online version of FilterPro 3, which we couldn't do with FilterPro 2. Lastly, we wanted to address the bugs listed above, the most serious of which was the improper design of bandpass filters.

We think we've succeeded on all those fronts with FilterPro 3. The first release did leave out some capabilities, which we plan to address in later releases. However, it also added significant capabilities that FilterPro 2 did not have. The table below summarizes the differences between FilterPro 3 and FilterPro 2.

Feature FilterPro 2.x FilterPro 3.0 FilterPro 3.1
Filter Types
Lowpass X X X
Highpass X X X
Bandpass X X X
Notch X X X
Wide Bandpass X    
Band Reject X X X
Allpass   X X
Filter Responses
Butterworth X X X
Bessel X X X
Chebyshev, arbitrary ripple (0.001dB to 10dB) X   0.001 to 3dB
Chebyshev, 0.5dB ripple1   X X
Chebyshev, 1.0dB ripple1   X X
Linear Phase, 0.05 X X X
Linear Phase, 0.5 X X X
Gaussian, 6dB   X X
Gaussian, 12dB X X X
Custom Fn & Q X    
Other Filter Specifications
Filter Order X X X
Q X    
Stopband Attenuation   X X
Cutoff Frequency Range
0.001Hz - 200MHz X    
0.01Hz - 10MHz2   X X
Circuit Type
Multiple Feedback, Single Ended X X X
Multiple Feedback, Fully Differential X   X
Sallen-Key X X X
Component Values
Arbitrary R Values X X X
Arbitrary C Values X X X
R Tolerances Exact, E12, E24, E48, E96, E192 Exact, E6, E12, E24, E48, E96, E192 Exact, E6, E12, E24, E48, E96, E192
C Tolerances E6, E12, E24 Exact, E6, E12, E24, E48, E96, E192 Exact, E6, E12, E24, E48, E96, E192
Analysis
Sensitivity X    
Reporting
Gain per Stage X X X
Fn per Stage X X X
Q per Stage X X X
Required GBP per Stage X X X
Export to Excel, BOM and Response Data   X X
Bill of Materials (BOM)   X X
Design Report   X X
PDF Output   X X
Plots
Pan   X X
Zoom   X X
Scroll   X X
Cursor X X X

Note 1. These two specific cases of passband ripple are, of course, included in the Arbitrary passband ripple case.

Note 2. FilterPro 3 limits the frequency range to 10Mhz because the gain bandwidth product required to realize a stage is 100*Fn*Q. For a 10Mhz cutoff, a 1GHz GBP op amp would be required for a filter with Q=1. While FilterPro 2 would allow Fn up to 200MHz, that would require op amps with a 20GHz GBP! Since FilterPro designs circuits with voltage-feedback op amps, the resulting designs would be difficult to realize in the actual circuitry since most voltage-feedback op amps top out around 1GHz GBP.

Conclusion

FilterPro 3 is a complete redesign of FilterPro, which brings significant new capabilities to this active filter design tool. FilterPro 3 is actively being developed, and additional features are planned. While this new version is likely not completely free of bugs (what software is?), it addresses several serious problems that existed with FilterPro 2. Please let us know if you find problems or have feature requests, in the FilterPro forum on this site.