タグ

FFTに関するtake-yuのブックマーク (11)

  • もものきとデータ解析をはじめよう

    Matplotlib Python データ解析 モモノキ&ナノネと学習 高速フーリエ変換FFT Pythonで高速フーリエ変換(FFT)の練習-5 周波数ピークを自動で検出 Pythonで高速フリーエ変換(FFT)を行う方法をモモノキ&ナノネと一緒に学習していきます。 モモノキ&ナノネと一緒にPythonでFFTの使い方を覚えよう(5) 極大値と極小値の取得方法を覚えてピークの自動検出に挑戦しよう Matplotlib Python データ解析 モモノキ&ナノネと学習 高速フーリエ変換FFT Pythonで高速フーリエ変換(FFT)の練習-4 フィルタリングでノイズを除去する Pythonで高速フリーエ変換(FFT)を行う方法をモモノキ&ナノネと一緒に学習していきます。 モモノキ&ナノネと一緒にPythonでFFTの使い方を覚えよう(4) FFTとIFFTを使って信号のノイズ成分を除去して

  • 短時間フーリエ変換 - 人工知能に関する断創録

    Pythonで音声信号処理(2011/05/14) 今回は、短時間フーリエ変換(Short-Time Fourier Transform: STFT)を実装してみます。音声信号スペクトルの時間変化を解析する手法です。ある一定の長さの信号サンプルを切り出し、それに窓関数をかけてからフーリエ変換という手順を切り出す範囲を少しずつずらしながら行います。音声を再生しながらリアルタイムにフーリエ変換する必要があるので高速フーリエ変換(2011/6/18)を使ってみます。最終的には、Windows Media Playerなどの音楽プレイヤーでよく見るスペクトルアナライザ(っぽいもの)を作ります。 窓関数 今まで離散フーリエ変換(2011/6/11)や高速フーリエ変換(2011/6/18)を試したときには、切り出した波形サンプルをそのままフーリエ変換していました。しかし、一般的に、切り出した波形に窓関

    短時間フーリエ変換 - 人工知能に関する断創録
  • 高速フーリエ変換でスペクトル解析 in Python

    全然進まない!音楽情報処理編w 前回はPythonで440Hzサイン波の音声ファイルを作りました。 今回は音声ファイルを読み込んでスペクトルの解析をしてみます。 スペクトルの解析とは、音データにどんな周波数のサイン波がどれくらい含まれているか?を観察することです。 で、実際どうやるのよ?というと。 微分積分、三角関数、オイラーの公式、関数の直交、指数関数…この辺りの話は省略w 前回も書きましたが、どんなに複雑な波形でも単純なsin/cos波を重ね合わせることで表現できるのが数学的に証明されているのでした。周期関数であればどんな関数でも三角関数の和による近似が可能→これをフーリエ級数展開といいます。 F(x)を周期2πの周期関数とすると、 \[ F(x) = \frac{1}{2}a_{0}cos0x + a_{1}cos1x + a_{2}cos2x + a_{3}cos3x + \cdo

    高速フーリエ変換でスペクトル解析 in Python
  • numpyでスペクトログラムによる音楽信号の可視化 - Qiita

    この記事はeeic Advent Calendar 2016 9日目の記事 その1 です。 去年はコード進行に関する記事を書かせてもらったのですが、あんまり情報系っぽくないですし、 【eeic向けアンケート】eeicアボベンドカレンダーの記事を考えてるんですが、どっちの方がいいか意見聞きたいです — なまおじ (@namaozi) 2016年11月8日 アンケートでは音楽プログラムの話の方が優勢だったので今回は音楽情報処理の話題で書きます。 この記事でやりたいこと スペクトログラムをpythonで実装してみる話 数学・プログラミング分からない人でも読めるようにしたい できるだけ定性的で音楽的な話を入れたい eeicと音楽情報処理について 内輪向けなので興味ない方は飛ばしてください>< 実は上記の実装は神ライブラリを使えば3行くらいで書けてしまうのですが、せっかくなので極力高度なライ

    numpyでスペクトログラムによる音楽信号の可視化 - Qiita
  • 高速フーリエ変換(FFT)

    近年のCPUには、専用の高速な乗算器が組み込まれ、加算処理との速度の差は縮まっていますが、 膨大な量のスペクトルを計算する場合や、リアルタイム処理が必要とされる用途では、 この高速フーリエ変換が広く用いられています。 2. 高速フーリエ変換のアルゴリズム 高速フーリエ変換のアルゴリズムについて解説する前に、離散フーリエ変換(DFT)について、 簡単に復習しましょう。 この変換は、周期 Nの離散信号 x(0), x(1), x(2), ‥,x(N-1) を、同じく周期 Nの離散スペクトル X(0), X(1), X(2), ‥,X(N-1) に変換するものです。 変換側の処理は次のように表すことができます。 一方の逆変換は、次のようになります。 ここで、Wは回転子と呼び、以下のように単位円をN分割した点として定義します。 このWについて、以下の関係が成立します。 このように、Wは k につい

    take-yu
    take-yu 2019/06/29
  • NumpyでFFTとIFFTを行う

    Pythonが科学技術計算に広く使われているのは、その豊富な数値計算ライブラリと、結果を簡単にグラフ化して表示するグラフ作成ライブラリにあると言われている。もちろん、その他に、プログラムの易しさと、インタープリター形式である手軽さがある。 そこで、Pythonによる数値計算とグラフ表示の、より実用的な例として、NumpyによるFFT(Fast Fourier Transform、高速フーリエ変換を取り上げる。 FFTとは フーリエ変換は、時間軸上の連続した波形を、周波数軸上に書き換える数学的な処理である。しかし、実際的には、時間的なサンプリングによる非連続の離散的データを変換するDFT(Discrete Fourier Transform、離散的フーリエ変換)が用いられ、特に、三角関数の周期性や対称性を利用した高速アルゴリズムを用いてDFTを行うものは、FFT(Fast Fourier T

  • 離散フーリエ変換 - 人工知能に関する断創録

    Pythonで音声信号処理(2011/05/14) 今回は、信号処理の肝とも言える離散フーリエ変換(Discrete Fourier Transform: DFT)を試してみようと思います。ときどき感動するアルゴリズムに出会うけれど、フーリエ変換はその一つです。最初に考え出したフーリエさんはすごい!フーリエ変換を扱ったは参考文献に挙げている何冊かを読んだのですが、理解するのにけっこう苦労しました。ここでも間違ったこと書いていたらコメントもらえると助かります。 前回の正弦波の合成(2011/06/07)で試したように、任意の周期波形はさまざまな周波数を持つ正弦波の合成で表せます。フーリエ変換は各周波数の正弦波がどれくらいの割合で含まれているかを求める技術。ここら辺の定性的な理解は、 フーリエの冒険 今日から使えるフーリエ変換 (今日から使えるシリーズ) の説明が大変わかりやすかったです。ま

    離散フーリエ変換 - 人工知能に関する断創録
  • 高速フーリエ変換(FFT)の解説。実装編 - プログラムdeタマゴ

    前回のソース2を再帰呼び出しからループに変換してみる。例えば前回のように2097152個のデータを突っ込むと21階層もの再帰呼び出しになる。したがって、これをループに変換するってのは重要なことだ。 まず、「何回のループに展開されるのか?」を考えよう。「これは要するに何階層の再帰呼び出しになるのか?」と同意で、2nのnである。2097152は2の21乗なので21回だ。下に示すソースコードでは変数nbitがそれに対応する。 次に、「それぞれの呼び出されたメソッド(_fft)をどう展開すればいいのか?」を考える。この事で大切なのは配列のどこの場所にアクセス(読み込み書き込み)するかである。前回作ったプログラムを見ていただければわかると思うが、それぞれの_fftメソッドは他の処理に干渉しない。今、自分がどこを処理しているのかが重要なのだ。t回目の呼び出し(ループ)での各_fftが処理するデータの個

    高速フーリエ変換(FFT)の解説。実装編 - プログラムdeタマゴ
  • Pythonで高速フーリエ変換(FFT)の練習-4 フィルタリングでノイズを除去する|もものきとデータ解析をはじめよう

    Matplotlib Python データ解析 モモノキ&ナノネと学習 高速フーリエ変換FFT Pythonで高速フーリエ変換(FFT)の練習-4 フィルタリングでノイズを除去する Pythonで高速フリーエ変換(FFT)を行う方法をモモノキ&ナノネと一緒に学習していきます。 モモノキ&ナノネと一緒にPythonでFFTの使い方を覚えよう(4) FFTとIFFTを使って信号のノイズ成分を除去してみよう

    Pythonで高速フーリエ変換(FFT)の練習-4 フィルタリングでノイズを除去する|もものきとデータ解析をはじめよう
  • 小野測器 - FFT解析に関する基礎用語集「サ行」

    サンプリング間隔をΔt秒(Δt秒に一回サンプリング)とすると、サンプリング周波数は1/Δt(1秒間に1/Δt点サンプリング)ということになります。サンプリング定理は、時間的に連続な信号とそれをサンプリングする速さの関係について情報が保たれる限界を示すもので、「信号に含まれる最高周波数成分の2倍以上の周波数でサンプルしなければならない」と定められています。サンプリング周波数が信号の周波数の2倍より低くなると、エイリアシング(折返しひずみ)が生じます。 一覧にもどる

  • 二次元離散フーリエ変換 – AS3.0 – Rest Term

    前回の続き。今回は画像に対するフーリエ変換です。 前回は一次元の話でしたが、画像の場合は平面なので水平/垂直方向の2つの周波数を持つことになります。 実際に画像に対して二次元フーリエ変換を行うには、 x軸方向に一次元フーリエ変換 → y軸方向に一次元フーリエ変換 という手順で処理します。 ここでは、前回作ったクラスを少し拡張します。 ・2D-FFT public function fft2d(re:Vector.<Number>, im:Vector.<Number>):Boolean { var tre:Vector.<Number> = new Vector.<Number>(re.length, true); var tim:Vector.<Number> = new Vector.<Number>(im.length, true); // x軸方向のFFT for(var y:in

    二次元離散フーリエ変換 – AS3.0 – Rest Term
  • 1