Skip to content

Repository files navigation

Jamming Simulation

Simple OFDM baseband link with Rayleigh multipath, AWGN, and three jammer models.

Quick start

python sim.py --mode barrage --snr_db 20 --sir_db -5

Optional sweep and plot (requires matplotlib):

python sim.py --mode partial --snr_db 20 --plot

MIMO + beamforming

You can enable a simple SIMO/MIMO receiver array with optional jammer nulling:

python sim.py --mode barrage --n_tx 2 --n_rx 2 --beamform mvdr --aoa_sig_deg 10 --aoa_jam_deg -30

GPS jamming + spoofing simulation

Simplified GPS C/A-code correlator with optional jamming and spoofing.

python gps_jamming_spoofing_sim.py --plot
python gps_jamming_spoofing_sim.py --mode barrage --jsr_db 10 --plot
python gps_jamming_spoofing_sim.py --spoof_db 6 --spoof_delay_chips 0.5 --plot
python gps_jamming_spoofing_sim.py --plot --doppler_hz 1200 --doppler_max_hz 5000 --doppler_step_hz 250 --coh_ms 1 --noncoh_ms 10
python gps_jamming_spoofing_sim.py --plot \
  --doppler_rate_hz_s 5 --spoof_doppler_rate_hz_s -2 \
  --coh_ms 1 --noncoh_ms 10 \
  --cfar_scale 6

Jammer modes

  • barrage: wideband Gaussian noise.
  • tone: single-tone interferer at a specified FFT bin.
  • partial: Gaussian noise over a fraction of occupied subcarriers.

Notes

  • Perfect channel knowledge is assumed for equalization.
  • SIR is defined as signal_power / jammer_power at the receiver.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages