Doppler effect calculator

Enter the source frequency and who is moving. The calculator computes f′ = f (c + vo) / (c − vs). A 700 Hz siren at 30 m/s toward you is heard as 767 Hz. After it passes (vs = −30), the pitch drops to 644 Hz.

Wavelength from f′: λ = v/f. Wave speed: v = λ·f. Sound level: dB.

Inputs

Result

Source frequency f (Hz), Source speed toward observer (m/s), Observer speed toward source (m/s) and Wave speed c (blank = 343 m/s). The result shows up here.

How it works

S O f′ = f · (c + vₒ) / (c − vₛ)
A source approaching packs waves ahead of itself: you hear a higher frequency.

An ambulance comes toward you and the siren sounds higher, because the source packs waves ahead of itself. The school one-line formula is f′ = f · (c + vo) / (c − vs). Positive vs means the source is approaching you. Positive vo means you are walking toward the source. Both positive raise f′. Negative vs (the ambulance has passed) stretches the waves and the pitch drops.

Take a 700 Hz siren, air at 343 m/s, you standing still (vo = 0), the van at 30 m/s toward you. f′ = 700 × 343 / 313 ≈ 767 Hz. Δf ≈ +67 Hz. Flip the sign: vs = −30 m/s after it passes, f′ = 700 × 343 / 373 ≈ 644 Hz, Δf ≈ −56 Hz. Approach and recession are not symmetric, because vs sits in the denominator, not the numerator.

A walking observer changes less. A 440 Hz fork, vs = 0, vo = 2 m/s: f′ = 440 × 345 / 343 ≈ 443 Hz, barely a noticeable hop. The pair vs = 20 m/s and vo = 5 m/s at f = 500 Hz gives f′ = 500 × 348 / 323 ≈ 539 Hz. A source at the same meters per second pulls the pitch harder than a pedestrian.

Default c = 343 m/s, air near 20 °C. If you leave the c field untouched, the calculator uses that value. Water sonar: type 1480. Example 40 kHz, vs = 5 m/s, vo = 0: f′ = 40000 × 1480 / 1475 ≈ 40136 Hz, a shift of only 136 Hz, because c is large. The model is not relativistic; it does not hold when v is close to the speed of light.

We reject vs ≥ c, because the denominator c − vs would hit zero or go negative. The old shortcut f·(1 + v/c) is a small-v approximation. At a 30 m/s siren the full ratio (767 Hz) is closer than 700 × (1 + 30/343) ≈ 761 Hz. With vs = vo = 0 you get f′ = f: a check that nothing shifts when both are still.

On the form, f must be positive. You can leave vs and vo untouched: they mean zero, you stand and the source stands. Speeds follow the header in m/s or ft/s. f stays in hertz. From f′ you go to λ = c/f′ on the wavelength page, with the same c. Siren loudness is a different page, dB, not f′.

How to use

  1. Type source f in hertz. A problem siren is often 700 Hz, a tuning fork 440 Hz. That is the rest frequency, not what you hear.
  2. Type vs: positive when the source moves toward you, negative when it recedes. 30 m/s toward you at 700 Hz gives about 767 Hz.
  3. Type vo if you yourself walk toward the source, or leave it untouched if you stand still. Untouched vs and vo mean zero, not missing data.
  4. Leave c untouched for air (343 m/s) or type 1480 for water. 40 kHz and vs = 5 m/s in water give f′ ≈ 40136 Hz.
  5. From f′ open the wavelength page and divide the same c by f′. Siren loudness is dB on the intensity page, not here.

Formula

f′ = f · (c + vo) / (cvs)

Positive vs, vo: approach. vs < c. Blank c = 343 m/s.

Letters in f′ = f (c + vo) / (c − vs)

School Doppler in one line: f′ = f (c + vo) / (c − vs). A 700 Hz siren at vs = 30 m/s and vo = 0 is heard as 767 Hz.

f′
Received frequency. 700 × 343 / 313 ≈ 767 Hz; after the pass (vs = −30) it falls to 644 Hz.
f
Source frequency at rest. 700 Hz is the homework siren, not what you hear.
c
Wave speed. A blank field is 343 m/s in air; water at 1480 m/s with 40 kHz and vs = 5 only reaches 40136 Hz.
vs
Source speed toward you, in m/s. Positive 30 lifts the pitch to 767 Hz; negative −30 drops it to 644 Hz.
vo
Observer speed toward the source. At 440 Hz, vs = 0 and vo = 2 m/s you hear about 443 Hz, a tiny step.

Real-life examples

Example 1

f = 700 Hz, vs = 30, vo = 0 -> f′ ≈ 767 Hz.

Example 2

f = 700 Hz, vs = -30, vo = 0 -> f′ ≈ 644 Hz.

Example 3

f = 440 Hz, vs = 0, vo = 2 -> f′ ≈ 443 Hz.

Example 4

f = 500 Hz, vs = 20, vo = 5 -> f′ ≈ 536 Hz.

Example 5

f = 440 Hz, vs = 40, vo = 0 -> f′ ≈ 498 Hz.

Example 6

vs = vo = 0, f = 1000 Hz -> f′ = 1000 Hz.

Example 7

sonar f = 40000, vs = 5, c = 1480 -> f′ ≈ 40136 Hz.

Example 8

f = 523 Hz, vs = 8, vo = 0 -> f′ ≈ 535 Hz.

Ways to use this calculator

  • A 700 Hz siren at 30 m/s: you compare 767 Hz on approach with 644 Hz after it passes.
  • Sonar: c = 1480 m/s, f = 40 kHz, vs = 5 m/s, a hop only to 40136 Hz.

Frequently asked questions

What f′ at 700 Hz, vs = 30 m/s and vo = 0?

f′ = 700 × 343 / 313 ≈ 767 Hz. Δf ≈ +67 Hz. After it passes, vs = −30 gives ≈ 644 Hz.

What if I leave c untouched?

The calculator uses 343 m/s, sound in air near 20 °C. In water type 1480. Untouched vs and vo mean zero.

Why can the source not catch c?

The denominator c − vs would hit zero. In this model the source does not catch its own wave.

How is the full ratio different from f·(1+v/c)?

The shortcut is a small-v approximation. At 700 Hz and 30 m/s the shortcut is ≈ 761 Hz, the full formula 767 Hz.

What does negative vs mean?

The source is receding. Waves stretch, pitch drops. Ambulance after it passes: vs negative, 700 Hz → 644 Hz at 30 m/s.

How much at 440 Hz, vs = 0 and vo = 2 m/s?

f′ = 440 × 345 / 343 ≈ 443 Hz. A walking observer shifts pitch less than a moving source.

Is this optical Doppler or GPS?

The classical version, sound or water. Light with v near c needs the relativistic formula, which is not here.

How much for 40 kHz sonar, vs = 5 m/s and c = 1480?

f′ = 40000 × 1480 / 1475 ≈ 40136 Hz. A 136 Hz hop, because water c is large.

How do I get wavelength from f′?

Compute f′, then λ = c/f′ on the wavelength page, with the same c as here. At 767 Hz and 343 m/s, λ ≈ 0.45 m.

Is wind in the model?

No. c is wave speed relative to a still medium. Wind would change effective c and needs a different model.

Knowledge sources

The formula is the school one. Units follow SI; NIST SP 330 and BIPM define the measures, not your result.

Page updated in 2026.