发明内容
本发明所要解决的是现有蒙特卡罗节点定位算法所存在的问题,提供一种物联网中移动传感器节点的智能定位方法。
为解决上述问题,本发明是通过以下技术方案实现的:
一种物联网中移动传感器节点的智能定位方法,包括步骤如下:
步骤1、判断物联网中移动传感器节点是否为初次定位:如果是,使用移动传感器节点中的一跳锚节点和两锚节点构建采样区域;否则,使用移动传感器节点中的一跳锚节点和临时锚节点构建采样区域;
步骤2、使用改进的拟仿射变换进化算法在采样区域中求得最优位置;即:
步骤2.1、使用反向学习策略生成初始粒子种群,并将初始粒子种群中评价函数适应值最大的粒子作为初始历史最优解;
步骤2.2、根据粒子的评价函数适应值,将当前粒子种群中的粒子划分当前优等种群和当前劣等种群;
步骤2.3、计算当前优等种群和当前劣等种群的尺度因子,其中:
当前优等种群的尺度因子F优为:
当前劣等种群的尺度因子F劣为:
步骤2.4、计算当前优等种群和当前劣等种群的进化指导向量,其中:
步骤2.5、基于当前优等种群的尺度因子
并利用粒子进化公式对当前优等种群的所有粒子进行进化;同时,基于当前劣等种群的尺度因子
并利用粒子进化公式对当前劣等种群的所有粒子进行进化;
步骤2.6、完成步骤2.5的进化后,对当前粒子种群的所有粒子进行更新,即:
将进化后的粒子的评价函数适应值与当前历史最优解的评价函数适应值进行比较:若进化后的粒子的评价函数适应值大于当前历史最优解的评价函数适应值,则保留进化后的粒子;否则,用历史最优解去替换进化后的粒子;
步骤2.7、完成步骤2.6的更新后,对当前历史最优解进行更新,即:
用更新后的当前粒子种群中评价函数适应值最大的粒子去替换当前历史最优解;
步骤2.8、判断种群代数是否达到设定的最大代数:如果是,则将当前历史最优解作为采样区域中求得的最优位置输出;否则,返回步骤2.2;
式中,F
优表示当前优等种群的尺度因子,F
劣为当前劣等种群的尺度因子,F
l表示尺度因子的取值下限,F
u表示尺度因子的取值上限,
表示当前优等种群中所有粒子的评价函数适应值的最小值,
表示当前优等种群中所有粒子的评价函数适应值的最大值,
表示初始优等种群中所有粒子的评价函数适应值的最小值,
表示初始优等种群中所有粒子的评价函数适应值的最大值;
表示当前劣等种群中所有粒子的评价函数适应值的最小值,
表示当前劣等种群中所有粒子的评价函数适应值的最大值,
表示初始劣等种群中所有粒子的评价函数适应值的最小值,
表示初始劣等种群中所有粒子的评价函数适应值的最大,
为当前优等种群的尺度因子,
为当前劣等种群的尺度因子,
表示当前优等种群中评价函数适应值最大的粒子,
和
表示当前优等种群中随机获取的两个粒子,
和
表示当前劣等种群中随机获取的三个粒子。
上述步骤2.2中,将当前粒子种群中的粒子划分为当前优等种群和当前劣等种群的具体过程如下:
步骤2.2.1、从当前粒子种群的所有粒子中随机选出两个粒子,并比较这两个粒子的评价函数适应值,将这两个粒子中评价函数适应值大的粒子归入优等种群,将这两个粒子中评价函数适应值小的粒子归入劣等种群;
步骤2.2.2、从当前粒子种群的剩余粒子中随机选出两个粒子,并比较这两个粒子的评价函数适应值,将这两个粒子中评价函数适应值大的粒子归入优等种群,将这两个粒子中评价函数适应值小的粒子归入劣等种群;
步骤2.2.3、重复步骤2.2.2,直到当前粒子种群中的所有粒子均被归入到优等种群或劣等种群中。
上述步骤2.2中,将当前粒子种群中的粒子划分为当前优等种群和当前劣等种群的具体过程如下:将当前粒子种群的粒子的评价函数适应值与设定的划分阈值进行比较:若该粒子的评价函数适应值大于该划分阈值,则将该粒子归入优等种群中,否则,将该粒子归入劣等种群中。
与现有技术相比,本发明基于改进的拟仿射变换的优化(IQUATRE)的蒙特卡罗节点定位算法,首先针对拟仿射变换的进化算法(QUATRE)算法中存在的收敛速度慢,容易陷入局部最优的的缺点,提出改进的拟仿射变换的进化算法(IQUATRE)算法;然后使用IQUATRE优化算法在采样区域中求得未知节点的预估位置。仿真实验表明,基于IQUATRE优化的蒙特卡罗节点定位算法具有更高的定位精度和定位覆盖率,特别是在锚节点数量比较少的情况下结果更加优秀。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实例,对本发明进一步详细说明。
一、蒙特卡罗节点定位算法
蒙特卡罗定位算法(MCL)的核心思想是利用N个离散样本估计后验概率,利用重要性抽样迭代更新,该算法充分利用节点的移动性来提高定位精度,在一定范围内移动速度越大,节点的定位精度越高。
我们假设时间被划分为离散时间单位。由于节点是移动的,因此它需要在每个时间单元中重新定位。移动定位问题可以用状态空间形式表示为:设t为离散时间,Lt为节点在t时刻的位置分布,Ot为从t-1到t时刻接收到的锚节点的观测值。过渡方程P(lt|lt-1)描述了节点当前位置的预测是基于先前的位置,观测方程P(lt|Ot)描述的是节点位置是基于的锚节点的观察。用N个离散样本Lt来表示节点可能位置的分布,我们的算法递归计算每个时间步长的样本集。由于Lt-1反映了之前所有的观测结果,所以我们使用Lt-1和Ot来计算Lt。MCL算法主要分为以下几个步骤:
(1)初始化
由于最初节点没有上一时刻的位置信息,因此在整个部署区域内获取N个样本
(2)预测阶段
在预测步骤中,节点从上一步L
t-1计算的可能位置集开始,对每个样本应用移动模型,得到一组新样本L
t。我们假设一个节点不知道它的移动速度和方向,除了知道它的速度小于v
max。因此,如果前一步
是节点的一个可能位置,则当前可能位置包含在以上一时刻的可能位置
为原心、v
max为半径的圆形区域中。我们用d(l
1,l
2)表示两点l
1和l
2之间的欧式距离。如果速度均匀分布在区间[0,v
max],基于之前位置估计的当前位置概率为均匀分布,如公式1所示:
因此,预测阶段计算的集合R包含了从Lt-1中每个可能位置点周围半径为vmax的圆中随机选取的一个位置。
(3)过滤
根据节点新的观测数据过滤掉不可能的样本。假设节点的通信半径为r,且一跳范围内的普通节点可以转发锚节点的信息。令S表示未知节点n的一跳锚节点集合,T表示n的两跳锚节点集合,那么对于样本的过滤公式如公式2所示:
样本过滤公式表明当样本点应当满足以下条件:与未知节点的一跳锚节点的距离应该小于r,与未知节点的两跳锚节点的距离应该小于2r。如果满足条件,则样本点权值设为1,若不满足,则样本权值设为0。
(4)重采样
经过过滤的步骤可以去掉不符合条件的样本,但是会导致样本数量不足,因此需要重复预测和过滤的步骤,直到获得足够数量的样本或者达到最大采样次数。重采样的思想就是去掉权重小的样本,增加权重大的样本。
MCL算法采用重要性抽样的方法,但是由于重要性权重的条件方差会增加,会产生算法退化的现象。因此该算法需要设置合理的有效样本数量Neff,当有效样本数量低于固定的阈值Nthreshold就要进行重采样。
(5)位置计算
获得足够的样本之后,求得所有样本的加权平均值,就是未知节点的预估位置。
MCL算法利用了节点的移动性,为WSN中移动节点定位提供了新的思路。它具有一定的先进性,也存在一定的缺陷。
MCL算法的优点如下:(1)该算法是无需测距的算法,不需要额外的硬件,不需要复杂的计算,算法流程简单易于实现。(2)该算法利用了节点的移动性,克服了传统移动节点定位中节点运动速度对定位精度带来的阻碍。
MCL算法的缺点如下:(1)由于采样面积过大,导致采样效率十分低下,甚至可能陷入采样、过滤的死循环。(2)采样过滤过程是一个耗时耗能的过程,可能多次都无法获得足够多的样本。(3)MCL算法的定位精度依赖于锚节点密度,当WSN中锚节点密度较小时,定位误差会比较大。
二、QUATRE优化算法
由于拟仿射变换的进化算法(QUATRE)的进化公式类似于几何学中的仿射变换,因此得其名,其进化公式如公式3所示:
公式3中
为个体种群矩阵,其中包含多个个体
ps表示种群中个体规模,M为协同进化矩阵,
为M的关联矩阵,B为进化指导矩阵,
表示矩阵的按位相乘操作。g表示种群进化代数,则第g代种群中第i个个体可以表示为X
i,g,则相应的第g代种群可以表示为
M是一个由初始矩阵Minit转换而成的自动生成的矩阵。为了简单起见,Minit是一个值为1的下三角矩阵。公式4给出了M矩阵由Minit的转化方式:
公式4分为两个步骤,首先将矩阵中每个行向量中的元素随机全排列,然后将所得矩阵中的所有行向量随机全排列。其中矩阵中的行数ps代表种群中个体的数量,行向量的维度D代表个体的维度。一般情况下,优化算法中种群个体规模ps会大于个体维度D,这时需要将行向量从D扩展到ps个,公式5介绍了种群规模ps满足ps/D=s和ps%D=k时的实例:
公式5中前s*D行为s个D*D的下三角矩阵拼接而成,最后的k行为下三角矩阵的前k行。M的关联矩阵
中的所有元素都是由M中的元素取反所得,即将1换成0,0换成1。
每个个体都有一个进化指导向量Bi,g。Bi,g有几种不同的生成方式,使用QUATRE/x/y来表示。不同的进化指导向量适用与不同的场景。表1展示了几种不同的计算Bi,g的策略Xgbest,g表示第g代的最优个体,r1,r2,r3,r4表示种群中个体的编号。
表1 QUATRE算法中6种矩阵BiG的生成策略
QUATRE算法的基本流程如下:
(1)初始化粒子种群,在搜索空间[Xmin,Xmax]内,随机初始化种群规模为N的粒子群,计算种群中粒子的评价函数适应值fitness(Xi,g),标记种群中最优解Xgbest,以及粒子历史最优解Xpbest。
(2)根据公式3更新粒子种群。
(3)计算每个粒子的评价函数适应值fitness(Xi,g)。
(4)将每个粒子的评价函数适应值于历史最优解fitness(Xi,g)的评价函数适应值相比较,若更好,更新粒子群,则将当前粒子设置为历史最优解。
(5)将每个粒子的评价函数适应值于全局最优粒子适应值比较,若更好,则把当前位置设置为全局最优。
(6)如果小于迭代精度或是到达最大迭代次数,则结束计算,输出结果。否则转到步骤(2)。
三、改进的QUATRE优化算法
虽然QUATRE算法在模型上具有先进性,相比其他算法具有更好的搜索能力,但是与其他优化算法一样,QUATRE算法也存在着同样缺陷,如早熟收敛、搜索停滞等。针对以上问题,QUATRE算法的变体算法也被提出。C-QUATRE算法将整个种群随机分成两个种群来提高种群的性能,从而在两组之间的成对竞争选择劣势群体,对其进化。对于S-QUATRE,它将整个种群划分为两组,即使用排序策略的优组和劣组,其个体进化只在劣组中发生变化。这两个变种都使用一种进化指导向量来增强QUATRE算法的性能,一定程度上提高了算法的性能,但是仍旧存在一定的缺陷。QUATRE算法及其变种初始化粒子都是采样随机生成的方式,不能保证初始粒子的多样性;单一的进化指导向量和固定的尺度因子不能满足整个种群的粒子的整个进化过程。因此,提出一种改进的QUATRE算法(IQUATRE)从以下三个方面对QUATRE算法提出改进。改进的基本思想是:首先使用反向学习策略增加初始种群多样性,然后对不同种群选择不同的变异方式,最后提出自适应的尺度因子。
3.1、反向学习策略生成初始化种群
具有较好多样性的初始种群能够对算法的收敛速度和求解精度产生好的影响。在传统的QUATRE算法中,初始化种群采用的是随机生成的方式,即已知取值的范围,根据取值范围的上下限在区域内随机取值。但是随机生成的方式的种群多样性不能得到保障。为了提高初始种群的多样性,本算法引入了反向学习策略来生成初始种群[i]。首先生成N个初始种群,再根据反向策略生成初始种群的反向种群,然后分别计算初始种群和反向种群的适应度值,保留适应度值较好的个体进入最终初始种群。反向个体的计算公式如6所示:
Ri=Ai+Bi-ri (6)
其中,R表示反向个体,A和B分别表示个体的上下限,r表示最初个体,i表示向量的维度。
3.2、双群组的进化指导向量生成策略
QUATRE算法的进化指导向量Big采用不同的变异方案往往在解决不同的优化问题时表现出不同的性能,因为不同的变异方案具有不同的进化能力。“QUATRE/best/1”变异方案采用到目前为止发现的最优个体来指导搜索方向,因此具有非常快的收敛速度和优秀的局部搜索能力。但是它容易陷入局部最优,导致过早收敛。变异方案“QUATRE/rand/1”是最常用的、功能强大、鲁棒的变异方案。尽管局部搜索能力不足,但勘探能力较强,保持了种群多样性。为了综合两种变异方案的优点,本章节在QUATRE算法的基础上使用两种不同的变异方案。具体如下:首先将初始种群随机分为两个小种群,两个小种群中的个体的适应度值两两比较,将优胜的重新划分到优等种群,将劣势的划分到劣势种群。优等种群采取“QUATRE/best/1”的变异方式,具有比较强的局部搜索能力。劣等种群采取“QUATRE/rand/1”的变异方式,具有较强的全局搜索能力。图1展示了两种突变方案的基本思想。
3.3、自适应的尺度因子
在整个进化阶段,尺度因子对算法的搜索能力都有很大的影响,在求解不同规模的问题时,很难使用同一个尺度因子适应不同进化,因此本章节提出自适应的尺度因子。
在算法初期,为了避免算法陷入局部最优,使用较大的尺度因子,使算法对解空间进行全面的全局搜索,后期为了保留精英解,减小尺度因子,使算法具有强的局部搜索能力,提升算法的寻优精度。第g代尺度因子的更新策略如公式7所示:
其中,F表示第g代的尺度因子,F
l表示尺度因子的取值下限,F
u表示尺度因子的取值上限,
表示第g代粒子评价函数适应值最差值,
表示第g代粒子评价函数适应值最优值,
表示初始化粒子评价函数适应值最差值,
表示初始化粒子评价函数适应值最优值。
3.4、IQUATRE算法流程
参见图2,IQUATRE算法的基本流程如下:
(1)使用反向学习策略生成初始化粒子种群,计算种群中粒子的评价函数适应值fitness(Xi,g),两两比较粒子的评价函数适应值,分为优等种群和劣等种群,标记种群中最优解Xgbest,以及历史最优解Xpbest。
(2)对不同种群使用不同的进化策略和尺度因子。
(3)使用公式3更新粒子种群。
(4)计算每个粒子的评价函数适应值fitness(Xi,g)。
(5)将每个粒子的评价函数适应值于历史最优解fitness(Xi,g)的评价函数适应值相比较,若更好,更新粒子群,则将当前粒子设置为历史最优解。
(6)将每个粒子的评价函数适应值于全局最优粒子适应值比较,若更好,则把当前位置设置为全局最优。
(7)如果小于迭代精度或是到达最大迭代次数,则结束计算,输出结果。否则转到步骤(2)。
四、基于改进的QUATRE优化的蒙特卡罗节点定位算法
基于改进QUATRE进化的蒙特卡罗节点定位算法(IQUATRE_RMCL)使用IQUATRE进化算法代替基于临时锚节点的蒙特卡罗节点定位算法(TANRMCL)中预测和过滤的步骤,不再使用采样粒子的加权平均值来计算未知节点的位置,而是使用IQUATRE算法在采样区域内寻求最优节点位置。
IQUATRE_RMCL算法优化的目标是最小化预测位置与一跳范围内的锚节点和临时锚节点的距离,和实际位置与一跳范围内的锚节点和临时锚节点的距离之差。在IQUATRE算法迭代过程中保留适应度最小的个体。假设dij是根据RSSI测量出的未知节点i与一跳范围内锚节点或临时锚节点j之间的距离,未知节点的坐标为(xi,yi),锚节点或临时锚节点的坐标为(xj,yj),M表示未知节点i一跳范围内临时锚节点和锚节点的总数,则适应度函数如公式8所示:
参见图3,IQUATRE_RMCL算法流程,即一种物联网中移动传感器节点的智能定位方法,包括步骤如下:
一种物联网中移动传感器节点的智能定位方法,其特征是,包括步骤如下:
步骤1、判断物联网中移动传感器节点是否为初次定位:如果是,使用移动传感器节点中的一跳锚节点和两锚节点构建采样区域;否则,使用移动传感器节点中的一跳锚节点和临时锚节点构建采样区域;其中锚节点是指传感器网络中那些已知位置的节点,临时锚节点是选择传感器网络中上一时刻定位过的优质节点;
步骤2、步骤2、使用改进的拟仿射变换进化算法在采样区域中求得最优位置;即:
步骤2.1、使用反向学习策略生成初始粒子种群,并将初始粒子种群中评价函数适应值最大的粒子作为初始历史最优解;
步骤2.2、根据粒子的评价函数适应值,将当前粒子种群中的粒子划分当前优等种群和当前劣等种群;
优等种群和劣等种群的方式有如下两种:
一种是:将当前粒子种群中的粒子划分为当前优等种群和当前劣等种群的具体过程如下:将当前粒子种群的粒子的评价函数适应值与设定的划分阈值进行比较:若该粒子的评价函数适应值大于该划分阈值,则将该粒子归入优等种群中,否则,将该粒子归入劣等种群中;
另一种是:首选,从当前粒子种群的所有粒子中随机选出两个粒子,并比较这两个粒子的评价函数适应值,将这两个粒子中评价函数适应值大的粒子归入优等种群,将这两个粒子中评价函数适应值小的粒子归入劣等种群;然后,从当前粒子种群的剩余粒子中随机选出两个粒子,并比较这两个粒子的评价函数适应值,将这两个粒子中评价函数适应值大的粒子归入优等种群,将这两个粒子中评价函数适应值小的粒子归入劣等种群;最后,重复上述步骤,直到当前粒子种群中的所有粒子均被归入到优等种群或劣等种群中;
步骤2.3、计算当前优等种群和当前劣等种群的尺度因子,其中:
当前优等种群的尺度因子F优为:
当前劣等种群的尺度因子F劣为:
步骤2.4、计算当前优等种群和当前劣等种群的进化指导向量,其中:
步骤2.5、基于当前优等种群的尺度因子
并利用粒子进化公式对当前优等种群的所有粒子进行进化;同时,基于当前劣等种群的尺度因子
并利用粒子进化公式对当前劣等种群的所有粒子进行进化;
步骤2.6、完成步骤2.5的进化后,对当前粒子种群的所有粒子进行更新,即:将进化后的粒子的评价函数适应值与当前历史最优解的评价函数适应值进行比较:若进化后的粒子的评价函数适应值大于当前历史最优解的评价函数适应值,则保留进化后的粒子;否则,用历史最优解去替换进化后的粒子;
步骤2.7、完成步骤2.6的更新后,对当前历史最优解进行更新,即:用更新后的当前粒子种群中评价函数适应值最大的粒子去替换当前历史最优解;
步骤2.8、判断种群代数是否达到设定的最大代数:如果是,则将当前历史最优解作为采样区域中求得的最优位置输出;否则,返回步骤2.2;
式中,F
优表示当前优等种群的尺度因子,F
劣为当前劣等种群的尺度因子,F
l表示尺度因子的取值下限,F
u表示尺度因子的取值上限,
表示当前优等种群中所有粒子的评价函数适应值的最小值,
表示当前优等种群中所有粒子的评价函数适应值的最大值,
表示初始优等种群中所有粒子的评价函数适应值的最小值,
表示初始优等种群中所有粒子的评价函数适应值的最大值;
表示当前劣等种群中所有粒子的评价函数适应值的最小值,
表示当前劣等种群中所有粒子的评价函数适应值的最大值,
表示初始劣等种群中所有粒子的评价函数适应值的最小值,
表示初始劣等种群中所有粒子的评价函数适应值的最大,
为当前优等种群的尺度因子,
为当前劣等种群的尺度因子,
表示当前优等种群中评价函数适应值最大的粒子,
和
表示当前优等种群中随机获取的两个粒子,
和
表示当前劣等种群中随机获取的三个粒子。
五、算法的仿真与分析
仿真实验是在Intel(R)Core(TM)i5-2450M CPU,主频1.60GHz、1.80GHz,8GB内存平台,Matlab2015b仿真环境中进行的。
通过实验将对本发明方法与经典方法进行比较,如RMCL、TANRMCL、QUATRE_RMCL、QUATRE_RMCL和DE-MCL在定位精度、定位覆盖率、最大速度、锚节点密度等方面进行比较。仿真实验中,320个节点随机部署在500*500的矩形区域内,其中有30个已知位置的锚节点,其余节点为未知节点。我们假设所有传感器都具有50米的相同通讯距离。一个节点可以听到r无线电范围内的另一个节点,并直接与r无线电范围内的节点通信。
为了模拟节点的可移动性,假设所有的节点都遵循随机路径点模型(RWP)。RWP是移动自组织网络中常用的模型。网络中每个节点在每个时间步内速度在0~vmax之间可以随机改变。
图4显示了IQUATRE-RMCL算法、RMCL算法、TANRMCL算法、QUATRE_RMCL算法和DE-MCL算法经过50个时间步长,定位误差的改变,以及在每个时间步内各个算法的定位误差的比较。同时从图4可以看出本章提出的算法在大部分时间的定位误差均小于其余的算法,其中比RMCL算法的平均定位误差小83%,比DE-MCL算法的定位误差小75%,比TANRMCL算法的定位误差小50%,比QUATRE_RMCL算法的定位误差小50%。
图5可以看出最大速度的改变对几个算法的定位误差均有不同程度的影响。当节点的移动速度比较慢时,基于移动速度的采样区域大小会相对比较小,节点的实际位置很大可能会落在采样区域之外;而当节点的运动速度过大的时候,采样区域来自运动速度的约束就会变小,采样区域相对就会比较大,从而降低了节点的定位精度。因此,最大速度在一定范围内增加时,节点的定位精度会随着最大速度的增加而增加,但是超过此范围,定位精度反而会降低。其中RMCL算法,DE-MCL算法,TANRMCL算法,QUATRE_RMCL算法以及IQUATRE-RMCL算法均是在Vmax在0.7r附近,达到最大的定位精度。
图6显示了几个算法的定位覆盖率的变化。定位覆盖率是指在一个时间步内,被成功定位的节点个数占所有未知节点的比率。RMCL算法和DE-MCL算法是采样锚节点参考定位,而TANRMCL算法、QUATRE_RMCL和IQUATRE-RMCL算法不仅使用锚节点还选择临时锚节点一同定位,相比之下,后三者算法更容易达到定位条件,理论上节点的定位覆盖率则会更高。其中RMCL算法的定位覆盖率最低,在80%左右浮动,DE-MCL算法的定位覆盖率相对提高一些,在85%~90%左右浮动,而TANRMCL算法、QUATRE_RMCL算法和IQUATRE-RMCL算法比较大的提高的定位覆盖率,分别为95%~98%左右浮动、97%~100%和97%~100%左右浮动。
锚节点密度很大程度上影响了整个移动WSN的成本,因此在低锚节点密度的情况下保持高的定位精度是我们研究的一个重要依据。如图7所示,显示了锚节点密度从0.5到2.5范围变化时,节点的定位精度的变化。其中TANRMCL算法、QUATRE_RMCL算法和IQUATRE-RMCL算法在低锚节点密度的情况下依旧能够保持比较精确的定位,IQUATRE-RMCL算法的定位精度更加精确。
综上所述,本文首先选择临时锚节点,将临时锚节点与锚节点一起定位其他节点,间接增加参考节点的数量,然后使用修正半径对临时锚节点存在的误差进行修正,最后将IQUATRE优化算法用来求取未知节点的位置。尤其是在锚节点稀疏环境下,IQUATR-RMCL算法更是大大提高了定位精度以及定位覆盖率。IQUATRE-RMCL算法虽然作为一种基于测距的定位算法,但其硬件要求不高,可以满足低成本、高精度的移动WSN定位要求。由于传感器节点的运动是随机的,因此,下一步将对本文算法在其他节点运动模型下进行研究。
需要说明的是,尽管以上本发明所述的实施例是说明性的,但这并非是对本发明的限制,因此本发明并不局限于上述具体实施方式中。在不脱离本发明原理的情况下,凡是本领域技术人员在本发明的启示下获得的其它实施方式,均视为在本发明的保护之内。