Noise and filtering · University · about 25 min
The square root of n, why it stops paying, and what it costs in time.
[1 mark]A depth sensor has sigma = 4 cm. How many independent readings must be averaged to get an estimate with sigma = 1 cm?
[1 mark]What does this print?
SIGMA = 6.0
for n in (1, 4, 16, 64):
print(n, SIGMA / n ** 0.5, round(n * 0.1, 1))[1 mark]With the noise set to sigma = 8 cm and a new reading every 0.1 s, how many seconds of standing still does an estimate good to 1 cm take?
[1 mark]Averaging 100 readings has already been done. What does going to 400 readings buy?
[1 mark]Averaging 16 readings should divide the noise by 4. In which of these cases will it not?
Tick every answer that is true.
[1 mark]A robot drives at 20 cm/s while averaging 60 readings taken 0.1 s apart. How many centimetres does it travel during the average?
The sensor has about 4 cm of noise on it. Standing still, produce an estimate of the gap to the wall good to about a centimetre, and print readings: (how many you took) and distance: (your answer). Good to a centimetre at one sigma still leaves a third of answers further out than that, so take enough readings that a centimetre is two sigma.
from bugbot import * connect() # how many readings put two sigma at 1 cm, with sigma = 4?
Plan your program here, then type it in and press Run.
set_noise(0, depth=8), how long would an estimate good to 1 cm take? Is that a practical robot?