Connect with us

Variable phase shifter?

Discussion in 'Electronic Design' started by Tom Bruhns, Aug 15, 2008.

Scroll to continue with content
  1. Tom Bruhns

    Tom Bruhns Guest

    Anyone have any favorite circuits for accomplishing a variable phase
    shift which is relatively independent of frequency? What I'd like:
    o Logic level input; logic level output
    o Input is square wave between about 2MHz and 120MHz
    o Output is two channels, same frequency as input, whose
    relative phase may be adjusted over 360 degrees minimum
    (-180 to +180 OK too; just need 360 span)
    o Output same logic levels as input, nominally.
    o Ideally, the phase will be controlled through an analog
    voltage input, say 0-5V, but could be different.

    It's obviously relatively easy to generate variable delays which are
    essentially independent of frequency, but the resulting phase shifts
    then depend linearly on frequency. I'd like the phase shift to be
    nearly independent of frequency. You can also pretty easily make
    phase shift networks that provide a constant frequency-independent
    relative phase shift between two channels, but I need the phase shift
    to be controllable. I have some ideas about how to do this, but
    figured there may be some standard easy way that I'm missing.

  2. I think it really does seem to be a phase shifter-- if you dial in 90
    degrees, you'd require a 90 degree shift for any frequency square wave.

    I think adding a variable offset to a phase detector in a phase-locked loop
    might be one approach to run down-- if you're limiting the input to square
  3. Tom Bruhns

    Tom Bruhns Guest

    Yep, like I said, a constant phase shift over even a decade or more
    isn't difficult--done all the time for phasing-type single sideband
    generation; it's the variable that's more fun.

    Yes, it's probably a bit misleading to describe phase shifting of a
    square wave, but if I'd said "delay," that's misleading too since it
    would be "a time delay that is proportional to the inverse of the
    fundamental frequency, and also proportional to a control voltage."
    And I suspect that a "product" isn't what I need--I'm looking for a
    relatively simple circuit that will fit in maybe a couple square
    inches of board space.

    I should add that milliseconds of settling time between changes in
    frequency or control voltage is OK.


  4. Do you really need to take an input square wave and generate a phase-
    changed output, or can you generate both waves? You can use two DDSs
    (direct digital synthesizers) with a variable offset between them for
    phase, and both using the same step size. You change the freq by changing
    the step size, but the phase between the output waves would be the same,
    and modifiable through a separate control.
  5. Check out the AD9953, for example.
  6. Tom Bruhns

    Tom Bruhns Guest

    Thanks Scott. Yes, that's one approach I've been thinking would work,
    though I'm expecting to have an input that's very low phase noise, and
    a 60:1 range VCO in a PLL isn't going to be particularly low phase
    noise, I'm afraid. I'll give that some more thought, though.

    I've been wanting to do this "analog" to avoid having to deal with
    digital control signals and the implied human interface, but if I were
    to go digital, then a DDS chip would do everything very nicely. That
    is, I don't need to limit the solution to using a square wave input
    from an external source; the circuit could be the source. It's just
    easier for me to use one of our existing good signal generators as a
    source and add a circuit to give me the two outputs whose relative
    phase is adjustable. But if the analog circuit to do it is too
    complex, it's not worth the effort to go that way.

  7. I haven't been deep into the data sheet of the DDS I posted before, but
    just deep enough to know that there are synchro inputs. You might be able
    to run the whole thing off of the nice signal generator you have. Probably
    worth the read.
  8. Tom Bruhns

    Tom Bruhns Guest

    Yep, DDS is definitely an option, but a bit more complicated to hack
    than I was hoping for. ;-) It does give me nice low phase noise, and
    can obviously be programmed to whatever phase offset I want. Well--
    actually as I think about it, the phase offset comes in pretty big
    increments if the output frequency is high. If the DDS clock is
    400MHz, for example, at 120MHz output the phase would adjust in 108
    degree steps. Maybe DDS isn`t the right answer.

  9. Tom Bruhns

    Tom Bruhns Guest

    Duh...OK, I know what I was THINKING when I wrote that, but it is
    obviously not correct. The DDS has a phase accumulator. In the
    example, the phase accumulator increments by 108 degrees per 400MHz
    clock, but it may be initialized to anything you want, down to the
    same very fine increment independent of frequency. Sorry about that
    brain fart.

  10. You could take the clock to a Gig on some of the newer chips.

    How about this approach (not quite well worked out, but getting there--
    just brainstorming). Take one channel of a summer, and put a sine in, in
    the second channel, modulate the cosine with your phase signal. You pass
    the input sine and the output results through comparators, and wallah!.
    This would be OK for 0- near 90degrees (the range is the bit not worked
    out yet).

    So now, you're on the hook to generate quadrature, and can vary the phase
    from there.
  11. Phase offset is (POW/2^14) * 360° ~=> 0.022° resolution.
    Best regards,
    Spehro Pefhany
  12. Guest

    Maybe the following would work, use 2 the same oscillators,
    but one controlled in phase by some means,
    then from both generate a pulse each zero crossing.
    From the first oscillator's pulses generate a ramp,
    first pulse up (0-180 degrees), then down (180 - 360 degrees).
    Use the second oscillator's pulse output as sample pulse in this ramp,
    it will be at half ramp voltage at 90 degrees shift in lock.
    It will always tend to 90 degrees, but if you add some DC offset in
    the ramp,
    then you should be able to shift phase.
    Not sure this reasoning is correct, I have done something similar at a
    few MHz,
    never at 120 MHz though.
  13. Tom Bruhns

    Tom Bruhns Guest

    Yes, that sort of thing is another one I have thought about.
    Actually, you can use trig identities to do even better: sin(wt
    +phase) = sin(wt)*cos(phase)+cos(wt)*sin(phase). So if you generate
    the sine and cosine of the phase control signal and use those as
    inputs to multipliers fed with quadrature RF signals and sum the
    outputs of the multipliers, you get a phase-adjustable signal. That
    works over 360 degrees of phase, and in fact if you make two branches,
    one controlled to +phase and one to -phase, the difference can be
    swept through 720 degrees. Analog Devices has a nice little analog
    multiplier that works up to GHz frequencies, and for that matter, it
    can be done with just a double-balanced mixer, too, though you have to
    watch out for what is happening with the harmonics that will be
    present in such a mixer...

    Well, as I said in the base note, I have some ideas about how it can
    be done, I just keep hoping it can somehow be super simple. I really
    do appreciate your ideas--they have gotten me re-thinking some things.

  14. AnimalMagic

    AnimalMagic Guest

    We use 10GHz capable devices at work. They are "Phase Shifter /
    Attenuators" which allow control over those two elements of a signal.

    They ain't cheap though. Made by General Microwave, a Herley company.
  15. JosephKK

    JosephKK Guest

    True, but a DDS with that coarse of step will not have low phase
    noise. Or a good waveform, huge THD and amplitude errors. You really
    need to keep maximum step size down around 30 degrees for really good
  16. And you'd need pretty well-matched reconstruction filters for what you're
    trying to do.
  17. Mark

    Mark Guest

    I think the OP needs to tell us what the actual application for this

    I don't think you can do what he described except maybe in DSP with a
    Hilbert xform

  18. Tom Bruhns

    Tom Bruhns Guest

    Well, as Jim T. pointed out in the first response, it's not really
    phase shift, it's relative time-shift of a (digital) square wave,
    where I want the time shift to be proportional to the "phase" control
    signal and also to the period of the input frequency, so for example,
    if you set the phase control to get two square waves in quadrature,
    they remain in quadrature to a reasonable degree of accuracy as you
    vary the frequency. However, the input will be a stable frequency
    during operation, so the circuit doesn't have to respond
    instantaneously. A millisecond settling time would be fine. You can
    think of the application as having two square waves which control
    sampling of an input waveform at two different points in time, or two
    different "phases" of a frequency which is synchronous with the
    digital square wave. Actually, for what I'm doing, I don't really
    need square wave outputs; it's sufficient to just have pulse outputs
    with reasonably accurately controlled leading edges, which will act as
    clocks for following divide-by-two stages (whose outputs will then, of
    course, be square waves).

    I may have given an inaccurate description, but one way to do it that
    meets my needs (except perhaps for keeping phase noise low) is to
    generate a ramp that resets at the rising edge of the square wave
    input. AGC is used to keep the amplitude of the ramp constant as the
    input frequency is changed. In that way, a pair of comparators that
    sample the ramp can generate the outputs; the setpoints of the
    comparators are set by the "phase-control" input. It's a little bit
    of fun to make a clean, fairly high amplitude ramp at 120MHz input
    rate, but not too bad with 5GHz ft transistors. Comparators like the
    ADCMP580 series, or even the ADCMP551 series, can handle the speed
    easily and provide low jitter.

    A Hilbert transform (or a pair of all-pass filters with phase offsets)
    doesn't really do what I want; if you phase shift each frequency
    component of a square wave by the same angle, you don't end up with a
    square wave. (I think that was all covered earlier in the thread...)

    An alternate way to accomplish the goal that isn't too bad is to turn
    the input square wave into quadrature sine waves of nominally equal
    amplitude, and sum the right amount of each to get the desired phase
    shift; then turn the output sine back into square with a low-jitter

    The reconstruction filters on DAC outputs will take care of harmonics;
    it doesn't matter if they aren't perfectly matched since I don't care
    that the phase shift remain absolutely constant over frequency. If I
    were going to the trouble to use DDS, I'd have at least a
    microcontroller running them, and into which could be programmed
    calibration to remove phase errors versus frequency in any event.
    Heck, if I cared about it, it would be pretty simple to provide an
    autocal path (phase comparator fed by the two outputs, back to the
    micro) that could cal the phase on command. I think it's safe to
    trust that re-programming just the phase of a DDS won't change the
    phase-response of the reconstruction filter. ;-) I may be wrong, but
    I don't think the phase noise, per se, of a DDS is degraded
    significantly as you ask it to output in large phase steps. Amplitude
    errors, which can again be corrected (sin(x)/x correction), don't
    matter since the output is going to be turned back into square wave
    anwyay. I think DDS would be a fine way to go, but it's just way more
    complicated (from a system point of view) than I want for this
    particular hack. It very well may see its way into a future version
    of what I'm working on, though.


  19. Try this approach-- a high-bit counter circuit to measure period. Pop
    the period output of the counter into a simple DAC, and scale it however
    you need to. Use this as one input to an analog multiplier, and the other
    input would be your phase. Turn that voltage into a delay somehow-- a
    simple 555 timer charging via some constant current, for example (I haven't
    checked speed specs on a 555). The constant current charging means a ramp
    to the control voltage.

    No ucontroller, no DDS, one counter, a DAC, a multiplier, and a 555 with a

  20. LMC555 can generate 3 MHz.
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day