一种基于光子计数装置的最优编码快速生成及解码方法与流程

文档序号:13934829阅读:196来源:国知局
一种基于光子计数装置的最优编码快速生成及解码方法与流程
本发明属于激光雷达
技术领域
,特别是涉及到极弱光探测领域,具体地说是一种适用于极弱光探测的最优伪随机编码序列快速生成方法以及伪随机编码序列在极弱光测距中的应用。
背景技术
:光子计数探测是一种全新的激光雷达探测手段,能够将探测灵敏度提升至量子极限,甚至平均单脉冲回波能量远小于一个光子;可以实现低功耗、高精度的目标三维信息获取。与传统的模拟计数技术比较,光子计数技术有更高的灵敏度、更好的稳定性和更高的时间分辨率。为了快速获取目标信息,光子计数装置往往选取高重频激光器,为满足发射信号与接收信号的对应关系,则必须满足单值测距要求,即一段时间内必须满足只有一个脉冲在探测。而高重频意味着单值测距的时间t更短,根据激光测距公式可知,当t极小时必然使得有效测距距离大大减小,故测量较远的距离时由于不满足单值测距要求,从而导致距离模糊问题。将有效探测距离限制在一个很短的量程之内。伪随机编码调制是一种有效的增加系统带宽,解决距离模糊问题的方法。伪随机编码的码长与系统最大有效探测距离呈线性正相关,极大的扩大了光子计数装置的探测距离。而且伪随机编码还具有数字化调制、编码灵活多样、自相关性良好、信号频谱较宽等优点;通过匹配滤波处理之后可以获得更大的信号处理增益,提高了探测灵敏度。传统的伪随机序列如m序列由于具有容易生成、自相关性良好等优点,如今已经广泛应用在激光雷达领域。张宇飞、贺岩等人在2016年发表的论文《three-dimensionalimaginglidarsystembasedonhighspeedpseudorandommodulationandphotoncounting》中详细阐述了用m序列对光子计数装置调制从而获得目标三维信息的过程。该文采用连续激光器与调制器组合的方案,当采用调制器对连续激光器调制时,不存在储能时间,但单脉冲能量低,时间精度不高,而且调制器价格不菲,增加了系统成本;当采用调制器对脉冲激光器调制时,能够克服以上问题,但有储能时间限制。但是对于光子计数探测,传统的伪随机序列则面临着诸多挑战。传统的伪随机序列一般只能产生固定码型的编码序列,例如m序列中“0”与“1”所占比例相同;此外,光子技术装置为了降低调制器件的要求并获得较高的单脉冲能量,往往选择脉冲激光器,而且光子计数装置在高时间分辨率的基础上往往采用高速调制器产生编码序列;但激光器重复速率与编码产生速率往往难以匹配,若采用传统伪随机序列则系统将由于速率不匹配而无法工作。此外,传统伪随机序列往往只能产生定长的序列,而不能根据需求产生任意长度的序列;传统的伪随机序列主要以二相编码为主,不携带强度信息,频谱也不够宽,抗干扰能力相对也较差;传统的伪随机序列并不是针对光子计数探测所产生的,故并未充分考虑光子技术装置的应用环境,编码序列容易被探测环节的种种错误干扰而降低伪随机序列的性能,进而影响整个系统的性能。在满足使用要求的基础上,为了获得更好的测距精度,需要寻找最优编码序列。然而最优编码序列是一个组合优化问题,即使两个汉明距离很近的编码序列性能差距也可能极大。而当编码长度较长时遍历搜索的计算量非常大,几乎不可能得到结果。根据获得的编码序列对发射信号进行调制后,系统需要在接收端需对接收信号进行解调才能获得目标距离。在信号检测领域常用匹配滤波器处理接收信号,以获取更大的信号处理增益。匹配滤波器往往选用发射信号,解调最终转化为发射信号与接收信号的相关。然而相关操作计算量很大,当编码较长时计算代价很高。鉴于以上种种矛盾,光子计数装置亟需一种适用于该应用环境的伪随机编码序列生成方法,在此基础上还应充分考虑其生成速度与编码序列性能。此外,实际应用的伪随机序列往往高达上万位,故还应在研究快速解相关的算法,以免限制系统性能。技术实现要素:本发明公开了一种基于光子计数装置的最优编码快速生成及解码方法,以解决传统伪随机序列难以产生特定长度的序列、编码形式固定、频谱不够宽、抗干扰能力不强、未充分考虑光子计数装置应用环境等多种问题,同时该方法还能保证得到的编码序列具有优异的性能。本发明的技术解决方案是提供一种基于光子计数装置的最优编码快速生成方法及解码方法,包括以下步骤:步骤一、预设相关参数包括:编码长度、调制位置比例阈值、强度范围及对应的强度值、缓冲位数、线性同余算法参数、粒子群算法参数;其中粒子群算法参数包括:学习因子、惯性权重、种群规模、最大进化代数以及收敛阈值;步骤二、获得多相伪随机编码;2.1)通过线性同余算法产生随机数;2.2)根据预设的调制位置比例阈值,判断该随机数在伪随机序列中对应的位置是否为调制位置,若为调制位置,则根据预设的强度范围确定该调制位的强度值,并将该调制位之后的缓冲位置的强度值设为零;若为非调制位置,则将其强度值设为零;调制位置及其后面的缓冲位置对应的强度值构成部分编码;2.3)重复步骤2.1)与步骤2.2),直到达到设定编码长度完整的多相伪随机编码,将该编码赋值给一个向量,并对该向量中的每个元素就近取整,将取整后的向量作为粒子群算法中粒子的初始位置向量;2.4)随机产生长度为设定编码长度的随机数序列,并赋值给一个向量,对该向量中的每个元素就近取整,将取整后的向量作为粒子的初始飞行速度向量;步骤三、获得粒子群的初始种群;重复步骤二,分别记录每一次的位置向量和速度向量,获得符合设定种群规模的多相伪随机编码,构成粒子群的初始种群;步骤四、获得最优编码;4.1)依据光子计数装置对编码的要求设计适应度函数;上述适应度函数应包括对探测环境中存在的干扰的模拟以及对优良特性的奖励项与非法解的惩罚项;让产生的编码更加适应实际的传输环境,对干扰的模拟可以包括时间抖动、随机噪声和大气干扰等,惩罚项包括强度值超范围、缓冲位数不足等非法情况。4.2)根据得到的适应度函数计算步骤三得到的初始种群中每个粒子的适应度;选取适应度值最好的粒子作为初始最优粒子;4.3)通过粒子群算法的迭代进化公式进化初始粒子群中的每个粒子的位置向量,并根据适应度函数计算进化后每个粒子的适应度,记录适应度最高的粒子,并与历史最优粒子适应度比较,选取全局最优粒子;4.4)重复步骤4.3),直到满足提前设置的最大进化代数或停止准则,获得的全局最优粒子对应的位置向量即为最优编码;步骤五、通过光子计数装置获取发射编码与接收编码,所述发射编码即为步骤四获得的最优编码;再对发射编码与接收编码做相关,从而解算出目标距离。优选地,步骤4.3)具体为:4.31)根据粒子群算法速度更新公式更新粒子飞行速度向量,对飞行速度向量就近取整,再通过就近取整后每个粒子的飞行速度向量更新粒子群的初始种群中每个粒子的位置向量;4.32)计算更新后的粒子种群中每个粒子的适应度值,若该粒子本次更新位置的适应度比该粒子的历史最优粒子对应的适应度更高,则以该粒子本次更新的位置向量为该粒子的历史最优值;4.33)若该粒子的历史最优粒子的位置向量的适应度大于全局最优粒子的位置向量的适应度,则以该粒子的历史最优粒子的位置向量替换全局最优粒子的位置向量;4.34)根据预设的种群规模与最大进化代数循环步骤4.31)到步骤4.33),根据设定的收敛阈值,若某全局最优粒子能够在若干次对比中均保证该粒子适应度更高,则提前结束循环,将该粒子的位置向量作为最优编码输出;否则需在粒子群进化到最大进化代数才能输出全局最优值为最优编码。优选地,步骤4.31)具体通过公式(1)更新飞行速度向量,式中,上标中的k表示当前迭代的代数,v为速度向量,x为位置向量,w为惯性权重,c1,c2为学习因子,s为种群规模,gbest全局最优粒子的位置向量,psbest历史最优粒子的位置向量,r1、r2为在[0,1]内的随机数;根据下式更新位置向量:优选地,步骤2.1)根据公式p1=(a*p0+b)mod(m)产生第一个随机数,根据公式pi+1=(a*pi+b)mod(m)产生后续随机数pi+1,其中a为乘数,b为增量,m为模数,p0为种子;步骤2.2)若pi+1小于调制位置比例阈值,则pi+1在伪随机序列中对应的位置为调制位,否则为非调制位。优选地,步骤五具体为:5.1)通过光子计数装置获取发射编码与接收编码;5.2)通过fft算法分别对发射编码与接收编码作离散傅立叶变换;5.3)对接收编码的离散傅立叶变换求共轭;5.4)通过发射编码与接收编码的离散傅立叶变换的共轭求相关函数的傅立叶变换;5.5)对相关函数的傅立叶变换作傅立叶逆变换,通过相关函数的相关峰求得光子飞行时间;5.6)通过光子飞行时间与光速即可获得目标距离。本发明的有益效果是:1、本发明编码方法中编码长度可调且编码形式不固定,与其他伪随机编码序列相比,该方法能够获得光子计数探测环境下性能更加优异的编码序列,通过该编码对信号进行调制后,产生的信号频谱宽,抗干扰能力强;2、采用线性同余算法能较快的产生随机数,占用内存极小,运算量极小,并在迭代优化过程中,只要符合设定的停止准则,即可提前结束循环,优化时间较短;从而使得获得最优编码的时间较短;3、根据光子计数激光雷达的实需求构建粒子适应度函数,作为伪随机序列的评价表标准,获得的伪随机序列的性能更好;4、本发明伪随机编码为多相伪随机编码,编码序列中有多个强度值,获得更高的相关增益;5、与其他搜索算法相比,该方法具有不易产生非法解、收敛速度更快、整数编码等诸多优点;6、在目标距离解算模块,本发明基于采用快速傅立叶变换算法的离散傅立叶变换解算相关操作,从变换域和快速算法两个方面获得加速效果,大大提高了解算效率,提升了系统性能。附图说明图1是基于光子计数装置的最优编码快速生成算法流程图;图2是光子计数装置距离获取模块工作流程图;图3是基于光子计数装置的最优编码快速生成算法产生的编码序列自相关性展示,横轴为回波序列与发射序列的相对延迟,纵轴为不同延迟位置的相关值;图4是m序列的自相关性展示,横轴为回波序列与发射序列的相对延迟,纵轴为不同延迟位置的相关值;图5为传统目标距离反演算法与采用fft算法的目标距离反演算法所耗费时间对比图。具体实施方式以下结合附图对本发明做进一步的描述。需要说明的是说明书中加粗符号代表向量。如图1,本发明最优编码快速生成方法如下:步骤一:根据光子计数装置系统参数设置需要获得的最优伪随机编码的序列长度l,最大强度值mv以及强度值划分区间调制位置比例阈值f,以及编码序列中的缓冲位数buffer;步骤二:设置线性同余算法参数:乘数a,增量b、模数m以及种子p0;步骤三:设置粒子群算法参数:学习因子c1,c2,惯性权重w,种群规模s以及最大进化代数mg,收敛阈值ms;步骤四:根据公式pi+1=(a*pi+b)mod(m)产生后续随机数pi+1;步骤五:若随机数pi+1<f;则该随机数在伪随机序列中对应的位置为调制位,否则将对应位置的强度值赋值为0;步骤六:若该位为调制位,根据其映射的强度划分区间,判断其强度值h;步骤七:当一个位置q被调制后(即强度值赋值之后),将其后面buffer位的强度值赋值为0,即(q,q+buffer]位的强度值均赋值为0;调制位置及其后面的缓冲位对应的强度值构成部分编码;步骤八:从q+buffer+1位开始重复步骤四到步骤七,直至生成的编码长度达到设定长度l,并将该序列赋值给向量x;步骤九:对向量x的每个元素就近取整,若元素t为整数,则将向量x作为粒子群算法中粒子初始化的位置向量;步骤十:产生一个长度为l的随机数序列,并赋值给向量v,对向量v就近取整,取整过程同步骤九,将向量v作为粒子群算法中粒子初始化的速度向量;步骤十一:重复步骤四至步骤十s次,直至达到设定的种群规模,分别记录每一次的位置向量xs、速度向量vs;构成粒子群的初始种群;步骤十二:将每一次的位置向量xs赋值给psbest,作为当前每个粒子的历史最优值;步骤十三:根据光子计数装置的实际应用环境模型构建粒子适应度函数,所述适应度函数应包括对探测环境中存在的干扰的模拟以及对优良特性的奖励项与非法解的惩罚项;对于代表编码具有良好性能的计算项取较大的奖励因子,作为粒子群进化的方向;对于代表编码为非法解的计算项取较大的惩罚因子,作为禁止搜索区域;适应度函数可以写成以下形式:其中ep表示具有良好性能的计算项,np表示非法解的计算项。a与b分别表示奖励因子与惩罚因子。以最大化适应度为进化方向。lep与lnp分别表示具有良好性能的计算项与非法解的计算项的个数。例如ep可以设计为相关峰的最高峰与次高峰的比值,作为自相关性的度量;又例如设计np时需将编码强度不在强度范围内的情况纳入考虑,即统计整个编码中强度不在强度范围内的位置的个数;步骤十四:根据构建的粒子适应度函数计算初始种群中每个粒子的适应度函数值fitnesss;步骤十五:选取初始种群中适应度最高的粒子的位置向量为当前全局最优粒子的位置向量gbest;步骤十六:根据下式迭代更新初始种群粒子的速度向量:上标中的k表示当前迭代的代数,并对即粒子s的更新的速度向量就近取整;r1、r2为随机产生的两个随机数;步骤十七:根据下式更新位置向量:步骤十八:若更新的粒子的适应度大于psbest的适应度,则以为该粒子的历史最优值;步骤十九:若该粒子的历史最优粒子的位置向量psbest的适应度大于全局最优粒子的位置向量gbest的适应度,则以该粒子的历史最优粒子的位置向量psbest为全局最优粒子的位置向量gbest;步骤二十:重复步骤十六至步骤十九s次,遍历整个种群,更新所有粒子的状态;步骤二十一:重复步骤二十,若全局最优粒子的位置向量gbest能够保证在ms代都是最优粒子,则可以认为算法已收敛,停止迭代,输出全局最优粒子的位置向量gbest;否则需继续重复步骤二十;若重复步骤二十已达mg次,则输出全局最优粒子的位置向量gbest;步骤二十二:将全局最优粒子的位置向量gbest作为最优编码序列e(n);如图2,解码方法如下:步骤二十三:将最优编码序列e(n)通过激光器转化为光信号并发射,再由接收系统接收回波光子,累积并量化后获得接收编码序列r(n);将接收序列重新映射回强度区间,重新映射后即可获得和发射序列类似的序列;步骤二十四:基于快速傅立叶变换算法(fft)求发射编码序列e(n)的n点离散傅立叶变换其中e(k)表示离散傅里叶变换之后的信号,dft(·)表示做离散傅里叶变换,n表示离散傅里叶变换的序列长度,表示复指数,即步骤二十五:基于快速傅立叶变换算法(fft)求接收编码序列r(n)的n点离散傅立叶变换步骤二十六:求接收编码序列离散傅立叶变换r(k)的共轭r*(k);步骤二十七:求相关函数的离散傅立叶变换uer(k)=e(k)r*(k);步骤二十八:对相关函数的离散傅立叶变换uer(k)做n点傅立叶逆变换ifft,步骤二十九:求序列uer的最大值,设最大值所在位置为y,系统时间分辨率为tbin,则发射序列与接收序列之间的延迟τ=y*tbin;步骤三十:用c表示光速,根据下公式求得最终测距距离d:通过对比图3与图4,即可发现本发明算法产生的编码自相关性更好,相关峰峰值可达其他位置相关值的10倍左右,而m序列仅能达到不到2倍。注:图3测试中最大强度值mv为30,调制位置比例f为5*10^(-3),编码序列中的缓冲位数buffer=25。适应度函数设计了总调制位置数不满足要求、强度值不在有效范围等非法解的惩罚项,取较大的惩罚因子(本测试中取1*10^(20));并设计了相关峰峰值与非峰值的前100个最大相关值的均值之比的奖励项,取较大的奖励因子(本测试中取1*10^(5))。用于测试的编码长度均为16383位,最大进化代数mg为1000代,收敛阈值ms为20代。图5中的横坐标为序列长度即编码长度,范围为127位至16383位,纵轴为算法所耗费的时间,下方较粗的线条代表采用fft算法的解算目标距离方法,上方较细的线条表示传统解算方法。可见采用fft算法明显加快了目标距离反演的速度,所耗费时间之比达到了三个数量级左右。尤其是在序列长度较长时,采用fft算法的解算方法所消耗的时间并未随编码长度增长而明显增大,始终保持在毫秒级左右。应注意本图中纵轴为对数坐标。下表为基于光子计数装置的最优编码快速生成算法耗费时间表。表中罗列了不同编码长度下,对应的基于光子计数装置的最优编码快速生成算法所耗费的时间。可见该算法是一种快速算法,可以在很短的时间内收敛,给出近似最优的编码。表1编码码长与运行时间图编码码长运行时间(s)1280.01962560.02185120.026710240.037620480.058440960.116481920.2134163840.3502当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1