簡體   English   中英

Labview中PD控制中的噪音

[英]Noise in PD control in Labview

我對PD控制中的噪音現象有疑問。 給定的系統只是

x''=k*(xd-x)-d*x'       (1)

其中x是狀態變量(例如位移), xd是所需狀態(設定點),上標(')是變量的時間導數, kd分別是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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM