2011-12-07 7 views
-5

配列のノイズを減らすために、Matlabのメディアンフィルタリングを使用しました。私は物体の速度と加速度を計算していました。ベロシティ・パートはうまく機能し、私が得た結果はまさに私が期待したものでした。Matlabアレイのノイズリダクション

加速に関する問題に遭遇しました。加速がうまくいかないことに気付いた。私は、予想される滑らかな形の代わりに長方形の形に気づいた。

加速度のプロットは、エンジンのカムとフォロワの正弦波でなければなりませんが、波のエッジが滑らかではなく直線の形であるという問題があります。私は加速のためにvavg=medfilt2(v, [1 5])

を使用し、速度については

私は、正確なエッジを取得するために使用すべき他のフィルタがありますaavg=medfilt2(a, [1 5 ])

を使用?

有用なフィルタ機能は他にありますか?

答えて

1

何かの派生物を取るとノイズが増幅されるので、信号の加速を見ているときに問題があることは驚くことではありません。微分係数を取るためのノイズ耐性のある方法を使用することができます。詳細については、このページを参照してください:

http://www.holoborodko.com/pavel/numerical-methods/numerical-derivative/smooth-low-noise-differentiators/

人々が頻繁にこのためSavitz・ゴーレイフィルタを使用するようですね - MATLABでのsgolaysgolayfilt機能を試してみてください。

一般的に、信号の特性とノイズについて考える必要があります。信号が本当に滑らかなものになることがわかっている場合は、最初に近似してその滑らかさを強化するのはなぜですか?スプラインがあなたのために適切かもしれないようです(spline in matlab)。