This page measures the ApertureLab point-scatterer simulator and its time-domain back-projection beamformer against predictions computed from the parameters of the instrument without the simulator. Six point targets from 20 to 95 m ground range focus to widths within 0.3 percent of their predictions, and every peak lands under 0.05 mm from its true position. The reference instrument is a simple sonar, one element on a straight track, and a 36-channel array in continuous motion is checked against the same predictions. The statistics of simulated seafloors are compared with published scattering models. The same measurements run as a regression test on the software, so a change that moves any of them is detected.
A model trained on simulated sonar imagery, or an analysis run on it, inherits the errors of the simulator. If the synthetic images carry a sidelobe structure, a level against range or a speckle spectrum that no real sonar would produce, a detector can learn it. The detector then fails on field data for reasons that are hard to trace. Simulated imagery therefore requires the evidence that would be asked of a real sonar before its data were accepted: measured resolution, sidelobes and spectra that agree with what the physics of the instrument predicts.
Last updated 29 September 2026 · version a934ca2
Contents
Instrument
A working sonar adds features to the simplest case: a multi-element array, platform motion while the echo is in the water, gain control and glint suppression. Each adds a term to the prediction and a place for an error to hide, so the reference instrument has none of them. One element transmits and receives, the platform stands still for each ping, and the beamformer integrates a fixed angular sector under a Hann window. What remains is the physics of a chirp, a beam and a synthetic aperture, whose predictions can be computed without the simulator. The array in continuous motion is checked against the same predictions in a later section.
Point targets
Six deterministic point scatterers sit on a silent floor at 20 to 95 m ground range, staggered along-track so that their sidelobes do not overlap. Each is beamformed on its own 4 m patch at 6.25 mm pixels and sinc-interpolated four times. Each is then measured for the position of its peak, its −3 dB width on both axes, its peak sidelobe ratio and its integrated sidelobe ratio. The peak sidelobe ratio (PSLR) is the level of the highest sidelobe relative to the peak. The integrated sidelobe ratio (ISLR) is the energy outside the mainlobe relative to the energy inside it, taken over the 2 m square around the target. The mainlobe is bounded by the first nulls of the two principal cuts.
The predictions are computed for the weighting this beamformer applies rather than read from a textbook formula. Along-track, the aperture is shaped by the Hann window on the integrated sector and by the element's own pattern, applied twice because one element transmits and receives. The predicted response is the Fourier transform of that weighting over the along-track wavenumber 2k sin θ, summed across the chirp band with the exact range to every ping. In range, the prediction is the compressed pulse of the transmitted chirp after the beamformer's own front end: a Hann-windowed matched filter, and a low-pass filter on both the data and the replica. The closed forms are drawn as references: d / 2 = 15.0 mm along-track, and 1.44 c / 2B = 18.0 mm of slant range against 18.07 mm from the numeric model. A Hann window alone gives a first sidelobe of −31.5 dB.
Every peak lands under 0.05 mm from the true position. The along-track width narrows from near range to far, and the prediction follows it. The beamformer gates the aperture on the angle in the horizontal plane, while the along-track wavenumber a ping contributes is set by the three-dimensional look direction. At 20 m, where the platform looks down at 27°, the same sector spans 10 percent less wavenumber than at 95 m, and the focused point is wider in proportion. The regression test allows 0.95 to 1.05 times the prediction; the largest departure measured on either axis is 0.3 percent.
The bow-tie around each target in the overview is the integration pedestal. It is the target's own echo, summed with the wrong phase into every pixel that shares its aperture, so it spans the synthetic aperture length at that range. Measured half a meter to 0.9 m from each peak along its range line, it lies 55 to 57 dB below the peak. It shows here because the floor is silent and the display spans the whole dynamic range. Over a real seafloor its visibility depends on how bright the target is against the bottom return.
Peak level against range is reported rather than gated, and it has a prediction of its own. With gain control off, the simulator applies spherical spreading both ways and seawater absorption of 0.067 dB/m at 300 kHz (Thorp's formula). It also applies the sin(grazing) factor a point on a Lambertian floor carries and the element's elevation pattern. The beamformer adds the coherent gain of an aperture that lengthens with range. The model evaluates all of them at the six targets and fits one slope, set out term by term in the figure.
Flat sand
A uniform sandy bottom is speckle: its image carries no structure of its own, so its two-dimensional Fourier transform is a picture of the imaging system. In wavenumber space the support is an annular wedge. The radius is the two-way wavenumber 2k, so the radial band is set by the chirp, 270 to 330 kHz. The angular extent is the range of aspect angles the beamformer integrated, ± 6.35° about broadside. Because the image is in ground range, the wedge is foreshortened by the cosine of the depression angle. It is therefore measured on 6 m patches at six ranges rather than on the whole image.
Inside the wedge the energy is not flat. Across angle it is shaped by the Hann window the beamformer puts on the sector and by the element's pattern, applied twice because one element transmits and receives. Across radius it is shaped by the Hann window on the matched filter. The figures below read both curves at −3 and −10 dB. The measured −10 dB half-angle is 3.12 to 3.37 degrees across the six patches against 3.25 predicted. The whole angle curve fits the prediction to 0.58 dB rms or better above −20 dB.
Back-projection rotates every sample by the carrier phase of the pixel's own delay, which leaves each focused pixel carrying a phase ramp along range, one turn every 2.5 mm of slant range. The beamformer removes that ramp as its last step by default, so its output is at baseband and every patch on this page is measured as it comes out, with nothing subtracted afterward. The check runs on a strip across the whole swath. With the ramp kept, the center of each block's range spectrum follows the predicted fold of the carrier to 6.7 rad/m rms; with it removed, every block sits within 3.4 rad/m of zero. The Method appendix explains the convention and why it matters for anything that filters or resamples the complex image.
Seafloor statistics
The statistics of a sonar image matter as much as its resolution: the tail of the intensity distribution sets the false-alarm rate of any detector run on it. The field describes that tail with the K-distribution, whose shape parameter α is tied to the number of scatterers in a resolution cell (Abraham and Lyons 2002) and to the modulation of scattering strength by seafloor slope (Lyons, Olson and Hansen 2022). A simulator used to train or test such detectors should reproduce these statistics from its physics. Because the simulator knows every input a survey has to infer, each statistic below is compared with a prediction made from those inputs, not fitted to the data.
The measure is the scintillation index, SI = 〈I2〉 / 〈I〉2 − 1, the normalized variance of the intensity I. It is 1 for Rayleigh speckle and 1 + 2/α for a K-distributed intensity. The first test images flat sand with the single-element instrument above, 15 to 25 m along-track and 20 to 45 m in ground range, at seven scatterer densities from 200 to 50,000 per m2. The simulator places scatterers at random with complex Gaussian amplitudes, and for such a field SI = 1 + 2/(ρ·Aeff) exactly, where ρ is the density and Aeff = (∫|h|2)2 / ∫|h|4 is the effective area of the point-spread function h. Aeff is measured from six point targets at the same ranges on the same track, 7.46 to 8.69 × 10−4 m2, so the equivalent shape parameter α = ρ·Aeff is known for every image.
At all seven densities the prediction lies inside the measured 95% block-bootstrap interval, and the measured SI is within 2% of SI − 1. The whole distribution agrees as well: the probability that a pixel exceeds a threshold follows the exact point-scatterer model down to one pixel in a million. From about one scatterer per resolution cell upward that distribution cannot be told from the K-distribution with the same α. Below it the K curve overstates the far tail, because the K-distribution describes clustered scatterers and these are placed independently.
Lyons, Olson and Hansen measured α = 2.3, 4.0 and 7.9 for the speckle at three sites with three different systems. For this instrument those values correspond to about 2,900, 5,100 and 10,100 scatterers per m2. The density is a numerical parameter, so this shows that the simulator can produce the speckle statistics measured at sea, not how a particular seafloor produces them. On a real seafloor heavier tails come from its relief, its patchiness and its ripples. The measurements that follow take those up in turn: the scintillation index against range on randomly rough sand, compared with Eq. 6 of Lyons, Olson and Hansen (2022), then resolution, ripples and boulder fields.
Johnson (2009, Ch. 4) found that the statistics of real SAS images depend on resolution, by reprocessing the same data at coarser resolution through sub-banding of the image spectrum. The point-scatterer result predicts that dependence exactly: a coarser resolution cell holds more scatterers, so SI falls toward 1 as 1 + 2/(ρ·Aeff). The 2,000 per m2 image was sub-banded to one half, one quarter and one eighth of its bandwidth on both axes, and the same filter was applied to the six point-target responses to give each Aeff. The measured SI falls from 2.27 to 1.02 as Aeff grows fiftyfold, and every point matches its prediction to within its 95% interval.
The second test puts relief under the same instrument: power-law sand with spectral exponent 3.25, the value Lyons, Olson and Hansen (2022) use at all three of their sites, imaged 20 m along-track from 5 to 100 m in range at 10,000 scatterers per m2. Local slope changes the grazing angle of each patch of seafloor and so its scattering strength, and that modulation raises SI above the speckle value, most at low grazing angles where the scattering law is steepest. Their Eq. 6 predicts SI against range from the rms slope and the scattering law. Here the law is the simulator's own Lambert law, the rms slope is measured from the generated heightfield rather than fitted, and the speckle SI comes from the first test, so the prediction has no free parameter. The model leaves out shadowing and multiple scattering, which the paper notes matter once the grazing angle nears the rms slope, so the comparison stops where the grazing angle falls to twice the rms slope.
Beyond the range where the model holds, the simulated SI departs from Eq. 6 by up to 10% from one range band to the next, and the departures have a physical cause the simulator reproduces. A power-law surface carries large undulations that tilt whole patches of seafloor toward or away from the sonar, which moves the local mean grazing angle; Lyons, Olson and Hansen show the same effect in their Tellaro data, where it produces large fluctuations in SI with range. Eq. 6 assumes a flat mean seafloor. Evaluating it with the tilt measured under each range line brings the rougher of two surfaces with the same rms height (6.1° of rms slope) from a 6.5% rms error to about 2% over 20 to 75 m. At 90 to 100 m on that surface the grazing angle equals the rms slope, and the measured SI exceeds even the tilted prediction: facets hidden behind the slopes in front of them return nothing, which is the shadowing the paper expects in that regime and leaves out of the model.
Intensity is normalized by a smooth fit of its mean against range before the statistics are taken. Normalizing each range line by its own mean would bias SI toward 1, as Johnson (2009, Sec. 2.3.2) cautions; on these images it lowers SI − 1 by 1 to 13%.
Sand ripples change the statistics more than random roughness does, because the slope they present to the sonar is large and depends on their orientation to the track (Johnson 2009, Ch. 4). Lyons, Abraham and Johnson (2010) model a rippled image as speckle multiplied by a deterministic scaling function, the scattering strength at the local grazing angle each ripple facet presents, and derive from it an effective K shape parameter; the scintillation index follows as in the second test. Their scaling function linearizes the scattering law about the mean grazing angle for idealized ripple shapes. Here it is computed from the generated surface itself: the local grazing angle of every point of the heightfield, averaged over the synthetic aperture, the scattering law at that angle, line-of-sight shadowing along each range line. That modulation is then carried into the image, where the statistic is measured: each point of the surface is placed at its apparent range in the ground-plane image, so a facet tilted toward the sonar is compressed into a smaller, brighter strip, and the result is blurred by the measured point-spread function. The prediction uses the surface, the point-spread function and the speckle result of the first test, with no free parameter.
The ripples are Tang et al. (2009) skewed fields with a 0.75 m wavelength and 1 or 3 cm rms height on flat sand, with crests along or across the track, imaged at 10,000 scatterers per m2 and measured in 5 m range bands. With crests along the track the slope lies in the range direction and SI rises with range: from 1.56 to 3.81 for 1 cm ripples (4.3° rms range slope) and from 3.3 to 10.1 for 3 cm ripples (12.8°), and the prediction misses SI − 1 by at most 2.5% and 4.0%. With crests across the track the slope lies along-track, where it barely changes the grazing angle: SI stays within 0.4 of the speckle value, band-to-band fluctuations included, and the prediction follows them. Eq. 6 of Lyons, Olson and Hansen with a Gaussian slope of the same rms misses by up to 46% on the steep ripples, because a ripple's slopes are not Gaussian. The average has to be taken over the image and not over the surface: weighting each part of the steep ripples by its own area rather than by the image area it occupies puts the prediction 5 to 8% below the measurement at 20 to 45 m, where foreshortening is strongest.
No closed-form prediction exists for a boulder field or a rock outcrop, so the last test reports how the image statistics are modeled rather than whether they match a number. Three seafloors were imaged at 10,000 scatterers per m2 over the default rough sand: a glacial-till boulder field, eight bedrock outcrops 5 to 15 m long, and gravel patches covering about a tenth of the sand. On 10 m range tiles, decimated sixfold so samples are nearly independent, the intensity is fitted with Rayleigh, K, and mixtures of a Rayleigh and one or two K components by expectation-maximization, and the model is chosen by the Akaike and Bayesian information criteria, as Olson and Geilhufe (2023) do for HISAS images of rock.
On the boulder field and the outcrops both criteria choose the three-component mixture on every tile, and only that model follows the tail beyond one pixel in a thousand. Its third component is small and bright, 2 to 29% of the pixels at 3 to 24 times the mean intensity with α 0.25 to 0.53: the rock highlights. Olson and Geilhufe find three or four components on rock outcrops in real data. Gravel patches in sand are milder, SI 2.9 to 4.6, and are fitted by two or three components with a brighter gravel component.
Non-Rayleigh speckle on flat sand is not only a matter of scatterer count. Real sand is patchy below the resolution cell, in grain size, shell and burrows, and Abraham and Lyons (2002) show that patches of random scattering strength give K-distributed speckle whose shape parameter is the number of patches in a resolution cell. The simulator carries that model as an option on any material: each scatterer's power is multiplied by a gamma variate of mean 1 and shape ν, constant over random patches of mean side ℓ. Mean backscatter is unchanged. For a measured point-spread function the scintillation index is then exact: SI = 1 + 2(1 + 1/ν)/(ρ·Aeff) + (2/ν)·Q/(∫|h|2)2, where Q weights the autocorrelation of |h|2 by the probability that two points share a patch. Patches much larger than the cell give K with α = ν at any resolution; patches much smaller average out as the cell grows, so α rises as resolution coarsens, the dependence Johnson (2009, Ch. 4) measured.
Both regimes were imaged on the flat-sand fixture of the first test at 10,000 scatterers per m2, where untextured speckle has SI 1.25: ν = 1 on 1.5 cm patches, about 3.5 patches per resolution cell, and ν = 4 on 0.5 m patches. The texture raises SI to 1.76 to 2.01, inside the range Lyons, Olson and Hansen measured at sea, without lowering the density. Every range band and every sub-banded resolution lies within its 95% interval of the prediction. Sub-banded to one eighth of the bandwidth, the sub-resolution texture falls to SI 1.01 (predicted 1.02) while the large patches keep SI 1.38 (predicted 1.39). The whole intensity distribution follows a Monte Carlo of the textured point field to one pixel in a million. For patches larger than the bootstrap block the interval understates the uncertainty, so those intervals use 0.6 m blocks. The built-in patchy sand uses ν = 3 on 1.5 cm patches, which gives α = 4.0, the Elba value, for this instrument; that value is tuned, since no published measurement gives the patch size or strength of sand, only the α they produce.
All of the tests above use Lambert's law, so that each prediction has a closed form. Real sand does not follow it: Lyons, Olson and Hansen fit their measurements with small-roughness perturbation theory, which falls off about as sin4 of the grazing angle at low angles, 5 dB below Lambert at 5°, and has a plateau at the critical angle, 27° for sand. The simulator's built-in sand now scatters by that law, as the APL-UW handbook states it (1994, Eqs. 50 to 52), with the fine-sand parameters of their Table I; the backscattering strength at 20° is unchanged. On a flat bed the image level against range changes relative to Lambert by the ratio of the two laws to 0.17 dB rms over 20 to 95 m.
On the rough-sand surfaces of the second test the steeper law raises SI at long range, as Lyons, Olson and Hansen find in their data: 5.8 at 90 to 100 m on the 4.0° surface, where the Lambert law on the same surface predicts 3.6. The prediction from the surface with the perturbation-theory law, formed in the image as for the ripples, agrees with the simulated SI to 2.7% rms of SI − 1 over 20 to 100 m on both surfaces.
Array
A single element in stop-and-hop is the simplest case to predict, and a working sonar differs from it in both its array and its motion. The second instrument is a 36-channel array of 30.0 mm elements on a vehicle moving continuously over the same track, the same seafloor and the same six targets. The beamformer integrates the same ± 6.35° sector under the same window and compensates the motion within each ping. The width predictions change only through the lattice of phase centers, because the element and the chirp are the same. Every summary figure in the Point targets and Flat sand sections draws both instruments, the single element as circles and the array as hollow squares, so the two can be compared at every range.
Every array peak lands under 0.05 mm from the true position. Its widths depart from their predictions by 0.3 percent at most, against 0.3 percent for the single element. The carrier walk measures 7.1 rad/m rms from its predicted fold with the carrier kept and 3.3 rad/m from zero with it removed, against 6.7 and 3.4 for the single element. The two instruments differ in these settings:
At 20 m the array's highest along-track sidelobe is −43.9 dB against −43.6 dB for the single element. The vehicle advances 225.0 mm per ping, 15.00 phase-center spacings, and the beamformer keeps 15 channels of each ping, 15 phase centers. Consecutive pings tile the aperture exactly. A phase center summed in two pings, or a gap between them, would weight the aperture with the ping period and put a grating lobe at λR / 2a along-track. With the pings tiling the aperture there is none. The same numeric model as for the single element, given the array's phase-center lattice, predicts the sidelobe level at every range, and the figure compares it with the measurement.
The flat-sand angle curve fits its prediction to 0.82 dB rms at 20 m for the array against 0.58 dB for the single element. The beamformer evaluates its Hann window at the phase center of each transmit and receive pair, the midpoint of the transmitter at transmit time and the receiver when the echo arrives. Evaluating it at the receiver instead would misplace it. With the transmitter at the array center, the kept receivers all sit 105 to 525 mm ahead of the transmitter. In continuous motion each has moved a further v · 2R / c while the echo was in the water. That offset puts the window a fraction of a degree forward of broadside and raises the misfit to 1.9 dB at 20 m.
The misfit of the array is larger than that of the single element at every range, by about 0.3 dB, and the lattice of phase centers accounts for it. The array keeps 15 phase centers per ping, 15 mm apart, which is coarser than the Nyquist step of 11.3 mm for the ± 6.35° sector. The image therefore holds energy folded in from look angles shifted by m λ / (2 · 15 mm): the grating lobes of the along-track response, at m λR / 30 mm. The model, drawn dashed, sums the response over those lobes; with no free parameter it reproduces the measured difference between the two instruments to 0.1 dB at every range. Halving the single element's ping rate raises its angle curve by the amount the same fold predicts, 6.1 dB measured against 6.4 dB at 4.5°. The model's own residual for the single element at 20 m comes from the prediction, which evaluates the element pattern in the horizontal plane rather than along the three-dimensional look direction.
Redundant phase centers
Micronavigation for synthetic aperture sonar rests on a property of the phase center. With the transmitter at the center of a multi-element array, each transmit-receive pair behaves like a single element at their midpoint, the phase center. If the vehicle advances a whole number of phase-center spacings between pings, the next ping re-occupies some of the previous ping's phase centers. The echoes recorded there should then be the same up to whatever the vehicle did in between. This is a constraint on the sonar, the ping rate and the speed together. The array above at 1.5 m/s advances 15.00 spacings per ping, so this check runs it at 1.53 m/s and 3.0 Hz, exactly 34 spacings, and consecutive pings share two phase centers.
Each channel is low-passed and matched-filtered as the beamformer does it, and the record is cut into blocks. Each pair of blocks goes through the beamformer's own micronavigation estimator: a coarse lag from the correlation magnitude, refined by the carrier phase at its peak. The refined delay is reported as it comes, with nothing subtracted.
The delay should show only geometry and motion. A shared phase center is formed by a transmitter and receiver L apart, whose two-way path is L²/4r longer than the phase center's monostatic one. Because the vehicle keeps moving while the echo is in the water, the separation that counts is L + vt. The predicted delay of one ping behind the other is the difference of the two receivers' excess paths: a 1/r curve for each pair and a motion term that is the same at every range.
Summing the shared channels of a ping needs one step first, because that excess differs between channels by several radians of carrier phase at near range. Each channel is therefore advanced to the subarray's center channel before the sum. The measured delay follows its prediction to a few nanoseconds. Every window of every ping pair correlates above the level the micronavigation solver accepts, which is the condition for estimating sway and heave from the data.
Each shared pair alone correlates at a median of 0.997 (minimum 0.995) and follows its predicted delay to 3 ns rms, 7 ns at most. Aligned and summed, the shared channels correlate at a median of 0.997 against 0.992 summed as recorded, and their delay averages −0.583 µs against −0.584 µs predicted, 3 ns rms. Over the whole track, 194 ping pairs by 88 windows correlate at a median of 0.997, 100.0 percent of them above the 0.66 acceptance, and the delay follows the prediction to 3 ns rms.
The check is set up as follows.
Scope
The checks on this page show that the point-scatterer simulator and the back-projection beamformer agree with the physics of the instrument they describe. Resolution, sidelobes, level against range, spectral support and the delays between redundant phase centers agree with predictions computed without the simulator. The checks have the following limits.
Method
Back-projection focuses a pixel by sampling every ping at the pixel's own delay and rotating the sample by +2πfcτ. On a scatterer the rotation cancels the echo phase and the pings add coherently; one pixel over in range, a residual phase of 2kΔr is left behind. A focused point is therefore the compressed pulse times a carrier whose phase advances one turn every 2.5 mm of slant range. The range spectrum of the image therefore sits at 2k cos θdep, about 2248 to 2501 rad/m across the swath, rather than at zero. Each pixel's phase is then referenced to its own position, which suits interferometry and change detection and leaves every magnitude product unchanged.
The carrier matters to anything that treats the complex image as band-limited about zero along range: a spectrum, a sinc interpolation, a complex filter or a resampling. Sampled at 6.25 mm, the carrier folds into the ±503 rad/m pixel band, and because cos θdep changes across the swath, the folded position moves with range.
The beamformer's last stage removes the carrier. For every pixel it takes the minimum two-way delay from the platform track to that pixel, with heave, sway and curvature included, and multiplies the finished pixel by exp(−j 2πfcτref). The reference depends on the pixel and not on the ping, so it commutes with the sum over the aperture and is applied once after all pings are in. The interferometric phase between two images on the same grid is unchanged. The removal is on by default, and every single-look complex (SLC) image records whether it was applied.
At 25.0 mm the band is wider than the pixel window and folds onto itself, which is why the measurement in the Flat sand section is made on a strip beamformed at 6.25 mm.
References