I'm planning on building a device to measure the level of the water in my lake. It will include an Arduino controlled ultrasonic sensor mounted on a fixed structure pointed downward at the surface of the water.
The sensor can get an immediate reading on the distance to the surface, and that distance can be written to a table, and so on and so on..
To conserve power consumption, I want to activate the sensor only a few times a day and take a measurement.
The problem I anticipate is: If the water is "choppy" or wavy when I take the measurement, that data point can be off by quite a lot.
I figure I can fire the sensor several times over a course of time, and take an average or something.
**What would be the most accurate method to obtain the true level of the water using the fewest measurements?** 10 measurements over 1 second, and take the median? Should the time spread be expanded? The number of measurements? Should I use the mean of the measurements? Is the height of wave crests above the true level always equal to the depth of troughs below the true level?