EBRG and EHLS digital filter limitations

Overview: Tests started on an eDAQXR system will error reset when the buffers in the DSP (Digital Signal Processor) overflow. This will result in either a Samples Lost error or a Packets Lost error being reported in the Log file. From a user point of view, there is no significant differences between the two exception messages. Following are examples of the Log messages.

error on 'hls_1': layer exception: Samples%20Lost%200xC1FF ERRNO=EXCEPTION; reboot required

error on 'hls_1': layer exception: Packets%20Lost ERRNO=EXCEPTION; reboot required

The limitations are in some cases dependent on the Test engine frame rate setup parameter. If this parameter is set to 100 Hz in the Decimal domain or 102.4 Hz in the Binary domain, the DSP uses a max queue time of 10 ms; otherwise it uses a max queue time of 20 ms. In general, the time of 20 ms is more optimal for lower samples rates (e.g., 200 Hz and below), and the time for 10ms is more optimal for higher sample rates (e.g. 5000 Hz and above). The specifics of the max queue time setting on DSP performance is complicated and beyond the scope of this operational note.

Single layer limitations with all channels using the same sample rate and digital filter. The following limitations are known to exist when only one BRG / HLS layer is used in an SIE test run.

  • Decimal 100000 S/s Null: Maximum of 10 channels (Packets Lost).
  • Decimal 20000 S/s Linear Phase 6667 Hz: Maximum of 13 channels (Packets Lost).
  • Decimal 10000 S/s Butterworth 1500 Hz: Maximum of 15 channels per layer (Packets Lost) if and only if Test engine frame rate is not set to 100Hz.
  • Decimal 100 S/s Linear Phase 33 Hz: Maximum of 15 channels per layer (Packets Lost) if and only if Test engine frame rate is not set to 100Hz. Note: Using v2.12.0, we no longer see this limitation. However, since the reason for this is not known, we have not removed this as a “possible limitation”.
  • Binary 98304 S/s Null: Maximum of 14 channels (Packets Lost).
  • Binary 4096 S/s Butterworth 640 Hz: Maximum of 15 channels per layer (Samples Lost).

Single layer limitations with channels using different sample rates and digital filters. The number of single layer configurations that fit into this category are unknown since there are too many possible configurations to test rigorously.

The 20000 S/s Linear Phase 6667 Hz filter is known to be particularly problematic. For example, a test with only 4 channels using this sample rate / digital filter, and using 12 channels at any other sample rate / digital filter will mostly likely reset on error.

NOTE
The 25000 S/s Linear Phase 8333 Hz is supported for all 16 channels and it is advised that this choice be used in lieu of 20000 S/s Linear Phase 6667 Hz filter as general practice.

Following is the only currently known single layer test configuration that doesn’t use any channels with the 20000 S/s Linear Phase 6667 Hz filter and still error resets.

  • Decimal 4 channels using 10000 S/s Linear Phase 3333 Hz, and 12 channels using 500 S/s or lower sample rate with a Linear Phase filter (Samples Lost) if and only if Test engine frame rate is not set to 100Hz.

Multiple layer considerations with channels using different sample rates and digital filters. The above discussion is focused on single layer issues. Of course, typical usage involves multiple BRG / HLS layers in the eDAQXR stack. Following are a couple of simple tips for distributing channels across layers.

  • In general, distribute the channels as evenly as possible across the layers. For example, if the test has 36 channels to use on 3 BRG layers, use 12 channels on each of the 3 layers.
  • As much as possible avoid mixing high sample rate channels and low sample rate channels on the same layer. If this cannot be avoided, in some cases increasing the low sample rates will eliminate the error resets. In other cases, decreasing the high sample rates may be the only option.

The user may have to resort to “trial and error” testing to find a solution to avoid the error resets. In this event, proceed as follows.

  • Create a New SXR test, and Add all channels to be used in the test.
  • Leave the channels with the default configurations (i.e., using the Voltage input mode with no transducer power). This will not harm any sensors, so nothing needs to be physically disconnected.
  • Change only the sample rate / digital filter for each channel to match what was defined in the test that error reset. This test will also error reset because the DSP processing is invariant on the specifics of channel configuration settings – other than the sample rate / digital filter setting.
  • At this point, the user can investigate changes to the test to hopefully find a solution (e.g., moving channels to a different layer, or decreasing [or in some cases increasing] some of the channel sample rates).