<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>