LimeSDR-USB之GPS欺骗

这个项目是我与OpenSourceSDR的技术大哥一起完成的,所以,首先感谢他对我的帮助,其次,未经我俩许可,不得转载

欺骗部分
这部分的代码来自于gps-sdr-sim,后期我将自己制作一个只针对于LimeSDR-USB的分支供大家学习参考。话不多说,我们开始吧!

#这是安装LimeSuite组件,Soapy API和LimeSDR的所有驱动的程序,没有安装过的朋友先安装
sudo add-apt-repository -y ppa:myriadrf/drivers
sudo apt-get update
sudo apt-get install limesuite liblimesuite-dev limesuite-udev limesuite-images
sudo apt-get install soapysdr soapysdr-module-lms7

安装好后,开始下一步的操作

git clone https://github.com/osqzss/gps-sdr-sim
cd gps-sdr-sim
#接下来对你下载好的文件进行gcc编译
gcc gpssim.c -lm -O3 -o gps-sdr-sim

到这前期准备工作就好了,下面我们来看编译好的文件中的各类指令

Usage: gps-sdr-sim [options]    #
Options:
  -e <gps_nav>     RINEX navigation file for GPS ephemerides (required)
  -u <user_motion> User motion file (dynamic mode)
  -g <nmea_gga>    NMEA GGA stream (dynamic mode)
  -c <location>    ECEF X,Y,Z in meters (static mode) e.g. 3967283.15,1022538.18,4872414.48
  -l <location>    Lat,Lon,Hgt (static mode) e.g. 30.286502,120.032669,100
  -t <date,time>   Scenario start time YYYY/MM/DD,hh:mm:ss
  -T <date,time>   Overwrite TOC and TOE to scenario start time
  -d <duration>    Duration [sec] (dynamic mode max: 300 static mode max: 86400)
  -o <output>      I/Q sampling data file (default: gpssim.bin ; use - for stdout)
  -s <frequency>   Sampling frequency [Hz] (default: 2600000)
  -b <iq_bits>     I/Q data format [1/8/16] (default: 16)
  -i               Disable ionospheric delay for spacecraft scenario
  -v               Show details about simulated channels
#这是中文的对照
用法:gps-sdr-sim [选项]
选项:
   -e <gps_nav>用于GPS星历表的RINEX导航文件(必填)
   -u <user_motion>用户动作文件(动态模式)
   -g <nmea_gga> NMEA GGA流(动态模式)
   -c <位置> ECEF XYZ,以米为单位(静态模式),例如3967283.15,1022538.18,4872414.48
   -l <位置> LatLonHgt(静态模式),例如30.286502,120.032669,100
   -t <日期,时间>场景开始时间YYYY / MM / DD,hh:mm:ss
   -T <日期,时间>将TOCTOE覆盖到方案开始时间
   -d <欺骗时间>持续时间[秒](动态模式最大值:300静态模式最大值:86400   -o <输出> I / Q采样数据文件(默认值:gpssim.bin;使用 - 用于stdout)
   -s <频率>采样频率[Hz](默认值:2600000   -b <iq_bits> I / Q数据格式[1/8/16](默认值:16   -i禁用航天器场景的电离层延迟
   -v显示有关模拟频道的详细信息

使用以上指令时,可以生成动态与静态的文件,例如

gps-sdr-sim -e brdc3540.14n -u circle.csv               #静态模式
gps-sdr-sim -e brdc3540.14n -g triumphv3.txt            #静态模式
gps-sdr-sim -e brdc3540.14n -l 30.286502,120.032669,100 #动态模式

这一步有个坑,我就是被这个坑惨了,在指令前一定要加./,例如

./ gps-sdr-sim -e brdc3540.14n -l 30.286502,120.032669,100 #生成北纬30,东经120,高度100m的星历

等待这个完成后,你会发现文件中多了一个gpssim.bin的文件,将它重命名为circle.1b.1M.bin

下一步,也是至关重要的一步,我前面尝试时会报错,报错的类型是无法找到文件或目录经过探索,发现这个指令中的limeplayer可执行程序未生成,所以执行以下步骤

cd player
gcc -O2 -Wall -o limeplayer limeplayer.c -lLimeSuite

执行完后会发现文件夹中多了一个limeplayer的可执行程序
接着执行最后一条指令,开始欺骗,记得加./,记得加./,记得加./

./limeplayer -s 1000000 -b 1 -d 2047 -g 0.1 < ../circle.1b.1M.bin

此时,终端上应该显示LimeSDR的信息,并出现一系列数据流,开始发送信息。

我和OpenSourceSDR的技术大哥都没欺骗成功,应该是天线增益的问题,后期我会购买专用的GPS天线进行测试的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值