Hi Without knowing what you are doing, and the source of the unknown signal, this is difficult to address. Here it goes anyway:
If the unknown is a free running source, then it has both a frequency (or phase) modulation and a static phase offset. In other words, it can be on the same frequency as the reference, but not at the same phase. I'm assuming that is the case. With an unknown (and possibly varying) static phase offset, phase detectors are going to be tough to use. Any mix down approach (heterodyne to baseband / FM discriminator / PLL) will give you a tone between DC and 150 KHz. You will have trouble getting a response in tens of ns from that signal. If you start your process when you get a positive edge on the reference, you may not get a positive edge on the unknown for almost 20ns. The corresponding negative edge would be at 40ns. That will limit a sequential digital approach to something over 40ns for a valid output. The unknown signal swings +/-150 KHz. You want to know when it crosses zero. How close do you want to know that? Is 75 KHz good enough or do you need 1.5 KHz? 75 KHz means measuring the period to <30 ps. 1.5 KHz gets you to <0.6 ps. A TDC for 0.6 ps is a bit more exotic than one for 30 ps. Is this a lab bench / one time sort of thing or are there environmental constraints on it? The same 0.6 ps to 30 ps issue above could be a stability limit on what ever you implement over your environment. Is your unknown signal likely to be quiet enough to estimate it's frequency this fast? Jitter, spurs, and noise are all directly related. The better the accuracy you are after, the lower jitter your unknown signal needs to be. Going crazy to get a 0.01 ps floor isn't useful if the signal has 100 ps cycle to cycle jitter on it. The only likely solution I see is to come up with a TDC (time to digital converter) that will output data at a 50 MHz rate and give you a floor that's good enough. Then feed it's output into something simple that tells you if the period is greater or less than 20 ns. To get adequate stability with the TDC you may need two (or more) of them in a ping pong arrangement. Check the reference with one, check the unknown with the other and then swap. Always have one ready for the next edge on each channel. Bob -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Dan Kemppainen Sent: Wednesday, August 10, 2011 10:20 AM To: [email protected] Subject: [time-nuts] Frequency Comparator Ideas needed. Hi All, Been lurking here for a while, some neat traffic going around. I'm thinking this may be a question for this list... I'm wondering if there are any ways to compare two frequencies and tell if one is lower or higher than the other, at a very high rate of speed with a digital output. I would like to know how each cycle of the signals compare in terms of frequency, basically is one higher than the other or not. Ideally this returned signal would be a digital logic signal (high or low) and be glitch free. Basically I have a relatively high frequency signal, say around 50Mhz +/- 150Khz that I would like to compare to a reference frequency (50Mhz) on a cycle by cycle basis. The two signals are not locked together, and the signals should never be exactly the same with the exception of transitions of the input signal across the reference frequency. I'd like to know when the transition happens to within a few tens of nanoseconds if possible. I've currently been looking at digital Phase/Frequency type detectors, and am considering building a discrete unit based on high speed 74AUP or ECL/PECL type logic. Just wondering if I'm missing something obvious, that you guys may know about! Thanks! Dan Kemppainen _______________________________________________ time-nuts mailing list -- [email protected] To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow the instructions there. _______________________________________________ time-nuts mailing list -- [email protected] To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow the instructions there.
