基于ADUC7026的PID算法在基站功率控制中的應用
圖5 改變期望輸出功率后的變化曲線(位置式PID算法)

圖6 增量式PID算法流程圖
對應圖6算法流程圖,PID控制部分實現程序如下:
ActualOutputPower = 25*(float)ADCForwardPowerResult/1024-43;
Error = SetOutputPower - ActualOutputPower;
DeltaAttenuation = Proportion*(Error-LastError) + Integral*Error +
Derivative*(Error-2*LastError + PrevError);
Attenuation = DeltaAttenuation + LastAttenuation;
DACVoltageValue = (float)(Attenuation*3/31 + 3.887);
SetDACValue = (unsigned int)(DACVoltageValue*4096/2.5);
PrevError = LastError;
LastError = Error;
LastAttenuation = Attenuation;
這里,DACVoltageValue的值由可調衰減器的傳遞函數決定,實際程序中給出的參數是經系統(tǒng)線性校正后的參數。理想情況下,假設可調衰減器的傳遞函數為:衰減量=k*控制電壓+b,則DAC的輸出應為式(8)所示。

(8)
圖7所示為采用增量式PID算法,在系統(tǒng)輸出功率為-1dBm時,調整其輸出功率為-10dBm的實測曲線。

圖7 改變期望輸出功率后的變化曲線(增量式PID算法)
5.結論
由前面的測試結果可見,在同樣的測試條件下,采用位置式PID算法的時候會出現過沖的情況,增量式控制雖然只是算法上作了一點改進,卻避免了這種情況的發(fā)生。且由于計算機輸出增量,所以誤動作時影響小,必要時可用邏輯判斷的方法去掉。算式中不需要累加,控制增量 的確定僅與最近幾次的采樣值有關,所以較容易通過加權處理而獲得比較好的控制效果。因此,建議采用增量式PID算法來實現基站功率的穩(wěn)定控制。
pid控制器相關文章:pid控制器原理
評論