维迪雅Viswanathan, MathWorks
无线工程师可以使用软件定义无线电硬件成本效益,为一系列无线实时平台工程任务,包括无线实验室和现场测试与射频信号和快速原型的自定义电台直播功能。使用MATLAB®和仿真软金宝app件®,用户可以从设计和模拟通信算法实现目标Xilinx生成生产®Zynq®-7000可编程SoC和模拟设备AD9361敏捷收发机射频。
在我们的演讲中,我们将演示如何:
维迪雅Viswanathan MathWorks印度是一个应用程序工程师专门从事数字信号处理应用程序的设计和实现。她跨域与客户密切合作,帮助他们采用MATLAB®和仿真软金宝app件®。她感兴趣的领域包括FPGA和ASIC设计,无线通信和图像处理。维迪雅拥有电子和通信工程学士学位从m . s . Ramaiah理工学院,硕士学位从海德拉巴印度科技学院的通信和信号处理。
记录:2020年9月24日
欢迎来到MathWorks使用MATLAB和Simulink软件定义的无线电发展研讨会。金宝app我的名字叫维迪雅Viswanathan,我MathWorks印度专门从事无线应用程序工程师设计和FPGA实现。如果你有任何问题关于内容的介绍,我请求你张贴在问答窗口,你看到在你的网讯窗口。我们将最后几分钟来解决这些问题,或者我们跟进你的查询。
如果你与物流面临任何问题,你可以联系我们在聊天窗口中。在研讨会期间,将会有一些调查问题,将在你的屏幕上弹出。我请求你继续寻找调查问题向WebEx窗口的右侧。这个,让我们开始会话。
软件定义的无线电系统是什么?如果我不得不把它简单地说,软件定义无线电就是物理层的功能是定义软件或软件编程。特别提款权的可编程性使升级设计在任何时候,添加新功能,以及算法的重用。
这是我们如何看待一个特别提款权系统。有一个直接射频模拟前端做搅拌机和转换与本地振荡器。有数据转换器的数据和数字领域。和你有数字前端的特别提款权,负责高速率数字信号处理算法像数字上变频下变频,智商平衡,直流偏置修正。然后你有智商的基带处理数据修改。
我们认为,这样一个系统可以建立起来的商业,现成的硬件。这是一个这样的系统的一个例子。你有FMC-based可调射频卡连接到FPGA评估板,这是依次连接到桌面计算机运行环境如MATLAB或仿真软件,使用像千兆以太网接口,你可以使用它来调整中心频率和RF射频参数倾斜。金宝app
为什么看很重要的实现工作流软件定义无线电因为收音机已经存在了几个数量的年了吗?除了传统的应用程序使用收音机的地方,有一个快速增长的新的无线通信应用领域。一切连接,甚至非传统应用程序,如公共安全,监测、医疗监控、农业监控、智能电表,已经开始使用先进的无线技术。此外,新的无线标准的出现,像5克,LTE和V2X启用这个。然而,这需要从系统更高的适应性和需要快速设计、模拟和原型收音机。在这方面,软件定义无线电可以被认为是一个完美的适合这些应用程序,是的。
一样吸引人的想法特别提款权的声音,还有几个挑战参与开发这样的系统。特别提款权的性质,有很多不同的技能要求创建一个健壮的系统,从基带dsp、射频和天线分析,硬件和软件架构设计,FPGA或硬件设计、和嵌入式软件开发,等等。每个域本身,所需的技能和设计环境,用于每个都是非常不同的。所以这是一个几乎难以成为一个专家在所有这些领域中。因此,需要有一个共同的设计环境,可以解决多个域,也允许每个领域的专家合作容易。这次会议背后的想法,看看MATLAB和Simulink可以作为共同发展的平台。金宝app
与工作流程在我们开始之前,这里有一个例子,一个组织就像Orolia MathWorks使用基于模型的设计流程,制定紧急定位浮标的接收器。虽然他们有很多的经验和专业知识对通信系统设计或域,他们用FPGA设计经验有限。所以他们理解这实际上会花费大量的设计时间,这也会影响他们能够想出的时间第一个原型。所以仿真软件和HDL编码人员的帮助下,他金宝app们能够减少50%的FPGA实现时间,给他们更多的时间快速算法创新和技术进步,同时仍然能够轻松满足紧迫的期限。
让我们更详细地看相关的工作流。所以你可以广泛地定义软件定义的无线电发展阶段分为四个方面。系统建模,涉及到整个系统的仿真识别潜在的设计问题。一旦算法被开发出来,它们可以通过集成测试与实际信号MATLAB和Simulink做前端的硬件。金宝app一旦你用它来获得信心对开发的算法,设计过程的下一部分将涉及硬件和软件开发的原型和快速验证验证基础设施或MATLAB中的框架。和流程的最后一部分将涉及的独立发展硬件和外围设备的集成。
让我们更详细地看第一步,是整个信号链的建模与仿真,基带,射频前端,以及测试框架。MATLAB和Simu金宝applink提供了一个无线设计师的能力模型多域系统在一个单一的环境,因此允许用户分析不同组件之间的相互关系和一个如何影响其他系统的性能。你有大量的波形生成功能以及算法在MATLAB和Simulink开发能力库函数的形式以及blocksets。金宝app
你可以设计和架构师射频前端系统,包括非线性的影响。你也可以设计您的数据转换器,模拟到数字转换器或dac,最后仿真集成天线的影响以及传播渠道。MATLAB提供了一组丰富的库函数和图形用户界面生成符合标准波形不同的无线标准,5 g LTE,无线局域网,无线个域网,NFC,以及蓝牙低能量。您还可以重用该框架设计自定义波形和为他们提供参数化。
处理能力在MATLAB和Simulink也让你做完整的物理层发展从波形生成,包括通金宝app道的影响和实际接收机的射频损伤和设计。有几组例子的端到端链路级仿真的标准以及non-standard-based无线系统,您可以使用作为您的算法开发的起点。这些都是可用MATLAB代码和仿真软件模型的形式,您可以很容易地配置和修改根据你的系统。金宝app
系统的保真度或端到端模拟链路级仿真,您已经创建了集成,可以进一步提高物理层设计射频前端的行为方面。射频前端的引入模型允许用户开发更实用更健壮的接收器。通过射频blockset射频前端模拟,你可以使用这个框架执行闭环仿真的基带与射频前端集成MATLAB和Simulink和运行完整的芯片。金宝app
还有一组可用的模块和仿真软件模型用于商业,现成的射频前端收发器,模拟设备AD9361和AD9371收发器。金宝app这些行为模型测试实际的硬件设置在实验室的环境下,我们已经能够仿真模型和硬件之间的关联结果模型。因此,如果你工作在SDR平台涉及这些射频收发器,这些模型可以直接插入到你的基带算法。
也有一些参考的例子,向您展示如何连接你的基带处理收发器模型。现在让我们来看一个例子。我这里有个QPSK-based发射机基带算法模型中定义的,这是连接到我的AD9361发射机模型。金宝app还有一个通道表示这也是依次连接到AD9361接收器,和解调的算法。和你看到的星座以及出错率估计。
所以仔细看看AD9361接收机架构实际上给你洞察这个特殊的模型有完整的收发器模型的体系结构,包括射频前端、模拟和数字滤波器的系列,和模拟到数字转换器,AGC AD9361收发机中。如果你有兴趣,你可以下载这些模型射频收发器的链接,你在屏幕上看到。如果你致力于定制射频前端设计,有多个例子展示如何模拟的实用无线电射频发射机和接收机模型,再一次,这些例子之间LTE, WLAN, 5克,以及非标准协议为基础的收音机。
让我们进入下一个特别提款权设计的一部分,与流RF算法的验证数据。所以在这里,我们看到的是基带处理和测试基础设施仍在MATLAB和Simulink环境中。金宝app然而,实际上我喂养的数据来测试我的基带处理来自一个真实的生活场景。
所以你可以连接MATLAB几个射频仪器和SDR平台直接为DL无线电与实际信号的测试。你可以得到一个近乎实时的流媒体的射频数据到MATLAB,和我说近乎实时的原因是你将是有限的接口传输速率和主机的性能。但是你可以带来一个连续的数据,然后使用,为进一步设计或下游分析算法。这可以帮助您验证您的设计甚至在你开始考虑硬件和软件方面的设计。这是通过系统对象和块,帮助您轻松地连接到不同的SDR平台以及调节电台参数。
让我们看看一个例子如何调频广播信号可以被一个特别提款权平台,引入MATLAB。所以第一步需要配置或连接到无线硬件。所以你有一个函数连接到硬件。然后可以开始配置某些参数,如中心频率、基带采样率,以及数据类型的样品,你收到,然后使用捕获函数实际记录数据到一个文件或一个变量在MATLAB工作空间。
所以在这种情况下,我在做什么是我创建了一个文件,我抓住了调频信号。一旦我有文件,我可以使用基带,导入MATLAB文件阅读器。然后一旦引入MATLAB环境中,您可以使用这个做任何形式的分析,或者你也可以将它传递给你的接收器。
这里,我创建了一个频谱分析仪,我要看收到的频率捕获调频银行。所以你可以看到在这个视图中,有一个光谱的观点以及光谱图,你观察这个信号。同样的事情可以被复制的LTE信号可以从真实场景中捕捉到MATLAB环境和执行单元的搜索。
所以,类似于我们看到以前,我首先连接到收音机对象。然后我使用捕获函数接收波形,我收集了几秒钟。然后我实际使用LTE工具箱的功能细胞做搜索,找出什么是细胞信号的ID。所以你可以看到,检测细胞ID或记录细胞ID匹配我期待或我看得到。这帮助你验证如果你开发的算法足够健壮,是否需要进一步的修改能够适应真正的障碍所引入的细胞。
所以让我们看到的不同的SDR平台实际上是支持这台收音机流以及在MATLAB环境中射频信号的捕获。金宝app你可以看到这里的SDR平台的列表。如果你也有兴趣了解更多关于这些配置的细节,我会请求你点击的链接,其中包含支持包的链接。金宝app
好,现在,我们已经看了两个不同的方面对特别提款权的设计。一个是计算系统建模和第二个算法和验证与现实生活的信号。让我们进入下一个特别提款权发展方面,基本上涉及到分区算法在硬件和软件组件,然后开始原型实现平台,它可以是一个FPGA,或者它可能是一个芯片系统平台。
这包括RDL代码为针对fpga的设计,以及针对处理器的C代码能够沟通两者之间以及射频前端,做一个完整的实现或原型在任何这些标准发展的港口。所以如果你真的看无线参考算法,发展到目前为止,我们的框架用于这些参考算法的发展完全不同于硬件实现工程师会看什么。所以我的意思是,如果你认为我们以前建立的无线参考算法,主要是工作在一个向量的数据或数据的帧。我们假设我们有一个和我们计算的数据可用。和大多数的操作,我们执行浮点精度。
而如果你看看硬件实现方面,重要的是要了解你要处理流比特的数据样本保持进来,还与定点架构如何工作。所以这两个方面之间存在脱节,我们将看到的是找到一个方法来抚平这从无线参考算法的硬件实现。这将涉及一个中间步骤,这就是我们要看的更多细节。
如果你看工作流涉及关于无线算法设计,你可以,第一步将涉及整个方面分类为三个不同的部分。第一个将刺激。第二个是参考算法。和第三部分将任何你想要的验证或分析与结果。所以我可以编写一个测试脚本,或者我可以使用现有的例子在MATLAB框架中创建不同的波形,我给我的参考算法。然后我又可以使用MATLAB环境可视化,或者我可以用它来获得误差矩阵。
现在,进入画面的重要方面使它更代表实际的硬件上实现该参考算法转化为纸浆包或一个基于流的过程。这是我们利用的结合MATLAB仿真软件环境。金宝appMATLAB,更基于脚本,非常适合处理庞大的数据矩阵。和仿真软金宝app件,因为它的工作原理的基础上,软件,建在它的概念,它可以用来更好的代表纸浆包过程。
所以我们要看翻译的参考算法处理纸浆包,开始引进自然流,并相应地修改算法。另一个重要方面,当你处理流数据,是能够找出什么时候你已经开始了选票样本,你什么时候结束数据,所有这些中间,有多少已经有效样本。所以我们可以创建这些控制信号,这也将有助于你对MATLAB黄金参考比较。
所以一旦我架构模型以这样一种方式,它实际上认为一些硬件方面的图片,涉及的下一步是定点量化。MATLAB和Simu金宝applink允许您修改从浮点数据类型的信号,这是默认的数据类型,到定点表示,这是适合你看的硬件架构。重要的是要选择正确的设定点数据类型,因为这不仅控制你的算法的准确性,但它也控制的资源,它会占用你的FPGA平台。定点设计师的帮助下,你可以将MATLAB和Simulink浮点算法转化为一个等价的定点表示。金宝app在每一个阶段,你可以比较它和黄金参考,你开始看到量化引入的数量和是否在错误宽容,你正在寻找。
所以对无线设计,我们试图缓解这个过渡的过程参考算法到hardware-friendly版本的介绍无线HDL工具箱,基本上由硬件ip streaming-based无线设计,工作在这样一种方式,他们非常友好FPGA架构。我们也有一组参考应用程序,您可以使用作为一个起点不同标准,5 g LTE, WLAN,或任何自定义配置。你可以创建参考仿真软件模型使用无线HDL工具箱中的块。金宝app的优势,一旦您创建了这个系统和比较它与你最初的引用,您可以使用代码生成技术来生成synthesizable开放RTL代码在这个环境。
就像我们看了精化如何对FPGA方面,模型还可以用来代表软件方面。金宝app所以如果你真的看模型,我只是简化成两个方面,是什么算法是针对FPGA。和算法两个处理器将是什么。
所以从这个模型中,高密度脂蛋白编码器和嵌入式编码人员的帮助下,我可以生成相应的编程语言,高密度脂蛋白Verilog HDL的编码器和CC + +代码的嵌入式编码。如果你看这表示,这是一种形式,我们有翻译的算法在高级别代表像仿真软件为硬件实现的代码是一个一步。金宝app但如果你看看最终的硬件平台,你要运行这个,实际上是另一个重要方面,进入图片,除了FPGA和处理器方面,这是这两个和外围设备之间的互联。
所以这些互联所起的作用是非常重要的算法设计。所以尽管有直接从该算法模型的算法代码,这段代码可能会或可能不会直接当直接插入硬件环境,因为这些互联的影响。的想法是弥合这一差距从该算法模型过渡到一个更紧密的表示我的硬件平台会是什么样子,这主要是我们要看在接下来的方面。
除了你的FPGA算法和处理器的算法,仿真软件还可以模拟FPGA和处理器之间的互联。金宝app如果它是与外部内存交互环境,介绍了在这种情况下的延迟是什么?如果您正在使用AXI-based寄存器,同样,不同的配置对是什么?什么是FPGA的I / o处理器相互作用吗?实际上可以模拟所有这些方面首先,连同你的算法。这给你一个更现实的看法你会期望从你的硬件,这是SoC blockset启用。
参与这个过程的不同阶段将模拟的硬件架构,以及算法,然后将其部署在FPGA原型或SoC平台。第三步,也可以是完成概要文件的结果硬件和把它回MATLAB模拟环境来理解操作系统的影响还是有真正的输入流的细节,输出样本和核心算法是多少实际利用的资源。如果你已经能够模拟整个系统,然后如果你在代码生成的过程中,你可以更放心,你可以期待的硬件,你已经发现了一些潜在的问题和纠正的算法。
下一个方面就是想出一个独立实施审查,你不仅考虑算法方面,也是互联。这是通过参考设计。所以让我们来看一个例子的这样一个系统和开发,通过查看一个简单的模型。
我考虑的例子,这是一个5 g细胞搜索参考应用。所以你可以看到,一个重要方面是创建5 g的参考波形,可以很容易的帮助下做5 g的工具箱。然后你必须定义或架构师手机搜索算法也就是在自己的硬件上运行,并可能有某些部分运行在您的软件。
所以在这种情况下,我有一个搜索控制算法运行在我的软件,也帮助我选择最强的党卫军块和正确的频率偏移和帮助确定细胞ID。因此,软件组件实际上提供了FPGA作为输入,副载波的频率偏移以及间距。的解调和解码发现SSS, PSS,以及细胞ID,实际上是在硬件方面实现,FPGA的代码。
就像我前面提到的,您可以使用无线HDL工具箱中的参考示例,它包含一个仿真软件模型,实际上是完整的细胞搜索。金宝app该仿真软件金宝app模型的测试数据从MATLAB环境刺激。所以你可以创建一系列的测试波形使用5 g的工具箱,喂到仿真软件模型,做一个比较的结果从MATLAB黄金参考以及仿真软件模型。金宝app这一步是很重要的原因是你可以看到现在的延迟的影响以及量化定点架构将使画面。有一整套的中间信号,你可以利用,可以做编辑分析或之间的比较。
所以一旦你已经测试了这个特殊的算法与模拟的一组数据,下一步,涉及包括体系结构的仿真方面,如果可能,将捕获的射频信号转播画面。所以我们看到的是一个模型的NR细胞搜索算法,在相同的FPGA逻辑由接收机算法。我也有处理器模块、存储器接口模拟器以及射频数据转换器。这是代表Xilinx RFSoC架构。
实际上如果你仔细看看FPGA子系统的一部分,你可以看到细胞的仿真软件模型搜索接收器,你可以观察到,这是一个模型完全使用定点表示。金宝app这基本上给你检测的细胞ID。所以这个处理器模型的一部分,它包含一个任务管理器,以及将数据发送到主机的能力。现在,我可以模拟整个系统,它基本上是由射频数据和捕获算法,看什么时候发现PSS或瑞士解调。这还包括,除了算法方面,介绍了一些延迟,因为内存接口也被使用。
现在,我的模拟整个系统和获得信心的全面发展我可以期望从我的硬件环境。所以下一个方面参与这个过程将在硬件实现这个。你可以针对不同的FPGA和SoC平台的帮助下我们提供的参考设计硬件支持包。金宝app
你可以看到屏幕上的两个链接。这由一组不同的硬件参考设计,基本上这不仅帮助你然后选择算法代码生成的代码还集成了其他的产品设计,和你产生特定的硬件的位流,你看。下载188bet金宝搏在这个例子中,我已经编程的RFSoC直接连接到这个前端仿真软件模型和运行的硬件以及软件方面RFSoC硬件。金宝app
实际上我也可以使用这个情节某些信号和真正理解PSS的硬件状态搜索和解调。这是硬件,我调查的数据。你也可以看到处理器发送的解码单元ID以及PSS和瑞士信噪比的值,我回可视化在MATLAB环境中通过使用UDP接收块。这可以帮助您完成原型设计和开发框架对SDR平台。RFSoC我作为一个例子,但就像我前面提到的,有一整套的硬件支持工作流。金宝app
之前我们到不同的平台支持,我也想把你注意到另一个客户的成功故事。金宝app射频像素这个工作流用于定位的LTE参考算法Zynq RFSoC硬件。HDL编码人员的帮助下,他们可以减少时间的第一个原型,他们能做的设计更容易和快速的迭代,从而减少迭代次数从周的天。还有一个链接到这个特定的文章。如果你有兴趣知道更多细节关于他们如何使用这个工作流,你可以看看。
这是不同的SDR平台的快照,我们对目标的支持。金宝app当我说这些都是针对支持的平台上,我的意思是,除了算金宝app法代码,为这些特定的硬件平台,我们有可用的参考设计。然而,您还可以使用生成的代码。如果你能创建或集成一个自定义的参考设计,你也可以重用该框架针对定制SDR平台。
开始对特别提款权发展,我们又有许多参考应用程序放在一起。根据系统的规模,这些可以实现在不同的硬件环境。所以你会看到一系列5 g LTE或者QPSK-based系统正在建模和测试RFSoC或Zynq-based特别提款权系统。
如果我有总结,我们看到在这个特定的会话MATLAB和Simulink多少可以作为这个统一的平台无线发展涉及的设计算法,将基带,射频前端,天线,通道的影响。金宝app然后您可以验证该算法通过连接真正的仪器或射频测试仪器和SDR平台,通过集成的工作流,我们和支持我们必须连接到这些硬件。金宝app一旦你验证算法,然后您可以使用代码生成技术实际目标的算法在FPGA上,或者一个处理器,一个soc的环境。
所以如果你有兴趣知道更多关于基于模型的设计流程,我覆盖软件定义无线电的发展,你可以访问SDR MathWorks网站中的页面。这一系列的白皮书,视频,以及参考示例,您可以使用它们来开始这个工作流,它会覆盖所有方面,你只是看着这个网络研讨会。如果您正在使用RFSoC开发板,我们有一个专门的页面实际上讨论的方式我们支持RFSoC平台。金宝app所以,提供的链接,我们可以看到什么是可用的参考例子在这也我们提供什么样的支持对于RFSoC定位。金宝app
如果你想获得更多的实践经验与这个特定的工作流程,我们有一个培训,我们提供的范围。这些实习培训范围从无线通信算法设计,也可以是HDL代码生成的一部分,或者它可能是在软件开发或Linux操作系统的定制这个完整的软件定义的无线电Zynq平台上,我们只是看着。如果你感兴趣定制这些培训课程根据自己的需要,使之更适合你的要求,我将鼓励你在MathWorks联系培训服务团队,和提供的链接,向他们伸出我们的手。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。