Introduction

Underwater sound and sonar

Thirty-five modules taking one subject from a wave in the water through to a target's course and speed. Everything here is computed rather than asserted: the panels run the real equations and report what they actually produce, including where the models break.

Sonar is unusual among engineering disciplines in how little of it can be taken on trust. The medium refuses to hold still, the signals are faint and irregular, and almost every quantity that matters is a ratio of two other quantities in decibels. What makes it tractable is that a small number of relationships turn up again and again in different clothes — the same Fourier transform describes a spectrum and a beam pattern, the same sampling theorem governs a sample rate and an element spacing, the same aliasing produces a ghost tonal and a ghost bearing. This primer is organised around noticing that.

How to use it

  • Follow the core path first. The rail on the left has a toggle: fifteen modules that carry the main argument, or all of them. The rest add depth and can be read in any order once the spine is in place.
  • Change things. Nearly every module has a live panel. Most of them share one array configuration — change the frequency in module one and the beam pattern, the detection range and the bearing accuracy all move together, which is the coupling the whole subject turns on. The bar at the top reports whatever the module you are reading actually depends on, so it switches to wave state, or to scenario geometry, as you move.
  • Answer before you scroll back. Each module ends with a few questions. They are chosen to target the places where intuition is reliably wrong, and being wrong first is the point.
  • Follow the worked contact. One geometry — Contact Alpha, at twelve kilometres, making 250 at twelve knots — is carried through nineteen modules with every figure computed from that single scenario, so the numbers agree with each other all the way through.
  • Use the reference. Seventy-eight formula cards with every symbol defined, and over two hundred and thirty glossary terms, both filterable. There is also a MATLAB export that emits the array you have configured as runnable code.

The shape of the course

BlockModulesWhat it settles
Waves and levels1–3Wavelength as the only unit that matters, superposition, and what a decibel is a ratio of
The medium4–7Where the sound goes: refraction, ray tracing, shallow-water modes, ambient noise
Detection8–9What a threshold costs, and why a fading signal needs eight more decibels
Arrays and beamforming10–18Two hydrophones to an aperture; patterns, resolution, grating lobes, shading, adaptive weights
Signals and displays19–21Narrowband against broadband, the displays, and the processing chain with its rates
Real hardware22–24Transducers, element errors, array shape — where the ideal model stops being true
Putting it together25–27The sandbox, the three array fits compared, and classification
Motion and solution28–35Relative motion, Doppler, TMA, recursive estimation, tracking, ranging, active and bistatic

A short history

The subject is older than it looks, and its shape was set by three wars and one disaster.

How sonar arrived

the ideas, and how long each waited for the technology
  • 1490 — a tube in the water. Leonardo da Vinci records that a tube placed in the sea, with its other end at the ear, allows distant ships to be heard. Passive sonar in one sentence, and then nothing for three hundred years.
  • 1826 — the speed of sound in water. Colladon and Sturm [1827] ring a submerged bell across Lake Geneva against a flash of powder and time the gap. They get about 1435 m/s at 8 °C, which is within a fraction of a per cent of the modern value. The number this whole primer runs on was measured before anyone had a use for it.
  • 1880 — piezoelectricity. The Curie brothers find that quartz separates charge when strained. Nearly every transducer since has been built on it, but it takes another thirty-five years for anyone to put it in the sea.
  • 1912 — the Titanic. Within weeks of the sinking, Lewis Richardson files patents for echo ranging, first in air and then in water. Two years later Reginald Fessenden's electrodynamic oscillator detects an iceberg at about two miles — and, more consequentially, the sea floor beneath the ship.
  • 1915–18 — the submarine problem. Paul Langevin and Constantin Chilowsky build a quartz-and-steel transducer, and in 1918 obtain the first echo from a submarine. In parallel the British develop what they call ASDIC, the name most often explained as coming from the Anti-Submarine Division, though the derivation has been disputed. The American acronym SONAR — sound navigation and ranging — arrives in the 1940s and eventually displaces it.
  • 1930s–40s — the ocean turns out to have structure. The bathythermograph makes it routine to measure temperature against depth, and the layer, the shadow zone beneath it and the afternoon effect stop being mysteries and become predictions. Ewing and Worzel demonstrate the deep sound channel in 1944, showing that a small charge can be heard across an ocean basin.
  • 1950s–70s — listening. Fixed hydrophone arrays are laid on the sea floor, narrowband analysis makes machinery lines a signature rather than a noise, and the towed array moves the aperture away from the ship that carries it. Passive detection displaces active as the method of choice, for the reason set out in the active module: transmitting tells everyone where you are.
  • 1980s onward — the processing. Beamforming moves into software, adaptive and subspace methods arrive from the wider array-processing literature, and matched-field and multistatic techniques begin to treat the environment as part of the model rather than as an obstacle. The physics has not changed since Langevin. Almost everything else has.
A note on the numbers

Every figure in the panels is computed live from the models described in the text, and the text says which approximation is in use — Thorp for absorption, Rayleigh for boundary reflection, a two-state constant-velocity filter for tracking. Several of them are deliberately crude, and where a model is at the edge of its validity the readouts say so rather than reporting a confident number. Two useful habits: check whether the result you are looking at is normalised to its own peak or to something absolute, and check what the display floor is set to.

Sound in water, and the only unit that matters

An array never measures metres. It measures wavelengths. Get comfortable converting between them and most of what follows is arithmetic.

A pressure wave travelling through water obeys the same relation as any other wave: speed equals frequency times wavelength. In seawater the speed c sits near 1500 m/s, but it drifts with temperature, salinity and depth — roughly 1450 to 1550 m/s in practice. That variation is small enough to ignore for a first pass and large enough to matter when you are calibrating a real system.

c = f · λ λ = c / f k = 2π / λ wavenumber, rad per metre ω = 2π f angular frequency, rad per second T = 1 / f period, seconds

The wavenumber k is worth internalising now. It converts distance into phase: move a hydrophone x metres along the direction of travel and the signal it sees shifts by k·x radians. Nearly every formula later in this primer is that one idea wearing a different hat.

Wave in the water column

a hydrophone sampling a passing plane wave
pressure fieldhydrophone output vs timeone wavelength
The scaling law

A 2 m array at 15 kHz and a 20 m array at 1.5 kHz have identical beam patterns. Same aperture measured in wavelengths, same behaviour. Whenever a result surprises you, re-express the geometry in wavelengths and it usually stops surprising you.

Frequencies you will meet

BandTypical useWavelength at 1500 m/s
10 – 100 HzLong-range passive detection, shipping noise150 – 15 m
0.1 – 1 kHzTowed passive arrays, machinery tonals15 – 1.5 m
1 – 10 kHzMid-frequency active sonar1.5 – 0.15 m
10 – 100 kHzImaging, sidescan, USBL tracking150 – 15 mm
> 300 kHzHigh-resolution imaging, short range< 5 mm

Notice the tension already: low frequency travels far but has a long wavelength, so a usefully-sized aperture in wavelengths becomes physically enormous. That single trade-off drives most array design.

Superposition and interference

Two pressure waves arriving at the same point simply add. That one sentence is the entire mechanism behind beamforming, and it is worth watching happen before sixteen channels are summed at once.

Acoustics in water is linear at the levels we care about, so the total pressure at any point is the algebraic sum of the pressures each wave would produce alone. Nothing is lost and nothing is created — energy that vanishes at a null has gone somewhere else, into a maximum elsewhere.

For two waves of the same frequency and equal amplitude A, differing in phase by φ:

A_result = 2A · |cos(φ/2)| φ = 0 → 2A → +6 dB fully constructive φ = π/2 → 1.41A → +3 dB φ = π → 0 → a null fully destructive

That expression is a two-element array. When the extra path in a later module puts the two hydrophones half a wavelength out of step, φ = π and their sum is zero — which is exactly the first null of a two-element beam pattern. Every beam pattern in this primer is this formula generalised to N terms.

Two waves adding

set the offset to zero for pure interference, then open it up for beats
wave 1wave 2sumenvelope

Coherent and incoherent addition

Whether signals add as amplitudes or as powers depends entirely on whether they hold a fixed phase relationship. This is the single most useful distinction in the whole subject, because it is what makes an array work at all.

Two equal signalsAdd asResultWhere
Coherent, in phaseamplitudes+6 dBsignal in the beamformer's look direction
Coherent, anti-phaseamplitudesa nullsignal at a pattern null
Incoherentpowers+3 dBindependent noise between channels

The 3 dB difference per doubling is where array gain comes from. Sum N channels and the coherent signal gains 20 log N while the incoherent noise gains only 10 log N. The difference, 10 log N, is the array gain of the delay-and-sum module.

Beats

Two waves at slightly different frequencies drift steadily in and out of phase, producing an amplitude envelope at the difference frequency |f₁ − f₂|. Open the frequency offset in the panel above to see it. Beats matter practically: two machines running at nearly the same shaft rate produce a slow throb rather than two clean lines, and an unresolved pair of tonals inside one analysis bin looks exactly like this.

Standing waves

Two identical waves travelling in opposite directions produce a pattern that does not travel at all. Nodes — points of permanently zero pressure — sit every half wavelength, with antinodes halfway between. A hydrophone parked at a node measures nothing no matter how loud the field is. This is why measurements in tanks and closed volumes are treacherous, why structural resonances appear at frequencies set by a dimension in half-wavelengths, and why a reflecting boundary near an array is a problem rather than a bonus.

Lloyd's mirror

The sea surface is an almost perfect pressure-release boundary: the reflection coefficient is close to −1, so a reflected wave comes back inverted. Any shallow source therefore has an image source an equal distance above the surface, radiating in anti-phase, and the two interfere.

path difference Δ ≈ 2 · z_s · z_r / R R ≫ depths relative field 20 log₁₀ | 2 sin( πΔ / λ ) | maxima at R = 4 z_s z_r / ( (2m+1) λ ) nulls at R = 2 z_s z_r / ( m λ ) last maximum at R = 4 z_s z_r / λ

Two consequences are worth carrying away. Close in, the level oscillates through a series of fringes as range changes. Beyond the last maximum the direct and image waves are nearly anti-phase everywhere and cancel progressively, so the field falls as 40 log R rather than 20 log R — a shallow source becomes very quiet at long range, very quickly. This is why source and receiver depth matter as much as power.

The fringes are also information. Their spacing depends on z_s z_r / λ, so watching the interference pattern sweep across a spectrogram as a contact closes gives an estimate of its depth, and in some geometries its range — passive ranging with no array manoeuvre at all.

Lloyd's mirror interference

field relative to free-field spreading, against range
interference factorlast maximumfree field

Decibels, power and gain

The decibel is not a unit. It is a ratio between two quantities, expressed logarithmically, and half the confusion around it comes from nobody saying what the other quantity is.

Acoustic quantities in water span an absurd dynamic range. A distant merchant ship and a nearby transmitter differ by twelve orders of magnitude in power. Logarithms compress that into a readable scale, and — more usefully — turn the chain of multiplications that describes a sonar system into a chain of additions you can do in your head.

power-like quantities: dB = 10 · log₁₀( P / P_ref ) amplitude-like quantities: dB = 20 · log₁₀( A / A_ref )

The factor of two is not a convention, it is physics. Acoustic intensity goes as the square of pressure, I = p² / (ρc), so doubling pressure quadruples power. A hydrophone measures pressure, so pressure ratios take 20·log; anything you have already squared takes 10·log. Get this wrong and every number you produce is out by a factor of two in dB.

The arithmetic worth knowing by heart

dBPower ratioAmplitude ratioWhere it turns up
3 dB×2×1.41half-power beamwidth; doubling elements
6 dB×4×2spherical spreading over doubled range
10 dB×10×3.16one order of magnitude
20 dB×100×10a sidelobe you cannot ignore
−13.3 dB×0.047×0.22first sidelobe of a uniform array
Always name the reference

Underwater levels are quoted dB re 1 µPa. Airborne levels are quoted dB re 20 µPa. That is 26 dB of reference offset, and the acoustic impedance of water is about 3600 times that of air, worth a further 36 dB. The same physical intensity is therefore quoted roughly 62 dB higher underwater than in air. Comparing a marine source level with an airborne noise figure without that conversion is a classic and very public mistake.

Absolute, relative, and per-hertz

  • Absolute level. A reference is stated: dB re 1 µPa. Source level adds a range convention too: dB re 1 µPa @ 1 m, meaning the level extrapolated back to one metre from an equivalent point source, not a level anyone ever measures there.
  • Relative level. No reference stated because it is a ratio to something in context. Every beam pattern in this primer is normalised to its own peak, so 0 dB means "as sensitive as the array gets" and says nothing about absolute sensitivity.
  • Spectral density. dB re 1 µPa²/Hz. Broadband noise measured in a wider band gives a higher number for the same water, so per-hertz density is the only fair way to quote it. Adding 10 log₁₀(B) converts a density to a level in band B.

Ratio, both ways

the same decibel figure means different things for power and for pressure
power ratio, 10 logamplitude ratio, 20 log

Where gain comes from

A gain is just a ratio expressed in dB, and because they are logarithms they add. The array gain from the delay-and-sum module, the processing gain from a long FFT, and any amplifier gain all stack additively. So does every loss. That is what makes the sonar equation a piece of arithmetic rather than a piece of algebra:

passive: SE = SL − TL − ( NL − DI ) − DT active: SE = SL − 2·TL + TS − ( NL − DI ) − DT SL source level TL transmission loss (one way) NL ambient noise level DI directivity index of the array TS target strength DT detection threshold SE signal excess — positive means detected

Note where the array appears: only as DI, subtracting from the noise. An array does not make the signal louder. It discriminates in angle, so it rejects noise arriving from everywhere else, and the beam pattern shaped across the beam pattern module and the four that follow it is precisely the thing that sets that number. The DI in the calculator below is taken from your current array configuration, not typed in.

Signal excess budget

DI comes from the array you have configured
The 6 dB that costs a fortune

Transmission loss for spherical spreading is 20 log₁₀(R), so every doubling of range costs 6 dB. Recovering 6 dB by array gain alone means quadrupling the element count. This is why range performance is usually bought with frequency, waveform and integration time long before anybody buys it with hydrophones.

The ocean as a medium

Everything so far has assumed a plane wave arriving in a straight line through uniform water. The ocean is neither uniform nor kind, and transmission loss is not a slider — it is a computed quantity with structure.

Spreading and absorption

Transmission loss has two parts that behave completely differently. Spreading is geometric: the same energy crosses an ever-larger surface. Absorption is thermodynamic: energy is converted to heat by relaxation of boron and magnesium compounds in seawater, and it accumulates with distance travelled.

TL = n · log₁₀( R ) + α · R / 1000 R in metres, α in dB/km n = 20 spherical spreading, free field n = 10 cylindrical, once trapped between surface and bottom n = 40 Lloyd's mirror region beyond the last maximum

Absorption is where frequency exacts its price. Thorp's expression [Thorp 1967], with f in kHz, is the standard approximation:

α = 0.11 f²/(1+f²) + 44 f²/(4100+f²) + 2.75×10⁻⁴ f² + 0.003

Thorp's expression is a fit, dependable to roughly 50 kHz and indicative above that; a full treatment uses François–Garrison [1982], which also accounts for temperature, salinity and depth. The numbers are brutal. At 1 kHz absorption costs about 0.07 dB per kilometre and is essentially free. At 10 kHz it is roughly 1 dB/km. At 100 kHz it is around 34 dB/km, so a 10 km path costs 340 dB and the answer is simply no. This is the hard constraint behind the resolution module: raising frequency to shrink the wavelength and sharpen the beam works beautifully right up until the signal stops arriving.

Figure of merit

Rearranging the sonar equation from the decibel module gives the allowable transmission loss — the figure of merit. Detection range is simply where the TL curve crosses it.

FOM = SL − ( NL − DI ) − DT detection when TL ≤ FOM

The array appears once again only through DI. Change the element count and watch the predicted range move in the panel below.

Transmission loss against range

the crossing point is the predicted detection range
total TLspreading onlyfigure of merit

Refraction: why sound does not travel in straight lines

Sound speed in seawater rises with temperature, salinity and pressure. Pressure increases steadily with depth, temperature usually falls, and the competition between them gives the water column a structure that bends sound dramatically. Snell's law applies exactly as it does in optics:

cos θ / c(z) = constant along a ray rays bend toward lower sound speed a ray turns where c(z) rises to c₀ / cos θ₀

The consequences dominate practical sonar performance:

  • Surface duct. A wind-mixed layer is isothermal, so pressure wins and sound speed rises with depth. Sound launched shallow refracts upward, reflects off the surface, and is trapped. Detection ranges inside the duct are excellent; a target just beneath it may be inaudible.
  • Sonic layer depth and the shadow zone. Below the layer the thermocline drives sound speed down sharply, bending rays steeply downward. The region just below and beyond the layer receives almost no energy at all.
  • Deep sound channel. At the sound speed minimum, rays refract back toward the axis from both above and below. Energy is trapped with no boundary losses and can travel thousands of kilometres.
  • Convergence zones. Where the water is deep enough, rays that dive past the axis refract back up and re-surface in annuli — typically every 30 to 35 nautical miles in the Atlantic — with high intensity. Detection range is therefore not monotonic: a contact can be inaudible at 20 nmi and loud at 33.
  • Bottom bounce. Steep rays reflect off the sea floor, filling some of the shadow zone at the cost of substantial and highly variable reflection loss.

Sound speed profile and ray paths

move the source through the layer and watch the ray family change
rays trapped in the ductrays escaping downwardsource
What this does to a bearing

Refraction means energy arrives at a non-zero vertical angle, often several degrees. A line array measures the conical angle from its own axis, so vertical arrival angle folds directly into apparent horizontal bearing — the cone of ambiguity described in the real-array module. A steeply-arriving convergence-zone path can therefore be reported at a bearing that is measurably wrong, and no amount of array processing recovers it without a propagation model.

Ray tracing

A ray trace answers the question that decides most of sonar performance: where does the sound actually go? Not how loud it is at some range, but which parts of the ocean it reaches at all, and by what paths.

The propagation module introduced refraction and showed rays bending. This module treats ray tracing as the tool it is in practice — a prediction you run before an operation, with a real bottom, a real sea surface and a real source depth, whose output tells you where to put your sensor and where a contact could hide from it.

What the tracer is doing

A ray is the path along which acoustic energy travels, perpendicular to the wavefronts. Snell's law in a horizontally stratified ocean gives a quantity that is conserved along the whole path, and everything else follows from it:

cos θ(z) / c(z) = ξ the ray parameter, constant along one ray a ray turns where c(z) = 1 / ξ = c₀ / cos θ₀ in a constant gradient g = dc/dz it is a circular arc of radius R_arc = 1 / ( ξ · g )

That second line is the whole of refraction in one statement. A ray launched shallowly has cos θ₀ near one, so it turns at a sound speed only slightly above where it started — it stays near its own depth. A steep ray needs a much larger sound speed to turn it, and if the water column never reaches that speed the ray keeps going until it meets a boundary. The distinction between rays that turn and rays that hit things is what creates ducts, shadow zones and convergence zones.

Choosing a profile

Four of the profiles here are idealised shapes chosen to isolate one behaviour each — a surface duct, a deep channel, downward refraction, and the straight-line case of isovelocity water. The fifth is different. The Munk profile [Munk 1974] is an analytic fit to the deep open ocean, and it is the standard test case against which propagation models are compared:

c(z) = c₁ · [ 1 + ε · ( η + e^(−η) − 1 ) ] η = 2 ( z − z₁ ) / B c₁ = 1500 m/s z₁ = 1300 m B = 1300 m ε = 7.37×10⁻³

It gives about 1548 m/s at the surface, a minimum of exactly 1500 m/s on the channel axis at 1300 m, and rises again to roughly 1552 m/s at 5000 m. That last figure matters: the deep water is faster than the surface water, which is what gives the profile depth excess and allows convergence zones to form. Set the water depth to 5000 m with the Munk profile and the classic deep-water ray pattern appears — a sound channel about the axis, and convergence zones for shallow sources. Reduce the depth to 3000 m and they vanish, because the bottom now cuts off the deep part of the path before it can turn a ray back up.

What happens at the boundaries

Rays that reach a boundary lose energy, and how much depends strongly on the angle. This is where a realistic trace differs from a textbook one, because the losses decide which paths survive to long range.

  • The sea surface is a near-perfect reflector when flat, and a scatterer when not. The controlling quantity is the Rayleigh roughness parameter, comparing the wave height to the wavelength as seen at the grazing angle. Coherent reflection loss rises as its square, so surface bounces are cheap at low frequency and shallow angles, and expensive at high frequency in a rough sea.
  • The sea bed has a critical grazing angle set by the sound speed contrast. Below it the bottom reflects almost perfectly; above it, energy refracts into the sediment and is largely gone. A fast bottom such as rock has a large critical angle and reflects a wide range of rays; mud, which is slower than the water above it, has no critical angle at all and absorbs at every angle.
surface: Γ = 2 k σ sin θ_g reflection loss ≈ 4.34 Γ² dB bottom: θ_c = arccos( c / c_b ) critical grazing angle R = ( m sin θ_g − √( n² − cos²θ_g ) ) / ( m sin θ_g + √( n² − cos²θ_g ) ) n = c / c_b, m = ρ_b / ρ

One caveat on the surface figure. What that expression gives is the loss to the coherent reflection — the part that stays in the specular direction with its phase intact. Energy removed from it is not destroyed but scattered into other directions, so a rough surface is better described as redistributing sound than absorbing it. For predicting a specular path the coherent loss is the right number, and at high frequency in a rough sea it becomes severe enough that the specular path effectively ceases to exist.

The shape of the sea floor

A flat bottom is a convenience, not a description. The sea floor available here includes a shoaling slope, a deepening one, a shelf with a drop-off, a seamount, a canyon and a set of terraces, each with adjustable roughness generated from a seed — so the same seed always reproduces the same sea bed, and a new one gives a new gradient and a new set of bumps to test a conclusion against.

Sloping ground changes the physics rather than merely the picture, and the reason is worth stating plainly. Snell's invariant is conserved along a ray in horizontally stratified water and across a reflection from a flat boundary — the angle flips sign and everything else is unchanged. It is not conserved across a reflection from a sloped one. The ray reflects about the local normal, so its angle to the horizontal changes by twice the slope angle:

θ' = θ + 2β β = local sea floor slope angle

Watch what that does over several bounces. On a shoaling slope every bottom interaction steepens the ray. A ray that started at four degrees leaves the first bounce at nearly seven, the next at nine, and after a handful of interactions it exceeds the bottom's critical angle and stops reflecting at all. This is why shallowing water destroys long-range propagation so effectively: it is not that the water is shallow, it is that the slope keeps converting shallow rays into steep ones until the bed absorbs them. The readout counts bottom bounces, and a shoaling slope typically produces three or four times as many as a flat plain over the same range while leaving barely half the rays intact.

A deepening slope does the reverse: it flattens rays, so energy that would have been lost is instead carried out into deeper water at ever shallower grazing angles. This is downslope conversion, and it is why a source over a slope can be heard far out into the basin beyond it. A seamount casts an acoustic shadow behind it and can turn steep rays straight back down-range. A canyon tends to trap and guide.

The ray field

click anywhere on the diagram to move the receiver
strong pathattenuatedheavily attenuatedreaches the receiver
source is magenta, receiver amber

The three strips are one picture, sharing a range axis. The top shows the paths, coloured by how much energy each has lost so far — a pale ray is still there in the geometry but no longer worth much in the sonar equation. The middle shows the ensonification, the ray density weighted by that loss, which is where shadow zones and convergence zones become obvious. The bottom takes a horizontal cut through it at the receiver's depth, which is the curve a sonar operator would recognise as transmission loss against range — complete with the convergence-zone peaks and the shadow-zone collapse between them.

Where the energy ends up

A ray diagram shows paths; it does not directly show intensity. Intensity comes from how a bundle of rays — a ray tube — spreads out. Where neighbouring rays diverge the same energy is smeared over more water and the level falls; where they converge it is concentrated and the level rises.

Two features are worth hunting for. A caustic is a surface where neighbouring rays touch and the ray-tube area collapses — ray theory predicts infinite intensity there, which is its way of admitting it has broken down, but the real field is genuinely loud. Convergence zones are caustics. A shadow zone is a region no ray reaches; ray theory predicts nothing at all, while in reality diffraction leaks some energy in. Both are places where the model is at its least trustworthy and its predictions are most useful.

Wavefronts, the other way to look at it

Turn the wavefronts on and the diagram shows surfaces of constant travel time instead of paths. Rays and wavefronts are perpendicular descriptions of the same field, and some things are far clearer on one than the other. A wavefront folding back on itself is a caustic. A wavefront that has been stretched thin is a region of low intensity. And watching one propagate makes it obvious that a duct is not a tube sound is poured into but a region where the wavefront keeps being bent back.

Eigenrays and the arrival structure

Put a receiver somewhere specific and only a handful of rays actually connect it to the source. Those are the eigenrays, drawn in magenta on the diagram above, and they are the practical output of a ray model: each one arrives at its own time, from its own angle, having lost its own amount of energy along the way.

Stack them and you have the channel's impulse response — direct path first, then surface-reflected, then bottom, then the multiply-reflected paths trailing away. That structure explains a great deal at once. It is the multipath of the interference module, the delay spread that sets coherence bandwidth in the fading module, and the arrival-time differences that make multipath ranging possible. It is also what a matched filter has to contend with: a pulse transmitted once arrives several times.

Arrivals at the receiver

move the receiver on the diagram above and watch paths appear, merge and vanish
direct or refractedsurface reflectedbottom reflected

What it is actually used for

  • Choosing your own depth. A variable-depth or dipping sonar can be placed above or below the layer. The trace tells you which choice ensonifies the water the contact is likely to be in, and it is often a stark difference rather than a marginal one.
  • Predicting detection range against depth. The useful product is not a single range but a picture of range against target depth — which is exactly what the ensonification map is, once transmission loss is fed into the sonar equation.
  • Explaining a lost contact. A track that fades at a particular range has usually entered a shadow zone rather than done anything clever. Knowing that in advance turns a mystery into a prediction, and tells you where it will reappear.
  • Planning active transmissions. Which paths reach the target, and do they come back? Bottom-bounce geometry is chosen deliberately from traces like these, and the critical angle decides whether it works at all.
  • Interpreting multipath. Arrival time and angle differences give range and depth if you can model the channel, which is the basis of multipath ranging and of matched-field processing.
  • Inverting for the environment. Run it backwards: measured arrival structure plus a search over bottom properties recovers the sediment. Geoacoustic inversion is ray tracing with the unknowns moved.
Where it stops being true

Ray theory is a high-frequency approximation [Jensen et al., ch. 3]: it assumes the wavelength is short compared with the scale over which sound speed changes and with the channel itself. It gives nonsense at caustics, predicts silence in shadow zones where diffraction actually delivers energy, and becomes unusable in shallow water at low frequency, where the modal description of the next module takes over. The practical test is the ratio of water depth to wavelength — a few tens of wavelengths and rays are reliable, a few wavelengths and they are not. It also assumes a horizontally stratified ocean, which fronts, eddies and internal waves regularly refuse to be.

Shallow water

The previous module described a deep ocean where rays bend smoothly through a thick water column. Most sonar does not happen there. It happens in a hundred metres of water over a sandy bottom, where ray theory quietly stops being true.

Ray theory assumes the wavelength is small compared with everything else — small compared with the depth, small compared with the scale over which sound speed changes. In 100 m of water at 200 Hz the wavelength is 7.5 m and the channel is only thirteen wavelengths deep. Under those conditions the water column behaves less like a medium rays travel through and more like a waveguide, and the right description is modal.

Modes, and the frequency below which nothing travels

A waveguide supports a discrete set of standing-wave patterns across its depth [Jensen et al., ch. 5], each of which propagates horizontally at its own speed. Only whole numbers of half-wavelengths fit between the pressure-release surface and the bottom, so only certain vertical wavenumbers are allowed:

k_z,m ≈ ( m − ½ ) π / H m = 1, 2, 3 … k_r,m = √( k² − k_z,m² ) k = 2π f / c a mode propagates only where k_r,m is real

That last line has a striking consequence. Below a certain frequency no mode propagates at all and the channel simply refuses to carry sound horizontally. The waveguide is a high-pass filter, and the cutoff depends on depth and on how fast the bottom is:

f_cutoff,m ≈ ( m − ½ ) · c / ( 2 H · √( 1 − (c/c_b)² ) )

In 100 m of water over a sandy bottom the first mode cuts off around 8 Hz; in 20 m it is nearer 40 Hz. This is why very low frequency detection, which works so well in the deep sound channel, is unavailable on the continental shelf — the energy is there, but the channel will not propagate it.

Which modes propagate

shallower water and a slower bottom both push the cutoffs up
mode propagatesbelow cutoff — evanescentfrequency in use

Dispersion, and why a click arrives as a warble

Each mode travels at its own group velocity, and each mode's group velocity depends on frequency. A transient that leaves the source as a single sharp click therefore arrives spread out in time, with different frequencies arriving at different moments. In an ideal waveguide the relationship is simple and exact:

v_phase · v_group = c² v_group → 0 just above cutoff v_group → c far above it

So each mode arrives late and sluggish near its own cutoff and progressively earlier as frequency rises. Plotted on a spectrogram the arrival forms a set of curved sweeps — one per mode — descending toward the water sound speed. The last thing to arrive is the Airy phase, the frequency at which group velocity is a minimum, and it often carries the largest single burst of energy in the whole reception.

Two practical consequences follow. A matched filter built for the transmitted waveform no longer matches what arrives, so pulse compression degrades unless the channel is modelled. And the dispersion is itself information: the shape of those curves depends on water depth and bottom properties, which is the basis of geoacoustic inversion.

Modal arrivals from a transient

this is what a click looks like on a spectrogram after a few kilometres
mode 1higher modesAiry phase — slowest arrival

The bottom decides everything

In deep water the sea floor is a distant nuisance. In shallow water every propagating path has struck it repeatedly, so its properties dominate transmission loss:

  • Critical angle. Sound striking the bottom at a shallow grazing angle reflects almost perfectly; steeper than the critical angle θ_c = arccos(c/c_b) it refracts into the sediment and is lost. Only the shallow-angle energy survives to long range, which is another way of saying only the low-order modes do.
  • Mode stripping. High-order modes strike the bottom at steeper angles and more often, so they attenuate fastest. At long range the field is carried by one or two surviving modes, and the sound field becomes simpler as it gets weaker.
  • Bottom type. Rock and coarse sand are fast and reflective; silt and mud are slow and lossy. The difference between a good bottom and a bad one is easily 20 dB of transmission loss at a few kilometres, which dwarfs most things a sonar designer can control.
What this does to everything else

Shallow water is not deep water with less room. Transmission loss is worse and far more variable; multipath is dense enough to destroy waveform coherence, capping the integration times of the narrowband module; reverberation is severe because the boundaries are always close; and the arrival angles that reach the array span a wide vertical spread, which the cone of ambiguity turns into bearing error. Every module in this primer works in shallow water — but the margins are thinner and the assumptions creak.

Ambient noise

The noise level in the sonar equation is not a single number. It is a spectrum with a characteristic shape, dominated by different physical processes in different bands, and its minimum is one of the things that chooses your operating frequency for you.

Ambient noise is quoted as a spectral density, in dB re 1 µPa²/Hz, for the reason given in the decibel module: measure the same water in a wider band and you get a bigger number. To get the level in a band of width B, add 10 log₁₀ B.

The four regimes

BandDominant sourceSlopeVaries with
below ~10 Hzoceanic turbulence, tidesfalls steeplycurrent, weather
~10 – 300 Hzdistant shippingbroad plateautraffic density, season
~300 Hz – 50 kHzwind, breaking waves, sprayabout −5 to −6 dB/octavesea state — strongly
above ~50 kHzthermal agitation of the waterrises at +6 dB/octavenothing — it is a physical floor

The thermal line is worth pausing on. It is Brownian motion of the water molecules against the hydrophone face, it rises with frequency, and it cannot be reduced by any amount of engineering. Above about 100 kHz it sets an absolute limit on what any sensor can hear.

The curves below follow Wenz [1962]. Because shipping falls with frequency and thermal noise rises, the composite curve has a minimum, and its position moves with sea state: calm water puts it near 40 kHz, while a stiff wind lifts the mid band and pushes the crossover well past 100 kHz. That minimum, absorption pushing you downward in frequency, and aperture-in-wavelengths pushing you upward, are the three forces that fix a sonar's band. None of them is negotiable and they do not agree.

Ambient noise spectrum

raise the sea state and watch the mid band lift
totalshippingwind and wavesthermal

Self-noise, which is usually the real problem

Ambient noise is what the ocean does. Self-noise is what your own platform does, and on a moving vessel it commonly dominates:

  • Flow noise over the array surface, rising very steeply with speed — roughly as the fifth or sixth power. This is why towed arrays have speed limits and why quiet listening usually means slowing down.
  • Machinery and propeller noise conducted through the hull and through the water, arriving from a known direction that the beam pattern can be used to reject.
  • Cable strum on a towed array, at low frequency, driven by vortex shedding along the tow cable.
  • Electronic noise in the hydrophone preamplifiers, which sets the floor when everything else is quiet and is the one term that improves with money.
Array gain is not directivity index

DI assumes noise arriving equally from every direction. Real noise fields are not isotropic: wind noise comes predominantly from the surface above, distant shipping arrives at shallow angles, and self-noise arrives from a fixed bearing. The useful quantity is array gain against the actual noise field, which can be considerably better than DI if the array's nulls happen to fall where the noise is — or considerably worse if they do not. DI is the convenient benchmark, not the achieved performance.

Detection theory

Every term in the sonar equation has been derived from physics except one. The detection threshold is not a property of the ocean or the array — it is a statement about how often you are willing to be wrong.

A detector looks at one number and decides between two hypotheses: noise alone, or signal plus noise. Both are random, so both produce a distribution of outputs, and the two distributions overlap. Put a threshold anywhere and you accept two kinds of error at once — declaring a contact that is not there, and missing one that is.

P_fa probability of false alarm — noise alone exceeds the threshold P_d probability of detection — signal plus noise exceeds it raise the threshold → P_fa falls, P_d falls lower the threshold → both rise

You cannot improve one without paying in the other. The only thing that improves both is pushing the distributions further apart, which means more signal-to-noise ratio at the detector — from array gain, from integration, or from getting closer.

The detection index

Separation is measured by the detection index, the squared distance between the two means in units of the noise standard deviation. For Gaussian statistics it follows directly from the pair of probabilities you demand [Whalen 1971]:

d = ( z_Pfa − z_Pd )² z_Pfa = Q⁻¹( P_fa ) z_Pd = Q⁻¹( P_d ) Q(z) = upper tail P_fa = 10⁻⁴, P_d = 0.5 → d ≈ 13.8 P_fa = 10⁻⁴, P_d = 0.9 → d ≈ 25.0 P_fa = 10⁻⁶, P_d = 0.9 → d ≈ 36.4

The sign is worth being careful about, because both (z_Pfa − z_Pd)² and (z_Pfa + z_Pd)² appear in the literature and both are correct — under opposite conventions for what z_Pd means. Here both quantiles are upper-tail, so z_Pd is negative whenever P_d exceeds a half and the difference form applies: 3.719 − (−1.282) = 5.00, and 5.00² = 25.0. If instead you take z_Pd as the percentile, it is +1.282 and you must add. Mixing the two is the commonest way to get this wrong.

Note how expensive certainty is. Going from a coin-toss to a 90% chance of detection, at the same false alarm rate, costs a factor of 1.8 in d — about 2.6 dB of signal-to-noise. Going from one false alarm in ten thousand to one in a million costs another 1.6 dB.

The two distributions and the threshold

shaded areas are false alarm and detection probability
noise alonesignal plus noisethresholdoperating curve

From detection index to detection threshold

The sonar equation wants a signal-to-noise ratio in dB, not a dimensionless index. Converting requires knowing how much averaging the processor performs, because integration narrows the distributions without moving their means. For an energy detector of bandwidth B integrating for time T — the processing gains of the bandwidth module seen from the other side:

The link between the two is the number of independent samples the detector integrates. For an energy detector of bandwidth B and integration time T there are about 2BT of them, and for small signal-to-noise ratios:

d ≈ 2 · B · T · ( S/N )² S/N measured in the band B so S/N = √( d / (2BT) )

That is the honest statement, and it is the one to use if your signal-to-noise ratio is measured in the processing band. The form that appears in the sonar equation looks different because DT is conventionally referenced to a 1 Hz band, not to the band actually processed. Multiplying through by B to convert:

DT = 5 · log₁₀( d · B / T ) S/N in a 1 Hz band

Both forms describe the same detector. The 1 Hz reference is what makes DT combine correctly with a noise level quoted as a spectral density, which is how the noise module quotes it — and forgetting that the reference band differs from the processing band is a reliable way to be twenty or thirty decibels adrift. The panel reports both.

The factor of five, rather than ten, is the whole story of integration. Doubling the integration time buys 1.5 dB for broadband energy detection — not 3 dB, because the signal is being added incoherently. Coherent narrowband processing, where the phase is preserved across the integration, does get its full 3 dB per doubling, which is why narrowband analysis is worth the frequency stability it demands.

False alarms are counted per display, not per decision

A probability of false alarm of 10⁻⁴ sounds negligible until you count how many independent decisions the system makes. A passive display with 60 beams and 1000 frequency bins, refreshing every second, makes 60,000 decisions per second:

false alarm rate = P_fa × beams × bins / update interval 10⁻⁴ × 60 × 1000 / 1 s = 6 false alarms per second

Which is useless. Getting to one false alarm per minute across that display needs P_fa below 3×10⁻⁷, and that costs several dB of detection threshold. This is why real thresholds sit far higher than a naive reading of the ROC curve suggests, and why anything that reduces the number of cells being searched — a smaller sector, a narrower band, prior knowledge of where to look — is worth real signal-to-noise ratio.

Why the operator still matters

A human watching a display integrates over time and space in a way no single-cell detector does. A trace that is below threshold in every individual cell can still be obvious as a continuous line down a waterfall, because the eye is performing an unmodelled correlation along the time axis. This is the reason displays are built to be looked at rather than merely thresholded, and it is worth several dB.

Signal fluctuation and fading

Every level quoted so far has been a single number. Real received levels wander by tens of decibels on timescales of seconds, and a detection probability computed from a steady signal is an answer to a question nobody asked.

The cause is multipath. Several paths reach the receiver by slightly different routes — direct, surface, bottom, refracted — and their relative phases drift as the geometry changes. Sometimes they add and sometimes they cancel. What arrives is not a signal of fixed amplitude but a random process, and the statistics of that process depend on whether any one path dominates.

many comparable paths, none dominant → Rayleigh fading intensity is exponential one strong path plus scattered ones → Rician fading K = (dominant power) / (scattered power) K → ∞ is the steady signal every earlier module assumed

What fading does to detection

The detection module computed a probability of detection from a fixed signal-to-noise ratio. With fading, the signal-to-noise ratio is itself a random variable, so the honest quantity is the detection probability averaged over the fading distribution. For Rayleigh fading and a square-law detector this comes out in closed form [Urick, ch. 12], and it is worth staring at:

Rayleigh fading: P_d = P_fa ^ ( 1 / (1 + S) ) steady signal: P_d = Q( ( T − 1 − S ) / √(1 + 2S) ) S = mean signal-to-noise ratio T = −ln P_fa

The two curves are very different animals. A steady signal has a sharp threshold: raise the level a couple of decibels through the knee and detection goes from unlikely to near-certain. A fading signal has a long, lazy curve — it detects sometimes across a very wide range of mean levels, and getting to a high probability of detection costs a great deal of extra mean level. That extra is the fading margin, and it is typically 7 to 9 dB at the probabilities operators actually want.

Detection against a fading signal

the gap between the curves is what fading costs you
steady signalfading signaldetection threshold

The right-hand plot is the same physics as a time history. Watch how much of the record sits below the threshold even when the mean level is comfortably above it. A stated probability of detection of 50% against a fading contact does not mean a weak but continuous trace — it means solid contact half the time and nothing at all the other half, in bursts of tens of seconds. Operators know this in their bones and it surprises analysts constantly.

Coherence: how long the channel holds still

Fading also limits how long you may usefully integrate, and how much bandwidth you may usefully process, through two related quantities:

coherence time ≈ 1 / (Doppler spread) coherence bandwidth ≈ 1 / (multipath delay spread)
  • Coherence time is how long the channel stays effectively unchanged. Integrate coherently for longer than this and you are averaging a signal whose phase has already rotated, so you gain nothing — the honest version of the hand-wave in the narrowband module about tonals needing to "stay put". Platform motion, source motion and surface roughness all shorten it.
  • Coherence bandwidth is the frequency span over which the channel behaves the same way. A signal wider than this fades unevenly across its own band — which is bad for a matched filter expecting a known waveform, and good for detection, because the whole signal is far less likely to fade out at once. Deliberately spreading a waveform across more than one coherence bandwidth is called frequency diversity, and it is the standard defence.
Diversity is the general answer

Fading hurts because one sample of a random variable can be unluckily small. Take several independent samples and the chance that all of them are small collapses. Independence can come from frequency, from time separated by more than the coherence time, from spatially separated receivers, or from several beams — and every one of those recovers a large part of the fading margin. It is the same argument as array gain, applied to the channel rather than to the noise.

Two hydrophones are already a bearing sensor

Everything an array does is built from one measurement: the extra distance a wavefront travels to reach one sensor rather than its neighbour.

Take a source far enough away that its wavefronts arrive essentially flat — a plane wave. Let its bearing be θ, measured from broadside (perpendicular to the array axis). The wavefront reaches one sensor, then travels a further d·sin θ to reach the other.

extra path = d · sin θ metres time delay τ = d · sin θ / c seconds phase shift Δφ = 2π f τ = k d · sin θ radians

Two consequences fall straight out, and both shape real systems.

Sensitivity is not uniform. Differentiate: dΔφ/dθ = k d cos θ. At broadside a small change in bearing produces the largest change in measured phase. At endfire — along the array axis — cos θ goes to zero and the array is nearly blind to bearing changes. Line arrays have good bearing accuracy abeam and poor accuracy ahead and astern, and this is why.

Phase wraps. You can only ever measure phase modulo 2π. The largest phase difference occurs at endfire, where Δφ = k d. If k d > π — that is, if d > λ/2 — then some bearings produce a phase difference beyond ±π, which is indistinguishable from a different bearing. That is spatial aliasing, and it is the exact analogue of sampling a time series too slowly.

Pair geometry

drag the bearing and watch the phase difference wrap
true phase differencewhat you can actually measure (wrapped)
The half-wavelength rule

Set d = λ/2 and the mapping from bearing to phase is one-to-one across the full ±90° field of view. Go wider and you buy resolution at the price of ambiguity. The grating-lobe module is entirely about that bargain.

Sampling, in time and in space

The phase wrapping you just watched is spatial aliasing. It is the same theorem that governs sample rate, applied to a different axis, and seeing both together makes the array behaviour obvious rather than surprising.

The familiar version

Sampling a continuous signal every 1/fₛ seconds represents it unambiguously only if it contains no energy above fₛ/2. Above that, a sinusoid becomes indistinguishable from a lower-frequency one — it folds back into the band:

apparent frequency = | f − fₛ · round( f / fₛ ) | fₛ = 1000 Hz, f = 1300 Hz → appears as 300 Hz fₛ = 1000 Hz, f = 700 Hz → appears as 300 Hz indistinguishable

Aliasing in time

push the signal past half the sample rate and watch the reconstruction lie to you
true signalsampleswhat the samples imply

The spatial version

An array samples the wavefield at intervals of d metres rather than at intervals of time. A plane wave from bearing θ has a spatial frequency along the array of sinθ / λ cycles per metre, which is largest at endfire. Requiring that to stay below the spatial Nyquist limit 1/(2d) gives the half-wavelength rule directly.

time space ──────────────────────────────────────────────── sample interval 1/fₛ element spacing d frequency f direction cosine sinθ / λ Nyquist fₛ/2 half-wavelength d = λ/2 aliasing grating lobes FFT length N samples array size N elements window shading bin width fₛ/N beamwidth λ/(Nd)

The correspondence is exact, and every result you already trust in one column transfers to the other. A rectangular window rings; an unshaded aperture has −13.3 dB sidelobes. A longer transform gives finer bins; a longer array gives a narrower beam. Zero-padding an FFT interpolates without adding information; interpolating between beams does the same.

Folding, side by side

the two plots are the same diagram on different axes
true → apparentaliased branchesunambiguous region
One important asymmetry

In time you can fix aliasing before it happens, with an analogue anti-alias filter ahead of the converter. In space there is no equivalent: by the time the wavefield reaches your hydrophones the spatial sampling has already occurred, and no processing afterwards can separate a true bearing from its alias. The only remedies are physical — closer elements — or operational: restrict the sector you believe, or manoeuvre and see which contact moves consistently.

Quantisation, briefly

Sampling fixes when you measure; quantisation fixes how finely. An ideal converter of b bits has a dynamic range of about 6.02b + 1.76 dB, so 16 bits gives roughly 98 dB and 24 bits roughly 146 dB. That matters because a sonar receiver must accommodate a loud near contact and a faint distant one in the same record — the same dynamic range problem the decibel exists to manage.

From a pair to an aperture

Add elements and two independent things happen: the array gets longer, and it samples space more finely. They do different jobs and are worth keeping separate in your head.

A uniform line array has N elements at spacing d. Index them n = 0 … N−1 and put the origin at the centre.

physical span L = (N − 1) · d effective aperture D = N · d use this one in beamwidth formulas element delay τₙ = (n − (N−1)/2) · d · sin θ / c total delay across L · sin θ / c the array's "time aperture"

The distinction between (N−1)d and N·d trips people up constantly. The physical tape-measure length is (N−1)d. The quantity that appears in beamwidth and null-spacing formulas is N·d, because each element effectively owns a strip of aperture d wide. For large N the difference is negligible; for eight elements it is 14%.

Two knobs, two jobs

  • Aperture N·d sets resolution. A longer array measures bearing more finely. Expressed in wavelengths, D/λ is the single number that predicts beamwidth.
  • Spacing d sets ambiguity. The array samples the spatial waveform every d metres. Sample too coarsely and you get grating lobes — spatial aliases.

With N fixed you cannot improve both. Doubling d halves your beamwidth and simultaneously halves your unambiguous field of view. Adding elements is the only way to buy both, which is why element count is the expensive part of an array.

Wavefront crossing the array

stems show each element's arrival delay
wavefrontshydrophonearrival delay τₙ
Spatial sampling theorem

Sampling a time signal at fs resolves frequencies up to fs/2. Sampling a wavefield every d metres resolves spatial frequencies up to 1/(2d) cycles per metre. A plane wave from bearing θ has spatial frequency sin θ / λ along the array, which peaks at 1/λ at endfire. Requiring 1/λ ≤ 1/(2d) gives d ≤ λ/2. Same theorem, different axis.

Delay and sum: the whole idea in one line

Guess a bearing. Undo the delays that bearing would have caused. Add the channels up. If you guessed right, the signal reinforces; if you guessed wrong, it partly cancels.

That is conventional beamforming in its entirety. To steer the array to a look direction θ₀, apply to each channel the negative of the delay a wave from θ₀ would have produced, then sum.

y(t) = Σₙ wₙ · xₙ( t + τₙ(θ₀) ) τₙ(θ₀) = (n − (N−1)/2) d sin θ₀ / c

The wₙ are per-channel weights, or shading. Leave them all at 1 for now; the shading module is about what happens when you don't.

Why this improves signal to noise

Signal from the look direction arrives aligned in every channel, so amplitudes add: N times the amplitude, N² times the power. Noise that is independent between channels adds incoherently: only N times the power. The ratio improves by a factor of N.

array gain AG = 10·log₁₀(N) dB isotropic noise, d = λ/2, no shading 16 elements → 12.0 dB 64 elements → 18.1 dB

Note the shape of that curve. Going from 16 to 64 elements — quadrupling the hardware, the cabling and the channel count — buys 6 dB. Array gain is real but it is bought slowly, which is another reason element count dominates cost discussions.

Time-domain beamformer

a pulse arrives from the source bearing; you choose where to steer
element traces, delay-correctedsummed outputoutput energy vs steer angle
Delays, not phase shifts

True delay works at any bandwidth. Many implementations instead apply a fixed phase shift e^{−jkdn sin θ₀}, which is exact only at the design frequency. For a narrowband tonal that is fine. For a short broadband pulse the beam smears across frequency — an effect called beam squint, revisited in the bandwidth module.

The beam pattern

Sweep a unit-amplitude plane wave through every bearing, record the beamformer's response, and plot it. That curve tells you almost everything about the array.

With the array steered to θ₀ and a plane wave arriving from θ, the residual phase per element step is ψ = k d (sin θ − sin θ₀). Summing the geometric series gives the array factor:

B(θ) = (1/Σw) · | Σₙ wₙ · e^( j n ψ ) | ψ = k d (sin θ − sin θ₀) uniform shading: B(θ) = | sin(N ψ / 2) / ( N · sin(ψ / 2) ) |

That is a Dirichlet kernel — the discrete cousin of a sinc. Its properties are fixed and worth memorising:

PropertyUniform line array
Main lobe peakat θ = θ₀, value 1
Nullssin θ − sin θ₀ = m·λ/(Nd), m = ±1, ±2, …
−3 dB beamwidth≈ 50.8° · λ / (N d · cos θ₀)
First sidelobe−13.3 dB, independent of N
Sidelobe roll-offslow — about 1/ψ
Directivity index10·log₁₀(N) dB when d = λ/2

The cos θ₀ in the beamwidth is not a fudge factor. When you steer away from broadside, the aperture the wave actually sees is the array's projection onto the wavefront, which is N d cos θ₀. Steer to 60° and your effective aperture halves, so the beam doubles in width. Steer toward endfire and the beam becomes very broad indeed. Real systems limit useful steering to roughly ±60°.

Beam pattern

polar and decibel views of the same function
response−3 dB pointspeak sidelobe
A useful sanity check

Set shading to uniform and read the peak sidelobe. It should sit at −13.3 dB regardless of how you change N, d or frequency. If a design's sidelobes move when they shouldn't, the cause is shading, errors or aliasing — not the array factor.

Aperture buys resolution

How close can two contacts be before they merge into one? The answer depends on the aperture measured in wavelengths, and on essentially nothing else.

The first null of a broadside beam sits at sin θ = λ/(Nd). Two equal sources are conventionally called resolved when one sits at the other's first null — the Rayleigh criterion — which for a line array gives:

Δθ_min ≈ λ / D radians ≈ 57.3° · λ / (N d) at broadside divide by cos θ₀ when steered off broadside cross-range resolution at range R: Δy ≈ R · λ / D

The last line is the one that bites operationally. Angular resolution is fixed by the array, so the patch of water a single beam covers grows linearly with range. A 3° beam covers 52 m at 1 km and 520 m at 10 km. Two contacts that were cleanly separated on approach merge as they open range, without anything about the array having changed.

The three ways to get finer resolution

  1. Longer array. Directly increases D. Limited by what the platform can carry or tow.
  2. Higher frequency. Shortens λ, so D/λ rises for free. Costs you absorption, so range collapses. Absorption in seawater rises steeply with frequency — a few dB per kilometre at 10 kHz, tens of dB per kilometre at 100 kHz.
  3. Synthetic aperture. Move the array and coherently combine successive positions, building an effective D far longer than the hardware. Buys a great deal, demands very accurate knowledge of your own motion.

Two contacts, one array

close the separation until the pair merges into a single peak
beamformer output powertrue source bearingsRayleigh limit

The array against the wavelength

Everything above says that aperture in wavelengths is what matters. The panel below shows why, by drawing the array and the arriving wavefronts to the same scale and putting the whole frequency response beside it.

Take a long towed array — set the element count to 128 at 1.5 m spacing and you have 192 metres of aperture. At 2 kHz that is 256 wavelengths and the beam is a fifth of a degree. Now walk the frequency down. At 200 Hz the array is 26 wavelengths long and the beam is two degrees. At 20 Hz it is 2.6 wavelengths and the beam is nineteen degrees. Below about 8 Hz the entire 192-metre array sits inside a single wavelength, every element sees essentially the same phase, and there is no beam left at all — the response is nearly the same in every direction.

That is the trap of low-frequency work. Long wavelengths propagate beautifully and are exactly what a towed array is streamed to hear, but the same long wavelength that survives to a hundred miles is the one your aperture cannot resolve. The dots on the array in the panel are coloured by the phase each element is seeing: at high frequency they cycle through the colours several times across the array, which is the phase gradient a beamformer measures. At low frequency they are all the same colour, and there is nothing left to measure.

Aperture in wavelengths, and the response across the band

try N = 128 at d = 1.5 m, then sweep the frequency down
element phasewavefrontsd = λ/2 and D = λ limits

The map on the right is the same beam pattern computed at every frequency at once — bearing across, frequency up, response as brightness. Three things are visible in one picture. The main lobe narrows as frequency rises, sweeping in from a broad smear at the bottom to a hairline at the top. Above the line marked d = λ/2, extra bright ridges appear and march inward: those are grating lobes, and they are the same aliasing that the sampling module described, drawn here as a function of frequency so you can see exactly where the array stops being trustworthy. And below the line marked D = λ the pattern spreads across the whole display, which is the array running out of aperture.

Between those two lines is the band the array actually works in. Its width in octaves is fixed by N alone — the ratio of the two limits is D/(2d) = N/2 — which is a compact way of saying that element count buys usable bandwidth, and nothing else does.

Resolution is not accuracy

A single isolated contact can be located far more precisely than the beamwidth, by interpolating across adjacent beams. Bearing accuracy improves with signal-to-noise ratio; resolution — the ability to tell two things apart — does not. They are different quantities and get conflated constantly.

Grating lobes, and the sinθ view of the world

Redraw the beam pattern against u = sin θ instead of θ and grating lobes stop being mysterious. In that coordinate the pattern is simply periodic, and you are looking at it through a window.

Substituting u = sin θ into the array factor, ψ = k d (u − u₀). The pattern repeats whenever ψ advances by 2π, that is every Δu = λ/d. So the array factor in u is an infinitely repeating comb of identical main lobes:

main lobe at u = u₀ grating lobes at u = u₀ ± m·λ/d , m = 1, 2, 3 … visible region: only |u| ≤ 1 corresponds to a real bearing a grating lobe is visible when |u₀| + λ/d ≤ 1 equivalently, safe as long as d/λ < 1 / (1 + |sin θ₀|)

Read the last line carefully, because it is the practical design rule and it depends on steering. At broadside you are safe up to d = λ. If you need to steer to ±90° you need d ≤ λ/2. That is where the half-wavelength rule actually comes from — it is the worst case, not a universal law. An array that only ever looks near broadside can legitimately be sparser and cheaper.

A grating lobe is not a small artefact. It is a full-height copy of the main lobe. The array is exactly as sensitive there as it is in the look direction, so a loud contact in a grating lobe is indistinguishable from a quiet contact where you are pointing.

Pattern in u-space

the shaded strip is everything a real bearing can occupy
array factorvisible region |u| ≤ 1grating lobe
Why frequency is the usual culprit

Element spacing is fixed in steel at build time. Wavelength is not. An array spaced correctly at its design frequency develops grating lobes the moment it is operated higher, because d/λ rises with frequency. Take an array designed for 5 kHz and run it at 15 kHz and its spacing is suddenly 1.5λ. This is a routine way for real systems to produce ghost contacts.

Shading: trading beamwidth for sidelobes

A uniform array is the sharpest possible instrument and the leakiest. Weighting the elements unevenly blunts the tip and seals the leaks. You cannot avoid paying.

Uniform weighting gives the narrowest main lobe of any non-negative shading, and −13.3 dB sidelobes. Those sidelobes are a genuine problem: a contact 20 dB louder than your target, sitting in a sidelobe, arrives at the beamformer output 7 dB above the thing you are trying to hear.

Applying a taper — high weights at the centre, low at the ends — suppresses the sidelobes. The figures below follow Harris [1978], whose survey of window functions is the standard reference for both domains. The mechanism is the same as windowing an FFT, because it is the same mathematics: the beam pattern is the spatial Fourier transform of the aperture weighting. Abrupt truncation produces ringing in the transform domain; smooth truncation does not.

Hann wₙ = 0.5 − 0.5·cos(2πn/(N−1)) Hamming wₙ = 0.54 − 0.46·cos(2πn/(N−1)) Blackman wₙ = 0.42 − 0.5·cos(2πn/(N−1)) + 0.08·cos(4πn/(N−1))

What each choice costs

ShadingPeak sidelobeBeamwidth vs uniformLoss in array gain
Uniform−13.2 dB×1.000.0 dB
Hamming−41.8 dB×1.50−1.4 dB
Hann−31.5 dB×1.69−1.9 dB
Blackman−58.1 dB×1.91−2.5 dB

Figures above are for N = 32; the panel reports them for whatever array you configure.

The array gain loss has a physical reading. Down-weighting the outer elements means you are not fully using the hydrophones you paid for. The taper efficiency (Σw)² / (N·Σw²) measures exactly that fraction, and it is why heavy shading is reserved for situations where a loud interferer is the limiting problem rather than noise.

Shading comparison

the same aperture, four weightings, overlaid
selected shadinguniform referenceelement weights
Choosing a shading

Ask what limits you. Noise-limited and no strong interferers nearby: stay uniform and keep the array gain. Dominated by a loud contact leaking through the sidelobes: taper until the interferer drops below the noise, and no further. Every dB of sidelobe suppression past that point is wasted aperture.

Adaptive beamforming

Every beamformer so far has decided its weights before listening. Shading trades beamwidth for sidelobes in advance, against interference that has not arrived yet. The alternative is to look first and then choose.

The problem with fixed weights is that they are a compromise against a hypothetical worst case. If a loud contact happens to sit in a sidelobe, a uniform array leaks it in at −13 dB and heavy shading costs you beamwidth and array gain across the entire pattern to suppress it — including in every direction where there is nothing to suppress. An adaptive beamformer spends its suppression only where it is needed.

The covariance matrix

Doing that requires knowing what is out there, and the object that carries that knowledge is the covariance matrix. Take one simultaneous sample across all elements — a snapshot — and form the outer product with its own conjugate. Average many of those:

R = E[ x xᴴ ] estimated as R̂ = (1/M) Σ x_m x_mᴴ element (i,j) = the correlation between hydrophone i and hydrophone j

This is the same object you build for coherence and cross-spectral work, arranged across sensors instead of across time. A plane wave from direction θ makes every pair of elements correlated with a phase difference fixed by that direction, so a source contributes a rank-one term to R. Independent noise contributes only to the diagonal. The matrix therefore contains a complete description of the spatial field, and everything below is extracted from it.

Conventional beamforming can be written in the same language. With weights w, the output power is a quadratic form, which is a useful way to see that the conventional beamformer simply never consults R when choosing w:

P(θ₀) = wᴴ R w w = taper ∘ a(θ₀) conventional

The minimum variance solution

Now ask a different question. Of all the weight vectors that pass the look direction with unit gain — that leave a signal from θ₀ undistorted — which one produces the least total output power? Anything the beamformer can suppress must be coming from somewhere other than the look direction, because the constraint forbids suppressing the look direction itself.

minimise wᴴ R w subject to wᴴ a(θ₀) = 1 Lagrange gives w = R⁻¹a / ( aᴴ R⁻¹ a ) output power P(θ₀) = 1 / ( aᴴ R⁻¹ a )

This is the MVDR or Capon beamformer [Capon 1969], and the pattern it produces is different every time the scene changes. Steering it at a target places deep nulls on the interferers, wherever they happen to be, while the main lobe stays where you pointed it.

Two beamformers, one scene

a target between two loud interferers
conventionaladaptiveinterferer bearingslook direction

The upper plot is the bearing response of each beamformer across the scene. The lower plot is the thing worth studying: the actual beam pattern of the adaptive weights when steered at the target. It has a normal-looking main lobe and, at each interferer, a null tens of decibels deep that no fixed shading could have anticipated. Move an interferer and the null follows it.

What it costs

  • Snapshots. The matrix has N² entries and has to be estimated from data. Fewer snapshots than elements leaves it rank-deficient and strictly singular. The classical result [Reed, Mallett & Brennan 1974] is that about 2N snapshots are needed to come within 3 dB of the ideal, and below N performance falls away quickly. This is a real operational constraint: snapshots take time, and during that time the scene must hold still.
  • Steering vector mismatch. The constraint protects the look direction as the beamformer believes it to be. If the true steering vector differs — from element position error, array bend, an unmodelled sound speed, or simply pointing between beams — then the target no longer satisfies the constraint, and the beamformer suppresses it as vigorously as anything else.
  • Signal cancellation, even when nothing is mismatched. This is the subtle one. If the target is present in the data used to estimate the covariance, then the target is part of what the beamformer is minimising. With an infinite number of snapshots the constraint protects it exactly; with a finite number, estimation error means it does not, and the beamformer partially nulls the very signal it is steered at. The symptom is a collapse in white-noise gain: the weights grow large and nearly cancel, so the array becomes hypersensitive to any error while its gain against ordinary noise falls through the floor.

The effect is severe and easy to reproduce in the panel below. With a target 20 dB above the noise and a perfectly matched steering vector, an array of 32 elements achieves a white-noise gain of 6 dB against an ideal 15 dB at four thousand snapshots — and minus 7 dB at 128. Weaken the target to the noise level and the problem disappears, which is the tell: adaptive beamforming is at its most fragile precisely when the signal is strongest.

The standard defences are to estimate the covariance from data that excludes the target — guard cells, or a training interval when the target is known to be absent — and, failing that, diagonal loading.

  • Sensitivity to everything else. The same responsiveness that lets it null an interferer makes it react to calibration drift, dead elements and channel mismatch. It demands the hardware discipline of the shape and calibration module.
  • Computation. Inverting an N×N matrix is O(N³), repeated for every band and every update. Real implementations avoid the explicit inverse and work with decompositions instead.

Diagonal loading

The standard defence against all of the above [Cox, Zeskind & Owen 1987] is to add a small constant to the diagonal before inverting:

R_loaded = R̂ + δI

Interpreted physically, this tells the beamformer that there is more white noise present than there really is. Since white noise is uncorrelated between elements and cannot be nulled, the beamformer becomes less willing to spend its degrees of freedom on aggressive nulling, and correspondingly more tolerant of a steering vector that is slightly wrong. Loading is a dial between the adaptive and the conventional beamformer: with δ at zero it is fully adaptive and fragile; with δ very large the noise term dominates R and the solution collapses back to conventional beamforming. Turn it up in the panel and watch the nulls fill in.

Beyond MVDR

  • Subspace methods. Decompose R into eigenvectors and separate the few that span the sources from the many that span the noise. MUSIC [Schmidt 1986] scans for steering vectors orthogonal to the noise subspace and achieves resolution far beyond MVDR — at the price of needing to know how many sources there are, and of producing a spectrum that no longer represents power.
  • Dominant mode rejection. Rebuild R from only its largest eigenvalues before inverting, which suppresses the strong interferers while leaving the noise floor well conditioned. Robust, and popular for exactly that reason.
  • Robust MVDR. Constrain a small region around the look direction rather than a single vector, so that a mismatch of a fraction of a beamwidth no longer cancels the signal.
  • Subarray averaging. Apply adaptive processing to groups of elements rather than to all of them individually, trading some capability for far fewer snapshots and far less computation.
When not to use it

Adaptive beamforming solves an interference problem. If the situation is noise-limited — nothing loud nearby, the floor set by the sea and the electronics — then there is nothing to null, and MVDR converges to conventional beamforming while still demanding the snapshots and the conditioning. The right question is never "conventional or adaptive" but "what is actually limiting me", and the answer changes with the tactical situation from one hour to the next.

Narrowband and broadband

Two different things to listen for, needing two different processing chains, and behaving differently when you beamform them. Most of the confusion between them is really a question about bandwidth.

Narrowband: energy concentrated in a few hertz

Rotating machinery radiates tonals — discrete lines at the shaft rate, the blade rate and its harmonics, gear mesh frequencies, generator and supply frequencies. Each is stable, often to a fraction of a hertz. The set of lines and their spacing is characteristic of the machine producing them, which makes narrowband the classification tool: it tells you not merely that something is there but what kind of thing.

Broadband: energy spread over decades

Flow noise, cavitation, breaking waves and impulsive transients spread their energy across a wide band with no particular structure. There is nothing to identify, but broadband is often present when tonals are not — a quiet contact may still cavitate — and it responds well to short integration, so it is the detection tool.

narrowband processing gain ≈ 10 log₁₀( B / Δf ) Δf = 1/T, the FFT bin width broadband processing gain ≈ 5 log₁₀( B · T ) incoherent averaging of BT samples active matched filter gain ≈ 10 log₁₀( B · T ) time-bandwidth product of the pulse

The narrowband result is the more dramatic and the more fragile. Halving the bin width buys 3 dB against broadband noise, apparently without limit. The limit is real, though: if the tone drifts by more than one bin during the integration time — through source instability, own-ship motion or target Doppler — the energy smears across bins and you lose more than you gained. That trade sets the integration time on every passive narrowband display in service.

What narrowing the analysis band does

tonals hold their level; everything continuous falls with the bin
tonal linesbroadband continuum + noise, per bin

That panel is the whole argument in one picture. A tonal has a fixed total power, so it lands entirely in one bin no matter how narrow the bin is. Anything continuous — the broadband continuum, the ambient noise — has a fixed power per hertz, so the power in a bin falls in proportion to the bin width. Narrow the analysis and the lines climb out of the floor. Broadband energy never does, which is exactly why it needs a different detector.

What bandwidth does to the beam

A beam pattern is drawn at one frequency. A broadband signal is beamformed at all of them at once, and what you observe is the average of the patterns across the band. Three things change:

  • Nulls fill in. A null sits at a different angle at each frequency, so no angle is null at every frequency. Deep narrowband nulls become shallow broadband dips.
  • Sidelobes drop and smooth. The same averaging suppresses the sidelobe structure. A broadband pattern often has lower effective sidelobes than the same array narrowband, for free.
  • Grating lobes smear. The grating lobe angle depends on λ/d, so it moves with frequency and spreads into a broad ridge rather than a sharp false contact. Undersampling is less catastrophic broadband than narrowband — though still not a good idea.

The main lobe, however, stays put — provided steering is done with true time delay. If it is done as a fixed phase shift computed at a design frequency f₀, then every other frequency points somewhere else:

phase steering: sin θ_actual = ( f₀ / f ) · sin θ₀ beam squint

Across a wide band the beam smears into an arc, worst at large steer angles and negligible at broadside. Switch the control below between the two steering methods with the bandwidth wide and the steer angle well off broadside to see the difference clearly.

Narrowband against band-averaged patterns

try 60% bandwidth, steered to 45°, and switch the steering method
narrowband, centre frequencyband-averagedsteered direction
For active waveforms

Bandwidth also sets range resolution: ΔR = c / (2B). A 1 kHz bandwidth resolves 0.75 m in range. A long CW pulse has almost no bandwidth and therefore no range resolution, but its long duration gives fine Doppler resolution of about 1/T. An LFM chirp gets both by sweeping frequency across a long pulse — time-bandwidth product is the currency, and the matched filter is how you spend it.

Reading the displays

The same data plotted four ways answers four different questions. Knowing which display to reach for is most of the skill; the rest is knowing what each one hides.

The panel below holds one four-second recording containing three tonals, a broadband continuum and a single sharp transient. Nothing about the data changes when you switch views — only what you can see.

One recording, four displays

switch views and look for the same three tonals in each

Time series

Amplitude against time, one trace per channel. This is the raw thing the hydrophone produced, and it is the right display for anything defined by when: pulse arrival, delay between channels, transient shape, clipping, dropouts, cable faults. It is close to useless for anything defined by frequency — three steady tonals buried in noise look exactly like noise. The stacked element traces in the delay-and-sum module are time series, and the coherent sum beneath them is what beamforming does in this domain.

Spectrum

Magnitude against frequency, produced by a Fourier transform of a block of samples. Steady tonals appear as peaks; broadband appears as a continuum. The controlling parameter is the block length, because it fixes the bin width:

Δf = fs / N_fft = 1 / T bin width, hertz frequency range = 0 to fs/2 Nyquist

Longer block, finer bins, more processing gain against continuous noise — and worse time resolution, since the whole block is collapsed into one spectrum. That is the fundamental trade of the display and it has no way out. Increase the FFT length in the panel and watch the tonals climb out of the floor exactly as the bandwidth module predicted.

Windowing before the transform is the same operation as shading an array, for the same reason: an abruptly truncated block rings in the transform domain, producing spectral leakage that buries small peaks near large ones. A Hann window trades a wider peak for far less leakage — the identical bargain as the shading module, one domain across.

Spectrogram, or LOFARgram

Frequency across, time down, intensity as colour. Built by taking a spectrum of successive overlapping blocks and stacking them. This is the workhorse passive display, and reading one is a specific skill:

  • Straight vertical line — a steady tonal. Constant machinery, constant relative motion.
  • Sloping line — frequency changing with time. Doppler as a contact passes closest approach, or a machine changing speed. The slope through a Doppler transition tells you a great deal about the geometry.
  • Horizontal streak — a broadband transient at one instant across all frequencies. A click, a hull pop, a slamming door.
  • Evenly spaced parallel lines — a harmonic family. The spacing is the fundamental, even when the fundamental itself is too weak to see.
  • General wash — the broadband continuum, and the noise floor you are working against.

The related DEMON display demodulates the broadband envelope instead, recovering propeller blade and shaft rates that do not appear as tonals in the signal itself.

Bearing–time record

Bearing across, time down, beamformer output power as colour. This is the spectrogram's spatial twin — swap the frequency axis for a bearing axis and the FFT for the beamformer, and the reading skills transfer directly. A steady contact draws a vertical trace; a contact with relative motion draws a slope; a loud contact draws faint parallel stripes either side of itself, which are its sidelobes and not additional contacts. The width of every trace is the beamwidth, so traces broaden toward endfire even though nothing about the contact changed.

Beam pattern displays

Three views of the same function appear in this primer, and each is chosen for a reason.

DisplayAxesGood forPoor for
Polarangle and radial dBspatial intuition, where the array is lookingreading sidelobe levels accurately
Cartesian dBbearing against dBmeasuring beamwidth and sidelobe levelspicturing the coverage
u-spacesin θ against linear responsegrating lobes, periodicity, steeringanything you must report as a bearing

The u-space view earns its place because the array factor is genuinely periodic in sin θ and not in θ. Plotting against bearing distorts a simple repeating function into something that looks like it needs explaining. Plotting against u makes the explanation unnecessary.

Log axes, and the honest reading of a colour scale

Almost every display here is logarithmic in amplitude, because the interesting structure spans 40 to 60 dB and a linear scale shows only the loudest thing present. The cost is that a log display makes weak features look more significant than they are, and a colour map with a hard threshold can manufacture a crisp edge out of nothing. Two habits are worth acquiring: always know what the display floor is set to, and check whether a display is normalised to its own peak — most beam patterns are, which means the colours move when the loudest contact changes, and a contact can appear to fade because something else got louder.

The processing chain, and its rates

Everything so far has been a piece of a system. This is the system: what happens between a hydrophone and a display, in order, with the numbers that matter at each stage — and the family of rates that nobody defines and everybody argues about.

It is tempting to describe this as a funnel in which each stage discards data. It is not, and the panel below will show you why. Forming more beams than you have hydrophones increases the data rate, and so does an overlapped transform, which emits half a block of bins for every quarter block of samples consumed. The chain expands through the middle and contracts sharply at the end, where averaging and decimation finally throw the time axis away. Knowing which stage does the discarding is how you know what the system can no longer tell you.

Hydrophone to display

figures computed from the configuration below

The rates, and why there are so many of them

Four different quantities all get loosely called "the update rate", and confusing them is the source of a great deal of muddled argument:

integration time T = N_fft / f_s the span of one transform bin width Δf = 1 / T hop h = N_fft · ( 1 − overlap ) cut interval t_cut = h / f_s cut rate 1 / t_cut new lines per second effective integration T + ( M − 1 ) · t_cut when M cuts are averaged
  • Integration time is how much data goes into one transform. It sets frequency resolution and nothing else.
  • Cut rate is how often a new line appears on the display. With 75% overlap you get four cuts per integration time — the display moves four times faster than the resolution would suggest, and successive lines are three-quarters the same data.
  • Effective integration is how much data actually contributes to what you are looking at, once several cuts have been averaged. It is the number that belongs in the processing gain calculation, and it is usually much longer than the transform length.
  • Latency is at least the effective integration, because you cannot average data you have not received. Long integration and quick response are the same trade wearing different clothes.

Overlap is worth being clear about. Overlapping transforms does not create information — successive cuts share most of their samples, so they are correlated and averaging them gains less than averaging independent ones. What overlap buys is temporal continuity: without it a short transient can fall between transforms and be attenuated by the window, and a trace on a waterfall looks blocky. It is a display and detection-continuity choice, not a sensitivity one.

Where the transforms sit in time

each bar is one transform; the offset between them is the hop
one transformthe cut it produceseffective integration span

How many beams, and the cost of the gaps between them

A beamformer produces a finite set of beams, and a contact will generally sit between two of them. Because the beam pattern falls away from its peak, the contact is attenuated — scalloping loss — and the worst case is a target exactly halfway between adjacent beams.

beam spacing s = HPBW / beams-per-beamwidth worst-case offset = s / 2 scalloping loss = −20 log₁₀ | B( s/2 ) |

Space the beams one beamwidth apart and the worst case is precisely the half-power point: 3 dB, thrown away for nothing. Two beams per beamwidth reduces that to about 0.8 dB, and three to under 0.4 dB. Since beams are cheap in a digital beamformer and hydrophones are not, oversampling the bearing axis by two or three is close to free performance — and it is one of the more common things to get wrong in a first design.

Scalloping loss against beam spacing

the cost of the gaps between formed beams
worst-case lossyour setting

Normalisation, which is what makes a display readable

The output of a detector spans an enormous range and its background is not flat — ambient noise varies with frequency, self-noise varies with bearing, and both drift with time. Displaying raw detector output would show a bright smear where the background happens to be loud and nothing anywhere else. Every real system therefore normalises before display:

  • Split-window normaliser. For each cell, estimate the background from neighbouring cells while excluding the cell itself and a guard band either side, then divide. The guard band matters: without it a strong signal contributes to its own background estimate and suppresses itself.
  • Constant false alarm rate. Because the background estimate tracks the local level, the threshold in absolute terms moves with it and the false alarm rate stays roughly constant wherever you look. That is what makes a single threshold meaningful across a whole display.
  • What it costs. A normaliser estimates the background from a finite number of cells, so it has its own error, worth a decibel or two of CFAR loss. And an extended target — reverberation, a long tonal family, several contacts close together — partly fills the background window and normalises itself away.
Where the data actually goes

Follow the numbers in the panel. Sixty-four channels at 5 kHz and 24 bits is 7.7 Mbit/s leaving the converters. Two hundred and twenty-seven beams at the same rate is 27 Mbit/s — beamforming has more than tripled it, because beams are chosen by you and there is no reason to choose as few as you have hydrophones. The overlapped transform roughly triples it again. Only at the end, when cuts are averaged and the output decimated, does the rate collapse by a factor of thirty. The whole chain is a ×3 expansion followed by a ×30 contraction, and the contraction is where the time resolution you gave up actually went.

Transducers and hydrophones

Everything so far has treated a hydrophone as an ideal point that reports pressure perfectly at all frequencies. It is actually a resonant mechanical object of finite size, and both of those facts leave marks on the beam pattern.

How it works and what it produces

Almost all underwater transducers are piezoelectric ceramic. Acoustic pressure strains the ceramic, the strain separates charge, and the charge appears as a voltage. The conversion factor is the receiving sensitivity, quoted in dB re 1 V/μPa and typically between −180 and −200 dB — that is, a microvolt or so per pascal. Reciprocity guarantees the same element has the same directional response transmitting as receiving, so a pattern computed for reception applies unchanged to transmission.

Resonance, and why receivers and projectors are different objects

A transducer is a mass on a spring with a mechanical Q. Below resonance its response is flat and modest; at resonance it is large and sharply peaked; above resonance it falls away. That single curve divides the hardware in two:

  • Hydrophones operate well below resonance. The response is flat, so the band is wide and the phase is well behaved across it. Sensitivity is sacrificed, which is affordable on receive because you can amplify.
  • Projectors operate at resonance. Efficiency there is high, which matters when you are converting kilowatts. The band is correspondingly narrow, and a high-Q projector cannot radiate a wideband pulse however you drive it.

Bandwidth and efficiency trade directly through Q, so a wideband projector is necessarily a less efficient one. That constraint, not signal processing, is usually what limits the bandwidth available for the range resolution of the Doppler module.

Element response and pattern multiplication

the array factor is only half of the total pattern
element responsearray factorproduct — the real pattern

Pattern multiplication

An element of finite size is not omnidirectional. A face of width a has its own directional response, and the total array pattern is the product of the two:

total(θ) = element(θ) × array factor(θ) for a rectangular face of width a: element(θ) = | sinc( π (a/λ) sinθ ) |

While a ≪ λ the element is effectively omnidirectional and contributes nothing. Once a approaches a wavelength it starts to matter, and it matters helpfully: element directivity attenuates grating lobes, because a grating lobe sits at a large angle where the element response has already fallen. An array with elements as wide as its spacing is meaningfully more forgiving of undersampling than the point-element theory of the grating lobe module predicts. It also limits how far the array can usefully be steered, since the element response falls off well before endfire.

Where the real limits are

  • Preamplifier noise. When the sea is quiet and the array is deep, the electronics set the floor. This is the one noise term that improves with money.
  • Channel-to-channel mismatch. Elements are not identical. Gain and phase differences between channels behave exactly like the random errors of the real-array module: they fill nulls and lift the sidelobe floor, and no amount of shading recovers what mismatch has already cost.
  • Cavitation on transmit. Drive a projector too hard near the surface and the water in front of it tears. The limit rises with depth, which is why a deep source can radiate far more power than a shallow one.
  • Ageing and flooding. Elements degrade and occasionally die. A dead element is a hole in the aperture, and a shaded array with a dead element near the centre loses more than one near the ends.

What the ideal model leaves out

The array factor assumes a straight array of identical elements, perfectly positioned, listening to a monochromatic plane wave from infinitely far away. Four of those assumptions fail routinely.

Left–right ambiguity

A line array is a one-dimensional sensor in a three-dimensional world. Its output depends only on sin θ, and nothing in the geometry distinguishes a contact to port from its mirror image to starboard. Both produce identical delays at every element. The response is symmetric about the array axis, so a single line array reports a cone of possible directions, not a bearing.

In two dimensions this appears as a mirror-image ghost. The standard resolutions are to manoeuvre the platform — the true contact's bearing changes consistently with own motion, the ghost's does not — or to use a twin-line or triplet array whose transverse spacing breaks the symmetry.

The cone of ambiguity

Strictly, the measured quantity is the conical angle α from the array axis. Every direction on the cone of half-angle α gives identical delays. A contact well above or below the horizontal plane will therefore be reported at the wrong apparent horizontal bearing, since the array folds elevation into bearing. For near-horizontal geometry the error is small; for a close contact at steep depression angle it is not.

Position and phase errors

A towed array is a flexible hose in moving water. It bends, snakes and heaves, so element positions are known only approximately. A random position error δ along the array translates to a phase error k·δ — proportional to frequency. The effect on the pattern is to fill in the nulls and lift the sidelobes, roughly to an average level of σ_φ² / N. Heavy shading offers no protection here: you cannot achieve −50 dB sidelobes on an array whose element phases are only known to a tenth of a radian.

random phase error σ_φ → average sidelobe floor ≈ σ_φ² / N for −40 dB sidelobes with N = 32: σ_φ ≲ 0.06 rad ≈ λ/100 positioning

Bandwidth and beam squint

If steering is implemented as a fixed phase shift rather than a true delay, the steer direction is only correct at the design frequency. Other frequencies in the band point elsewhere — sin θ_actual = (f₀/f)·sin θ₀. Across a wide band the beam smears into an arc. True time-delay beamforming avoids this entirely, at the cost of needing fractional-sample delay filters or a high sample rate.

Near field

Plane-wave arrival assumes the source is far enough that wavefront curvature across the aperture is negligible. The usual boundary is the Fraunhofer distance:

R_ff = 2 · D² / λ D = effective aperture

Note the square. A 2 m aperture at 100 kHz has a far field beginning 530 m away — most practical targets are inside it. Closer than that, plane-wave steering defocuses the beam, and the fix is to steer with the correct curved-wavefront delays, which also lets you focus at a chosen range.

Ambiguity and error effects

full 360° response, with element phase errors applied
steered beammirror-image ghostideal pattern

Array shape and calibration

Every formula so far has assumed the elements lie on a straight line at known positions. A towed array is a flexible hose being dragged through moving water, and it is never straight.

The previous module treated position error as random, which fills nulls and lifts the sidelobe floor. A real array bends systematically, and systematic error does something worse than raise sidelobes: it moves the beam. A bearing that is wrong by a degree is far more damaging to a tracking solution than sidelobes that are ten dB too high.

What a bend does

Put the elements at their true positions and the arrival time from bearing θ becomes:

τₙ = ( xₙ·sinθ + yₙ·cosθ ) / c yₙ = lateral offset from the nominal axis the beamformer applies only xₙ·sinθ₀/c , so the yₙ term is uncompensated

Near broadside cosθ is close to one, so the lateral offsets contribute their full phase and the effect is largest exactly where the array is otherwise at its best. What the offsets do depends on their symmetry, and the distinction matters:

  • An odd, straight-line tilt — the array trailing at an angle to the ship's heading, which happens whenever there is a cross-current or the ship is turning — produces a linear phase gradient across the aperture. That is exactly what a wave from a different direction produces, so the beam simply points somewhere else. A tow angle of two degrees moves the reported bearing by close to two degrees. This is the dangerous one, because nothing about the beam looks wrong.
  • An even, symmetric bow produces no gradient and therefore no bias. Instead it defocuses: the main lobe loses gain and broadens, and the sidelobes rise. Ugly, but honest — you can see that something is wrong.
  • A snaking shape, which is what a real array shows for several minutes after a turn, contains both, and gives a biased and defocused beam with asymmetric sidelobes.

A bent array and the pattern it produces

a lateral offset of λ/4 is enough to matter
nominal straight arrayactual shape and its patternapparent bearing

Finding out what shape you are

Since the shape cannot be assumed, it has to be measured. Several methods are used together:

  • Heading sensors along the array. Compasses or fibre-optic gyros at intervals, integrated along the length to reconstruct the curve. Accurate over short spans, and prone to accumulating error over long ones.
  • Hydrodynamic models. A towed array approximately follows the tow point's path, delayed by the distance astern. Knowing own-ship's track therefore predicts the shape, which works well in steady towing and poorly after a turn.
  • Array element localisation from the acoustics themselves. Use a strong, distant, known source: any residual phase across the aperture after correct steering is shape error, and the shape can be solved for. Elegant, and it requires a source of opportunity.
  • Assume it and check. Compare the bearing of the same contact on two sub-apertures. A shape error shows up as a disagreement.

Calibration between channels

Even a perfectly straight array has channels that do not match. Element sensitivities differ by a decibel or two, preamplifier gains drift, and cable runs differ in length. Amplitude mismatch limits achievable sidelobes just as surely as phase error does, and the relationship is unforgiving:

rms gain error σ_a, rms phase error σ_φ average sidelobe floor ≈ ( σ_a² + σ_φ² ) / N

Chasing −50 dB sidelobes on an array whose channels are matched to a tenth of a decibel and a tenth of a radian is wasted effort — the errors put the floor around −35 dB regardless of how carefully the taper is designed. Calibration comes first, shading second.

Nested apertures

A long array is not used at one frequency. Low frequencies need the whole aperture to make a usable beam; high frequencies would suffer grating lobes at the same element spacing. Real arrays therefore run several nested sub-apertures at once — a short, closely spaced group for the high band and progressively longer, sparser groups for the low bands. One physical array behaves as three or four different arrays depending on which frequency you ask about.

Sandbox: a scene, some noise, and a bearing display

Everything so far, assembled and running. Two contacts with their own bearing drift and their own frequency, a real snapshot-by-snapshot simulation of the array output, and a choice of beamformer.

Levels here are relative. A contact level of +10 dB means ten decibels above the noise on a single hydrophone, before any array gain — so the numbers are a per-element signal-to-noise ratio, not an absolute pressure. That is the natural currency for a single array whose noise you have already fixed with the SNR control. The array comparison module uses absolute levels in dB re 1 μPa instead, because there each array computes its own noise from the ambient model and its own band, and only an absolute level lets them be compared fairly.

Each contact also has its own frequency. The beamformer forms its beams at the processing frequency, so a contact arriving off frequency appears at a squinted bearing, sinθ_apparent = (f_contact/f)·sinθ_true — a contact above the processing frequency is reported further out toward endfire, one below it further in — the effect from the bandwidth module, here one contact at a time. Leave both on the processing frequency for ordinary work, and move one off it when you want to see what a mistuned steering law does.

The scene is simulated the way a real system experiences it. Each snapshot generates a complex sample at every hydrophone — the sum of the contacts, each with its own steering vector and random phase, plus independent noise on every channel. Those snapshots are averaged into a covariance matrix, and both beamformers below are computed from it. That means the displays fluctuate for the right reason: you are looking at an estimate from a finite number of samples, not a formula.

Both beamformers, on one scene

The Beamformer control switches between the two approaches developed earlier. Conventional applies the fixed weights of the delay-and-sum module with the shading of the shading module, so its pattern is decided in advance and a loud contact leaks through the sidelobes onto every bearing. Adaptive computes its weights from the covariance matrix as derived in the adaptive module, placing nulls wherever the interference happens to be.

Two consequences show up immediately here. Adaptive processing needs snapshots: in this scene a 30 dB interferer is suppressed about 22 dB better than conventional when snapshots are plentiful, falling to roughly 13 dB at a quarter of the element count. And shading has no effect in adaptive mode, because the weights are computed rather than chosen.

Bearing response and bearing–time record

a new set of snapshots is drawn continuously
beamformer outputtrue bearingsdetection threshold

Things worth doing

  • Put one contact 25 dB above another nearby and watch the loud one's sidelobes bury the quiet one. Apply Hamming shading and it reappears. Then switch to adaptive and watch a null land on the interferer instead.
  • Bring two contacts closer than the beamwidth. Conventional merges them into one trace; adaptive keeps them apart — until you drop the snapshot count, at which point it cannot.
  • Put a contact at +20 dB well away from a second at −10 dB. Conventional beamforming lifts the weak one barely 2 dB above the loud one's sidelobe skirt, so it is invisible; adaptive lifts it more than 20 dB. That single comparison is the whole case for adaptive processing.
  • Then walk the snapshot count down past the element count and watch that advantage erode. Only diagonal loading keeps the estimate invertible at all below N.
  • Give a contact a bearing rate and watch it draw a sloping trace, then set another to zero rate and compare. This is the picture the TMA module works from.
  • Switch to the full 360° view. Every contact acquires a mirror image, because a line array cannot tell port from starboard — the ambiguity described earlier, now on an operational display.
  • Push d/λ past the grating lobe threshold and count how many contacts the display appears to show.
  • Move a contact toward endfire and watch its trace broaden as the projected aperture shortens.
Reading the record

A steady contact draws a vertical trace; one with relative motion draws a slope, and the slope is bearing rate. Faint parallel stripes either side of anything loud are its sidelobes, not additional contacts. Trace width is the beamwidth, so the same contact draws a wider trace near endfire than abeam without having changed at all.

Array types, and what each one sees

No single aperture covers every band and every bearing. A warship carries several arrays of quite different shapes, and the same contact looks different on each — sometimes to the point of appearing to be a different contact.

The three fits

  • Bow or hull array. A planar or cylindrical face in the bow dome, a few metres across, working at the top of the band. Short aperture but short wavelengths too, so the beam is respectable. Being two-dimensional it has no left–right ambiguity, and the hull baffles everything astern. It sits closest to the machinery and the flow, so it suffers the most self-noise, and it is the array active sonar transmits from.
  • Flank array. A long line of hydrophones along each side of the hull, tens of metres of aperture in the middle band. The hull baffles the opposite side, so each array covers its own beam sector unambiguously. Aperture is limited by the length of the ship, and the sector narrows toward bow and stern where the projected aperture shortens.
  • Towed array. A hose streamed hundreds of metres astern, with the longest aperture and the lowest band — hence the best array gain and the finest beams. It is far from own-ship noise, which is the point. In exchange it is ambiguous port to starboard, blind near endfire where the tow ship is ahead and the array's own wake is astern, its shape is uncertain as discussed in the shape module, and it constrains the ship's speed and manoeuvring.
 Bow / hullFlankTowed
Aperturea few metrestens of metreshundreds of metres
Bandhighestmiddlelowest
Coverageforward sectorone beam sector eachall round
Ambiguitynonenone — hull baffledport/starboard mirror
Self-noiseworstmoderatebest
Also used foractive transmissionpassive onlypassive only

All three arrays are configurable, and the controls are arranged the way a designer would actually meet them. Each array has an operating band, and everything else follows from it. Element spacing is set as a fraction of the shortest wavelength in that band, because that is the wavelength which decides whether grating lobes appear: keep it at or below 0.5 and the array is unambiguous everywhere in its band; push it past and the readout says so and the records fill with ghosts. Beamforming is reported at the band's geometric mean, so widening a band coarsens the beam and narrowing one sharpens it — which is precisely the argument for the nested apertures described in the shape and calibration module.

Element count then sets the aperture, and because the number of beams a display needs follows from the beamwidth, adding elements adds strips to that array's narrowband display and makes it physically taller.

Each contact radiates a shaft-rate harmonic family, a blade-rate family, and one machinery tonal you place yourself. Putting that tonal inside or outside a given array's band is the quickest way to see why one hull carries three of these.

Note that resolution does not simply follow aperture in metres. What matters is aperture in wavelengths, and the towed array's enormous length is partly spent buying back the very long wavelengths it works at. All three end up with beams of broadly similar width — but they achieve it in different bands, over different sectors, against different noise.

Broadband: the bearing–time record

Below is one scene viewed simultaneously through all three arrays. Bearing runs across each display, with zero directly ahead and positive to starboard; time runs down. Each array shows only the sector it can actually cover.

Levels here are absolute, in dB re 1 μPa at the array. They have to be: each array works in its own band, so each computes its own noise level from the ambient model of the noise module plus its own self-noise, and only an absolute received level can be compared against three different noise floors. The sandbox uses levels relative to the element noise instead, which is the more convenient choice when there is only one array and you have set its noise yourself.

Broadband bearing–time records

the same two contacts, three apertures

Three things should be visible immediately. Traces are wider near the edges of each display, because the projected aperture shortens toward endfire. The towed array shows every contact twice, mirrored about the fore-and-aft line, and there is no way to tell which of each pair is real without manoeuvring. And a contact outside an array's sector is simply not there — the bow array cannot see astern at all, and the flank array shown covers only starboard.

Narrowband: frequency against time, one strip per beam

The broadband display answers "where", and it throws away everything about "what". The narrowband display keeps the frequency axis instead: each horizontal strip is one beam, frequency runs across it, and time runs down within the strip. A steady tonal in a given direction draws a vertical line inside the strip whose beam points at it, and nothing in the strips that do not.

Each array analyses only its own band, and this is where the three fits stop being interchangeable. A contact's shaft and blade lines lie in the tens of hertz — visible only to the towed array. Its gear mesh lines sit in the kilohertz — visible only to the flank and bow arrays. No single array sees the whole signature, which is the real reason for carrying more than one.

Narrowband displays, one strip per beam

each strip is a beam; frequency across, time down within the strip
tonal linesbroadband continuumeach strip labelled with its beam bearing

Things worth doing

  • Move a contact from ahead round to astern and watch it hand over from the bow array, through the flank array, and out — with only the towed array holding it the whole way.
  • Compare the towed array's two strips at equal and opposite bearings. They are identical, because a line array genuinely cannot distinguish them. This is the ambiguity of the real-array module in its operational form.
  • Raise own-ship speed. Flow noise climbs steeply and the bow array, closest to it, loses contacts first. This is why quiet listening means slowing down.
  • Change a contact's shaft rate and watch its whole harmonic family move together in the towed array's display. The ratios stay fixed — which is what makes them a signature, and the subject of the classification module.
  • Slide a contact's machinery tonal across the bands and watch it hand over from one array's display to another, vanishing entirely in the gaps between them. Then widen a band to close the gap, and note what it costs in beamwidth.
  • Push one array's spacing past 0.5λ at its band top and compare its record with the other two. The ghosts appear only in that array.
  • Raise the wind. Ambient noise lifts most in the middle band, so the flank array suffers before the towed array does.

Classification

Detection tells you something is there. Localisation tells you where. Classification tells you what, and it is almost entirely a narrowband problem — with one important exception.

Machinery writes its signature in tonals

Anything that rotates radiates discrete lines at rates fixed by its geometry, and the relationships between those lines are far more informative than any one of them:

  • Shaft rate — the propeller shaft's rotation frequency, typically a few hertz. Its harmonics extend upward at exact integer multiples.
  • Blade rate — shaft rate multiplied by the number of blades, with its own harmonic series. The ratio of blade rate to shaft rate is the blade count, which is a hard structural fact about the vessel.
  • Gear mesh — tooth-passing frequencies in reduction gearing, usually much higher and often the strongest lines present.
  • Electrical supply — generators and their harmonics, at 50, 60 or 400 Hz depending on the standard in use, which is itself a clue.
  • Pumps and auxiliaries — lines that come and go as machinery is started and stopped, and whose appearance is an event worth noting.

The practical skill is reading families rather than lines. A set of evenly spaced lines has a spacing equal to its fundamental, and that fundamental can be recovered even when the line at the fundamental frequency is too weak to see — which it very often is, because low frequencies radiate poorly from a small structure. Measure the spacing, not the lowest line.

A harmonic family

the fundamental may be invisible; the spacing is not
shaft harmonicsblade rate and its harmonicssupply frequency

DEMON: classification from broadband noise

The exception to narrowband classification is the most useful trick in the subject. Propeller cavitation is broadband and structureless in the spectrum — but its amplitude is modulated as each blade passes through the wake, so the noise gets louder and quieter at blade rate. That modulation carries the same information as the tonals, encoded in the envelope rather than in the spectrum.

band-pass the broadband noise → rectify to recover the envelope → low-pass → transform lines appear at blade rate, its harmonics, and shaft rate

This is DEMON: detection of envelope modulation on noise. It works on a contact with no usable tonals at all, and it works at frequencies where propagation is good, since you can choose whichever broadband band arrives best. Shaft rate and blade count fall out of the same display, and the blade count in particular is difficult to disguise.

DEMON processing

the same signal before and after envelope demodulation
received broadband spectrumenvelope spectrum

What makes it hard

  • Propagation modulates everything. Multipath interference nulls sweep across frequency as range changes, so a line can fade and return without the source having altered. A line that disappears is not evidence that a machine stopped.
  • Doppler moves the lines. Every measured frequency is shifted by relative motion, so a set of ratios is more reliable than a set of absolute frequencies — and the shift itself is information about geometry.
  • Aspect changes what radiates. Machinery lines are directional, so the same contact presents a different set of lines from a different angle.
  • The contact is trying. Rafting, mounting and quieting are engineering directed precisely at removing these lines, which is why DEMON matters: cavitation is much harder to eliminate than a tonal.
Classification is not identification

Reading a blade count and a set of harmonic ratios narrows a contact to a class of vessel. Naming an individual requires a library — a recorded signature previously associated with that specific hull, matched against what you are hearing now. The processing described here produces the evidence; the library and the analyst produce the answer.

Relative motion: range, speed and course

A contact's apparent behaviour is never about its own motion. It is about the difference between its motion and yours, and separating those two is the whole discipline.

Own-ship has a course and speed; so does the contact. What the sensors see is governed by the relative velocity, the vector difference between them:

V_rel = V_target − V_own

Plot the contact's position in a frame fixed to own-ship and it travels in a straight line along V_rel. That straight line is the relative track, and every quantity you care about — bearing rate, range rate, closest point of approach — is read off it directly.

Splitting the velocity at the contact

Resolve the relative velocity into two components at the contact's position: one along the line of sight and one across it. The two are measured by completely different means, which is the reason this decomposition matters.

radial Ṙ = V_rel · û range rate → measured by Doppler tangential R·Ḃ = V_rel · û⊥ cross velocity → measured by bearing rate so Ḃ = ( cross velocity ) / R radians per second

That last line is the single most important relation in passive tracking, and it deserves staring at. Bearing rate is inversely proportional to range. A contact drawing quickly across your bearing is either close, or fast, or some combination — and one bearing rate cannot separate those cases. Everything difficult about bearings-only tracking descends from this one fact.

Geographic plot and relative plot

the same situation in the world's frame and in own-ship's frame
contactown-shiplines of sightclosest point of approach

Closest point of approach

At CPA the range stops decreasing and starts increasing, so the radial component is zero and the relative velocity is entirely tangential. On the relative plot, CPA is simply the perpendicular from own-ship onto the relative track.

t_CPA = − ( r₀ · V_rel ) / |V_rel|² R_CPA = | r₀ + V_rel · t_CPA |
Constant bearing, decreasing range

If the bearing is not changing and the range is closing, the relative track points straight at you and CPA is zero. That is a collision, and it is why CBDR is drilled into every watchkeeper: the most dangerous contact is the one that appears to be doing nothing at all. Set the contact's course in the panel until the bearing trace flattens and watch what the relative plot does.

What the sensors actually see

bearing and range against time — only the upper trace is measured passively
bearingrangeCPA

Look at the two traces together. The range curve is smooth, dips at CPA and rises again. The bearing curve sweeps fastest exactly where the range is least. Now cover the range plot with your hand — because in passive sonar you do not have it. The entire problem of the next two modules is reconstructing the lower trace from the upper one.

Doppler

Bearing rate measures motion across the line of sight. Doppler measures motion along it. Between them they account for the whole velocity vector, which is why a system with both is in a fundamentally better position than one with either.

Relative motion along the line of sight compresses or stretches the arriving wavefronts. For speeds far below the speed of sound — which in water means everything that floats — the shift is proportional to closing speed:

passive, one way: Δf / f ≈ v_closing / c active, two way: Δf / f ≈ 2 v_closing / c at c = 1500 m/s: 1 knot → 3.43×10⁻⁴ of the frequency, one way 1 kHz tonal, 10 kn closing → 3.4 Hz passive, 6.9 Hz active

Those are small numbers, and they set a hard requirement on the analysis. To measure a 3.4 Hz shift you need frequency bins comfortably narrower than 3.4 Hz, which means an integration time of at least a second or two. At 100 Hz the same speed produces only 0.34 Hz and you need tens of seconds — which is only usable if the tonal is stable enough to sit still that long. Doppler and the narrowband processing constraints are the same constraint seen twice.

The passage through CPA

Watch a single tonal as a contact passes and the closing speed runs smoothly from +V, through zero at CPA, to −V. The received frequency traces a characteristic S:

f'(t) = f · ( 1 − Ṙ(t)/c ) Ṙ(t) = V²t / √( R_CPA² + V²t² ) total sweep Δf_total = 2 f V / c → gives V slope at CPA df/dt = − f V² / ( c · R_CPA ) → gives V²/R_CPA

Two measurements, two unknowns. The sweep gives the speed and the slope then gives the CPA range — a complete passive solution from one tonal, with no manoeuvre required. The catch is that you must observe the whole passage, and the tonal must be stable enough for its drift to be attributable to geometry rather than to the machine producing it.

This is also the sloping line you already met in the displays module. That was a Doppler sweep through CPA all along.

Doppler through closest approach

horizontal bands are FFT bins — the sweep is only useful if it crosses several
received frequencyrest frequencyanalysis bins

Why you cannot have both resolutions for free

Range resolution needs bandwidth; Doppler resolution needs duration. For a simple pulse of length T, bandwidth is about 1/T, so the two work directly against each other:

range resolution ΔR = c · T / 2 simple pulse velocity resolution Δv = c / ( 2 f T ) product for a simple pulse: ΔR · Δv = c² / ( 4 f ) — a constant with a swept pulse of bandwidth B: ΔR = c / (2B) product improves by exactly the time-bandwidth product B·T

Plotted on log axes that constant product is a straight line, and every simple pulse — long CW, short click, anything in between — sits on it. You slide along the line by changing duration; you cannot get underneath it. An LFM chirp gets underneath by sweeping frequency across a long pulse, buying B·T in the process. That is the same currency introduced in the bandwidth module, now spent on two resolutions at once.

The resolution trade

simple pulses lie on the line; only time-bandwidth product gets you below it
simple-pulse limityour pulseCW and short-pulse extremes

Doppler in practice

  • Reverberation rejection. Bottom and surface reverberation returns at essentially zero Doppler while a moving target does not. Filtering in Doppler separates them, and it is often the only thing that makes a target visible against reverberation at all.
  • Own-Doppler nullification. Own-ship motion Doppler-shifts the reverberation, differently in each beam because the radial component varies as the cosine of the bearing. ODN adjusts the transmitted frequency per beam so that reverberation lands where expected.
  • Range–Doppler coupling. A linear chirp cannot distinguish a small range shift from a small Doppler shift — they slide along a ridge in the ambiguity function. Up-and-down sweep pairs are used to break the tie.
  • Doppler varies across the beam fan. With own-ship making way, the same stationary background produces different shifts at different bearings, largest at endfire and zero abeam.

Bearings-only target motion analysis

Each measurement gives you one number: a bearing. The contact has four unknowns. The shortfall is not merely awkward — for a large class of geometries the problem has no unique answer at all, and understanding exactly when is the core of the subject.

Represent the contact by four states: two position coordinates and two velocity components. A bearing is a line of position: it says the contact lies somewhere along a ray, and nothing about where. Accumulate bearings over time and the lines of position from successive own-ship positions should intersect — but only if own-ship has moved in a way that makes them intersect meaningfully.

The unobservability result

The result below is due to Nardone, Lindgren and Gong [1984]. Suppose own-ship holds a constant course and speed, and so does the contact. Take any candidate solution and scale it: put the contact k times further away, and give it a velocity such that the relative velocity is also multiplied by k.

r'(t) = k · r(t) where r(t) = target position − own position achieved by r'₀ = k·r₀ and V'_target = V_own + k·( V_target − V_own )

The relative position vector is scaled by a constant at every instant, so its direction never changes. The bearing history is bit-for-bit identical. There is a continuous, one-parameter family of tracks — different ranges, different courses, different speeds — that no amount of bearing data can distinguish. More observations do not help; they are all consistent with all of them.

Now let own-ship turn. The scaled solution would need V'_target − V'_own = k'( V_target − V'_own ) for the new leg, but the contact's velocity was already fixed by the first leg and it is not permitted to change. In general only k = 1 satisfies both legs. The manoeuvre is what makes the problem solvable, and it is not a refinement or an accuracy improvement — without it there is no solution to refine.

The solution family

set the manoeuvre time past the end of the run, then bring it back in
true trackalternative solutionsown-shipleast-squares estimate

With the manoeuvre pushed beyond the end of the run, the alternative tracks lie at wildly different ranges and their bearing histories sit exactly on top of one another. Bring the manoeuvre inside the run and the curves fan apart after the turn — the amount they separate is precisely the information the manoeuvre has generated.

Ekelund ranging

Before least squares there was a piece of arithmetic you could do on a plotting sheet, and it still gives the right intuition. Take the bearing rate on each leg, and own-ship's speed component across the line of sight on each leg. Since Ḃ = (S_target − S_own)/R on both legs and the contact's across-component is unchanged, subtracting eliminates it:

R = ( S_own,b − S_own,a ) / ( Ḃ_a − Ḃ_b )

Range comes from a difference of bearing rates divided into a difference of own-ship's cross-track speeds. Both differences are small numbers, so both are dominated by their errors, which is exactly why bearings-only range estimates are poor and why a bigger manoeuvre gives a better answer.

Two things about it are easy to get wrong. It estimates the range at the moment of the turn, not at any other time. And it assumes the range and bearing barely change while the two bearing rates are being measured, so those rates must come from short windows either side of the turn — which is what the panel does. On a slow distant contact it is accurate to a fraction of a per cent; on a fast close pass, where the range halves during a leg, it collapses. The readout flags which situation you are in.

The panel computes Ekelund from noise-free bearings to isolate the geometry. In service the bearing rate must be estimated from a short span of noisy bearings, and that estimate is exactly where the accuracy is lost.

Solving properly

The bearing equation looks non-linear but rearranges into something linear in the four states, which is why the classic estimator is easy to write down:

sin Bᵢ · ( y + ẏ tᵢ − y_own,ᵢ ) − cos Bᵢ · ( x + ẋ tᵢ − x_own,ᵢ ) = 0 stack over all i → an over-determined linear system → least squares

This pseudo-linear estimator is what the panel runs. It is convenient and it is biased: the noise appears inside the coefficients as well as the residuals, which pulls estimated ranges systematically short. Production systems use maximum likelihood or a filter instead, but the pseudo-linear solution is the right thing to understand first, because when the geometry is unobservable it fails in an informative way — the normal matrix becomes ill-conditioned and the answer runs away. Watch the conditioning figure as you move the manoeuvre.

Why coordinates matter

A Kalman filter in Cartesian coordinates handles this problem badly, and the reason is the unobservability. Three combinations of the state are perfectly observable without any manoeuvre — bearing, bearing rate, and range rate divided by range — while only the fourth, the reciprocal of range, is not. Cartesian coordinates mix all four together, so the unobservable direction contaminates everything and the covariance estimate becomes over-confident and wrong.

modified polar state: [ Ḃ , Ṙ/R , B , 1/R ] └─ observable ─┘ └ not ┘

Choosing this state isolates the ill-behaved component in one variable. The filter can then be confident about the three it genuinely knows and honestly uncertain about the one it does not, which is the whole reason modified polar coordinates are standard for bearings-only work.

Things that go wrong

  • Errors grow as the square of range. A fixed bearing error subtends a cross-range distance proportional to range, and the range estimate depends on differencing those, so the range error scales roughly as R²σ_B divided by the manoeuvre baseline. Doubling the range quadruples the uncertainty for the same manoeuvre.
  • The contact manoeuvres too. Every method here assumes constant target velocity. A target turn part-way through corrupts the solution more thoroughly than any amount of bearing noise, and detecting it is a separate problem in its own right.
  • The mirror image. A line array reports a bearing and its reflection, as described in the real-array module. The ghost generates a complete mirror-image TMA solution that is perfectly self-consistent. Conveniently, the same manoeuvre that makes range observable also resolves the ambiguity — the true bearing changes in the way the geometry predicts and the ghost does not.
  • Own-ship errors count twice. Own position and heading enter every line of position. A heading error is indistinguishable from a bearing bias, and it does not average away.

Recursive estimation and the Kalman filter

The previous module solved for a track in one batch, using every bearing at once. A real system cannot wait: measurements arrive one at a time and the answer is needed after each. That calls for a different shape of estimator.

A recursive estimator carries two things forward and nothing else: a state, which is its best current answer, and a covariance, which is how sure it is. Every new measurement updates both. It never revisits old data, which is what makes it affordable, and it is exactly optimal for a linear system with Gaussian noise.

The cycle

Two steps, repeated forever [Bar-Shalom et al., ch. 5]. First predict — move the state forward by the motion model, and grow the uncertainty because the model is not perfect:

x⁻ = F · x state predicted forward P⁻ = F · P · Fᵀ + Q uncertainty grows by the process noise

Then update — compare the prediction with what actually arrived, and move part of the way toward it:

innovation y = z − H · x⁻ what the measurement says the prediction got wrong innovation cov S = H · P⁻ · Hᵀ + R Kalman gain K = P⁻ · Hᵀ · S⁻¹ state x = x⁻ + K · y covariance P = ( I − K · H ) · P⁻

The gain is the whole filter in one quantity. It is the ratio of how uncertain the prediction is to how uncertain the prediction and measurement are together, so it lands between zero and one and it decides who to believe. A noisy sensor and a trustworthy model give a small gain and a smooth, sluggish track. A precise sensor and an unpredictable target give a gain near one and a track that follows every wobble. Nothing about the filter is more important than understanding that the tuning sets that balance and that there is no setting which is good at both.

Tracking a contact that manoeuvres

turn the process noise down for smoothness, up for responsiveness — you cannot have both
true bearingmeasurementsfilter estimate±1σ from the filter's own covariance

Process noise is a confession, not a nuisance parameter

Q states how wrong the motion model is allowed to be. A constant-velocity model applied to a contact that can turn is wrong, and Q is where you admit it. The consequences of getting it wrong run in both directions:

  • Too small. The filter believes its own model. Its covariance shrinks toward zero, the gain follows, and it stops listening to measurements. When the contact manoeuvres the filter lags badly and — worse — the real bearings now look like outliers against a covariance that says they are impossible. A confident, smooth and wrong track. This is the classic failure and it is what the tracking module's swapped tracks look like from the inside.
  • Too large. The filter never settles, the gain stays high, and the output is barely smoother than the raw measurements. You have paid for a filter and received a repeater.

The diagnostic is the innovation. The filter predicts not only the measurement but how far off that prediction should typically be, through S. Normalise the innovations by S and they should look like unit-variance noise. Persistently large ones mean the model is wrong — most often that the contact has manoeuvred — and monitoring them is how a tracker detects a manoeuvre rather than merely suffering it.

When the measurement is not linear

Bearing is not a linear function of position, so the plain Kalman filter does not apply and the usual variants patch around it:

  • Extended Kalman filter. Linearise the measurement about the current estimate and carry on. Cheap and standard, and it fails when the estimate is far enough off that the linearisation is meaningless.
  • Unscented Kalman filter. Push a small set of chosen sample points through the true non-linear function and rebuild the statistics from where they land. No derivatives and considerably more robust.
  • Particle filter. Represent the distribution with many weighted samples. The only option when the posterior is genuinely multi-modal — which, in bearings-only tracking before a manoeuvre, it is.

That last point explains the coordinate choice asserted in the TMA module. In Cartesian coordinates the unobservable direction — range — is mixed into every state component, so linearising about a wrong range corrupts the whole covariance, and the filter reports confidence it has not earned. In modified polar coordinates [Aidala & Hammel 1983] the unobservable part is isolated in one variable, 1/R. The filter can then be properly confident about bearing, bearing rate and range rate divided by range, while remaining honestly ignorant about range itself. The mathematics is no better behaved; the bookkeeping is.

The α–β filter

Let a constant-velocity Kalman filter run until its gain stops changing and you get a fixed-gain filter with two numbers: α weighting position corrections and β weighting velocity. It is what many trackers actually implement, since it needs no matrix arithmetic and behaves identically once settled. Understanding the Kalman form still matters, because it tells you what α and β ought to be and what the filter is entitled to claim about its own accuracy.

Tracking and data association

The previous module solved for a contact's motion from a sequence of bearings. It quietly assumed somebody had already decided which bearings belonged to that contact. Deciding that is a separate problem, and in clutter it is the harder one.

What a real system produces each scan is not a bearing but a detection list: everything that crossed the threshold this update, which includes the contacts you care about, the contacts you do not, sidelobe responses, reverberation peaks and pure noise. Nothing in that list is labelled. Turning it into tracks requires answering three questions on every scan, and getting any of them wrong corrupts everything downstream.

Gating

Predict where each existing track should appear next, then accept only detections close enough to be plausible. The gate is sized from the prediction uncertainty, so it is a statistical statement rather than a fixed window:

gate half-width = g · σ_predicted g typically 3 σ_predicted² = σ_measurement² + σ_process²

Gate too tightly and a manoeuvring contact falls outside its own gate and the track dies. Gate too loosely and clutter floods in. The gate size is the single most consequential number in a tracker and it is almost always tuned by hand against the clutter density actually encountered.

Association

When more than one detection lands in a gate, or one detection lands in more than one gate, something has to choose. The options form a ladder of increasing cost and capability [Blackman & Popoli, ch. 6]:

  • Nearest neighbour. Each track takes the closest detection in its gate. Trivial to implement, and it fails predictably: when two tracks converge, both reach for the same detection and one of them steals it.
  • Global nearest neighbour. Consider all tracks and all detections together, and choose the set of assignments minimising total cost — a classical assignment problem solved by the Hungarian algorithm. It cannot give one detection to two tracks, which fixes much of the crossing behaviour for very little extra work.
  • Probabilistic data association. Refuse to choose. Update the track with a weighted average of every detection in the gate, weighted by how likely each is. Robust in clutter and it never commits to a wrong assignment, at the cost of being pulled slightly toward the clutter.
  • Multiple hypothesis tracking. Refuse to choose yet. Carry several competing interpretations forward and let later data resolve them, pruning as evidence accumulates. The most capable approach and the most expensive, since the hypothesis tree grows explosively without aggressive pruning.

Two contacts crossing in clutter

watch what happens at the crossing, then change the association rule
true bearingsdetections, including cluttertrack Atrack B

The failure to look for is the track swap. As the two contacts converge, their gates overlap and for a few scans the detections are genuinely ambiguous. Nearest neighbour resolves each scan independently and, sooner or later, hands track A the detection belonging to B. Nothing announces this. Both tracks continue smoothly, both look healthy, and both now describe the wrong contact — carrying with them whatever range and course solution had been accumulated. A swapped track is far more dangerous than a lost one, because a lost track is obvious.

Initiation and deletion

Tracks also have to be born and allowed to die, and both need hysteresis to avoid thrashing:

  • Initiation is usually M of N logic: a tentative track is formed from an unassociated detection and promoted only if it is confirmed on at least M of the next N scans. Tightening M suppresses false tracks from clutter and delays real ones.
  • Deletion mirrors it: a track that misses several consecutive scans is dropped. Too eager and every fade in the previous module kills a good track; too patient and dead tracks coast across the display for minutes, still being drawn.

Clutter density sets where those thresholds have to sit. False detections per scan scales with the number of cells searched and the false alarm probability from the detection module, so the tracker's difficulty is set by a threshold chosen much earlier in the chain. Lowering the detection threshold to gain sensitivity does not merely add false alarms — it can make the tracker unusable, and the two decisions have to be made together.

Where this connects

The estimator inside each track is the filter of the TMA module, usually in modified polar coordinates. Association decides what that filter is fed. It is worth being clear about the order of failure: a filter fed correct measurements converges even when the geometry is poor, but a filter fed one wrong measurement produces a confident, smooth and entirely fictitious solution. Most operational tracking failures are association failures, not estimation failures.

Getting range without a manoeuvre

Manoeuvring for a solution costs time, gives away your intentions and interrupts whatever else you were doing. Several methods give range directly, each with a range limit fixed by physics rather than by patience.

Active: two-way travel time

Transmit, wait, measure. It is the only method here that is essentially exact, and the reasons not to use it are tactical rather than technical.

R = c · t / 2 ΔR = c / (2B) resolution set by bandwidth

Accuracy is limited by bandwidth and by how well you know c, which varies by a few per cent with the profile from the propagation module — a 1% sound speed error is a 1% range error, and refraction means the path was not straight anyway.

Transmitting repeatedly introduces an ambiguity that should look familiar. If the next ping goes out before the last echo returns, that echo arrives during the wrong listening window and is reported at a short range:

unambiguous range R_u = c / ( 2 · PRF ) at 1500 m/s: PRF 1 Hz → 750 m PRF 0.1 Hz → 7.5 km

This is the sampling theorem once more, on a third axis. Pulse repetition frequency samples the range axis; element spacing samples the bearing axis; sample rate samples time. Too coarse in any of them and energy folds back into the observed interval wearing a disguise. Range ambiguities, grating lobes and aliased tones are one phenomenon.

Passive: wavefront curvature

A wavefront from a finite range is curved. Split the aperture into sections and the curvature shows up as a difference between the centre section's arrival and the average of the outer ones. Across an aperture D the sagitta is:

extra path δ ≈ D² / ( 8R ) curvature phase φ = 2πδ/λ = π D² / ( 4 R λ ) so R = π D² / ( 4 λ φ )

Note what φ does with range: it falls as 1/R, so the fractional range error equals the fractional phase error and the absolute range error grows as R². The method works well close in and degrades quickly.

Setting φ = π/8, which is the familiar eighth-of-a-wavelength criterion, gives R = 2D²/λ — exactly the far-field boundary quoted in the real-array module. That was never an arbitrary convention. It is the range beyond which curvature is no longer measurable, which is the same as the range beyond which the wavefront may as well be a plane.

Curvature ranging limit

uses the aperture you configured; phase accuracy sets where it stops working
curvature phasephase measurement floorfar-field boundary

How curvature is actually measured

The expression above is a statement about geometry, not a method. In practice nobody measures the sagitta directly — what is available is a set of phases, one per hydrophone, and curvature has to be extracted from them in a way that is immune to the things you do not know.

The trick is to take a second difference. Split the aperture into three sub-arrays, at the two ends and the centre, and beamform each separately toward the contact. Each returns a phase. Then:

δ = ( r_A + r_C ) − 2·r_B ≈ L² / ( 4R ) measured as Δφ₂ = φ_A + φ_C − 2φ_B = k · δ so R ≈ π L² / ( 2 λ Δφ₂ )

Why a second difference rather than a first? Because it cancels the two things you do not know and cannot easily measure. A constant phase offset common to all three sub-arrays — from an unknown transmission delay, or a clock offset — drops out. So does a linear gradient across the aperture, which is exactly what an unknown bearing produces. The second difference is blind to bearing and sensitive only to curvature, which is precisely the separation you want: bearing is measured well by the whole aperture, and range is measured by what is left over.

The approximation is excellent where it matters. At 5 km with a 100 m baseline the exact path difference is 0.49999 m against 0.50000 m from the formula — an error of 0.002%. It only begins to matter when the contact is close relative to the baseline: at 1 km with a 400 m baseline the error reaches 1%, and there you would use the exact geometry instead.

Three sub-arrays, and how to divide the hydrophones between them

Given a fixed number of hydrophones, how should they be shared out? This has a clean answer, and it is not the obvious one.

A sub-array of n elements estimates its phase with a variance proportional to 1/n. The centre sub-array enters the second difference with a coefficient of two, so its error is doubled before it is added, and its variance contributes four times as heavily:

var( Δφ₂ ) = σ² · ( 1/n_A + 4/n_B + 1/n_C ) n_A + n_B + n_C = N

Minimising that subject to the total gives n_B = 2n_A, and hence:

optimal split: N/4 in each end sub-array, N/2 in the centre

The centre gets half the hydrophones and each end a quarter. That result is independent of N — it holds exactly at 16 elements and at 256 — and it is worth knowing because the instinct is either to split equally in three, or to load the ends where the leverage is. Equal thirds costs 6.5% in standard deviation and a centre-light arrangement costs 24%. Not catastrophic, but free to avoid.

The positions matter far more than the split. Range error scales as the inverse square of the baseline, so doubling the separation of the end sub-arrays is worth four times as much as any reshuffling of elements between them. If there is a choice between more hydrophones and more separation, take the separation.

Three sub-apertures

the split, the curvature it measures, and the range accuracy that results
your splitthe optimumfar-field boundary

Small separated arrays rather than one long one

Nothing in the above requires the three sub-apertures to be part of a single physical array. They need only to be three places where phase can be measured coherently, with known separations. That opens up a configuration worth thinking about: several small arrays, widely spaced, rather than one continuous long one.

The case for it is the 1/L² scaling. Three small arrays spread over 400 m measure range four times better than the same hydrophones packed into 200 m, and the hydrophone count barely enters — it appears only as a square root, through the phase variance. Sparse and separated beats dense and compact, for this measurement.

The case against is everything that separation makes harder:

  • Knowing where they are. The baseline enters squared, so a 1% error in the separation is a 2% error in range, and it is a bias rather than a noise. Three independently-suspended small arrays have to be surveyed relative to one another to better than they can usually be surveyed.
  • Coherence between them. The three phases must be measured against a common reference. That means either a shared clock and cabling, or clocks stable over the integration time — and the ocean must be coherent across the whole span, which the fluctuation module shows is not automatic at long baselines.
  • Ambiguity. Widely separated sub-apertures are, jointly, a sparse array. The second difference wraps at 2π just as a single pair does, so a large baseline gives fine resolution and an ambiguous answer. The usual fix is a nested arrangement — a short baseline to resolve the ambiguity and a long one to refine it — which is the same argument as nested apertures applied to range instead of bearing.
  • They still cannot beat the far field. Sub-aperture separation extends the boundary, because the relevant aperture becomes the full span, but the fundamental limit is unchanged: beyond about 2L²/λ the curvature is smaller than you can measure and no arrangement of elements recovers it.

On the economics, the honest summary is that hydrophone count is rarely what limits curvature ranging. Phase stability, position knowledge and baseline are, and all three are bought with engineering rather than with channels. Adding elements improves the estimate as √n; extending the baseline improves it as L². If a design is being sized, that comparison should be made before the channel count is chosen.

A note on terminology

Small distributed sub-apertures of this kind go by different names in different communities and different programmes, and some of those names are local to one organisation or one navy. If you have a specific system in mind whose designation is not used here, the underlying geometry is almost certainly the three-sub-aperture second difference described above; the arithmetic does not change with the name.

Passive: multipath timing

The direct path and the surface-reflected path differ in length by the quantity already derived for Lloyd's mirror in the interference module:

Δ ≈ 2 z_s z_r / R Δt = Δ/c in the frequency domain, interference nulls are spaced Δf = c R / ( 2 z_s z_r )

Two ways to use it. If the signal is impulsive, measure the arrival time difference directly and invert for range. If it is continuous, measure the spacing of the interference fringes across frequency on a spectrogram — wider fringes mean greater range. Either way you need the depths, and the method fails where the surface is rough enough to destroy the coherence of the reflection.

Two platforms: the cross-fix

Two separated bearings intersect at a point, and the quality of that point depends almost entirely on the angle at which they cross. Near ninety degrees the fix is tight. As the crossing angle closes, the intersection region stretches along the range direction — the geometric dilution of precision — and by a few degrees it is useless.

range error ≈ ± 2 R · σ_B / sin γ γ = crossing angle; small errors only

The crossing angle is roughly the baseline divided by the range, so useful cross-fixing needs a baseline comparable to the range you are trying to measure. This is the same trade as a manoeuvre in bearings-only TMA, bought with geography instead of with time.

Cross-fix geometry

shrink the baseline or open the range and watch the fix stretch
sensor bearing wedgestrue contactregion consistent with both
Choosing a method

They fail in different places, which is why real systems carry several. Curvature ranging works inside 2D²/λ and needs a long aperture and accurate element phase. Multipath needs known depths and a coherent surface. Cross-fixing needs a second platform and a wide baseline. Bearings-only TMA needs only patience and a manoeuvre, and works at any range — badly. Active works everywhere, immediately, and tells everyone within a hundred miles exactly where you are.

Active sonar

Transmitting solves the range problem instantly and creates a different one. The interference is no longer the ocean's noise — it is your own transmission coming back at you from everything that is not the target.

The active sonar equation, twice

The echo makes a two-way trip and bounces off something with a finite reflectivity, so it accumulates transmission loss twice and picks up a target strength:

echo level EL = SL − 2·TL + TS noise limited: SE = EL − ( NL − DI ) − DT reverberation limited: SE = EL − RL − DT

Two different equations for the same system, and which one applies depends on range. The distinction is not academic, because the two respond to design changes in opposite ways.

Source level does not help against reverberation

Raise the source level by 10 dB and the echo rises 10 dB — and so does the reverberation, because reverberation is your own transmission too. In reverberation-limited conditions the ratio is unchanged and you have gained nothing but a louder ping. What does help is a smaller resolution cell: a narrower beam, or a shorter effective pulse. That is why active performance is so often a waveform problem rather than a power problem.

Target strength

Target strength is the echo level referred back to one metre from the target, relative to the incident level:

TS = 10·log₁₀( I_reflected at 1 m / I_incident ) rigid sphere of radius a: TS = 10·log₁₀( a² / 4 ) submarine, beam aspect: roughly +10 to +25 dB submarine, bow or stern: often 15 to 25 dB lower

The aspect dependence is severe and is exploited by both sides. A hull presenting its bow reflects far less than the same hull presenting its side, so a contact can control much of its own detectability simply by pointing. Anechoic coatings attack the same term, and they work best where the coating thickness is a useful fraction of a wavelength — which makes low-frequency active sonar harder to defeat.

Reverberation

Reverberation is backscatter from the surface, the sea floor, and the volume of water itself — fish, bubbles, plankton, the deep scattering layer. It arrives continuously, starting immediately after transmission and decaying with time. Its level depends on the scattering strength of the boundary and on the size of the patch being ensonified at that instant:

reverberating area A ≈ R · Φ · ( c·τ_eff / 2 ) Φ = beamwidth in radians RL = SL − 2·TL + S_s + 10·log₁₀( A )

Both the echo and the reverberation fall as 2·TL, so their ratio depends only on the target strength against the scattering strength and the cell size. The cell grows linearly with range, so reverberation worsens relative to the echo as range opens — but transmission loss eventually pulls both below the noise, and beyond that crossover the system is noise-limited and behaves like the passive case.

Echo, reverberation and noise against range

detection needs the echo above whichever of the other two is higher
echo levelreverberationnoise after array gaindetection threshold above interference

Choosing the waveform

The two interference regimes want opposite things, which is why active sonars carry several waveforms and alternate between them.

WaveformStrong againstWeak againstWhy
Long CWreverberationrange accuracyfine Doppler resolution separates a moving echo from stationary reverberation
Short pulsereverberationnoisesmall range cell, but little energy in the water
LFM chirpnoise and reverberationDoppler discriminationlong pulse for energy, compressed to a small cell by bandwidth

The Doppler route is worth dwelling on. Reverberation from the sea floor returns at essentially zero Doppler, while an echo from a moving target does not. A long CW pulse resolves that difference into separate frequency bins, and the target simply appears somewhere the reverberation is not. A target moving directly across the line of sight has no radial component, no Doppler, and lands squarely in the reverberation — which is a known and exploited blind spot.

Other practicalities

  • Time-varied gain. Receiver gain is ramped through the reception interval to compensate for spreading, so that a distant echo and a nearby one occupy similar parts of the dynamic range.
  • Direct blast and ringing. The transmission saturates the receiver and the projector rings afterwards, blanking the first part of the interval and setting a minimum range.
  • Range ambiguity. As covered in the ranging module, the pulse repetition rate samples the range axis, so echoes beyond c/(2·PRF) fold back to short apparent ranges.
  • It announces you. A passive listener detects the transmission over a one-way path, while the transmitter detects the target over a two-way path. The listener therefore hears you far, far sooner than you detect the listener, which is the fundamental tactical objection to active sonar and the motivation for the next module.

Bistatic and multistatic sonar

Separate the transmitter from the receiver and the geometry changes fundamentally. Constant travel time no longer describes a circle around the sensor — it describes an ellipse with a focus at each end.

In a monostatic system the transmitter and receiver are co-located, so the measured travel time gives range directly. Separate them by a baseline L and what you measure is the total path — out to the target and back to somewhere else:

r_t + r_r = c · t the bistatic range sum locus of constant sum = an ellipse with foci at transmitter and receiver the baseline L is the focal separation

One measurement therefore places the target on an ellipse rather than a circle, and an ellipse alone is not a position. Resolving it needs a second piece of information: a bearing from the receiving array, another receiver giving a second ellipse, or motion over time. Where the receiver has good bearing accuracy the ellipse-and-bearing intersection is a clean fix; where it does not, more receivers are the answer, and the geometry of their intersections is once again a question of dilution of precision.

Bistatic geometry

the ellipse is where the target could be; the bearing says where on it
iso-range ellipsestarget and the fix regionreceiver bearing wedge

The bistatic angle changes the target

The angle β subtended at the target between the transmitter and the receiver is the defining parameter of the geometry, and target strength depends on it strongly:

  • Near β = 0 the geometry is effectively monostatic and behaves as the previous module describes.
  • At moderate β the echo is a genuine off-axis reflection. A hull that is quiet toward the transmitter may reflect strongly toward a receiver placed elsewhere, which defeats the aspect-control tactic that works so well against monostatic sonar.
  • Near β = 180°, with the target between transmitter and receiver, forward scatter produces a large enhancement — the target casts an acoustic shadow, and the diffraction around it is detectable well beyond what the target's own reflectivity would suggest. Barriers of transmitters and receivers exploit exactly this.

Why it is worth the trouble

  • The receiver stays silent. Only the transmitter reveals itself, and it can be expendable, distant, or a source of opportunity that was going to be transmitting anyway.
  • Coverage improves. Several receivers listening to one transmitter cover far more water than the same platforms operating monostatically, and the shadow zones of the propagation module rarely coincide for all paths at once.
  • Aspect diversity. With several receivers, a target cannot present a low-reflectivity aspect to all of them simultaneously.

And why it is hard

  • Synchronisation. The receiver must know precisely when the transmission left and precisely where both platforms were. A millisecond of timing error is 1.5 metres of range sum; a positional error propagates straight into the ellipse.
  • The direct blast. The transmission arrives at the receiver along the baseline, far louder than any echo, and blanks the receiver for as long as it takes to pass and stop ringing.
  • Reverberation is bistatic too. It arrives from the whole ellipse rather than from a compact patch, so reverberation control is harder rather than easier.
  • Association. With several receivers producing several ellipses and several contacts, deciding which detection belongs to which target is a combinatorial problem that grows quickly, and getting it wrong produces confident ghost tracks.
Reference

Reference

Symbols, a summary of what each control really does, a guide to the displays, and every formula in the primer with its terms spelled out.

Symbols

The same handful of symbols runs through the whole primer. If one has slipped, this is where to look; every formula card further down also repeats the definitions it needs.

SymbolMeaningTypical value
Nnumber of elements in the array16 to 256
dspacing between adjacent elementscentimetres to metres
D = N·deffective aperture — the length that sets beamwidthmetres to hundreds of metres
λwavelength, c/f — 1.5 m at 1 kHz in seawatermillimetres to hundreds of metres
d/λspacing in wavelengths — the number that decides grating lobeskeep at or below 0.5
D/λaperture in wavelengths — the number that decides beamwidth10 to 100
θbearing, measured from broadside unless stated otherwise−90° to +90°
θ₀the direction the beamformer is steered towithin ±60° in practice
cspeed of sound1450 to 1550 m/s
ffrequency10 Hz to 300 kHz

What each control actually does

Measured from a 32-element array at half-wavelength spacing with uniform shading, changing one thing at a time. Several of these are not what intuition suggests, and the three worth arguing about are discussed below the table.

ChangeBeamwidthPeak sidelobeArray gainGrating lobes
Double the element count N,
spacing unchanged
halves unchanged, −13.2 dB+3.0 dBunchanged
Widen the spacing d,
element count unchanged
narrows in proportion to d unchangedrises by up to 2.6 dB, then drops straight back appear once d/λ passes the limit
Raise the frequency,
array unchanged
narrows in proportion to f unchangedas for widening d — only d/λ mattersappear
Steer away from broadsidewidens as 1/cos θ₀ unchanged until a grating lobe arrives unchanged at d = λ/2; falls at wider spacingarrive sooner
Apply Hamming shading×1.50−41.8 dB −1.44 dBunchanged
Random element phase errorslittle change floor lifts toward σφ²/Nslightly reducedunchanged
Switch to adaptive beamformingmain lobe similar deep nulls on the interferers far better against interference, can collapse against white noiseunchanged
Widen the signal bandwidthsimilar at band centre nulls fill in, structure smoothslittle change smear into broad ridges

Array gain does not simply follow element count. Widening the spacing past half a wavelength keeps improving it — 15.1 dB at λ/2 rising to 17.6 dB at 0.95λ — right up to the moment the grating lobe becomes fully visible, at which point the gain falls back to exactly where it started. The array is now listening equally hard in two directions and splitting its gain between them.

Steering costs no array gain at half-wavelength spacing. The beam widens in bearing as 1/cos θ₀, which looks like a loss, but the conical beam of a line array narrows in the other dimension by the same factor as it swings toward endfire. The two cancel exactly and the directivity index stays at 10·log₁₀N whatever the steer angle. At wider spacing it does fall, because steering brings a grating lobe into view.

The beamwidth formula runs out near endfire. Measured against 50.8°·λ/(D·cos θ₀) it agrees to two decimal places out to a 60° steer, then diverges — 13.8° measured against 12.3° predicted at 75° — because the small-angle approximation behind it has failed.

Which display answers which question

QuestionDisplayWhat you are looking forWhat controls it
When did it arrive?time series pulse shape and arrival time, transients, clippingsample rate
What frequencies are present?spectrum peaks standing clear of the continuum transform length, giving Δf = fs/Nfft
How is it changing?spectrogram, or LOFARgram straight lines are steady tonals, slopes are Doppler, streaks are transients block length against overlap
What is out there, and where?bearing–time record vertical traces hold bearing, sloping traces are moving; faint parallel stripes are sidelobes, not contacts beamwidth and integration time
What kind of thing is it?narrowband display, one strip per beam harmonic families and their spacing, and which lines appear in which beam the array's band and the bin width
How well does the array look in a direction?beam pattern in dB main lobe width, sidelobe level, null depthN, d, λ and shading
Will the bearings be ambiguous?u-space plot extra copies of the main lobe inside |u| ≤ 1d/λ and the steer angle
How far, how fast, which way?relative plot with bearing against time bearing rate, how it changes at an own-ship turn, closest approach the geometry, and whether you manoeuvred

Formulas

Every relation used in this primer, one card each: the expression, what it is for, and what each symbol means. Filter by topic or type to search.

Formula reference

Take it into MATLAB

Six exports, each carrying the values you have set in the modules: the array and its beam pattern; the response across the whole band with the usable-band limits marked; a covariance simulation with conventional and MVDR beamforming side by side; absorption, noise and the sonar equation through to a detection range; a ray tracer in a Munk profile; and the bearings-only TMA solver with a Kalman filter. None of them needs a toolbox.

Generated code

reflects the configuration as you left it

Where to go next

  • Vector sensors — sensors measuring particle velocity as well as pressure are directional in their own right, so a single one resolves the left–right ambiguity that defeats a scalar line array, and a short vector-sensor array can outperform a much longer scalar one at low frequency.
  • Automated classification — statistical and learned classifiers applied to spectrograms and DEMON output, and the awkward problem of validating them against the small, unbalanced and highly sensitive libraries that exist.
  • Frequency-domain beamforming — FFT each channel, apply per-bin phase shifts, inverse transform. Gives true delay across a wide band cheaply, and is how most real systems are implemented.
  • Broadband and split-beam processing — incoherent averaging across frequency for detection; phase comparison between array halves for fine bearing estimation within a beam.
  • Tracking filters — the pseudo-linear solution here is a batch estimator over a fixed window. Real systems run recursively: an extended or unscented Kalman filter in modified polar coordinates, or a particle filter when the geometry is poor enough that the posterior is genuinely multi-modal. Interacting multiple model filters add the ability to detect that the contact has manoeuvred, which every method in this primer assumes it has not.
  • Propagation modelling — the ray tracer here is the crudest of several approaches. Normal mode models handle low frequencies where ray theory breaks down, and parabolic equation models handle range-varying environments. Both feed transmission loss back into the sonar equation properly rather than as a single spreading exponent.
  • Matched-field processing — replace the plane-wave model with a full acoustic propagation model of the environment, and localise in range and depth as well as bearing.

Your existing toolkit maps onto all of this directly. The array factor is a spatial DFT, shading is windowing, grating lobes are aliasing, and the covariance matrix in adaptive methods is the same cross-spectral object you already build for coherence work.

Glossary

Glossary

Every term used in this primer, defined in one or two sentences. Type to filter, or pick a category.

Terms