Measuring Pulse Width

scorp84:
How can I improve the resolution? as I have to accurately measure the width and the counter should do more fast counting, can I use external clock of more than 16 MHz by doing prescaling? or if you can suggest some other method may be using a fast counter?

The counter1 method can run at 16 MHz. This should give you 0.0625 microsecond resolution (but not accuracy -- that is determined by the interrupt latency.) If you need better accuracy than that, then you will have to use some pretty fancy custom circuitry -- something like a gate for a clock signal that is controlled by the pulse, and an interrupt on the falling pulse edge to read the value and reset the counter. And if you need better resolution, it has to be run with a counter that can run faster than 16 Mhz, which is a pretty specialized part that you would have to hook up externally from the Arduino.

I honestly don't think the MBED or LPCExpresso can do any better resolution than the Arduino. Their CPUs are faster, but they also have higher overhead in taking interrupts.

At this point, it sounds like what you're asking for is something that you'd pay thousands of dollars for in terms of scientific instrumentation to get a reliable system for doing. Or, alternatively, something that you'd pay several hundreds of dollars for to get a high-bandwidth (100 MHz) digital storage oscilloscope and calculate pulse width from rise/fall edges, if it's only for diagnosis, and not an online system.