Developer & SDR

gps-sdr-sim alternative: real-time, multi-constellation SDR

A gps-sdr-sim alternative: multi-constellation, real-time moving trajectories, and record & replay on HackRF, bladeRF and USRP. Supported, no six-figure lab.

Updated 2026-07-09
AnyLocate positioned between free GPS-only forks and six-figure labs, with a capability comparison table

gps-sdr-sim is where almost everyone starts: point it at a HackRF, generate a file, get a fix. It is also where a lot of projects get stuck, because the moment you need more than one constellation, a trajectory that actually moves, or a signal that runs in real time, you hit its edges. The tell is unmistakable. Engineers start searching for the forks by name (gps-sdr-sim-realtime, multi-sdr-gps-sim, gnss-sdr-sim), patching around limits the original was never meant to cross.

AnyLocate is built for exactly that moment: the supported step up, on the same commodity SDR you already own.

A real-time SDR signal chain: laptop scenario over USB to an SDR, then RF into a GNSS receiver

”It only does GPS: how do I add Galileo, GLONASS, BeiDou?”

gps-sdr-sim is GPS L1 C/A only. Adding another constellation means forking C and reverse-engineering a signal structure, the recurring, unanswered ask in its issue tracker. AnyLocate generates multi-constellation, multi-frequency scenarios out of the box, so you validate every signal your receiver supports, not just one.

”Why is my spoof stuck in one place?”

The original is fundamentally static: its dynamic mode is capped at roughly 300 s of motion (the user-motion buffer is a compile-time constant), and it precomputes an I/Q file offline. AnyLocate generates the signal in real time, so a trajectory can run as long as you like, follow a real route, or be driven live from an external input.

”It isn’t real-time”

Because gps-sdr-sim prepares the file offline and replays it, the receiver’s clock drifts away from the file’s time and interactive control is impossible. As the community bluntly puts it, it’s not a method for real-time work. Real-time generation is the core of what AnyLocate does.

Record a real drive, replay it forever

Beyond scripted scenarios, capture live-sky signals in the field once and replay them on the bench as many times as you need: the reliable, repeatable regression signal the DIY tools never gave you.

The gap it fills

The free forks stop at GPS L1, static, one SDR, no support. The big-name simulators start at a six-figure procurement. Nobody owns the middle: supported, multi-constellation, moving, real-time, record & replay, without a Spirent budget. That is exactly the slot AnyLocate is built for, on HackRF, bladeRF, LimeSDR, ADALM-Pluto and USRP.

Frequently asked questions

Is there an alternative to gps-sdr-sim?
AnyLocate is the supported, production-grade path once gps-sdr-sim runs out of road. It adds multiple constellations, real-time moving trajectories, record & replay and controlled signal power, on the same commodity SDRs you already own.
Can gps-sdr-sim do a moving trajectory?
Only within tight limits: its dynamic mode is capped and it precomputes a file, so long or interactive motion is awkward. AnyLocate generates the signal in real time, so position can move continuously and even be driven live.
Does it support Galileo, GLONASS and BeiDou?
Yes. gps-sdr-sim is GPS L1 C/A only; AnyLocate generates multi-constellation, multi-frequency scenarios so you can validate every signal your receiver claims to support.
Is gps-sdr-sim real-time?
No. It prepares an I/Q file offline and replays it, which drifts from the wall clock and rules out interactive control. Real-time generation is exactly the wall AnyLocate is built to get past.

Related use cases

GNSS receiver testing: TTFF, sensitivity, production test
Lab-test ADAS positioning: tunnels, canyons, GNSS outages
Try it on your own signals
Run this scenario — and yours — on a software-defined GNSS simulator you can actually afford.
See pricing →