Timebase is 20ns/div => ~1000 pixel = 200 ns, plus some headroom for zoom-in after stopping the capture. In the time domain display of the first image (-> step interpolation) you can see that the 1ns samples from the ADC are more than one pixel wide.
I'm pretty confident that the reported 12.5Gs/s FFT sampling rate is indeed the (upsampled) display buffer sampling rate for the selected timebase. Particularly in the first image, the spectrum beyond 1GHz matches the expected spectrum of the step-interpolation as shown in the time-domain trace.
Please put a 50 ohm thru termination on it and repost. A BNC tee with a 50 ohm terminator is "good enough". I'll address the rest later. Interpolation does *not* imply greater BW. Common knowledge if you resample via Fourier transform as I usually do.
So, are there any "rules of thumb" for getting the best FFT performance out of a scope, given that it is a secondary function to the time domain?
Is the best performance going to be when the FFT sample rate matches the scope's sample rate?
Alternatively I still consider the possibility that the FFT was not calculated from the raw ADC samples @100 MSPS, but from the (interpolated) screen buffer samples, so that the reported 1GSPS and 4GSPS do indeed reflect the sampling rate for the FFT calculation.
2048 points @4GSPS leads to frequency bins with a width of ~1.9MHz, while 2048 points @1GSPS gives you a 4x higher resolution of ~0.49MHz/bin. Note, when you select a span of 200 MHz, you don't increase this resolution - the span selection does just a zoom-in into the spectrum, interpolating between the lower-resolution bins.
[ Note, even with this different consideration it still bails down to fewer original ADC samples being included in the FFT, since the majority of the 1GSPS or 4GSPS samples are just interpolated. ]
Does actualy exist any (slower) timebase, where the reported FFT sampling rate and the ADC sampling rate are the same?
I did not know the details of how to implement it on an FPGA.

Alternatively I still consider the possibility that the FFT was not calculated from the raw ADC samples @100 MSPS, but from the (interpolated) screen buffer samples, so that the reported 1GSPS and 4GSPS do indeed reflect the sampling rate for the FFT calculation.
2048 points @4GSPS leads to frequency bins with a width of ~1.9MHz, while 2048 points @1GSPS gives you a 4x higher resolution of ~0.49MHz/bin. Note, when you select a span of 200 MHz, you don't increase this resolution - the span selection does just a zoom-in into the spectrum, interpolating between the lower-resolution bins.
[ Note, even with this different consideration it still bails down to fewer original ADC samples being included in the FFT, since the majority of the 1GSPS or 4GSPS samples are just interpolated. ]
Does actualy exist any (slower) timebase, where the reported FFT sampling rate and the ADC sampling rate are the same?
The screen display is just the screen display. That sampling has *nothing* to do with the frequency range of the data being displayed. The DS1202Z-E set at 2 ns/div reports 2.5 GHz/div 50 GSa/s. That's complete nonsense. That's a crap programming job done by someone who didn't bother to look at the results and recognize it was pure nonsense.
Reg
Isn't that great? The scope's FFT assists assessing the scope's interpolation algorithms
The screen display is just the screen display. That sampling has *nothing* to do with the frequency range of the data being displayed. The DS1202Z-E set at 2 ns/div reports 2.5 GHz/div 50 GSa/s. That's complete nonsense. That's a crap programming job done by someone who didn't bother to look at the results and recognize it was pure nonsense.
The DSP in DSOs is a major fail even from the A list. It's not even good enough to get a passing grade as a DSP 101 homework exercise. The first chapter of any DSP text explains aliasing and why you cannot decimate data by throwing away samples. You *have* to low pass filter the data. That's not hard to do and doesn't require a lot of resources, so I'm agog that DSOs are decimating data by discarding samples. The results of my tests with a 5 ns pulse at 1 s intervals showed that "peak detection" is necessary to offset the absolute bodge of downsampling by decimation.
The way a DSO *should* work when showing a time and/or frequency display:
ADC *always* samples at full speed. There is one ADC data stream which is fed to 2 DSP pipelines.
Data for time domain display is downsampled to sample rate appropriate to timebase setting using a folded LP filter
Time domain display interpolation is by means of a minimum phase interpolator which combines the passband of the anti-alias filter and the downsampling LP filter on the time domain data stream. The coefficients of that filter are optimized to minimize errors. A similar process is applied to interpolating the frequency domain data.
[...] Changing the sweep speed should not alter the input bandwidth. [...]
[...] Changing the sweep speed should not alter the input bandwidth. [...]
Not sure I follow... (happens a lot, sadly)
If the ADC is running at full tilt all the time, why would the bandwidth alter with the sweep speed? Presumably it would have a filter in front of it that is tuned to its sample rate (Nyquist) and that never changes?
Are you saying it would be a bad idea for the scope to apply another, second filter that depends on the maximum frequency that the display is able to show at the selected sweep speed?
[...] Changing the sweep speed should not alter the input bandwidth. [...]
Not sure I follow... (happens a lot, sadly)
If the ADC is running at full tilt all the time, why would the bandwidth alter with the sweep speed? Presumably it would have a filter in front of it that is tuned to its sample rate (Nyquist) and that never changes?
Are you saying it would be a bad idea for the scope to apply another, second filter that depends on the maximum frequency that the display is able to show at the selected sweep speed?
My other scope is MSOX 3104T. I use it as a scope.
And it's FFT works great, you can set it as on SA, with center frequency and span, or start - stop frequency. You can set averaging, peak, min max mode, search for peaks, measure it with cursors etc etc. But timebase still governs sampling, so sometimes you need to set timebase differently so you get data needed to do FFT at settings you want to set. It works great, actually, except it is limited to only 64K points. Which means you will have limited resolution bandwidth... When you compare it with Picos 2 Mpoints (for 1 M bins) you see the difference.
My other scope is MSOX 3104T. I use it as a scope.
And it's FFT works great, you can set it as on SA, with center frequency and span, or start - stop frequency. You can set averaging, peak, min max mode, search for peaks, measure it with cursors etc etc. But timebase still governs sampling, so sometimes you need to set timebase differently so you get data needed to do FFT at settings you want to set. It works great, actually, except it is limited to only 64K points. Which means you will have limited resolution bandwidth... When you compare it with Picos 2 Mpoints (for 1 M bins) you see the difference.This ^, something Reg called out as BS.
He does have nice ideas, and he is right about math part. And I would like if Siglent and Rigol would make lower price MDO scope with correlated time/frequency domain. With frequency mask trigger please.. But how realistic is that, really ??
My other scope is MSOX 3104T. I use it as a scope.
And it's FFT works great, you can set it as on SA, with center frequency and span, or start - stop frequency. You can set averaging, peak, min max mode, search for peaks, measure it with cursors etc etc. But timebase still governs sampling, so sometimes you need to set timebase differently so you get data needed to do FFT at settings you want to set. It works great, actually, except it is limited to only 64K points. Which means you will have limited resolution bandwidth... When you compare it with Picos 2 Mpoints (for 1 M bins) you see the difference.This ^, something Reg called out as BS.Exactly, because he thinks doing realtime DSP on 10 GB/s worth of data is trivial, together with sophisticated triggering, zone trigger, digital phosphor emulation, decoding, segmenting, history, search, measurements, math, parametric filtering. All of those things are not problem by itself. Doing all that at the same time, not so trivial.
I already said, there are high end scopes from Keysight, LeCroy, R&S that are doing it better. But those are out of reach of us mortals.
Also there is some stuff scopes don't do usually. His idea of decimation by LP filtering to gain more resolution at slower time bases sounds nice.. But wait, isn't that Hires mode (or 10 Bit mode on SDS200X+)?? I guess scopes ARE doing it. Except you don't want it all the time. Like David said well, slow timebase doesn't mean low bandwidth.
He does have nice ideas, and he is right about math part.
He does have nice ideas, and he is right about math part. And I would like if Siglent and Rigol would make lower price MDO scope with correlated time/frequency domain. With frequency mask trigger please.. But how realistic is that, really ??Technically it is possible but their oscilloscopes would cost the same as buying one from an A-brand.
My first 2 scopes were analog and those just start drawing from the left side of the screen after a trigger.
Then I got into digital scopes, and they all default to triggering in the center of the screen, which I find quite annoying.
For repetitive signals it's moot of course, but for all one-off signals the left half of the screen just has no useful information at all, because the "interesting" stuff happens after the trigger.
My best analog scope had a delay line (10+m of coax wound around it's tube) and with that I could see just a little bit before the trigger, which is perfect.
I would prefer my digital scope to default the trigger position to one division from the left side of the screen, so you can see a little bit of "before" the trigger, and still use almost the whole screen for the rest of the signal.
You can of course manually move the trigger location horizontally, but that messes up with zooming in and out on a digital scope.
[...] Changing the sweep speed should not alter the input bandwidth. [...]
Not sure I follow... (happens a lot, sadly)
If the ADC is running at full tilt all the time, why would the bandwidth alter with the sweep speed? Presumably it would have a filter in front of it that is tuned to its sample rate (Nyquist) and that never changes?
Are you saying it would be a bad idea for the scope to apply another, second filter that depends on the maximum frequency that the display is able to show at the selected sweep speed?
Let's take simple signal Dave likes so much: AM modulated carrier. You take say, 20 MHz carrier, AM modulate it with 100 Hz.
If you were to do decimation by a folded LP filter (as suggested), you would end up with carrier filtered out... simple as that. Scope screen wouldn't show what it should. That is also a reason to have Peak detect mode, so we can detect pulses that are faster than what sampling would show on slower sampling rates. That is not proper sampling for DSP. That is proper sampling to show signal shape on screen. That is what scopes are used for. To look at signal shape on screen. All other math and measurements are just utilities thrown in for better value. Including FFT.
I wanted scope that has FFT done better than other scopes. So I bought two Picoscopes. One is 16Bit low noise 5MHz bandwidth. They are also great for decoding. My other scope is MSOX 3104T. I use it as a scope.
And it's FFT works great, you can set it as on SA, with center frequency and span, or start - stop frequency. You can set averaging, peak, min max mode, search for peaks, measure it with cursors etc etc. But timebase still governs sampling, so sometimes you need to set timebase differently so you get data needed to do FFT at settings you want to set. It works great, actually, except it is limited to only 64K points. Which means you will have limited resolution bandwidth... When you compare it with Picos 2 Mpoints (for 1 M bins) you see the difference.
There is also one thing: Keysight claims they are using Chirp-Z Transform (CZT) in 3000T (and guess more of the lines) instead of vanilla FFT, because it is more flexible..