Academic Company Events Community Support Solutions Products & Services Contact NI MyNI
24 ratings:
 3 out of 5   

Troubleshooting Error 20023 or Error 20020 from Filter VIs

Primary Software: LabVIEW Development Systems>>LabVIEW Full Development System
Primary Software Version: 7.1
Primary Software Fixed Version: N/A
Secondary Software: LabVIEW Development Systems>>LabVIEW Base Package, LabVIEW Development Systems>>LabVIEW Professional Development System

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?

Two 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.

Related Links:
Product Reference: NI High-Speed Digitizers Help: Butterworth Filters
KnowledgeBase 2RE8M35A: Where Is the Half-Power Point for a Bessel and Butterworth Filter?


Report Date: 12/16/1994
Last Updated: 01/17/2011
Document ID: 04F9N116

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
  1 2 3 4 5
Please Contact NI for all product and support inquiries.submit