一种基于非线性SVM算法的电离层相位闪烁检测方法与流程

文档序号:17187410发布日期:2019-03-22 21:28阅读:337来源:国知局
一种基于非线性SVM算法的电离层相位闪烁检测方法与流程

本发明属于无线通信技术领域,尤其涉及一种基于非线性svm算法的电离层相位闪烁检测技术。



背景技术:

随着gps系统的发展和对更高定位精度的需求,对电离层闪烁进行监测和研究需要被关注和重视。电离层闪烁是电离层等离子体中不规则结构引起的,是指射频信号在电离层中传播的振幅和相位的快速波动。产生这种现象的原因有很多,包括但不限于太阳活动、磁暴、局部电场、电导率、波相互作用等。电离层闪烁的高频发生区域为近赤道地区和极地地区,且电离层闪烁造成的幅度闪烁和相位闪烁并不总是一起发生,在近赤道地区以前者为主;极地地区则以后者为主。

闪烁会影响穿透电离层的所有空间无线电信号,并可能导致精度和连续性的性能下降。强闪烁会严重影响gnss接收机的信号采集和跟踪,导致失锁和导航失败。因此,寻求准确、高效的电离层闪烁检测方法不仅有助于设计性能更优的接收机以提高定位精度、减小电离层闪烁的影响,同时也能为电离层和空间天气模型建立提供帮助。

相比于电离层幅度闪烁,相位闪烁相关研究方法相对较少。最常见的电离层相位闪烁检测方法以经验为主,通过判断相位闪烁指数是否超过某一阈值,若超过阈值则判断为发生相位闪烁,由于该方法受到非优化经验阈值的限制,其准确度有待提高。



技术实现要素:

技术问题:本发明所要解决的技术问题在于为克服现有技术的不足,打破传统方法的局限,本发明提出了一种基于非线性svm算法的电离层相位闪烁检测技术。所述方法结合非线性svm算法,通过学习电离层相位闪烁特征,建立分类超平面,实现对相位闪烁事件的自动检测。相比于传统方法,所述方法提供一种简单高效待检测方法,能同时处理大批量数据,且检测准确度较高。

技术方案:本发明为解决上述技术问题,采取的技术方案如下:

一种基于非线性svm算法的电离层相位闪烁检测方法,具体包括如下步骤:

步骤a,将接收机中测量到的信号利用相位数据去趋势项、接收机载波环路低带宽设计及几何相位中心偏移标定后,得到新的载波相位数据以一段时间(例如3分钟)为一块进行数据划分,经处理后提取每块信号特征量,即相位闪烁指数的最大值和平均值,并手动标记对应的闪烁事件标签,作为机器学习的训练样本;

步骤b,构造一个未知的非线性svm分类器模型;目的是通过给定的具有某些特征的样本,寻找一个超平面对样本进行分类,进一步应用到未知样本类别的新样本中。该分类器通过样本进行交叉验证得出最优超参数,将样本分为“发生相位闪烁事件”和“未发生相位闪烁事件”两类,即为二元分类问题,最终得到最优非线性svm分类器,能够对新的闪烁事件做出最优分类;

步骤c,将新闪烁事件的特征向量输入步骤b中的非线性svm分类器,分类器自动对该闪烁事件进行分类,得到值为1或-1的标签,同时处理大量闪烁事件分类问题;

作为本发明一种基于非线性svm算法的电离层相位闪烁检测方法的进一步优选方案,步骤a中,所述提取特征量、建立训练样本,具体描述如下:

步骤a-1,信号从gps卫星穿过电离层到达接收机天线后,在接收机中测量的信号相位表示为:

其中,ωr是信号发射频率,ωr是接收频率,lg(t)是几何相位偏移,是相位噪声,是电离层闪烁相位偏移,tec(t)是没有电离层闪烁时电子密度分布造成的相位延迟,c是光速,λ是穿过电离层射频信号的波长;

步骤a-2,利用相位数据去趋势项、接收机载波环路低带宽设计及几何相位中心偏移标定等技术处理步骤a-1中的相位数据,得到新的载波相位数据,记为接收机输出的相位数据进行去趋势项处理的滤波器特性如下:

其中,fn取0.1hz,滤波器选用三个四阶的标准butterworth高通滤波器级联,

步骤a-3,对步骤a-2所得载波相位数据以30s为间隔求取电离层相位闪烁指数计算公式如下:

其中,e(·)表示数学期望,取时间长度为30s;

步骤a-4,将所有处理过的数据以3分钟为一个块无重叠划分,则每块包含6个相位闪烁指数提取每块数据中的最大值和平均值作为电离层幅度闪烁的特征量,并手动标记每块数据对应时间段是否发生闪烁事件,标记1表示发生闪烁事件,标记-1表示未发生闪烁事件,进一步将每块数据以样本的数学形式表示如下:

特征向量:

标签:

其中i表示第i个数据样本,若总共处理得m个数据样本,则1≤i≤m;

作为本发明一种基于非线性svm算法的电离层相位闪烁检测方法的进一步优选方案,步骤b中,所构造的未知非线性svm分类模型是将特征向量x(i)映射到高维空间,再在高维空间进行分类训练,寻找最优超平面,具体描述如下:

步骤b-1,建立svm分类器模型g(x)=wtφ(x)+b,其中,φ(x)为将2维特征向量x映射到高维的映射函数,即且m>>2,如将特征向量x(i)映射到高维表示为φ(x(i))=(φ1(x(i)),...,φm(x(i)))t,上升到高维空间后,该分类器模型为线性模型,但在低维空间为非线性模型;最优非线性分类器模型建立过程即为寻找参数w0和b0,使得作为一个超平面将样本分为两类,且保证距离该超平面两侧最近的样本具有最远的间距,具有这些特征的样本点即为支持向量sv,上述最大化边界问题经一系列转化表述为如下数学形式:

约束条件:

其中ξi,i=1,...,m为每个训练样本点的松弛变量,c为超参数,表示对超过最大化边界的样本点的容忍度,以防止过度拟合;

步骤b-2,将上述最大化边界问题及约束条件引入拉格朗日乘子表示为:

其中,

αi,βi,i=1,...,m,将式l分别对wi,bi,ξi求导并置0可求得将求导结果及约束条件代入matlab中函数quadprog即可解得最大化边界问题的参数,拉格朗日函数特点决定了αi≠0项所对应的第i个训练样本即为支持向量sv(以x(s)表示),对应的可求出b0=y(s)-y(s)ξs-wtφ(x(s)),其中ξs=0;

步骤b-3,将步骤b-2所得w0和b0代入非线性svm分类器模型表达式中得:

在上式中引入核函数k(x(i),x)=φt(x(i))φ(x),上式即简化为:

其中,核函数的作用是接受两个低维空间的向量,能够计算出经过某个变换后在高维空间里的向量内积值,而无需在寻找将低维特征向量映射到高维空间的函数φ(x)后再内积运算;

非线性svm算法中所使用的核函数为称为高斯核函数,又称径向基函数rbf,其中γ为超参数,该核函数使得非线性svm分类器模型只需要输入为低维空间的特征向量时即可做出正确的分类;

步骤b-4,将步骤b-1至步骤b-3中的最大化边界问题通过matlab中classificationlearner模型进行样本学习来寻找最佳分类器。将数据样本特征记为x=(x(1),x(2),...,x(m)),即2×m的矩阵;标签记为y=(y(1),y(2),...,y(m)),即1×m的行向量。将上述矩阵和向量组合成3×m的矩阵z=(x;y),作为样本输入矩阵;

步骤b-5,取上述矩阵z的m个样本的80%作为训练样本进行交叉验证,将矩阵整体输入matlab中的classificationlearner,并选择高斯非线性svm分类器模型,设置交叉验证折数k、超参数c和γ的值。在训练过程中,程序随机将输入的样本数等分为k份,其中每k-1份用来对模型进行学习,剩下1份对学习过的模型进行测试,得到测试准确率,依次共进行k次训练后得当前超参数c和γ对应的平均测试准确率;

步骤b-6,为寻找最佳超参数,以获得最优分类器模型,更改超参数c和γ的值,如c可取2-2,2-1,1,2,22,23,24,25,26,27,γ可取0.001,0.003,0.01,0.03,0.1,0.3,1,3,10,30。每更改一次c和γ的值,重复步骤b-3;

步骤b-7,将所有超参数对应的平均准确率进行比较,找出最大准确率对应的超参数c和γ即为最佳超参数,该参数设置下训练所得模型即为最优分类模型;

步骤b-8,将余下20%的样本喂入学习过的分类器进行分类,将分类结果与对应的标签比对,得该分类器的准确率较高,根据不同样本学习所得分类器准确率会有极小的偏差。

4.根据权利要求1所述的一种基于非线性svm算法的电离层相位闪烁检测方法,其特征在于,步骤c中,提取新闪烁事件特征向量,所有待检测事件向量以矩阵形式表示为x=(x(1),x(2),...,x(n)),其中n为待检测样本总数,将其输入到经步骤b训练过的非线性svm模型中,若特征向量x(t)使得g(x(t))>0,则分类器输出预测值1,即表示发生了相位闪烁事件;若g(x(t))<0,则分类器输出预测值-1,即表示未发生相位闪烁事件;高维空间模型可将在低维空间线性不可分的问题转换到高维空间线性可分,若相位闪烁事件在低维空不可分或建立的线性分类模型性能较差,则上述方法在高维空间建立的模型性能良好,且具有较高准确度。

有益效果:本发明提出了一种基于非线性svm算法的电离层相位闪烁检测方法,所述方法首先从检测到的已知是否发生相位闪烁事件的数据中提取特征并标记每个事件是否为相位闪烁事件,整理为样本后,输入所建立的非线性svm分类器模型中,该模型将所有事件的特征向量映射到无限维空间中,再在无限维空间中进行样本训练分类,找出该空间中最优超平面,对应的低维空间非线性svm分类器模型即为最优模型。接着对学习过的分类器进行样本测试,得到较高的准确度,该分类器模型能将在低维空不可分或建立的线性分类模型性能较差的数据样本上升至高维空间,并获得性能良好的非线性分类模型。最后将所述分类器应用到新相位闪烁事件中,能自动进行分类,且相比于传统的根据相位闪烁指数判断闪烁是否发生的方法,所述方法具有更高的准确度,能够同时处理大批量数据,对于不同地区电离层闪烁分析和研究具有重要意义。

附图说明

图1是本发明的基于非线性svm算法的相位闪烁检测流程图。

具体实施方式

下面结合附图,对本发明提出的一种基于非线性svm算法的电离层相位闪烁检测方法进行详细说明:

本发明实施一种基于机器学习中的非线性svm算法,其整体结构如图1所示:首先将接收机中测量到的信号经处理提取特征参数并标记,具体做法如下:将接收机中测量到的信号利用相位数据去趋势项、接收机载波环路低带宽设计及几何相位中心偏移标定等技术后,得到新的载波相位数据以每30s为间隔求取电离层相位闪烁指数计算公式如下:

其中,e(·)表示数学期望,取时间长度为30s。

将所有处理过的数据以3分钟为一个块无重叠划分,则每块包含6个相位闪烁指数提取每块数据中的最大值和平均值作为电离层幅度闪烁的特征量,并手动标记每块数据对应时间段是否发生闪烁事件,标记1表示发生闪烁事件,标记-1表示未发生闪烁事件。进一步将每块数据以样本的数学形式表示如下:

特征向量:

标签:

其中i表示第i个数据样本,总共处理得5000个数据样本,1≤i≤5000。

将5000个数据样本特征记为x=(x(1),x(2),...,x(5000)),即2×5000的矩阵;标签记为y=(y(1),y(2),...,y(5000)),即1×5000的行向量。将上述矩阵和向量组合成3×5000的矩阵z=(x;y),作为样本输入矩阵。

取上述矩阵z的5000个样本的80%即4000个作为训练样本进行交叉验证,将矩阵整体输入matlab中的classificationlearner,由于每一行表示不同的特征或标签,因此选择以行作为变量类型,并将前两行作为预测变量(即特征量),第三行作为响应(即标签)。选择高斯核函数svm分类模型,设置交叉验证为10折,依次设置超参数c为2-2,2-1,1,2,22,23,24,25,26,27,超参数γ为0.001,0.003,0.01,0.03,0.1,0.3,1,3,10,30。在训练过程中,程序会随机将4000份样本等份为10份,其中每9份用来对模型进行学习,剩下1份对学习过的模型进行测试,得到测试准确率,依次共进行10次训练后得每对超参数c和γ对应的平均测试准确率。接着将所有超参数对应的平均准确率进行比较,找出最大准确率对应的超参数c和γ即为最佳超参数,该参数设置下训练所得模型即为最优分类模型。

进一步,将最优分类模型导出到空间,用来测试新的数据,该模型使用时作为函数被调用,输入为带有标签的测试样本时,输出准确率;当使用模型中的预测函数时,输入新样本的特征矩阵,将自动输出对应样本的标签。对训练模型进行测试时,5000个样本的20%即1000个样本以3×1000的矩阵形式,输入到模型中,输出为训练函数和测试准确率。根据样本选取不同,准确率会产生较小偏差。

最后将训练过的最优分类模型应用到新相位闪烁事件的检测中,该过程可进行大量数据处理。以2000份新样本数据为例,提取特征向量后,表示成矩阵x=(x(1),x(2),...,x(2000))的形式将数据作为模型中预测函数的输入变量,运行结果即为新相位闪烁事件的标签,为1则判断为有相位闪烁事件发生,为-1则判断为相位闪烁事件未发生。相比于传统方法,提高了检测准确度,且相比于线性svm模型,所述非线性svm模型能将在低维空不可分或建立的线性分类模型性能较差的数据样本上升至高维空间,以获得性能更优的超平面,进而达到最优分类的目的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1