2017-04-08 75 views
0

我需要從傳感器收集數據並壓縮(有損)大約2比1.我想瞄準50行以下的C代碼。信號來自4位A/D轉換器,大致是一個幅度和頻率稍有不穩定的正弦波。有時候信號不穩定。如何用最少的代碼壓縮循環數據?

+0

輸出每隔一個樣本。 –

+0

我已經將採樣週期增加到最大值,這樣做無濟於事。 –

回答

1

「有損」是相當寬泛的,並允許任何事情。一半的樣本。一半位。其他任何事情都會有點牽扯。

你將不得不一個)預測下一採樣作爲最好的可以從以前的樣品,b)中減去來自樣品的預測,以及c)傳送該差在2位或更少,平均。做這種損失會導致結果漂移,需要定期與原始的四位樣本重新居中。

甲簡單的二次預測器將是一個 - 圖3b + 3c的其中a,b,c是最後三個樣品。正弦波預測器會更復雜,適合頻率和相位,並隨着您的需要進行調整。

如果你的數據是喧鬧的,並開始與它的分辨率只有四個位,值得懷疑的是,你會從中得到任何里程。

+0

我想玩a-3b + 3c的想法 - 聽起來可能有幫助。你能指點我一個詳細的一頁嗎?你錯過了某個地方的^ 2嗎?哪個是最古老的樣本? –

+0

樣本訂單將是a,b,c,d,時間均勻分佈,a-3b + 3c是d的預測。 –

+0

你可以很容易地導出它,將二階多項式擬合到三個均勻間隔的點上,然後插入第四個點的位置。 –