terasoft

電力電子模型之頻率響應分析估測:Sinestream與偽亂數二進位數列(PRBS)

By Antonino Riccobono and Arkadiy Turevskiy, MathWorks

本文為"電力電子模型之頻率響應分析估測"文章的續集,該文介紹了開放迴路升壓轉換器的頻率響應估測之工作流程的六個步驟。

電力電子工程師可以使用Simulink Control Design™ (Simulink控制模塊組)內所提供的頻率響應估測(frequency response estimation,FRE)工具,搭配電子電力系統模擬模塊組(Simscape Electrical™)的元件來線性化切換式的電力電子轉換器模型。藉由FRE,你可以選擇轉換器模型當中有關的部分,並且在穩態下注入一個可控振幅及含頻量(frequency content)的擾動訊號(perturbation signal)至系統內。接下來,你可以在操作點(operating point)附近計算頻率響應或者代表系統動態的轉換函數。

Simulink控制模塊組(Simulink Control Design)可支援窄頻及寬頻訊號(圖1)。Sinestream是一個窄頻的擾動訊號,因為它的含頻量被限制在少數幾個頻率點以內。亂數(random)、啾頻(chirp)、和偽亂數二進位數列(pseudo-random binary sequence,PRBS)皆屬於寬頻的擾動訊號,因為他們的含頻量是分配在一個特定的頻譜之內。

Sinestream與偽亂數二進位數列(PRBS)
圖1. 在Simulink控制模塊組軟體內包含了Model Linearizer app,點選其中Estimation頁籤,可看到有幾種可用的擾動訊號種類。

本篇文章將一個開放迴路降壓轉換器分別以sinestream和PRBS來進行頻率響應估測的比較,並且把重點放在估測時間、估測的頻率點數量、和估測的準確度上。

降壓轉換器(Buck Converter)範例

降壓轉換器是一種電力電子的拓撲結構,它可以供應一個DC電壓低於DC供電電壓的負載。它被廣泛使用在許多需要不同電力級別的應用,包含消費性電子產品、電動車、電氣化程度更高的船隻和飛行器、可再生能源、LED驅動器等等。

圖2繪製了一個利用Simscape Electrical™元件來建模切換式降壓轉換器的範例。該降壓轉換器以連續傳導模式(continuous conduction mode,CCM)運作—也就是說,感應器電流在穩態下永遠不會是零,這一個轉換器在開放迴路運作,由一個帶有固定任務週期(duty cycle)的PWM Generator模塊來驅動。為了要模仿一個現實世界中的嵌入式控制器,模型當中會包含取樣(sampling),這個線性化輸入與輸出的分析點被設定來鑑定控制到輸出(control-to-output)的轉換函數。

降壓轉換器(Buck Converter)範例
圖2. 降壓轉換器模型顯示取樣次數(綠與紅),以及頻率響應估測的輸入和輸出分析點(藍色長方形區塊內)。

Sinestream還是PRBS?比較分析的設置

Sinestream是由一系列頻率持續增加的正弦波組成,為了要涵蓋期望的頻率範圍,正弦波輸入需要以可控的頻率增量來進行掃描,每一個頻率會在特定的幾個週期去刺激系統,如果需要的頻率點較多,或者需要以較低的頻率來估測頻率響應,則估測花費的時間可能會很長。

偽亂數二進位數列(pseudo-random binary sequence,PRBS)則可以減少估測時間。PRBS是一種在兩個數值之間交換的確定性訊號,並且具有類白噪屬性,PRBS原本就具有週期性,最大的週期長度為2n-1, n為PRBS位元數。

圖3所顯示的圖形是在降壓轉換器的Duty Cycle模塊輸出時,注入sinestream擾動訊號所形成的波形,該組訊號是利用Simulink控制模塊組軟體內含的模型等化器app(Model Linearizer app)來進行設定,設置成具有100 Hz到20 kHz之間的15個對數空間頻率(logarithmically spaced frequencies),每一個頻率的峰值振幅為0.02 (2% duty cycle),每個頻率以四個週期來代表。

Sinestream還是PRBS?比較分析的設置
圖3. Sinestream波形。

圖4是透過Model Linearizer app設定的單一週期PRBS訊號,階數為11,(峰值到峰值)振幅為0.04。sinestream和PRBS的取樣時間皆設定為10 µs,以符合控制的取樣時間。

>> in_sine1.plot

>> in_prbs1.plot

Sinestream還是PRBS?比較分析的設置
圖4左:PRBS訊號。右:放大檢視。

如果要產生像圖3和圖4的圖表,要先在Model Linearizer app建立擾動物件,並將 in_sine1和 in_prbs1這些物件移動到MATLAB®的工作區塊(圖5),接著使用下列指令:

圖5. 將sinestream和PRBS物件(藍色)與frd物件(紅色)移動到MATLAB工作區塊。

估測時間

估測時間是時鐘經過時間 (以注入sinestream或PRBS擾動訊號執行模擬所花費的時間),加上頻率響應的計算時間(計算輸出對輸入的快速傅立葉變換[fast Fourier transform,FFT]花費的時間) 的總和。由於計算時間通常比時鐘經過的時間短上許多,我們的降壓轉換器範例將聚焦於後者,時鐘經過時間取決於模擬時間。

在我們的範例中,sinestream訊號的模擬時間給定為15個週期當中每個週期的四倍,每一個週期與其中一個選定的對數空間頻率相對應。你可以像下面這樣做計算:

>> in_sine1.getSimulationTime


ans =

  0.1265

PRBS的模擬時間給定最大週期長度為2n-1乘上取樣時間。如圖4所示之PRBS訊號in_prbs1,n=11,取樣時間為10 µs。你可以這樣計算:

>> in_prbs1.getSimulationTime


ans =

  0.0205

請注意,你需要將物件in_sine1和in_prbs1 移動到MATLAB工作區塊(圖5)來執行上述指令。

估測頻率點(Frequency Points)數目

估算的frd 物件的頻率點數目取決於使用哪一種輸入訊號來進行估計。

如果你使用sinestream訊號,估算的frd 物件中的頻率會是在該訊號被指定的頻率,在啟用以下指令之後,你可以透過MATLAB Variable Editor驗證哪些頻率存在。

>> f_SineStream = estsys_SineStream.Frequency;

估測時間
圖6. Variable Editor中f_SineStream的15個頻率,單位為rad/s。

如果你使用PRBS,頻率點會透過FFT計算來決定,如Variable Editor所示(圖7),開啟以下指令之後計算出1024個頻率點。

>> f_PRBS = estsys_PRBS.Frequency;

估測時間
圖7. Variable Editor中f_PRBS的1024個頻率,單位為rad/s。

請注意,向量f_PRBS含有1023個正頻率以及頻率點”0”。負頻率會在FFT計算過程中被略過。

估算準確度

當物件estsys_SineStream 和estsys_PRBS 被移動到MATLAB工作區塊,你可以取得sinestream和PRBS非參數估測結果的波德圖(圖8),這些結果是一致的,雖然透過PRBS的估測在高頻看起來似乎很粗糙。

計算非參數的頻率響應
圖8. 透過sinestream(紅點)和PRBS(藍點)進行非參數估測之結果的波德圖(Bode plot)。

請注意,你可以透過sinestream直接控制最小和最大可辨識的頻率,不過這樣的控制在PRBS是間接的。事實上,可辨識頻率的最小值已知為模擬時間的倒數(1/0.0205 = 48.7805 Hz),可辨識頻率的最大值已知為Nyquist頻率,也就是切換頻率的一半(100e3/2 = 50 kHz),如圖8垂直方向所示。

我們現在可以計算並比較參數估測了,如同電力電子模型之頻率響應分析估測這篇文章所述,你可以從System Identification Toolbox™ (系統辨識工具箱)的tfest指令取得參數模型。

針對透過sinestream的參數估測,你只需要執行以下指令來估測有兩個極值且沒有零點的轉換函數:

paramsys_SineStream = tfest(estsys_SineStream, 2, 0, iodelay);

變量iodelay考慮因為計算、PWM、取樣而造成的延遲。圖9繪製了以sinestream進行參數和非參數估計的波德圖。

估算準確度
圖9. 以sinestream進行的參數和非參數估測波德圖。

若是透過PRBS進行參數估測,最好可以讓資料點瘦身,以確保要讓tfest處理的頻率點數量在可控制的範圍且權重相等。以下程式碼建立了一個包含100個介於100 Hz和20 kHz之間的對數空間頻率的 frd物件。函式 interp可以在System Identification Toolbox (系統辨識工具箱)裡面找到。

% Thin the nonparametric estimation

fmin = 100; %Hz

fmax = 20e3; %Hz

Nfreq = 100;

f = logspace(log10(fmin),log10(fmax),Nfreq);

% Interpolate FRD data over the new frequency grid

estsys_PRBS_thinned = interp(estsys_PRBS, 2*pi*f);

接著,你可以像這樣計算參數模型:

paramsys_PRBS = tfest(estsys_PRBS_thinned, 2, 0, iodelay);

圖10為使用PRBS且經過瘦身的參數與非參數估計波德圖。

估算準確度
圖10. 經過瘦身的PRBS線性和非線性估測結果波德圖。

最後,如果你將以sinestream和PRBS進行參數估測繪製成圖表,並透過等效分析的控制到輸出轉換函數(control-to-output transfer function)來做比較(圖11),你可能會注意到以下幾點:

估算準確度
圖11. 波德圖描繪了以分析轉換函數比對sinestream和PRBS參數估測之結果。

結論與建議

利用Simscape Electrical (電力電子系統模擬模塊組)元件,以PRBS進行頻率響應估測建模,是能夠快速計算切換模式電力電子轉換器轉換函數的好方法。然而,由於這種方法估測了大量的頻率點,在縮減頻率點以將估測精確度最大化時需要特別注意。

透過sinestream進行FRE通常可以產生準確的結果,不過,為了要準確地估測急遽的共振特性,你可能會需要增加頻率數量,估測需要的時間也會隨著增長。

而且,由於擾動訊號注入時間很短,採用PRBS的FRE具有在線上進行估測的潛力。實際上,電力電子系統會因時間而變化,通常需要在很短的時間內完成估測,讓專用的控制系統可以即時地監控經過估測的主要轉換函數,並且在必要時採取修正措施,而採用sinestream的FRE明顯不支援這樣的使用情況。