2012-05-23 55 views
2

smoothing values猜測值基於以前的值

以下適用於C#.NET 4.我要尋找一個C#代碼。

(圖1)我有不同的值,例如700,712,703和720. dt1例如是30ms,dt2可能是9ms。重要的是dt1到dtn不是恆定的。

(圖2)軸

的時間(圖3)這是我想要的,用於以恆定的時間間隔TC大致17MS的值。 x1到xn是變量組成的值,即:

x(t(x1)) = x1 
x(t(x2)) = x2 
... 
x(t(xn)) = xn 

如何實時確定x1到xn?假設當前時間是dt1 + dt2 +在dt3內的某處。我不知道什麼時候dt3會完成(即使之前的dt在9ms到30ms之間)以及將會有什麼值。我怎麼能猜到一個x4值,考慮到以前的變化?

我該如何平滑(圖1)的值同時爲他們 - 比如700 - 708 - 712 - 720,即消除抖動?

+1

真的不知道這是StackOverflow的C#問題 –

+0

闡述爲什麼你認爲這樣 – Zurechtweiser

+0

你想你的插值信號?從非均勻分佈的樣本你需要獲得均勻分佈的樣本? –

回答

0

要帶這個(以下操作的措辭不當序列)鏡頭:

  1. 讀取當前的X(姑且稱之爲XT)
  2. 執行你需要XT任何操作
  3. 店Xt
  4. 讀取新的X(我們稱之爲X2)
  5. 如果abs(X1-X2)小於某個容差,則丟棄X2並使其= X1

    如果X2> X1,丟棄X2的值,並使其= X1 + K

    如果X2 < X1,丟棄X2的值並使其= X1-K

  6. 集XT = X2

  7. 轉到2

只是一個非常粗略的想法「平滑」,您忽略的價值,只關心「MoveMe的取向nt「你的x。

+0

這可以工作。但只要這些值或多或少相似,我就需要絕對的位置。 – Zurechtweiser

+0

@RichartBremer更新到覆蓋該條件以及 – Alex

0

我認爲有兩種解決辦法我瞭解你的問題

  1. 傳遞變量引用如:X(REF T(REF(X1))
  2. 聲明變量爲靜態變量如:靜態X1
+0

我們在這裏談論同樣的問題? – Zurechtweiser