开始使用MATLAB和Simulink的软件定义无线电万博1manbetx
Robin Getz, Analog Devices公司
卢克·朗格卢瓦,安富利电子营销
加入MathWorks、Analog Devices和Avnet的工程师,他们将展示软件定义无线电的单一硬件/软件开发和部署环境。使用MATLAB®和仿真软万博1manbetx件®,用户可以从设计和模拟通信算法到生成针对Xilinx的生产实现®Zynq®-7000所有可编程SoC和模拟器件AD9361 RF敏捷收发器™。
在我们的演示中,我们将演示如何:
- 建模和模拟无线电设计
- 在流式射频数据的仿真中验证算法
- 使用HDL和c代码生成在基于zynq的硬件上部署无线电设计
•请访问https://www.analog.com/en/search.html?q=adrv9361,或联系您当地的Analog Devices代表以获取最新的SOM订购信息。
记录时间:2015年10月20日
大家好,欢迎来到“使用MATLAB和Simulink软件定义无线电设计入门”网络研讨会。万博1manbetx我是Noam Levine,在MathWorks负责FPGA和SSE解决方案的技术营销。万博 尤文图斯今天的演讲将由Analog Devices的Robin Getz和Avnet的Luc Langlois共同完成。在本次网络研讨会结束时,我们希望您能够理解SDR设计新工作流的要素,该工作流允许您在一个硬件/软件工具环境中从系统模拟到生产部署。
我们还希望您知道在哪里可以找到资源来帮助您完成无线电实现项目。在本次网络研讨会中,我们将讨论的主题包括射频信号链的建模和仿真、通信算法的建模和仿真、用真实数据测试和验证算法,以及最后将通信系统部署到硬件进行原型和生产。
该工作流程可以应用于许多基于zynq的SDR平台,包括Avnet的新PicoZed SDR系统模块,它允许您使用相同的硬件从开发到生产部署。从设计到原型部署,该工作流程也可以应用于其他开发平台,包括Zynq-7000全可编程SoC和Analog Devices AD9361 RF敏捷收发器。
现在我将由Avnet的Luc Langlois来描述新的PicoZed SDR平台。
软件定义无线电的所有设计者们好。我是Avnet全球技术市场部的Luc Langlois,在这里介绍我们最新的PicoZed SDR软件定义无线电,其特点是一个可生产的模块系统,尺寸小,功耗低。
该系统包括Analog Devices AD9361射频敏捷收发器,Xilinx Zynq-7000全可编程SoC,并可运行嵌入式Linux。我们与业界领导者Analog Devices、MathWorks和Xilinx密切合作,创建了一个可用于生产的模块系统,在一副纸牌大小的设备中集成了传输和接收功能,支持2 × 2 MIMO配置,频段从70兆赫到6兆赫。它可以用于开发,并最终插入到最终产品中。
应用包括便携式敏捷无线通信、公共安全无线电、点对点通信、飞蜂窝和皮蜂窝基站以及便携式仪器。
PicoZed SDR SOM具有Xilinx 7Z035 Zynq SoC设备,Analog Devices 9361射频收发器,1gb的DDR 3低功耗,256兆的Quad SPI非易失性内存,USB 2.0,以太网,microSD卡和204用户I/O。完整的开发套件增加了一个FMC载波卡,天线,电源和电缆。更多信息和订购,请访问picozed.org/sdr。
谢谢,卢克。既然已经确定了目标硬件,就可以开始设计过程了。这个简单的方框图显示了软件定义无线电系统的主要元素。正如我们在PicoZed SDR SOM的描述中所看到的,硬件包括一个射频收发器,在本例中来自Analog Devices的AD9361,以及一个基带处理引擎,Xilinx Zynq-7035 All Programmable SoC。我们还添加了另一个块、测试和验证,以展示您的开发工作流如何与硬件集成在一起。
在本次网络研讨会中,我们将采用基于模型的设计,或自顶向下的方法来进行系统开发。在这种方法中,我们首先在MATLAB和Simulink中对所有主要系统元素进行软件仿真,然后在开发和验证时将这些元素迁移到硬件上。万博1manbetx我们将首先在MATLAB和Simulink中建模我们的整个信号链,以验证我们的基带处理算法和整体系统概念。万博1manbetx
然后,我们将用真实的流数据在Simulink中验证和调整我们的算法。万博1manbetx一旦我们的算法得到了真实数据的验证,我们就可以将它们部署到原型环境中的硬件上,并在MATLAB和Simulink中进行实时参数调优和分析,以验证目标的性能。万博1manbetx最后,我们将把我们的算法部署到一个独立的系统中进行生产实现。
现在让我们从软件模拟开始,更详细地研究这些步骤。在这部分工作流程中,我们将纯粹在Simulink环境中工作,模拟从RF收发器开始的整个信号链。万博1manbetx我们的系统将使用Analog Devices AD9361 RF敏捷收发器,我们现在将介绍Robin从Analog Devices获得的。
我们今天要讲的是9361,9364。这是一个完整的射频收发器。它是70兆赫,6兆赫的调谐范围,200千赫到56兆赫的信道带宽。这是非常宽的波段,非常宽的调谐范围,非常完整。所以你在屏幕上看到的所有东西都集成在一个10 * 10的包中,两个完整的接收链和两个完整的9361传输链。
所以我们从一个单晶中得到了一个完整的LO,所以它驱动了VCO。这反过来驱动我们的接收锁相环,发射锁相环,基带锁相环,完整的ADC/ dac,数字滤波器,数字接口,使能状态机,一个非常复杂的自动增益控制,可以在多种不同的模式下操作,从快速攻击,慢速攻击,到手动模式。
其中一件事是,当你谈论像这样的集成系统时,你实际上能达到离散解的性能吗?我们可以在这种设备中,因为我们在设备内部进行了数字和模拟校准和校正。
再一次,如果你看这些部分,它有很多阶段的可编程性。从模拟接收路径来看,我们有超越放大器,我们有低通滤波器,我们有可以用来降低ADC速率的半带。我们有可编程FIR滤波器。当我们看那些我们需要理解的东西的时候,编程能力会变得很混乱。
所以当我们谈到1000种方法,或者1000个间谍配置寄存器时,基本上有999种方法可以使它出错,只有一种方法可以使它正确,并正常工作,并得到你想要的性能。
谢谢,罗宾。为了帮助您正确地编程AD9361, MathWorks与Analog Devices一起构建了一个行为仿真模型,使RF和系统设计人员可以看到整个RF信号链。这可以让您准确地了解算法在真实硬件环境中的执行情况。
这是一个真正的多域系统级模型,准确地代表了AD9361的行为,使用户可以访问实际硅上可用的所有可编程功能。在这个演示中,我们没有时间太深入地探讨这个模型,但是我们将提供一个指向更详细信息的链接。对于这个示例,我们将只查看AD9361收发器模型的接收路径。
您可以在这里看到设备的所有主要组件都在Simulink中表示,结合状态流程图来建模自动增益控制,以及SIM RF块来建模收发器的RF部分。万博1manbetx在本讨论中,我们将使用QPSK接收器作为示例处理算法。让我们看一下如何对处理进行建模。
现在我们有了在Simulink中运行的QPSK系统。万博1manbetx正如你所看到的,我们有我们的QPSK发射器直接连接到我们的QPSK接收器。这是您在设计过程中应该开始的地方——纯算法模拟,并为您的模型提供理想的输入源。
现在,让我们进一步建模,将AD9361射频收发器的模型引入到我们的系统中,这样我们就可以看到该设备对模拟信号的影响。现在,我们将详细阐述我们的系统模型,包括AD9361接收器部分的模型,以及一些用于输入信号的控制,如添加连续波源,以更好地模拟潜在的现实世界实现。
我们仍然使用上一个例子中看到的相同的QPSK接收器模型。但现在我们可以看到收发器设置和系统条件的变化如何影响算法性能。例如,我们可以调整QPSK发射功率相对于CW功率的电平,看看它如何影响我们的接收信号。
查看AD9361接收器内部,我们开始了解该设备的复杂性,但您也获得了检查整个信号链的能力——仅靠硬件是不可能实现的。同样,我们将为您提供更深入地讨论模拟模型的链接,但是我确实想强调这个模型的一些主要部分,包括AGC,它在statflow中作为状态图实现。增益表,你可以编辑它。再次,提供对设备的精细控制。你的射频接收部分,在那里你可以尽可能深入到解调器。这些都是从我们的SIM RF库中建模的。然后在接收端有几个可编程滤波器,还有我们的数字下转换器。
所有这些滤波器都可以通过使用AD9361滤波器向导进行配置,这是一个MATLAB应用程序,可从Analog Devices获得。因此,过滤器向导允许您指定所有过滤器参数,然后可以将这些参数下载到您的模型中,以微调设备的操作。
现在我们已经看到了我们的算法在模拟数据的模拟中工作,现在我们将使用从AD9361流到MATLAB和Simulink的真实数据来验证我们算法的操作。万博1manbetx我们可以把这个操作看作无线电在环模拟。使用通信系统工具箱中的Zynq SDR万博1manbetx支持,您可以将AD9361中的数据流输入MATLAB和Simulink。万博1manbetx支持包支万博1manbetx持控制收发器参数。
在这部分工作流程中,Zynq上没有运行任何代码。所有基带处理都是在MATLAB和Simulink中进行的,ARM核心在Zynq上打包数据通过以太网传输。万博1manbetx这是我们的QPSK接收器,它看起来非常像我们在上一个例子中看到的QPSK接收器模型,只是现在不是将它连接到AD9361的模型,而是将它连接到这个SDR接收器块。这个SDR接收器块是用来在Simulink和Zynq目标硬件之间建立通信链接的。万博1manbetx
我要对这个模型做一个改动。这是我们航运的例子,它没有星座图。所以我将从我们的通信系统工具箱中添加一个星座图。我们要把它带进来,这样我们就能看到我们的数据,数据的另一个可视化。我们还将从我们的发射器发送消息——“Hello, World!”消息,我们在前面的例子中看到的,当我打开MATLAB屏幕时。
我们现在要做的就是运行这个模型。在房间的另一边,我有另一个基于zynq的SDR工具包,运行一个QPSK发射器,我们将看看我们是否能捕捉到这些数据,我们已经拥有了。如果我打开MATLAB窗口,我们可以看到Hello Worlds被QPSK接收器传输和接收。
在这个例子中,我们没有在Zynq设备上运行任何QPSK算法。算法完全在Simulink中运行,但数据来自AD9361。万博1manbetx我们可以看到现在发生了什么,当我关闭我的发射机,以显示我们实际上是在通过空中接收真实的实时数据。让我关掉我的发射器。我们可以看到我的星座消失了。我什么都收不到。
现在我们的算法已经通过了真实数据的验证,我们可以生成针对Zynq SoC上可编程逻辑的HDL代码来实现我们的设计。下面是从Simulink设计中生成良好HDL代码需要采取的一些步骤。万博1manbetx
首先,需要创建一个浮点引用。将浮点引用转换为定点数据类型。详细设计以实现更有效的硬件实现。生成和合成HDL代码,然后探索各种HDL优化和验证您的代码。
第一步我们已经做过了。我们在这个演示中看到的QPSK接收器模型是我们的参考实现。现在我们需要做一些更改,使其更适合HDL。
为了在FPGA上实现我们的模型,我们首先需要将其转换为处理定点数据类型。MathWorks在Fixed-Point Designer中提供了许多工具来帮助自动化和简化此任务。完成后,您将希望模拟模型的定点版本,以查看它如何与已经完成的浮点模拟相匹配。
使模型HDL友好的另一个关键步骤是转换我们处理传入数据的方式,到目前为止大部分数据都是基于帧的。我们需要转换架构,使用基于样本的处理,并查看我们的模型的元素,我们可能希望修改这些元素以使其对硬件更加友好。再次,重新模拟并与之前的模型进行比较,以保持持续的验证。
这张幻灯片展示了我们在QPSK发射机中可以做什么来产生数据流。在接收器上,我们可以修改诸如粗频率补偿之类的元素,以实现更有利于硬件实现的架构。所有这些都产生了一个hdl优化的QPSK模型。
这里是我们的hdl优化的QPSK接收器示例,其中的各个块以一种更硬件友好的方式实现。现在我们有了模型的HDL友好版本,现在可以生成HDL代码并将其部署到目标上。第一步是生成HDL代码,我们将使用HDL Workflow Advisor来完成。
这是我的HDL工作流顾问,它将带我一步一步地完成为我的模型生成代码的过程。我已经设定了我的目标和特别提款权选项;在这种情况下,我们的目标是一个特别提款权平台。下一步是检查我的模型,以确保它是有效的,使用有效的块用于HDL代码生成。
所以我们要做的是,我们要运行所有这些模型检查,以确保一切正常。现在我们的模型检查已经完成,我们已经准备好生成HDL代码。我们可以从很多选项中进行优化。我们有一些基本的报告选项,我将选择这些选项,这样我们就可以在之后查看代码生成的一些特性。现在我们将生成HDL代码。
我们的代码生成现在已经完成。让我们来看看我们要求的一些报告。我们能得到的第一件事是我们为之生成代码的模块的代码生成报告。这太棒了。这告诉你如何定位设备。您可以在非常高的级别上使用资源报告,以大致显示您将使用多少FPGA。
我们还能够跟踪我们的代码。这样做的好处是,你可以从代码到模型,从模型到代码,这样你就可以得到完全的可追溯性。如果您想查看您的HDL是什么样子的,您可以单击这些超链接中的任何一个,它将带您回到生成该代码的模型中的块。
类似地,您可以转到模型中的任何块,并导航到由该块生成的代码。这在进行设计审查等工作时非常方便;或者,如果您不得不担心标准的遵从性,这是一个可跟踪的工作流。
接下来的步骤,很遗憾我们没有时间在这个演讲中展示。这些将是在Simulink中创建和合成一个Vivado项目,然后在Vivado中创建用于PicoZed SDR参考设计的IP核。万博1manbetx这使用了我们的IP核生成工作流来针对Zynq-7000 SoC。
我们还有很多优化HDL性能的选项。当我们生成HDL代码时,我们选择了所有系统默认值。在实际情况中,您可能会开始使用所有默认值,查看应用程序的运行速度,然后开始查看各种速度和面积优化,以获得最佳的HDL代码生成。
在这个讨论中,我们实际上只能触及SDR设计过程的皮毛。如果您对更深入的培训感兴趣,Avnet将与MathWorks、Analog Devices和Xilinx一起在全球选定的城市提供一系列为期两天的实践研讨会。这些研讨会将带您完成我们在本次网络研讨会中概述的整个设计过程,从设计到使用MATLAB、Simulink和PicoZed SDR SOM进行生产。万博1manbetx
更多信息请访问picozed.org/sdr。如果您所在地区没有安排研讨会,请联系当地的安富利代表,或通过fpga_expert@mathworks.com与我们联系,讨论其他培训安排。
为了充分理解HDL代码生成过程和SDR设计过程,我们可以深入探讨许多主题。这些链接将在后续的电子邮件中发送给所有网络研讨会的注册者。它们包括Zynq工作流和Zynq培训的资源,AD9361仿真模型的更深入的分析,以及IP核生成工作流的信息。一如既往,您可以通过fpga_expert@mathworks.com与我们联系。谢谢你!
相关产品s manbetx 845
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。