Hi,
a "pulse" is a rather general term.
It might be of any waveform, voltage, current, negative, positive or both...
So:
Let´s assume it´s a valid logic level square wave with negligible rise/fall times...
It has a HIGH time and a LOW time, where the HIGH time is between 0...20ms.
Since 0us HIGH time gives no "pulse" at all there should be a "minimum" defined, where proper operation is expected.
I guess the LOW time is not important for your measurement...
but still it should have a defined minimum time (like 4us, because 0us gives no "pulse" at all)
I wonder why you talk about 4us as resolution, because your out put is analog and thus should have an infitely small resolution.
Or is it that the "pulse" is generated by a digital system as PWM with a resolution of 4us?
Then you say the signal is noisy. Since you want to measure timing, I guess you talk about timing noise.
Please clarify whether you talk about timing noise (jitter) or voltage noise?
If voltage noise: .. one needs to go back some lines, because I worte about "valid logic level square wave" ... if the signal noise violates "logic level specification" ... then this needs to be discussed/solved first.
If timing noise: How do you expect this to be handled? Ignored? Averaged? over what time / pulseCount ??
Settling time of 10ms .. but your pulse width is 0ms .. 20ms.
Where do the 10ms start and where do they stop?
****
For me the most accurate solution is to use a digital counter and an ADC.
So my first choice was a microcontroller.. which sadly is not allowed.
Next best: a PLD and an ADC, or a binary counter IC and an ADC.
... with some components around...
Klaus