1
我有一個傳遞函數,我試圖用來過濾加速度數據。不斷更新傳遞函數
到目前爲止,我已經能夠在大約10秒鐘內用正弦波使用lsim,並且我得到了我期望的結果。但是,我不能如何實時獲取數據。
爲了澄清,每0.1秒我收到一個外部程序的加速度值。我需要過濾這些值以消除數據中的高頻變化。我需要在接收到的每個數據點都發生這種情況,因爲我隨後將當前過濾的加速度值用於其他處理步驟。
如何連續使用傳遞函數並在每次接收到新數據時更新輸出值?
你有get_one_input_sample,我假設你從其他地方拉數據。可以從外部程序中知道數據是什麼?更像是推動matlab,而不是拉。或者,最好是像UDP端口一樣發佈當前值並從Matlab中獲取它? – Steve
我想這可以通過推或拉數據來完成,這完全取決於你如何使用matlab與硬件接口。你可能想爲此提出一個單獨的問題。對於過濾部分,這並不重要,它始終是一個樣本,一個樣本出來,同時確保將過濾器的歷史傳遞給下一次迭代。 –
好的,我有一個想法來獲取數據,但它需要什麼格式?它可以只是一個數字嗎?例如,我每0.1秒收到的數據是:0.3,0,0.01,0.1,0.4,0.6,0.6等。我可以只做濾波器(B,A,0.3,filter_state),然後濾波(B,A,0 ,filter_state)等? – Steve