goofy frequencies

Suppose I really want a crystal oscillator at, say, 122.167958 MHz. And I'd like to have the option of phase locking it to some standard reference, 5 or 10 MHz maybe. And I'd like cheap ones for low-end products, and TCXO or OCXO stability for better versions.

I can have custom XOs and TCXOs and OCXOs made at great expense. Or I can lock a VCO to a standard, stock 10 MHz rock.

So what's a good way to do the frequency shift? If we start with a VCO that's in the 122... ballpark, we could build a DDS that generates 10 MHz from it, sinewave lookup, dac, lowpass filter, and phase detect the nominal 10 MHz result against the reference 10M and close that loop. That should work, but is a bit of a hassle.

If we sart to leave out parts, I assume phase noise and such will pile up.

Any ideas or recommended references?

John

Reply to
John Larkin
Loading thread data ...

You'll certainly need the 122.16xx VCXO, right? I can't imagine how else you'll get low phase noise.

One technique that works well, with an accurate reference clock, is to setup two large counters (perhaps in a CPLD or FPGA). One counter is clocked by (for example) your 10MHz source and the other counter is clocked by the

122.16xx VCXO output. You stop the counters when one of them (let's say the 10MHz one) reaches some arbitrarily high value and then compare it to the other counter. If the other (122MHz) counter is lower than expected then you drive an output pin high. Otherwise, that output pin is driven low. This (pwm) output is low passed and drives the control voltage input of the 122MHz VCXO.

Bob

--
== All google group posts are automatically deleted due to spam ==
Reply to
BobW

Back in the day, you used to be able to get specific crystal frequencies reasonably inexpensively in small quantities--can you still?

Another approach would be an offset PLL--basically direct synthesis with a PLL for cleanup. Get a ~120 MHz fixed XO and mix it with your VCO output in a double-balanced diode mixer, then lock the beat frequency in an offset 1:1 loop. If the DDS is run off the 120 MHz, the whole thing will have the phase noise of the XO, at least within the PLL bandwidth. You can lock the XO to something else if you like.

With a bit of fancy footwork, you can use the phase detector to select upper or lower sideband--Jim T. and I had a fairly epic discussion of that here a few years ago. That way you don't need any fancy filters, and don't have to limit the VCO's range to avoid locking up on the wrong sideband.

If you're using an LC VCO, you'll want a nice wide loop BW, which will help pull-in behaviour too.

Cheers

Phil Hobbs

--
Dr Philip C D Hobbs
Principal
ElectroOptical Innovations
55 Orchard Rd
Briarcliff Manor NY 10510
845-480-2058
hobbs at electrooptical dot net
http://electrooptical.net
Reply to
Phil Hobbs

Mutual acquaintance Harold Muller has "multiplier" parts that might meet your needs.

...Jim Thompson

--
| James E.Thompson, P.E.                           |    mens     |
| Analog Innovations, Inc.                         |     et      |
| Analog/Mixed-Signal ASIC\'s and Discrete Systems  |    manus    |
| Phoenix, Arizona  85048    Skype: Contacts Only  |             |
| Voice:(480)460-2350  Fax: Available upon request |  Brass Rat  |
| E-mail Icon at http://www.analog-innovations.com |    1962     |
             
 I love to cook with wine     Sometimes I even put it in the food
Reply to
Jim Thompson

1: You can get DDS chips with the counters, sinewave table & DAC built in; that only leaves you with the low-pass filter and mixer to implement externally. The DDS chips are spendy, granted, but you didn't mention your volumes. 2: Make a precise 400MHz signal and use a DDS chip to generate your oddball frequency. 3: Divide by 122167958 and reference against 1Hz and have a s-l-o-w PLL. If you're pushing a VXCO around this won't be much worse than a crystal alone, if you can wait long enough for lock. 3a: Divide by 61083979 and reference against 2Hz, for twice the speed!

4: Find some pair of integers whose ratio is close enough to 12.2167958 to be well within your tolerance budget, and use them for your two dividers. You can usually get astonishingly close with just the right pair of integers -- for example, 88303 / 7228 gets you to less than 1PPB error with a 1kHz reference -- and you aren't going to achieve 1PPB with your 10MHz reference unless it's way more expensive than a VXCO.

--
www.wescottdesign.com
Reply to
Tim Wescott

This will make a really horrible amount of close-in phase noise and drift--over 160 dB multiplication of the thermal drifts of the low frequency components.... A 1 microradian phase detector drift becomes 15 cycles drift at 122 MHz. For a logic based phase detector, that's _minus_ 160 dB PSRR! The loop transfer function will roll off at only

10 or 20 dB per decade, so that 160 dB multiplication will spread junk out over many many loop bandwidths.

That's a good trick--like the approximation pi ~ 355/113.

In situations where you really need to use a two-counter synthesizer, fractional-N synthesis will reduce the phase noise multiplication, but

1:1 is still better.

Cheers

Phil Hobbs

Reply to
Phil Hobbs

True, but if it's still more than good enough, and it's easy, why not do it?

Anytime you need to approximate some precise number it's a good trick. I don't know of any way to find a "good" pair of numbers other than an exhaustive search, but with today's tools that search is pretty easy.

--
www.wescottdesign.com
Reply to
Tim Wescott

Well, needing 100-second RC time constants might be one reason, and the added instability being right where we usually don't want it, might be another. How would you get rid of the reference frequency ripple to the required accuracy?

Yes, one would be unlikely to want to go beyond, say, 10**5, and it's only a 1-D search. Even searching up to 10**10 would probably be faster than coding a more efficient algorithm.

Cheers

Phil Hobbs

Reply to
Phil Hobbs

Have a look at the Si570.

Leon

Reply to
Leon

Fractional-N, with the accumulators working in BCD instead of binary, so you can get exactly 122.167958000 MHz.

See

formatting link

Reply to
Andrew Holme

That's cool... we will be doing as much as possible in a Spartan3.

Some sort of fractional PLL may work because, deep down inside the math, I think there is a fundamentally simple numeric relationship between my frequencies (as opposed to the convoluted way I derived them) that may allow us to keep the loop bandwidth up and phase noise down.

John

Reply to
John Larkin

That's simple. Take the standard crystal of 12.288 MHz, skip one pulse per 173 pulses, multiply by 10 by means of all digital PLL, and you will get ~122.169711. Make the remaining digits by the adjustment of the crystal.

That's simple, too. Make a frequency counter locked loop using the standard clock as the timing reference. With some additional logic, you can lock the phase also.

Performance numbers?

Probably an overkill, however it depends on your requirements. BTW, you can make a digital frequency shifter by combining the two clocks shifted by 90 degrees.

It certainly will. However you can filter it out.

A book on synthesizers?

Vladimir Vassilevsky DSP and Mixed Signal Design Consultant

formatting link

Reply to
Vladimir Vassilevsky

If you only cared about the "nice" version I'd talk to mini-circuits and get them to quote you on a module.

A standard XO or TCXO driving a DDS (some have builtin PLLs so you can use a common low frequency and still drive your ~122M out with a ~400M internal clock). Not cheap, not low power, not small (with the output filter).

I wanted a crystal-based reference without ordering a custom cut and what I did was capture the entire list of crystals from Digikey's website (if you are in the parametric search the form data includes the entire list). I wrote a program to find all of the mixing products of all of the combinations and found a pair I mixed with an NE602. I got the VCO action on one of the crystals.

--
Ben Jackson AD7GD

http://www.ben.com/
Reply to
Ben Jackson

88303 / 7228 is the 9th continued-fraction rational approximation to 12.2167958, much as 355/113 is the 4th such for pi. Continued-fraction rational approximations take a few microseconds to compute. See eg

Here is some bc code that shows the first 14 c-f-r-a's of 12.2167958: (Eg, the 6th c-f-r-a of 12.2167958 is 6255/512)

define trunc(x) { auto s, t; s=scale; scale=0; t=x*1/1; scale=s; return t;} t=h=12.2167958;m=0;n=1;c=1;d=0;for (i=0;i10^10)break; v=m;m=n;n=v+k*n; v=c;c=d;d=v+k*d; print n,"/",d,"\\t",n/d-h,"\\n"; t=1/(t-k);}

--
jiw
Reply to
James Waldby

Neat.

Cheers

Phil Hobbs

--
Dr Philip C D Hobbs
Principal
ElectroOptical Innovations
55 Orchard Rd
Briarcliff Manor NY 10510
845-480-2058
hobbs at electrooptical dot net
http://electrooptical.net
Reply to
Phil Hobbs

This is common problem for those who do SSB microwave ham radio. The solution is known in the business as REFLOCKING:

Here is one of the best:

formatting link

There are others, often just using discrete HC or AC logic and a simple mixer.

Steve

Reply to
osr

Yes. Best to ask a ham radio operator who still builds stuff (before they are extinct ...) for some good hints where to buy.

[...]
--
Regards, Joerg

http://www.analogconsultants.com/

"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
Reply to
Joerg

Decades ago, I read an article on lapping your own crystals, but they were the ones in the box that you could open and just lift the crystal out (keeping track of the springs and electrodes, of course. ;-) ).

Cheers! Rich

Reply to
Rich Grise

Yep. Those were fun to mess around with. We would rub the crytal with a little Comet (tm) to raise the frequency or draw on them with pencil lead to lower the frequency.

A few of us bought some old surplus 2 meter gear and "put" them onto one of the police tactical frequencies (just to see if we could). "Hello, this is a radio test." "We hear you, radio test." I nearly peed my pants.

Oh...to be young again.

Bob

--
== All google group posts are automatically deleted due to spam ==
Reply to
BobW

For us non-programmers, can you reduce that to understandable algorithmic steps?

...Jim Thompson

--
| James E.Thompson, P.E.                           |    mens     |
| Analog Innovations, Inc.                         |     et      |
| Analog/Mixed-Signal ASIC\'s and Discrete Systems  |    manus    |
| Phoenix, Arizona  85048    Skype: Contacts Only  |             |
| Voice:(480)460-2350  Fax: Available upon request |  Brass Rat  |
| E-mail Icon at http://www.analog-innovations.com |    1962     |
             
 I love to cook with wine     Sometimes I even put it in the food
Reply to
Jim Thompson

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.