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程序,如下附件所示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/189115.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nodejs+vue杰和牧场管理系统的设计与实现-微信小程序-安卓-python-PHP-计算机毕业设计

系统涉及的对象是奶牛。 系统使用员工有管理员和普通员工。 管理员有修改的权限,普通员工没有。系统包含新闻功能,最好是有个后台管理,在后台输入新闻标题和内容,插入图片,在网页上就可以展示。最好再有个轮播图。 新闻…

如何创建react项目

可以直接通过react脚手架进行创建 首先确保自己是否安装了create-react-app npm install -g create-react-app 如果安装不成功有可能是有缓存,可以先清除缓存再重新安装 npm cache clean --force 安装成功后就可以使用脚手架创建自己的项目,my-react就是我的项…

echarts 实现分割型柱状图示例

该示例有如下几个特点: ①实现数据过多时滚动展示(echarts 数据过多时展示滚动条-CSDN博客) ②实现tooltip自定义样式(echarts 实现tooltip提示框样式自定义-CSDN博客) ③鼠标放置时柱状图颜色更改 代码如下&#xff…

利用邮件营销提升电商营业额的策略与方法

随着电子商务的迅速发展,各种推广和营销手段层出不穷,但在这个信息泛滥的时代,如何有效地吸引用户关注并提升电商的营业额成为了每一个电商人关注的焦点。而邮件营销正是一个被广泛应用且具有潜力的推广方式。通过合理规划和执行邮件营销策略…

03.webpack中hash,chunkhash和contenthash 的区别

hash、contenthash 和 chunkhash 是通过散列函数处理之后,生成的一串字符,可用于区分文件。 作用:善用文件的哈希值,解决浏览器缓存导致的资源未及时更新的问题 1.文件名不带哈希值 const path require(path) const HtmlWebpac…

各品牌PLC元件在modbus内区域

1台达: 输出在0区, 040961是在 0区 0xA000~0xA0FF 【Y0~Y377】 输入在1区,124577是在 1区 0x6000~0x60FF 【X0~X377】 M寄存器0区,0000001是 0区,0x000~0x1FFF 【M0~M8191】 D寄存器4区,400000…

【力扣】从零开始的动态规划

【力扣】从零开始的动态规划 文章目录 【力扣】从零开始的动态规划开头139. 单词拆分解题思路 45. 跳跃游戏 II解题思路 5. 最长回文子串解题思路 1143. 最长公共子序列解题思路 931. 下降路径最小和解题思路 开头 本力扣题解用5题来引出动态规划的解题步骤,用于本…

LangChain 实现给动物取名字

mkdir langchain-llm-appcd langchain-llm-app # 用vscode 打开当前目录 code .在macOS上通过终端打开Visual Studio Code(VS Code),您可以按照以下步骤操作: 安装VS Code:首先,确保您已经在Mac上安装了Vis…

C语言二进制数(ZZULIOJ1068:二进制数)

题目描述 将一个二进制数,转换为对应的十进制数。 输入:输入一个只含有’0’和’1’的字符串,以回车结束,表示一个二进制数。该二进制数无符号位,长度不超过31。 输出:输出一个整数,为该二进制数…

Flutter笔记:桌面应用 窗口定制库 bitsdojo_window

Flutter笔记 桌面应用窗口管理库 bitsdojo_window 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/details/13446…

【配置环境】VS Code怎么使用JavaScript的Mocha测试框架和Chai断言库

一,环境 Windows 11 家庭中文版,64 位操作系统, 基于 x64 的处理器VS Code 版本: 1.83.1 (user setup)Node.js 版本:20.9.0 二,安装背景 在运行测试用例时遇到 ReferenceError: describe is not defined 错误,网上搜寻…

Notepad++ 通过HexEditor插件查看.hprof文件、heap dump文件的堆转储数据

文章目录 需求场景插件安装查看notepad的版本,看看是32位的还是64位的下载对应的版本解压导入插件打开notepad插件文件夹:Notepad安装目录新建一个HexEditor文件夹选中插件文件导入 重启notepad使用 需求场景 想要查看app内存的某个域的数据。 利用Andr…