This morning, I instantly had an idea how it is possible to measure WFM/s with the MSO5000 alone. Not with the measurement function, though.
Since your goal is understanding how it works, it is useful at first to clarify why the measurment function had to fail to deliver the desired result: When the scope is triggered, the acquisition starts, and the TRIG OUT signal provides an edge. During aquisition, no new triggering can happen, and so TRIG OUT does not show more egdes, which would be mandatory for frequency measurement.
So why can the counter produce results sometimes, but inconsistent? Since we do not have implementation details, we can only speculate on this. But an educated guess would be that the gate time of the counter is somewhat independent from the single aquisition. Since the MSO5000 was designed to impress with specs at an affordabe price, not all of its many features are developed to highest usability and reliability. So this 'somewhat' leads to inconsistent results if it does not match the purpose. And since the counter is fully automatic, with no parameters to tweak (unlike the measurement functions), nothing can be done about it on the MSO5000. Other instruments might have dedicated hardware for the internal counter, such that it is really an instrument within the instrument. Consequently, this dedicated hardware could work without the restrictions the MSO5000 has in this regard.
Now the trick to measure WFM/s: Clearly, we need to have more than one trigger event. This becomes possible with segmented memory. This function splits the aquisition memory in a number of parts, such that each part is filled with samples from consecutive tigger events. Each segment gets a time stamp, so we get to know how long these consecutive events are apart.
Starting with power on defaults and nothing connected to the MSO5000, try this:
- Connect output G I to input CH1. You don't need to worry about termination, a <1m coax cable will do without.
- Set G I to sine 25MHz, 5V amplitude.
- Set CH1 to 1V/DIV.
- Set Mem Depth to 1k and timebase to 10ns/DIV.
- In the Utility menu, select Record and turn it on (1st button labeled Record).
- Using the defaults, start recording (press 2nd button labeled Record).
- A window appears, telling what time stamp the last segment had (the first should have zero, but sometimes it is the second).
- Devide the time stamp value by the number of segments, default 1,000, to get the average interval t between trigger events. WFM/s = 1/t.
It is interesting that this measurement does not even use the TRIG OUT signal; the time stamps tell it all. You can play around with instrument settings from this starting point, and observe, as a rule of thumb: The more you ask the scope do do, the lower the WFM rate will be. It is difficult, however, to get readings that match those from a dedicated counter. This is because acquisition is the only real-time function of the scope; it is a computer otherwise, with a lot of tasks in the background, so the results wary from test to test and with gate time. The above measurement seems to provide somewhat faster results than the counter at the same settings, but without segmented memory, probably because some background tasks are suspended during segmented recording. Also, it is not possible to reach the maximum with segmented recording, probably because it requires additional software action itself. I could get to about 165,000 WFM/s with segmented recording. Rigol's claim of up to 500,000 WFM/s is easily verified with a dedicated counter and the settings mentioned in the specs.