# Pulse compression
**Pulse compression** is a [[Signal_processing|signal-processing]] technique that lets a radar, sonar or medical ultrasound system transmit a long, energetic pulse while still resolving range as finely as a short one, by coding the long pulse so that correlating its echo against a stored copy of the transmission collapses the echo back down to a short, sharp peak. Without it, a system built around a simple pulse of fixed frequency and constant amplitude faces a direct trade: shortening the pulse to resolve nearby targets separately throws away the very energy a longer pulse would deliver, and there is no way, with a simple pulse alone, to keep both.
A three.js microsim elsewhere on the site takes this escape at its most common form, comparing a compressed linear-frequency-modulated chirp with a time-bandwidth product of 50 against the long, uncompressed pulse it started from.
This article follows a simple pulse's limits first, then the two families of coding used to escape them: sweeping the carrier's frequency across the pulse, the [[Chirp|chirp]] waveforms this technique is often named for, and dividing the pulse into phase-coded chips instead. The result, once correlated, feeds directly into the range profiles [[Synthetic-aperture_radar|synthetic-aperture radar]] builds up, and depends in turn on the pulse-timing limits described in [[Radar_signal_characteristics|radar signal characteristics]].
## Simple pulse
### Signal description
A simple pulse radar or sonar transmits a burst of constant-amplitude carrier for a fixed duration τ and then falls silent until the next pulse; nothing about the pulse's frequency or phase changes while it is on. Everything the system will ever know about a given echo comes from timing that single, featureless burst, which is both the simple pulse's appeal, since generating and detecting it needs nothing beyond a switch and a timer, and its limitation, since duration is the only property available to trade against every other requirement.
### Range resolution
Two targets on the same bearing produce separate, distinguishable echoes only if their round-trip delays differ by more than the pulse's own duration, since a longer difference lets the first echo finish arriving before the second begins, while a shorter one overlaps the two into a single, wider return. This gives the simple pulse's range resolution as `ΔR = c·τ/2`, the same relation used throughout radar and sonar signal timing, so resolving closely spaced targets with a simple pulse means shortening τ, and shortening τ directly, with nothing else to compensate, is the only tool a simple pulse offers.
### Energy and signal-to-noise ratio of the received signal
A simple pulse's transmitted energy is its peak power multiplied by how long that power is applied, `E = P_t·τ`, and the [[Signal-to-noise_ratio|signal-to-noise ratio]] a matched receiver recovers from the echo depends on that energy alone, not on the duration and power that produced it separately. This is the trade a simple pulse cannot avoid: shortening τ to sharpen range resolution also shortens the pulse's energy unless peak power rises to compensate, and peak power is bounded by what a transmitter and antenna can physically withstand well before energy is. A designer stuck with a simple pulse must therefore choose between fine resolution and strong, reliable detection; escaping that choice, rather than accepting it, is what the rest of this article describes.
## Pulse compression by linear frequency modulation (or chirping)
### Basic principles
A linear-frequency-modulated pulse, better known as a [[Chirp|chirp]], keeps the transmitter on for the same duration τ a simple pulse would use but sweeps its carrier frequency linearly across that time by a total bandwidth B, rather than holding the [[Frequency_modulation|frequency]] fixed. Duration and bandwidth, tied together in a simple pulse, become two separate knobs: τ can be made as long as the energy budget wants, while B can independently be made as wide as the desired range resolution demands, so long as the receiver knows exactly how the frequency was swept and can correlate against it. The waveform's one well-known quirk is that a moving target's own [[Doppler_effect|Doppler]] shift nudges where the compressed peak falls in apparent range, a coupling between range and velocity that a symmetric, unswept code does not share.
### Cross-correlation between the transmitted and the received signal
Cross-correlating two signals means sliding a copy of one across the other and, at every offset, computing a single number that measures how closely they currently overlap; matched filtering a received chirp against a stored replica of the transmitted one is exactly this operation, a [[Convolution|convolution]] against a time-reversed replica, run continuously as the echo arrives.[^corr-def] Because the transmitted chirp's frequency changes steadily across its duration, the replica lines up closely with the echo only at the one offset corresponding to the true round-trip delay: everywhere else, multiplying the echo by a replica whose instantaneous frequency has drifted away leaves a rapidly oscillating product that averages toward zero over the correlation window, while at the true delay every part of the product adds constructively. The result is a sharp correlation peak sitting on a low, structured floor of residual sidelobes, rather than the broad hump a simple, unswept pulse would produce.
#### Width of the signal after correlation
The width of that peak is set by the chirp's swept bandwidth B rather than by its duration τ: the faster the frequency sweeps across the pulse, the more quickly the replica and the echo drift out of alignment away from the true delay, narrowing the peak to about `1/B` regardless of how long the original pulse ran. Range resolution after compression is therefore `ΔR = c/(2B)`, in place of the simple pulse's `c·τ/2`, and because a chirp's bandwidth and duration are chosen separately rather than tied together as they are in a simple pulse, resolution and pulse energy stop competing for the same number.
#### Energy and peak power after correlation
Correlation cannot create energy, a form of [[Conservation_of_energy|conservation of energy]], so the total energy under the compressed peak equals the energy that was transmitted, `E = P_t·τ`; concentrating that same energy into a peak of width `1/B` instead of spreading it across the original duration τ raises the peak power by the ratio of the two, `τ/(1/B) = B·τ`, the pulse-compression ratio. A chirp of, for example, ten microseconds swept over ten megahertz has a compression ratio of 100: its compressed peak is a hundred times narrower than the transmitted pulse and, for the same transmitted energy, a hundred times higher.
### Signal-to-noise gain after correlation
The same energy-only dependence established above means a compressed chirp delivers the peak signal-to-noise ratio of a simple pulse as long as the chirp itself, while resolving range as finely as a simple pulse only as short as the compressed output, the two requirements a simple pulse could never satisfy together. The gain this buys, restated as signal-to-noise ratio, is the compression ratio B·τ itself; the same time-bandwidth product appears, in a different radio application, as the processing gain of a direct-sequence spread-spectrum receiver, where despreading a signal spread over a bandwidth far wider than its data rate recovers exactly the same kind of coherent gain that lets GPS pull a signal spread over a 1,023-chip code back out of the noise by about 43 decibels.[^gps-gain]
### Stretch processing
Some chirps sweep a bandwidth wide enough that digitising the full received bandwidth directly, at the sampling rate the Nyquist limit would demand, is impractical. Stretch processing avoids this by mixing the received echo against a reference copy of the transmitted chirp before digitising anything: because both signals sweep at the same rate, their difference is a single beat frequency proportional to the round-trip delay, and so to range, rather than a wideband chirp in its own right. Sampling that narrow beat tone at a far lower rate than the original bandwidth would require reconstructs the same fine range resolution the full correlation would have given, at the cost of processing only a limited window of range around the reference delay at a time.[^stretch-origin]
### Stepped-frequency waveform
A stepped-frequency waveform reaches the same wide effective bandwidth a different way: rather than sweeping one long pulse, the radar transmits a burst of short, narrowband pulses, each at its own carrier frequency stepped upward by a fixed increment from the last, so that the whole burst spans the same total bandwidth a single chirp would have occupied. Combining the phase and amplitude the target's echo returns at each stepped frequency, typically with an inverse [[Discrete_Fourier_transform|Fourier transform]] across the burst, synthesizes the same narrow range response a wideband chirp's correlation would produce, using transmitter and receiver hardware that only ever has to handle one narrow frequency at an instant. The target must stay within the same range-resolution cell for the whole burst for the frequencies to combine coherently, which limits the technique to targets not moving too quickly across range during the dwell.[^sfw-origin]
## Pulse compression by phase coding
Phase coding reaches the same result without sweeping the carrier at all. The pulse is divided into a fixed number of equal-duration sub-pulses, or chips, all transmitted at the same frequency, and the transmitter switches the carrier's phase between chips according to a chosen code, most simply between two values 180 degrees apart, the same binary [[Phase-shift_keying|phase-shift keying]] used in digital communication, applied here to a radar pulse instead of a data stream. Correlating the echo against the known chip sequence compresses the whole coded pulse down to a peak about one chip wide, exactly as sweeping the frequency does for a chirp, with a compression ratio equal to the number of chips in the code.
Not every binary sequence compresses cleanly: a chip pattern chosen at random leaves sidelobes scattered around the main peak at levels that can bury a weak target sitting near a strong one, so radars use specific sequences engineered for low sidelobes. The Barker codes, the best known of these, are a short family of biphase sequences, up to thirteen chips long, whose [[Autocorrelation|autocorrelation]] sidelobes are guaranteed never to exceed a single chip's worth of amplitude at any offset, which for the thirteen-chip code holds every sidelobe at least 22 decibels below the main peak.[^barker-name] Longer codes trade that guarantee for length: polyphase and pseudorandom sequences reach far higher compression ratios than any known Barker code, at the cost of sidelobes that fall off more gradually rather than sitting at one guaranteed floor, an autocorrelation trade-off already familiar from [[Window_function|windowing]] a Fourier transform.
## Microsims
A three.js companion elsewhere on the site compares a compressed chirp against the long pulse it came from, in more depth than this article's own text attempts.
This article carries no p5.js sketch of its own, so the reader who wants to see the resolution problem pulse compression exists to solve is better served by two neighbouring articles' sketches, both of which show a simple, uncompressed pulse rather than a compressed one. The Radar sketch widens or narrows a transmitted pulse directly and shows, in a zoomed inset, a close pair of targets merging into one indistinguishable hump as the pulse widens, exactly the resolution loss a long, energetic simple pulse pays for its energy. The Sonar sketch shows the identical trade-off in an active sonar's ping length, since sound pulses in water face the same arithmetic as radio pulses in air.
*Try:* in the [[Radar]] sketch, widen the pulse until the zoomed inset's two close targets merge into one hump, then compare that resolution against what a chirp of the same energy and the same duration, compressed down to its bandwidth-limited width, would instead deliver.
*Try:* in the [[Sonar]] sketch, lengthen the ping and watch the same merging happen underwater; sonar pulse compression escapes it by exactly the linear-FM and phase-coding methods described above, applied to sound instead of radio.
## Wikipedia : Wikitube
**Strict pair:** [Wikipedia](https://en.wikipedia.org/wiki/Pulse_compression) : [Wikitube](https://en.wikitube.io/wiki/Pulse_compression)
Skeleton mirrored at revision 1352246993. Prose, emphasis and the microsims are Wikitube's own.
## See also
- [[Chirp]]
- [[Matched_filter]]
- [[Radar]]
- [[Sonar]]
- [[Synthetic-aperture_radar]]
- [[Radar_signal_characteristics]]
## References
The core relations here — `ΔR = c·τ/2`, `ΔR = c/(2B)` and the compression ratio `B·τ` — are standard pulse-compression theory, used throughout radar and sonar signal processing, and are not separately footnoted, per the Wikitube style guide's §6.1. Page numbers below are PDF pages of the open editions linked in Further reading.
[^corr-def]: Downey, A. *Think DSP: Digital Signal Processing in Python*. 2012, pp. 63-64 (PDF pages). Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/think-dsp-digital-signal-processing-in-python . CC BY-NC.
[^gps-gain]: Ellingson, S. *Radio Systems Engineering, Revised First Edition*. 2023, p. 180 (PDF page). Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/radio-systems-engineering . CC BY-NC.
[^barker-name]: Citation needed: the original paper defining the Barker sequences (commonly attributed to R. H. Barker, 1953) would confirm the date, venue and exact priority claim.
[^stretch-origin]: Citation needed: a named early wideband radar programme's technical history would confirm when stretch (deramp-on-receive) processing was first fielded.
[^sfw-origin]: Citation needed: a named radar system's technical history would confirm when stepped-frequency waveform processing was first fielded and by whom.
## Notes
Page numbers above are PDF pages of the open editions linked in Further reading. The worked figures in this article, a ten-microsecond chirp swept over ten megahertz and a thirteen-chip Barker code, are illustrative round numbers chosen to make the arithmetic easy to follow, not the published parameters of any specific named radar.
## Further reading
- Steven Ellingson. *Radio Systems Engineering, Revised First Edition* (2023). Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/radio-systems-engineering
- Allen Downey. *Think DSP: Digital Signal Processing in Python* (2012). Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/think-dsp-digital-signal-processing-in-python
- Christian Tiberius; Max Mulder. *Engineering Signal Analysis: From Fourier to filtering: Theory* (2026). Open Textbook Library: https://open.umn.edu/opentextbooks/textbooks/engineering-signal-analysis-from-fourier-to-filtering-theory
<!-- Hubs: Signal_processing. Portals: PORTAL_Radar. Radar portal wave 1 · 2026-09-17 · drafted. -->