Fun with a frequency analyzer : Part II
In order to understand why that standard deviation was so large when using the raw data we must understand how the frequency is measure\calculated.
Frequency is the number of periods per unit time (per second) and is typically measured in hertz. By multiplying this value by 60 we get the CPM (cycle per minute).
The period is the time for one complete cycle of an oscillation of a wave and can be measured by taken any two corresponding points on a waveform and measure the time-interval between these points.
I decided to use the tops and the bottoms of the oscillations recorded as these are very clear points in the data and it's easy to find the corresponding points. The corresponding point would be the next top or bottom of the next oscillation.
Looking at the recorded wave those points look rather sharp and easy to identify.
However here is a close-up:
It's easy to see that there is no real simple top or bottom to be determined nor does it seem easy to find the correct corresponding point. That explains the rather large standard deviation found, the software will find some tops or bottoms (maximums or minimums) but those might not be the correct ones.
Next step:
So the next step was to implement a software routine that could remove some of that noise from the data and improve the shape of the waves. This is the result after applying a software routine for doing just that:
And here are all the CPM's found using the now filtered data:
That looks much better!
Using the tops of the oscillations the average CPM found is now 392.02cpm with a standard deviation of 0.84cpm. Using the bottom of the oscillation it's also 392.02CPM with a standard deviation of 0.84cpm.
But the big question that remains is : Why does the measured CPM increases over time? From around 391cpm to 394cpm?
Frequency is the number of periods per unit time (per second) and is typically measured in hertz. By multiplying this value by 60 we get the CPM (cycle per minute).
The period is the time for one complete cycle of an oscillation of a wave and can be measured by taken any two corresponding points on a waveform and measure the time-interval between these points.
I decided to use the tops and the bottoms of the oscillations recorded as these are very clear points in the data and it's easy to find the corresponding points. The corresponding point would be the next top or bottom of the next oscillation.
Looking at the recorded wave those points look rather sharp and easy to identify.
However here is a close-up:
It's easy to see that there is no real simple top or bottom to be determined nor does it seem easy to find the correct corresponding point. That explains the rather large standard deviation found, the software will find some tops or bottoms (maximums or minimums) but those might not be the correct ones.
Next step:
So the next step was to implement a software routine that could remove some of that noise from the data and improve the shape of the waves. This is the result after applying a software routine for doing just that:
And here are all the CPM's found using the now filtered data:
That looks much better!
Using the tops of the oscillations the average CPM found is now 392.02cpm with a standard deviation of 0.84cpm. Using the bottom of the oscillation it's also 392.02CPM with a standard deviation of 0.84cpm.
But the big question that remains is : Why does the measured CPM increases over time? From around 391cpm to 394cpm?