作者介绍 1、Skydel与NI USRP 软件定义架构(Software Defined Architecture)是一种新型的架构模式,它是一种基于软件的架构,通过软件来定义系统的功能,从而提高系统的运行效率和能量效率。 软件定义架构可以将硬件资源抽象化,从而使得应用程序可以更好地利用硬件资源,提高系统的性能和可靠性。 Skydel GNSS仿真引擎是创新型的软件定义GNSS模拟仿真引擎 ,它利用PC的GPU的计算能力并借助Nvidia GPU极快的数学计算能力处理星座、频率与轨迹信息,并生成IQ信号,使用SDR进行IQ信号的处理与RF信号的输出兼具两全其美的优势: 顶级GNSS模拟器获得的高端性能,以及使用其GNSS软件架构的硬件所带来的规模经济性和灵活性。 NI(National Instruments,美国国家仪器公司)是一家总部位于美国的跨国公司,成立于1976年,专注于测试、测量和自动化领域的产品和服务,是测试测量行业的世界级龙头企业。 NI的核心产品之一USRP(Universal Software Radio Peripheral,通用软件无线电外设)系列,是一套开源的软件定义无线电(SDR)设备。USRP允许研究人员、工程师和爱好者通过软件编程来定义和重新定义无线电的通信协议,而无需更改硬件。这使得USRP非常适合于无线通信研究、原型设计、教育和业余无线电活动。 Ettus Research是USRP(Universal Software Radio Peripheral)产品的原始开发商,这是一家专注于软件定义无线电(SDR)技术的公司。2010年,Ettus Research被National Instruments(NI)收购。这次收购使得NI能够扩大其在无线通信和软件定义无线电领域的影响力。 Skydel允许用户使用NI USRP294xR/295xR系列以及同级别的Ettus Reserch的X300/X310/N310系列进行GNSS信号的仿真模拟,为各个行业的技术工程师带来直观、高效的GNSS仿真与测试方法。 2、硬件部署 Skydel可以在NI USRP-294xR/USRP-295xR部署环境下实现单一场景与多场景的仿真。 2.1使用一个USRP 在使用一个USRP的情况下,允许仿真单个场景,实现单频双频GNSS信号输出。 使用USRP时,需要Skydel所在的计算机具有10GbE网卡,并使用10 GbE SFP光缆与SDR端口1连接,推荐的万兆网卡有: ●Intel X710-BM2 ●Intel E810XXV-AM2 ●Intel XXV710-AM2 ●Intel E81oXXV-DA2 ●Intel XXV710-DA2 注意:一个 Skydel 实例只能与一个USRP通信,两个Skydel实例无法与一个USRP同时通信。 2.2使用多个USRP 在使用一个USRP的情况下,允许仿真复数个场景,实现单频双频GNSS信号输出或反正一个场景,实现三频GNSS信号输出。 与之前相同,使用USRP时,需要Skydel所在的计算机具有10GbE网卡,并使用10 GbE SFP光缆与SDR端口1连接。 为了执行准确的GNSS模拟,SDR需要精确的参考时钟,每个 SDR都需要共享相同的10MHz参考时钟并具有共同的每秒脉冲 (PPS) 信号才能同步。 需要注意的是,USRP本身具有80dB的增益,因此在使用线缆连接GNSS接收机时,一定要使用足够的衰减与隔直器以确保两端设备的安全使用。 3、软件部署 3.1固件安装 Skydel要正常使用,需要为USRP安装非常特定版本的FPGA映像,在首次将Skydel用于您的设备之前,您必须将此特定映像刻录到您的设备中。我们提供了简单可用的UHD驱动包(windows/Linux),直接安装应用即可,详细的固件安装方法请查阅Skydel使用手册。 为什么Safran Skydel需要这个特定版本呢?——GNSS信号模拟有一个非常重要的要求:RF信号传输绝不能中断。缺少单个 I/Q样本会将误差引入载波相位,从而使整个模拟对于GNSS 接收器测试来说太不精确。为了实现不间断的RF信号,SDR 必须具有I/Q样本缓冲区。缓冲区必须足够大,以减轻软件和SDR之间I/Q样本传输的中断。为了确保I/Q样本流稳定,这个特殊的FPGA映像使用板载DDR RAM作为流缓冲区;这种 FPGA映像称为“HG”映像。 3.2软件配置 本文将会介绍在WINDOW环境下如何快速实现NI USRP的部署并使用Skydel进行GNSS仿真,Ubuntu下的部署请咨询德思特相关技术工程师。 Skydel 支持以下 Microsoft Windows 版本: ●Windows 10 家庭版/专业版 ●Windows 11 家庭版/专业版 3.2BIOS设置 我们强烈建议您在BIOS中修改以下设置: ●禁用Intel SpeedStep; ●禁用Intel Turbo Boost。 需要禁用这些设置才能强制CPU始终以相同频率运行。否则,当CPU频率变化时,可能会导致计算机与SDR之间的通信链接不稳定。这反过来可能会导致GNSS信号传输中断。 3.3windows系统设置 ① 电源计划 ●打开控制面板、电源选项,然后单击“选择电源计划”。 ●选择“高性能”电源计划。 ●点击“更改计划设置”,将所有时间设置为“从不”。 说明:在GNSS模拟期间始终保持显示器打开。Windows能够检测显示器是打开还是关闭,当显示器关闭时,Windows可能会降低GPU的性能,从而导致模拟错误(例如,流缓冲区不足)。 ② 注册表项 :FastSendDatagramThreshold 仅在使用Ettus或NI SDR时需要设置。使用regedit工具打开Windows注册表: ●在HKEY_LOCAL_MACHINE\System\CurrentControlSet \Services\AFD\Parameters\下添加或修改DWORD注册表项 FastSendDatagramThreshold; ●确保该值为9000(十进制); ●重新启动PC使之生效。 ③ 通知 GNSS 模拟期间,强烈建议关闭所有 Windows 通知以避免中断。为此,请打开通知与操作,然后禁用通知。 3.4Nvidia GPU驱动程序 安装的Nvidia显卡驱动程序必须支持CUDA Runtime API 11.8.0或更高版本。确保您的计算机使用的是最新的WHQL认证的Nvidia GPU驱动程序(520.06或更高版本)。您可以在 Nvidia网站下载最新版本。 3.6网卡设置 ① 驱动程序 仅在使用Ettus或NI SDR时需要设置 ,从英特尔网站下载并安装最新版本。 ② 巨帧数据包 打开控制面板、网络和共享中心,然后更改适配器设置。右键单击连接到 SDR 的适配器并选择属性。单击配置,然后在高级选项卡中查找“巨帧数据包”: ●启用巨帧数据包,并将大小设置为最大值。 ●在高级选项中,将传输缓冲区设置为最大值 (16384) ③ 静态 IP 地址 打开控制面板、网络和共享中心、更改适配器设置。右键单击连接到 SDR 的适配器并选择属性。双击 Internet 协议版本 4 (TCP/IPv4): ●选择单选按钮“使用以下 IP 地址”; ●IP地址:192.168.40.1 ●子网掩码:255.255.255.0 3.6硬件连接 1. 软件配置完成后,关闭计算机,NI USRP连接电源 2. 黄色光纤连接到两台设备,听到“咔哒”一声就说明连接好了。如果需要拔出,拉住光纤头的塑料手柄平行拔除即可。 a. USRP插“1”端口,PC插入对应设置静态IP为“192.168.40.1”的SFP端口。 b. 拔出塑料把手如图 3. 连接好之后,在命令行输入“ping192.168.40.2”。如果没有ping通,尝试检查硬件后重启电脑。 3.7启动Skydel 至此,您可以正常打开Skydel,并选择对应的SDR开始您的仿真。 打开Skydel,如果需要直接使用,可打开例程“usrp-testing.sdx”(usrp-testing.sdx),即可进行Skydel GUI的测试,如需要API控制,也需要打开Skydel。 警告: 一定要加隔直器单元,否则反向电流会打坏USRP! 一定要加衰减器,否则过大功率会损坏待测件!