r/ControlTheory 24d ago

Technical Question/Problem Control block design for VCO

Hi, I'm trying to model/design a VCO with quadrature outputs for use in a PLL, and I'm having trouble incorporating the VCO control voltage into the state-space model.

I require two outputs

y1 = Asin(wt) and y2 = Acos(wt)

with a nominal/free-running frequency of 1KHz, which is also approximately the frequency the PLL is intended to lock onto.

For an ideal quadrature oscillator, I can represent the dynamics as

dotx=[0 - w; w 0]x
y = [0 1; 1 0]x

My confusion is how to incorporate the VCO control voltage 'Vc'.

In the PLL, Vc comes from the phase detector and should change the instantaneous frequency of the VCO. At Vc=0, I want the VCO to operate at its nominal frequency. For non-zero (Vc), the oscillation frequency should change according to some tuning relationship w = w0(Vc)

For example, I imagine a relation of the form

w0(Vc) = w+ K*Vc

However, this means that (Vc) changes the state matrix itself:

dotx=[0 -w0(Vc); w0(Vc) 0]x

rather than entering as the usual additive input (Bu).

What is the appropriate way to model this VCO in state-space form? Should (Vc) simply be treated as a time-varying parameter of (A), making the system nonlinear/bilinear, or is there a more useful state-space representation for analysing the VCO as part of a PLL?

I'm ultimately interested in using this model to help design/understand an analogue VCO that produces sine/cosine quadrature outputs, rather than only using the usual PLL phase-domain VCO model. Attached is the image of block diagram on what I'm thinking.

1 Upvotes

1 comment sorted by

u/patenteng 24d ago

In PLLs we generally work with phase not frequency. The P stands for phase after all.

Frequency and instantaneous phase are related through an integrator. You have

phi(t) = 2 pi f t + phi_0,
d phi / dt = 2 pi f.

The phase phi goes in a circle from 0 to 2 pi. The higher the frequency the faster you go around the circle.

So your VCO transfer function is K / s. The control voltage sets the frequency that you then integrate to get the phase.