# OpenLab SignalToolkit - Oscilloscope

The most significant aspect was that the Look & Feel of the GUI resembles a traditional oscilloscope. Moreover, functions which are needed constantly are easy to access, whereas complex features are hidden in the menu bar. Thus, the application is easy to use and provides complex functions as well. Furthermore, the user is not overwhelmed with countless features and is immediately able to start with the signal analyses.

The signal graph in Figure 1 illustrates a sine waveform with 10.5 Vpp and a frequency of 1 MHz on channel one, whereas the second channel indicates a rectangle waveform with 5.1 Vpp and a frequency of 500 kHz.

## Horizontal Scaling

The horizontal scaling has a close connection between the sampling rate and memory depth. The sampling rate is one of the most important characteristic values of an oscilloscope. Nevertheless, a high sampling rate is only useful if the memory depth is dimensioned sufficiently. The following Equations 1 and 2 explain the precise mathematical link between the sampling rate and the memory depth.

Equation 1 is utilized to calculate the displayable time range T of the signal graph. The time scaling parameter t is adjusted with the horizontal knob in the GUI. This knob has a value area from 250 ns to 1 s. The div parameter stands for divisions on the x-axis. The signal graph of the GUI has 10 divisions on the x-axis.

It is mandatory to adjust the sampling rate according to the displayable time range T and memory depth. The following Equation 2 illustrates the calculation of the required sampling rate SRreq. The parameter SRMAX is the maximum sampling rate, which is 2.5 MSa/s. The memory depth MD amounts to 600 samples. If the computation of SRreq would exceed SRMAX, the sampling process is changed to SETS.

A slightly dimensioned memory depth causes that the maximum sample rate is only utilized for one horizontal scaling factor. Thus, high scaling factors would reduce the quality of the illustrated signal. This can even lead to that the input signal is indicated in steps. This effect can be contracted when the memory depth is increased.

## Vertical Scaling

The calculation of the vertical scaling is closely linked to the analog front-end. In Equation 3, the parameter adcin is an 8-bit value. This value needs to be converted to a voltage level value (Vreal) to update the measurement fields in the GUI. The parameter adc0 is the virtual zero line of the ADC and amounts to 133. The constant parameter adcValUp is the maximum ADC value (195) before the input signal clips. The parameter ampmax represents the maximum voltage level [Vp] of the corresponding amplification stage.

Equation 4 is utilized to adjust the voltage level Vreal according to the vertical position and scaling factor of the corresponding knobs. The signal graph of the GUI has 8 divisions on the y-axis.

The parameter pos0 is the virtual zero line of the GUI. The addition of the parameter pos0 makes it possible to modify the vertical position of the waveform. The parameter voltsdiv is bound to the vertical scale knob. During the modification of the vertical scale knob, the displayed waveform would enlarge or reduce.

## Sequential Equivalent Time Sampling Data Processing

The GUI has an essential purpose regarding the SETS data processing. In case the maximum sample rate of the ADC is exceeded, the development board needs to be informed with additional instructions to start the SETS mode. These instructions are calculated in the GUI and contain the required sample rate, acquisition rounds, and acquisition packet size.

Equation 5 is necessary to calculate the required sample rate to process the input signal properly. The parameter SAframe represents the maximum samples, which are illustrated within one frame. In this case SAframe amounts to 600 samples.

Equation 6 is utilized to compute the required acquisition rounds.

The acquisition packet size consists of the division of SAframe and the maximum sample rate SRADJ . Figure 2 illustrates an example of the reconstruction of one SETS sample packet. In this example the adjusted sample rate in the GUI was set to 10 MSa/s (delta x). Thus, the required acquisition rounds amount to 4 rounds, whereas one packet consists of 150 sample values.

The GUI stores every single received sample packet temporarily until all acquired packets are available. The signal graph in Figure 2 highlights the sample process as a function of time. Due to the fact that the maximum sample rate is limited, the input signal needs to be sampled over more than one acquisition round. In this example, four time periods are necessary to sample the input signal according to the SETS technique. In Figure 2, the parameter delta y represents the maximum ADC sample rate SRreq.

Figure 3 shows the interleaving process of the acquired sample packets. The GUI interleaves every single packet, if all required data packets are completely received.

The signal graph of the GUI is only updated when all acquired sample packets are available.