How long does one image take?

A synthetic aperture image is not free. Every pulse has to be propagated to a seafloor made of millions of individual reflectors and back, and then hundreds of pings have to be coherently focused into a picture. This page measures that, end to end, and compares it with the time the sonar spent gathering the data in the first place.

The scene

One scene, held fixed.

Everything below images the same patch of seafloor from the same trajectory. The platform flies a curved track that loops around the scene rather than past it, so objects are lit from many aspects and their shadows fall in different directions.

71 × 100 m
seafloor simulated, 7,145 m²
380
pings along a Catmull-Rom spline track
2.5 cm
image pixel, in both range and along track
134 s
the sonar's own collection time, at 2.83 pings per second
A simulated synthetic aperture sonar image of a seafloor scene holding boat hulls, a torpedo shape, containers, barrels, truss frames and a rock outcrop over rippled sand
The scene at 80,000 scatterers per square metre. Shadows point in several directions because the aperture curves around the objects rather than passing them on one side.

Fidelity

What density buys you.

Scatterer density sets how finely the seafloor is discretised. Too few reflectors per resolution cell and the speckle is not fully developed: the image looks grainy in a way real sonar does not, and fine relief breaks up. Past a point the returns are already statistically converged and more reflectors buy nothing but time.

The same 20 m square of one scene, a rock outcrop with its acoustic shadow beside a ripple field, at four densities. Click any tile to enlarge it.

A rock outcrop and its acoustic shadow on rippled sand, simulated at 200 scatterers per square metre
200/m² 1 M scatterers · 76 s
A rock outcrop and its acoustic shadow on rippled sand, simulated at 2,000 scatterers per square metre
2,000/m² 14 M scatterers · 86 s
A rock outcrop and its acoustic shadow on rippled sand, simulated at 20,000 scatterers per square metre
20,000/m² 143 M scatterers · 161 s
A rock outcrop and its acoustic shadow on rippled sand, simulated at 40,000 scatterers per square metre
40,000/m² 286 M scatterers · 5.6 min

The jump from 200 to 2,000 per square metre is the one that matters; beyond roughly 20,000/m² the differences are subtle and the cost is not.

Wall clock

Time to form one image.

The whole path a user waits through: scene build, point-scatterer simulation, back-projection, and writing the output image. Nothing is cached; every point re-simulates from the scene file. Measured on NVIDIA RTX 4500 Ada, 24 GB.

Below about 2,000 scatterers per square metre the wall clock barely moves, because fixed costs rather than the physics dominate: at 200/m² the run takes 76 s. Past that the scatterer count leads, and at 80,000/m², which is 572 million reflectors, the same image takes 12.8 min.

Wall clock to form one image against scatterer density on log axes, flat near 76 seconds up to about 2,000 per square metre and rising to 765 seconds at 80,000 per square metre, with a dashed line marking the sonar's 134 second collection time
The dashed line is the sonar's own collection time. Where the curve sits below it, the workstation formed the image faster than the platform gathered the data.

Against real time

Faster than the sonar, up to a point.

The sonar spent 134 s flying this track and listening. A real-time factor above 1 means the workstation produced the finished image in less time than that.

The crossover sits near 13,177 scatterers per square metre. Below it, one workstation forms the image faster than the sonar gathered the data; above it, the physics costs more than the collection did.

densityscattererswall clockvs real time
2001.4 M76 s1.76x
5003.6 M77 s1.73x
1,0007.1 M81 s1.66x
2,00014.3 M86 s1.57x
5,00035.7 M99 s1.36x
10,00071.5 M119 s1.13x
20,000142.9 M161 s0.83x
40,000285.8 M5.6 min0.40x
80,000571.6 M12.8 min0.18x

From 40,000 to 80,000 per square metre the scatterer count doubles but the wall clock grows by 2.3x. At 80,000 per square metre the run would need about 36 GB of host memory, more than this workstation has free, so it ran out of core: the scatterer cloud lives in disk-backed memory maps and the run peaked at 7.2 GB of RAM.

Method

How these were measured.