PythonにはNumPyやSciPyによる優秀な高速フーリエ変換(FFT)アルゴリズムがありますが、基本的なFFTの仕組みを学習するにもPythonは最適です。ここでは最も一般的なFFTアルゴリズムであるCooley-Tukey法をPythonのNumPyで記述し、numpy.fftの結果と比較します。さらに、データ点が2の冪乗でない場合のゼロパディング処理も実装します。
続きを読むフーリエ変換
Pythonで検証しながらSwiftで離散フーリエ変換を実装する
離散フーリエ変換は単純な式で実装できる信号処理アルゴリズムです。Pythonは豊富なライブラリについ頼ってしまいますが、他の言語でも自由に実装できるように基本を学びましょう。ここではPythonであえてforループを使った離散フーリエ変換の方法を学び、次に同様の結果が得られるSwiftコードを紹介します。
続きを読むPythonで簡単にwavファイルのノイズキャンセルを行う方法
マイクで音声を録音した時、録音環境によっては不快なノイズが入ってしまいます。Pythonの外部ライブラリであるnoisereduceは難しいコードなしに簡単にノイズキャンセルをかけることができます。実波形を例にその特徴を解説します。
続きを読む振動波形のヒルベルト変換から対数減衰率を求めるPythonコード
減衰自由振動現象の重要な特性に減衰率があります。減衰特性は物性から求めることが難しいので、実際に系を振動させて測定することが一般的です。ここでは減衰自由振動の波形に対してヒルベルト変換を行い、対数減衰率を計算するPythonコードを紹介します。
続きを読むPythonで学ぶ周波数変調(FM)!変調式と特徴を見てみる
周波数が変動している信号を周波数変調信号(FM信号)と呼びます。ここでは周波数変調式と各パラメータの意味を紹介し、Pythonによるヒルベルト変換やフーリエ変換を駆使してAM信号とは異なるFM信号の周波数特性を観察してみましょう。
続きを読む周波数波形編:wxPythonで信号処理のGUIアプリをつくろう③
Pythonによる信号処理のGUIアプリ作成挑戦記第3弾は「周波数波形編」です。読み込んだ時間波形に対し平均化フーリエ変換を施す処理をGUIで行います。今回は設定の読み込み、変更処理や例外処理も含めて実装する方法を紹介します。
続きを読む現場でPC1つ!簡単に録音・FFT・wav保存するPythonコード
ものづくりの現場で、精密な計測器はないけど今すぐに音声を録音して周波数分析したい!さらにwavファイルに保存して後でゆっくり分析したい!というPython使いのための記事です。ここでは当ブログのコードを寄せ集めてこのようなニーズにマッチするプログラムを紹介します。
続きを読むただPythonでcsvから離散フーリエ変換をするだけのコード
今すぐ、何も考えず、とにかくcsvに記録したデータを周波数分析したい人向。ここではPythonとIDEのインストール、プログラム実行方法のおさらいの後に、デモcsvファイルとコピペ動作するフーリエ変換コードを紹介して目的を最速達成します。
続きを読むPythonで学ぶ信号処理!振幅変調のサイドバンドを観察してみる
信号の時間波形が振幅変調していると、フーリエスペクトルにサイドバンドが発生する事が知られています。ここでは振幅変調波の概要と、Pythonを使って様々な条件のフーリエスペクトルを計算し、サイドバンドの特性を見ていきます。
続きを読むPythonでFFTやスペクトログラムからバンド計算をする方法
Pythonを使うと簡単にFFTやスペクトログラムを計算できますが、より深い分析を行う場合は任意の帯域(バンド)毎に統計量や技術計算をかける場合があります。ここでは、Pythonで得られたスペクトルからバンド計算をする方法を紹介します。
続きを読む