新开发的 GPS/GNSS 产品需要进行广泛的测试,对于支持 GNSS/GPS 的设备的开发人员来说,能够每次都以相同的方式可靠地测试设备将减少开发时间、提高产品可靠性并提高性能。更具成本效益。 GNSS 信号的可靠采集、不断变化的环境中的一致跟踪和设备性能都是 GPS 设备测试的关键因素。
GPS 模拟器为开发人员提供了许多优势。明显的是方便性,并且能够在实验室或办公室的范围内将原始射频卫星信号直接重播到 GPS 设备中,而无需冒险到户外,这显然使测试变得更加容易。
传统 GPS/GNSS 模拟器拥有专用资源来模拟 GPS 星座和信号,并利用昂贵的高端矢量信号发生器来模拟这些信号。这导致了独立的、有时是多个机柜装满了机架安装测试设备来模拟测试 GPS 产品的场景。随着 SDR 的进步,这可以缩减为 3U 系统。
SDR 将现场可编程门阵列 (FPGA) 与高性能和灵活的无线电相结合,使得在连接到 SDR 的商用现成 (COTS) 机器上运行不同的仿真程序成为可能。高频模数转换器 (ADC)、数模转换器 (DAC) 和数字化技术的进步促进了基于软件定义无线电 (SDR) 的模拟器的兴起,该模拟器具有内部处理器和软件定义无线电 (SDR) 功能。该架构允许使用高度灵活和可扩展的架构来模拟数百颗卫星或不同的射频环境。
用于 GNSS/GPS 模拟的 SDR
软件定义无线电 (SDR) 包括无线电前端 (RFE),借助模数转换器 (ADC)(或用于传输的 DAC)将 RF 信号数字化,以及多个独立通道,以及数字后端,其中具有数字信号处理 (DSP) 功能的 FPGA。在高端 SDR 中,每个接收 (Rx) 或发送 (Tx) 通道独立工作,允许跨各种频率进行复杂的多输入多输出 (MIMO) 操作,这些操作也通过精密时钟板同步。该系统可配置为具有先进触发和无线电性能的射频和数字接收器、发射器、收发器、脉冲发生器、波形发生器和(解)调制器。
SDR 能够在较宽的调谐范围内接收和传输信号,并且可以具有高达 3 GHz 的瞬时带宽,并在 3 GHz 带宽内具有多个 DSP 通道,从而可以使用单个无线电链在不同频率下运行。
由于灵活性,SDR 很容易集成到新的和传统的国防和通信系统中。它们尤其能够降低雷达、GPS/GNSS、频谱监控等不同系统中所需的基于硬件的组件的复杂性和数量。这是由于 SDR 能够在软件中嵌入各种信号处理算法,包括波形生成、存储、调制、加密、下
变频和上变频。
SDR 具有可重新配置的 RFE,允许将同一平台用于不同的应用,因为它可以在无线电频谱的各个频段上运行。例如,不同的 GPS 和 GNSS 应用在 L1 频段运行,而其他应用则可以在 L2、E5、E1、E6 等频段运行。复杂性的整体降低可以节省空间和成本,并缩短上市时间和供应链问题。通常,SDR 主要使用 C++ 和 Python 进行编码,代码的复杂性取决于预期用途和集成。 GNU Radio 是一个的软件开发工具包,它提供了与软件定义无线电和信号处理系统结合使用的信号处理块。
为了设计和开发基于 GNSS 的产品,必须以详细的格式模拟整个 GNSS 信号传输和接收场景。它由两个不同的部分组成:
个负责合成 GNSS 卫星发出的信号(卫星轨道和坐标系、星历数据生成、代码生成、信号调制、噪声模拟、衰减、大气效应和多径、欺骗和干扰等)。
第二部分负责GNSS接收器本身(解调、信号采集、跟踪、星历数据解码和位置计算以及抗干扰和防欺骗等)。以下频率主要用于商业产品:GPS L1和L5、GLONASS G1和G2、北斗B1和B2以及伽利略E1和E2。
基本的 SDR GPS 接收器
GPS 接收器的典型 RFE 包括天线、放大器、本地振荡器 (LO)、混频器和负责将下变频模拟信号采样为适合信号处理的数字格式的 ADC。使用软件例程处理基带样本以生成接收器位置信息,如下图 1 所示。
图 1:基本 SDR GPS 接收器的框图。 ( Vices)
捕获过程的目的是识别某颗卫星是否可见。如果卫星可见,捕获算法将确定信号的载波频率和代码相位的粗略值。由于硬件实现简单,传统 GPS 接收器采用串行搜索采集。如今,使用更高效的基于快速傅立叶变换 (FFT) 的采集算法,例如并行码相位搜索采集,可以为多频率和星座 GNSS 接收器实现多个(> 100)相关器。基于 SDR 的模拟器可以利用 DSP 的 FPGA 所提供的灵活性,促进这些算法的进一步开发。
然后将控制权移交给跟踪算法(图 1 中的第 3 阶段),该算法用于跟踪载波多普勒和代码偏移的变化(由于卫星和接收器之间的视距动态),并解调来自特定卫星的导航数据。大多数商业接收器采用二阶锁相环 (PLL),但是,为了改进信号跟踪性能,特别是在低信噪比 (SNR) 和动态条件下,开发了算法(基于三阶 PLL 和/或卡尔曼
滤波器),正在进行。通过使用基于SDR的模拟器,可以减少测试和验证这些新开发算法的开发时间。
成功跟踪后,导航和星历数据将被解码。星历是一组数据/表格,提供过去和未来给定日期天体(恒星、行星、卫星)的位置。为了执行接收器位置计算,您需要计算卫星位置,该位置基于星历数据中存在的卫星轨道信息并参考开普勒轨道元素,它描述了卫星轨道平面相对于另一个天体的位置。在计算组伪距之后可以计算接收器位置。 GPS 位置计算常用的方法是基于二乘法。SDR 可用于使用软件例程执行所有上述功能,并且可以更新或微调必要的参数以获得解决方案。
在 SDR 中,天线、RFE 和 ADC/DAC 是仍以硬件实现的部件。这些组件输出包含数字化导航数据的比特流,然后将其作为输入提供。从这一点开始,几乎每个操作都是通过软件实现来执行的,其中一些操作可能对于其相当苛刻的实时要求至关重要。如果代码架构设计良好且方便,这种灵活、模块化和开放的接收器不仅可以用于固定和计算位置、速度和时间(PVT),还可以用于评估 GNSS 性能。它还允许开发和测试用于导航信号接收的新算法,包括测试未来信号以预测未来性能和特性。要求限度(如果有的话)硬件重新配置是SDR接收机的主要优势。这显着降低了接收机开发、维护和增强的成本。
由于传统的硬件接收器已经在软件中实现了PVT算法,因此硬件和软件接收器之间的主要区别在于采集、跟踪和数据解调步骤。在传统接收器中,这些操作由特定硬件执行,经过适当设计和优化以实现它们,并且需要重新设计或更换才能使用新信号。 SDR 通过集成高性能 FPGA 和 DSP 针对复杂算法进行了优化,从而可以更快地采集、解调以及 GNSS 跟踪和导航数据的处理。