Rick Gentile, MathWorks
调制识别和目标分类是智能射频接收机的重要功能。这些功能在认知雷达、软件定义无线电和高效频谱管理中有许多应用。为了识别通信波形和雷达波形,有必要根据调制类型对它们进行分类。为此,您可以提取有意义的特征,可以输入到分类器。虽然有效,但此过程可能需要努力和领域知识才能产生准确的识别。目标分类也存在类似的挑战。
在本次网络研讨会上,我们将展示可用于训练深度学习和机器学习网络的数据合成技术,用于一系列雷达和无线通信系统,包括:
Rick Gentile在MathWorks专注于相控阵、信号处理和传感器融合应用。在加入MathWorks之前,Rick是MITRE和麻省理工学院林肯实验室的系统工程师,在那里他致力于雷达系统的开发。Rick还曾是Analog Devices的DSP应用工程师,在那里他领导了高性能信号处理系统的嵌入式处理器和系统级架构定义,包括汽车驾驶员辅助系统。Rick与人合著了《嵌入式媒体处理》一书。他获得马萨诸塞大学阿默斯特分校的电气和计算机工程学士学位,以及东北大学电气和计算机工程硕士学位,在东北大学他的重点研究领域包括微波工程,通信和信号处理。
记录日期:2020年5月21日
大家好,我是Rick Gentile。我是MathWorks公司雷达和传感器融合工具的产品经理。欢迎参加本次雷达和无线通信深度学习网络研讨会。在快速介绍之后,我将简要讨论您可以在MATLAB中使用的与深度学习相关的工具。
然后,我将讨论如何将软件接口用于查找无线电和雷达。然后,我们可以看看如何预处理和标记这种类型的数据。最后,我将介绍四个例子,它们是基于数据合成的组合,以及我们在一系列基于分类的应用程序中收集的数据。让我们开始吧。
在MathWorks中,可以使用许多工具和算法进行雷达系统设计。您可以设计、建模、模拟和测试从天线和射频组件到信号和数据处理系统的一切。这包括跟踪和传感器融合。
您还可以对雷达运行的环境进行建模,包括地形、杂波、目标和干扰。在本次网络研讨会中,我将重点介绍如何使用这些功能来训练深度学习网络。与我描述的雷达类似,您可以设计、建模、模拟和测试无线系统,包括5G系统。在本节课中,我将重点介绍波形、通道模型和损伤,以生成数据来训练深度学习网络。
现在,有一件事要记住,虽然大多数关于深度学习的讨论都集中在开发预测模型上,但端到端工作流,包括数据合成、增强、标记、预处理和部署到嵌入式硬件设备或云同样重要。现在,以这个工作流程为参考,让我们快速浏览一下关键的挑战。
很明显,如果没有好的数据来训练它,你就不会得到一个好的模型。对于信号和时间序列数据更是如此。在工作流的这些初始步骤中可能需要一些工作。现在,要训练一个深度神经网络,需要一个大质量的数据集。不仅如此,监督学习方法还需要标记数据集。标记,虽然重复和耗时,是工作流程的重要组成部分。
我们还将更深入地了解雷达和无线特定的专业知识和工具在准备和预处理数据以训练网络时是如何发挥关键作用的,特别是因为在这些应用领域,你不会像在基于计算机视觉的应用程序中那样找到那么多已发表的研究。
现在,一旦您准备好了模型,并且想要使用它,编写C、c++和CUDA代码用于目标、嵌入式平台或部署到云端通常是一个挑战。在这次演讲中,我们将在最后引导您完成工作流程的各个部分,并回顾我们是如何解决痛点的。我们还将使用我们的深度学习工具箱来访问网络,但正如你将看到的,所有的预处理、标记和数据合成工作都与网络无关。这也适用于MATLAB之外的网络。
现在,与任何工程挑战一样,有多种权衡需要考虑。首先,你从哪里得到的数据?你如何收集、管理和标记你从无线电和雷达获得的数据?当您拥有大量数据时,这可能是一个挑战。在字段中创建强调分类器的条件也可能很棘手。
现在,如果保真度能与真实系统所看到的相匹配,数据合成可以成为训练网络的一个很好的选择。稍后我们将查看几个示例,其中我们使用合成数据进行训练,并使用从硬件捕获的数据进行测试。您还需要确定哪种学习技术最适合您的应用程序。
在频谱的末端,您可以将雷达或通信IQ数据输入网络进行深度学习。另一方面,您可以提取利用您的领域知识的特性。现在,您可能还会发现介于这两个极端之间的方法是最好的。例如,时间频率映射,或者我将向您展示的一些预处理技术,可能会为网络提供一个更好的起点。此外,自动特征提取器,如我将展示的小波散射算法,可以减少训练所需的数据量,并且可能为网络提供更好的起点。
我们将在本次网络研讨会中讨论所有这些技术,但底线是,您必须考虑的权衡必须在数据集大小、您的领域知识和在实际系统中实现解决方案所需的计算资源之间取得平衡。深度学习属于人工智能领域。这是一种机器学习,模型从大量数据中学习。深度学习通常使用神经网络架构来实现。
神经网络由许多层组成。我们从输入层开始。在雷达和无线应用中,这可能是IQ数据,或时频图,或从信号中提取的特征。还有一系列隐藏层,用于提取特征并理解数据中的底层模式。最后是输出层,它可以执行分类或回归。
现在,开发深度学习模型通常有三个主要步骤。你设计你的网络,训练你的设计网络,然后优化它。现在,为了设计网络,你可以从头开始编程设计你自己的网络,或者你可以使用我们的深度网络设计器应用程序。你也可以导入一些参考模型,你可以使用已经训练好的架构来完成你特定的深度学习任务,或者如果你或你的同事使用不同的深度学习框架,你可以通过我们提供的标准和报告在AI生态系统中协作。
现在,从训练的角度来看,你可以训练你设计的网络,你也可以将你的计算扩展到可用的资源。例如,这可以包括你自己网站上可用的物理gpu,你也可以将计算扩展到云平台上的gpu。
最后,对于优化,一旦你训练了你的网络,可能需要一些调优来优化网络性能的准确性,手动选择一个参数值是乏味的。但是MATLAB提供了一个工具来自动选择超参数。
注意中间的双向箭头。这意味着为了得到最好的模型,您可能必须在这三个步骤之间来回切换。例如,一旦你设计了你的网络并训练它,你可能无法得到预期的准确性。此时,您可以更改设计或尝试进行超参数优化以获得最佳结果。
我应该提到的是,我们还有一个提示和技巧文档页面,作为我们深度学习工具箱的一部分,可以帮助你提高你的表现。事实上,我们广泛地使用它来开发后面将要介绍的示例。我也会在网络研讨会的最后提供这个资源的链接。
接下来,我想重点谈谈训练步骤。对于我稍后在网络研讨会上介绍的每个例子,训练都是在大量数据中完成的。在某些情况下,训练是用合成数据完成的。在其他情况下,它是通过硬件收集数据完成的。
使用GPU可以大大加快这个训练过程。我们还可以得到速度和结果窗口的指示,以及相应的验证精度。现在,这只是一个一般的例子,但你能感觉到准确度是如何表示的。您还可以看到训练所消耗的时间,还可以在这里看到帮助加速训练过程的硬件资源。
这很重要,因为我们会有很多数据,我们想在训练网络的时候减少这个时间。现在,网络的性能在大量的训练操作中得到了提高,因为它的权重被优化以匹配IO关联和训练数据。
注意这里有两行重要而不同的行。蓝色部分是训练数据的准确性。这就是你的数据集中用于训练网络的部分。例如,它确实优化了它的权重值。虚线表示验证数据的准确性。这有时被称为开发集。
这是网络没有用来训练的数据,所以检查模型在以前没有见过的数据上概括其行为的能力有多好是很有用的。它包含尽可能代表您要解决的实际问题的数据。现在,你可能没有足够的这种类型的数据来有效地使用它来训练你的网络,但是当你达到足够好的准确性时,你的决定将受到这个指标的约束。
显然,你总是期望在验证上做得比在训练数据上做得差。现在,当你把每件事都做好了,你就可以希望这两者尽可能地接近在一起。
好的,到目前为止,我们已经讨论了当你模拟雷达和通信系统时你可以做的不同的事情。我们已经讨论了MATLAB深度学习工作流,以及如何使用深度学习工具箱之类的东西,但你也可以使用MATLAB之外的网络。
现在我想把重点放在硬件连接上,我将从软件定义的无线电开始。我们有一系列的附加组件,这是我们的附加组件资源管理器的一个快照,你可以在MATLAB中打开,它允许你为一些常见的现成收音机引入安装包,硬件支持包。金宝app当你用我们的通信工具箱安装这些设备时,你就可以连接到这些收音机和配置好的收音机。你可以从无线电中提取数据并进行处理。有很多很棒的例子。
我要给你们看的是,冥王星的无线电,但我给你们看的很多东西都可以用这些无线电来做。我们也有一个附加包用于一个叫做“德莫拉德”的平台,是Analog Devices公司推出的,这个平台是一个小型的24千兆赫相控阵雷达。这是——这是我在我们的心房,当我移动时,注意你可以看到我移动时变化的范围,还有角度。我的同事穿过视场,你可以看到他对同一事物的探测。这些都是将雷达和无线电直接连接到MATLAB的低成本方法。
你可以收集自己的数据,并将这些数据输入深度学习或机器学习网络和分类。随着讨论的深入,我将向您展示如何在示例中使用其中的一些东西。现在想象一下从这些硬件平台上获取数据。
你怎么处理这些数据?好吧,我们首先要研究的是如何分析它们发出的信号,如果我们要把它们输入深度学习网络,甚至是机器学习网络,我们会想要做标记。
让我们从一个分析开始。为了激发这些例子,我想要生成三种波形。为此,我将使用我们的雷达波形分析仪应用程序,它是相控阵系统工具箱的一部分。生成三种波形,矩形波形、线性调频波形和用巴克编码的相位编码波形。
好了,我只是在这里,建立这些波形,我会建立这三种波形,我将在下一组例子中使用它们。所以,一旦我把它们加起来,你可以看到矩形,线性,相位编码,这些就是我的波形。我可以为它们设置不同的参数。我可以为它们分别画出图。你可以看到不同的绘图方法,包括模糊度图,谱图和谱图。
这样做的好处是可以让我设计出我想要交互的波形。当你完成后,你可以将它们导出到Simulink作为一个块,或者作为一个块库,或者你可以生成数据到MATLAB工作区,或者MATLAB脚本来金宝app重新创建你在应用程序中所做的任何设计。
对于这一部分,我们实际上要把它导出到工作空间我们要做的是,我们要在信号分析仪中使用那个数据集,它是信号处理工具箱的一部分。这个应用程序很好,因为它让我们可以直观地探索我们引入的信号。记住,在这种情况下,信号实际上是一个长信号,信号内有三个波形。
这里会有一个波形,这里,还有这里。现在,在时域中很难看出这些波形的性质。让我在应用程序中展示给你们看,在应用程序中,这里,你可以看到这是时域。当我把信号引入频谱时,信号并不明显,但当我把信号引入时间频率时,很明显我在这里提到了三个信号。
这实际上是标量图。你可以看到信号一。信号2号在中间,然后信号3号在右边。现在这是一个简单的例子,只是为了说明工作流程,但是想象一下有一个你不知道里面有什么的信号,并且能够探索,并从频谱图的角度弄清楚发生了什么。能够看到内容是什么样子是非常有价值的。
现在我知道有三个信号,我可以在频谱图和标量图视图中验证它,现在我要做的是标记这些数据。我要给你们看一个手动标记数据的例子。我把这些数据带入,你们可以看到这是三个信号的相同数据。现在我知道信号在哪里了。
当我使用这个应用程序时,我能做的是,我能进入,我想要标记的第一个是LFM波形,我知道它是信号中的第一个。我可以把这个拖到这里,手动选择开始和停止,当我移动到这里,它现在被标记为LFM。你可以在屏幕中间看到波形类型。
我会找到巴克,我可以标记标记信号。我就能得到这个东西。你可以看到巴克波形,最后是矩形波形,在右边。我可以在这里做同样的部分。现在,如果你有很多数据集,这可能看起来很乏味,我将向你展示当你有很多数据时你可以做什么。
现在我有了一个集合,我可以标记它。你可以想象这里有更多的信号我已经标记过了。现在我有了这个标记的信号集我可以把它作为网络的输入。那么更复杂的情况会怎样呢?好吧。当我有更多的信号时,会发生什么呢?很难找到这些信号被标记在哪里?
对于下一个例子,我要做的是,我实际上已经生成了9个波形,我用接收到的信号1到9来表示它们,在左边。再一次,我要把它们带进标签器对于我在这里生成的这个信号集,我实际上有三个LFM波形,三个矩形波形,三个巴克波形。现在,我要做的不是手动检查它们,而是使用一个允许我编写自定义函数来标记的特性。
在标签器中,我要做的第一件事是添加定义。我把它叫做ModID,我将用一个分类来定义这些信号,LFM,矩形,和Barker。这些就是我要应用到每个信号上的标签这里有9个信号。这些都在标签机里。
我写了一个叫做category的函数,当我把它们应用到所有9个信号上时,我要等待结果回来,你可以看到,这9个标签被加到了9个信号上。当我向下滚动时,我将从每种波形类型中选择一种。我可以在这里画出来。你可以看到这是一个线性调频波形。这是矩形波形。最后是巴克波形?
现在,我有9个波形。它实际上找到了三个lfm,三个矩形和三个barker,并直接在这里标记了它们。当我完成了这个,现在,就像在另一个上一样,我可以保存标记的数据集,然后用它回来,把它作为一个输入输入到我的网络中。它非常强大。
在这种情况下,分类函数实际上是取复信号,对其进行变换,然后将其传递到我已经训练过的网络中。它实际上是在使用训练过的网络来标记信号。当我完成之后,我就得到了这个标签波形部分我可以把它装箱,并在深度学习系统中在应用程序之外使用?
非常强大。我们还有一些很棒的函数可以帮助你找到信号。举个例子,如果你在寻找一个信号的特定实例,这个函数会在那个自定义函数中为你找到位置。我向你们展示了一个我们做了分类的例子,这意味着我们只是给出了一个波形类型的标签,但你也可以写一个函数来,例如,返回每个信号的起始点和它们在一个更大的信号中的位置,类似于我给你们展示的第一个例子。
因此,在编写自定义函数方面有很大的灵活性,这将使你能够非常有效地处理更大的数据集。
现在我想讲一下我提到过的例子,我选了四个例子,我认为,它们展示了你可以使用的一些工具来合成数据,包括通信和雷达。
我想从两个雷达的例子开始,第一个是雷达横截面分类。让我们从这个开始。作为建模的基础,我们真正谈论的是能够对目标建模也就是雷达能看到的视野范围内的物体。你有很多不同的方法。
但是我要给你们看的是,角度和频率依赖于雷达横截面。也就是说,你可以在容器中定义横截面,包括它在特定频率下的表现,它在不同方位角和仰角下的表现,以及它的RCS模式如何变化。你也可以加入旋转模型来得到涨落。
这里的想法是,你可以用一些基本的积木,把它们放在一起,生成形状。在我们的基本例子中,我们将使用雷达的能力来模拟目标。我们从一些基本的形状开始。在这种情况下,我们将圆柱体和圆锥作为基本形状,它们将在雷达的视野中移动,这些形状中的每一个-这只是一种样本。
但是每一个形状都有运动当它在雷达的视野中移动时。这就是雷达看到它移动的方式。当然,它会有自己的RCS模式,在这种情况下,它会随纵横角而变化,但这可以是方位角或仰角。最后,当我们综合雷达的返回信号时,雷达会发出一个信号,反射到那个物体上,这取决于它的运动,它离我们有多远,以及它在雷达看来是什么样子,RCS会随着时间的推移而改变,因为雷达看到了它。
我们会尝试使用这些信息进行分类,所以我们所做的是,我们生成了数千个样本,数千个综合的回报,我们生成雷达反射,我们捕捉这些RCS随时间的变化。现在,在这个例子中,我将在网络研讨会结束后向你们展示每个例子的链接。
在这个例子中,我们从一个机器学习的案例开始,但是我们有很多请求来扩展它,包括一个SVM应用程序,在那里我们做一些像机器学习的事情,但也在深度学习的情况下。现在,请注意,从深度学习的角度来看,这个例子非常简单,不需要深度学习部分,但它更多地是关于工作流。如果您扩展了形状的数量和数据量,也可以应用相同的工作流。
但本质上我们在这个例子中所做的是,我们可以用小波散射变换从这个系统中提取特征。这样做的好处是,我们最终得到的数据比开始时要少,首先,因为它提取了特征,然后用这些特征加入支持向量机。现在,再一次,从工作流程的角度来看,我们也使用小波变换,连续小波变换,来生成这些形状随时间移动的时频图。
然后把它输入CNN,在这个例子中是SqueezeNet。我们在这里展示的另一个例子是我们可以把这些RCS回报放到LSTM网络中。所以,我只是把它作为一个例子来强调一下,你们可以通过它来展示如何从工作流程的角度来提取特征,或者将雷达数据转换成时频图像。
在这个例子中我选择了CWT,但是这也可以是频谱图和其他很多时间频率图,你可以用一个单独的处理工具箱或小波工具箱来做。然后将这些数据直接输入网络,在SqueezeNet Now这个例子中,在LSTM的例子中,你输入原始数据。我们也可以加入一些特性,但这里的关键是我们可以看到网络在这种情况下的表现。
这真的是,我只是想让你们注意因为它更多的是关于工作流程,你可以用它来全面地观察你如何模拟雷达探测以及视野中移动的目标和移动的物体随着时间的推移观察它们是如何变化的。训练一个网络,看看它们在做什么,然后给它一些测试数据。
其他的例子,我会更详细地讲。这是我想强调的一点,因为它确实练习了很多您希望在自己的系统中使用的工作流。下一个是雷达微多普勒。
所以,在前面的例子中使用的很多技术用于移动的单点散射器它们的RCS模式随时间变化,在下一个例子中仍然适用。但在这里,我们要做的是,我们要接收多个散射点并用这些散射点来创建一个微多普勒。假设物体在运动,但物体的某些部分也在运动。
你可以想象一个人在走路,手臂在摆动,一辆自行车在运动,车轮在旋转,踏板在移动。我马上给你们看。所以,在下一个例子中,我们将使用一些积木来模拟行人和自行车。我们有一个很简单的方法来生成一个行人模型,这是反向散射。你可以看到我们设置了高度,行走速度,初始位置,和头部。
当我们运行这个,我们移动行人,我们观察随着时间的推移,你可以看到我们产生了一个微多普勒特征。现在,对于自行车也是一样的,自行车,这实际上也是一个简单的函数,它定义了辐条,速度,初始位置,航向,以及齿轮传动比的基本信息。就像对行人一样,我们产生了微多普勒信号
现在,这些都被包含在相控阵系统工具箱中,作为你可以直接使用的构建模块,但所有的基本构建模块都是用来制作你自己的复杂目标的,例如,一架直升机,或一架四轴直升机,旋转叶片,诸如此类的东西。
事实证明,行人实际上是多个圆柱体,代表身体的每个部分。在自行车的例子中,它实际上是单点散射器的集合。这些就是我们下个例子中用到的积木。我们要做的是,我们会在左边生成很多数据来合成自行车和行人的运动。我们会用它来生成数据,我们会用短时傅里叶变换作为我们的时频映射来生成一个图像到CNN中。
然后我们会看,我们的测试数据,我们可以把测试数据放进去,说它是自行车还是行人?一组行人,自行车和汽车的综合数据,如果你看这些,你会很清楚你在看什么。所以你甚至不需要一个网络来告诉你它是否是笔直的,对吧,但这让你知道了时间频率图是什么样子的对于行人,自行车和汽车的微多普勒开始。
在这个例子中,我们有一个行人和一个骑自行车的人,它开始变得有点模糊了。你可以看这边,在这种情况下,你可能会看到骑自行车的人。你也可以看到那里的行人,根据哪个更强壮,你会看到更占优势的版本,哪个更接近雷达,像这样。
所以,这里你看到的是,当它们单独分开的时候很清楚,但是当你把它们放在一起的时候就很难区分了。如果我们正确地训练它,这个网络实际上是能够计算出来的。我们将建立一个场景我们有两组数据。
我们将从一个场景开始,我们只有骑自行车的人和行人。在另一种情况下,我们将有骑自行车的人,行人和一辆汽车。我们会在场景中产生汽车发出的噪音。场景组合包括有一个行人,一个骑自行车的人,每个人一个,每个人两个,也就是两个行人和两个骑自行车的人。
我们要做的是为这些系统绘制光谱图,我们将它们缩放以确保我们在物体之间有一个共同的范围。我们将它们归一化在0到1之间。这将是我们输入到网络中用于训练和测试的输入。这里的关键是一组数据不会因为场景中有车辆而产生噪音,另一组数据也会有车辆。
当我们看这个系统的结果时,我们在没有汽车噪音的情况下进行分类,我们得到了很好的结果。我们有行人的情况,自行车,行人加自行车,然后每个都有两个。这个网络在这方面做得很好,95%的人都知道发生了什么。我们知道基本事实,所以我们可以将网络提供的测试准确性进行比较,你可以看到我们得到了一个很好的答案。
如果我们在同样的情况下,在有汽车噪音的情况下对特征进行分类,记住,我们一开始并没有使用汽车噪音进行训练,那么测试的准确性就会下降。这可能是意料之中的,对吧?我们没有按照我们这里的数据进行训练。汽车的噪音在我们看到的方面有很大的不同。现在,我们可以回到CNN,通过在训练集中添加汽车噪音,然后我们得到的东西要比我们没有使用汽车噪音训练时得到的要高得多。
所以,这里的重点是你可以通过很多方法来得到更好的答案,对吧?这可以产生更多的测试数据,让测试数据更真实,训练数据更真实。它还可能涉及调整网络并进行优化。它还可能涉及到改变我们实际创建网络特征的方式,我们放入哪个时间频率映射。诸如此类的事情。
这很有趣。这是另一个例子,我们有两辆自行车,网络的预测是正确的。有两辆自行车,当你看每一辆的真实情况时,很难从视觉上看出这实际上是两辆。但是网络实际上能够看到场景中有两辆自行车。但是很难分辨,我认为,如果你只看这两个,和这个相比,你自己可能很难注意到。
我认为在我们的例子中网络预测错误的另一种情况是,在汽车噪音的情况下,我们有一辆自行车,而自行车在汽车噪音的情况下它的预测是错误的。它实际上预测了行人,加上自行车。
所以这里的汽车很像一个骑自行车的人,或者一个慢慢走的行人,所以网络返回一个答案,自行车和行人都在那里。但事实上,只是那个骑自行车的人。
所以这些都是你真正可以处理的极端情况,你有很多工具可以使用。你可以回去改变网络。例如,您可以返回并使用更多数据进行训练,或者您可以返回并使用不同的转换。
波形调制识别。这在新闻中引起了很大的关注。你们会看到这是DARPA挑战的一部分,还有陆军挑战。我们真的想知道干扰的来源是什么,我们如何理解它在寻找什么。在某些情况下,这也是一种共享频谱,并能够有效地管理频谱。
这是一种典型的情况,雷达在这里工作。它是干扰源。干扰源可能会影响探测某些东西的能力。这可能是故意的。它可能是对环境的完全无意的干扰。问题是干扰源是什么。这就是这种应用的动机。
我们将再次回到构建模块。我在波形分析仪中给你们展示了一些我们生成雷达波形的地方。我们还在通信套件产品,包括通信工具箱,5G工具箱,LTE工具箱,产生波形的能力。下载188bet金宝搏要么是标准空间波形,要么是非标准空间波形,你可以直接生成。
再说一遍,这些都是可以组合在一起的积木。能够通过一个复杂的通道传播这些波形是很重要的,对吧,在那里你实际上可以得到就像它进入一个环境一样的效果。这很重要,因为使用合成数据代替实际测量数据的部分能力是使其足够高的保真度,以确保它是好的。
你可以看到这里有一长串不同类型的频道可以放进去。有些是针对LTE和5G标准的。其他的则比较通用,比如雨、气、雾,或者朗利-莱斯,或者一些MIMO频道。这些都是可以直接用于雷达和通信的信号。
我向大家展示了雷达波形分析仪应用程序。这也是我认为值得在这里理解的东西。这是一个很棒的应用程序,它允许你生成波形类型,同样,基于标准的波形或基于非标准的波形。你可以通过并增加减值。我已经向你们展示了可用的渠道模型,大量的渠道模型。但你也可以进入并自定义波形将通过系统看到的损伤类型。
这很好,因为,再一次,我一直回到那个主题,能够创造更高的保真度。你可以生成波形,这是一个波形发生器,我可以建立所有通过这里的数据。就像在其他应用程序上一样,我可以将这些导出到脚本或MATLAB工作区。同样,在这种情况下,我可以连接到硬件,我可以从我们支持的硬件测试设备列表中选择,并直接从这个应用程序生成波形来馈送测试设备。金宝app另一个为你的训练网络生成数据的好方法。我们将在另一个例子中展示如何使用它。
这个例子有两个方差。首先,我们看雷达和通信波形。我们产生成千上万的信号,随机变化和损伤。在这种情况下,我们实际上使用的是Wigner-Ville分布变换。这是一种时间频率变换对这类信号很有效。这个图像就是用来训练网络的。我们可以进入这个网络,我们可以看到,从这个混淆矩阵,信号是如何被识别的。
我可以把重点放在电视台犯错的地方。在这种情况下,这并不奇怪。有些调幅波形有些混乱。我可以把这些放大看看,当它做对的时候,网络是怎么想的,当它做错的时候,网络是怎么想的。这很有力,因为就像我讲的所有这些例子一样,我们回到了同样的事情。
这很容易迭代,试着做更多的训练数据,我是否给它一个不同的网络配置,我是否改变预处理和时频分析我对网络的输入所做的。这些都是你在系统中可以打开的按钮。
我们还用深度学习对通信波形进行了调制分类。这是一个类似的工作流程,但我想在这里指出两点。而不是在系统中生成时间频率图像映射,在这里,我们实际上是将IQ数据放入网络中。我们看了几个不同的架构,只是把原始的IQ数据放进去。
有时是纸,有时不是。有趣的是看看一些网络实际上是如何解释和使用相位信息作为网络的一部分。我认为在这里要指出的另一点很重要,是我们用无线电收集的数据来验证它。
看看这个。这实际上是我桌子上的一个配置,为了拍照,我把收音机放在了一起。这些是我之前说过的ADI Pluto模块。我桌上的通信通道处于紧张状态。无线电是紧挨着的,但这是关于工作流程的。
这个小应用是我们放在例子上面的用来展示发生了什么。你可以看到我已经配置好了冥王星无线电。我可以选择运行的帧数。当网络正确的时候,我实际上传输的是我预测的相同的波形。你可以对接收者的IQ值有一点了解,但我喜欢的是你还可以看到概率,网络在想什么。
在这个例子中,我们发送了一个BPSK波形,网络实际上正确地识别了它。但你可以在这里看到它考虑的其他因素。所以,它是一个非常强大的小框架,可以开始使用,即使你不使用这些无线电,或者在无线电之间有一个更有压力的通道,网络都是关于你将使用的相同的工作流程。
好的,这就引出了我们最后一个例子,这个例子是关于射频指纹识别的。我们要做的就是用我们的指纹识别网络上的路由器模仿者。这是一个无线局域网网络。我们要合成每个已知路由器之间的射频指纹,路由器1到3,以及观测站。如果它不属于这三个连接之一,我们想要描述一个未知的路由器类,在这个场景中,它基本上是任何其他类型。
我们将使用我们的信道损伤、信道模型和无线局域网工具箱来生成大量数据,以训练我们的网络用于已知配置(即路由器1到3)和未知配置(即网络上可能有流氓连接器)。你在这里看到的是这些连接到一个路由器和一个移动热点,经过一些训练,观察者收到信标帧并解码Mac地址。此外,观测器提取信号,并使用这些信号对信标帧源的射频指纹进行分类。
现在,在Mac地址,RF指纹匹配的情况下,就像路由器1,2和3的情况一样,然后观察者声明这是一个已知的路由器。如果信标的Mac地址不在数据库中,并且RF指纹不匹配,则将其标记为未知路由器。现在,在模仿者的情况下,如图所示,所发生的是邪恶的孪生路由器模仿者复制了一个已知路由器的Mac地址,并使用该Mac地址传输信标帧。然后黑客可以阻塞原来的路由器,迫使用户连接到一个邪恶的孪生兄弟。
现在,观察者接收到信标帧,并解码Mac地址。现在,如果我们看到它是正确的Mac地址,但射频指纹不匹配,那么我们就知道有人恶意地试图连接到这个网络。在这个例子中,我们使用无线局域网工具箱来生成波形,我们将这些波形通过复杂的通道传递,这些通道包括信道损伤,以及射频损伤。收集到的数据被用来生成用于训练的数据。这些训练数据被用来训练神经网络,然后我们能够开发我们所有的算法来测试它们,看看我们是否能检测到路由器模仿。
在我们综合数据的例子中,一切正常。我们可以改进算法。我们可以改进网络的训练方式,网络架构的配置方式,我们可以继续扩大受损量,包括我们添加的信道和射频,使系统更加真实。现在,为了测试它,我们可以尝试简单地改变Mac地址,在这种情况下,你在底部看到的响应是正确的,我们看到它没有被识别。如果我们知道正确的Mac地址,但射频指纹是错误的,那么我们可以知道网络上除了是一个未知地址之外,还有一个未知设备。我们还可以查看是否有人试图恶意进入网络。
这就是所有的合成。同样,所有的工作流程都在这里执行。所以,当我现在用硬件做同样的事情时,我有更高的机会让它工作。所以,这里的情况非常相似,但在这个例子中,我们没有做综合,我们描述了每个路由器和观察者之间的射频指纹,我们使用冥王星无线电来完成这项工作。所以我们在每个路由器之间的固定位置收集大量数据,在这里,我们使用硬件引入并捕获射频指纹。很多不同的数据集来训练网络,就像我们在合成中做的一样,从训练的角度来看,我们得到了与实际硬件相同的结果。
现在,我们如何创建未知情况?嗯,在这种情况下,我们有一个移动的冥王星电台,我们可以把收音机放在一个平台上,我们可以四处移动并收集数据。结果是,这就是我们用来分类未知射频指纹的东西,因为它可能出现在这种情况下的任何地方。我们想在移动的过程中获取大量的数据,并在移动平台和Pluto之间创建不同的通道,这些通道将连接到路由器。都是未知类因为它和我们获取数据的类不同。
但作为一个总结,我认为这是一个很好的工作流程,因为第一部分我们可以综合地做所有事情。我们也可以在硬件上进行测试,两种情况下得到的结果是一样的。所以,这是一个好迹象,就像在前面的ModID例子中一样,我可以从收音机中获取数据,并将其放入系统中。这里,我实际上是用数据来训练网络,从无线电中收集数据,同时,用从无线电中收集的数据来测试网络。所以,你可能有自己的收音机,你可能有自己的系统,甚至可能在这个应用程序之外,但是建模一个复杂系统的概念,其中有通道通过,无论是雷达还是通信,给你一种感觉,它如何匹配你在物理系统中看到的实际情况。
好了,现在我们已经讲过了这些例子,我想再次提醒你们我们拥有的深度学习技巧和技巧的资源。它确实可以帮助您选择体系结构,以及为不同的应用程序配置和调优,而不仅仅是成像。它也包括信号。这是我给你们看的页面上方的网站。现在可能也是总结我们所讲内容的好时机。
我们讨论了这样一个概念,即模型只与我们输入的交易数据一样好,我们还演示了如何直接为您构建的数据标记。我们还讨论了合成数据,以及这些领域特定的工具如何帮助您建模雷达和通信系统。有一件事我没有提到,但可能是显而易见的,那就是当你综合数据时,除了能够生成大量高保真的数据集之外,你还可以避免标记的挑战。因为当你合成你自己的数据时,在你生成它的时候很容易给它贴上标签,所以这也让标记过程变得非常非常容易。
我们讨论了在人工智能生态系统中协作的概念,以及我在本次网络研讨会上使用的所有例子,以及我向你们展示的所有例子,我们都是基于我们的深度学习工具箱。但是我们的深度学习工具箱与[?OnyX, ?]它为您提供了一个与人工智能生态系统的开放连接。最后,我们讨论了各种平台的部署和扩展。现在,在这个网络研讨会上,基本上我已经描述了一些领域,我们可以从硬件方面获取数据,这是在我在这里展示的图表的左边,但最终,我们可以部署这些类型的系统,要么到云端,要么到嵌入式平台,或者深入使用。
我向你们展示的例子包括通信工具箱和相控阵系统工具箱,但你们也看到最后一个例子包括无线局域网协议,它是无线局域网工具箱的一部分。所有的信号处理、标记和特征提取都是用我们的小波工具箱和信号处理工具箱完成的。与SVM的连接是通过统计数据和机器学习工具箱,以及我们所有的深度学习网络和深度学习工具箱。
我没有详细地展示这些,我有点暗指它们,但如果你在研究无线通信,你想综合数据,与它们相关的波形,以及所有这些类型系统的所有物理层建模,5G工具箱和LT工具箱也非常有用。有很多很好的资源可以开始。我给你们看的例子可以在网上找到。我们通过详细的代码以及如何综合我们在训练中使用的数据。
我们讨论了我们在所有情况下使用的网络架构。然后我们展示每一个的结果,对于所有这些,如果你有工具,你可以很容易地重新创建我给你们看的所有演示。我把网站包括在这里。我还想提醒你们注意我们有一份关于深度学习的白皮书,它详细介绍了我刚才谈到的很多内容。可以免费下载。
最后是信号处理的深度学习页面。我在这里展示的很多信号处理概念,包括特征提取、预处理、小波处理、标记和信号分析仪应用程序中的信号分析,都在这个页面上捕获。
我鼓励你们看一看。网络研讨会到此结束。再次感谢你抽出时间。
您也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。