Spectrum analyzers originally had analog displays; that is, the output of the envelope detector was amplified and applied directly to the vertical plates of the display cathode ray tube (CRT). Although the data presented were continuous, slow sweeps presented a problem: a flickering display or, worse, simply a spot that moved slowly across the CRT. Storage tubes were developed to provide a flicker-free, full display, but once digital technology became economically viable, it quickly became the mechanism of choice.
In this program, the green trace represents an analog trace. Although it is actually a digitized trace, it has significantly more points than the digital trace examples that are created.
Digital technology has many pluses. Once the data is in digital form and stored in memory, the LCD display can be updated at a flicker-free rate regardless of the actual sweep time of the analyzer. Digitized data also allows the use of markers and trace arithmetic as well as the output of data to vector analysis software.
However, digital schemes have drawbacks of their own, and the purpose of this program is to give you insight into digitized displays. Since we cannot afford to have infinite memory, we must divide the display into a finite number of data points. Today's spectrum analyzers typically have from 1 to 40001 data points (trace elements) making up the display. As a result, each data point must to the extent possible represent, in a single value, what happened since the previous data point. Now we must decide what algorithm does the best job. As we shall see, there is no single algorithm that is best for all situations.
Note: In this program, the digitized trace comprises only 21 data points by default. Each point therefore represents the half division to its right. So few points were chosen to exaggerate the effect and to make it easier to see the impact of a given choice of detection mode. To see how more or less points impacts the display, change the number of points using the buttons.
As a starting point, we might decide to simply sample the data somewhere during the interval to be represented by a particular trace element and plot that value. This sample mode is a simple scheme. In this program, the sample is taken at the end of the interval, and the point is plotted at the beginning (left side) of the interval. While the sample mode does a good job of representing the randomness of noise, it is not the best algorithm for searching for unknown signals or for analyzing signals made up of discrete spectral components. In its tuning process a spectrum analyzer sweeps mixing products past its fixed IF (resolution) bandwidth filter, tracing out the shape of the selected filter on the display. Unless a particular mixing product happens to be at the center frequency of the filter at the time a sample is taken, an incorrect value will be stored in memory and displayed. In the extreme, the resolution filter can be narrow compared to the frequency spacing between trace elements, and the mixing product is missed entirely.
Another possible algorithm is one that keeps track of the maximum value of the signal during the interval to be represented and displays that value. This peak mode is very good for analyzing discrete spectral components because none is missed regardless of the relationship between resolution bandwidth and the spacing between trace elements. However, this mode is not good for analyzing noise-like signals. Since only the peak values of the noise are shown, the indicated value for the noise is misleading.
The fourth algorithm shown in this program is rosenfell. This algorithm is named for its functionality, not for a person. It determines whether or not the signal rose and fell in the interval to be represented by the next trace element. If the signal both rose and fell, it is classified as noise. In this case, the maximum value in the interval is plotted if the data point is odd numbered, and the minimum value is plotted if the data point is even numbered. Both positive peak and negative peak (minimum-value) detectors are utilized to make the algorithm work. However, if the positive peak detector was reset after an even-numbered trace element, a signal peak in that interval would be lost. Therefore, the positive peak detector is not reset at the end of an even-numbered interval, and the value put into memory (and displayed) for the next, positive-numbered trace element is the higher of the value carried over and the maximum value encountered in the odd-numbered interval. This situation is illustrated when using a single tone and 21 points. The peak of the response to a signal is encountered in an even-numbered interval, so the analog signal value both rose and fell. Because the interval is even-numbered, the minimum value is displayed. However, the peak value is carried over and displayed by the next trace point. The positive peak detector is then reset. If the signal only rose or fell in the interval, the positive peak is used.
The averaging algorithm takes the average of the signal in the interval and displays it at the beginning of the interval. On X series analyzers, three different types of averaging can be used. Power (rms) averaging takes the rms levels in the interval and averages them. Voltage averaging averages the linear voltage data of the envelope signal. Log-power (video) averaging averages the logarithmic amplitude values (dB) of the envelope signal in the interval.
Except for its use as part of rosenfell, the negative peak mode has only limited utility. It is shown here for completeness.
While the rosenfell algorithm does a better job of displaying noise than peak, it does misrepresent noise by showing only the maxima and minima. For noise and similar signals, such as LTE, the sample mode is best. Peak and rosenfell are better for analyzing spectra made up of discrete spectral components (sinusoids).
To plot a data point at the right edge of the display, the program generates the simulated analog signal slightly beyond the graticule. The digitized trace appears to be analog because there are many more points than in this program and because vectors (lines) are drawn between the trace points.