2

平滑化値

以下は c# .net 4 に適用されます。ac# コードを探しています。

(図 1) たとえば 700、712、703、720 など、さまざまな値があります。dt1 はたとえば 30ms で、dt2 は 9ms の場合があります。重要なのは、dt1 から dtn までが一定ではないということです。

(図2)時間軸

(図 3) これが私が求めているもので、約 17ms の一定のタイム ギャップ tc の値です。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 にするにはどうすればよいですか? つまり、ジッターを除去しますか?

4

2 に答える 2

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に行く

値を無視し、x の「動き」の方向のみを気にする「平滑化」の非常に大雑把な考えです。

于 2012-05-23T09:44:36.680 に答える
0

あなたの質問を理解したので、2つの解決策があると思います

  1. 変数を参照渡し 例: x(ref t(ref (x1))
  2. 変数を静的変数として宣言します。例: static x1
于 2012-05-23T11:37:01.700 に答える