FFTは時系列データの周波数分析に重宝しますが、時間の変化はわかりません。スペクトログラムは周波数と時間変化の両方を分析可能な手法です。しかし計算方法は少々手順を踏みます。ここではPythonによるコーディングを1つずつ解説して行きます。
続きを読む信号処理
Pythonで聴感補正(A特性)の曲線を作る!
人間は耳で音を聴く時、周波数によって聞こえ方が異なります。音は「聴感補正」をかけて人間の耳の聞こえ方に合わせた評価をすることが多々あります。ここでは一般にA特性と呼ばれる聴感補正曲線をPythonで作ります。
続きを読むPythonで時間波形のトリガ検出を自作する!
時系列データをトリガ検出してから切り出すと、毎回決まった位置でデータ収集できるため後処理が容易になります。Pythonでは標準でトリガ検出機能は存在しないため、ここでは独自に考案したトリガ検出アルゴリズムを解説します。
続きを読むPythonのSciPyでバンドストップフィルタをかける!
特徴量抽出に役立つバンドパスフィルタと逆の作用をするバンドストップフィルタも習得していきます。フィルタには実際難しい理論がありますが、PythonのSciPyなら簡単に使うことが可能です。
続きを読むPythonのSciPyでローパスフィルタをかける!
信号にノイズが含まれる場合、フィルタ処理をして波形を整形することがあります。フィルタ処理は難しい理論がありますが、PythonのSciPyであれば使うだけなら簡単にできます。
続きを読むPythonでガウス分布を持つノイズの作り方と調整方法
信号処理はノイズと切っても切れない縁があります。様々なモデル同定やテストに意思入れの無い信号としてノイズを用いることがあります。ノイズを用いる際は「どんな」ノイズか素性を知っておく必要があります。
続きを読むPythonでFFT実装!SciPyのフーリエ変換まとめ
WATLABブログでは時間波形の抽出、オーバーラップ処理、窓関数処理を紹介して来ました。この記事ではそれらのまとめとして、信号処理分野の代表的な計算であるFFT(高速フーリエ変換)を説明します。
続きを読むPythonでFFTをする前にオーバーラップ処理をしよう!
一定の長さで計測した時間波形をFFT(高速フーリエ変換)する時、周波数波形の「平均化」という処理を行う時があります。その際に前処理として必要になるオーバーラップ処理の方法を説明します。
続きを読むPythonで窓関数が無い場合は?指数窓を自作してみる!
信号処理では良く窓関数を使うことがあります。PythonではNumPyやSciPyで窓関数を簡単に使うことができますが、今回指数窓が見つからなかったので窓関数自体を自作してみました。
続きを読むPythonでwav波形を切り出す!NumPyの配列処理
信号処理の基本であるwav波形の切り出しを習得します。wav波形といっても読み出しの時点でndarray形式になるため、NumPyの配列処理を使って説明します。
続きを読む