Nice graph! And a good analysis, but it seems to neglect that the input stage of a frequency counter is AC coupled.
I put together a very simple SPICE circuit to demonstrate how this works. I suck at hand-drawn graphs, and this way I can let SPICE do the drawing for me.
![Wink ;)](https://www.eevblog.com/forum/Smileys/default/xwink.gif.pagespeed.ic.cldandycH0.png)
![](http://i.imgur.com/ohFOcmk.png)
XFG1: Function generator, 200hz sinewave a 1VAC peak-to-peak (our desired signal).
XFG2: Function generator, 5Khz sinewave at 50mVAC peak-to-peak (a simple noise signal).
J1: A switch so we can connect or disconnect the noise source. Starts disconnected.
The circular thing with A,B,C: Sums together voltages of A, B, and C (not connected), outputs sum voltage on right terminal. A convenient way of mixing signals.
C1: Most likely the very first component after the input jack of a typical frequency counter. Since it's in serial with the signal, the signal is AC coupled.
R1: In combination with C1, makes a differentiator, "a circuit that is designed such that the output of the circuit is approximately directly proportional to the rate of change (the time derivative) of the input."
To_Trigger: Goes to a Schmitt Trigger. This converts the analog signal to a digital signal, that can be counted by the rest of the digital circuitry. Using the earlier stated trigger range of 20mV, when the input goes above +20mV, it switches its output to logic high. It output remains high until the input drops below -20mV, then it goes low. Until the input goes above +20mV again. For every two output transitions, the counter adds one to the count.
XSC1: Oscilloscope. Shows our input signal. Set to 1V per vertical division.
XSC2: Oscilloscope. Shows the differentiated signal the Schmitt Trigger will see. Set to 20mV per vertical division, so you can easily see where the Schmitt trigger responds.
Wikipedia pages for further details on possibly unfamiliar terms:
https://en.wikipedia.org/wiki/Differentiatorhttps://en.wikipedia.org/wiki/Schmitt_triggerLet's simulate! Pay attention to the left half of the displays for now:
![](http://i.imgur.com/Y67iZhM.jpg)
We can see the differentiator at work on the 200hz signal. I've marked two times. The blue mark shows where the input signal is rising fastest, and you can see the differentiator outputs the largest voltage there. The yellow mark is the "flat" top of the sinewave where the signal momentarily changes very little, and you can the differentiator outputs near zero voltage there. While the output is out of phase with the input, it still crosses the triggering voltages twice per 200hz cycle, and all is well.
That is, until I close J1 at the center of the trace, and things rapidly go downhill! Though there's only 50mV of noise, it's FAST noise. And since a differentiator responds to rate of change, it goes nuts. Let's zoom in on that action, showing a single 200hz cycle with overlaid noise:
![](http://i.imgur.com/yJ4pzQy.jpg)
I'm marked a region here. Where the Schmitt trigger should have only changed state once, it actually did so FIVE times that I can see. And it will false trigger more times on the similar region of the second half of the 200hz cycle. That's why the frequency counter shows neither 200hz nor 5Khz, producing weird readings instead; it all depends on the number of false crossings at these critical regions.
Now let's turn our desired signal up to 10Khz, still 1VAC peak-to-peak. The noise source remains unchanged and connected:
![](http://i.imgur.com/qBwH07Q.jpg)
The output of the differentiator is off the scope. It's responding even more strongly to the desired signal, which is now both LARGE and FAST. The actual peak voltage is somewhere around +/- 837mV. I left the scope set to 20mV per vertical division so that you can see it's triggering correctly, the noise no longer has any effect.
Nothing beats a little real-world experimentation though. Given that the differentiator is only two components, you easily build one. Run a signal in, scope the output, and you can get a pretty good idea if the frequency counter will read correctly. If not, you can try adding a resistor or capacitor to the input as you've been doing, and actually see how well each cleans things up.