Multi-Stage Resampling Filter Designer - Application Help
Back to the filter designer...
This web application is intended to easily design filters for multistage resampling networks. It calculates the
correct filter requirements for you, and can also directly generate the corresponding filter coefficients.
Resampling Stages
There can be an arbitrary number of resampling stages, which represent a chain of processing. Each of the stages has
an interpolation / decimation factor which can be selected. By the buttons 'New' and 'Rem', you can add stages after the
current stage or remove the corresponding stage from the chain.
The buttons 'Pass<' and 'Pass>' can be used to modify the bandwidth and/or cutoff frequencies for individual stages manually. This
way, one can relax the requirements a bit at the edges of the bands, for example. The buttons 'Stop<' and 'Stop>' can be used to do the
same with the edge frequency of the stopband. The adjusted changes are shown visually in the graphs and the ripple/attenuation for the
new bandwidth/cutoff frequencies are also determined and shown in the graph text after designing the filter.
The graphs are showing the frequency spectrum of the signal at the stage, including the aliases and/or negative frequencies. The magnitude of the filters is shown linearly (not decibels), and its
is always assumed that the passbands are at unity gain. Before designing the filter, the filter requirements are shown with a dotted green line. After the filter has been designed,
the filter's response is instead shown as a full green line.
Filter Design
Filter design is carried out by the Equiripple (Parks McClellan / Remez) algorithm. This algorithm is well known, the implementation is adapted from Peter Isza's
online filter design tool TFilter. It produces optimal filters meeting the given requirements.
Extra Parameters
-
Mantissa Precision: This specifies the precision (decimals) which should be shown when exporting the coefficients. Use 100 if you want to be sure to get full precision from JavaScript's
rather lousy mathematical model. This has absolutely no impact on the calculations themselves, just on the way the coefficients will be shown when clicking on 'Get Coefficients'.
-
Adjustment Step Size: This is the amount of Hertz which is used when using the 'Pass<', 'Pass>', 'Stop<' and 'Stop>' buttons. It also is of no relevance for the calculations, just for handling the application.
-
Halfband: This mode produces halfband filters for stages with factors of 2. These filters contain lots of zeroes in the kernel, and can be computed more efficiently.
The ripple for halfband filters is equal in pass- and stopbands, so only the stopband attenuation is relevant for these stages if the halfband option is enabled. The passband ripple for those stages
will be derived from this to achieve halfband specs.
If you find any bugs or have feature requests, please mail to tom-vibrant(at)gmx.de.
(C) 2018 T. Weber / Tunetown Studio www.tunetown.de