AW: constant phase shifts

Magnus Danielson magnus at
Thu Mar 26 22:01:24 CET 1998

>>>>> "HJ" == Haible Juergen <Juergen.Haible at> writes:

 >> Hmm... quadrature saw/tri oscillators isn't common, are they?
 >> Has Juergen any thougths on this?

 HJ> Variable phase shift of a single VCO output should work
 HJ> with the PLL method. Or in the case of sine waves start
 HJ> with a quadrature VCO ( produces sin(wt) and cos(wt) ),
 HJ> and get your arbitrarily phase shifted sine with two additional
 HJ> VCAs (with gain A and B):

 HJ> sin(wt + phi0) = Asin(wt) + Bcos(wt)

 HJ> But I don't think this is elegant. If you have one single frequency,
 HJ> why not use a simple VC all pass filter that tracks the VCO 
 HJ> frequency ?

If using the I/Q modulation method one migth do a full PM using
sin/cos functions, quadrature VCO (any waveform will work thougth) and
a summer. With a summing network one migth get quadrature output from
the PM. This is not the simple and normal cursuit, but it will work.

 HJ> Shifting *all* frequencies ... well, that's Hilbert Transform, Dome Filter
 HJ> stuff.

Well, the Hilbert transform will do a 90 degree shift, which would
give you the sin's from the cos's and then you would have to do a PM
(phase modulation) like mentioned above.

If a variable phaseshift is wanted, then a AP filter with linear phase
properties have to be used.

I haven't tried building an CV orthonormal ladder filter, but as I
recall it, it should be possible to do. The scaling algorithm I put
into Matlab years ago, so in worst case I need to do it again, wasn't
all that hard.

Hmm... interesting problem...

 HJ> The original question was about "phase shifted" *triangles*, however.
 HJ> I don't think that the same amount of *phase* shift is really what was
 HJ> wanted. At least, if you want to preserve the triangle waveform.
 HJ> So what about a constant *delay* time for the whole waveform?
 HJ> A VC-BBD that tracks the VCO frequency, maybe ?

Well, this would mean CV->VCO->BBD I gather... then you would have to
tune the BBD to the generating VCO. There is ofcourse ways around that
problem, including control loops like PLLs.

Frequency diffs between the oscillators will cause a phase error...

I am not sure that VC-BBD is a better solution than a AP filter.

With this suite of tools I still consider a wavespecific voltage
processor a possible candidate. The sawtooth is trivial, the triangle
just a little bit more tricky...

For a sawtooth wave will the phase position of the wave be linearly
dependent on the voltage curve. Now, to change the phase you add the
phase to modulate with, this will offset the sawtooth, now this
waveform is being feed to a comparator cursuit of Schmitt trigger
type, the output of this comparator is being summed with the input of
the comparator. The summing point should have a capacitor in the
feedback loop to move the corner frequency down enougth to swallow
most of the spikes caused by the flipping Schmitt trigger...

I haven't drawn this and testing hasn't been close... but in principle
it should work (until someone hits my nose on proof :).


More information about the Synth-diy mailing list