Re: vykreslování grafů z velkého množství dat
Jan Waclawek
konfera na efton.sk
Pondělí Prosinec 9 07:32:57 CET 2024
[preposielam]
Ahojte,
pred nejakymi 15-rokmi som robil na podobnom probleme a to prenos EKG na 1kHz, takze nieco si z toho este pamatam. Zdanlivo trivialny problem, ktory sa zda byt jednoducho riesitelny. Avsak, ked sa clovek do toho pusti, tak zisti, ze to az take trivialne nie je...
Ako by som to robil dnes ja, zobral by som raspberry pi s xx GB ram, pak dual-port ram a na drúhom porte "digitizer 2kHz". Toto riesenie vyriesi vsetky problemy s prenosom dat do pomaleho PC s Windowsom. Ono to ma este samozrejme sw cast a tu by som sa zase inspiroval starymi 20-rocnymi scopmi HP, ktore prenasali len hlavicku s nastaveniami a potom uz len integerovske data z prevodnika. A takto sa to robi uz najmenej 25-rokov, sudiac podla nejakej starej APP note od Analog Devices, ktoru som nasiel. Len clovek si to riesenie musi ubastlit sam. Neviem, ci to dokazu urobit aj profi-pristroje. Mozno ano. A ked to uz bude v PC tak tam je uz jedno, ci excell, calc, origin ci nejaky specializovany matematicky sw.
A.
>>>
Přijde mi to hodně dat a hodně rychle na to, aby se používaly nějaké
univerzální prostředky a postupy.
Je to přes 1.2 miliardy řádků. To už je (podle mě) hodně na to, aby se
plýtvalo místem na nějaký neúsporný textový formát dat, který znamená
nárůst proti syrovým datům aspoň na 4-násobek.
Navíc frekvence zápisu 2kHz možná může být už na PC s Windows s jeho
latencemi občas moc.
Já bych tam strčil nějaký ESP32 nebo něco podobného, který by to sbíral
tou rychlostí 2kHz a posílal do PC třeba jednou za sekundu nebo třeba 10
sekund.
V nějakém proprietárním úsporném formátu.
A vyhodnocení nad tím si udělat uživatelsky.
Trochu mi uniká jak v grafu s miliardou 4-položek budete očima něco
hledat. Na to je snad lepší nějaké předzpracování procesorem, který
vyrobí průměry a označí maxima nebo jinak významné body a tak.
Připadá mi to jako jednoznačný kandidát na nějaké specializované
zpracování. Ne na nějaký Excel nebo jiný univerzální nástroj.
Když už univerzální nástroj, tak pak nějakou TSDB (Time series database)
a nad tím pak nějaký nástroj typu Grafana.
PL
*******************
Dne 8.12.2024 v 12:30 Vláďa Anděl napsal(a):
>
> Dobrý den,
>
> zase mám volněji a zabývám se myšlenkou na dataloger. Celkem běžně
> používaný formát zápisu je textový csv, na každém řádku datum, čas a
> neměřené hodnoty. Dá se to naimportovat do excelu (calcu). Jenže tam
> je počet řádků omezený na 2^20 a vždycky jsem si říkal, jak je ten
> calc pomalý. Tady jsem si přečet vysvětlení
> https://ask.libreoffice.org/t/kdy-bude-zvetsen-maximalni-pocet-radku/62648
> že vlastně ta buňka neobsahuje jen to číslo, které jsem do ní vložil,
> ale má spoustu dalších vlastností, což pak nejen žere paměť, ale
> zpomaluje jakoukoliv manipulaci - třeba vykreslení grafu.
>
> Co bych potřeboval - vzorkovací kmitočet 2 KHz a dobu záznamu aspoň
> týden. Milion řádků v excelu by bylo 500 vteřin záznamu, to by bylo
> strašně rozkouskované. Potřebuju zapisovat dva kanály (napětí, proud)
> a tak mě napadlo použít formát wav souboru. Zapíše se hlavička a pak
> už se tam hrnou data dva bajty levý, dva bajty pravý. Audacity s
> velkým balíkem dat umí, dokáže hledat maxima (o ty mi právě jde), jen
> nevím, jestli vezme vzorkování 2 KHz. Ale jde jen o měřítko času, není
> to až tak zásadní. Problém je tam v tom, že graf nemá nějaké rozumné
> měřítko. Vidím sice průběh, ale jsou tam čtyři čárky na celý rozsah.
>
> Je něco jiného na zobrazení tak velkého balíku dat, aby to ukazovalo
> nějaké rozumné měřítko a aby tam bylo případně i nějaké kurzorové
> odměřování? Pokud možno free? Taky si to mohu celé zhruba zobrazit v
> audacity a pak jen ty vybrané kousky vystříhnout, uložit jako wav,
> převést do csv a zobrazit v excelu. Lepší by bylo, kdyby to nějaký
> nástroj uměl přímo.
>
> Anděl
>
Další informace o konferenci Hw-list