タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

fftに関するmistakeのブックマーク (6)

  • 高速フーリエ変換 - [物理のかぎしっぽ]

    ここで上の行列の真ん中で左右に分けて考えると,添字が偶数の行については左と右の部分が同じで,添字が奇数の行については左と右の部分が半周期ずれたものになっているのがわかります.そのため上の式は以下と等価です. 図1 図1を見てもわかる通りxの並びが変わっています.このように並び替えることで計算がしやすくなります.それではソースコードを見てみます. dfttimes = num; power = power_two(num); //2の何乗かを返す for(i=0; i<power-1; i++){ indexto = offset = 0; while(indexto < num){ indexfrom = 0; while(indexfrom < dfttimes){ rbuf[indexto] = re[indexfrom + offset]; ibuf[indexto] = im[in

    mistake
    mistake 2008/11/11
  • Cooley-Tukey 型 FFT(高速フーリエ変換)のアルゴリズムについて

    Cooley-Tukey 型 FFT (高速フーリエ変換)について by 池田 幹男 since 2002 Oct 22 このページの内容は、 四日市大学教育支援システム のコース Cooley Tukey 型高速フーリエ変換に移動しました。内容はゲストでログインして見ることができます。 プログラムはこのアーカイブを参照して下さい。 FFT (Fast Fourier Transform)とは DFT(Discrete Fourier Transform) の高 速算法(アルゴリズム)のことで、高速フーリエ変換と呼ぶ。DFT は式(1) のように定義される。 F(k) = Σn=0N-1 s(n) Wnk/N (n,k=0,1,...,N-1) ....(1) ただし、Wnk/N = exp(j2πnk/N) = cos(2πnk/N) + j sin(2πnk/N) であり、 j は虚数

    mistake
    mistake 2008/11/11
  • 高速フーリエ変換ライブラリ

    /* fft.c */ #include <stdio.h> #include <stdlib.h> #include "sslib.h" void fft1(double ar[], double ai[], int n, int iter, int flag) { int i, it, j, j1, j2, k, xp, xp2; double arg, dr1, dr2, di1, di2, tr, ti, w, wr, wi; if(n < 2) { fprintf(stderr, "Error : n < 2 in fft1()\n"); return; } if(iter <= 0) { iter = 0; i = n; while((i /= 2) != 0) iter++; } j = 1; for(i = 0; i < iter; i++) j *= 2; if(n !=

    mistake
    mistake 2008/11/11
  • 高速フーリエ変換 Excel VBA用FFTプログラム - 研究と教育と追憶と展望

    ちまたには高速フーリエ変換(FFT)のプログラムが出回っているが、これをExcel VBA(いわゆるマクロ)で使えるようにしたところ、机上作業の効率が飛躍的にアップした。下記にプログラム等をノートしておく。ちまたに出回っているFFTのプログラムは利用者の知らないうちに窓関数がかけられていたり、周波数を自動的に計算したりするので、あまり教育的ではない。一番シンプルなFFTのプログラムで、生の処理を体験すべきである。 ちなみに、フーリエ変換とは、理工系の大学で習う数学的処理の方法の一つで端的に言えば、横軸が時間となっているグラフをフーリエ変換すると、横軸が周波数のグラフとなるもの。 例えば左図は横軸が時間で、周波数の異なるサインカーブを3つ足し合わせたグラフである。0.001秒毎に(サンプリング周波数1 kHz)、1024個のデータを取得したもの。横軸が時間だと、この波の周波数を読み取るのに一

    高速フーリエ変換 Excel VBA用FFTプログラム - 研究と教育と追憶と展望
    mistake
    mistake 2008/11/11
  • 高速フーリエ変換 - Wikipedia

    高速フーリエ変換(こうそくフーリエへんかん、英: fast Fourier transform, FFT)は、離散フーリエ変換(英: discrete Fourier transform, DFT)を計算機上で高速に計算するアルゴリズムである。高速フーリエ変換の逆変換を逆高速フーリエ変換(英: inverse fast Fourier transform, IFFT)と呼ぶ。 概要[編集] 複素関数 f(x) の離散フーリエ変換である複素関数 F(t) は以下で定義される。 このとき、{x = 0, 1, 2, ..., N − 1} を標点と言う。 これを直接計算したときの時間計算量は、ランダウの記号を用いて表現すると O(N2) である。 高速フーリエ変換は、この結果を、次数Nが2の累乗のときに O(N log N) の計算量で得るアルゴリズムである。より一般的には、次数が N =

    高速フーリエ変換 - Wikipedia
    mistake
    mistake 2008/11/11
  • FFT (高速フーリエ・コサイン・サイン変換) の概略と設計法

    はじめに FFT とは離散フーリエ変換に関連する変換を高速に実行する一連の 計算方法のことです.ここでは,FFT の考え方とその設計方法について 具体的なプログラムを用いて示します.これは,FFT のライブラリを 作成したときのメモがもとになっています.専門的な説明は極力避けたので, エレガントでない説明になっているかもしれません.基礎知識として, 複素数の演算規則とフーリエ変換が何かということさえ知っていれば 理解できると思います.また,数学の知識がある程度あり 時間を節約したい方は, 1.2節と1.3節の要約(pdf 53KB) を一読していただければ速く理解できると思います. 目次 1 FFT 概略 1.1 離散 Fourier 変換 1.1.1 DFT の定義 1.1.2 DFT と通常の Fourier 変換 1.1.3 DFT の性質 1.2 Cooley-Tukey 型 FF

    mistake
    mistake 2008/11/11
  • 1