Hackrf -> GPS
2025-04-20 21:42:13

Hackrf -> GPS

动态轨迹欺骗

创建运动轨迹文件

Google Earth Pro,点击添加轨迹后在地图上画轨迹即可,绘制完毕后在左侧轨迹右键保存kml文件

image-20250414164835944

制作NMEA文件

将kml运动轨迹文件导入SatGen,设置一下参数,点击 Generate NMEA file ,即可生成标准的 NMEA 轨迹文件

output					数据更新率
max longacc				最大纵向加速度
max jerk				最大加速度
max latacc				最大横向加速度
max speed				最大速度
stationary period		起步停留时间
stationary period end	结束停留时间
scenario distance		总路程长度
total time 				总耗时

image-20250414164748417

获取GPS导航电文

https://cddis.nasa.gov/archive/gnss/data/daily/

image-20250414170343409

==》

image-20250414170409654

==》选最新的

image-20250414170440587

硬件检查

这是我的hackrf版本信息

image-20250414164435023

需要一个TCXO(时钟模块),如果输出的是0x51就是没有TCXO

image-20250414164411621

生成采样文件

git clone https://github.com/osqzss/gps-sdr-sim.git
make USER_MOTION_SIZE=3000
gcc gpssim.c -lm -O3 -o gps-sdr-sim
./gps-sdr-sim -e <导航电文文件> -g <轨迹文件> -b 8 -o <输出二进制文件路径>

image-20250414164625150

发射信号

hackrf_transfer -t gpssim.bin -f 1575420000 -s 2600000 -a 1 -x 20 -R

image-20250414164448309

静态坐标欺骗

获取静态坐标

地图经纬度获取

image-20250415090812446

34.956752, 79.041744

生成采样文件

./gps-sdr-sim -e <导航电文文件> -l <坐标经纬度> -b 8 -o <输出二进制文件路径>

image-20250415091342634

发射信号

hackrf_transfer -t staticgpssim.bin -f 1575420000 -s 2600000 -a 1 -x 20 -R

image-20250415091508310

GPS信号干扰

GNU radio(GRC):