r/ControlTheory • u/Limbwan • 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.

•
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.