<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>podla programu v Pythone vidim, ze o vypoctovy vykon nie je nudza
:-)</p>
<p>Ak je k dispozicii lacny arkustangens (tabulka, cordic...) tak
metoda s Hilbertovou transformaciou je pomerne vykonna. Len sa
tomu treba trochu viac venovat, nie len okopirovat priklad z
internetu. Podstata je nasledovna: vstupna casova postupnost sa
pomocou Hilbertovho transformatora prevedie na komplexny signal
(I-Q pary). Hilbert transformator je obycajny FIR filter, uz s par
odbockami dostaneme pomerne presny par. Vztahy pre koeficienty su
zname a dostupne. Tato operacia stoji len niekolko
scitani/nasobeni/posunov. <br>
</p>
<p>Potom sa pomocou spominaneho arkustangensu vypocita okamzita
faza, vypoctova narocnost je podla impementacie. <br>
</p>
<p>Frekvencia je derivacia fazy podla casu, faza je linearna funkcia
frekvencie. Jednotlive fazove body tvoria priamku, pomocou metody
najmensich stvorcov sa da vypocitat jej smernica. Metoda
najemnsich stvorcov vyzaduje len nasobenie a akumulaciu. <br>
</p>
<p>Jednoduchym odcitanim predchadzajucej vzorky dostaneme fazovy
inkrement = dfi/dt. Tento akumulujeme pre cely merany cas,
vydelime dlzkou merania a mame frekvenciu. <br>
</p>
<p>Vysoka vzorkovacia frekvencia vzhladom na pracovnu frekvenciu v
tomto pripade nie je uplne uzitocna, zbytocne sa pocita faza zo
signalu s velmi malymi fazovymi prirastkami medzi vzorkami, takze
je vidiet sum. Toto sa da vylepsit priemerovanim vzoriek a
decimaciou v case. Vylepsia sa sumove vlastnosti. Znova ide o
linearnu operaciu, ktora vyzaduje len sucet a akumulaciu. <br>
</p>
<p>Vyssie sa da implementovat aj do mensieho procesora. <br>
</p>
<p><br>
</p>
<p>Nemam predstavu o vypoctovej narocnosti (musel by som to zratat),
ale napadlo mi pouzit DFT so zakladnym poctom bodov (400k?), tam
najst 3 susedne biny v ktorych je hladana spektralna ciara a potom
vypocitat dalsiu DFT s napadovanymi nulami pre vysoke rozlisenie
len v rozsahu tychto troch bodov. Mozno sa tym usetri nejaka
vypoctova narocnost. Pripadne Goertzel algoritmus, alebo nieco
podobne. <br>
</p>
<p><br>
</p>
<p>Ak priblizne pozname rozsah ocakavanej frekvencie tak by sa dala
pouzit este pokrocilejsia technika. Cislicovy oscilator o
frekvencii blizkej meranej, signal demodulovat do zakladneho pasma
(jednoduche nasobenie), cim sa ziska casova postupnost 400k(?)
vzoriek signalu o nizkej frekvencii (povedzme jednotky Hz). Potom
urobit DFT ako doteraz, ale vzhladom na velky rozdiel meranej a
vzorkovacej frekvencie to uz bude "napadovane".</p>
<p>Alebo s pouzitim technik a blokov spomenutych vyssie rovno
cislicovy fazovy zaves. Vyhoda je, ze vsetko vyzaduje len operacie
v realnom case, takze to moze pocitat uz pocas merania. <br>
</p>
<p><br>
</p>
<p>Dolezite zistenie (aspon pre mna), na ktore som prisiel postupom
casu skumanim roznych algoritmov extrakcie pozadovanej informacie
bolo, ze vsetky metody pouzivaju presne rovnaky vstupny signal. A
v nom je obsiahnute presne rovnake mnozstvo informacie. Takze pri
spravnom pouziti musia *vsetky* metody extrakcie dat presne
rovnake vysledky, co sa tyka presnosti aj kvality signalu. Viedli
sme o tom dlhe debaty s kolegami z oddelenia fyziky urychlovacov.
Oni nic ine jednoduchsie ako FFT, SVD, alebo SUSSIX nepoznaju. Na
analyzu rovnakych dat pouzili pomaly superpocitace. A ja, obycajny
blby inzinier, len metody zodpovedajuce mojej inteligencii.
Dostali sme presne rovnake vysledky. <br>
</p>
<p>Zaujimavy projekt. Keby som nemusel projektovat vinnu pivnicu pod
schody, asi by som si to prepocital. Bohuzial chlast ma prednost
:-)<br>
</p>
<p>b.</p>
<p><br>
</p>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">On 30/05/2021 12:41, Vojtěch Petrucha
wrote:<br>
</div>
<blockquote type="cite" cite="mid:20210530124105.1E3525B5@volny.cz">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<p style="padding:0 0 0 0; margin:0 0 0 0;">já do tohohle moc
nešťoural, tak mohu jen zkopĂrovat co má k tomu student v dp a
pĹ™iloĹľit pĹ™ĂslušnĂ˝ python kĂłd.</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">Â </p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">našel jsem ty fft
spektra v pĹ™Ăloze dp, pĹ™idal jsem na <a
href="https://maglab.fel.cvut.cz/proton-mag-dalsi-pokusy/"
moz-do-not-send="true">https://maglab.fel.cvut.cz/proton-mag-dalsi-pokusy/</a>Â </p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">asi by šlo pouĹľĂt jen
400k vzorkĹŻ mĂsto 4M a nÄ›jak to interpolovat.. asi vyzkoušĂme</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">v.</p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">Â </p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">Â </p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">Â </p>
<p style="padding:0 0 0 0; margin:0 0 0 0;">Â </p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"><span
style="font-size: 13.3333px;">K analýze měřených dat se také
velmi ÄŤasto vyuĹľĂvá analytickĂ©ho signálu, kterĂ˝ je
reprezentován</span></p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"><span
style="font-size: 13.3333px;">pomocĂ komplexnĂch ÄŤĂsel.
Reálnou část tvořà skutečná naměřená data a imaginárnà část
Hilbertova</span></p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"><span
style="font-size: 13.3333px;">transformace naměřených dat.
Matematicky lze takový signál vyjádřit pomocà vztahu:</span></p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"><span
style="font-size: 13.3333px;">đť‘ đť‘Ž (𝑡) = đť´(𝑡)đť‘’đť‘—đťś‘(𝑡) =
đť´(𝑡) â‹… cos(đťś‘(𝑡)) + đť´(𝑡) â‹… đť‘— sin(đťś‘(𝑡)). (2.6)</span></p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"><span
style="font-size: 13.3333px;">Pro bližšà představu můžeme na
obrázku 2.3 vidět grafické znázorněnà třà period harmonického
signálu</span></p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"><span
style="font-size: 13.3333px;">převedeného na analytický
signál. Zkonstruvaný signál si tedy lze představit jako pohyb
popisujĂcĂ</span></p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"><span
style="font-size: 13.3333px;">jednotkovou kruĹľnici v ÄŤase.
DĂky tomu mĹŻĹľeme snadno urÄŤit okamĹľitou amplitudu a frekvenci,
a právě</span></p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"><span
style="font-size: 13.3333px;">proto se tĂ©to techniky vyuĹľĂvá
pĹ™i frekvenÄŤnĂ analĂ˝ze [7]. V našem pĹ™ĂpadÄ› je moĹľnĂ© tuto
metodu vyuĹľĂt</span></p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"><span
style="font-size: 13.3333px;">k určenà průměrné frekvence a
následnÄ› magnetickĂ© indukce odpovĂdajĂcĂ měřenĂ©mu precesnĂmu</span></p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"><span
style="font-size: 13.3333px;">signálu.</span></p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"><span
style="font-size: 13.3333px;"><br>
</span></p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"><span
style="font-size: 13.3333px;">[7] B. Boashash, „Estimating and
interpreting the instantaneous frequency of a signal. I.
Fundamentals,“</span></p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"><span
style="font-size: 13.3333px;">Proceedings of the IEEE, sv. 80,
ÄŤ. 4, pp. 520 - 538, 1992 .</span></p>
<p style="padding:0 0 0 0; margin:0 0 0 0;"><span
style="font-size: 13.3333px;"><br>
</span></p>
</blockquote>
<br>
</body>
</html>