帮酷LOGO
  • 显示原文与译文双语对照的内容
Software-Defined GPS Signal Simulator

  • 源代码名称:gps-sdr-sim
  • 源代码网址:http://www.github.com/osqzss/gps-sdr-sim
  • gps-sdr-sim源代码文档
  • gps-sdr-sim源代码下载
  • Git URL:
    git://www.github.com/osqzss/gps-sdr-sim.git
  • Git Clone代码到本地:
    git clone http://www.github.com/osqzss/gps-sdr-sim
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/osqzss/gps-sdr-sim
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • GPS-SDR-SIM

    GPS-SDR-SIM生成 GPS 基带信号数据流,可以使用软件定义的无线电( SDR ) 平台( 如 adalm plutobladeRF,HackRF和TimeoutException转换为 RF 。

    Windows 构建指令

    • 启动 Visual Studio 。
    • 为控制台应用程序创建一个空项目。
    • 在右侧的解决方案资源管理器上,将" gpssim.c"和" getopt.c"添加到Souce文件文件夹。
    • 在解决方案配置下拉列表中选择"释放"。
    • 生成解决方案。

    使用GCC构建插件

    $ gcc gpssim.c -lm -O3 -o gps-sdr-sim

    生成 GPS 信号文件

    可以以在一个CSV文件中指定一个用户定义的轨迹,它包含地球中心固定的( 锚地) 用户位置。 用户运动的采样速率必须为 10赫兹。 用户还可以通过 命令行 直接分配一个 static 位置。

    用户通过 GPS 广播星历文件指定 GPS 卫星星座。 每日 GPS 广播星历文件( brdc ) 是单个站点导航文件的合并。 每日文件的存档为:

    ftp://cddis.gsfc.nasa.gov/gnss/data/daily/

    这些文件被用来为 GPS 卫星生成模拟伪距和多普勒。 模拟范围数据用于为 GPS 信号生成数字化的i/q 采样。

    bladeRF和 adalm pluto 命令行 接口需要存储为有符号 16位 整数的i/q 对,而hackrf_transfer和 gps-sdr-sim-uhd.py 支持字节。

    HackRF 。bladeRF和adalm冥王星需要 2.6 MHz的样本速率,而USRP2需要 2.5 MHz ( 100 MHz的均匀抽取器) 。

    如果相应的ephemerides集可用,则可以指定模拟开始时间。 否则RINEX导航文件中的第一次星历被选中。

    为了防止输出文件过大,USER_MOTION_SIZE定义了最大模拟持续时间。

    通过使用"-b 1"选项将4 个 1-bit 实例存储到单个字节中,可以减少输出文件的大小。 你可以使用 bladeplayer bladeRF来播放压缩文件。

    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

    可以在动态模式或者 static 模式下指定用户动作:

    > 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

    传输样本

    特定SDR平台的TX端口通过直流块和固定 50 -60dB衰减器连接到 GPS 接收机。

    BladeRF:

    可以将模拟 GPS 信号文件" gpssim.bin"加载到bladeRF中,以便播放,如下所示:

    set frequency 1575.42M
    set samplerate 2.6M
    set bandwidth 2.5M
    set txvga1 -25
    cal lms
    cal dc tx
    tx config file=gpssim.bin format=bin
    tx start

    你还可以通过下面的bladeRF-cli 脚本选项执行这些命令:

    > bladeRF-cli -s bladerf.script
    HackRF:
    > hackrf_transfer -t gpssim.bin -f 1575420000 -s 2600000 -a 1 -x 0
    支持的设备( 仅使用USRP2测试):
    > gps-sdr-sim-uhd.py -t gpssim.bin -s 2500000 -x 0
    LimeSDR ( 为了达到 1个,1-bit 文件,要获得完全基带动态和低射频功率):
    > limeplayer -s 1000000 -b 1 -d 2047 -g 0.1 <.. /circle.1b.1M.bin
    adalm-pluto ( PlutoSDR ):

    预期 adalm pluto设备将启动它的网络接口并运行,默认情况下可以通过" pluto.local"访问它。

    默认设置:

    > plutoplayer -t gpssim.bin

    设置TX衰减:

    > plutoplayer -t gpssim.bin -a -30.0

    默认 -20.0 dB 。适用范围 0.0到 -80.0 dB,步骤为 0.25.

    设置射频带宽:

    > plutoplayer -t gpssim.bin -b 3.0

    默认 3.0 MHz 。适用范围 1.0至 5.0 MHz 。

    许可证

    版权所有 © 2015 -2018 Takuji Ebinuma
    发布在 MIT许可协议下。




    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语