SonofSamlawのブログ

うひょひょ

エクセルデータからデジタルフィルタでノイズ除く方法



印ライター:mpcsp079さん(最終更新日時:2016/5/6)投稿日:2012/12/1    
.


デジタルフィルタで炉はする方法でーーーーーーーす。


ローパスフィルタ

H(s)=a/(s+a)

で炉はすることを考えます。aはカットオフ周波数をf0とすれば2πf0です。


s=(2/T)(1-z)/(1+z)

と、代入することでデジタルフィルタとなります。Tはサンプル周期です

H(z)=a/((2/T)(1-z)/(1+z)+a)

=(a*(1+z))/((2/T)*(1-z)+a*(1+z))

=(a+az)/((2/T+a)+(aー2/T)*z)

=(1+z)/((2/(Ta)+1)+(1ー2/(Ta))*z)ーー(1)


これをエクセルデータにあてはめます。

(1)式でTaがエクセルデータ上でどうなるかがわかればいいのです。

エクセルの1コマをTとし、正弦波の一周期のデータの数をNとします。
すると、

周波数F=1/(T*N)

カットオフ周波数f0をFの5倍にしたければ、

a=2π*5/(T*N)
 Ta=2π*5/N

(1)式にこのTa値をいれればOKです。



(1)式のエクセルでの計算法

Y*((2/(Ta)+1)+(1ー2/(Ta))*z) 

=X*(1+z)

より、

Y(n-1)*(1ー2/(Ta))+Y(n)*(2/(Ta)+1)

=X(n)+X(n-1) 


Y(n)=(X(n)+X(n-1)-Y(n-1)*(1ー2/(Ta))/(2/(Ta)+1)


この式が答です。
 X(n)という数列は、測定データ列です。Y(n)は雑音の炉はされた結果
です


エクセルで検証しました。
左上元の正弦波、周期100コマ

左下、ノイズ入り、周期3コマ

右下、上のデジタルフィルタ入れたもの。
a=元正弦波周波数の5倍の周波数*2π


です