:MEASure:DATA:BERatio
Command Syntax
:MEASure:DATA:BERatio
Query Syntax
:MEASure:DATA:BERatio?
Description
This command adds the BER (Bit Error Ratio) measurement.
The query returns the measured value.
Because NRZ and PAM signals can use forward error correction (FEC) with possible bit errors on the order of 1e5 or 1e6 bits, it becomes practical for an oscilloscope to measure BER (Bit Error Ratio).
The BER (Bit Error Ratio) measurement requires clock recovery (see the :<waveform>:CRECovery commands) and at least two error-free copies of an identical repeating bit pattern in acquisition memory (see the :<waveform>:SIGNal:TYPE and :<waveform>:PATTern commands). Typically, a PRBS test pattern is used.
For the BER measurement, you can make cumulative measurements (over many acquisitions) to measure a statistical BER level or you can make measurements per (for each) acquisition to help identify and locate burst errors. See :MEASure:DATA:BERatio:ACCumulation.
With PAM signals, there are multiple bits per symbol, and one symbol error could mean multiple bit errors. As an example, PAM4 signals define four symbol levels (0, 1, 2, 3) that each represent two bits (00, 01, 10, 11). The following table shows the bit errors that are counted when one symbol is expected and a different symbol is captured.
| If this symbol is expected: | And this symbol is captured: | Then: |
|---|---|---|
| 3 (11 in binary) | 2 (10 in binary) | This is a 1-bit error. |
| 1 (01 in binary) | This is a 1-bit error. | |
| 0 (00 in binary) | This is a 2-bit error. |
Measurement Ready?
To confirm that the measurement is ready to read, you can query the measurement's status:
if ('CORR' in Infiniium.query(':MEASure:DATA:BERatio:STATus?')):
measurement = Infiniium.query(':MEASure:DATA:BERatio?')
If averaging is turned on (:ACQuire:SMODe AVERage), you can also confirm if the measurement result is ready by comparing the number of specified averages (:ACQuire:COUNt?) versus the number of measurement sweeps that have occurred (:ACQuire:COUNt?). The technique uses the :COUNt? common measurement query. For example,
if (Infiniium.query(':MEASure:DATA:BERatio:COUNt?') >= Infiniium.query(':ACQuire:COUNt?')):
measurement = Infiniium.query(':MEASure:DATA:BERatio?')
You can also use an acquisition limit test to test that a number of waveforms or samples have completed before returning a measurement. Refer to the :LTESt:ACQuire:CTYPe command.
Querying Measurement Results and Statistics
You can query measurement results using the :MEASure:DATA:BERatio? query after making the proper instance settings.
If a measurement is installed into Results table (using the :MEASure:DATA:BERatio command) and you have made the proper instance settings, you can query statistics using common child queries.
Also, you can query measurement results and statistics directly from the Results table (without having to make the proper instance settings beforehand). See Querying Measurement Results and Statistics.
The Count in the measurement results indicates:
- For cumulative BER: How many bits have been observed.
- For per acq BER: How many acquisitions have been observed.