本发明属于光谱分析技术领域,具体涉及一种基于有限状态机的云层信号自动识别方法,主要应用于大气中云信号的自动识别以及云底、云峰与云顶位置的自动输出。
背景技术:
在目前的气象业务观测中,云的观测是一项重要的项目,观测方式主要靠人工观测,但人工观测又存在主观性强、准确率差等缺点,因此,中国气象局已经考虑使用激光云高仪代替人工观测。现有的基于云高仪或激光雷达的云层高度反演算法主要有微分零交叉法、Klett方法、滑动窗口积分法等,但这几种反演算法都比较复杂,算法运算量较大。微分零交叉法存在的问题是回波信号微分的过零点可能会有很多,雷达回波信号中的噪声也会产生很多额外的过零点,从众多的零点中提取出有效的零点是一项非常复杂的工作。Klett方法在计算消光系数时有很多假设性的前提条件,给消光系数的计算带来一定的误差,因而基于消光系数的云高反演算法也必然存在一定的误差。滑动窗口积分法存在的问题是窗口大小的选择会对分选结果产生很大影响,窗口太大会给云底位置的确定带来一定困难,窗口太小则很难选取阈值,有些叠加了噪声的信号可能不会被有效排除。基于以上背景情况,本发明提出了一种基于有限状态机的云信号自动识别算法,算法简洁通俗,云信号识别成功率高。
技术实现要素:
:
本发明的目的在于提供一种基于有限状态机的云层信号自动识别方法,实现了云层信号中云底、云峰、云高位置的准确寻找与输出,解决了现有寻云方法中寻云精度低、运算量大的问题。
本发明采用的技术方案是:
一种基于有限状态机的云层信号自动识别方法,其特征在于,主要包括以下步骤:
(1)通过云高仪采集原始信号数据,所述云高仪原始信号数据包括系列增加的距离值和对应的每个距离上的信号强度;
(2)将云高仪特定高度以上的原始信号的平均值作为云高仪原始信号的背景值,将云高仪的原始信号减去背景值得到云高仪的回波信号;
(3)采用滑动Savitzky-Golay法对云高仪回波信号求取一阶导数获得回波信号的斜率廓线;
(4)当云高仪回波信号某处的斜率值突然增大并且接下来连续几个点的斜率都大于一定阈值时,算法就检测到云信号,在这种情况下,算法开始往下搜索云的底部与向上搜索云的顶部;
(5)以步骤(4)中的突变点为起点,在一个合适的窗口内向上寻找回波信号的最大值并同时比较该最大值与下一个值的关系,当下一个值大于该最大值时,将下一个值赋值给该最大值,直至循环结束,同时输出该最大值对应的位置;当下一个值远小于该最大值时,输出该最大值位置,同时循环结束;
(6)将步骤(5)中的最大值位置暂时标记为云峰位置;
(7)以云峰位置为起点,在一定的距离范围内向下搜索云层底部位置,当回波信号某处的斜率突然由正变为负时或者该处的信噪比小于一定的阈值时,判断该处为云底位置,同时循环结束;
(8)以云峰的位置为起点,向上搜索云的顶部,当某处的信号强度远小于云峰处信号强度的大小或者该处的信噪比小于一定阈值时,判断该处为云顶位置,同时循环结束;
(9)在云底、云峰、云顶位置确认以后,采用半高全宽的方式求取云厚,只有当云层厚度大于一定的阈值时,判断该信号满足云信号厚度条件;
(10)在对云的信号强度进行阈值限定时,主要是将云峰处的信号强度分别与该云云底的下方与云顶的上方的信号进行大小比较并判断是否满足一定的阈值条件,只有云峰处的强度在一定的距离范围内大于一定倍数的云底下方的信号或云顶上方的信号,方才认为该信号满足云信号强度条件;
(11)如果谱峰信号的宽度与强度都满足要求,确认该谱峰信号为云层信号,并从云顶位置开始寻找下一个云层位置;如果云的峰宽与峰高门限有一项不满足要求,则判断该谱峰为伪云层信号,并则从步骤(4)中下一个信号点的位置继续向上寻找云层信息;
(12)在云信号寻找结束后,依次输出云底、云峰、云顶的高度位置。
本发明的优点是:
1.本发明对云高仪回波信号求取一阶导数时采用滑动Savitzky-Golay法,该方法能够有效避免在云层信号识别中信号波动与尖峰干扰的影响,更多的保留了云层信号特征;
2.在滤除云、雾以及尖峰干扰信号时,本发明对云信号采用门宽(云厚)限制与门高(云的信号强度)限制,通过对云厚设定一定阈值,避免了尖峰干扰信号误判为云信号的情况;通过对云的信号强度进行阈值限制,避免了将雾气与降水信号误判为云信号的情况;
3.在对云厚进行限制时,采用半高全宽的方式求取云厚,有效避免了云底与云顶位置的不确定性带来的云信号误判情况;
4.本发明首先对云信号以及相关反演参数进行了平滑滤波及求取回波信号一阶导数,然后对云底、云峰、云顶以及两云的公共边界编码为云层信号描述语句,通过对云层信号的特征识别及逻辑分析,然后采用基于有限状态机的方式对云层信号的可能情况一一列出并各自识别,最终输出云信号的云底、云峰、云顶位置,,最多可以满足识别三层云的情况,提高了云层信号识别成功率。
附图说明
图1是激光测云系统示意图。
图2是云层信号示意图。
图3是云高仪回波信号图。
图4是云高仪回波信号的一阶导数图。
图5是云高仪寻云算法流程图。
具体实施方式:
为使本发明的目的、技术方案和优点更加清楚明晰,以下结合具体实施案例,并参照附图,对本发明进一步详细说明。
如图1为激光测云系统示意图,包括有激光发射单元、信号检测单元、信号接收单元。
如图2-5,一种基于有限状态机的云层信号自动识别方法,主要包括以下步骤:
(1)通过云高仪采集原始信号数据,所述云高仪原始信号数据包括系列增加的距离值和对应的每个距离上的信号强度;
(2)将云高仪特定高度以上的原始信号的平均值作为云高仪原始信号的背景值,将云高仪的原始信号减去背景值得到云高仪的回波信号;
(3)采用滑动Savitzky-Golay法对云高仪回波信号求取一阶导数获得回波信号的斜率廓线;
(4)当云高仪回波信号某处的斜率值突然增大并且接下来连续几个点的斜率都大于一定阈值时,算法就检测到云信号,在这种情况下,算法开始往下搜索云的底部与向上搜索云的顶部;
(5)以步骤(4)中的突变点为起点,在一个合适的窗口内向上寻找回波信号的最大值并同时比较该最大值与下一个值的关系,当下一个值大于该最大值时,将下一个值赋值给该最大值,直至循环结束,同时输出该最大值对应的位置;当下一个值远小于该最大值时,输出该最大值位置,同时循环结束;
(6)将步骤(5)中的最大值位置暂时标记为云峰位置;
(7)以云峰位置为起点,在一定的距离范围内向下搜索云层底部位置,当回波信号某处的斜率突然由正变为负时或者该处的信噪比小于一定的阈值时,判断该处为云底位置,同时循环结束;
(8)以云峰的位置为起点,向上搜索云的顶部,当某处的信号强度远小于云峰处信号强度的大小或者该处的信噪比小于一定阈值时,判断该处为云顶位置,同时循环结束;
(9)在云底、云峰、云顶位置确认以后,采用半高全宽的方式求取云厚,只有当云层厚度大于一定的阈值时,判断该信号满足云信号厚度条件;
(10)在对云的信号强度进行阈值限定时,主要是将云峰处的信号强度分别与该云云底的下方与云顶的上方的信号进行大小比较并判断是否满足一定的阈值条件,只有云峰处的强度在一定的距离范围内大于一定倍数的云底下方的信号或云顶上方的信号,方才认为该信号满足云信号强度条件;
(11)如果谱峰信号的宽度与强度都满足要求,确认该谱峰信号为云层信号,并从云顶位置开始寻找下一个云层位置;如果云的峰宽与峰高门限有一项不满足要求,则判断该谱峰为伪云层信号,并则从步骤(4)中下一个信号点的位置继续向上寻找云层信息;
(12)在云信号寻找结束后,依次输出云底、云峰、云顶的高度位置。