应用笔记 用USRP设备实现低成本宽带RF记录和频谱分析 Ettus Research 简介USRP™ 是一个灵活地低成本软件定义无线电,用于光谱监测和射频录音。很多USRP 用户在Linux环境中操作使用这些应用程序,一般是在GNU 无线电软件框架内。但是,USRP设备由很多预编译和开箱即用的软件解决方案。不要求进行多余的开发。这些方案对于那些想要通过使用新工具而不投资开发时间,实现某些功能的访问的用户是很有吸引力的。USRP 的灵活以及广泛接收可以通过UHD得到实现。 HDSDR 是现有Windows 应用程序支持USRP 产品线的一个例子。由Alberto di Bene开发,HDSDR 是一个免费可下载程序,带有一个FFT和一个瀑布显示图。有助于USRP无线电带宽功能之内的观察感兴趣的信号。HDSDR 提供以下功能: 1)快速、可配置FFT和瀑布图显示 2)可调节过滤、选择切口过滤RFI缓解 3)AM, ECSS, FM, LSB, USB, CW,和 DRM调节 4)AGC and AFC 5)宽带记录 6)用直观用户控件装置和控制射频前端 本文解释了HDSDR 的安装程序,并介绍了应用程序中可用的一些特性。 UHD和HDSDR 端口这个软件包的全部功能有三部分组成。直接与USRP 设备进行交互的软件组件是UHD。UHD 允许用户在Windows, Linux,或者 MacOS.上装配软件无线电。不同的软件架构,例如GNURadio, LabVIEW, MATLAB, 和Simulink使用UHD 驱动器访问USRP设备。如果你想快速开发定制应用程序,这些是理想的架构。UHD 在没有没有明确的抽象到您的应用程序支持所有的USRP设备。 如果你想快速开发自定义应用程序,这些是理想的框架。UHD支持所有没有明确的抽象到您的应用程序的USRP 设备。因此,一旦您使用UHD开发一应用程序,支持所有的USRP模型和子板。 此系统中的第二个组件是由HDSDR 软件提供的ExtIO DLL 特性。从本质上讲,这是一个抽象层,将HDSDR的常用功能映射到UHD的API 功能上。这允许HDSDR被用于各种前端上。Balint Seeber(spench.net)开发了动态——链接库DLL,通过这个Ext IO DLL 端口对UHD 进行访问。 该接口还提供将相同的I/Q 样本传入外部程序的功能,如GNU 软件无线电流程图。 图1——用HDSDR、UHD和一个USRP设备进行频谱显示和射频记录 安装程序这次,该软件只能在Windows环境中运行,在装有Windows7系统的PC 上进行测试。在 Linux环境中,用模拟机器也可以完成相同的功能,但是这个未经过测试。 为了安装这个软件,主要有三步: 1.安装UHD 2.安装 HDSDR 3.为USRP设备安装包含BorIP/ExtIO 的功能包 安装 UHD目前,软件已经用UHD 3.3.0和3.4.0版本进行测试了。理想的状况是,HDSDR 支持UHD所有未来版本。但是,如果出现任何问题,您可以转换到这两个版本。windows的二进制安装程序可在此页面的“二进制下载”部分找到: http://code.ettus.com/redmine/ettus/projects/uhd/wiki#Binary-downloads 每个UHD 发布包括几个操作系统的二进制安装器上。选择二进制安装器标记为:UHD-[uhd_version]-win32.exe 完成安装之后,将USRP 设备连接到主机PC上并测试功能。通过简单的几步就可以完成。打开一个命令提示并且写下以下指令: uhd_find_devices 应该对USRP 设备进行定位,将不同的参数输出到设备上,例如名字(默认为空)和IP地址。如果这是一个新的安装,遇到任何问题,请参考网络: http://files.ettus.com/uhd_docs/manual/html/ 完成这一步以后,更深入的测试: uhd_usrp_probe 如果您有多个USRP设备连接到主机上,您需要指定一个地址: 使用uhd_usrp_probe指令“帮助”参数获取更多信息 这个步骤可能揭示了USRP 的FPGA 图像,需要作出改变以和驱动器相匹配。再次重申:关于如何完成的更多信息请参考uhd_docs手册。 如您已经执行了uhd_usrp_probe,在设备和任意集成子板上接收一个完整的报告,UHD 和 USRP 端口功能正常。 安装 HDSDR安装HDSDR 是一个很直接的过程。本应用笔记的测试通过2.11版本完成。该软件的最新版本可在HDSDR网址上找到: http://www.hdsdr.de/download/HDSDR_install.exe Ettus Research 鼓励您使用最新版本的软件,因为新软件将提供给您新的特性并且有一个更好地体验。如果软件升级后仍有什么问题,您可以 http://files.ettus.com/app_notes/hdsdr/HDSDR_install.exe 执行这个Windows安装程序会启动安装程序。该向导将浏览几个典型的windows安装程序步骤,:安装目录选择,快捷方式的选择等。 安装由Balint Seebger开发的ExtIO端口Windows 安装程序也可用于ExtIO DLL,进行USRP 集成。本文档可以从这里下载: http://spench.net/drupal/files/ExtIO_USRP+FCD+BorIP_Setup.zip 再次重申,如果链接坏了或新版本有问题,你可以恢复到本应用笔记中用到的1.1版本。备份文件在这里: http://files.ettus.com/app_notes/hdsdr/ExtIO_USRP+FCD+BorIP_ 到达“选择安装内容”界面,你必须使LibUSB,vc++运行时,并且选择ExtIO USRP + FCD + BorIP。此软件不要求使用BorIP 。因此,你不需要选择“Autorun BorIP”。已经安装HDSDR 。 安装过程中的其他步骤也相当直接,如果您在此步骤中遇到问题,请参考这个网址: http://wiki.spench.net/wiki/USRP_Interfaces 运行程序安装完成之后,重新启动电脑。确保将USRP 设备插头插入电脑然后打开电源。启动HDSDR应用程序。一开始,HDSDR应该认识到存在USRP ExtIO DLL,打开这个窗口: 图2——ExtIO配置屏幕 该窗口用于配置USRP装置操作。 远程函数允许HDSDR通过BorIP 服务器在远程机器上访问USRP 设备。设备提示包括各种参数如地址、帧样本大小等。在大多数情况下,如果您只有一个USRP 设备连接到主机上,那么您可以将此区域空着。关于此设备的其他提示细节,请参考这个网站: http://wiki.spench.net/wiki/ExtIO_USRP 采样率设置复杂的基带采样率从USRP设备传输到主机。这个采样率必须是USRP 设备 ADC采样率的整数倍。 USRP1的ADC采样率是64 MS / s,USRP N200/N210的是100 MS/s。USRP E100/110的默认采样率是64 MS/s, 但都是可配置的。最大采样率受USRP设备和主机之间的端口带宽限制。也可能受主机的处理能力限制。换言之,即使USRP N200/N210 的千兆级以太网端口可以支持25 MS/s,主机也不可能进行足够快的DSP 操作。 如果抵消复选框被选中时,UHD将抵消LO设置相应,赔偿DDC在FPGA中的偏移量。这样就可以将载波泄漏转移使之远离感兴趣的信号。增益设置控制子板的模拟增益然后配到配到USRP设备上。所有剩余的设置对于这个应用程序的例子已经不重要。 准确的设置完ExtIO组件,USRP 设备就应该准备操作了。点击“开始”键开始接收流。瀑布图和FFT 展示也应该开始。如果采样率低于10 MS/s,就可以完成第二个瀑布图、FFT和 解调器。 图3——HDSDR 显示屏上导航的项目 关于导航的重要点这个软件的全套指令是超出了本文的范围。Ettus Research 建议您参考由HDSDR 开发商提供的指示。但也值得我们对一些有用的特性进行快速回顾: 1)点——和——单击调优——HDSDR 开发者已将频率导航变得很直观。 您可以点击沿着主瀑布图的频率轴的任意点或者FFT 点来优化接收机。左击可以将HDSDR解调器调解到一个特定的频率。右击将自动调整USRP接收链,包括LO和FPGA控制盘。这样,您在瀑布图上观察过后,就能够快速调整到一个感兴趣的信号上。 2)选择按键,为几个装置提供访问参数,从瀑布图的出现到通过DDE自动解调功能的装置再到I / Q操作。 3)解调控制 ——该控制通过鼠标或者主板提供解调功能。进入一个新的频率然后,点击控制键并开始编辑想要的频率。 4)记录控制——位于优化控制的下方,记录控制可以让您实现快速轻松记录。文件名字可自动生成。使用这些控制也可以播放到DSP链上。 5)瀑布图和FFT扩展——该控制就位于瀑布图的下方,并且FFT 可以让您对每个分区的单元、参考水平、分辨率带宽、速度和平均值进行调整。 关于记录此软件包提供的记录功能是最有吸引力的特性之一。在很多应用程序中,如GPS 研究、信号情报和干扰抑制等,对于用户来说,射频记录是很重要的一项功能。此软件包显示USRP设备很容易使用这些应用程序。HDSDR可以让您实时鉴别出潜在的感兴趣的信号、实时记录然后在其他灵活的环境中(如GNU 无线电)公布处理数据。 该软件也支持射频回放。当前,该回放没有路由到USRP 设备上进行传输。但是,在瀑布图上展示记录信号的能力以及FFT 展示都可以让你检测不同信号的鲜明特征和模式。当全速运行瀑布图和FFT时,参考系统能够记录2 0 M S / S的吞吐量。这优于其他软件或开发环境的性能。系统中几个组件可能会限制记录特性的功能。在很多情况下,硬件驱动会限制记录的最大采样率。记住每一个复杂的示例是一组两个16位的数字。以2 0 0 MS / s的速率进行记录,转移到80 MB/s 到磁盘上。 一些有趣的屏幕截图为了展示此系统的潜力,几个信号类型和带截屏显示如下。该软件展示了整个 FM广播波段和一部分高频带。也有802.11 n的信号和900 MHz的ISM波段的截屏,它显示了几个跳频扩频(FHSS)和直接扩频(DSS)收发器。 图4—— 915 MHz ISM带(N200, SBX)中FHSS 和DSSS 信号截屏 图5——802.11n回放(N200, SBX) 图6——捕获整个调频广播带-25 MS/s(N200, WBX) 图7——捕捉25兆赫的高频波段表现出强烈的短波广播,连续波、USB和其他信号(N200)LFRX、外部放大器) 关于参考系统 在不同的电脑上标注性能。处理性能影响最大速度和DSP操作的吞吐量。硬盘的速度将限制记录和回放速度。在有限的情况下,USB控制器或千兆以太网适配器也已经限制了吞吐量。表1显示了应用于此应用笔记的参考系统的主要参量。 表1——参考系统特点 突起在光谱中显示的很多突起是USRP无线电外部的人造资源。还有USRP自身产生的突起。处理这些突起是低成本宽带软件音频的挑战之一。通过LO抵消UHD ExtIO控制中提供的功能可以重置基带信号中的突起。过滤射频信号将减少这种突起。 USRP 硬件便携性USRP N200 用于此参考设计。但是也值得再次提起,低成本音频包括USRP B100, USRP1或者N210可以很容易替换N200。当然,用USB 2.0 主机端口选择一个USRP 设备会减少带宽性能。 由于软件包只支持Windows,USRP E100 和E110 不兼容。但是,Ettus Research调查使用很容易分享这个USRP E100/E110 嵌入式的UHD 功能穿越网络连接。 Linux 功能虽然这个软件包不会在Linux环境中运行,仍有几个相似功能的其他途径。您可以在Linux系统中使用一个GNU 无线电运行类似程序。据说,也有可能会在虚拟机上运行此应用, 尽管性能一般在这样的应用中会造成伤害。Ettus Research 并没有测试虚拟机。 保证书本应用笔记的目的是向您介绍UHD提供的灵活性。HDSDR是一个非常有用的例子,可以实现USRP软件定义无线电。但是,Ettus Research并没有用HDSDR或者USRP ExtIO 开发商并没有承认HDSDR 或者 USRP ExtIO 开发者之间的联系。Ettus Research并没有对这些产品作担保。Ettus Research 不会产生那些程序会产生的伤害。Ettus Research产品的USRP硬件保修信息可以在这个网上呈现: 结语本应用笔记简要概述了如何安装和运行一个叫HDSDR的应用程序。这个应用程序提供了宽波段光谱分析,解调,记录/回放功能。 通过UHD驱动,这个软件可以访问并且安装用于宽带信号收集的USRP。如果您对USRP具体的项目有疑问请发送至: |