FFT-SetupLike all Siglent DOSs, starting with the venerable SDS1202X-E, the SDS800X HD have a very useful FFT implementation. To get the most out of it, we should be able to set it up correctly.
The FFT-length in the SDS800X HD can be up to 2 Mpts. This enables low resolution bandwidths and low noise, but it's still “only” a 12-bit DSO, hence results below -73 dBFS shouldn’t be trusted blindingly. In many cases, the usable dynamic range with decent accuracy can be up to 100 dB though.
Some hints for proper setup of the FFT on Siglent DSOs in general and the SDS800X HD in particular:
FFT-Bandwidth and RBWThis is quite different to a traditional SA (spectrum analyzer). There is no menu for the resolution bandwidth and also no direct setting for the FFT-bandwidth, even though we have a menu item for the horizontal display parameters, i.e. start/stop frequencies for wideband measurements and center frequency/span for narrowband applications. But this is just for zooming into a longer FFT result; for best speed and lowest RBW (resolution bandwidth) we need to make sure that no high zoom factor is required to get the desired display. The following rules apply:
• The analysis bandwidth (FFT-BW) is always half the FFT sample rate (FFT-SR).
• The frequency step Δf is the sample rate divided by the number of FFT points.
• In the Acquire menu, a constant sample rate can be set in order to also limit the FFT-sample rate.
• The resolution bandwidth (RBW) is the frequency step multiplied by a factor specific for the window function in use.
The maximum number of FFT points can be up to 2 Mpts, but it also depends on the record length, which increases with slower time base settings, which in turn might be limited by the maximum memory as defined in the Acquire menu. Apart from that, the number of FFT points can be further limited by the corresponding setting in the FFT-Config menu.
RBW = Δf * k, where k is the 3 dB bandwidth factor in bins, depending on the window function:
k: Rectangle 0.99, Blackman 1.74, Hanning 1.62, Hamming 1.64, Flattop 3.73.
Blackman and especially Flattop are the most universal and useful window functions in practice. You definitely should stick to these two as long as you cannot prove that some other window would actually work better in your specific application.
Thus: Δf = RBW / 4 (rounded) in case of the flattop window or RBW / 2 for Blackman.
To get the proper settings for any given FFT-BW and RBW pair, proceed as follows:
Determine the FFT sample rate: SR = FFT-BW * 2 [Sa/s];
Determine the number of FFT points: FFT-pts >= SR / Δf [pts];
Determine the time base: TB >= FFT-pts / SR / 10 [s/div];
As mentioned earlier, you can lower the FFT-sample rate by setting a constant acquisition sample rate; this can be useful when you want really low FFT-sample rates but do not want to use very slow time base settings, which would slow down the acquisition considerably.
Setting up the FFTEven from the best FFT implementation, we can only expect good results as long as the scope has been set up properly for that specific task. How many so called “reviews” have we seen where FFT has been engaged and some scope settings randomly altered just to get a halfway plausible but actually not very meaningful FFT graph, which was then either praised or criticized?
Of course we can get away with some quick & dirty setup if the requirements are low, but even then we should never ignore the most important parameters like FFT bandwidth, which should always cover the full signal spectrum, otherwise aliasing artefacts could easily spoil our measurement results.
For optimal speed, frequency resolution and dynamic range, we need to put a little more effort into a proper setup, which has quite different requirements compared to the usual Y-t view (aka time domain). Below there is a complete checklist how to properly set up the DSO for analysis in the frequency domain (most of these topics should be obvious, but still listed for completeness):
1. Set acquisition mode to normal. Use ERES only for a good reason and stay away from average. Avoid Peak Detect under all circumstances and without any exception!
2. Use edge trigger in auto mode to make sure signal acquisition doesn’t stop even when the signal amplitude drops below the trigger sensitivity. FFT doesn’t require a stable trigger, so you can also use AC-line trigger for that.
3. Determine the lower bandwidth limit for the FFT analysis. If it is >10 Hz, use AC-coupling for the input channel to ensure maximum dynamic range even with large DC offsets and/or high input sensitivities. If DC-coupling has to be used, use the vertical position control to compensate for any DC offset, so you can optimize sensitivity, hence get the highest dynamic range.
4. Determine the upper bandwidth limit for the FFT analysis. In order to avoid aliasing artifacts, this should not only cover the desired analysis bandwidth, but include the highest expected input frequency. In general, it’s best to start with a higher upper bandwidth limit and reduce it only after it has been confirmed that there is no significant signal content above the desired final limit.
5. Choose the frequency step size according to the explanations given earlier in this article, which would be about one quarter of the required resolution bandwidth when using the Flattop window.
6. Find an appropriate set of horizontal time base setting and the number of FFT points; refer to the explanations given earlier in this article. You should watch the displayed FFT parameters while altering the time base and double check that they match your expectations. Be aware that the desired resolution bandwidth might not be achievable due to the limited choice of sample rates and FFT lengths and/or the maximum specified FFT length of 2 Mpts.
7. Engage FFT mode, select the correct source channel and start with Split Screen mode.
8. Set the vertical gain so that the peak amplitude of the input signal is between ±2 to ±4 divisions.
9. Set the horizontal FFT display parameters according to the bandwidth you want to display and select linear/decade mode for the frequency axis. Decade is advantageous for wideband measurements, whereas linear is best for narrowband applications.
10. Set the vertical FFT display parameters, i.e. the desired level units (dBV or dBm, forget volts!) and make sure the external load impedance matches reality whenever working with power levels, i.e. dBm. Set the reference level and vertical scale so that the FFT amplitude range of interest makes best use of the available screen space.
11. Setup (at least) automatic peak-peak measurement for the input channel. During frequency domain analysis, especially in Exclusive mode, keep an eye on the Vpp measurement for the input channel to make sure no overload occurs.
12. Make sure the desired window function is selected.
Hint: stay in Split Screen mode until the amplitude setup is finished and the levels are reasonably stable, then switch to Exclusive mode. By keeping an eye on the peak-to-peak measurement of the input signal, you can still detect an overload condition instantly; the scope indicates that by displaying > instead of = in front of the measurement value.
Example:
Pk-Pk >851.875mV instead of
Pk-Pk 755.000mV.
FFT Window FunctionsFor the ones who try to understand the consequences of certain settings in the FFT analysis – this is about the window functions.
Why are there so many different windows (only few of them available on the SDS oscilloscope)? What is the best window to use?
There have been times when processor systems haven’t been nearly as powerful as today. Non-RISC architectures with just 1 MHz clock frequency and less than 1 kB RAM were not uncommon during the seventies of last century. Instruments that could compute a FFT at all have been rather exotic, and FFT-lengths like 64 points were quite common. In the light of this, there is no wonder that less than ideal FFT-window functions optimized for certain tasks were popular.
Sometimes there are descriptions about the benefits and drawbacks of the various window functions, yet most folks would rather not care and want a universal setting that works for them every time. Just like with a traditional SA (spectrum analyzer) with analog RBW (resolution bandwidth) filters in the final IF (intermediate frequency) path. And fortunately, there is one…
There are several features of a window function, and two of them are amplitude accuracy and resolution bandwidth. If we look at just these two properties, then the rectangle window would have the narrowest resolution bandwidth but the worst amplitude error, whereas it’s just the opposite for the Flattop window.
So, whenever we need the best frequency resolution, we just sacrifice a bit of accuracy and use the Rectangle window?
It’s not that simple. An FFT divides the entire analysis bandwidth into frequency bins. If, for instance, we have an FFT-length of 32768 points, then we get 16384 such frequency bins and at an effective sample rate of 2 MSa/s, each of them will be 61.04 Hz wide. In this case, 61.04 Hz is the bin width and the bin spacing at the same time. The center of a bin will always be an integer multiple of the bin width.
Now FFT-windows behave differently, depending on the offset of the input signal frequency from the bin center. I did a selectivity test for the various window functions available on an SDS800X HD and used the before mentioned parameters:
FFT-sample rate = 2 MSa/s
FFT-Length = 32768 pts
Bin-width = 61.03515625… Hz
The test will be for amplitude accuracy and the -20 dB, -40 dB and -60 dB selectivity. I define the latter at the frequency distance for a -20, -40 or -60 dBc signal to still produce a visible 3 dB peak in the spectrum (and not drowned out by the leakage of the neighboring o dBc reference signal).
The -3 dB bandwidth might be most important for characterizing the passband of any two-port network, but for a filter, where the selectivity is the main concern, the bandwidth at a useful attenuation is even more important.
The metric of a filter shape factor exists, which is usually defined as the ratio of the filter bandwidth at -60 dB and -6 dB. The shape-factor might even be the most important property of any RBW filter at all, because it ultimately defines selectivity. Consider what a proper BP (Band-Pass) filter, as it might be found in any traditional SA, looks like:
Ref-BP_Cheby9_0.2dB
This is a 9th order Chebyshev BP filter with 0.2 dB passband ripple. It has a -3 dB bandwidth of about 10 kHz and less than 16 kHz bandwidth at -60 dBc. The 3/60 shape factor is thus ~1.57. The lower the shape factor, the higher the selectivity.
What does it mean in practice? We can distinguish a strong signal at 0 dBc together with a weak signal at -60 dBc next to it, as long as the distance is at least ~13 KHz, i.e. 1.3 times the RBW. That is excellent and makes for a useful analysis in the frequency domain.
An FFT is quite different to a classic continuously swept spectrum analyzer. If we feed a stable sine wave into a swept analyzer, we’ll get the frequency response plot of the RBW-filter.
The FFT doesn’t plot a continuous filter response, but simply shows the outputs of the individual frequency bins, and ideally only the one bin covering the input frequency responds with the correct amplitude (and phase, but that’s not displayed). It is like a huge filter bank with a bunch (16384 in our next example) of filters, all working in parallel. What we see is different from the RBW-filter response; we rather see the “leakage”, i.e. signal outputs from neighboring “filters” (bins), sometimes even far away from the signal frequency - and there are amplitude errors for the main bin.
A 0 dBm test signal of 499.99342 kHz has been used for the first test, which is equivalent to precisely 500 kHz if the time base of the SDS800X HD were accurate. this is precisely 8192 times the bin width, hence the exact center of a bin.
What do we get?
Window Ampl. Selectivity [Hz]
[dBm] -20 dB -40 dB -60 dB
Blackman 0.0 236.58 236.58 236.58
Flattop 0.0 366.58 416.58 416.58
Hamming 0.0 168.58 168.58 168.58
Hann 0.0 171.58 171.58 171.58
Rectangle 0.0 98.58 98.58 98.58
Look at the rectangle window, with two signals, the 0 dBm reference signal (carrier) and the 2nd signal at -40 dBc (with an enormous amplitude error of 2.8 dB), which creates just a 3 dB peak at a distance of 98.58 Hz, as an example:
SDS824X HD_FFT_Rectangle_0.0_S40dB_500092Hz
With a distance of just 1.615 bin widths, selectivity is quite good. Yet real-world signals will usually not be an exact integer multiple of the bin-width, so we need more tests.
In any practical application where the FFT of a general-purpose oscilloscope is to be used, we cannot freely define the signal frequencies, hence they will be more or less off center. Even if we could select a frequency, most related signals like intermodulation (mixer) products and spurs can still have any frequency offset with regard to the bin spacing. Consequently, we need to take the worst case into consideration, that is a frequency offset of half the bin-width.
A 0 dBm test signal of 500.02394 kHz has been used for the following test, this is precisely 8192,5 times the bin width, hence the exact bin-border for my individual sample of the SDS824X HD.
Window Ampl. Selectivity [Hz]
[dBm] -20 dB -40 dB -60 dB
Blackman -1.0 206.06 266.06 426.06
Flattop 0.0 386.06 386.06 451.06
Hamming -1.8 196.06 196.06 -
Hann -1.3 203.06 326.06 586.06
Rectangle -3.8 381.06 2780.06 -
This looks very different, doesn’t it? All of a sudden, the rectangle window has 3.8 dB amplitude error and its selectivity isn’t all that good anymore. In fact it is unbelievable >45 bin-widths for the -40 dBc selectivity! By contrast, the Flattop window hasn’t changed at all: the amplitude error is effectively zero as it was before and also the selectivity has only marginally changed. That means more than -60 dBc attenuation at 300 Hz (less than 5 bins) distance from the center.
Hamming does not have a 60 dB attenuation within a reasonable bandwidth – in fact it is so wide that I could not be bothered to measure it. The same applies to the Rectangle window, where the -40 dBc selectivity test didn’t reveal anything useful:
SDS824X HD_FFT_Rectangle_0.5_S40dB_502800Hz
What do we want for a proper RBW filter for spectrum analysis, in order to get serious and accurate measurements?
1. High dynamic range. We have no use for a RBW filter that has no proper stopband attenuation, hence picks up all the garbage from the neighborhood.
2. Fast transitions into the stopband, which is equivalent to a low shape factor.
3. A reasonably flat passband without massive amplitude errors, as soon as the signal frequency gets off center a bit.
4. And most importantly, all these parameters shall be constant and independent of the exact input frequency.
The only window that appears to be perfect in almost all regards is the Flattop window. It has a very high dynamic range, low shape factor, a totally flat passband, and even more important, its properties remain constant and do not depend on the signal frequency. Only downside: it has the widest bandwidth of all candidates. Yet in modern equipment, where at least 1 Mpts FFT have become standard, we need not desperately look for a windows function that sacrifices a lot of good properties just for a little narrower RBW.
Blackman is the only alternative that I can recommend from the selection in the Siglent SDS800X HD. It has less than half the RBW of the Flattop window and the shape factor is still reasonable. It works down to -60 dBc even with the worst-case frequency offset of half a bin width, and the passband flatness, hence also the amplitude error, is not too high. This is generally true for all window functions of the Blackman-family, especially Blackman-Harris. Siglent only implements the original Blackman window though.
You can take a look at all the remaining window functions in the attachment, albeit only for worst case frequency offset, indicated by “0.5” in the file name.