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