移動平均フィルターのカットオフ周波数は何ですか?


18

カットオフ周波数が7.8 Hzの移動平均フィルターを設計する必要があります。以前に移動平均フィルターを使用しましたが、私が知る限り、入力できるパラメーターは平均化するポイントの数だけです...これはカットオフ周波数とどのように関連しますか?

7.8 Hzの逆数は〜130 msであり、1000 Hzでサンプリングされたデータを使用しています。これは、130個のサンプルの移動平均フィルターウィンドウサイズを使用する必要があることを意味しますか、それとも私がここで見逃しているものがありますか?


最初に「カットオフ」の理解を定義する必要があります。フィルターの応答がゼロ(最後)の最後の周波数である場合、移動平均フィルターのカーネルは有限のサポートを持ち、有限ウェーブレットは無限フーリエ画像に変換されるため、答えは「なし」になります。
mbaitoff 14

移動平均フィルターは、時間領域で追加されたノイズを除去するため、また平滑化のために使用されるフィルターですが、周波数分離のために周波数領域で同じ移動平均フィルターを使用すると、パフォーマンスが最悪になります......その場合は、周波数ドメインフィルターを使用してください

回答:


27

移動平均フィルター(通称、ボックスカーフィルターとも呼ばれます)には、矩形のインパルス応答があります。

h[n]=1Nk=0N1δ[nk]

または、別の言い方をします:

h[n]={1N,0n<N0,otherwise

離散時間システムの周波数応答はインパルス応答の離散時間フーリエ変換に等しいことを思い出して、次のように計算できます。

H(ω)=n=x[n]ejωn=1Nn=0N1ejωn

これを単純化するために、幾何級数の最初の項の合計にN既知の式を使用できます。

n=0N1ejωn=1ejωN1ejω

あなたの場合に最も興味があるのは、フィルターの振幅応答です。いくつかの簡単な操作を使用して、わかりやすい形式で取得できます。|H(ω)|

H(ω)=1Nn=0N1ejωn=1N1ejωN1ejω=1NejωN/2ejω/2ejωN/2ejωN/2ejω/2ejω/2

これは理解しやすいとは思えません。ただし、オイラーのアイデンティティにより、次のことを思い出してください。

sin(ω)=ejωejωj2

したがって、上記は次のように記述できます。

H(ω)=1NejωN/2ejω/2j2sin(ωN2)j2sin(ω2)=1NejωN/2ejω/2sin(ωN2)sin(ω2)

前に述べたように、あなたが本当に心配しているのは、周波数応答の大きさです。したがって、上記の大きさを利用して、さらに単純化することができます。

|H(ω)|=1N|sin(ωN2)sin(ω2)|

|ejω|=1ω|xy|=|x||y|xy

マグニチュードブラケット内の結果の関数は、ディリクレカーネルの形式です。それは時々呼ばれ、周期的なsincそれが似ているため、機能sinc関数を外観に多少、代わりに周期的です。

とにかく、カットオフ周波数の定義はやや不十分な仕様であるため(-3 dBポイント?-6 dBポイント?最初のサイドローブヌル?)、上記の式を使用して必要なものを解くことができます。具体的には、次のことができます。

  1. |H(ω)|

  2. ωω=2πffsfs

  3. N


私の推測では、それは「はい」ですか?私が知る限り、130個のサンプルはω= 7.8でNに適合しているようですが、私は数学者ではありません。
CaptainProg

@CaptainProg:確実に言えるのはあなただけです。カットオフ周波数で振幅応答を何にしたいのかわかりません。
ジェイソンR

1
nとNを定義できますか?特定のサンプリング周波数を使用した例も非常に役立ちます。これは単純に聞こえるかもしれませんが、この質問は「移動平均カットオフ周波数」の一番の結果であるため、フィルターの背後にある数学に触れない他の多くの視聴者がいると確信しています。
-FvD

nx[n]N

10

NFcoN>=2F=f/fs

Fco=0.442947N21

これの逆は

N=0.196202+Fco2Fco

この式は、大きなNに対して漸近的に正確であり、N = 2の場合は約2%の誤差があり、N> = 4の場合は0.5%未満です。

PS:2年後、ここでようやくアプローチが決まりました。結果は、付近のMA振幅スペクトルを近似することに基づいています。f=0

MA(Ω)=Sin(ΩN/2)Sin(Ω/2)

MA(Ω)1+(124N224)Ω2

MA(Ω)22Ω

α=0.95264

MA(Ω)1+0.907523(124N224)Ω2

MA(Ω)22=02πFco=Ωco

上記はすべて、この投稿の主題である-3dBカットオフ周波数に関連しています。

時々、与えられた-3dBカットオフ周波数を持つ1次IIRローパスフィルター(単極LPF)に匹敵するストップバンドの減衰プロファイルを取得することは興味深いですが(LPFはリーキーインテグレーターとも呼ばれ、 DCに正確にではなく、その近くにポールがあります)。

MAフィルター(FIR、N-1ゼロ)と1極IIR LPFの関係

F=k/N1/f1/f

HIIR=1Exp(Ωco)1Exp(Ωco)Exp(jΩ)

このIIRフィルターと同様のノイズフィルター機能を備えたMAフィルターを取得し、3dBカットオフ周波数が同じになるように一致させたい場合、2つのスペクトルを比較すると、MAフィルターのストップバンドリップルが最終的になることがわかりますIIRフィルターよりも約3dB低い。

IIRフィルターと同じ阻止帯域リップル(つまり、同じノイズ電力減衰)を得るには、次のように式を変更できます。

Fco,IIR=0.32N21

N=0.1024+Fco,IIR2Fco,IIR


数式をラテックス形式に変更しました。再確認して、両方が正しいことを確認してください。ありがとう。
lennon310 14

私はここで、この近似の導出を追加dsp.stackexchange.com/a/28186/15347
オッリNiemitalo

2
私が覚えている限り、私は数値法(MathematicaのNSolveまたはMatlabの類似のもの)を使用して、実用的な懸念を念頭に置いてこの式を導出しました。これは大きなNに対して漸近的に正しいはずです。あなたが与えた数は約3%オフです、だから私は何を言うべきかわからない。
マッシモ

1
@Massimoは、他の質問でこれと他の近似について多くの作業を行いました。さらに小数点以下の桁数が必要な場合は、これがあなたの魔法の数字です。0.442946470689452340308369
Olli Niemitalo

1
MAを含むいくつかのフィルターのカットオフを計算したMathematicaスクリプトを見つけました。結果はに従って放物線のようにF = 0の周りMAスペクトルを近似に基づいた + 1 / 6 *MA(Ω)=Sin(ΩN/2)/Sin(Ω/2)Omega=2πFMA(F)N+1/6F2(NN3)π21/2
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.