Pythonでハミング窓関数を作る(SciPy編)
PythonでFFT用にハミング窓(hamming window)を作ってみます。いくつか作り方があるようですが、ここではSciPy.signalを使ってみます。
窓関数については ウィキペディア を参照してください。
目次
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カテゴリの投稿
- PythonからWindows RuntimeのAPIを使ってみる
- Pythonから外部のアプリケーションを実行する
- PythonでApacheのログを読む
- PythonでURLを結合する
- PythonでURLを解析する
- Pythonでtar.gzなファイルを解凍(展開)する
- Pythonでwavファイルを書き出す
- Pythonでwavファイルを読み込む
- Pythonでデータを整形して出力する
- Pythonでハミング窓関数を作る(SciPy編)
- Pythonでブール値を数値に変換する
- Pythonでモジュールをインポートする
- Pythonで数値を比較する
- Pythonで文字の内容から真偽値の判定をする
- Pythonで自前の関数を定義する
- Pythonで論理演算する
- Pythonのprint関数で改行せずに出力する
- Pythonのプログラムを終了する
- Pythonの関数には参照を渡す
- Windows10 バージョン1703 Creators Update にPythonとSphinxをインストール
- Windwos10 バージョン1703 Creators Update にPythonとSphinxをインストール (Anaconda編)
- reStructuredTextの表
- ダウンロードしたファイルのチェックサムをPythonで確認してみた
- 反復処理 (while)
- 反復処理(for)
- 条件分岐
- 自作のモジュールをインポートする