Arduino frequency meter
From the manual:

Please also note that if the pin is already high when the function is called, it will wait for the pin to go LOW and then HIGH before it starts counting.

Although not stated very clearly, this means that your code is working like this. It has to wait for the next low pulse to measure that. It shouldn't matter in your application.
          ______           ______           ______
_________|      |_________|      |_________|      |______
         &lt;------&gt;                &lt;---------&gt;
          t_low                    t_high


This routine can be used only if interrupts are activated. pulseIn().

I don't see any interrupt use in your code.

Furthermore the highest resolution is obtained with short intervals.

You'll need to read up on this.
Note also that the function pulseIn() returns a data type of unsigned long, not float as you have used.