PLL,Phase Locked Loop,鎖相環,它的作用是得出正弦波的相位和角速度(區別於芯片硬件上的倍頻器)。
爲弄清PLL的原理,先來點先導知識:
旋轉矢量與三角函數的關係
在直角座標系αβ中有一個旋轉矢量(模值爲),在直角座標系中以速度ω(rad/s)繞中心點逆時針旋轉,其在兩座標軸的投影分別爲:
①α座標軸
②β座標軸
下面這個PLL環的作用就是求出旋轉矢量Ψ的速度ω和角度θ,推導如下:
上圖中比較點的輸出
其中,θ爲矢量的實際角度,爲矢量的估計角度,PLL的目的就是讓這兩個角度相等。
有這麼個規律最爲關鍵和有趣:
在角度θ(弧度制)很小的條件下,存在
sinθ ≈ θ
爲了直觀說明,我用Matlab畫了一個圖,如下所示:
我把m語言腳本也貼出來:
i = 0:0.01:0.5;
y = sin(i);
plot(i,y,'r');
hold on
plot(i,i,'b');
xlabel("弧度角度");
legend("sinθ","θ(弧度)");
於是在直角座標系中,當角度差很小時就有
上面的PLL示意圖就可以驚奇地等效爲
根據框圖,得到開環傳遞函數
閉環傳遞函數爲
這是一個2型系統,對於斜坡輸入(假設角度隨時間線性增大),穩態誤差爲0。
爲了驗證上面推導的正確性,我在Simulink中搭建了一個PLL模型,如下圖所示:
在調試過程中發現,隨着驗證的矢量旋轉速度越快,PI參數中的KP/KI也要相應增大,不然上升時間太長,系統快速性指標會比較差。
仿真結果:
可以看出,模型完成了鎖相的目的,推導得到驗證。