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信号干扰

GPS常用频段为L1频段,中心频率为1575.42MHz(载波频率),常用调试方式为BPSK(载波相移键控)–> 它使用两个相位状态(0度和180度)来表示数字位,通常用于传输导航数据。在BPSK 调制中,0 和1被映射到正弦波载波的相位变化。如果输入数据是0,则相位不变;如果输入数据是1,则相位反转180度。

GRC:

image-20250513095940641

效果:

image-20250513101112091

URH效果:持续收到1575.42MHz频率的信号

image-20250513101122693