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