#3月13日晚更新。
這個問題下的答案再次體現的控制領域內理論和實踐的分歧。我以一個中立的角度,嘗試讓兩邊的人盡量理解對方的想法。
開始討論前,先假定幾個前提:
- 暫且討論連續LTI系統;
- 考慮倫貝格形式的Kalman濾波器/觀測器;
- 考察的是正弦輸入時的穩態下,觀測器估計輸出值相對於系統實際輸出值的相位延遲;
- 理想情況指的是無模型誤差、無雜訊、無純時滯環節。
先放結論: 同意 @李崇 等的觀點,以上前提及理想情況下,對於任何正弦輸入頻率,不存在相位延遲。
大家想當然地認為相位延遲存在,是因為工程上的相位延遲是經常能夠觀察到的。所以,我先反過來解釋一下為什麽@REX.X的回答是正確的。考慮如下的狀態方程式形式的系統:
\begin{align*} \dot{x} & =Ax+Bu\\ y & =Cx \end{align*}以及Kalman觀測器:
\begin{align*} \dot{\hat{x}} & =A_{0}\hat{x}+B_{0}u+L\left(y+n-C_{0}\hat{x}\right)\\ \hat{y} & =C_{0}\hat{x} \end{align*}其中A,B,C 是系統參數的真實值,而A_0,B_0,C_0 是不一定準確的名義值,以及n 是雜訊。那麽@REX同學的論點是,倘若既沒有雜訊,也沒有模型誤差,即n=0 且名義值等於真實值的話,最終\hat{y} 將趨近於y ,因此不存在相位延遲。這一點其實非常好證明,很簡單,定義\tilde{x}=\hat{x}-x 、\tilde{y}=\hat{y}-y ,然後拿下式減去上式即可得到
\begin{align*} \dot{\tilde{x}} & =\left(A-LC\right)\tilde{x}\\ \tilde{y} & =C\tilde{y} \end{align*}在滿足detectability和合適的選取L 的情況下,無論初始的觀測誤差有多大,這個誤差都會收斂到零。既然\hat{y}=y ,那麽相位延遲什麽的就無從談起了。
那為什麽工程上一般都觀察到了相位延遲呢?我想原因無外乎以下幾點:
- 工程上不存在沒有誤差的模型;
- 工程上不存在沒有雜訊的傳感器;
- 工程上控制器大多用離散系統實作,因此多多少少存在些許傳輸延遲。
個人認為,第三點對於相位延遲的貢獻顯而易見,第二點我認為並不影響,第一點應該可以透過理論證明。 對於第一點,可以從如下的角度去思考 @小小天涯:
定義u\rightarrow y 的傳函為G(s) ,然後把系統和觀測器整體當做一個系統,它的傳函u\rightarrow \hat{y} 的傳函為\hat{G}(s) 。想知道\hat{y} 相對於y 的振幅/相位差? 那直接求 \[ \frac{\hat{y}\left(s\right)}{y\left(s\right)}=\frac{\hat{G}\left(s\right)u\left(s\right)}{G\left(s\right)u\left(s\right)}=\frac{\hat{G}\left(s\right)}{G\left(s\right)} \] 的柏德圖不就行了 ?
我非常肯定有現成的文獻討論這一點(求文獻),但是因為我懶,所以我就只舉了個例子做了個仿真驗證一下。系統為
% stable plant
A=[0 1;-1 -1];B=[0;1];C=[1 0];
% plant model
e_perc=0; % error percentage
A_hat=A*(1-e_perc);B_hat=B*(1-e_perc);C_hat=C*(1-e_perc);
noise_var=0.00; % noise variance
% observer and tracking controller design
L=lqr(A_hat',C_hat',eye(2),1)'; K=lqr(A_hat,B_hat,eye(2),1);
可以驗證,當輸入頻率為1 rad/s時,如果e_perc=0,最終的相位差為0;如果e_perc=0.2,最終的相位差為約為-17.1483°。另一方面
G=tf(ss(A,B,C,0))
G_hat=tf(ss([A zeros(2);L*C A_hat-L*C_hat],[B;B_hat],[zeros(1,2),C_hat],0))
minreal(G_hat/G)
量出來相位差約為-17.2°。驗證了這個方法的可靠性。
至於雜訊帶來的影響,因為\frac{y(s)}{n(s)} 的傳函並不存在,所以我認為它並不會帶來相位差(@李崇,歡迎討論)。