LabVIEW Comms与MATLAB®的互联接口

为了复用现有的MATLAB®代码,LabVIEW Communications System Design Suite (LabVIEW Comms) 新增了MATLAB专用接口的功能。无线原型的开发者可使用已有的MATLAB函数或脚本,将其连接至LabVIEW Comms在Windows处理器上运行的代码部分。MATLAB专用接口完全支持MATLAB工具箱,因为MATLAB专用接口会用到与LabVIEW Comms装在同一台计算机上的MATLAB软件。开发者能够迅速将MATLAB代码通过NI Software Defined Radios连接至无线信号,像实验中过滤系数和配置一样交换信息,快速实现基于FPGA的实时原型。

MATLAB专用接口

MATLAB专用接口与LabVIEW Comms中调用其他非LabVIEW代码的接口类似,例如,调用共享库的共享库接口、用于VHDL和Verilog的外部IP。可从LabVIEW项目中创建一个新的MATLAB专用接口,接口可以指向磁盘上已有的MATLAB文件,选择是MATLAB函数还是MATLAB脚本,然后配置其对于LabVIEW Comms的输入和输出。这些数据类型可以在LabVIEW Comms和MATLAB之间直接传输:数值、标量的多维数组、簇/结构体、簇数组

在该例中,用MATLAB写的5 MHz LTE OFDM调制器可与连接NI USRP的LabVIEW Comms建立接口。(图1 & 2)

图1.用MATLAB写的5 MHz LTE OFDM调制器与连接NI USRP的LabVIEW Comms建立接口。

图1.用MATLAB写的5 MHz LTE OFDM调制器与连接NI USRP的LabVIEW Comms建立接口。

图2.MATLAB的接口文档,指向函数ofdm_tx.m,配置输入和输出y。

图2.MATLAB的接口文档,指向函数ofdm_tx.m,配置输入和输出y。

配置MATLAB专用接口之后,即可将接口放置在VI的程序框图上。程序框图上为原型的源代码。接口可连接至其他算法和硬件I/O,最后在Windows处理器上运行。在图3中,一组数据包连接至OFDM调制器的输入,输出被连接至NI USRP API,进行无线传输。如LabVIEW Comms与MATLAB交互时发生任何错误,用户可以看到传递至VI的MATLAB错误。

图3.指向ofdm_tx.m函数的MATLAB节点放置在程序框图上,与NI USRP API连接进行无线传输。

图3.指向ofdm_tx.m函数的MATLAB节点放置在程序框图上,与NI USRP API连接进行无线传输。

共同开发和调试

使用MATLAB专用接口,用户可以在与LabVIEW Comms交互的同时调试或修改MATLAB代码,保证了整个原型的快速集成和故障排除。LabVIEW Comms会调用计算机上的MATLAB并打开一个MATLAB会话,MATLAB Command Line进程将在后台打开。用户可以使用open命令,打开完整的MATLAB Editor并进行断点调试。包含MATLAB专用接口的VI开始运行后,代码将会执行到MATLAB中的断点,允许用户进行调试。包括暂停MATLAB代码,单步执行代码,(图4)。

图4:VI在LabVIEW Comms中运行至断点(MATLAB代码第18行)处停止。

图4:VI在LabVIEW Comms中运行至断点(MATLAB代码第18行)处停止。

文章来源:NI官网

推荐阅读