Reframe

Inside the scope, most of the waveforms (i.e., ones from the acquisition system) are 16 bit integer waveforms. The amplitude is quantized into the 65536 code space. However, more and more of our math functions - including the FFT - now produce floating point waveform results.

In a floating point waveform the values don't all have the same resolution step, and the possible range of values is huge. Therefore, a float waveform result contains minimum possible and maximum possible limits, values that the math processor guarantees the result data must fit inside. That is almost always a larger range than the minimum and maximum values that the data in this result actually spans, which will be different on each acquisition. It's really up to the processor to set minimum possible and maximum possible limits. However, in general, these limits have little use. There is a separate concept of a "frame" which is the rectangle to view. As an example, the Frame height set in a Power Spectrum result by default is from one division above the highest peak to 160dB below that. That's a huge range.

Sometimes a floating point waveform (such as an FFT result) has to be used as the input to a parameter (such as Area) that expects a 16 bit integer waveform! In such a case the scope automatically converts the waveform, from float to integer. And how does it establish the range to be included in the 64K code space? It uses the Frame information! While this guarantees that the scale is adequate to fit what the user might be viewing, if the Frame spans a much larger range than actual data minimum to maximum then the data may fall into only a small number of codes in the integer code space. Dynamic range will be awful.

The Reframe function solves this problem by reading the floating point waveform's data to find the minimum and maximum values, and it sets the vertical part of the Frame information to fit the waveform's data. If the reframer’s result is then converted to integer, the data will occupy most of the code space.

Just for comparison, consider subtraction of two equal amplitude waveforms. The result could be twice as large as each input could possibly be. So, the Frame for the subtraction result will be a factor of two larger than Frame of the inputs. If the inputs are a differential pair, then that's great. If the data mostly cancels, then the Frame of the result will be much larger than the vertical range of the data.

Figure 1:

Illustrating the use of the reframe function to improve measurement accuracy by improving the dynamic range of the integer measurements

Let’s consider another example, shown in Figure 1. The upper trace shows an averaged FFT of band limited noise scaled in power spectral density (V2 /Hz). We are using the area parameter (P2) to integrate the area under the FFT function with the goal of finding the total power of the signal. This will be compared with the mean squared value derived directly from the time domain waveform shown in parameter P3. As you can see P2 is lower than P3 by about 1.5 μV2 . This does not seem like a large discrepancy but if you look at the cursor on the top trace you will notice that it is not tracking on the waveform data. This is an indication that the data mapping from the FFT trace to the integer cursor readout has insufficient resolution. In function F3 we have run the same FFT data from F2 through the reframe operation. The area reading of F3 in parameter readout P4 is within 0.18 μV2 of the mean squared value. In addition, the cursor is placed exactly on the data trace.

Figure 2:

The frame limits shown within the reframe math function setup

In the upper trace, the data was mapped into the integer operations with Frame top limit of 3.528 E-6 V2 and a vertical Frame bottom limit of -0.392 E-6 V2 resulting in an integer step size of 6 .0 E-11. After the reframe operation the limits are set to 272 E-12 and -127 E-12 with a resultant step size of 6.1 E-15. These limits are shown within the reframe setup in Figure 2.

Figure 3 shows the math function dialog box for the reframe function. The easiest way to set the Frame Top and Frame Bottom limits is the press the Fit Frame to Data Once. This will measure the minimum and maximum value of the source data and set the limits to those values. If the data changes from acquisition to acquisition check the Fit Every Time box. Bear in mind that if the data changes enough to cause the reframe function to change the scale values accumulated data, like eye diagrams, derived form the reframe operation may be erased just as if you had changed the acquisition setup.

Figure 3:

The main dialog box for setting up Reframe

The Using Region field allows the user to map the data into the upper half of the grid, the lower half of the grid or use the entire grid. This allows for placing multiple waveforms onto a common grid without interference with each other. This is illustrated in Figures 4-6.

Figure 4:

Placing data in the upper half grid

Figure 5:

Placing data in the lower half grid

Figure 6:

Using all the vertical grid area

Scale factors on the oscilloscopes axes are usually set up to follow a 1, 2, 5 progression. The One Click Larger check box allows the user to set the frame limits so that the next appropriate scale factor is chosen. This is shown in Figure 7 and 8. In Figure 7, the data, with a vertical scale factor of 20 pV2 /division, is overflowing the upper edge of the grid. By checking the One Click Larger box and pressing Fit to Frame Once the frame limits are changed to scale the data into a scale factor of 50 pV2 /division shown in Figure 8.

Figure 7:

Waveform overflowing grid at 20 pV2 /division

Figure 8:

Using One Click Larger Check box to select the next higher scale factor

So, as you can see, the Reframe math function is a valuable tool to optimize the mapping of data from floating point to integer math and measurement processes. It helps make use of the full dynamic range of the integer processes to minimize errors caused by lack of resolution.