Portál AbcLinuxu, 9. května 2025 19:30
predpokladem je ovsem vedet neco malo o zpracovani signalu (co udelat s temi cisly, co vypadnou z AD prevodniku aby to chodilo podle mych predstav...)
nejlepsi by asi bylo upresnit zadani problemu (kdyz je signal vetsi nez ... mV/dB/cislo a spada do pasma od do Hz udelej ...) na pozadovane presnosti, rychlosti odezvy, pripadne moznaosti vyskytu falesnych signalu pri prudkych zmenach vstupu
od tehle pozadavku by se odvijelo dalsi reseni. jestli je nutne FFT, nebo postaci digitalni filtry. jinak pro pocatecni nastudovani by melo stacit vedet, jak se spocita efektivni/stredni/spickova hodnota - pro detekci urovne v celem pasmu. aby se dalo poznat, ze tam prisel nejaky silny/slaby signal.
no a pak treba co dela FFT (podle mne neni potreba zkoumat implementacni detaily). jak souvisi casova oblast a spektrum, pripadne ze existuje aliasing
typ pro nastudovani... nejake priklady programku jsou treba na http://www.dsptutor.freeuk.com/ ; jinak treba google nahlasi treba
Výsledky 1 - 10 z asi 1 740 000 na dotaz digital signal processing tutorial. (0,12 sekund), takze studijniho materialu je dost
arecord -f S16_LE -c1 -r44100 > nahravkaa pak si zobrazit spektrum z prvních necelých dvou sekund záznamu takhle:
#!/usr/bin/python from scipy import * import pylab, time, os fr = file('nahravka') signal = fromfile(fr, int16, 65536) frequency = 44100 Nf = len(signal)//2 + 1 freqaxis = arange(Nf)/2.0/(Nf - 1)*frequency spectrum = abs(fft(signal)[:Nf])**2 pylab.semilogx(freqaxis, spectrum) pylab.show()Ale nic bych se nedivil, kdybych tam měl nějakou off-by-one chybu.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.