Analizator Widma

0

Robił ktos cos takiego ?? Tylko nie mowcie mi o BASS'ie albo gotowych komponentach do delphi. Chodzi mi o dzialajacy, sprawdzony kod z FFT z jakims prostym przykladem.

Moze byc w dowolnym jezyku.

0

:-( To musi byc program zorientowany sprzetowo
np na analizie widma FFT opiera sie diagnostyka wibroakustyczna
i tak np. zakres pasma, amplitudy, rodzaj okna( Haninga ... chyba dobrze? ilosci probkowania itp Praktycznie wszystko sie sprowadza do interpretacji graficznej szeregu punktów otrzymanych z pomiarów.
Nie wiem o co konkretnie chodzi moze o wykrywanie defektów przy badaniach ultradzwiekowych ..
Napisz szerzej...

0

Mam taki problem:
Mam przetwornik ADC o fmax = ok 300kHz. Pobieram z niego dane 40x na sekunde do bufora który miesci 1024 próbki. Mam nawet sprawnie działające funkcje do FFT i IFFT. Problem w tym ze jak podam do fft jako czesc rzeczywista bufor a dane urojone wyzeruje to po przekształceniach nie wiem jak mam zabardzo wyswietlic dane na wykresnie. Wiem ze w sumie to co sie wyswietla znajduje się w pierwszych 512 komórkach bufora, ale gdy to wyswietle to powstaje jakies sito. W niektórych kodach jest cos o jakims "kwadracie amplitudowym widma", robi sie to chyba mniejwiecej tak:

char real[1024],imag[1024],spec[1024];
//...
double a = 0.0;
int i;
for(i = 0; i &lt 1024; i++)
{
spec[i] = sqrt(real[i] * real[i] + imag[i] * imag[i]);
if(a &lt spec[i]) a = spec[i];
}
for(i = 0; i &lt 1024; i++)
spec[i] /= a;
//...

Jak to wyswietle to juz cos powstaje (jako dane real podaje sinusoide), bo wyswietla pojedyńczą linie o duzej amplitudzie względem zera. Ale gdy zwieksze czestotliwosc sinusiody to widmo zamiast przesówac sie równomiernie do srodka skacze z jednego konca na drugi (nawet poza 512 komórke !!??) zblizając sie do srodka.

PS. Jako okno najchetniej zastosowałbym okno prostokatne (najprostsze).

1 użytkowników online, w tym zalogowanych: 0, gości: 1