Owning Palette: Filters VIs
Requires: Full Development System
Generates a digital Bessel filter by calling the Bessel Coefficients VI. Wire data to the X input to determine the polymorphic instance to use or manually select the instance.
Use the pulldown menu to select an instance of this VI.
filter type specifies the passband of the filter.


X is the input signal to filter.  
sampling freq: fs is the frequency in Hz at which you want to sample X and must be greater than 0. The default is 1.0 Hz. If sampling freq: fs is less than or equal to 0, this VI sets Filtered X to an empty array and returns an error.  
high cutoff freq: fh is the high cutoff frequency in Hz. The default is 0.45 Hz. The VI ignores this parameter when filter type is 0 (Lowpass) or 1 (Highpass). When filter type is 2 (Bandpass) or 3 (Bandstop), high cutoff freq: fh must be greater than low cutoff freq: fl and observe the Nyquist criterion.  
low cutoff freq: fl is the low cutoff frequency in Hz and must observe the Nyquist criterion. The default is 0.125 Hz. If low cutoff freq: fl is less than or equal to 0 or greater than half the value of sampling freq: fs, the VI sets Filtered X to an empty array and returns an error. When filter type is 2 (Bandpass) or 3 (Bandstop), low cutoff freq: fl must be less than high cutoff freq: fh.  
order specifies the filter order and must be greater than 0. The default is 2. If order is less than or equal to 0, the VI sets Filtered X to an empty array and returns an error.  
init/cont controls the initialization of the internal states. The default is FALSE. The first time this VI runs or if init/cont is FALSE, LabVIEW initializes the internal states to 0. If init/cont is TRUE, LabVIEW initializes the internal states to the final states from the previous call to this instance of this VI. To process a large data sequence that consists of smaller blocks, set this input to FALSE for the first block and to TRUE for continuous filtering of all remaining blocks.  
Filtered X is the output array of filtered samples.  
error returns any error or warning from the VI. You can wire error to the Error Cluster From Error Code VI to convert the error code or warning into an error cluster. 
filter type specifies the passband of the filter.


X is the input signal to filter.  
sampling freq: fs is the frequency in Hz at which you want to sample X and must be greater than 0. The default is 1.0 Hz. If sampling freq: fs is less than or equal to 0, this VI sets Filtered X to an empty array and returns an error.  
high cutoff freq: fh is the high cutoff frequency in Hz. The default is 0.45 Hz. The VI ignores this parameter when filter type is 0 (Lowpass) or 1 (Highpass). When filter type is 2 (Bandpass) or 3 (Bandstop), high cutoff freq: fh must be greater than low cutoff freq: fl and observe the Nyquist criterion.  
low cutoff freq: fl is the low cutoff frequency in Hz and must observe the Nyquist criterion. The default is 0.125 Hz. If low cutoff freq: fl is less than or equal to 0 or greater than half the value of sampling freq: fs, the VI sets Filtered X to an empty array and returns an error. When filter type is 2 (Bandpass) or 3 (Bandstop), low cutoff freq: fl must be less than high cutoff freq: fh.  
order specifies the filter order and must be greater than 0. The default is 2. If order is less than or equal to 0, the VI sets Filtered X to an empty array and returns an error.  
init/cont controls the initialization of the internal states. The default is FALSE. The first time this VI runs or if init/cont is FALSE, LabVIEW initializes the internal states to 0. If init/cont is TRUE, LabVIEW initializes the internal states to the final states from the previous call to this instance of this VI. To process a large data sequence that consists of smaller blocks, set this input to FALSE for the first block and to TRUE for continuous filtering of all remaining blocks.  
Filtered X is the output array of filtered samples.  
error returns any error or warning from the VI. You can wire error to the Error Cluster From Error Code VI to convert the error code or warning into an error cluster. 
After calling the Bessel Coefficients VI, the Bessel Filter VI calls the IIR Cascade Filter VI to obtain a Bessel Filtered X sequence.
The values for high cutoff freq: fh and low cutoff freq: fl must observe the following relationship:
0 < f_{1} < f_{2} < 0.5f_{s}
where f_{1} is low cutoff freq: fl, f_{2} is high cutoff freq: fh, and f_{s} is sampling freq: fs.
You can use the Filter Express VI to view the transfer functions used for the Bessel Filter VI. Select Bessel in the Topology pulldown menu and select Transfer function in the View Mode section of the Filter Express VI configuration dialog box.
Refer to the IIR Filter Design VI in the labview\examples\Signal Processing\Filters directory for an example of using the Bessel Filter VI.