Error 20023 or Error 20020 from Filter VIs

Updated Jan 10, 2019

Reported In


  • LabVIEW

Issue Details

A filter VI in my program is returning one of the following errors:

Error 20023: Analysis: The following conditions must be met: 0 < f_low <= f_high <= fs/2. 

Error 20020: Analysis: The cut-off frequency, fc, must meet: 0 <= fc <= fs/2.

Why am I getting this error?


Three of the possible reasons for this error are:
  • The cutoff frequencies are invalid.
    When using any type of filter (highpass, lowpass, bandpass, bandstop), the upper and lower cutoff frequencies must meet the following criteria:

    0 < flow <= fhigh <= fs/2

    Where flow is the lower cutoff frequency, fhigh is the upper cutoff frequency and fs is the sampling frequency. 

    Notice that this means the lower frequency limit cannot equal zero. In addition the upper frequency limit cannot be greater than half the waveform sampling rate.
  • An array of data is being passed to the filter without waveform information:
    If you wire an array into the input, most filter VIs will automatically place a Convert to Dynamic Data Express VI between the array and the input. The new dynamic data will not have time data. The filter needs to know dt (the time between samples in seconds). You can configure an array into a waveform by adding a Build Waveform VI to your block diagram as shown below. You can then specify dt, and connect the resulting waveform to the filter VI. 

Also, you should check the source of your data. If you are getting data from a VI and the output is an array, sometimes you can change the type of output to waveform in the context menu (right-click).
  • An array of waveforms is being passed into the filter:
    If you wire in an array of waveforms into a single filter, the filter will not be able to display a filtered signal for each of the signals, thus producing an error.  If you want to filter multiple signals, index your array of signals so that you pass each signal into their own filter.



Not Helpful