Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: jkol 31. 10. 2020, 18:38:05

Název: Spektrální analyzátor (FFT) na Linuxu
Přispěvatel: jkol 31. 10. 2020, 18:38:05
Vážení a milí tady na fóru,
poradíte? Nejsem softwerář ale elektronik. Hledám software pro analýzu nasamplovaného analogového signálu - spektrální analyzátor (zpracovávající data z ADC / zvukové karty), aplikující na datech okno, zobrazující spektrum - a to vše na Linuxu. Na woknech je několik freeware programů, ale já to potřebuji nejlépe na RPi - aby to mohlo běžet z baterky, a aby to celé nebylo moc drahé tak s USB-zvukovou kartou (třeba 24b / 192kHz).
Vizuálně se mi líbí Androidí Spectroid (úroveň zobrazuje v decibelech, vodorovná osa volitelně lineární/logaritmická), ale nejde tam přepnout vstup jinam než na mikrofon vestavěný v mobilu.
Víte o volně-šiřitelném projektu? Předem dík!
Název: Re:Spektrální analyzátor (FFT) na Linuxu
Přispěvatel: Křišťan Surname 31. 10. 2020, 18:59:24
Musí to být realtime? Jestli ne, tak špek (https://github.com/alexkay/spek) se použít docela dá. Sox (https://thepenguin.eu/2017-09-27-create-spectrograms-with-sox/) a Sonic Visualiser (https://www.sonicvisualiser.org/) to dokážou taky.

Na online waterfall používám taky spectroid na droidovi :-)) volba vstupu nebo rychlejší přepínání lin/log mi tam chybí.
Název: Re:Spektrální analyzátor (FFT) na Linuxu
Přispěvatel: _Jenda 31. 10. 2020, 19:14:02
Já používám ten Sonic Visualiser, ale realtime to není a je to tak středně dobré. Dále používám vlastní zobrazovátko, což je céčkový program, který používá FFTW, a data cpe do PPM obrázku. Ale taky není realtime. Ale kdyby to kreslilo do SDL, tak to realtime bude, a není to tak složité.

Teď mě napadlo, že gqrx umí vstup ze zvukovky. Nebo naklikat flowgraph v gnuradio-companion.

Jinak o ničem hotovém nevím. Ale napsat to custom by mělo být na pár hodin pro první prototyp.
Název: Re:Spektrální analyzátor (FFT) na Linuxu
Přispěvatel: jkol 31. 10. 2020, 21:21:16
Moc diky za navrhy!
Nicmene, nepotrebuji real-time spectrogram, staci offline zobrazeni. Co musi byt zasadne jinak je pocet frekvencnich binu (mnohem vic) a nejake zpracovani nad spocitanym spektrem, aby vysledek byl koukatelny jako v tom Spectroidu. Navic, sila signalu je opravdu potreba zobrazovat logaritmicky, jde hlavne o sumove pozadi a to by jinak nebylo videt...
Dik za pripadne dalsi napady!
Název: Re:Spektrální analyzátor (FFT) na Linuxu
Přispěvatel: Křišťan Surname 31. 10. 2020, 21:57:10
Ještě v Audacity se dá poměrně slušně spektrum analyzovat, i interaktivně.
Název: Re:Spektrální analyzátor (FFT) na Linuxu
Přispěvatel: Mlocik97 31. 10. 2020, 22:03:48
Ja niečo také hľadal vo forme webstránky, kde by som mohol nahrať súbor alebo dať odkaz na audio súbor na internetu či YouTube/Spotify.
Název: Re:Spektrální analyzátor (FFT) na Linuxu
Přispěvatel: redustin 31. 10. 2020, 22:55:07
REW je v javě a pod linuxem má zapnuté FFT do 4M. Běží výborně, testoval jsem jej do samplerate 1,5MHz, ale jeho autor nakonec pro linux dal do selektu sampleratu jako nejvyšší hodnotu "jen" 768kHz.

Docela rozumná je jaaa, v základu její FFT končí myslím na 256k, ale triviálně ji lze upravit na 8M FFT, pak už mi blblo zobrazování. Utáhla 8M  FFT na sampleratu 19,2MHz  přes alsí loopback snd-aloop s navýšeným samplerate limitem https://www.diyaudio.com/forums/equipment-and-tools/349239-support-samplerates-sw-analyzers.html#post6133979 .

Další možnost je pohrát si s octave nebo s julií, jsou i hotové skripty a číst soubory i live stream z alsy to umí.
Název: Re:Spektrální analyzátor (FFT) na Linuxu
Přispěvatel: RDa 01. 11. 2020, 03:13:40
Z tech free SDR toolu by neslo neco pouzit?
Sem tam si zapnu https://www.youtube.com/watch?v=LegzZZRIqj4 - a je tam live ten waterfall spektrogram.
Název: Re:Spektrální analyzátor (FFT) na Linuxu
Přispěvatel: CFM 01. 11. 2020, 08:21:55
Co takhle jednoduchý skript v pythonu jako třeba zde?
https://dsp.stackexchange.com/a/32122 (https://dsp.stackexchange.com/a/32122)
Název: Re:Spektrální analyzátor (FFT) na Linuxu
Přispěvatel: František Ryšánek 01. 11. 2020, 12:07:51
Spectrum Lab.
https://www.qsl.net/dl4yhf/spectra1.html
Screenshot na homepagi je starej.
Umí to hodně moc věcí.
Je sice zaměřenej na HAM Radio, ale vlastně se dá velmi dobře použít
na obecnou analýzu spektra z audio záznamů.
Je relativně široce konfigurovatelný: vzorkovací frekvence,
velikosti FFT okna, vodopád svisle nebo vodorovně, režimy obarvení vodopádu...
je toho hodně. Použil jsem ho několikrát.

Jo a souhlas taky s FFT analýzou v Audacity.
Je méně konfigurovatelná než ve Spectrum Labu, ale v některých ohledech užitečnější.

Chápu, že Vám jde o audio. Pokud by Vás zajímalo rádiové spektrum, tak vstupenkou je RTL-SDR. K němu na realtime zobrazení úzkého pásma třeba HDSDR, nebo jako přehledový spektrák můj nedokonalý RTLSDR Skyline.
Název: Re:Spektrální analyzátor (FFT) na Linuxu
Přispěvatel: František Ryšánek 01. 11. 2020, 13:50:43
Aha pardon, ono to mělo být na Linuxu...
Název: Re:Spektrální analyzátor (FFT) na Linuxu
Přispěvatel: RDa 01. 11. 2020, 14:41:18
Aha pardon, ono to mělo být na Linuxu...

Spectrum Lab funguje i pod Wine:
https://www.qsl.net/dl4yhf/speclab/speclab_under_linux.htm
https://appdb.winehq.org/objectManager.php?sClass=version&iId=7682
Název: Re:Spektrální analyzátor (FFT) na Linuxu
Přispěvatel: redustin 01. 11. 2020, 17:06:20
Pod wine funguje výborně i Arta a Visual Analyzer. Jen se obávám, že výkon s emulací pod RPi nebude dostatečný.