1

具体的には、rxjs が提供できるデバイス上の x/y/z 加速度を表すイベントのストリームがある場合、サンプルのより長いスライディング ウィンドウを利用するために、このアルゴリズムのハイパス フィルターをストリーミング方式で実装するにはどうすればよいでしょうか。揺れ検出?

Shake.js のアプローチは有望ですが、2 つの連続したサンプルのみに基づいており、2 つのサンプルはシグナル ストリームの作成ではありません。

ユーザー入力データをストリーミングする際に、オーディオ/音楽作業から慣れ親しんだ信号処理の概念を使用する方法を一度見せてもらったような気がします。

4

1 に答える 1

1

ウィキペディアにある実装を変換してできたのがこれです。

Rx.Observable.prototype.highpass = function (rc) {
  return this
    .timestamp()
    .bufferWithCount(2, 1)
    .scan(0, function (acc, x) {
      var dt = x[1].timestamp - x[0].timestamp;
      var a = rc / (rc + dt);
      return a * (acc + (x[1].value - x[0].value));
    });
};

次の例は、うまく機能しませ。とにかく、マウスを動かし続けると仮定すると、それでも目的を果たします。

http://jsfiddle.net/xixonia/j2H3k/

于 2013-12-14T03:06:32.280 に答える