LabVIEW编程开发NI-USRP

简介: LabVIEW编程开发NI-USRP

LabVIEW编程开发NI-USRP


可编程性是SDR的关键特性,它使人们能够将无线电外围设备转换为先进的无线系统。USRP是市场上最开放、最通用的SDR,可帮助工程师在主机和FPGA上使用各种软件开发工具构建系统。


有多种选项可用于对基于SDR的系统的主机进行编程。


使用NI-USRP驱动程序在LabVIEW上编程


LabVIEW是一个图形化数据流编程环境,非常适合设计和实现通信算法。在最基本的层面上,LabVIEW使用NI-USRP驱动程序来指定USRP硬件配置,并发送和接收正确格式化的基带I/Q数据,以便进行主机端信号处理。


如果LabVIEW是您首选的开发环境,应该注意的是,尽管它确实支持一些基于Linux的操作系统,但它主要是基于Microsoft Windows的工具。此外,某些EttusResearch品牌的USRP型号和配置可能不受支持。


使用LabVIEW和NI-USRP驱动程序API在EttusResearch USRP上进行编程




使用开源工作流程进行编程:USRP硬件驱动程序(UHD)和GNU Radio


许多SDR用户更喜欢使用基于C/C++和Python构建的基于文本的开源工具流对USRP硬件进行编程。所有NI和EttusResearch USRP模型都支持USRP硬件驱动程序(UHD),可轻松集成到GNU Radio等开源社区开发的工具。


GNU Radio是一个专为SDR开发人员构建的开源工具。虽然USRP不是GNU Radio支持的唯一无线电,但它是最受欢迎和测试最多的。


使用MATLAB编程


如果MATLAB是您首选的编程工具,则Math Works Communications Toolbox™支持多个USRP模型。支持的型号包括B200、B200mini、X300、N200和N300系列。此外,工程师可以使用MATLAB脚本节点将MATLAB代码直接嵌入到LabVIEW中。


FPGA编程注意事项


许多USRP都配备了具有足够可用容量的大型FPGA,允许用户嵌入特定于其应用的在线信号处理。如硬件部分所述,一些USRP配备了XilinxZynqSOC器件,而另一些则配备了传统的架构FPGA,如Kintex7。可通过两种方式访问USRP上的FPGA:LabVIEW FPGA和RF片上网络(RFNoC)框架。


与许多FPGA开发板或COTSFPGA板不同,USRP建立在通用FPGA框架上,并提供更高级别的抽象。这消除了从基本FPGA板级支持包构建基于FPGA的系统时遇到的一些复杂性。


LabVIEWFPGA


LabVIEWFPGA是LabVIEW的附加扩展,可在NIUSRPRIO设备上对FPGA进行图形化编程。虽然必须熟悉定点数学和时钟逻辑等FPGA概念,但LabVIEW可抽象化硬件和数据接口,并简化寄存器配置和数据移动。LabVIEW FPGA的一个优势是能够使用统一的开发工具链对主机和FPGA进行编程。


是否有想要利用的传统IP?LabVIEW FPGA可以通过组件级IP(CLIP)节点导入外部VHDL或Verilog,从而允许导入非LabVIEWI P。此外,LabVIEW还允许专业用户直接在Vivado工具中导出XilinxVivado项目。


如果LabVIEWFPGA是首选的主机编程工具,请注意,它仅限于基于Windows的操作系统。LabVIEW或LabVIEW FPGA不支持许多Ettus Research设备,例如USRPN300和USRPE300系列。


简单的LabVIEWFPGA功能框图



射频片上网络(RFNoC)框架


对于开源USRP用户,对FPGA进行编程的首选方法是通过RFNoC框架。RFNoC与LabVIEWFPGA一样,是一个数据接口和命令抽象框架,可简化向USRP添加IP的过程,而不必从头开始重新构建整个FPGA板卡支持包。顾名思义,数据以压缩头网络包的形式从无线电流经FPGA。RFNoC框架的核心是一个交叉接口,允许用户简单地将新IP插入交叉连接,并将数据路由到其他IP块或与主机之间的数据。这种网络横杆设计消除了在主机之间传递数据和命令的复杂性。


这是LabVIEW的一个功能介绍,更多的使用方法与开发案例,欢迎登录官网,了解更多信息。有需要LabVIEW项目合作开发,请与我们联系。详细介绍参见附件。


厂家没有提供LabVIEW的例子。根据通讯协议的相关的说明,编写了适合项目的程序。程序截图如下所示。


相关资料说明,如下所示。


LabVIEW程序,如下附件所示。


相关文章
|
6月前
|
数据格式
LabVIEW编程LabVIEW开发控制安东电子LU-926U04Y四路调节模例程与相关资料
LabVIEW编程LabVIEW开发控制安东电子LU-926U04Y四路调节模例程与相关资料
37 1
|
6月前
|
开发工具 芯片
LabVIEW编程LabVIEW控制研华PCI-1739U例程与相关资料
LabVIEW编程LabVIEW控制研华PCI-1739U例程与相关资料
42 1
LabVIEW编程LabVIEW控制研华PCI-1739U例程与相关资料
|
6月前
|
安全
LabVIEW编程LabVIEW开发NI PCI-6513数字滤波 例程与相关资料
LabVIEW编程LabVIEW开发NI PCI-6513数字滤波 例程与相关资料
46 7
|
6月前
|
数据采集 传感器 人工智能
LabVIEW编程LabVIEW开发NI PCI-6255消除鬼影 例程与相关资料
LabVIEW编程LabVIEW开发NI PCI-6255消除鬼影 例程与相关资料
50 7
|
6月前
|
传感器 异构计算
LabVIEW编程LabVIEW开发NI 7851R同步到背板时钟 例程与相关资料
LabVIEW编程LabVIEW开发NI 7851R同步到背板时钟 例程与相关资料
42 10
|
6月前
|
传感器
LabVIEW编程LabVIEW开发1920 LCR仪表例程与相关资料
LabVIEW编程LabVIEW开发1920 LCR仪表例程与相关资料
40 8
|
6月前
LabVIEW编程LabVIEW开发研华PCI-1710 数据采集卡例程与相关资料
LabVIEW编程LabVIEW开发研华PCI-1710 数据采集卡例程与相关资料
92 2
|
6月前
|
人工智能
LabVIEW编程LabVIEW开发研华PCI 1756例程与相关资料
LabVIEW编程LabVIEW开发研华PCI 1756例程与相关资料
76 1
|
6月前
|
数据采集 传感器 人工智能
LabVIEW编程LabVIEW开发 控制NI USB-6225例程与相关资料
LabVIEW编程LabVIEW开发 控制NI USB-6225例程与相关资料
60 1
|
6月前
|
算法 安全 Linux
LabVIEW编程LabVIEW控制NI cRIO-9066例程与相关资料
LabVIEW编程LabVIEW控制NI cRIO-9066例程与相关资料
40 1