LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Discrete-Time Bessel Filter in LabVIEW

I've noticed that LabVIEW has a (discrete-time/digital) Bessel filter (and a VI to generate Bessel filter coefficients). In contrast, Matlab has the following to say about Bessel filters: "Analog Bessel filters are characterized by almost constant group delay across the entire passband, thus preserving the wave shape of filtered signals in the passband. Digital Bessel filters do not retain this quality, and besself therefore does not support the design of digital Bessel filters." Similarly, Oppenheim and Schafer don't talk about Bessel filters in their standard text Discrete-Time Signal Processing.

How does LabVIEW construct the coefficients for a discrete-time Bessel filter? Is it somehow able to magically preserve the linear-phase for which the continuous-time Bessel filter is known? How? (i.e., does it use a bilinear transformation or impulse invariance or something else?) Thanks.

Jason
Jason Rolfe
0 Kudos
Message 1 of 3
(3,639 Views)
Digital IIR filters in LabVIEW are designed by prewarping and bilinear transform of the analog filter poles and zeroes. Analog Bessel filters have almost linear phase in the passband. The transformation to digital domain introduces additional nonlinearity in the passband phase particularly near the cutoff frequency. Bandpass and Bandstop Bessel filters show even more nonlinearity. Whether this additional phase nonlinearity renders the filter to be of no use is probably something that needs to be evaulated per application.

I have modified one of the shipping examples to compute the group delay and graph it alonside the Phase of the filter. The implementation of the group delay is quick and dirty, and relies on phase unwrap and numerical derivatives. As a result the group delay may have spikes due to phase discontinuities. The deviation of the group delay from constant within the passband is consistently smaller for the Bessel filter compared to the other types (Butterworth etc.).
Message 2 of 3
(3,595 Views)
Sorry. Here is the example I mentioned.
0 Kudos
Message 3 of 3
(3,592 Views)