プロが教えるわが家の防犯対策術!

ハニングウィンドウのバンド幅を教えてください。

ハニングウィンドウのバンド幅を教えてください。
こんにちは。
FFTアナライズをしております。スペクトルを描くと非常にでこぼこしていました。なめらかにするため、ハニングウィンドウのライン数を減らして、アナライズを実施したところ、でこぼこがなくなりました。ただ、このときどのくいのバンド幅をかけたのかわかりません。ライン数とバンド幅の関係を教えてください。
インターネットでいろいろと調べたのですが、見つかりませんでした。どうぞ、よろしくお願いします。

A 回答 (4件)

あなたの言うライン数というのは、窓関数の長さですか。



分析条件を明確にしないと、これだけでは何もいえません。
(1)サンプリング周波数はいくらか?
(2)DFTの点数
(3)分析窓長
(3)DFTの点数より分析窓長が短い場合の処理
など
ハニング窓関数の式は分かっていますね。
これをあなたの条件で離散フーリエ変換(DFT)を行い、グラフを描いて
メインローブの幅(片側)を求めて2倍すれば、求められます。
計算が面倒なら、適当な数値計算ソフトウエアを利用すればよいでしょう。

計算してみれば、
分析窓長を2倍にすると、バンド幅は半分になる。
逆比例することが分かるでしょう。

この回答への補足

ご回答ありがとうございます。

ハニングウィンドウはデジタルフィルターで、Gk'=0.25Gk-1+0.5Gk+0.25Gk+1ということは調べてわかりました。ただ、周波数領域でどのような関数になるのかはわかりません。wikiペディアに関数らしきものがあったのですが、きちんと理解できておりません。

分析条件ですが、
(1)サンプリング周波数40hz
(2)DFTの点数:8192
(3)分析窓長 512
(4)DFTの点数より分析窓長が短い場合の処理は80%オーバーラップというものを選んでおります。

たとえば、1が8192個のデータをDFT分析してみて、メインローブの2倍を求めればよりということでしょうか?

あと、平滑化(スムージング)と80%オーバーラップというのは違うことをさすのでしょうか?
どうぞ、よろしくお願いいたします。

補足日時:2010/07/27 21:43
    • good
    • 0

ハニング窓(Hanning Window)の式


分析窓長をMとするとき、
w(n)=0.5( 1 + cos( (2π(n-(M-1)/2)/(M-1) ) )
ただし、窓の左端でn=0、右端でn=M-1です。
この関数は、両端では0で、中央部で1となる単峰性の重み関数
で、分析窓内の入力信号に対してこの重みを掛け算した後、
離散フーリエ変換(DFT)を実効します。

私は、FFTアナライザーというのを使ったことがありません。
コンピュータの上でプログラムによって、分析を行っています。
分析窓長の数倍以上のDFTの点数を使い、足りないデータは、
0を詰め込んでいます。(ゼロ・パッキングといいます)
こうすることで、周波数軸上のデータ数を増やすことができます。

さて、80%オーバラッピングというのは、分析窓の時間方向の
移動(シフト)のことをいうのではありませんか。
お使いのアナライザーのマニュアルをよく読んでください。

アナライザーに周期的なパルスを入力できませんか。
窓内に3パルス程度の間隔でよいと思います。
これを分析し、得られた周波数特性の包絡線が概略
窓関数の周波数特性になります。

数値的に求めるには、Scilabのような数値計算ソフトを
使うとよいと思います。これは、無料で使えます。
    • good
    • 0

Scilabを使ってHanning窓のバンド幅を求めてみました。



サンプリング周波数をFs、分析窓の点数をM、バンド幅をBとすると、
およそ
  B ≒ 1.44 Fs / M
なお、分析窓の時間幅をW(秒)とすると、
  B≒ 1.44 W
となります。

サンプリング周波数40Hz、分析窓の点数512を入れてみると、
 B ≒ 1.44 40 / 512 = 0.1125 (Hz)
となりました。
    • good
    • 0

式の訂正です。



なお、分析窓の時間幅をW(秒)とすると、
  B≒ 1.44 / W
となります。

サンプリング周波数40Hz、分析窓の点数512を入れてみると、
 B ≒ 1.44×40/512 = 0.1125 (Hz)
となりました。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!