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