Forming one synthetic aperture sonar image of a 7,145 m² scene on one workstation takes 124 s at 20,000 scatterers per square meter with the Standard simulation fidelity, and 29.1 min with the Full reference, measured end to end. The sonar spent 71 s collecting the same data. At Standard fidelity the workstation forms the image in less time than that below about 3,617 scatterers per square meter. Each run propagates every ping to a seafloor of millions of individual scatterers and back, and then focuses the pings coherently into the image.
Last updated 26 October 2026 · version 8b9e256
Scene
Every measurement on this page images the same patch of seafloor from the same trajectory. A HISAS-class sonar at 100 kHz passes once on a straight track along the near edge of the scene and looks across it, the standard strip-map geometry, so every object's shadow falls away from the track. The scene and the sonar are held fixed as a benchmark fixture, so later releases of the simulator are measured on exactly the same input and the results can be compared over time.
Density
Scatterer density sets how finely the seafloor is discretized. With too few scatterers per resolution cell the speckle is not fully developed; the image is grainy in a way real sonar imagery is not, and fine relief breaks up. Above some density the returns are statistically converged, and further scatterers add run time without changing the image.
The tiles show the same 20 m square of the scene, a rock outcrop with its acoustic shadow in a ripple field, at four densities, each formed at Standard fidelity. Each caption gives the density as scatterers per resolution cell, a cell being d / 2 = 2.0 cm along-track by 1.44 c / 2B = 3.6 cm of slant range (7.2 cm²), then the run's scatterer count and its end-to-end time.
Fidelity
The simulator offers two fidelity presets. Full is the reference: it keeps every scatterer the line of sight reaches, skips the transmit-beam prefilter and softens shadow edges with a Fresnel clearance test. Standard, the default, drops scatterers whose echo falls below 10−4 of the ping's peak or that lie outside the transmit beam's main lobe, and uses the hard line-of-sight test. Both presets image the same scatterers, so the two runs differ only in how much of the scene's echo they compute.
At 20,000 scatterers per square meter Standard forms the image 14.1 times faster than Full. Each time is the median of three runs per preset, interleaved so that any drift in the machine affects both presets alike.
The speedup is measured against the image Full forms. The difference map subtracts Full's magnitude from Standard's in decibels at every pixel, with time-varying gain off and no despeckling. Standard's image is on average 0.9 dB brighter than Full's; half of the pixels differ by less than 1.1 dB and 95 percent by less than 3.0 dB.
Wall clock
The wall-clock time covers the whole path from the start of a run to the finished image: scene build, point-scatterer simulation, back-projection and writing the output image. Nothing is cached, and every density re-simulates from the scene file. All times were measured on an NVIDIA RTX 4500 Ada, 24 GB.
Standard runs from 56 s at 200 scatterers per square meter to 9.9 min at 80,000, which is 572 million scatterers. Full is measured from 200 to 20,000 per square meter.
Real time
The sonar spent 71 s on this track collecting the data. A real-time factor above 1 means the workstation formed the finished image in less time than that.
At Standard fidelity the real-time factor falls to 1 near 3,617 scatterers per square meter. Below that density the workstation forms the image in less time than the sonar took to collect the data, and above it in more. Full keeps pace with the collection only at 200 per square meter, where it takes 69 s, and is slower at every higher density.
| density | scatterers | Standard | real-time factor | Full | real-time factor |
|---|---|---|---|---|---|
| 200 | 1 M | 56 s | 1.26x | 69 s | 1.02x |
| 500 | 4 M | 57 s | 1.25x | 94 s | 0.75x |
| 1,000 | 7 M | 59 s | 1.20x | 137 s | 0.52x |
| 2,000 | 14 M | 66 s | 1.08x | 3.7 min | 0.32x |
| 5,000 | 36 M | 74 s | 0.96x | 8.0 min | 0.15x |
| 10,000 | 71 M | 92 s | 0.77x | 15.0 min | 0.08x |
| 20,000 | 143 M | 124 s | 0.57x | 29.1 min | 0.04x |
| 40,000 | 286 M | 4.2 min | 0.28x | not run | not run |
| 80,000 | 572 M | 9.9 min | 0.12x | not run | not run |
From 80,000 per square meter up, the scatterer cloud does not fit in the memory this workstation keeps free, so the run goes out of core: the cloud is held in disk-backed memory maps and streamed through the GPU in chunks, and the image is the same as an in-memory run would form. The 80,000 per square meter run held at most 6.2 GB of RAM. At 80,000 per square meter, 572 million scatterers, Standard forms the image in 9.9 min.
Method