[英]Noise in PD control in Labview
我對PD控制中的噪音現象有疑問。 給定的系統只是
x''=k*(xd-x)-d*x' (1)
其中x
是狀態變量(例如位移), xd
是所需狀態(設定點),上標(')是變量的時間導數, k
& d
分別是PD增益。 我正在使用Euler方法實時求解方程式(1)。
問題是,如果手動控制xd
則公式(1)中的PD控制會產生噪聲。
如果xd
是從正弦函數自動生成的,則PD控件可以很好地工作而不會產生噪音。 當然,諸如sin(t)cos(t)
, sin^2(t)
和sin(2t)
類的各種函數也可以很好地發揮作用,而不管它們的復雜性如何。
但是,如果在前端使用諸如轉盤或滑條之類的控件,PD控制項會引起嚴重的噪音。 我不知道為什么會出現這種噪音。 有誰可以幫助我嗎?
這並不是一個完整的答案,但是我沒有足夠的聲譽來發表評論,所以就在這里。
首先,能否請您發布有噪聲圖表與無噪聲圖表的圖片? 用來解決ODE的采樣率是多少? 這是在控制設計和仿真循環中還是在定時循環等其他結構中完成的?
關於噪聲的我的第一個想法是,當您使用LabVIEW提供輸入時,您正在提供“平滑”輸入,即輸入的時間導數中沒有任何突然的中斷。 就像輸入本身一樣,它們是正弦和余弦。 但是,當您手動控制VI時,會導致輸入的突然變化,而這些變化可能不是“平滑的”,並且這種波動會引起噪聲。
離散導數x'
為( 歐拉方法 ):
x(k) - x(k-1)
x' = ---------------
Ts
其中x(k)
是第k
個時間步的狀態, Ts
是采樣時間。 如果差異x(k) - x(k-1)
太大,則最終會得到一個較大的瞬時x'
,該瞬時x'
乘以您的導數增益Kd
,最終會放大噪聲。 您可以嘗試在控制器上添加一個低通濾波器,這是使用PID算法的一種相當普遍的實現方式( Filtered PID ,第5頁)。
s*K*Td
Kd = -------------
1 + s*Td/N
對於形式為u = K*x + Kd*x'
的控制器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.