<!-- Esperimento del pendolo misurato dal sensore Arduino nano 33 BLE
-->
<phyphox version="1.7" locale="it">
  <title>Pendolo</title>
  <category>Meccanica_33</category>
  <icon format="base64">iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAABHRSURBVHic7d15rJzVecfx38GAARuD2YyNMeCEzWZJgLBvBpMqQUBIgERh6abeRKTBahqFNKA0CjSiVE1EFVWCCJKYJiVAy1IawBhDKAWzBJIAhhJWY+MVvOAN3+v77R/PDNeYe2femfOeOTNzn4808jXMnXnO+H3mfd+zPZJzzjnnnHPOOeecc84555xzzjnnnHPOOdcEYHzuGJxrS8BEYCkwE9ghdzzOtQ1gG+BRBjwLfCx3XM61BeA6PmoVcF7u2JzLCrhgkOSo6q8kzza543Su5YD9K2eKeh4BJuSO17mWAbav3GsUtRSYnjtu51oC+FkDyVHVB3wP2Cp3/M4lA0xrIjk2dxcwNnc7nEsGuARYG5EkbwJH526Hc8kAnwD+GJEkG4AZudvhXDLAGOC2iCQBuBkYlbstziUBBGAGsDEiSeYBU3K3xblkgJOAhRFJshq4IHc7nEsG2B2YFZEkANcD2+Zui3NJACOw8Y5NEUnyJLBP7rY4lwxwJvBORJIsAz6dux3OJQNMAuZGJEk/cA0++u66FTCSwafEN+JBYI/cbXEuGeAiYE1EkswHjs3dDueSAQ4CXohIEh99d90N2BG4JSJJAH4BjM7dFueSAXqA9yOS5CXgkNztcC4Z4Cjg9YgkeQ/4Uu52OJcMsBtwX0SSgI++u26GTXi8nLjR96eB/XK3xblkgNOAxRFJshz4TO52OJcMtkvjYxFJUh19H5G7Lc4lAWxdOchjzAH2zN0W55IBzgVWRiTJAuD43O1wLhngQOC5iCTpxToAQu62OJcEMBr4ZUSSANwB7Jy7Lc4lQ/zo+/8Bh+Zuh3PJAEcCr0UkyXrgL3O3w7lkgF2BX0ckCVixn+1zt8W5JBgYfe+LSJJngMm52+JcMsCpwKKIJFkFfD53O5xLBtiLD5eBa5QX+3HdjYHR9/6IRHkYr9bruhlwDrAiIkmWAKfnbodzyWDl4X4fkSS9eLEf182A7YCfRCQJwN14sR/XzYgv9vMG8Knc7XAuGeCTwCsRSbIe6MndDueSwYr93B6RJGCj7zvkbotzSVBOsZ9ngY/nbotzyQAnA29HJMkq4Lzc7XAuGWAPYHZEkvjou+tu2Oh7bLGfR4AJudviXDLAWcC7EUmyFDgjdzucSwbYByv91qw+fPTddTNs9D222M89wC652+JcMsDFxI2+vwkck7sdziUDHAzMi0gSL/bjuhtW7OfWiCQBuBkYlbstziVBOaPvLwJTc7fFuWSAE4GFEUmyGvhi7nY4lwywOzArIknAi/24bgaMIH70/Slg39xtcS4Z4EzgnYgkWQb8Se52OJcMsDcwNyJJqsV+htXou2+zP4wAIyVdK+myiJeZI+nLIYQl5URlgDGSJkoaJWknSWsrj8UhhKVlvpdzNQEXAmsiziZvAcdFvP9WwHHAFVhHQr31LiuAx4Frgc8A25X5eTj3EcBBwPMRSdILXN7ge04CrsI2l4ixErgB36DCpYQV+7kl8mD9T2CnOu+zL3AjcfVShjILOKFVn5kbhogv9vMScMggrzsSuBJYF58HNfUDPwP2yPH5uWEAOAp4PeIgXQf8+Wavty9xvWbNWIbXnnepALsB90UepNcDn8M2i8hhE3Bl7s/SdSkGiv3EjL7H7FpflpuArWM/Dx8HcYMCpkn6d0njcscS4YYQwldiXmBYjYq64kIID0k6StLjuWOJ0AP8fe4gXBdjoNhPp+oHzmm2/X6J5QoBzpX0U9k0kE7zjqTDQwgLG/1Fv8RyhYQQ7pB0tKTncsfShF0l/bCZX/QEcYWFEF6WdIykm3LH0oQLgOmN/pJfYrmmAJdIulFSdFdqCz0RQji2kV/wBHFNwcq9LZDUaTVITg8hzCn6ZL/Ecs26SJ2XHJLU0LiIn0FcU4CnZOMknWaDpPEhhJVFnuxnENcwYJI6MzkkaTtJny36ZE8Q14zTcgcQaVrRJ3qCuGaclDuASKcUfaIniGvGlNwBRPoYBde1e4K4ZhyYO4BIW0kqVP3XE8Q1BNs6aGzuOEowvsiTPEFco3bMHUBJCrXDE8Q1avvcAZSk0CCnJ4hr1LrcAZSkUDs8QVyj1uQOoCSrizzJE8Q1JITwvmwBUqd7u8iTPEFcM17OHUCkTZJeLfJET5BhDhiD7WW1AJgDFBkEfD55YGm9UjkT1uUJMowBkyU9JqlH0l6yOUp3ASPq/OojqWNL7OGiT/QEGaaAUyU9KWnLirYflyVLLQ9JIkFYreILptzQgB5Js2SbGWxpqaTFtX6/sjvI3AShtcI6SfcWfbInyDCC7XH1L5Kul7TNIE9ZLenCEMLGAi93c6nBtc6dIYT3cgfh2gwwvnITPpRXgS0vt2q93k5Y5adOc2LKz9l1IOA0apc5e5QmamsAV7fkkC7PQyk+X9ehsEuqenXSfwJs2+Tr7wosb8GBXYZ+oNMXermyABOBR2ocMH00WGNwiPfpacXRXYKfl/G5ui4AnE/tb/aFWDdvGe+1FfBQCw7wGIvw8mwO2AO4rc7B8iCwZ8nvO65yELajTcAZZbbXdSDsrLGsxoHSi92PJOnaB04B1ic/3Bv3zRTtdR0C+/b+jzoHyVu0oHsTOBtLxHbx49Rtdm0KGAFcCrxb5yC5DRhsxDxVXJ+jPc4k15HobOnaHHAy8Ls6B8gSbAf2HPFNI1/3by9wWY52u8yACcBM6leRvRXYPXOsE4H/SZsLH9GSS0nXZoDtgb8D1tQ5QBZhpdLaAtYF3AOsTJoW1lM1kxZeSro2AGwLfA0bt6h3gNwI7JI75sEAewI/AtYmSIzbgcNzt9G1EPbNez7wSoGD5Gng+NwxFwHsDnwLeC4yMd4G/hk4OHebXAtVEuNC4OUCB8li4C9oQU8NMArrGJhQ4mtOAb6OdVG/TO3u4fnA/cCVwPHUX/HougkwErgEeLFAYvRiXZgtKccMnIn1iFXf+6uJ3mcbYBIwFTgSOByYDHRiFStXBmxqyPepPQJetQm4BWjJxtHYTOBr+GiP2TpgVCticMNU5VvyBooNqPUDdwGHtTC+vag9E7i0Sy3nJEnAdtiN9wODfCsP5QHg6BbH+WlgaY2YHm5lPK7LAcdii5JWF0yKfuBe4OQWxzkCuIrai6vuoU27kl0HAQ4ErgCeL5gUABuAm4BDMsQ7GfhNjdh6gcsBr4rsmlM5yGZg67sbsQrrlZqYIeaAjXS/VyO+Bfj0DdcobJT7VOAfgBcaTAqAZ7FR8tGZ4t8HmF0nxtIXV7kuhp0lerDJgM3ML1qF7YOb9RsZG3OpdU/UR8LFVa4LYBMEjwf+Bht/qDcfaij9wMPAxUDW6kzYQNx9deJ9lUS7f2B7aZ0GTErx+i4RbCrFEZVv1h8DTwEbm0yIalI8BnyjHQ4GbJR6BrXPGv3Y2S1JDUJsRL66uKuPRCPyHQc4CDgHOAHYGxhsy8tWxDES2A+bU9QD/BD7Nn2d4uMStWzC1j/MIMMN91Cwb+x690hvANMTxvDNSlJsbg0Fa5XntHXKFwe+JekaSZt3D/YDiyUtkLRQ0luSVsr2hX1P0orKz9XH+hpvMVbS6M0eO8mql46WNEG2S/nEys8pFhAtlzS78rg3hFCoalErVJL0B5IurvPU2yR9JYSwIkEMI2X7AP/pIP97lOzfaUPZ79sRsMIsG0r4Zm4n67Gen8uxS7K2u4nFetdmULvrFmxx1dkJ4xhH7S7vX6d6746AbZbc6eZjmx78LXASmW+ya2FgDcmrddqUfDYwNhP3jRox/DcwJtX7dwxsykQn6MMWJ90D/ADbmWN87s+vCGyw73zgpQLtfBg4NHE8n8W6s4dyPZD00r5jADsA38Fmoz5N3t33+rBR4cexbtvvAV/Evu3a/mZxMMB07HOtZyHWQ5dsqgg2Pf5qhp7LtQH4s1Tvn0rL59ZgO4nvVXlMkrSnpDFbPMbKbrbHSBpZ4+VWyep2Vx8rNvt5uawDYFHlzyUhhE3lt6j1gFMkXS2p3oDjRkk/knR1CCFZfXOsQ+CXkoYaP1ku6bwQwm9SxeCGOewe4wvA3AJnjH5sKWvyxVWVs9jiGrH8Adg3dRxumKKx5bhgPUfJ62BQrPaI34y7NLBpGTMoPsXlCeD0FsW2X+X9htKL3Xu2XTe463DY/K+fUnwPqeeAc1oY3wXUrk04H58e78oE7IKdLRpZYPVb4Eut+pbGNpi4tU5Md+O7G7qyYNvbXE9jOw4+CpxFC1f3YeMstdapJ6094oYR4CjgH4HXGkiKjcDPSTzIN0is47CtPWt5EziulXG5LtNkUoBND/8n8izHvRh4p058v6JFG9i5LoJ1gZ4IXNtEUlQXWF1EhhF+bFHVf9WJcSlwQatjcx2MDy/HrdXLM5R3sfuRlu9qUom/6Czg7LVHXAcAdsMWgv0r8McmEgJsfth92E3wthnbchb1ZwEvAc7LFaNrY9gl01TsDDETW6HX7CrEPqwnagaZdwwBDsBGu+u5FdgtZ6y5NNxViJ1evy1pb0mvSZpXebwYQlhbbnitB+ws6WBJUyQdIukYSZ+UFHM/0CfpIdnqvTtCCMtj44yBTf/4rqTLJNVaAr1I0ldDCHe3JLA21FCCYP3cz0garKIPkt6Q9KKkFyp/viJbVrswhPB+VKQlwm5+q7OJD5IlQzUpyloHskLSHEn3Srord1JIH8yk7pF0hWwW9VB6JV0n6aoQwupWxNauGk2QwyT9vsn3WiJLlgWS5ld+XiZbd775mvTVklYX/YfBBsx2lk2NH62BNeljK/9toiwZJsjOehMkpbhc2CTpSUmzJN0v6cl2mV5f+WL7gmx/gMl1nj5H0mUhhBeSB9YBGk2Q8bK1Fa2q8LNSdmYayrayxf85bJJdWj4m6QFJc1JsfBBjs8S4WtIBdZ7+lqQrQwgzkwfWzYDvRtygdrJFwJ1YtdlpJNo/qizYOo1nC7RrLTZNpCNXVabW1HweYH/ZzetU2XX7VEn7SeqGuTi9snuneZJekvQHSU+EEN7MGlUBWO2+z8s6UY6o8/R+Sb+S9O0QwvzUsXWq0ia8YTt+VG94p8pO6dUb4XFq3WVZEX2ye6L5so6FF2TJME/SKyGE3nyhNQ4riXahpG9IKrKKcLaky0MIzyQNrAu0ZEYotovFeFmyVG+aJ2lgDfpOlUf179Ub7aJWym7w12jgRn9V5efFkt6WXWO/LeskWBxC6I9tV27AHpIulfTXkopMM58t6TshhKeSBubSw9Zgj63zaOv7gFSA/bG9rdYVvH/6X2Ba7ridSwarcfhlrGZH0U6Sx4EzcsfuXDLAFKwcc5FS0VSS5wHgrNyxO5cEtq9xD42Vc3sfmyc2NXf8zpUOu4Q6G/g3GluCuwz4PjAudxucKxVWxepc4BfU3s92MPOAS4EdcrfDudJUzhRnVS6HGk2K9djU8+l4SWbXLbAqW1/HtsVp5PKpai7wV/guha4bYKsNz8eW0Naqk1HLisrvfyJ3e4YzP02XAJvlfIyk4yVNl62XaWZe2gpJd0m6XdLsdlpDM1x5gjQIK0J6mKz0wJGVx5SIl1wh6R7ZasP7Qwgbo4N0pfEEqQEr4XyQBlYbfkrSoYovfrpM0p2yM8WcEEJf5Ou5RMqczbuVpBNka5wXSZrfCWvUsflce8tmwR6ogWQ4UDZpsgwbNbCw6gFJv+2GyZLDQSkJgvXFz5a05RaUq2SzZ9/SwHLb6qza6mzb6hLbUlbjVRK1OjO4ugR3nAaW21arW1WX4DYya7gRz8s+k1mSHumELwv3UWUlSI+sHnasDxJG0roCz18rO8B3liXCKEk5Bs56VVlYJWmupAfbqWa6a15Z1UbL2mlvx8pjr5JeL5U3ZYnwhGyjhmdCCOvzhuRSKOsMcoCk30lq2zriTVotW2n4oga2M3oqhLAka1SuZcq8ST9C0tck7S9bNThBtSvUtosNsvuj+RpYdvuSbCO8hTkDc/kl7ebFttbcvORz9edx+nDZ5x1lN9Zl2bwc9BpJS2U9awtkyfDBEtwQwjslvq/rMm01DoJt+1lNmCLb0IyS3aivVCUZvLfIOeecc84555xzzjnnnHPOOeecc84555xzzjnnnHPOOeecc84550rz/9oJagRGSiEBAAAAAElFTkSuQmCC</icon>
  <color>green</color>
  <description>
        Determina l'accelerazione di gravità (g=9.81m/s²) usando il tuo telefono come un pendolo.

        Questo esperimento usa il giroscopio per misurare il movimento del pendolo e calcola il periodo di oscillazione T. Devi selezionare la lunghezza L della corda usata per il pendolo, così phyphox potrà calcolare g = 4π²/T² L.

        In alternativa, invece di misurare g, puoi andare sulla sezione "lunghezza" e considerare g = 9.81 m/s² per determinare la lunghezza della corda dal movimento del pendolo. (L è la distanza dal punto di rotazione al centro di massa.)

        Inoltre, nella sezione "risonanza", traccia l'ampiezza in funzione della frequenza rilevata. In questo modo puoi costruire un oscillatore forzato e modificarne la frequenza per misurare una curva di risonanza.

        Ulteriori dettagli:
        Il periodo di oscillazione è ottenuto attraverso il modulo quadro della somma delle tre componenti del giroscopio. La prima parte delle misure si usa per fare una prima stima; l'ultima parte per ottenere un risultato più preciso.
    </description>

<!-- Contenitori dei valori -->
  <data-containers>
    <container size="500">gyr_time</container>
    <container size="500">gyrX</container>
    <container size="500">gyrY</container>
    <container size="500">gyrZ</container>
	<container size="500">gyr</container>
    <container size="500">anyGyr</container>
    <container size="1">count</container>
    <container size="500">autocorrelation_t</container>
    <container size="500">autocorrelation</container>
    <container>dt</container>
    <container>t0</container>
    <container>t1</container>
    <container>t2</container>
    <container size="500">search_t</container>
    <container size="500">search_y</container>
    <container>periodEstimate</container>
    <container size="20" static="true">factors</container>
    <container size="20">multiples</container>
    <container>multipleFactor</container>
    <container>multiplePeriod</container>
    <container>periodHalf</container>
    <container>fineSearchMin</container>
    <container>fineSearchMax</container>
    <container size="500">fineSearch</container>
    <container size="500">fineSearch_t</container>
    <container>fineSearchResult</container>
    <container size="1">period</container> <!-- Misura del periodo-->
    <container size="1">frequency</container> <!-- Misura del periodo-->
    <container size="1">amplitudeSkewed</container>
    <container size="1">amplitude</container>
    <container size="1">avg</container>
    <container size="0">periodhist</container>
    <container size="0">frequencyhist</container>
    <container size="0">amplitudehist</container>
    <container size="1">maxamplitude</container>
    <container size="0">relamplitude</container>
    <container size="0">pi2f</container>
    <container size="0">g</container>
    <container>length</container>
    <container>lengthcalc</container>
  </data-containers>
<!-- Dati in ingresso -->
  <input>
    <bluetooth mode="notification" subscribeOnStart="false" id="Sense">
      <output char="cddf1002-30f7-4671-8b43-5e40ba53514a" conversion="float32LittleEndian" offset="0">gyr_time</output>
	  <output char="cddf1002-30f7-4671-8b43-5e40ba53514a" conversion="float32LittleEndian" offset="4">gyrX</output>
      <output char="cddf1002-30f7-4671-8b43-5e40ba53514a" conversion="float32LittleEndian" offset="8">gyrY</output>
      <output char="cddf1002-30f7-4671-8b43-5e40ba53514a" conversion="float32LittleEndian" offset="12">gyrZ</output>
      <output char="cddf1002-30f7-4671-8b43-5e40ba53514a" conversion="float32LittleEndian" offset="16">gyr</output>
    </bluetooth>
  </input>
<!-- Dati in uscita -->
  <output>
        <bluetooth id="Sense">
            <config char="cddf1003-30f7-4671-8b43-5e40ba53514a" conversion="float32LittleEndian">2.0</config>
        </bluetooth>
    </output>

  <views>
    <view label="Risultati">
      <value label="Periodo" size="2" unit="[[unit_short_second]]">
        <input>period</input>
      </value>
      <value label="Frequenza" size="2" unit="[[unit_short_hertz]]">
        <input>frequency</input>
      </value>
    </view>
    <view label="[[quantity_short_earth_acceleration]]">
      <value label="Periodo" size="2" unit="[[unit_short_second]]">
        <input>period</input>
      </value>
      <value label="Frequenza" size="2" unit="[[unit_short_hertz]]">
        <input>frequency</input>
      </value>
      <edit label="Lunghezza" unit="[[unit_short_centi_meter]]" factor="100" default="0.5" signed="false" min="0.05" max="10">
        <output>length</output>
      </edit>
      <value label="[[quantity_short_earth_acceleration]]" size="2" unit="[[unit_short_meter_per_square_second]]">
        <input>g</input>
      </value>
      <separator height="1"/>
      <info label="Qui puoi selezionare la lunghezza del tuo pendolo (dal punto di rotazione al centro di massa) per determinare l'accelerazione g della Terra."/>
    </view>
    <view label="Lunghezza">
      <value label="Periodo" size="2" unit="[[unit_short_second]]">
        <input>period</input>
      </value>
      <value label="Frequenza" size="2" unit="[[unit_short_hertz]]">
        <input>frequency</input>
      </value>
      <value label="Lunghezza" size="2" unit="[[unit_short_centi_meter]]" factor="100">
        <input>lengthcalc</input>
      </value>
      <separator height="1"/>
      <info label="Qui puoi determinare la lunghezza del tuo pendolo (dal punto di rotazione al centro di massa) considerando che g = 9.81 m/s²"/>
    </view>
    <view label="Risonanza">
      <graph label="Risonanza" labelX="Frequenza" unitX="[[unit_short_hertz]]" labelY="Ampiezza rel." unitY="[[unit_short_arbitrary_unit]]" style="dots">
        <input axis="x">frequencyhist</input>
        <input axis="y">relamplitude</input>
      </graph>
      <separator height="1"/>
      <info label="n questa sezione, si fa un grafico dell'ampiezza in funzione della frequenza rilevata. Puoi usarla per misurare la risonanza di un oscillatore forzato. L'ampiezza è normalizzata su un intervallo da 0 a 1."/>
    </view>
    <view label="Autocorrelazione">
      <graph label="Autocorrelazione" labelX="Δt" unitX="[[unit_short_second]]" labelY="correlazione" unitY="[[unit_short_arbitrary_unit]]">
        <input axis="x">autocorrelation_t</input>
        <input axis="y">autocorrelation</input>
      </graph>
      <value label="Periodo" unit="[[unit_short_second]]">
        <input>period</input>
      </value>
      <value label="Frequenza" unit="[[unit_short_hertz]]">
        <input>frequency</input>
      </value>
    </view>
    <view label="Dati grezzi">
      <graph label="Giroscopio	  x" labelX="[[quantity_short_time]]" unitX="[[unit_short_second]]" labelY="[[quantity_short_angular_velocity]]" unitY="[[unit_short_radian_per_second]]" unitYperX="rad/s²" partialUpdate="true">
        <input axis="x">gyr_time</input>
        <input axis="y">gyrX</input>
      </graph>
      <graph label="Giroscopio y" labelX="[[quantity_short_time]]" unitX="[[unit_short_second]]" labelY="[[quantity_short_angular_velocity]]" unitY="[[unit_short_radian_per_second]]" unitYperX="rad/s²" partialUpdate="true" color="ffff00">
        <input axis="x">gyr_time</input>
        <input axis="y">gyrY</input>
      </graph>
      <graph label="Giroscopio z" labelX="[[quantity_short_time]]" unitX="[[unit_short_second]]" labelY="[[quantity_short_angular_velocity]]" unitY="[[unit_short_radian_per_second]]" unitYperX="rad/s²" partialUpdate="true" color="ff6060">
        <input axis="x">gyr_time</input>
        <input axis="y">gyrZ</input>
      </graph>
    </view>
  </views>
  <analysis>
  <add>
      <input clear="false">gyrX</input>
      <input clear="false">gyrY</input>
      <input clear="false">gyrZ</input>
      <output>anyGyr</output>
       Poiché vogliamo mantenere un segno, ma vogliamo anche consentire l'utilizzo di qualsiasi asse, osserviamo semplicemente la somma di tutti gli assi. Ciò dà risultati negativi se il telefono è montato ad angolo, ma di solito l'utente eseguirà l'esperimento lungo un singolo asse 
    </add> 
    <autocorrelation>
      <input as="x" clear="false">gyr_time</input>
      <input as="y" clear="false">anyGyr</input>
      <input as="minX" type="value">0</input>
      <input as="maxX" type="value">5</input>
      <output as="x">autocorrelation_t</output>
      <output as="y">autocorrelation</output>
    </autocorrelation>
    <threshold falling="true">
      <input as="x" clear="false">autocorrelation_t</input>
      <input as="y" clear="false">autocorrelation</input>
      <output>t0</output>
    </threshold>
    <multiply>
      <input clear="false">t0</input>
      <input type="value">2</input>
      <output>dt</output>
    </multiply>
    <add>
      <input clear="false">t0</input>
      <input clear="false">dt</input>
      <output>t1</output>
    </add>
    <add>
      <input clear="false">t1</input>
      <input>dt</input>
      <output>t2</output>
    </add>
    <rangefilter>
      <input clear="false">autocorrelation_t</input>
      <input as="min">t1</input>
      <input as="max">t2</input>
      <input clear="false">autocorrelation</input>
      <output>search_t</output>
      <output>search_y</output>
    </rangefilter>
    <max>
      <input as="y">search_y</input>
      <input as="x">search_t</input>
      <output as="position" clear="false">periodEstimate</output>
    </max>
    <ramp>
      <input as="start" type="value">1</input>
      <input as="stop" type="value">20</input>
      <output>factors</output>
    </ramp>
    <multiply>
      <input clear="false">periodEstimate</input>
      <input clear="false">factors</input>
      <output>multiples</output>
    </multiply>
    <rangefilter>
      <input as="in">multiples</input>
      <input as="max" type="value">4.5</input>
      <input as="in">factors</input>
      <output>multiplePeriod</output>
      <output>multipleFactor</output>
    </rangefilter>
    <divide>
      <input clear="false">periodEstimate</input>
      <input type="value">2</input>
      <output>periodHalf</output>
    </divide>
    <subtract>
      <input clear="false">multiplePeriod</input>
      <input clear="false">periodHalf</input>
      <output>fineSearchMin</output>
    </subtract>
    <add>
      <input clear="false">multiplePeriod</input>
      <input>periodHalf</input>
      <output>fineSearchMax</output>
    </add>
    <rangefilter>
      <input as="in" clear="false">autocorrelation_t</input>
      <input as="min">fineSearchMin</input>
      <input as="max">fineSearchMax</input>
      <input as="in" clear="false">autocorrelation</input>
      <output>fineSearch_t</output>
      <output>fineSearch</output>
    </rangefilter>
    <max>
      <input as="y">fineSearch</input>
      <input as="x">fineSearch_t</input>
      <output as="position">fineSearchResult</output>
    </max>
    <divide>
      <input>fineSearchResult</input>
      <input>multipleFactor</input>
      <output>period</output>
    </divide>
    <divide>
      <input type="value">1</input>
      <input clear="false">period</input>
      <output>frequency</output>
    </divide>
    <multiply>
      <input type="value">6.283185307</input>
      <input clear="false">frequency</input>
      <output>pi2f</output>
    </multiply>
    <multiply>
      <input clear="false">pi2f</input>
      <input clear="false">pi2f</input>
      <input clear="false">length</input>
      <output>g</output>
    </multiply>
    <divide>
      <input type="value">9.81</input>
      <input clear="false">pi2f</input>
      <input>pi2f</input>
      <output>lengthcalc</output>
    </divide>
    <average>
      <input clear="false">anyGyr</input>
      <output as="average" clear="false">avg</output>
      <output as="stddev">amplitudeSkewed</output>
    </average>
    <divide>
      <input clear="false">amplitudeSkewed</input>
      <input clear="false">frequency</input>
      <output>amplitude</output>
    </divide>
    <count>
      <input clear="false">anyGyr</input>
      <output>count</output>
    </count>
    <!-- aggiungi alla cronologia solo se disponiamo già di dati sufficienti -->
    <if less="true">
      <input clear="false">count</input>
      <input type="value">250</input>
      <input as="false" clear="false">amplitude</input>
      <output clear="false">amplitudehist</output>
    </if>
    <if less="true">
      <input clear="false">count</input>
      <input type="value">250</input>
      <input as="false" clear="false">frequency</input>
      <output clear="false">frequencyhist</output>
    </if>
    <if less="true">
      <input clear="false">count</input>
      <input type="value">250</input>
      <input as="false" clear="false">period</input>
      <output clear="false">periodhist</output>
    </if>
    <max>
      <input as="y" clear="false">amplitudehist</input>
      <output as="max">maxamplitude</output>
    </max>
    <divide>
      <input clear="false">amplitudehist</input>
      <input>maxamplitude</input>
      <output>relamplitude</output>
    </divide>
  </analysis>
  <export>
    <set name="Dati Grezzi">
      <data name="Tempo (s)">gyr_time</data>
      <data name="Rotazione x (rad/s)">gyrX</data>
      <data name="Rotazione y (rad/s)">gyrY</data>
      <data name="Rotazione z (rad/s)">gyrZ</data>
    </set>
    <set name="Autocorrelazione">
      <data name="Tempo shift (s)">autocorrelation_t</data>
      <data name="Autocorrelazione">autocorrelation</data>
    </set>
    <set name="Resonanza">
      <data name="Frequenza (Hz)">frequencyhist</data>
      <data name="Amp. relativa (a.u.)">relamplitude</data>
    </set>
  </export>
</phyphox>