Example Configurations

Ready-to-run scenario files live in examples/configs/. For the schema itself — every field, and the naming pitfall that silently disables a scenario — see Configuration Files.

--config supplies the whole run, so the subcommand's -i/-o are ignored alongside it — set input: and output: inside the file instead:

strapdown-sim --config examples/configs/simple_dropout.yaml

Baseline

FileWhat it does
baseline.yamlNo degradation. The reference every other scenario is compared against.

Availability

FileWhat it does
sched_10s.yamlOne fix every 10 s, uncorrupted. A reduced update rate.
duty_10on_2off.yaml10 s available, 2 s denied, repeating. Brief periodic outages.
simple_dropout.yaml2 minutes available, 30 s denied. Bridges and tall buildings.
extended_gnss_denied.yaml1 minute available, 5 minutes denied. Tunnels and sustained jamming.

extended_gnss_denied.yaml is the one that shows dead-reckoning quality most clearly: five minutes is long enough for consumer-MEMS drift to dominate completely. Expect errors in the hundreds of metres to kilometres, and see Tutorial: GPS Degradation for why the figure is usually smaller than double-integrating the sensor's bias would predict.

Accuracy

FileWhat it does
degraded_fullrate.yamlFull rate, AR(1)-correlated position and velocity error.
degraded_5s.yamlEvery 5 s and degraded. Scheduling and corruption together.

Spoofing

FileWhat it does
slowbias.yamlA slowly drifting offset. Soft spoofing — each fix looks plausible.
slowbias_rot.yamlThe same, with the drift direction rotating.
hijack.yamlAn abrupt offset during a fixed window. Hard spoofing.

Spoofing scenarios are the ones worth pairing with an innovation gate: a hijack produces a large normalized innovation squared the moment it starts, which a chi-squared gate rejects, while a slow_bias is specifically designed to stay under that threshold.

Combined

FileWhat it does
combo.yamlReduced rate plus degraded accuracy.
combo_duty_hijack.yamlDuty-cycled availability plus hard spoofing.

Other formats

gnss_degradation.json and gnss_degradation.toml are the same schema in the other two supported formats. The json/ subdirectory is a different thing: those files are {name, args} CLI-invocation presets, not scenario configs, and they use the command line's vocabulary rather than the config schema's.

Running the set

Because --config ignores -i/-o, a batch varies the paths in the file:

mkdir -p results .scenarios
for config in examples/configs/*.yaml; do
  name=$(basename "$config" .yaml)
  { cat "$config"
    echo "input: data/input.csv"
    echo "output: results/${name}.csv"
  } > ".scenarios/${name}.yaml"
  strapdown-sim --config ".scenarios/${name}.yaml"
done