Waves & Oscillations
Wave Packet
Many waves summing into a localized pulse
A wave packet is a superposition of many sinusoidal waves with slightly different wavelengths that interfere to form a single localized pulse. The pulse — the envelope — travels at the group velocity v_g = dω/dk while the ripples inside it move at the phase velocity v_p = ω/k. In a dispersive medium the packet spreads over time because each component wavelength travels at a different speed. Wave packets describe localized particles in quantum mechanics, optical pulses racing down fibers, and any finite burst of waves.
- Phase velocityv_p = ω / k
- Group velocityv_g = dω / dk
- Bandwidth boundΔx · Δk ≥ 1/2 (Δx · Δp ≥ ħ/2)
- Deep-water ratiov_g = v_p / 2
- Spread drivergroup-velocity dispersion d²ω/dk²
- Quantum spreadΔx(t) grows as ~ ħt / (mΔx₀) for a free particle
Interactive visualization
Press play, or step through manually. The visualization is yours to drive — try it before reading on.
Watch the 60-second explainer
A condensed visual walkthrough — narrated, captioned, under a minute.
From infinite sine to localized pulse
A single sine wave, A·cos(kx − ωt), stretches from −∞ to +∞. It has one perfectly defined wavelength λ = 2π/k but no location at all — it is everywhere. A real disturbance — a tap on a string, a flash from a laser, an electron in a beam — is localized: it exists here and not there. To build something localized out of sine waves you must add many of them together. That sum is a wave packet.
The idea is pure interference. Take a band of waves whose wavenumbers cluster around a central k₀. At one point in space they all happen to be in phase and add constructively, producing a tall bump. Everywhere else their phases scatter and they cancel by superposition. The more wavelengths you include, the more completely they cancel away from the bump, and the narrower the packet becomes.
Mathematically, a one-dimensional packet is the Fourier synthesis
ψ(x, t) = ∫ A(k) · exp[ i(kx − ω(k)t) ] dk
where A(k) is the amplitude of each component (the spectrum) and ω(k) is the dispersion relation that tells you how fast each wavelength travels. Choose A(k) to be a narrow band around k₀ and ψ is a compact pulse; choose A(k) to be a single spike and ψ is back to an infinite sine wave.
The simplest case: two waves and a beat envelope
You can see the mechanism with just two waves of nearly equal wavenumber, k₀ ± Δk, and frequency ω₀ ± Δω:
cos[(k₀+Δk)x − (ω₀+Δω)t] + cos[(k₀−Δk)x − (ω₀−Δω)t]
= 2 · cos(Δk·x − Δω·t) · cos(k₀·x − ω₀·t)
The result is a fast carrier wave, cos(k₀x − ω₀t), multiplied by a slow envelope, cos(Δk·x − Δω·t). The carrier crests move at the phase velocity v_p = ω₀/k₀. The envelope — the slowly varying amplitude that bunches the carrier into groups — moves at Δω/Δk. In the limit of many closely spaced waves this becomes the derivative dω/dk, the group velocity. This two-wave picture is exactly the phenomenon of beats, lifted into a traveling pattern.
Group velocity vs phase velocity
These two speeds are the heart of the subject, and they are usually different.
| Quantity | Definition | What moves at this speed |
|---|---|---|
| Phase velocity v_p | ω / k | The individual crests / ripples inside the packet |
| Group velocity v_g | dω / dk | The envelope — the pulse that carries energy and information |
| Relationship | v_g = v_p + k · dv_p/dk | Equal only when v_p is independent of k |
When the phase velocity does not depend on wavelength — light in vacuum, waves on an ideal string — every component travels at the same speed, v_g = v_p, and the packet glides along without changing shape. This is a non-dispersive medium. When v_p does depend on k, the medium is dispersive, the two speeds split, and the packet begins to deform.
A famous visual is deep-water gravity waves, where ω = √(gk). Then v_p = √(g/k) and v_g = ½√(g/k) = v_p/2. The crests travel twice as fast as the group. Watch a wave group on the ocean and you see crests appear at the rear, sweep through the group toward the front, and disappear — the carrier outrunning its own envelope.
Why packets spread: dispersion
Expand the dispersion relation around the central wavenumber k₀:
ω(k) ≈ ω₀ + v_g·(k − k₀) + ½ β·(k − k₀)², where β = d²ω/dk²
The constant term sets the carrier oscillation. The linear term moves the whole envelope at the group velocity v_g. The quadratic term β — the group-velocity dispersion — is what spreads the packet. If β ≠ 0, the components with different k accumulate different phase errors, the envelope broadens, and its peak shrinks because the total energy is conserved while being smeared over a wider region.
For a Gaussian packet of initial width Δx₀, the width at time t grows as
Δx(t) = Δx₀ · √( 1 + (β t / Δx₀²)² )
so for large t the width grows linearly: Δx ≈ |β| t / Δx₀. Counterintuitively, a packet that starts narrower (small Δx₀) spreads faster, because squeezing it in space requires a broader band of wavelengths Δk, and a broad band disperses more.
The quantum wave packet
In quantum mechanics a free particle of mass m has the dispersion relation ω = ħk²/(2m), straight from E = p²/2m with E = ħω and p = ħk. Differentiating:
v_p = ω/k = ħk/(2m) = p/(2m)
v_g = dω/dk = ħk/m = p/m = v_classical
The group velocity equals the ordinary particle velocity p/m — this is why the packet, not the individual ripples, represents the particle. The phase velocity is exactly half of it and has no direct physical meaning. Because d²ω/dk² = ħ/m ≠ 0, free-space quantum mechanics is intrinsically dispersive: every free wave packet spreads. An electron localized to Δx₀ = 1 nm spreads to roughly double that width in about 10⁻¹⁵ s; a 1-kg object localized to a micron would take longer than the age of the universe to spread measurably, which is why the macroscopic world looks classical.
The width relation Δx·Δk ≥ ½ is just a fact about Fourier pairs: a function and its transform cannot both be narrow. Multiply by ħ and substitute p = ħk and you recover Heisenberg's uncertainty principle Δx·Δp ≥ ħ/2. The Gaussian packet is the unique minimum-uncertainty state that achieves equality.
Concrete numbers
| System | Group velocity / spreading behavior |
|---|---|
| Light pulse in vacuum | v_g = v_p = c; no spreading (β = 0) |
| 1550 nm pulse in standard single-mode fiber | Spreads ~17 ps per nm of bandwidth per km — limits long-haul bit rate |
| Deep-water ocean swell | v_g = ½ v_p; crests race through the group |
| Free electron localized to 1 nm | Doubles in width in ~1 fs (β = ħ/m) |
| Femtosecond laser pulse, 800 nm, 10 fs | Δλ ≈ 100 nm of bandwidth needed (large Δk for small Δx) |
| Sound pulse in air | Nearly non-dispersive; a clap stays a clap over short ranges |
JavaScript — building and propagating a packet
// Sum many sinusoids with a Gaussian spectrum to make a packet
function packet(x, t, { k0 = 8, sigmaK = 1.0, omega }) {
// omega(k) is the dispersion relation; default = non-dispersive (omega = k)
omega = omega || (k => k);
let re = 0, im = 0;
const N = 200, kMin = k0 - 4 * sigmaK, kMax = k0 + 4 * sigmaK;
const dk = (kMax - kMin) / N;
for (let i = 0; i < N; i++) {
const k = kMin + i * dk;
const A = Math.exp(-((k - k0) ** 2) / (2 * sigmaK ** 2)); // spectrum
const phase = k * x - omega(k) * t;
re += A * Math.cos(phase) * dk;
im += A * Math.sin(phase) * dk;
}
return Math.hypot(re, im); // envelope magnitude
}
// Phase and group velocity from a dispersion relation
function velocities(omega, k0, h = 1e-4) {
const vp = omega(k0) / k0;
const vg = (omega(k0 + h) - omega(k0 - h)) / (2 * h); // numerical dω/dk
return { vp, vg };
}
// Non-dispersive: vg === vp, packet keeps its shape
console.log(velocities(k => k, 8)); // { vp: 1, vg: 1 }
// Deep water: omega = sqrt(g*k) → vg = vp / 2
const g = 9.81;
console.log(velocities(k => Math.sqrt(g * k), 8)); // vg ≈ vp/2
// Free quantum particle: omega = hbar*k^2/(2m) → vg = 2*vp
const hbar = 1, m = 1;
console.log(velocities(k => hbar * k * k / (2 * m), 8)); // vg = 2*vp
// Spreading of a Gaussian packet: width grows with time
function gaussianWidth(dx0, beta, t) {
return dx0 * Math.sqrt(1 + (beta * t / (dx0 * dx0)) ** 2);
}
console.log(gaussianWidth(1, 1, 0)); // 1 (start)
console.log(gaussianWidth(1, 1, 5)); // ~5.1 (spread)
console.log(gaussianWidth(0.5, 1, 5)); // ~20 (narrower start spreads faster)
Where wave packets matter
- Quantum mechanics. The localized "particle" is a packet; its group velocity is the classical particle speed, and its inevitable spreading sets the scale of quantum uncertainty.
- Fiber-optic communication. Each bit is a light pulse. Chromatic dispersion broadens it over kilometers; engineers add dispersion-compensating fiber and chirped pulses to keep bits from overlapping.
- Ultrafast lasers. Mode-locking sums thousands of phase-locked modes into femtosecond packets used for eye surgery, micromachining, and optical frequency combs.
- Radar, sonar, ultrasound. A finite pulse is a packet; its bandwidth sets range resolution — shorter packet, finer resolution, broader spectrum.
- Oceanography and seismology. Wave groups travel at the group velocity, which is how energy and arrival times of swells and seismic surface waves are predicted.
- Slow and fast light. Engineered dispersion can drop group velocity to meters per second or push it past c, the basis of optical buffering experiments.
Common mistakes
- Thinking the crests carry the energy. Energy and information travel with the envelope at the group velocity, not with the phase velocity of the ripples.
- Assuming v_g > c violates relativity. In anomalous dispersion the group velocity can exceed c or go negative, but the front velocity — the speed of the leading edge — never exceeds c, so no signal does.
- Forgetting that narrower packets spread faster. Tight localization demands a wide band of wavelengths, and a wider band disperses more strongly.
- Confusing dispersion with attenuation. Dispersion reshapes the packet (spreads it) without absorbing energy; attenuation removes energy. They are independent.
- Using v_g = v_p. True only in non-dispersive media. In water, glass, plasmas, and free-particle quantum mechanics they differ, sometimes by a factor of two.
- Treating ω(k) as linear. The linear term moves the packet; the curvature d²ω/dk² is what spreads it. Drop the curvature and you lose the spreading entirely.
Frequently asked questions
What is a wave packet?
A wave packet is the sum of many sinusoidal waves whose wavelengths cluster around a central value. Where the waves are in phase they reinforce; everywhere else they cancel. The result is a single localized bump — the envelope — riding on top of fast internal ripples. A pure infinite sine wave is spread over all space; a wave packet trades a spread of wavelengths for a confined position.
What is the difference between group velocity and phase velocity?
Phase velocity v_p = ω/k is the speed of the individual crests inside the packet. Group velocity v_g = dω/dk is the speed of the envelope — the bump that carries the energy and information. In a non-dispersive medium they are equal. In dispersive media they differ; for deep-water waves the crests move twice as fast as the group, so individual crests appear at the back of a wave group, race forward, and vanish at the front.
Why does a wave packet spread out over time?
Spreading is caused by dispersion — the dependence of phase velocity on wavelength. A packet contains a range of wavelengths Δk. If each travels at a slightly different speed, the components drift apart and the envelope widens. The spreading rate is set by the second derivative d²ω/dk², the group-velocity dispersion. A free quantum particle described by a Gaussian packet has its width grow without bound; a non-dispersive medium keeps the packet's shape fixed forever.
How does the wave packet relate to the uncertainty principle?
The width in position Δx and the width in wavenumber Δk obey Δx·Δk ≥ 1/2, a property of any Fourier pair. Multiply by ħ and use p = ħk to get Heisenberg's relation Δx·Δp ≥ ħ/2. A tightly localized packet needs a broad band of wavelengths (large Δk, hence large Δp); a packet built from a narrow band of wavelengths is spread out in space. The Gaussian packet is the minimum-uncertainty state that meets the bound exactly.
Can a wave packet travel faster than light?
The phase velocity can exceed c, and in regions of anomalous dispersion even the group velocity can exceed c or go negative — this has been measured in laser experiments. But neither carries information faster than light. The leading edge of the packet, the front, never moves faster than c, and a genuine signal (a sharp turn-on of the field) is limited by the front velocity. So no usable information outruns light.
Where do wave packets show up in technology?
Every short pulse is a wave packet. Optical-fiber communication sends light pulses that broaden by dispersion over kilometers, limiting bit rate unless dispersion-compensating fiber is added. Mode-locked lasers produce femtosecond packets used in eye surgery and frequency combs. Radar and ultrasound send finite pulses. In quantum mechanics a wave packet is the closest thing to a classical localized particle.