Noam Levine,Mathworks
Robin Getz,模拟设备
吕纳特电子营销Luc Langlois
加入MathWorks,Analog Devices和Avnet的工程师,他们将为软件定义的无线电显示单个硬件/软件开发和部署环境。使用matlab.®和模拟金宝app®,用户可以从设计和模拟通信算法到生成针对Xilinx的生产实现®Zynq.®-7000所有可编程SOC和Analog Devices AD9361 RF Agile Transcyiver™。
在我们的演示期间,我们将展示如何:
记录:2015年10月20日
大家好,欢迎来到使用MATLAB和Simulink的软件无线电设计入门网络研讨会。金宝app我的名字是Noam Levine, MathWorks的FPGA和SSE解决方案的技术营销人员。金宝搏官方网站和我一起演讲的还有来自Analog Devices的Robin Getz和来自Avnet的Luc Langlois。在本次网络研讨会结束时,我们希望您能够理解一个新的SDR设计工作流的元素,该工作流允许您在一个硬件/软件工具环境中从系统模拟到生产部署。
我们还希望您知道您可以在哪里找到帮助您的无线电实现项目的资源。我们将在本网络研讨会中覆盖的主题包括RF信号链的建模和仿真,通信算法的建模和仿真,具有现实世界数据的算法的测试和验证,最后,将通信系统部署到用于原型的硬件和原型生产。
该工作流可以应用于许多基于zynq的SDR平台,包括Avnet的新PicoZed SDR系统模块,它允许您使用相同的硬件从开发到生产部署。对于原型部署的设计,该工作流也可以应用于其他具有Zynq-7000全可编程SoC和AD9361 RF敏捷收发器的开发平台。
我现在将从Avnet转到Luclanglois的东西来描述新的Picozed SDR平台。
您好,软件定义无线电的所有设计师。我是来自Avnet Global Technology Marketing的Luclanglois,在这里介绍了我们的最新Picozed SDR软件定义的无线电,在小型模块上采用了生产现成系统,具有低功耗。
该系统包括模拟设备AD9361 RF Agile收发器,Xilinx Zynq-7000所有可编程SoC,并且可以运行嵌入式Linux。我们与行业领导者的模拟设备,MathWorks和Xilinx密切合作,在模块上创建生产就绪系统,该模块集成了在设备的设备大小的设备中的传输和接收功能,从而实现2 MIMO配置和频段70兆赫兹到6千兆赫兹。它可用于开发,最终插入最终产品。
应用包括便携式敏捷无线通信,公共安全无线电,点对点通信,毫微微小区和微微电池基站,以及便携式仪器。
Picozed SDR SOM采用Xilinx 7Z035 Zynq SoC设备,模拟设备9361 RF收发器,DDR 3低功耗的一个千兆字节,256兆位的四级SPI非易失性存储器,GO,以太网,MicroSD卡和204件上的USB 2.0用户I / O在SOM上。完整的开发套件增加了FMC载体卡,天线,电源和电缆。Picozed.org/sdr的更多信息和订购。
谢谢,Luc。现在我们已经确定了我们的目标硬件,我们可以启动设计过程。这个简单的框图显示了软件定义的无线电系统的主要元素。正如我们在Picozed SDR SOM的描述所示,硬件由RF收发器组成,在这种情况下,来自模拟设备的AD9361,以及基带处理引擎,Xilinx Zynq-7035所有可编程SOC。我们添加了另一个块,测试和验证,以展示您的开发工作流程如何集成到您的硬件中。
在本网络研讨会中,我们将采用基于模型的设计或自上而下的方法来系统开发。在这种方法中,我们从Matlab中的软件仿真开始,并在所有主要系统元素的Simulink中开始,然后在开发和验证时将这些元素迁移到硬金宝app件。我们将首先在Matlab和Simulink中建模我们的整个信号链,以验证我们的基带处理算法和整体系统概念。金宝app
然后,我们将使用实际流式数据验证和调整我们的算法中的算法。金宝app一旦我们的算法用真实数据验证,我们就可以将它们部署到原型化环境中的硬件,并在MATLAB中的实时参数调整和分析,同意验证目标性能。金宝app最后,我们将把算法部署到独立系统以进行生产实现。
现在让我们更详细地检查这些步骤,从软件仿真开始。在工作流程的这一部分中,我们将纯粹在Simulink环境中工作,从RF收发器开始模拟我们的整个信号链。金宝app我们的系统将使用模拟设备AD9361射频收发器,其中Robin从模拟设备中获取,我们现在将描述。
所以我们今天要谈论的是9361,9364.这是一个完整的RF收发器。它是70兆赫兹,6千兆赫兹调整范围,200千赫兹至56兆赫兹通道带宽。所以它是宽敞的宽带,宽敞的调整范围,令人难以置信的集成。因此,您在屏幕上看到的一切都集成到单个10个封装,两个完整的接收器链中,以及9361的两个完整的传输链。
所以我们拥有的是一个完整的Lo生成一个水晶,所以它推动了我们的VCO。反过来,又驱动我们的接收PLL,传输PLL,基带PLL,完整的ADC / DAC,数字滤波器,数字接口,使能状态机,一个非常复杂的自动增益控制,可以以多种不同的模式操作,从快速攻击,缓慢攻击,手动模式。
而其中一个是,当你谈论这样的集成系统时,您是否实际上可以实现您在离散解决方案中的性能?我们可以在这种设备中,因为我们在设备内部进行的数字和模拟校准和校正。
再一次,如果你看看这些部分,它有很多阶段的可编程性。从模拟接收路径,我们有跨阻放大器,我们有低通滤波器,我们有半带,可以用来分割ADC率。我们有可编程FIR滤波器。当我们看到一些我们需要理解的东西时,我们就会产生很大的困惑。
因此,当我们谈论1,000种方式或1000个间谍配置寄存器时,它基本上是999种方法来造成错误,只有一种实际使其正确的方式,并正常工作,并获得您正在寻找的性能。
谢谢,罗宾。为了帮助您对此进行编程,编程AD9361,Mathworks与模拟设备一起构建了行为仿真模型,以使RF和系统设计人员能够进入整个RF信号链。这使您可以确切地了解您的算法将如何在真正的硬件环境中执行。
这是一个真正的多域系统级模型,可以准确地代表AD9361的行为,使用户可以访问实际芯片上的所有可编程功能。我们不会有时间在这个演示中探讨太多的深度模型,但我们将提供更详细信息的链接。为此示例,我们将只是查看AD9361收发器模型的接收路径。
您可以在此处查看设备的所有主要组件在Simulink中表示,并包含状态流图以模拟自动增益控制,以及模拟收发器的RF部分的SIM RF块。金宝app对于此讨论,我们将使用QPSK接收器作为我们的示例处理算法。让我们来看看我们如何建模处理。
在这里,我们有我们在Simulink中运行的QPSK系统。金宝app如您所见,我们将QPSK发射器直接连接到我们的QPSK接收器。这是您将在设计过程中开始的地方 - 纯粹的算法模拟,具有理想的来源,为您的模型提供输入。
现在让我们采取我们的建模一步,让我们将AD9361 RF收发器的模型引入我们的系统,因此我们可以看到该设备对模拟信号的影响。我们现在将详细说明我们的系统模型,包括AD9361的接收器部分的模型,以及用于输入信号的一些控制,如添加连续波源以更好地模仿潜在的真实实现。
我们仍然使用我们在最后一个例子中看到的相同QPSK接收机模型。但现在我们可以看到收发器设置和系统条件的变化如何影响算法性能。例如,我们可以相对于我们的CW功率调整QPSK发射功率的级别,并了解其如何影响我们的接收信号。
看看AD9361接收器内部,我们开始了解设备的复杂性,但你也获得了检查整个信号链的能力——这是单靠硬件是不可能的。同样,我们将为您提供有关仿真模型的更深入讨论的链接,但我确实想强调这个模型的一些主要部分,包括AGC,它是作为statflow中的状态图实现的。你的增益表,你可以编辑它。再一次提供了对设备的精细控制。你的射频接收部分,你可以尽可能深入到去调制器。这些都是我们的SIM RF库中的模块。然后在接收端有几个可编程滤波器,还有我们的数字下变频。
所有这些过滤器都可以通过使用AD9361滤波器向导来配置,这是一个可从模拟设备获取的MATLAB应用程序。因此,过滤器向导允许您指定您可以将其下载到模型中的所有过滤器参数以微调设备的操作。
既然我们已经看到了我们的算法在模拟中使用模拟数据工作,我们现在可以使用从AD9361流流入MATLAB和Simulink的真实数据来验证我们的算法的操作。金宝app我们可以将此操作视为循环型仿真。使用从通信系统工具箱中的zynq sd金宝appr支持,您可以将数据从AD9361流流入MATLAB和Simulink。金宝app支持包允金宝app许您控制收发器参数。
在工作流程的这一部分中,zynq上没有代码运行。所有基带处理都发生在MATLAB和SIMULINK中,在Zynq封装数据上具有ARM核心,用于通过以太网流流。金宝app这是我们的QPSK接收器,它看起来非常像我们在我们的最后一个例子中查看的QPSK接收器模型,除了现在而不是将其连接到AD9361的型号,我将将其连接到此SDR接收器块。此SDR接收器块是Simulink和Zynq目标硬件之间的通信链接。金宝app
我要对这个模型做一个改动。这是我们的运输例子,它没有星座图。我将从我们的通信系统工具箱中添加一个星座图。我们把它带进来,这样我们就能看到数据,另一个可视化的数据。我们还将从我们的发射器传输消息——我们在前面的例子中看到的“Hello, World!”消息,当我打开MATLAB屏幕时。
我们现在要做的是我们将要运行此模型。在房间的另一边,我有另一个基于Zynq的SDR套件运行QPSK发射机,我们将看看我们是否可以捕获我们拥有的数据。如果我打开Matlab窗口,我们可以看到通过此QPSK接收器传输和拾取的Hello World。
在此示例中,我们未在Zynq设备上运行任何QPSK算法。该算法纯粹在Simulink中运行,但数据来自AD9361。金宝app我们可以看到当我关闭发射机关闭时会发生什么,实际上,接收真实数据在空中。让我关闭发射机。我们可以看到我的星座消失了。我没有收到任何东西了。
既然我们的算法已经用真实数据验证,我们可以生成针对Zynq SoC上可编程逻辑的HDL代码来实现我们的设计。以下是一些需要采取的步骤,从Simulink设计中生成良好的HDL代码。金宝app
首先,您需要创建一个浮点引用。将浮点引用转换为定点数据类型。精心设计以实现更有效的硬件实现。生成和合成HDL代码,然后探索各种HDL优化并验证代码。
我们已经完成的第一步。我们在此演示文稿中一直在查看的QPSK接收方模型是我们的参考实施。我们现在需要进行一些改变,使其更加友好。
这样我们就可以在FPGA上实现我们的模型,我们首先需要将其转换为使用固定点数据类型。MathWorks在Fixed-Point Designer中提供了许多工具,以帮助自动化和简化此任务。完成后,您需要模拟模型的固定点版本,以了解它如何与您已经完成的浮点模拟匹配。
制作模型HDL友好的另一个关键步骤是转换我们如何处理传入数据的方式,这对于大多数情况来说是基于帧的直到TIL。我们需要转换架构,使用基于示例的处理,并查看我们可能想要修改的模型的元素,以更加硬件友好。并再次重新模拟和比较您之前的模型阐述以保持连续验证。
此幻灯片显示我们在QPSK发射机中可以做些什么来产生数据流。在接收器上,我们可以修改像更多硬件实现型体系结构的粗略频率补偿等元素。所有这些都导致HDL优化的QPSK模型。
在这里,我们拥有我们的HDL优化的QPSK接收器示例,各种块以更硬件友好的方式实现。既然我们拥有我们模型的HDL友好版本,我们现在可以生成HDL代码并在目标上部署它。第一步是生成HDL代码,我们将使用HDL Workflow Advist执行此操作。
这是我的HDL Workflow顾问,它将通过为我的模型生成代码的过程来逐步。我已经设置了我的目标和我的SDR选项;在这种情况下,我们针对SDR平台。下一步是检查我的模型以确保它有效,使用有效块进行HDL代码生成。
我们要做的是通过所有这些模型检查来确保一切都是好的。现在我们的模型检查已经完成,我们已经准备好生成HDL代码了。为了优化,我们有很多选择。我们有一些基本的报告选项,我会选择这样我们就可以看一下代码生成的一些特性。现在我们来生成我们的HDL代码。
我们的代码生成现在已经完成。让我们来看看我们要求的一些报道。我们能得到的第一件事是我们生成代码的模块的代码生成报告。这太棒了。这会告诉你你是如何定位设备的。您可以在非常高的级别上使用资源报告,大致显示您将要利用多少FPGA。
我们还可以跟踪代码。这样做的好处在于,你可以从代码到模型,再从模型到代码,这样你就得到了完全的可跟踪性。如果你想看看你的HDL是什么样子的,你可以点击这些超链接,它会带你回到生成代码的模型中的块。
同样,您可以转到模型中的任何块,并导航到该块生成的代码。这是在进行设计评论之类的事情时非常方便;或者如果您必须担心标准符合性的线路,这是一个可追溯的工作流程。
我们进程中的下一步,不幸的是我们没有时间在这个演示中展示。并且那些将是在Simulink中创建和综合Vivado项目,然后创建IP核心,以便在Vivado中使用Picozed SDR参考设计。金宝app这使用我们的IP核心生成工作流程来定位Zynq-7000 SoC。
我们还有很多优化HDL性能的选项。当我们生成HDL代码时,我们选择了所有系统默认值。在真实世界的情况下,您可能会开始使用所有默认值,看看您的应用程序运行的快速,然后开始查看各种优化以获得最佳的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国家网站未优化您的位置。