protonovy magnetometr, slaby signal

Daniel Valuch balu na k-net.fr
Neděle Květen 30 14:42:12 CEST 2021


podla programu v Pythone vidim, ze o vypoctovy vykon nie je nudza :-)

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.

Potom sa pomocou spominaneho arkustangensu vypocita okamzita faza, 
vypoctova narocnost je podla impementacie.

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.

Jednoduchym odcitanim predchadzajucej vzorky dostaneme fazovy inkrement 
= dfi/dt. Tento akumulujeme pre cely merany cas, vydelime dlzkou merania 
a mame frekvenciu.

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.

Vyssie sa da implementovat aj do mensieho procesora.


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.


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

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.


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.

Zaujimavy projekt. Keby som nemusel projektovat vinnu pivnicu pod 
schody, asi by som si to prepocital. Bohuzial chlast ma prednost :-)

b.



On 30/05/2021 12:41, Vojtěch Petrucha wrote:
>
> 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.
>
> našel jsem ty fft spektra v příloze dp, přidal jsem na 
> https://maglab.fel.cvut.cz/proton-mag-dalsi-pokusy/ 
> <https://maglab.fel.cvut.cz/proton-mag-dalsi-pokusy/>
>
> asi by šlo použít jen 400k vzorků místo 4M a nějak to interpolovat.. 
> asi vyzkoušíme
>
> v.
>
> K analýze měřených dat se také velmi často využívá analytického 
> signálu, který je reprezentován
>
> pomocí komplexních čísel. Reálnou část tvoří skutečná naměřená data a 
> imaginární část Hilbertova
>
> transformace naměřených dat. Matematicky lze takový signál vyjádřit 
> pomocí vztahu:
>
> 𝑠𝑎 (𝑡) = 𝐴(𝑡)𝑒𝑗𝜑(𝑡) = 𝐴(𝑡) ⋅ cos(𝜑(𝑡)) + 𝐴(𝑡) ⋅ 𝑗 
> sin(𝜑(𝑡)). (2.6)
>
> Pro bližší představu můžeme na obrázku 2.3 vidět grafické znázornění 
> tří period harmonického signálu
>
> převedeného na analytický signál. Zkonstruvaný signál si tedy lze 
> představit jako pohyb popisující
>
> jednotkovou kružnici v čase. Díky tomu můžeme snadno určit okamžitou 
> amplitudu a frekvenci, a právě
>
> 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
>
> k určení průměrné frekvence a následně magnetické indukce odpovídající 
> měřenému precesnímu
>
> signálu.
>
>
> [7] B. Boashash, „Estimating and interpreting the instantaneous 
> frequency of a signal. I. Fundamentals,“
>
> Proceedings of the IEEE, sv. 80, č. 4, pp. 520 - 538, 1992 .
>
>

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20210530/eec8e877/attachment.html>


Další informace o konferenci Hw-list