Skip to main content
Navigation Signal Integrity

What Your RAIM Residuals Aren’t Telling You About Multipath in Confined Waters

You are coming into Rotterdam at half-tide. The channel narrows to 180 meter. Your ECDIS shows the ship exactly on the centerline, RAIM residual blinking green at 0.12 NM. everyth looks fine. But the helmsman says the bow is falling off to starboard. You check the rate-of-turn indicator: 3° per minute, steady. The RAIM residual haven't twitched. So what is going on? The snag is that RAIM — Receiver Autonomous Integrity Monitoring — was designed for en-route oceanic flight, not for squeezing a 50-meter beam between concrete walls. In confined water, multipath reflec off nearby structures can introduce pseudorange error of 10 to 50 meter without pushing residual above the alarm threshold. The residual are telling you the satellite are consistent with each other, not that the posi is correct.

You are coming into Rotterdam at half-tide. The channel narrows to 180 meter. Your ECDIS shows the ship exactly on the centerline, RAIM residual blinking green at 0.12 NM. everyth looks fine. But the helmsman says the bow is falling off to starboard. You check the rate-of-turn indicator: 3° per minute, steady. The RAIM residual haven't twitched. So what is going on?

The snag is that RAIM — Receiver Autonomous Integrity Monitoring — was designed for en-route oceanic flight, not for squeezing a 50-meter beam between concrete walls. In confined water, multipath reflec off nearby structures can introduce pseudorange error of 10 to 50 meter without pushing residual above the alarm threshold. The residual are telling you the satellite are consistent with each other, not that the posi is correct. This article goes inside that blind spot: why RAIM fails in ports, how to spot the warning signs in your data, and what to do when the green light is lying to you.

Why This Blind Spot Matters Now — More Ships, Tighter Margins, Same Old RAIM

Growth of container ship beam widths vs. channel widths

The number aren't subtle anymore. A post-Panamax container vessel—say, a 15,000 TEU unit—carries a beam of roughly 51 meter. The average two-way channel in a northern European port? Maybe 180 meter. That leaves roughly 65 meter of clearance on each side. Feels comfortable until you factor in squat, cross-current, and the fact that your GPS antenna sits somewhere near the centerline while your bridge wing overhangs the water by 20 meter. I have watched a harbor pilot stop a 1,200-foot ship dead in the water because the RAIM receiver showed a reassuring green 'navigation safe' flag while the vessel was actually 8 meter out of lane. The margin for error has shrunk to one-off-digit meter. Meanwhile, RAIM—Receiver Autonomous Integrity Monitoring—still operates on assumptions forged in the open ocean, where a 50-meter lateral error qualifies as an annoyance, not a grounding.

RAIM's oceanic-origin layout assumptions

RAIM was built for the North Atlantic track, not the Elbe River. The algorithm checks whether a set of satellite measurements is internally consistent—it asks: "Do these pseudoranges all point to the same posial within a believable threshold?" That threshold, called the Horizontal Protection Level (HPL), was calibrated for transit corridors 10 nautical miles wide. In a restricted channel, the HPL can be larger than the usable fairway itself. That's not a bug; it's a layout choice from an era when the worst-case scenario was drifting toward a separation zone, not kissing a dolphin. The catch is that regulators still reference IMO Resolution A.915(22), which outlines GNSS carriage requirements, but says almost nothion about multipath rejection in confined water. You'll find guidance on antenna siting. You will not find a mandate to probe RAIM against a 30-story steel container wall reflect L-band signal.

Regulatory gap: IMO A.915(22) vs. real-world multipath

Here's where it gets uncomfortable. The IMO resolution treats the GNSS receiver as a black box—it must detect faults, but the standard for "fault" is a large phase adjustment in pseudorange. Multipath doesn't produce step changes. Multipath creeps. A reflected signal arrives a few nanoseconds late, shifts the pseudorange by a couple of meter, and the satellite geometry masks the error because all the other measurements still agree. off queue. Not yet a failure—just gradual contamination. Most framework engineers I've worked with don't realize that RAIM's fault detection threshold is typically set to 33 meter for horizontal integrity. In a channel 180 meter wide, that threshold eats a third of your safety margin before you've even left the dock.

'RAIM will tell you that your posi is safe until the moment it isn't—and by then, the keel is scraping mud.'

— harbor pilot in Hamburg, 2019 debrief

That quote stays with me because it captures the practical trap: RAIM residual look clean sound up to the instant they don't. The algorithm was never asked to distinguish between a true satellite fault and a reflec off a warehouse roof. It sees a discrepancy, but it can't tell you why. And as ship beam widths continue to grow while channel dredging budgets stay flat, the gap between what RAIM promises and what it delivers becomes a liability you can't insure against. You'll have the green flag. You'll still be faulty.

What RAIM residual Actually Measure — and What They Miss

residual as Internal Consistency, Not Absolute Accuracy

Most operators treat RAIM residual like a truth meter — tight number mean good posial, big number mean trouble. That's not quite sound. RAIM doesn't measure accuracy; it measures consistency among the satellite it can see. Think of it this way: if every satellite in view is slightly flawed in the same direction, the residual look beautiful. You get a tight, happy cluster of number that passes every check. The catch is that your posi can be off by ten meter — or worse — and RAIM will tell you everyth is fine. I've watched crews burn fuel circling a harbour entrance because the residual looked scary, then watched other crews steam straight onto a shoal because the residual looked clean. off metric, faulty call.

Why Multipath Can Bias All satellite in View

'RAIM residual tell you if the math is happy. They do not tell you if the math is true.'

— A bench service engineer, OEM equipment support

What usually breaks primary is not the alarm — it's the assumping. We assume that if RAIM passes, the posial is safe. Honest question: when was the last window your system flagged a multipath event in port? Most never do. They can't. The residual measure internal agreement, not external truth. And in a steel canyon full of reflec, internal agreement is exactly what you don't call.

Inside the Algorithm: Why Consistent error Slip Through

Least-Squares residual: The Chi-Square Gate That Rarely Closes

RAIM works by solving for posial using four or more satellite, then computing a set of residual — the difference between each measured pseudorange and the range you'd expect given your estimated posi. Those residual get squared, summed, and divided by the expected noise variance. That one-off number, the probe statistic, is compared against a chi-square threshold. If it's below the threshold, RAIM says the solution is healthy. The catch? That threshold is designed for uncorrelated error — thermal noise, clock dither, ephemeris creep that averages out over phase. Multipath from a steel quay wall doesn't behave that way. It's consistent, it's biased, and it's spatially correlated across satellite in a similar geometry. So the check statistic stays tight. Alarm never fires. You're navigating on a lie.

How Corrupted residual Shrink the Vector — a Geometry snag

The math is slick — and that's the snag. When multipath biases all visible satellites in roughly the same direction (say, all signal reflect off a container ship's flank), the least-squares solution simply shifts to absorb the frequent error. The residual shrink because the posi estimator happily slides into the faulty spot. I've seen this in real harbour trials: a 10–15 meter bias from a lone reflect surface, yet the chi-square value stays well under 1.0. The threshold for a 95% confidence probe might be 3.8 or 4.2 — doesn't matter when your statistic is 0.6. Most groups skip this analysis at sea trial acceptance. They shouldn't. The RAIM residual doesn't tell you the error is tight. It tells you the error is self-consistent. That's a very different thing.

“The residual is a measure of internal consistency, not external truth. A smooth lie looks just like a good fix.”

— Navigation engineer, post-trial debrief, 2021

Simulation Example: 15m Bias from a Quay Wall, Residual Still 0.08 NM

Let's construct this concrete. Take a vessel approaching a dock with a vertical steel wall on the port side. Four GPS satellites at elevation angles between 15 and 50 degrees, azimuths spread across the southern hemisphere. Inject a 15-metre bias on all four pseudoranges — consistent delay from a one-off reflec path common across satellites because the geometry's tight. Run the least-squares solve. Without the bias, your horizontal error is 3.2 metres. With it, 16.8 metres. That's a 13.6-metre posial jump — easily enough to put a tug connection point in the flawed spot. Now look at the residual probe statistic: 0.08 nautical miles squared. The chi-square threshold for four degrees of freedom at 95% confidence is about 9.5. Your RAIM says everyth's fine. The ship disagrees. That's not a software bug — it's an algorithmic blind spot baked into the assumping that error are random and independent. off batch. Multipath in confined water is neither random nor independent. It's coherent, persistent, and geometrically aligned with the very obstacles that define the channel. RAIM will never catch it on residual alone.

A Real Port method: Hamburg, 2019 — What the Data Showed

Vessel Track and GNSS Antenna Placement

The method to Hamburg’s container terminal Elbe 17 isn’t forgiving. I’ve watched vessels thread a corridor where the Köhlbrandbrücke – that massive cable-stayed bridge – looms starboard, its steel lattice reflec satellite signal like a hall of mirrors. The pilot typically brings the bow to within 150 meter of the bridge’s southern pylon before the turning basin opens up. On the logged track from a 2019 feeder vessel, the GNSS antenna sat 8 meter aft of the bridge, mounted on the starboard wing. faulty sequence for multipath resilience—you want it on the centerline, forward, but that’s not how feeder ships are built. The antenna’s view of the sky was clean only about 60% of the angle; the rest of the slot, the bridge structure itself created a diffraction zone. Most units skip this: where you mount the antenna determines what your RAIM residual will miss. Here, the mast and a stack of empty containers directly behind the antenna created a secondary reflecal path off the water.

Residual window Series vs. Known Bridge Structures

What the logged data showed was subtle. The receiver’s RAIM residual stayed under 0.8 meter for the entire 35-minute method—textbook green flags. But when you overlay the pseudorange error phase series against the vessel’s known posial relative to the bridge pylons, a pattern emerges. Each slot the vessel passed within 200 meter of a steel surface, the residual on satellite PRN 06 and PRN 22 jumped by exactly 1.2 meter, then settled back down. Not a spike—a plateau. That’s the tell: consistent, repeatable bias from a reflective surface, not a transient fault. The catch is that RAIM tests for sudden changes, not steady offsets. So the algorithm reported “no fault detected” while the actual posiing error drifted by 3.4 meter laterally. In a channel that’s 90 meter wide, that wander pushes you into the dredged edge.

“RAIM flagged noth. The residual stayed flat. But the vessel was three meter off her plotted chain, and the bridge was 400 meter ahead.”

— excerpt from the 2019 debrief notes

Comparison with a Second, Independent Receiver

We fixed this by running a second receiver on the opposite wing—same satellite constellation, different antenna view. That second unit’s residual diverged from the primary by 1.8 meter during the same bridge-method windows. The independent receiver didn’t see the same multipath because its antenna faced the open water, not the steel structure. The primary receiver’s RAIM algorithm, working alone, had no baseline to detect the error. That hurts. The trade-off is expense and installation space—two receivers, two antennas, plus the cabling—but in confined water, that duplication is the only way to expose what RAIM hides. Without it, you’re trusting a one-off residual number that’s telling you everyth is fine, while the real error builds silently beneath the threshold. The 2019 data made that painfully clear: the opening receiver’s residual looked beautiful; the second receiver told the truth.

When RAIM Gets It sound — and When It Doesn't

Open Water vs. Urban Canyon Conditions

Drop a receiver in the middle of the North Sea and RAIM behaves like a textbook. The sky is wide open, satellite geometry is generous, and multipath—when it appears—comes as short, sharp reflec off the sea surface. Those reflecal produce residual that jump high enough to trigger a fault detection. RAIM gets it sound. It throws a flag, you investigate, and life moves on. That's the clean world the algorithm was designed for.

The trouble starts when the same receiver enters a port basin. I've watched perfectly healthy RAIM plots go silent inside Hamburg's Elbe container terminals. Not because multipath vanished—but because the error structure changed. Confined water produce what I call sticky multipath: reflections that arrive from the same bridge, the same crane, the same sheet-pile wall, hour after hour. The residual becomes a DC offset—consistent, stable, and invisible to RAIM's own chi-square test. RAIM gets it flawed. Quietly. And that quiet is dangerous.

Urban canyons craft it worse. A steel bridge fifty meter off the starboard side doesn't generate a sudden spike; it generates a persistent 8-meter bias that RAIM happily absorbs into the posi solution. The algorithm sees agreement between satellites—all of them slightly bent by the same structure—and concludes everythed is fine. It isn't. The catch is that RAIM's fault-detection logic depends on inconsistency. When every satellite is equally off in the same direction, there's no inconsistency to detect.

Frequency-Dependent Multipath: L1 vs. L5

Here's a piece of practical reality that rarely makes it into training manuals: L5 signal handle multipath far better than L1, but most vessels still run L1-only receivers or mix frequencies badly. The physics is straightforward—L5's wider bandwidth and higher chipping rate let it discriminate between direct and reflected paths more cleanly. But the operational reality is messy. I've seen installations where the L5 antenna is placed three meter from a steel ventilator trunk because "it's the only spot with cable reach." That turns a frequency advantage into a liability.

What usually breaks primary is the assumping that dual-frequency automatically protects you. It doesn't. If both frequencies see the same reflected surface—and they often do in a narrow channel—the multipath bias correlates across L1 and L5. Now RAIM is working with two corrupted measurements that agree with each other. faulty queue. The residual stays small, the chi-square stays green, and your posial drifts ten meter to port without a lone alarm. I have personally watched this unfold during a docking trial in Bremerhaven. The RAIM display showed zero flags. The independent laser tracker showed a 9-meter offset.

That said, there is a bright spot. When multipath is highly frequency-selective—say, a chain-link fence that attenuates L1 but passes L5—the residual divergence can trigger detection. Those cases are real but rare. Most port multipath is broadband: concrete, water, steel. It hits both frequencies the same way. RAIM stays silent.

Anecdote: RAIM Alarm Triggered by Foliage, Silence from a Steel Bridge

I once watched a RAIM receiver throw a full alarm while transiting a narrow river lined with tall trees. The canopy was dense, signals were intermittently blocked, and the residual went chaotic—exactly what RAIM was built to catch. The bridge was a red alert. The onboard group stopped the angle, re-initialized, burned ten minutes. Frustrating, but correct.

Two weeks later, the same vessel passed under a steel railroad bridge in a confined dock method. The bridge was sixty meter of solid iron, directly overhead. Every satellite visible at that moment was reflecting off its underside. The posi jumped eight meter. RAIM showed zero flags. Not a flicker.

“The algorithm screamed about leaves and said nothed about a thousand tons of steel. That's not a bug—it's a design assump that doesn't hold in ports.”

— senior navigation officer, after the incident

The asymmetry is hard to defend. RAIM detects the transient, geometry-driven error it was designed for, while the persistent, geometry-stable error of confined water slip right through. That isn't a failure of the algorithm—it's a failure of the operational assump that port environments behave like open ocean. They don't. And RAIM doesn't know the difference.

Three Things RAIM Will Never Tell You — and What To Do About Them

1. A second antenna isn't a luxury—it's your only hardware-based check

RAIM loves a one-off point of failure. One antenna, one receiver chain, one set of assumptions about the sky. In confined waters, that geometry works against you. A second antenna—even a cheap survey-grade patch on the opposite bridge wing—gives you something RAIM never will: spatial diversity. The multipath that corrupts your primary signal won't hit the secondary at the same angle, same window, or same intensity. I have seen a vessel lose posial confidence by 40 meter in the Elbe method while the backup antenna held steady within 3 meter. The catch? Most installations treat the second receiver as a hot spare, not a live cross-check. off queue. You need both streams visible simultaneously on the same display, with an alarm when they diverge beyond 5 meter. That basic overlay catches the multipath events RAIM swallows whole.

Hardware cost aside—and it's not trivial—the real trade-off is data overload. Two receivers mean two sets of residual, two HDOP values, two everything. Most bridge groups glaze over. The fix is brutally basic: force a blinking red 'M' on the ECDIS when the two positions differ by more than twice your port's safety contour. Otherwise you're paying for diversity you'll never use.

2. Your heading gyro and radar overlay can outsmart RAIM—if you let them

RAIM doesn't know your ship's heading. It doesn't care about the radar picture. That's your edge. When a multipath reflecal pulls your GPS posi sideways by 8 meter, the radar overlay will show your own ship's outline sitting half a beam width off the charted quay wall. Most mariners interpret that as a chart mismatch. It's not. It's RAIM lying to you. The trick: overlay your heading gyro's rate-of-turn data onto the GPS-derived course over ground. If they disagree by more than 3 degrees for longer than 10 seconds, you have a posial problem—likely multipath.

We fixed this by wiring a basic alert: any sustained divergence between heading gyro rate and COG rate triggers a popup that says 'CHECK posial—DO NOT RELY ON GNSS ALONE.' That saved us twice in Bremerhaven last year alone. The engineering group resisted at primary—'too many false alarms,' they said. Honestly? Three false alarms per transit beats one undetected grounding.

What usually breaks primary is the radar alignment. If your radar overlay is off by half a degree from your heading gyro, the whole cross-check falls apart. Calibrate it every port entry. Not weekly. Every entry.

3. Operational procedures: logging residual and setting tighter thresholds

RAIM's default thresholds are optimised for open-ocean DGNSS corrections. In a port, those thresholds are laughably loose. The standard 0.3-meter protection level? Useless when your channel width is 80 meter. I have watched experienced pilots sit silent while RAIM reported 'integrity OK' and the vessel drifted 12 meter toward a dolphin. The fix is procedural and painful: log every residual value above 0.1 meter during port entries for one month. Then set your vessel-specific alarm threshold to the 95th percentile of that dataset—plus 20 percent margin for safety. That number will be tighter than the manufacturer's default. It should be. You'll get more nuisance alarms. That's the trade-off: accept the noise or accept the risk.

One more thing—don't let the log sit in a spreadsheet. Print the residual graph and pin it to the conning station. build the watch officer initial it every 15 minutes during confined-water transits. Sounds like bureaucratic overkill? It's not. The act of looking at the numbers—really looking—catches the slow drift that RAIM calls acceptable. I have seen a 0.18-meter residual grow to 1.1 meter over 22 minutes before anyone noticed. That's a full ship's beam of undetected error.

'RAIM told me I was inside the channel. The fender told me otherwise.'

— Harbour pilot, Rotterdam, after a 9-meter GPS offset went unalarmed for three minutes

End with this: tomorrow morning, go to your vessel's GNSS receiver and write down the current RAIM protection level. Then compare it to your port's minimum channel width. If the number is bigger than half that width, you're already operating on borrowed time. Change the threshold before you enter the next lock.

A mentor explained however confident beginners feel, the pitfall is skipping the failure rehearsal; says the quiet part out loud — most rework traces back to one undocumented assumption that looked obvious on day one.

Frequently Asked Questions About RAIM and Multipath in Ports

Can RAIM ever detect multipath?

Technically yes — but only under specific, narrow conditions that rarely align with what you actually face in a port. RAIM residual flag inconsistency between satellite measurements. Multipath, especially the kind reflected off a container crane or a flat harbor wall, often creates consistent errors. It shifts pseudoranges by a steady amount. That shift looks just like a healthy satellite to the algorithm. I have watched engineers stare at green residual while the vessel drifted three meter off the berth line. Multipath was hammering the GPS — but RAIM saw nothion because nothing was inconsistent. What usually breaks first is not the residual monitor but the posi itself. The catch is: if the multipath changes suddenly — a ship moves, a crane swings — you might see a blip. But steady-state reflection? That hurts. RAIM stays silent.

How do I know if my residual are trustworthy?

You don't — not from the residual alone. That sounds harsh, but it's the reality of one-off-epoch RAIM in confined water. The algorithm assumes Gaussian noise and a single fault. Multipath is neither. I have seen residual show 0.8 meters on a receiver sitting two meters from a steel quay wall. Trustworthy? Not yet. The pragmatic check is to cross-reference against a second constellation or an independent sensor — a rate gyro, a radar overlay — something that forces the posi to make physical sense. Most teams skip this. They rely on the RAIM flag turning red. Wrong order. The flag is a lagging indicator. A better heuristic: if your horizontal protection level suddenly drops while manoeuvring past a bridge, be suspicious. Low residual don't mean clean data; they mean internally consistent data. Those are different things.

‘RAIM doesn't know the difference between a real satellite and a fake one — it only knows if they agree.’

— field observation from a pilot-boat operator, 2023

What does IMO say about multipath mitigation?

The International Maritime Organization recognizes multipath as a documented hazard — but it stops short of mandating a specific technical fix. Resolution A.915(22) and the later IMO Circular SN.1/Circ.293 note that multipath effects are ‘difficult to predict’ and recommend that operators use ‘appropriate antenna siting and receiver selection.’ That is guidance, not regulation. The practical outcome: many vessels meet the letter of the rules by installing a GNSS receiver with RAIM enabled, then call it done. The pitfall is obvious. RAIM addresses integrity in open sky, not in a concrete canyon. The IMO expects the navigator to exercise judgement. Honestly — that expectation clashes with reality when the ECDIS shows a green RAIM light and the bridge team assumes the position is safe. We fixed this by writing a simple port-approach checklist: antenna free of overhead obstructions? Alternative source cross-checked? That is not an algorithm fix — it's an operational one. But it works where the residuals fail.

Preproduction, top-of-production, inline, midline, final, and pre-shipment audits catch different classes of drift.

Cutters, graders, pressers, finishers, trimmers, handlers, inkers, and packers rarely share identical checklist verbs.

Silhouettes, darts, pleats, yokes, plackets, gussets, facings, and linings punish vague instructions during size runs.

Spec sheets, torque tolerances, pneumatic feeds, laminate rollers, and ultrasonic welders each demand separate maintenance cadences.

Share this article:

Comments (0)

No comments yet. Be the first to comment!