本申请涉及智能终端定位技术领域,尤其涉及一种基于智能终端的多径误差提取方法和相关装置。
背景技术:
随着通信技术的发展及人们生活需求的提高,人们一直在追求更高精度的定位技术。因此,对高定位技术的相关研究一直都是技术人员的研究热点。
多径效应造成的多径误差为智能终端定位时的最大误差源之一,有效解决多径效应可以提高定位结果的准确性。在同样的多径反射环境下,智能终端的多径误差比测量型接收机严重,而现有对多径效应的解决方法多基于测量型接收机提出,不适用于智能终端。
因此,提供一种基于智能终端的多径误差提取方法是本领域技术人员亟待解决的技术问题。
技术实现要素:
本申请提供了一种基于智能终端的多径误差提取方法和相关装置,解决了现有对多径效应的解决方法多基于测量型接收机提出,不适用于智能终端的技术问题。
有鉴于此,本申请第一方面提供了一种基于智能终端的多径误差提取方法,包括:
获取通过智能终端接收到的gnss原始观测序列;
基于cmc残差序列计算公式,根据所述gnss原始观测序列计算cmc残差序列;
通过经验模态分解算法对所述cmc残差序列进行分解,得到若干分解子序列;
根据若干所述分解子序列各自对应的频率,将若干所述分解子序列划分为第一组序列、第二组序列和第三组序列,其中,所述第一组序列的频率f1、所述第二组序列的频率f2和所述第三组序列的频率f3之间具有f1<f2<f3的频率关系;
将所述第二组序列和所述第三组序列分别进行小波去噪,获取所述第二组序列对应的第二组重构序列和所述第三组序列对应的第三组重构序列;
将所述第一组序列、所述第二组重构序列和所述第三组重构序列进行求和,得到所述智能终端对应的多径误差序列。
可选地,所述cmc残差序列计算公式包括:
cmc'n=mn,p+εn,p+εn,ma;
式中,cmc'n为cmc残差序列第n个观测历元的值,n为当前观测历元,mn,p为原始观测序列中第n个观测历元的伪距观测量上的多径误差,εn,p为第n个观测历元的伪距观测量上的接收机随机噪声,εn,ma为第n个观测历元上的随机误差。
可选地,通过经验模态分解算法对所述cmc残差序列进行分解,得到若干分解子序列,具体包括:
s1、获取所述cmc残差序列对应的上包络线和下包络线;
s2、根据所述上包络线和所述下包络线,求解平均包络;
s3、计算所述cmc残差序列和所述平均包络的差值序列;
s4、当判断到所述差值序列存在负的局部极大值和正的局部极小值时,将差值序列作为所述分解子序列,并判断所述cmc残差序列分解出该分解子序列后的残余序列是否为单调序列,若是,则结束分解,若否,则将所述残余序列作为新的所述残差序列后,返回步骤s1;
s5、当判断到所述差值序列不存在负的局部极大值和正的局部极小值时,将所述差值序列作为新的所述cmc残差序列后返回步骤s1。
可选地,所述第一组序列的频率f1对应的范围为小于1mhz;
所述第二组序列的频率f2对应的范围为[1,50]mhz;
所述第三组序列的频率f3对应的范围为大于50mhz。
可选地,将所述第二组序列和所述第二组序列分别进行小波去噪,获取各自对应的第二组重构序列、第三组重构序列具体包括:
对所述第二组序列依次进行小波分解和小波重构,得到对应的第二组重构序列;
对所述第三组序列依次进行小波分解和小波重构,得到对应的第三组重构序列。
可选地,将所述第一组序列、所述第二组重构序列和所述第三组重构序列进行求和,得到所述智能终端对应的多径误差序列,之后还包括:
基于所述多径误差序列对所述gnss原始观测序列进行校正,得到校正序列;
基于所述校正序列,得到对应的定位结果。
可选地,通过经验模态分解算法对所述cmc残差序列进行分解,得到若干分解子序列,之前还包括:
通过绝对中位差对cmc残差序列进行异常值剔除。
本申请第二发明提供了一种基于智能终端的多径误差提取装置,包括:
获取单元,用于获取通过智能终端接收到的gnss原始观测序列;
计算单元,用于基于cmc残差序列计算公式,根据所述gnss原始观测序列计算cmc残差序列;
分解单元,用于通过经验模态分解算法对所述cmc残差序列进行分解,得到若干分解子序列;
划分单元,用于根据若干所述分解子序列各自对应的频率,将若干所述分解子序列划分为第一组序列、第二组序列和第三组序列,其中,所述第一组序列的频率f1、所述第二组序列的频率f2和所述第三组序列的频率f3之间具有f1<f2<f3的频率关系;
去噪单元,用于将所述第二组序列和所述第三组序列分别进行小波去噪,获取所述第二组序列对应的第二组重构序列和所述第三组序列对应的第三组重构序列;
求和单元,用于将所述第一组序列、所述第二组重构序列和所述第三组重构序列进行求和,得到所述智能终端对应的多径误差序列。
本申请第三发明提供了一种基于智能终端的多径误差提取设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行如第一方面所述的基于智能终端的多径误差提取方法。
本申请第四方面提供了一种存储介质,所述存储介质用于存储程序代码,所述程序代码用于执行如第一方面所述的基于智能终端的多径误差提取方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请提供了一种基于智能终端的多径误差提取方法,包括:获取通过智能终端接收到的gnss原始观测序列;基于cmc残差序列计算公式,根据gnss原始观测序列计算cmc残差序列;通过经验模态分解算法对cmc残差序列进行分解,得到若干分解子序列;根据若干分解子序列各自对应的频率,将若干分解子序列划分为第一组序列、第二组序列和第三组序列,其中,第一组序列的频率f1、第二组序列的频率f2和第三组序列的频率f3之间具有f1<f2<f3的频率关系;将第二组序列和第三组序列分别进行小波去噪,获取第二组序列对应的第二组重构序列和第三组序列对应的第三组重构序列;将第一组序列、第二组重构序列和第三组重构序列进行求和,得到智能终端对应的多径误差序列。
本申请中对智能终端接收到的gnss原始观测序列首先进行cmc残差序列的计算,然后对该cmc残差序列进行分解,并按照频率大小对分解后得到的分解子序列进行分组,得到第一组序列、第二组序列和第三组序列,接着对第二组序列和第三组序列分别进行小波去噪,得到各自对应的第二组重构序列和第三组重构序列,最后对第一组序列、第二组重构序列和第三组重构序列求和,便可得到智能终端对应的多径误差序列,实现对智能终端的多径误差的提取,从而解决了现有对多径效应的解决方法多基于测量型接收机提出,不适用于智能终端的技术问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例中一种基于智能终端的多径误差提取方法的实施例一的流程示意图;
图2为本申请实施例中一种基于智能终端的多径误差提取方法的实施例二的流程示意图;
图3为本申请实施例中经验模态分解算法的流程示意图;
图4为本申请实施例中小波去噪的流程示意图;
图5为本申请实施例中结合经验模态分解与小波去噪的计算过程示意图;
图6为本申请实施例中多径误差序列的计算过程示意图;
图7为本申请实施例中一种基于智能终端的多径误差提取装置的实施例的结构示意图。
具体实施方式
本申请实施例提供了一种基于智能终端的多径误差提取方法和相关装置,解决了现有对多径效应的解决方法多基于测量型接收机提出,不适用于智能终端的技术问题。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,本申请实施例中一种基于智能终端的多径误差提取方法的实施例一的流程示意图。
本实施例中的一种基于智能终端的多径误差提取方法包括:
步骤101、获取通过智能终端接收到的gnss原始观测序列。
需要说明的是,要提取的是智能终端对应的多径误差,因此首先获取通过智能终端接收到的gnss原始观测序列。
步骤102、基于cmc残差序列计算公式,根据gnss原始观测序列计算cmc残差序列。
码减相位组合观测量(code-minus-carrier,cmc)被用来研究单频gnss接收机的多径误差,因此在获取到gnss原始观测序列后,基于cmc残差序列计算公式结合gnss原始观测序列可以求解cmc残差序列。
步骤103、通过经验模态分解算法对cmc残差序列进行分解,得到若干分解子序列。
经验模态分解算法能够将复杂信号分解为有限个本征模函数(intrinsicmodefunction,imf)分量,用以分析原信号所包含的不同时间尺度的局部特征信号。经验模态分解算法将非平稳数据进行平稳化处理后,采用希尔伯特变换可以对具有实际物理意义的频谱图进一步分析。经验模态分解算法自适应地对信号的时频进行处理,可以获得信号序列时间尺度上的局部特性,避免小波分解采用单一基函数的局限性。
采用经验模态分解算法的前提:(1)数据至少有两个极值,一个极大值与一个极小值;(2)数据的局部时域特性由极值点间的时间尺度唯一确定;(3)如果该数据不存在极值点但存在拐点,则可以通过大于等于1次微分求得极值,再进行相应积分获得分解结果。
步骤104、根据若干分解子序列各自对应的频率,将若干分解子序列划分为第一组序列、第二组序列和第三组序列。
第一组序列的频率f1、第二组序列的频率f2和第三组序列的频率f3之间具有f1<f2<f3的频率关系。
步骤105、将第二组序列和第三组序列分别进行小波去噪,获取第二组序列对应的第二组重构序列和第三组序列对应的第三组重构序列。
本实施例中,基于小波去噪方法对第二组序列和第三组序列分别去噪后,获取第二组序列对应的第二组重构序列和第三组序列对应的第三组重构序列。
步骤106、将第一组序列、第二组重构序列和第三组重构序列进行求和,得到智能终端对应的多径误差序列。
本实施例中对智能终端接收到的gnss原始观测序列首先进行cmc残差序列的计算,然后对该cmc残差序列进行分解,并按照频率大小对分解后得到的分解子序列进行分组,得到第一组序列、第二组序列和第三组序列,接着对第二组序列和第三组序列分别进行小波去噪,得到各自对应的第二组重构序列和第三组重构序列,最后对第一组序列、第二组重构序列和第三组重构序列求和,便可得到智能终端对应的多径误差序列,实现对智能终端的多径误差的提取,从而解决了现有对多径效应的解决方法多基于测量型接收机提出,不适用于智能终端的技术问题。
以上为本申请实施例提供的一种基于智能终端的多径误差提取方法的实施例一,以下为本申请实施例提供的一种基于智能终端的多径误差提取方法的实施例二。
请参阅图2,本申请实施例中一种基于智能终端的多径误差提取方法的实施例二的流程示意图。
本实施例中的一种基于智能终端的多径误差提取方法包括:
步骤201、获取通过智能终端接收到的gnss原始观测序列。
需要说明的是,步骤201的描述与实施例一种步骤101的描述相同,在此不再赘述。
步骤202、基于cmc残差序列计算公式,根据gnss原始观测序列计算cmc残差序列。
cmc残差序列的一般计算公式为:
其中,p为伪距观测量,φ为载波相位观测量,λ为原始观测序列的波长,i为电离层延迟,n为整周模糊度,mp,mφ分别为伪距、载波相位观测量上对应的多径误差,εp,εφ分别为伪距、载波相位观测量上对应的接收机随机噪声。
通过一次差分可以消去伪距与载波相位观测量上的公共误差,如卫星、接收机钟差,对流层延迟与轨道误差。载波相位的多径误差最大可达到波长的1/4周,对于l1频段来说大约为4.8cm,然而伪距的多径误差由于c/a码测量测量精度较低,在多径反射相对严重的场景下,伪距多径可达到几十米,故载波相位多径误差可以忽略不计,所以cmc可以简化为如下表达式:
cmc=2i-λn+mp+εp。(2)
上述表达式中右边四项对应不同的频域范围,电离层延迟的频率低于0.1mhz,可被视作为偏差;在周跳与钟跳被正常检测与修复的条件下,模糊度项亦可被视作偏差。多径误差的频率范围在1mhz到几十mhz之间,随机噪声误差项可作为白噪声被处理。故电离层延迟与模糊度项可以采用滑动平均(movingaverage,ma)方法处理,处理方法如下:
其中,cmc'n为cmc残差序列第n个观测历元的值,mn,p为原始观测序列中第n个观测历元的伪距观测量上的多径误差,εn,p为第n个观测历元的伪距观测量上的接收机随机噪声,εn,ma为对式(1)的cmc残差序列滑动平均滤波之后在第n个观测历元上的随机误差。
上式中包含伪距观测量的多径误差、随机噪声误差与由通过滑动平均滤波之后不可避免引入ma引起的随机误差。当k=500可以最小化噪声同时保留大部分多径误差分量。
步骤203、通过绝对中位差对cmc残差序列进行异常值剔除。
本实施例中,为了防止干扰对cmc残差序列进行异常值剔除,然后对剔除异常值后的cmc残差序列执行后续步骤。
绝对中位差(medianabsolutedeviation,mad)定义为数据点到中位数的绝对偏差的中位数,假定数据集为:y={y1,y2...ym...yn},此时的绝对中位差为:
mad=median(|ym-median(y)|)
其中,median(·)表示为对括号内的序列取中位数操作。假定数据集服从正态分布,对于衡量因子0.6749mad×|ym-median(y)|大于阈值t=3.5即被视为异常点,将予以剔除。
步骤204、通过经验模态分解算法对cmc残差序列进行分解,得到若干分解子序列。
参考图3所示,本实施例中通过经验模态分解算法对cmc残差序列进行分解,得到若干分解子序列,具体包括:
s1、获取cmc残差序列对应的上包络线和下包络线;
s2、根据上包络线和下包络线,求解平均包络;
s3、计算cmc残差序列和平均包络的差值序列;
s4、当判断到差值序列存在负的局部极大值和正的局部极小值时,将差值序列作为分解子序列,并判断cmc残差序列分解出该分解子序列后的残余序列是否为单调序列,若是,则结束分解,若否,则将残余序列作为新的残差序列后,返回步骤s1;
s5、当判断到差值序列不存在负的局部极大值和正的局部极小值时,将差值序列作为新的cmc残差序列后返回步骤s1。
经过经验模态分解算法分解后,cmc残差序列x(t)可以表示为:
其中,cw(t)为分解得到的第w个分解子序列,r(t)为残余序列,m为分解子序列的个数。
步骤205、根据若干分解子序列各自对应的频率,将若干分解子序列划分为第一组序列、第二组序列和第三组序列。
其中,第一组序列的频率f1、第二组序列的频率f2和第三组序列的频率f3之间具有f1<f2<f3的频率关系;
第一组序列的频率f1对应的范围小于1mhz;
第二组序列的频率f2对应的范围为[1,50]mhz;
第三组序列的频率f3对应的范围大于50mhz。
至此获得所有分解子序列,分别提取1-50mhz,高于50mhz的频谱分量对应的imfa时间序列(第二组序列)与imfb时间序列(第三组序列),进入到下一步小波阈值去噪操作。
步骤206、对第二组序列依次进行小波分解和小波重构,得到对应的第二组重构序列。
如图4所示,参照小波去噪的一般流程,基于小波去噪方法对第二组序列依次进行小波分解和小波重构,得到对应的第二组重构序列。
离散小波变换(dwt)作为现代谱分析工具之一,很好地兼顾在局部时域考察频域特性、在局部频域观测时域特性的时频分析。小波可在不同尺度上对信号进行分解,分解为细节分量与近似分量,采用阈值量化的方法可以实现小波去噪。具体地参考图5,采用dwt进行小波去噪流程包括:
步骤1、选择小波基函数。利用不同小波基函数会对信号的分解重构产生不一样的效果,通常有正交性、对称性、正则性等衡量标准。本实施例中根据小波基函数去噪效果的优劣程度和待处理信号本身特点选择symlet小波作为小波基函数。
步骤2、通过步骤1确定的小波基函数对第二组序列进行小波分解,获得小波系数。
离散小波函数框架可以表示为:
ψj,k(t)=a-j/2ψ(a-jt-kb),j,k∈z;
其中,ψ(t)为小波基,a、b为尺度参数,j为尺度因子,k为平移参数。
离散小波变换系数可以表示为:
其中,xd(t)为进行dwt的序列,<·>表示为内积运算。
步骤3、利用阈值函数对步骤2获得的小波系数进行处理获得用于序列重构的小波系数。
选择阈值函数。在经典的小波阈值去噪法当中,通常有软硬阈值函数(thresholdfunction,tf)两种。硬阈值函数在均方误差意义上优于软阈值函数,但会给去噪后数据序列增加幅度震荡,产生跳跃点,从而不具有原始序列的平滑特性。而软阈值得到的小波系数具有良好连续性,但由于对原数据的压缩会产生一定的偏移,软硬阈值的折中选择可以在上述问题之间找到平衡,适用于有效成分占比大的时间序列,从而影响对原始数据序列的逼近程度。
用于处理imfa时间序列(第二组序列)的阈值函数:
用于处理imfb时间序列(第三组序列),具有自适应性的阈值函数可表示为:
其中,
选择小波去噪阈值门限为:
其中,j为当前层数;nj为小波分解第j层系数的长度,噪声标准差为
步骤4、数据序列其重建形式可表示为:
步骤207、对第三组序列依次进行小波分解和小波重构,得到对应的第三组重构序列。
综上,对选定的imfa时间序列、imfb时间序列进行dwt获得原始分解的小波系数后,根据阈值函数tfa、tfb分别对上一步获得的小波系数进行信号重建,利用新小波系数重构的序列即为第二组重构序列和第三组重构序列。
步骤208、将第一组序列、第二组重构序列和第三组重构序列进行求和,得到智能终端对应的多径误差序列。
如图6所示,将第一组序列、第二组重构序列和第三组重构序列进行求和,得到智能终端对应的多径误差序列。
步骤209、基于多径误差序列对gnss原始观测序列进行校正,得到校正序列。
步骤210、基于校正序列,得到对应的定位结果。
基于多径误差序列对gnss原始观测序列进行校正后,采用校正后的校正序列进行定位可实现精度提升。
本实施例中对智能终端接收到的gnss原始观测序列首先进行cmc残差序列的计算,然后对该cmc残差序列进行分解,并按照频率大小对分解后得到的分解子序列进行分组,得到第一组序列、第二组序列和第三组序列,接着对第二组序列和第三组序列分别进行小波去噪,得到各自对应的第二组重构序列和第三组重构序列,最后对第一组序列、第二组重构序列和第三组重构序列求和,便可得到智能终端对应的多径误差序列,实现对智能终端的多径误差的提取,从而解决了现有对多径效应的解决方法多基于测量型接收机提出,不适用于智能终端的技术问题。
以上为本申请实施例提供的一种基于智能终端的多径误差提取方法的实施例二,以下为本申请实施例提供的一种基于智能终端的多径误差提取装置的实施例。
请参阅图7,本申请实施例中一种基于智能终端的多径误差提取装置的实施例的结构示意图。
本实施例一种基于智能终端的多径误差提取装置包括:
获取单元701,用于获取通过智能终端接收到的gnss原始观测序列;
计算单元702,用于基于cmc残差序列计算公式,根据gnss原始观测序列计算cmc残差序列;
分解单元703,用于通过经验模态分解算法对cmc残差序列进行分解,得到若干分解子序列;
划分单元704,用于根据若干分解子序列各自对应的频率,将若干分解子序列划分为第一组序列、第二组序列和第三组序列,其中,第一组序列的频率f1、第二组序列的频率f2和第三组序列的频率f3之间具有f1<f2<f3的频率关系;
去噪单元705,用于将第二组序列和第三组序列分别进行小波去噪,获取第二组序列对应的第二组重构序列和第三组序列对应的第三组重构序列;
求和单元706,用于将第一组序列、第二组重构序列和第三组重构序列进行求和,得到智能终端对应的多径误差序列。
本实施例中对智能终端接收到的gnss原始观测序列首先进行cmc残差序列的计算,然后对该cmc残差序列进行分解,并按照频率大小对分解后得到的分解子序列进行分组,得到第一组序列、第二组序列和第三组序列,接着对第二组序列和第三组序列分别进行小波去噪,得到各自对应的第二组重构序列和第三组重构序列,最后对第一组序列、第二组重构序列和第三组重构序列求和,便可得到智能终端对应的多径误差序列,实现对智能终端的多径误差的提取,从而解决了现有对多径效应的解决方法多基于测量型接收机提出,不适用于智能终端的技术问题。
本申请实施例还提供了一种基于智能终端的多径误差提取设备的实施例,本实施例中的基于智能终端的多径误差提取设备包括处理器以及存储器:存储器用于存储程序代码,并将程序代码传输给处理器;处理器用于根据程序代码中的指令执行如实施例一或实施例二的基于智能终端的多径误差提取方法。
本实施例中实施例还提供了一种存储介质的实施例,本实施例中的存储介质用于存储程序代码,程序代码用于执行如实施例一或实施例二的基于智能终端的多径误差提取方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个待安装电网网络,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。