2011-07-08 33 views
2

我正在使用一個系統,我從1KHz的傳感器(陀螺儀)獲取數據。確定一個頻率和幅度的持續時間

我想要做的是確定系統何時振動,以便我可以關閉輸出上的PID增益。
我現在擁有的是傳入值的高通濾波器。然後我將alpha值設置爲1/64,我相信它應該濾波大約10KHz的頻率。然後,我將這個值,然後整合,如果它是個人超過閾值。當我的綜合價值通過另一個門檻,然後我假設系統正在振動。我還會每半秒重新設置一次綜合值,以確保它只是朝着門檻增長。
我試圖用這個系統做的事情是確保它確實振動並且看不到顛簸。我試圖用一個上限來做到這一點,以增加整合價值的多少,但這並不是真的看起來有效。

我在尋找什麼更好的方法去檢測系統是否振動,而不是受到顛簸的影響,我的主要問題是,我不會錯過檢測振動的震動,因爲那樣會導致PID值不必要地降低。

回答

1

FFT。它將從振動中分離出「顛簸」,因爲顛簸會在所有頻率上註冊,並且振動會在特定頻率附近振盪。

+0

這似乎是一個好主意,我明天就試試 –

0

我同意以上所述。在線快速傅立葉變換有許多免費的算法。如果您不熟悉FFT,則該操作定義了時域中的 函數與其在頻域中的表示之間的關係,從而對原始函數的頻率內容進行分析。這將使您能夠確定信號或時間序列中是否存在噪聲或振盪行爲。

您可以用來確定您的時間序列是否具有潛在週期性的另一種方法是結構函數(結構函數分析)。結構函數分析提供了一種量化信號中時間變化的方法,而不存在使用傳統FFT技術遇到的混疊或窗口問題。潛在地,它能夠提供有關導致變化的過程的性質的信息。該方法主要涉及基礎噪聲過程的分類和相關時間尺度的識別。這是一個相當簡單的算法,你可以自己寫。

更進一步,更「時髦」的是使用小波變換。傅立葉分析是檢測和量化時間序列中的週期性振盪的非常強大的工具;那是真正恆定的週期,相位和振幅的信號。然而,真正的系統幾乎從不表現出這種一致的行爲週期性振盪經常以間歇性方式出現,爲瞬態現象。儘管傅立葉分析在某種程度上可以檢測和量化這種瞬態行爲,但對於這種目的來說,這並不理想。小波分析已經開發出來克服這些困難。有關源代碼和有關小波的更多信息,請參見http://atoc.colorado.edu/research/wavelets/software.html

相關問題