一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于样本多视图学习的射频指纹识别方法与流程

2022-03-23 03:38:12 来源:中国专利 TAG:


1.本发明涉及无线通信物理层安全技术领域,具体是一种基于多视图学习的射频指纹识别方法。


背景技术:

2.由无线局域网(wlan)以及移动通信等技术的发展,大量的无线通信设备比如路由器、物联网设备、民用旋翼无人机的认证以及管控,还有不断出现的伪造通信基站信号的鉴别等,这些伴随无线通信的发展而出现的设备安全问题和信息安全问题愈发受到重视。大部分的无线局域网协议是存在安全风险的,单个欺诈性的非法设备或被黑客攻击的设备混入系统中就可能危及整个网络的安全。现在无线局域网的认证方法主要采用在应用层或数据链路层的密钥认证的方式。在可见的将来,当量子计算成熟时,密钥便很容易被破解,防护机制便无效了。因此,最近的安全策略研究集中在物理层特性上,作为密钥的补充,增强安全性。
3.基于物理层的射频指纹识别方法旨在利用唯一代表设备的射频信号特征,这些指纹特征是由发射机内部电子原件的容差或老化形成的独一无二的特征,非常适合用来进行设备的识别认证。


技术实现要素:

4.本发明的目的是针对现有技术的不足,而提供一种基于多视图学习的射频指纹识别方法。这种方法能利用样本数据并让计算机自动提取信号指纹特征,对样本数量要求降低的同时能改善低信噪比时的识别精度,数据特征提取效率高识别精度高。
5.实现本发明的技术方案是:
6.一种基于样本多视图学习的射频指纹识别方法,与现有技术不同的是,包括如下步骤:
7.1)采集待识别设备信号:采集每个待识别发射机带通信号,设带通信号的时间序列为s(n),进行下变频处理化为复基带时间序列其中同相in-phase分量x(n)和正交quadrature分量y(n)表示为公式(1):
[0008][0009]
公式(1)中为信号s(n)的希尔伯特变换,f0为信号的载波频率;
[0010]
2)数据处理并加噪声:将步骤1)中采集到的数据作能量归一化处理,然后采用matlab软件的awgn函数手动加入不同信噪比的高斯白噪声并分别保存;
[0011]
3)分割数据并制作数据集一、二和三:
[0012]
3-1)将步骤2)中保存好的数据作分割,分割为一组片段并打上所属设备标签,每个片段便是一个数据样本,一个样本包含2*128个采样点,将分割好的数据保存,为数据集
一;
[0013]
3-2)依据步骤2)保存的数据、采用matlab软件中的快速傅里叶变换函数fft对各个信噪比的数据进行傅里叶变换然后保存;
[0014]
3-3)将步骤3-2)中保存好的数据作分割,分割为一组片段并打上所属设备标签,每个片段便是一个数据样本,一个样本包含2*128个采样点,将分割好的数据保存,为数据集二;
[0015]
3-4)依据步骤2)保存好的数据,将同相分量x(n)和正交分量y(n)相加为基带复信号x(n)如公式(2)所示:
[0016]
x(n)=x(n) iy(n)
ꢀꢀꢀ
(2);
[0017]
3-5)依据步骤3-4)中复信号x(n)计算双谱,然后获得等高图,并制作数据集三,过程为:
[0018]
3-5-1)复信号x(n)的k阶累积量表示为如公式(3)所示:c
kx
(τ1,


k-1
)=cum[x(n),x(n τ1),

,x(n τ
k-1
)]
ꢀꢀꢀ
(3),
[0019]
式中τ1,


k-1
为时延;
[0020]
3-5-2)x(n)的k阶谱定义为其k阶累积量的k-1维离散时间傅里叶变换,即如公式(4)所示:
[0021][0022]
公式(4)中ω1,ω2,


k-1
为频率分量,当k=3时即为双谱,又称三阶谱,表达式为公式(5)所示:
[0023][0024]
公式(5)中三阶累积量的计算公式为c
3x
(τ1,τ2)=e{x(n)x(n τ1)x(n τ2)},e{
·
}表示对括号内求期望;
[0025]
3-5-3)采用matlab软件中的contour函数画出双谱等高图,设置白色背景并隐藏坐标系与坐标轴网格线这些无关信息,等高图的绘制采用五个等高线层级;
[0026]
3-5-4)将所得每张双谱等高图从rgb转化为灰度图,并将尺寸缩小为32
×
32,这里的图像几何变换的插值算法采用像素面积相关重采样法,最后将每张图像打上对应的设备标签保存为数据集三,
[0027]
步骤3)中由于实际数据是有限的,基于有限观测数据的情况下这里采用双谱估计法计算双谱,为非参数间接估计法,首先计算每段数据的三阶累积量,再通过傅里叶变换得到双谱估计,利用双谱的对称性减少计算量,具体步骤如下:
[0028]
a.假设样本数据是长度为n的数据序列{x(0),x(1),

x(n-1)};
[0029]
b.把n个数据分成k段,则每段有m个采样点,即n=km;
[0030]
c.将每段数据进行均值归零化处理;
[0031]
d.设i表示数据段的标签,对每一段数据估计三阶累积量,数学表达式为:
[0032][0033]
公式(10)中:i=1,2,

,k;s1=max{0,-m,-n};s2=min{m-1,m-1-m,m-1-n};
[0034]
e.通过对求ri(m,n)均值,估计三阶累积量,数学表达式为公式(11):
[0035][0036]
f.最后得到双谱估计,数学表达式为公式(12)
[0037][0038]
公式(12)中:l《m-1;w(m,n)是二维窗函数,在k阶谱估计中应该选用合适的(k-1)维窗函数,以得到较好的估计结果,这里采用parzen窗,数学表达式为公式(13)
[0039][0040]
4)设计复数值神经网络子组件并搭建复数值神经网络:采用接收复值数据的一维复值残差卷积神经网络,
[0041]
4-1)设计复值卷积核:采用实数值模拟复值运算,设复值卷积核矩阵为w=a ib,卷积核w作用的特征向量为h=x iy,当卷积核w与特征向量h相乘可以得到公式(6)所示:
[0042]
w*h=(a*x-b*y) i(b*x a*y)
ꢀꢀꢀ
(6),在实际的矩阵运算中,用r代表实部i代表虚部,则有公式(7)所示:
[0043][0044]
4-2)设计复值激活函数crelu:设神经元的值为z,实值运算的线性整流函数relu的公式为:f(z)=max(0,z),而复值激活函数crelu在神经元z的实部和虚部同时运用relu计算如公式(8)所示:
[0045]
crelu(z)=relu(r(z)) irelu(i(z))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8);
[0046]
5)搭建子神经网络一:采用步骤4)中设计好的复值卷积核组成一维卷积层并配以复值激活函数crelu,采用一组卷积层搭建残差模块,具有残差结构的神经网络能有效解决网络深度增加而退化导致的性能下降问题,残差模块构建了一个“快捷连接”,直接将模块的输入和输出连接从而防止梯度消失,将一组残差模块连接,组成子神经网络一,残差模块一共有四层:第一层为一维复卷积层,卷积核的大小为1,有32个卷积核,第二层为一维复卷积层,卷积核的大小为8,有32个卷积核,第三层为一维复卷积层,卷积核的大小为8,有32个卷积核,第四层为一维池化层,池化窗口大小为2,每一层的激活函数采用relu函数,快捷连接从第二层的输入连接到第三层的输出,整个子神经网络一共有两个相同的残差模块组成,最后连接一层神经元个数为32的全连接层,并在两个残差模块与全连接层之间加上dropout,作用是随机使一部分的神经元失活来降低网络的过拟合,使50%的神经元失活;
[0047]
6)搭建二维卷积神经网络二、三:采用接收实值数据的二维残差卷积神经网络、采用一组二维卷积层以及线性整流激活函数relu搭建残差模块,将一组残差模块连接,分别组成二维卷积神经网络二、三,其中,二维卷积神经网络二设有两个残差模块,第一个残差模块有六层:第一层为二维卷积层,卷积核尺寸为1
×
1、卷积核数量为32;第二层到第五层均为二维卷积层、卷积核尺寸为4
×
2、卷积核数量为32;第六层为二维池化层、池化窗口为2
×
2;第二个残差模块有六层:第一层为二维卷积层、卷积核尺寸为1
×
1、卷积核数量为32;
第二层到第五层都为二维卷积层、卷积核尺寸为4
×
1、卷积核数量为32;第六层为二维池化层、池化窗口为2
×
1,每个残差模块的快捷链接有两个,分别从第二层的输入连接到第三层的输出,从第四层的输入连接到第六层的输出;第二个残差模块后连接50%失活的dropout层,最后连接32个神经元的全连接层,每一层的激活函数采用relu函数;二维卷积神经网络三设有一个残差模块:第一层为二维卷积层,卷积核的大小为1
×
1、卷积核数量为32;第二层为二维卷积层、卷积核大小为4
×
4,卷积核数量为64;第三层为二维卷积层,卷积核大小为4
×
4,卷积核数量为32;第四层为二维卷积层、卷积核大小为1
×
1、卷积核数量为16;第五层为二维卷积层,卷积核大小为4
×
4、卷积核数量为16;第六层为二维卷积核,卷积核大小为1
×
1、卷积核数量为32;第七层为二维池化层,池化窗口为2
×
2;残差模块后连接50%失活的dropout层,最后连接32个神经元的全连接层,每一层的激活函数采用relu函数;快捷链接有两个,分别从第二层的输入连接到第三层的输出,从第四层的输入连接到第六层的输出;
[0048]
7)合成多视图神经网络:搭建针对射频指纹识别的多视图神经网络是将子神经网络一、二、三的输出连接在一起,形成一个全连接层,再连接一个新的神经元个数为待识别射频指纹设备个数的全连接层,最后全连接层的输出给到softmax分类器,softmax分类器将输出一组概率值p、数学表达式如公式(9)所示:
[0049][0050]
公式(9)中zi为神经网络最后一层的输出,i为类别索引,c为类别总数,输出的概率满足
[0051]
8)训练神经网络:将数据集一、二和三均按样本数量7:3的大小分别分割为训练集和测试集,每组训练集和测试集分别作为对应子神经网络一、二、三的输入进行训练,训练完毕后保存网络模型权值数据;
[0052]
9)射频指纹识别:重新采集待识别设备的数据样本如步骤1)—步骤3)所示,输入到步骤8)已经训练好的神经网络中最后输出识别结果。
[0053]
射频指纹特征提取与分类有多种方式,本技术方案采用多视图样本结合深度学习技术,多视图的应用能从不同角度剖析样本的不同互补特征,提高识别效率,同时起到了数据增强的效果,以降低对样本数量的要求、针对样本的每个视图单独设计一个神经网络作为特征提取器,最后将已提取的特征融合从而完成射频指纹识别。与现有的射频指纹识别的方法相比,本技术方案利用多视图的方法充分提取样本的互补特征,在样本数量相同的情况下相对于传统单视图方法的识别性能更强,而且神经网络能自动的提取样本中细微的射频指纹特征,传统方法往往需要人工提取进而可能损失部分有用特征,本方法的识别准确率高,简便快捷。
[0054]
这种方法能利用样本数据并让计算机自动提取信号指纹特征,对样本数量要求降低的同时能改善低信噪比时的识别精度,数据特征提取效率高识别精度高。
附图说明
[0055]
图1为实施例的方法流程示意图;
[0056]
图2为实施例中残差模块结构示意图;
[0057]
图3为实施例数据集中信号双谱等高图示意图。
具体实施方式
[0058]
下面结合附图和实施例对本发明内容做进一步的阐述,但不是对本发明的限定。
[0059]
实施例:
[0060]
参照图1,一种基于样本多视图学习的射频指纹识别方法,与现有技术不同的是,包括如下步骤:
[0061]
1)采集待识别设备信号:采集每个待识别发射机带通信号,设带通信号的时间序列为s(n),进行下变频处理化为复基带时间序列其中同相in-phase分量x(n)和正交quadrature分量y(n)表示为公式(1):
[0062][0063]
公式(1)中为信号s(n)的希尔伯特变换,f0为信号的载波频率;
[0064]
2)数据处理并加噪声:将步骤1)中采集到的数据作能量归一化处理,然后采用matlab软件的awgn函数手动加入不同信噪比的高斯白噪声并分别保存;
[0065]
3)分割数据并制作数据集一、二和三:
[0066]
3-1)将步骤2)中保存好的数据作分割,分割为一组片段并打上所属设备标签,每个片段便是一个数据样本,一个样本包含2*128个采样点,将分割好的数据保存,为数据集一;
[0067]
3-2)依据步骤2)保存的数据、采用matlab软件中的快速傅里叶变换函数fft对各个信噪比的数据进行傅里叶变换然后保存;
[0068]
3-3)将步骤3-2)中保存好的数据作分割,分割为一组片段并打上所属设备标签,每个片段便是一个数据样本,一个样本包含2*128个采样点,将分割好的数据保存,为数据集二;
[0069]
3-4)依据步骤2)保存好的数据,将同相分量x(n)和正交分量y(n)相加为基带复信号x(n)如公式(2)所示:
[0070]
x(n)=x(n) iy(n)
ꢀꢀꢀ
(2);
[0071]
3-5)依据步骤3-4)中复信号x(n)计算双谱,然后获得等高图,并制作数据集三,过程为:
[0072]
3-5-1)复信号x(n)的k阶累积量表示为如公式(3)所示:c
kx
(τ1,


k-1
)=cum[x(n),x(n τ1),

,x(n τ
k-1
)]
ꢀꢀꢀ
(3),
[0073]
式中τ1,


k-1
为时延;
[0074]
3-5-2)x(n)的k阶谱定义为其k阶累积量的k-1维离散时间傅里叶变换,即如公式(4)所示:
[0075][0076]
公式(4)中ω1,ω2,


k-1
为频率分量,当k=3时即为双谱,又称三阶谱,表达式为公式(5)所示:
[0077][0078]
公式(5)中三阶累积量的计算公式为c
3x
(τ1,τ2)=e{x(n)x(n τ1)x(n τ2)},e{
·
}表示对括号内求期望;
[0079]
3-5-3)采用matlab软件中的contour函数画出双谱等高图,设置白色背景并隐藏坐标系与坐标轴网格线这些无关信息,等高图的绘制采用五个等高线层级;
[0080]
3-5-4)如图3所示,将所得每张双谱等高图从rgb转化为灰度图,并将尺寸缩小为32
×
32,这里的图像几何变换的插值算法采用像素面积相关重采样法,最后将每张图像打上对应的设备标签保存为数据集三,
[0081]
步骤3)中由于实际数据是有限的,基于有限观测数据的情况下本例采用双谱估计法计算双谱,为非参数间接估计法,首先计算每段数据的三阶累积量,再通过傅里叶变换得到双谱估计,利用双谱的对称性减少计算量,具体步骤如下:
[0082]
a.假设样本数据是长度为n的数据序列{x(0),x(1),

x(n-1)};
[0083]
b.把n个数据分成k段,则每段有m个采样点,即n=km;
[0084]
c.将每段数据进行均值归零化处理;
[0085]
d.设i表示数据段的标签,对每一段数据估计三阶累积量,数学表达式为:
[0086][0087]
公式(10)中:i=1,2,

,k;s1=max{0,-m,-n};s2=min{m-1,m-1-m,m-1-n};
[0088]
e.通过对求ri(m,n)均值,估计三阶累积量,数学表达式为公式(11):
[0089][0090]
f.最后得到双谱估计,数学表达式为公式(12)
[0091][0092]
公式(12)中:l《m-1;w(m,n)是二维窗函数,在k阶谱估计中应该选用合适的(k-1)维窗函数,以得到较好的估计结果,本例采用parzen窗,数学表达式为公式(13)
[0093][0094]
4)设计复数值神经网络子组件并搭建复数值神经网络:采用接收复值数据的一维复值残差卷积神经网络,
[0095]
4-1)设计复值卷积核:采用实数值模拟复值运算,设复值卷积核矩阵为w=a ib,卷积核w作用的特征向量为h=x iy,当卷积核w与特征向量h相乘可以得到公式(6)所示:
[0096]
w*h=(a*x-b*y) i(b*x a*y)
ꢀꢀꢀ
(6),在实际的矩阵运算中,用r代表实部i代表虚部,则有公式(7)所示:
[0097][0098]
4-2)设计复值激活函数crelu:设神经元的值为z,实值运算的线性整流函数relu的公式为:f(z)=max(0,z),而复值激活函数crelu在神经元z的实部和虚部同时运用relu计算如公式(8)所示:
[0099]
crelu(z)=relu(r(z)) irelu(i(z))
ꢀꢀꢀꢀꢀꢀꢀꢀ
(8);
[0100]
5)搭建子神经网络一:采用步骤4)中设计好的复值卷积核组成一维卷积层并配以复值激活函数crelu,采用一组卷积层搭建残差模块,具有残差结构的神经网络能有效解决网络深度增加而退化导致的性能下降问题,残差模块构建了一个“快捷连接”,直接将模块的输入和输出连接从而防止梯度消失,将一组残差模块连接,组成子神经网络一,如图2所示,残差模块一共有四层:第一层为一维复卷积层,卷积核的大小为1,有32个卷积核,第二层为一维复卷积层,卷积核的大小为8,有32个卷积核,第三层为一维复卷积层,卷积核的大小为8,有32个卷积核,第四层为一维池化层,池化窗口大小为2,每一层的激活函数采用relu函数,快捷连接从第二层的输入连接到第三层的输出,整个子神经网络一共有两个相同的残差模块组成,最后连接一层神经元个数为32的全连接层,并在两个残差模块与全连接层之间加上dropout,作用是随机使一部分的神经元失活来降低网络的过拟合,使50%的神经元失活;
[0101]
6)搭建二维卷积神经网络二、三:采用接收实值数据的二维残差卷积神经网络、采用一组二维卷积层以及线性整流激活函数relu搭建残差模块,将一组残差模块连接,分别组成二维卷积神经网络二、三,其中,二维卷积神经网络二设有两个残差模块,第一个残差模块有六层:第一层为二维卷积层,卷积核尺寸为1
×
1、卷积核数量为32;第二层到第五层均为二维卷积层、卷积核尺寸为4
×
2、卷积核数量为32;第六层为二维池化层、池化窗口为2
×
2;第二个残差模块有六层:第一层为二维卷积层、卷积核尺寸为1
×
1、卷积核数量为32;第二层到第五层都为二维卷积层、卷积核尺寸为4
×
1、卷积核数量为32;第六层为二维池化层、池化窗口为2
×
1,每个残差模块的快捷链接有两个,分别从第二层的输入连接到第三层的输出,从第四层的输入连接到第六层的输出;第二个残差模块后连接50%失活的dropout层,最后连接32个神经元的全连接层,每一层的激活函数采用relu函数;二维卷积神经网络三设有一个残差模块:第一层为二维卷积层,卷积核的大小为1
×
1、卷积核数量为32;第二层为二维卷积层、卷积核大小为4
×
4,卷积核数量为64;第三层为二维卷积层,卷积核大小为4
×
4,卷积核数量为32;第四层为二维卷积层、卷积核大小为1
×
1、卷积核数量为16;第五层为二维卷积层,卷积核大小为4
×
4、卷积核数量为16;第六层为二维卷积核,卷积核大小为1
×
1、卷积核数量为32;第七层为二维池化层,池化窗口为2
×
2;残差模块后连接50%失活的dropout层,最后连接32个神经元的全连接层,每一层的激活函数采用relu函数;快捷链接有两个,分别从第二层的输入连接到第三层的输出,从第四层的输入连接到第六层的输出;
[0102]
7)合成多视图神经网络:搭建针对射频指纹识别的多视图神经网络是将子神经网络一、二、三的输出连接在一起,形成一个全连接层,再连接一个新的神经元个数为待识别
射频指纹设备个数的全连接层,最后全连接层的输出给到softmax分类器,softmax分类器将输出一组概率值p、数学表达式如公式(9)所示:
[0103][0104]
公式(9)中zi为神经网络最后一层的输出,i为类别索引,c为类别总数,输出的概率满足
[0105]
8)训练神经网络:将数据集一、二和三均按样本数量7:3的大小分别分割为训练集和测试集,每组训练集和测试集分别作为对应子神经网络一、二、三的输入进行训练,训练完毕后保存网络模型权值数据;
[0106]
9)射频指纹识别:重新采集待识别设备的数据样本如步骤1)—步骤3)所示,输入到步骤8)已经训练好的神经网络中最后输出识别结果。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献