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