A filter structure specifies how you arithmetically use a set of filter coefficients to process an input signal. For a specified digital filter, dozens of mathematically equivalent implementation structures are available. For a floating-point digital filter, the effects of different implementation structures on the filter behavior are negligible in most cases. For a fixed-point digital filter, different implementation structures can result in different signal outputs.
In addition to FIR and IIR structures, the LabVIEW Digital Filter Design Toolkit also provides lattice structures. Lattice structures, including lattice allpass, lattice AR, lattice ARMA, and lattice MA, can be good alternatives for fixed-point filter implementation. For example, lattice structures can preserve the stability of fixed-point IIR filters as long as the lattice reflection coefficients have moduli less than one, regardless of how limited the arithmetic precision might be.
The Digital Filter Design Toolkit provides the following three categories of lattice structures.
When you select a filter structure, you must balance a number of factors, including the filter type, implementation resources, and computational complexity. For IIR filters, you also need to consider the sensitivity to coefficient quantization of each structure. The following table lists the default filter structures that the Filter Design VIs use.
|Design Method||Default Structure|
|Kaiser Window||FIR Direct Form|
|Dolph-Chebyshev Window||FIR Direct Form|
|Windowed FIR||FIR Direct Form|
|Remez/Equi-Ripple||FIR Direct Form|
|Least Pth Norm FIR||FIR Direct Form|
|IIR Notch Peak||IIR Direct Form II|
|IIR Comb||IIR Direct Form II|
|Arbitrary Group Delay||IIR Direct Form II|
|Least Pth Norm IIR||IIR Direct Form II|
|Butterworth||IIR Cascaded Second-Order Sections Form II Transposed|
|Chebyshev||IIR Cascaded Second-Order Sections Form II Transposed|
|Inverse Chebyshev||IIR Cascaded Second-Order Sections Form II Transposed|
|Elliptic||IIR Cascaded Second-Order Sections Form II Transposed|
|Bessel||IIR Cascaded Second-Order Sections Form II Transposed|
|Maxflat||IIR Cascaded Second-Order Sections Form II Transposed|
|Group Delay Compensator||IIR Cascaded Second-Order Sections Form II Transposed|
|Note If you want to generate LabVIEW FPGA code from an IIR filter, National Instruments recommends you use the IIR Cascaded Second-Order Sections Form II Transposed structure for this filter.|
You can use the DFD Convert Structure VI to select a different filter structure, with the following caveats:
Refer to the Change Structure of Filter VI in the labview\examples\Digital Filter Design\Getting Started\Apply Filters directory for an example that demonstrates how to change the structure of a filter.