Pythonでハミング窓関数を作る(SciPy編)

PythonでFFT用にハミング窓(hamming window)を作ってみます。いくつか作り方があるようですが、ここではSciPy.signalを使ってみます。

窓関数については ウィキペディア を参照してください。

目次

  1. hammingメソッド
  2. ハミング窓の作成例

hammingメソッド

from scipy import hamming
w = hamming(M)
変数 内容
M 窓関数の長さ。例えば、512と指定すれば512点で作られた窓が得られる。
w 窓関数。型はnumpy.ndarray。

hammingメソッドは、対称型のハミング窓関数を返します。

ハミング窓の作成例

試しに512点のハミング窓を作ってみます。

>>> from scipy import hamming
>>> import matplotlib.pyplot as plt
>>> window = hamming(512)

>>> print(type(window))
<type 'numpy.ndarray'>

>>> print(len(window))
512

>>> print(window)
[ 0.08        0.08003477  0.08013909  0.08031292  0.08055626  0.08086906
途中省略
  0.08170284  0.08125127  0.08086906  0.08055626  0.08031292  0.08013909
  0.08003477  0.08      ]

長さが512のndarrayができあがりました。

ではこれをプロットしてみましょう。

>>> plt.plot(window)
[<matplotlib.lines.Line2D object at 0xxxx>]
>>> plt.show()
ハミング窓のプロット

ハミング窓ですね。

広告

Pythonカテゴリの投稿