劉為杰,尹 疆,洪興福,丁家寶
(中國空氣動力研究與發(fā)展中心,四川 綿陽 621000)
對于長時域有限控制集模型預(yù)測控制(long horizon finite control set model predictive control,LHFCS-MPC)而言,適當(dāng)增加預(yù)測時域,可以獲得更好的控制性能[1]。LHFCS-MPC的控制變量是離散的,因此屬于組合優(yōu)化問題。若采用窮舉法來實現(xiàn)LHFCS-MPC,其計算量將隨著預(yù)測時域的增加呈指數(shù)增長[2]。以兩電平逆變器的LHFCS-MPC算法為例,當(dāng)預(yù)測時域為N時,在每個采樣周期內(nèi)需要進行8N次代價函數(shù)的計算比較,計算量十分龐大,很難運用到高采樣率系統(tǒng)中。
近年來,國內(nèi)外有許多學(xué)者致力于減少LHFCS-MPC算法計算量的研究。Bemporad等在2002年提出了顯式模型預(yù)測控制(explicit model predictive control,EMPC)。其主要思想是通過參數(shù)規(guī)劃,將復(fù)雜的在線計算轉(zhuǎn)化為離線計算,大大降低了在線計算時間[3]。隨后,一些學(xué)者將EMPC技術(shù)成功運用到電力電子領(lǐng)域。Mariethoz S等人將MPC成功運用到脈寬調(diào)制(pulse width modulation,PWM)變流器和異步電機拖動系統(tǒng)中[4]。國內(nèi)的張聚教授[5]系統(tǒng)地闡述了EMPC原理以及在電力電子領(lǐng)域中的多種運用實例。EMPC將大部分在線計算轉(zhuǎn)化為離線計算,但隨著預(yù)測時域的增加以及問題規(guī)模的擴大,狀態(tài)空間分區(qū)也會急劇增加,對存儲空間和在線查找時間提出了十分嚴峻的考驗[6-7]。因此,EMPC更適用于小規(guī)模問題。另一部分學(xué)者則關(guān)注如何降低在線計算時間[8]。通過求解無約束二次線性規(guī)劃問題,將長時域模型預(yù)測控制運用到電力電子領(lǐng)域。但這類方法需要增加脈寬調(diào)制器。文獻[9]考慮變流器最優(yōu)開關(guān)狀態(tài)和次優(yōu)開關(guān)狀態(tài),設(shè)計了一種預(yù)測步數(shù)為2的有限控制集模型預(yù)測控制(finite control set model predictive control,FCS-MPC)算法。但該方法很難推廣到預(yù)測步數(shù)大于2的系統(tǒng)中。Tobias Geyer[10]提出了一種基于球形譯碼算法的LHFCS-MPC算法,但采用遞歸的方法執(zhí)行效率較低,并且在初始時刻或動態(tài)時存在因球形譯碼算法初始半徑偏大而計算量過大的問題。
本文將球形譯碼算法和回溯算法運用到LHFCS-MPC的滾動優(yōu)化中,降低了算法的計算量。運用該算法,對兩電平逆變器進行電流跟蹤控制。在Matlab/Simulink平臺上,搭建了兩電平逆變器LHFCS-MPC控制系統(tǒng)仿真模型,對本文所提出算法的有效性進行仿真驗證,并分析了控制系統(tǒng)的動靜態(tài)性能。
兩電平逆變器主電路拓撲結(jié)構(gòu)如圖1所示。圖1中:Udc為直流電壓;Sa、Sb和Sc為三個橋臂的開關(guān)狀態(tài)(取值1或者0);L、R為等效負載,ia、ib、ic為交流側(cè)電流。
圖1 兩電平逆變器拓撲結(jié)構(gòu)圖Fig.1 The topological structure of two-level inverter
為了便于計算,定義向量:
i=[iα,iβ]T
(1)
u=[Sa,Sb,Sc]T
(2)
則在αβ坐標(biāo)系下,逆變器的數(shù)學(xué)模型可表示為:
(3)
式中:A、B為系數(shù)矩陣。
式中:P為Clarke變換矩陣。
將式(3)離散化,得:
i(k+1)=A1i(k)+B1u(k)
(4)
式中:A1=eATs,Ts為采樣周期;B1=-A-1(I-A1)B,I為二階單位矩陣。
式(4)即為逆變器的電流預(yù)測模型,用于預(yù)測下一時刻的電流值。
當(dāng)預(yù)測時域為N時,LHFCS-MPC的代價函數(shù)可以表示為[11]:
(5)
式中:λu>0,為權(quán)重系數(shù)。
式(5)中含有多個狀態(tài)變量和輸入變量。為了便于分析,定義向量:
(6)
則有:
I(k)=Ci(k)+DU(k)
(7)
式中:C、D為系數(shù)矩陣。
將式(6)和式(7)代入式(5),并整理得:
J=[U(k)+G-1R(k)]TG[U(k)+G-1R(k)]+c(k)
(8)
式中:
由此可以看出,c(k)與開關(guān)序列U(k)無關(guān)。而當(dāng)系統(tǒng)參數(shù)確定后,矩陣G無需實時計算。當(dāng)λu>0時,矩陣G為正定矩陣,則G-1也為正定矩陣。對G-1進行Cholesky分解,得:
G-1=LLT
(9)
則有:
G=L-TL-1
(10)
式中:L為下三角矩陣。
將式(10)代入式(8),且令H=L-1、Uunc=-LT×R(k),得:J=[HU(k)-Uunc(k)]T[HU(k)-Uunc(k)]+c(k)
(11)
在每個采樣周期內(nèi),根據(jù)兩電平LHFCS-MPC算法選擇出開關(guān)序列U(k),使得代價函數(shù)J最小。而c(k)與U(k)無關(guān),因此代價函數(shù)可以簡化為:
J1=[HU(k)-Uunc(k)]T[HU(k)-Uunc(k)]
(12)
根據(jù)式(6)可知,U(k)共有3N個元素,每個元素取值1或者0。因此,U(k)總共有23N個可能取值。在此,不妨令U(k)的所有可能取值構(gòu)成集合C。LHFCS-MPC算法在每個采樣周期內(nèi),計算出使代價函數(shù)J1取值最小的的開關(guān)序列Uopt(k)。Uopt(k)即為最優(yōu)開關(guān)序列。然后,將Uopt(k)的前3個元素,即uopt(k)作用于逆變器。這個過程即為滾動優(yōu)化。
傳統(tǒng)的LHFCS-MPC算法遍歷集合C,將其中的每個元素均代入式(12)進行計算,經(jīng)過比較后可得Uopt(k)。當(dāng)預(yù)測時域N較大時,算法的計算量十分龐大。如當(dāng)N=5時,需要計算32 768次代價函數(shù)。因此,當(dāng)采樣周期很小時,計算機無法在一個采樣周期內(nèi)完成一次完整計算。
以下將通過球形譯碼算法結(jié)合回溯算法,降低LHFCS-MPC算法的計算量。
1.3.1球形譯碼算法
球形譯碼算法的基本思想是:只搜索位于一個半徑為r(k)的超球內(nèi)的樣本點[12]。參考球形譯碼算法的思路,設(shè)置初始半徑為r(k),按照式(13)搜尋Uopt(k):
J1≤r(k)
(13)
因為式(12)中的H是下三角矩陣,因此,可以利用這一特性來減少計算量。將J1展開,得:[H(1,1)U(k)(1)-Uunc(k)(1)]2+[H(2,1)U(k)(1)+
H(2,2)U(k)(2)-Uunc(k)(2)]2+…+H(3N,3N)×
U(k)(3N)-Uunc(3N)(3N)2≤r(k)
(14)
在計算過程中,如式(14)左邊部分的和大于r(k),則無需再往下進行計算。求和計算越往后,計算量越大。如果一旦發(fā)現(xiàn)不符合條件的開關(guān)序列就終止計算,將有效減少計算量。初始半徑r(k)可以按照式(15)確定。
(15)
1.3.2回溯算法
LHFCS-MPC的滾動優(yōu)化實際上屬于組合優(yōu)化問題。對于組合優(yōu)化問題,使用回溯算法,可在一定程度上降低計算量。本文開關(guān)序列U(k)需要滿足相電壓和線電壓跳變限制條件。為了便于計算,先不考慮開關(guān)跳變約束,選擇子集樹作為開關(guān)序列解空間樹,如圖2所示。
圖2 開關(guān)序列解空間樹Fig.2 The solution space tree of the switching sequence
回溯算法按照深度優(yōu)先策略,搜索解空間樹的節(jié)點。在搜索節(jié)點時,使用剪枝函數(shù)來避免無效的搜索。剪枝函數(shù)包括約束函數(shù)和限界函數(shù)。逆變器開關(guān)切換時,必須滿足相電壓和線電壓跳變限制條件(即相電壓和線電壓每次變化不能超過一個電平)。因此,可以將電壓跳變限制條件作為約束函數(shù),如式(16)所示:
(16)
由式(14)可知,限界函數(shù)根據(jù)球形譯碼算法獲得。值得注意的是,當(dāng)回溯算法搜索到一個可行解時,更新球形譯碼半徑,以逐漸逼近最優(yōu)解。
回溯算法有遞歸和迭代兩種實現(xiàn)方式。遞歸方式雖然代碼簡潔,但是執(zhí)行效率不高;而迭代方式的特點與遞歸相反[13]。本文采用迭代式的回溯算法來實現(xiàn)球形譯碼算法,相應(yīng)的偽代碼如下:
while(k>=1)
if (k==1)d=0;
end
for (eachu∈{ 0, 1})
if(umeets the switching constraints)
U(k)=u;
d1= (Uunc(k)-H(k,1:k)*U(1:k))2+d;
Record(k)=d1;
if (d1<=r)
if(k==3N)r=d1;Uopt=U;
elsek=k+1;d=d1;
end
end
end
end
k=k-1;
if (k>=2)d=Record(k-1);
end
end
以上算法中,最耗時的步驟是計算H(k,1∶k)*U(1∶k)。得益于式(14),d1可以通過累加的形式進行計算,避免了重復(fù)計算。此外,程序還用數(shù)組Record記錄每步d1的值。當(dāng)算法回溯到上層節(jié)點時,無需再重新計算d1,進一步降低了計算量。
球形譯碼算法的關(guān)鍵是初始半徑r(k)的選擇。r(k)太小,會導(dǎo)致算法搜索不到解;r(k)太大,則擴大了搜索范圍,將導(dǎo)致算法的計算量顯著增加。按照式(15)計算r(k):在穩(wěn)態(tài)時,r(k)的取值是較為合適的;但是在初始時刻或者參考電流突變時,r(k)的取值明顯增大,算法的計算量也隨之增加。在實際應(yīng)用中,必須保證算法的計算量在每個采樣周期內(nèi)都維持在較低的水平。
針對上述問題,本文給出了相應(yīng)的解決辦法,具體描述如下。令m為穩(wěn)態(tài)時初始半徑最大值,在程序中進行判斷。如果r(k)>kim(ki為一個裕量系數(shù)),按照預(yù)測時域N=1的情況來搜索最優(yōu)開關(guān)序列;如果r(k)≤kim,則程序正常執(zhí)行。這樣既可在初始時刻和動態(tài)時,使得算法的計算量維持在較低的水平,又不會影響穩(wěn)態(tài)時的控制性能。
在Matlab/Simulink平臺上,建立兩電平逆變器LHFCS-MPC控制系統(tǒng)仿真模型,如圖3所示。
圖3 仿真模型Fig.3 Simulation model
對算法的計算量以及控制性能進行仿真分析。兩電平逆變器參數(shù)如表1所示。
表1 兩電平逆變器參數(shù)Tab.1 Parameters of the two-level inverter
設(shè)仿真條件如下:預(yù)測時域N=5,λu=0.01,參考電流幅值為21 A,頻率為50 Hz;當(dāng)t=0.105 s時,令參考電流反向。記錄每個采樣周期內(nèi)球形譯碼算法的初始半徑r(k),如圖4所示。從圖4中可以看出,穩(wěn)態(tài)時,初始半徑的取值較小。
圖4 算法初始半徑變化曲線Fig.4 Initial radius variation curve of the algorithm
需要說明的是,本設(shè)計以算法在每個采樣周期內(nèi)搜索到的開關(guān)序列解空間樹中的節(jié)點數(shù)量,來表征算法計算量。節(jié)點數(shù)量越大,則計算量越大。算法改進前后的計算量對比圖如圖5所示。
圖5 算法的計算量對比圖Fig.5 Comparison of the calculation amount
初始時刻以及動態(tài)時,初始半徑突然增大。穩(wěn)態(tài)時,算法的計算量較小,每個采樣周期大概只需搜索700個節(jié)點;而初始時刻以及動態(tài)時,每個采樣周期需要搜索上萬節(jié)點,如圖5(a)所示。采用本文方法,在初始時刻以及動態(tài)時,如果球形譯碼算法初始半徑過大,則令預(yù)測時域N=1,并且以相應(yīng)的算法搜索最優(yōu)開關(guān)序列。穩(wěn)態(tài)時,仍然使用N=5對應(yīng)的算法。此時,每個采樣周期內(nèi)算法的計算量如圖5(b)所示??梢钥吹剑谡麄€仿真時段內(nèi),算法需要搜索的節(jié)點數(shù)限制在700以內(nèi),有效解決了初始時刻以及動態(tài)時算法計算量劇增的問題。
為了進一步分析兩電平逆變器LHFCS-MPC算法的計算量的影響因素,針對不同的預(yù)測時域N,在不同的平均開關(guān)頻率下(通過調(diào)節(jié)λu可以改變逆變器的開關(guān)率,一般情況下,λu增大,則開關(guān)頻率減小),進行了仿真研究。統(tǒng)計每次仿真算法需要搜索節(jié)點數(shù)目的最大值,LHFCS-MPC算法計算量如表2所示。
表2 LHFCS-MPC算法計算量Tab.2 Calculation amount of LHFCS-MPC algorithm
本節(jié)從動態(tài)性能和靜態(tài)性能這兩個方面,分析兩電平逆變器LHFCS-MPC算法的控制性能。
①動態(tài)性能。
圖6 動態(tài)電流波形Fig.6 Dynamic current waveforms
圖6(a)為LHFCS-MPC算法在N=1時的電流波形。參考電流反向后,實際電流約在8 ms內(nèi)重新準(zhǔn)確跟蹤到參考電流。圖6(b)為LHFCS-MPC算法在N=5時的電流波形。與圖6(a)對比發(fā)現(xiàn),提高預(yù)測時域N不會影響電流的動態(tài)響應(yīng)能力,因此本文方法不會對系統(tǒng)的動態(tài)性能產(chǎn)生影響。圖6(c)為采用經(jīng)典的比例積分(proportional integral,PI)控制及正弦脈寬調(diào)制(sinusoidal pulse width modulation,SPWM)調(diào)制得到的電流波形。載波頻率(開關(guān)頻率)設(shè)置為1 777 Hz,與LHFCS-MPC算法平均開關(guān)頻率相同,采樣規(guī)則為自然采樣。從圖6(c)中可以看出,電流突變后,實際電流大概經(jīng)過兩個電流周期(約40 ms)后,才能準(zhǔn)確地跟蹤到參考電流。由此可見,LHFCS-MPC算法的動態(tài)性能明顯優(yōu)于傳統(tǒng)的PI控制。
②靜態(tài)性能。
靜態(tài)性能主要指的是穩(wěn)態(tài)時逆變器輸出電流諧波含量。電流諧波含量與開關(guān)頻率緊密相關(guān)。一般而言,開關(guān)頻率越高,則電流諧波含量越低。因此,在評價逆變器不同控制方法的優(yōu)劣時,應(yīng)當(dāng)基于相同的開關(guān)頻率。兩電平逆變器6個開關(guān)器件的開關(guān)頻率會略有差異,可定義逆變器平均開關(guān)頻率favg:
(17)
式中:fa1為A相上橋臂功率開關(guān)的開關(guān)頻率;fa2為A相下橋臂功率開關(guān)的開關(guān)頻率。B、C相與之類似。電流諧波含量也取三相電流諧波含量的平均值。
對于LHFCS-MPC算法而言,調(diào)節(jié)λu可以改變開關(guān)頻率;對于PI控制而言,調(diào)節(jié)載波頻率,即可改變開關(guān)頻率。記錄每個開關(guān)頻率和對應(yīng)的電諧波含量,仿真結(jié)果如圖7所示。圖7中,每個離散的點代表一次仿真結(jié)果。利用Matlab cftool曲線擬合工具箱,以平滑樣條擬合方式進行曲線擬合,得到兩電平逆變器分別在LHFCS-MPC和PI控制策略下的電流諧波含量和平均開關(guān)頻率的關(guān)系曲線。
圖7 仿真結(jié)果Fig.7 Results of the simulation
從圖7中可以看出,增大預(yù)測時域N,可以有效提高LHFCS-MPC算法的靜態(tài)性能。其具體表現(xiàn)為:在相同的平均開關(guān)頻率條件下,長預(yù)測時域?qū)?yīng)的電流諧波含量更低。當(dāng)N=1、400 LHFCS-MPC算法因計算量大而難以運用到逆變器等快速系統(tǒng)中。本文主要采用球形譯碼算法和回溯算法,對傳統(tǒng)LHFCS-MPC算法進行了優(yōu)化,降低了其計算量,使得該算法在快速系統(tǒng)中的應(yīng)用成為可能。以兩電平逆變器為研究對象,將LHFCS-MPC算法用于逆變器電流控制,并對算法的有效性和控制性能進行了仿真分析。仿真結(jié)果證明,該算法能夠有效降低計算量。該算法在控制性能方面具有以下兩個特點:①增大預(yù)測時域能夠顯著降低電流諧波含量,并且不會影響電流的動態(tài)響應(yīng)速度;②兩電平逆變器LHFCS-MPC算法的動態(tài)性能和靜態(tài)性能均優(yōu)于傳統(tǒng)的PI控制。對于LHFCS-MPC算法存在的延時問題,后續(xù)工作將對其進行延時補償,并對球形譯碼算法進行進一步優(yōu)化。 參考文獻: [1] GEYER T.A Comparison of control and modulation schemes for medium-voltage drives:emerging predictive control concepts versus PWM-based schemes[J].IEEE Transactions on Industry Applications,2011,47(3):1380-1389.[2] QUEVEDO D,GOODWIN G,DE D J.Finite constraint set receding horizon quadratic control[J].International Journal of Robust and Nonlinear Control,2010,14(4):355-377. [3] BEMPORAD A,MORARI M,DUA V,et al.The explicit linear quadratic regulator for constrained systems[J].Automatica,2002,38(1):3-20. [4] MARIETHOZS,DOMAHIDI A,MORARI M.High-bandwidth explicit model predictive control of electrical drives[J].IEEE Transactions on Industry Applications,2012,48(6):1980-1992. [5] 張聚.顯式模型預(yù)測控制理論與應(yīng)用[M].北京:電子工業(yè)出版社,2015. [6] BAYAT F,JOHANSEN T A,JALALI A A.Using hash tables to manage time-storage complexity in point location problem:Application to MPC[J].Automatica,2010,47(3):571-577. [7] GEYER T,TORRISI F D,MORARI M.Optimal complexity reduction of polyhedral piecewise affine systems[J].Automatica,2008,44(7):1728-1740. [8] 王東文,李崇堅,吳堯,等.永磁同步電機的模型預(yù)測電流控制器研究[J].電工技術(shù)學(xué)報,2014(s1):73-79. [9] 沈坤,章兢,王堅.一種多步預(yù)測的變流器有限控制集模型預(yù)測控制算法[J].中國電機工程學(xué)報,2012,32(33):37-44. [10]GEYER T,QUEVEDO D E.Multistep finite control set model predictive control for power electronics[J].IEEE Transactions on Power Electronics,2014,29(12):6836-6846. [11]陳虹.模型預(yù)測控制[M].北京:科學(xué)出版社,2013. [12]劉俊,魏急波,藍興.MIMO系統(tǒng)中球形譯碼算法的應(yīng)用[J].現(xiàn)代電子技術(shù),2008(5):49. [13]王曉東.計算機算法設(shè)計與分析[M].2版.北京:電子工業(yè)出版社,2004.4 結(jié)束語