诺姆·莱文,MathWorks
罗宾·盖兹,模拟设备公司
Luc Langlois, Avnet电子营销
加入MathWorks、Analog Devices和Avnet的工程师,他们将为软件定义无线电展示单一的硬件/软件开发和部署环境。使用MATLAB®和仿真软金宝app件®,用户可以从设计和模拟通信算法来生成针对Xilinx的生产实现®Zynq®所有可编程SoC和模拟设备AD9361射频敏捷收发器™
在我们的报告中,我们将演示如何:
记录:2015年10月20日
您好,欢迎使用Matlab和Simulink使用软件定义的无线电设计入门。金宝app我的名字是Noam Levine,Mathworks的FPGA和SSE解决方案的技术营销。金宝搏官方网站然后我将通过来自Avnet的模拟设备和Luclanglois的Robin Getz在本演示文稿中加入。在这个网络研讨会结束时,我们希望您能够了解SDR设计的新工作流的元素,允许您从系统模拟到一个硬件/软件工具环境中的生产部署。
我们也想让你知道在哪里可以找到资源来帮助你的无线电实施项目。本次网络研讨会的主题包括射频信号链的建模和仿真,通信算法的建模和仿真,用真实数据测试和验证算法,最后,将通信系统部署到原型和生产的硬件上。
此工作流程可以应用于许多基于Zynq的SDR平台,包括来自Avnet的模块上的新Picozed SDR系统,允许您使用相同的硬件从开发到生产部署。对于设计原型部署,工作流程也可以应用于具有Zynq-7000的其他开发平台,包括所有可编程SOC,以及模拟设备AD9361 RF Agile收发器。
现在我将把事情交给来自Avnet的Luc Langlois来描述新的PicoZed SDR平台。
你好,所有的软件定义无线电的设计师。我是来自Avnet全球技术市场的Luc Langlois,在这里介绍我们最新的PicoZed SDR软件定义无线电,以一个生产就绪的系统模块为特色,体积小,功耗低。
该系统包括Analog Devices AD9361射频敏捷收发器、Xilinx Zynq-7000 All Programmable SoC,可运行嵌入式Linux。我们与行业领导者模拟装置紧密合作,MathWorks,和Xilinx上创建一个生产系统模块集成在设备中传输和接收函数一副牌的大小,使2×2 MIMO配置,并从70兆赫到6兆赫频段。它可以用于开发,并最终,插入到最终产品中。
应用包括便携式敏捷无线通信、公共安全无线电、点对点通信、家庭蜂窝和皮蜂窝基站以及便携式仪器。
PicoZed SDR SOM具有Xilinx 7Z035 Zynq SoC器件,Analog Devices 9361射频收发器,1gb DDR 3低功耗,256mb四元SPI非易失性内存,USB 2.0移动,以太网,microSD卡,和204个用户I/O。完整的开发套件增加了一个FMC载波卡、天线、电源和电缆。更多信息和订购picozed.org/sdr。
谢谢,卢克。现在我们已经确定了目标硬件,我们可以开始设计过程了。这个简单的框图显示了软件定义无线电系统的主要元素。正如我们在PicoZed SDR SOM的描述中所看到的,硬件包括一个射频收发器、来自模拟设备的AD9361、基带处理引擎、Xilinx Zynq-7035全可编程SoC。我们已经添加了另一个块、测试和验证,以展示您的开发工作流如何与您的硬件集成在一起。
在本次网络研讨会中,我们将使用基于模型的设计,或自顶向下的方法来进行系统开发。在这种方法中,我们首先在MATLAB和Simulink中对所有主要系统元素进行软件仿真,然后在开发和验证这些元素时将它们迁移到硬件中金宝app。我们将开始在MATLAB和Simulink中建模我们的整个信号链,以验证我们的基带处理算法和整个系统的概念。金宝app
然后,我们将用真实的流数据验证和调整我们在Simulink中的算法。金宝app一旦我们的算法被真实数据验证,我们可以将它们部署到原型环境的硬件上,并在MATLAB和Simulink中进行实时参数调整和分析,以验证目标性能。金宝app最后,我们将把算法部署到一个独立的系统中进行生产实现。
现在让我们从软件模拟开始,更详细地分析这些步骤。在这部分工作流程中,我们将纯粹在Simulink环境中工作,模拟从射频收发器开始的整个信号链。金宝app我们的系统将使用模拟设备AD9361射频敏捷收发器,罗宾从模拟设备获得,我们现在将描述。
我们今天要讨论的是9361 9364。这是一个完整的射频收发器。它是70兆赫,6兆赫的调谐范围,200千赫兹到56兆赫的频道带宽。所以这是非常宽的波段,非常宽的调谐范围,非常集成。所以你在屏幕上看到的所有东西都整合成一个10乘10的封装,两个完整的接收链,和两个完整的发送链,为9361。
所以我们拥有的是一个完整的Lo生成一个水晶,所以它推动了我们的VCO。反过来,又驱动我们的接收PLL,传输PLL,基带PLL,完整的ADC / DAC,数字滤波器,数字接口,使能状态机,一个非常复杂的自动增益控制,可以以多种不同的模式操作,从快速攻击,缓慢攻击,手动模式。
其中一个问题是,当你谈论像这样的集成系统时,你真的能达到离散解的性能吗?我们可以在这类设备中因为我们在设备内部进行的数字和模拟校准和校正。
所以,如果你看看部分,它有很多可编程性的阶段。而且从模拟接收路径中,我们有我们的跨阻放大器,我们有我们的低通滤波器,我们有我们的半频段可用于将ADC速率除下来。我们有可编程的FIR过滤器。当我们正在寻找我们需要以巨大的可编程性了解的情况时,我们需要巨大的困惑。
所以当我们谈论1000种方法,或1000个间谍配置寄存器时,基本上有999种方法使它出错,只有一种方法使它正确,并正常工作,获得你想要的性能。
谢谢,罗宾。为了帮助你找到正确的方法,MathWorks和模拟设备一起对AD9361进行编程,建立了一个行为仿真模型,使射频和系统设计者能够看到整个射频信号链。这可以让您准确地理解算法在真实硬件环境中的执行情况。
这是一个真正的多域系统级模型,它准确地代表了AD9361的行为,使用户能够访问实际硅上可用的所有可编程功能。在本演示中,我们没有时间深入探讨该模型,但是我们将提供一个链接,以获得更详细的信息。在这个例子中,我们将只关注AD9361收发器模型的接收路径。
您可以在此处查看设备的所有主要组件在Simulink中表示,并包含状态流图以模拟自动增益控制,以及模拟收发器的RF部分的SIM RF块。金宝app对于此讨论,我们将使用QPSK接收器作为我们的示例处理算法。让我们来看看我们如何建模处理。
这里我们有QPSK系统在Simulink中运行。金宝app如你所见,我们的QPSK发射器直接连接到QPSK接收器。这是您在设计过程中应该开始的地方——使用理想的源提供模型输入的纯算法模拟。
现在让我们把我们的建模一步,让我们把AD9361射频收发器的模型引入我们的系统,这样我们就可以看到该设备对我们的模拟信号的影响。现在,我们将详细阐述我们的系统模型,包括AD9361的接收器部分的模型,以及输入信号的一些控制,如添加一个连续的波源,以更好地模拟潜在的现实世界的实现。
我们仍然使用上一个例子中看到的QPSK接收器模型。但是现在我们可以看到收发器设置和系统条件的变化如何影响算法的性能。例如,我们可以调整我们的QPSK发射功率相对于我们的CW功率的水平,看看它如何影响我们的接收信号。
查看在AD9361接收器内,我们开始了解设备的复杂性,但您还可以获得检查整个信号链的能力 - 单独使用硬件不可能的东西。再次,我们将为您提供更深入讨论模拟模型的链接,但我确实希望突出显示该模型的一些主要部分,包括AGC,该AGC在状态流中实现为状态图。您的收益表,您可以进行编辑的能力。再次,提供对设备的精细控制。您的射频接收部分,您可以在您想要进入去调制器时深入了解。这些都以我们的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
我将为这个模型进行一次改变。这是我们的运输方式,它没有带有星座图。所以我将从我们的通信系统工具箱中添加一个星座图。所以我们会把它带到,所以我们可以看到我们的数据,另一种可视化我们的数据。我们也将从我们的发射机传输消息 - “你好,世界!”当我打开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工作流顾问来完成。
这是我的HDL工作流顾问,它将带我一步一步通过生成代码的过程为我的模型。我已经设定了目标和特别提款权选项;在这种情况下,我们的目标是一个特别提款权平台。下一步是检查我的模型,以确保它是有效的,使用有效的块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工作流程和培训的资源,对AD9361仿真模型的更深入分析,以及关于IP核生成工作流程的信息。和往常一样,你可以通过fpga_expert@mathworks.com联系我们。谢谢你!
您还可以从以下列表中选择一个网站:
请选择表现最佳的中国网站(中文或英文)。MathWorks的其他国家网站并没有针对您所在位置的访问进行优化。