dopplereffect
← All experiences

03 / MEASURE WITH SOUND

Fan Sonar.

Spinning blades leave an invisible trace.
Use it to explore rotation speed, the speed of sound, and room temperature.

01—03

Set volume to 100%. Stabilize your device. Turn on the fan.The sound is usually inaudible because of its high frequency; there is no need to worry about setting the volume to 100%.Disconnect headphones and Bluetooth. Turn off fan oscillation; position the device slightly to one side, outside the direct airflow.

How does it work? ↗

SET YOUR MEASUREMENT GEOMETRY

Temperature without a reference

Where should I put my phone? ↗

Enter all three measured dimensions. Leave them blank to measure only RPM and the reflection band.

Keep the phone at the height of the blade center. Measure distances to the midpoint between its speaker and microphone. No temperature input is needed; the result is an acoustic estimate based on a geometric model.

An ordinary fan and phone cannot guarantee thermometer accuracy. Temperature is withheld when the calculated uncertainty is at least ±10 °C; RPM measurement continues.

Sonar is ready. We’ll prepare your volume and device position before measuring.

RPM needs the blade count; temperature without a reference needs the radius and position measurements.

LIVE ANALYSIS
ROOM TEMPERATURE ESTIMATE

—°C

Radius and position measurements needed
ROTATION SPEED

—RPM

Blade passing · — Hz
DOPPLER EDGE · Δf max

—Hz

Lower — / upper — HzPower centroid · — Hz
SPEED OF SOUND

—m/s

Waiting for calibration

Values: 10 s · chart: 2 s

THE REFLECTION’S TRACE

Live spectrogram

Power
Start to see the sound’s trace here.
−4 kHzf₀+4 kHz
Average spectrum · last 2 s−20 dB from each side’s peak

The carrier’s ±30 Hz region is excluded. Lighter colors indicate higher power.

THE BLADES’ RHYTHM

Reflection envelope

10 s FFT
−1 sNow

RPM comes from this envelope’s period, not from the Doppler shift.

Blade passing frequency · BPF— Hz
5 Hz200 Hz

CAPTURE THE CHANGE

Measurement log

CSV
0measurement rows
once per second

Export rotation speed, both band measurements, sound speed, and temperature with timestamps.

Invalid results are saved as empty cells with a status code. A log can run for up to 1 hour.

If problems continue, review signal metrics from the last 30 seconds. This JSON file contains no audio and is never sent anywhere automatically.

Computed on your device. Audio is never sent to a server. CSV contains measurement values only; no audio recording is made.

PHONE PLACEMENT

Clear view of the blades. Stationary phone.

Blade planePhoneForward / backSidewaysCenter axisTOP VIEW
  1. Raise it to the center height. Keep the phone at the same height as the blade center. Do not block speaker or microphone openings with the table, case or your hand.
  2. Move sideways from directly in front. A starting position is about 50 cm in front of the blade plane and 30–50 cm sideways from the center. These are suggestions, not required dimensions; enter your actual measurements.
  3. Keep a clear path to the blades. Avoid hiding behind the motor housing or below the stand. Stay outside the grille and away from the direct airflow; turn oscillation off.
  4. Update dimensions after moving. Use “I moved the phone”. After putting it down, allow 10 seconds for new data; do not hunt for an angle that produces a particular RPM.

Measurement from behind is also possible; a clear path to the blades and the viewing angle matter. Close, separated speaker/microphone positions, the grille and blade shape can deviate from the model.

A LITTLE PHYSICS

One fan. Two independent measurements.

01

Blades provide the rhythm.

The power envelopes of approaching and receding blades are examined separately. Adding them can double the apparent rhythm. The two directions and the full band cross-check each other; rotation speed is estimated only from a rhythm actually observed.

02

The reflection band widens.

Approaching and receding blades shift the tone in both directions. Each side is measured against its own power. We average both when usable, or calibrate with one side’s temperature reference when only one is available.

03

Geometry connects it to temperature.

Blade radius and phone position give the projected tip speed. RPM and the Doppler edge yield sound speed, then an estimated temperature. No known temperature is needed. The previous reference method remains optional.

Measurement limits and technical details

This is an acoustic temperature estimate. Speaker and microphone response, blade shape, the grille, reflection angle, and harmonics can affect results. Compare against a thermometer. Try slightly to one side of the fan rather than directly on its axis; keep the fan and device in place while measuring.

Spectrum: 48 kHz or 44.1 kHz; 4096-sample Hann window, hop 256. Carrier f₀ ±4 kHz, excluding ±30 Hz at the center; 2-second average; edge threshold at −20 dB in power from each side’s own peak. Unequal band power or width alone is not an error. The power-weighted centroid differs from Δf max and needs its own reference calibration to estimate temperature.

Envelope: STFT band power is sampled at 187.5 or 172.3 samples/s, with Nyquist limits of 93.75 or 86.13 Hz. For RPM, lower and upper bands are filtered separately, using carrier notches, power detection and an eight-pole 240 Hz filter before downsampling. The envelopes run at 750 or 689.1 samples/s. Observed rhythms and harmonics are scored together in a 10-second FFT. Combined power only corroborates a direction; division cannot invent a missing fundamental. Blade count identifies competing rotation and blade-pass candidates. Repeating pulse shapes are also checked; multiplication cannot invent invisible blade passages. The last three seconds detect speed changes.

Device limit: At 44.1 kHz sampling, only 3.05 kHz is available above a 19 kHz carrier. The unavailable region is hatched on the chart. An edge touching this limit or the ±4 kHz analysis limit cannot be used. If the other side is sufficient, it can be used for reference calibration; absolute calculation needs two valid edges. Try 17–18 kHz.

Stability: The chart uses the last two seconds; RPM and temperature share the same ten-second window. A reference locks to the lower, upper or both bands and never silently substitutes a missing band. A last valid value is labelled and held for at most 1.5 seconds during a brief interruption. Real audio loss refills the window while preserving the reference. CSV and calibration use only current data. Older reference files must be replaced for the new blade-identity method.

Precision limit: Calibration does not prove accuracy. A 1% ratio error is about 6 °C at room conditions. A rotor’s regular spectral lines can obscure small temperature changes. The displayed ± value is a lower bound from spectral resolution and measured variation; reference-free mode adds the entered dimension uncertainty. It is not a validated error interval covering humidity, grilles and every device effect.

Calculation: RPM = BPF × 60 / N. k ref = RPM / selected band measure. c ref = 331.3 + 0.606 × T ref; c = c ref × (RPM / band) / k ref. T = (c − 331.3) / 0.606. In reference-free mode, tip speed = 2πr × RPM / 60 and c = 2 × tip speed × g × f₀ / Δf max. The radial projection g comes from the phone’s axial distance and sideways offset. A near-field circular-tip model is used; g is not assumed to be 1 at every position. The speaker and microphone are approximated as one transceiver at their midpoint. Without radius and position, these two acoustic measurements alone cannot identify temperature. Results outside −40…70 °C are reported as a model/position mismatch.

Audio session: Echo cancellation, noise suppression, and automatic gain control are requested off. Tonal audio uses the music content hint; if browser filters remain on, supported constraints are reapplied. Temperature is unavailable while processing remains enabled. The microphone and sonar tone stop when the tab goes into the background.

Technical sources: Sonar geometry of rotating blades ↗ · Web Audio / AudioWorklet ↗ · NASA / speed of sound and temperature ↗

GET READY TO MEASURE

First, set your volume.

On your phone or computer, turn media volume all the way up. Disconnect headphones and Bluetooth.

The sound is usually inaudible because of its high frequency; there is no need to worry about setting the volume to 100%.

The browser cannot control your device’s volume buttons. Sonar needs both a speaker and a microphone.