Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

FFT [D7, WinXP]


ST ©   (2004-01-26 19:25:00) 

Здравствуй многоуважаемый ALL! Не подскажешь ли мне, где можно найти библиотеку, модуль, или просто процедуру FFT? Заранее благодарен.


тихий вовочка   (2004-01-27 19:10:00) [1]

Intel Signal Processing Library нет на интеловском сайте(вместо него Math Kernel Library), но рпи желании скачать можно на сайте LCard. А для БПФ лучшее что я нашел и использую - FFTW www.fftw.org, чего и вам желаю


ST   (2004-01-27 19:06:00) [2]

Спасибо всем огромное ;-)


Jolik   (2004-01-27 11:55:00) [3]

http://www.teworks.com/download.htm


Jolik   (2004-01-27 11:53:00) [4]

http://homepages.borland.com/efg2lab/Library/Delphi/MathFunctions/Engineering.htm


Digitman   (2004-01-27 11:27:00) [5]


> Tolyan   (27.01.04 10:50) [6]


а была

я скачивал ISPL v4.2 именно оттуда

вероятно, теперь ее следует поискать на filesearch.ru


Tolyan   (2004-01-27 10:50:00) [6]

> Digitman

Нету на сайте Интела этой Библиотеки
я уже давно ищу этот Intel Signal processing Library
может мне кто подскажет, где найти.
А FFT когда-то на Pascal написал, если очень надо, то могу выслать. Но хочется чего-то оптимального


Digitman   (2004-01-27 08:18:00) [7]


> ST   (26.01.04 19:25)  


на сайте у Интела - Intel Signal processing Library
там же есть демо-проект для тестирования возможностей библиотеки в среде Делфи


just me   (2004-01-26 21:34:00) [8]

Например, тут:
http://www.efg2.com/Lab/Library/mathematics.htm#Fourier


Brahman   (2004-01-26 20:53:00) [9]

// fft.h
#define FFT   -1
#define REV_FFT    1
void fft(float *real,float *imaginary,int order,int param);

// fft.c
/*

Radix 2 FFT calculation

order = the order of FFT ( pow(2,order) calculated complex points )
param = FFT      - performs FFT
param = REV_FFT  - performs reverse FFT
x = pointer to real
y = pointer to immaginary

*/

#include <math.h>
#include "fft.h"

#define M_PI        3.14159265359

void fft(float *x,float *y,int order,int param)

{
unsigned int n,l,e,f,i,j,o,o1,j1,i1,k;
float u,v,z,c,s,p,q,r,t,w,a;
n=1u<<order;
for(l=1;l<=order;l++)
{
u=1.0;
v=0.0;
e=1u<<(order-l+1);
f=e/2;
z=M_PI/f;
c=cos(z);
s=sin(z);
if(param==FFT) s=-s;
for(j=1;j<=f;j++)
 {
 for(i=j;i<=n;i+=e)
  {
  o=i+f-1;
  o1=i-1;
  p=x[o1]+x[o];
  r=x[o1]-x[o];
  q=y[o1]+y[o];
  t=y[o1]-y[o];
  x[o]=r*u-t*v;
  y[o]=t*u+r*v;
  x[o1]=p;
  y[o1]=q;
  }
 w=u*c-v*s;
 v=v*c+u*s;
 u=w;
 }
}
j=1;
for(i=1;i<n;i++)
 {
 if(i<j)
  {
  j1=j-1;
  i1=i-1;
  p=x[j1];
  q=y[j1];
  x[j1]=x[i1];
  y[j1]=y[i1];
  x[i1]=p;
  y[i1]=q;
  }
 k=n/2;
 while(k<j)
  {
  j=j-k;
  k=k/2;
  }
 j+=k;
 }
if(param==FFT) return;
a=1.0/n;
for(k=0;k<n;k++)
 {
 x[k]*=a;
 y[k]*=a;
 }
 return;
}


Mihey   (2004-01-26 20:04:00) [10]

Есть такой faq - называется Kuliba1000. В нём есть статейка на этот счёт.


Плохиш_   (2004-01-26 19:29:00) [11]

в интернете


Наверх

Титульная страница Поиск, карта сайта Написать письмо