一种低复杂度滑窗处理方法与流程

文档序号:12278030阅读:432来源:国知局

本发明涉及对信号进行滑窗处理技术领域,具体地,涉及一种低复杂度滑窗处理方法。



背景技术:

在信号处理领域如图像、通信、医疗电子等场合经常需要对信号进行滑窗处理,中值滤波、极值均值滤波等非线性滤波需求最为常见。

设窗长为L,通常中值滤波需要进行如下两个步骤:

1)对窗口内数据排序,复杂度为,即使使用快速排序,平均复杂度也为,对于较大的L,复杂度很高;

2)取中间序号对应的值作为输出

通常极值均值滤波需要进行如下两个步骤:

1)搜索窗口内的最大值Vmax和最小值Vmin,都需要的复杂度

2) 以作为输出。

由此可见,都需要至少级别的复杂度,在L较大情形下复杂度很高

在实现本发明的过程中,发明人发现现有技术中至少存在信号处理过程中滑窗处理复杂度高等缺陷。



技术实现要素:

本发明的目的在于,针对上述问题,提出一种低复杂度滑窗处理方法,以实现降低信号处理时滑窗处理的复杂度,使处理过程更加简洁的优点。

为实现上述目的,本发明采用的技术方案是:一种低复杂度滑窗处理方法,主要包括:

步骤1:创建比特索引表T[0:L-1],所述比特索引表共L*M比特,并将0:L-1初始化为T相应索引对应的内容;

步骤2:初始化数据序列为长度为L的0值向量S[0:L-1];

步骤3:将T=T+1,若L能够表示为L=2M,则将发生高位自然溢出元素对应的索引删除,若L不能表示为L=2M,则将索引值为L的索引删除,所述T成为L-1值索引表;

步骤4:将新数据s,与S[T]对应的值进行比较,利用二分法,通过最多M次的比较,找出应该插入的位置p,在T表中p的位置写入0,其余数值顺序后移,使得表T恢复L值,最终,S[T]为递增或递减的有序数据序列,其中T[0]位置对应的值S[T[0]]为最大值或最小值,T[L-1]位置对应的值S[T[L-1]]为最大值或最小值;

进一步地,经过步骤4处理后得到T相应索引对应的S[T]内容具体为,若S[T]为递增的有序数据序列,索引0对应最小值,即T[0]位置对应的值S[T[0]]为最小值,索引L-1对应最大值,即T[L-1]位置对应的值S[T[L-1]]为最大值;若S[T]为递减的有序数据序列,索引0对应最大值,即T[0]位置对应的值S[T[0]]为最大值,索引L-1对应最小值,即T[L-1]位置对应的值S[T[L-1]]为最小值。

进一步地,还包括对S[T]数据序列的数据进行对称位置滤波和特定序号滤波,所述对称位置滤波包括极值均值滤波,所述特定序号滤波包括中值滤波。

进一步地,所述极值均值滤波操作,,输出极值均值为。

进一步地,所述中值滤波操作,输出S[T[2M-1]]或S[T[2M-1-1]]或者二者均值。

本发明各实施例的一种低复杂度滑窗处理方法,主要包括:创建比特索引表T[0:L-1],所述比特索引表共L*M比特,并将0:L-1初始化为T相应索引对应的内容;初始化数据序列为长度为L的0值向量S[0:L-1];将T=T+1,若L能够表示为L=2M,则将发生高位自然溢出元素对应的索引删除,若L不能表示为L=2M,则将索引值为L的索引删除,所述T成为L-1值索引表;将T=T+1,并将发生高位自然溢出元素对应的索引删除,所述T成为L-1值索引表;将新数据s,与S[T]对应的值进行比较,利用二分法,通过最多M次的比较,找出应该插入的位置p,在T表中p的位置写入0,其余数值顺序后移,使得表T恢复L值,最终,S[T]为递增或递减的有序数据序列。可以克服现有技术中信号处理过程中滑窗处理存在复杂度高的缺陷,简化处理过程。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。

下面通过实施例,对本发明的技术方案做进一步的详细描述。

具体实施方式

以下结合对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

具体地,一种低复杂度滑窗处理方法,主要包括:

步骤1:创建比特索引表T[0:L-1],所述比特索引表共L*M比特,并将0:L-1初始化为T相应索引对应的内容;

步骤2:初始化数据序列为长度为L的0值向量S[0:L-1];

步骤3:将T=T+1,若L能够表示为L=2M,则将发生高位自然溢出元素对应的索引删除,若L不能表示为L=2M,则将索引值为L的索引删除,所述T成为L-1值索引表;

步骤4:将新数据s,与S[T]对应的值进行比较,利用二分法,通过最多M次的比较,找出应该插入的位置p,在T表中p的位置写入0,其余数值顺序后移,使得表T恢复L值,最终,S[T]为递增或递减的有序数据序列,其中T[0]位置对应的值S[T[0]]为最大值或最小值,T[L-1]位置对应的值S[T[L-1]]为最大值或最小值;

步骤4中,T相应索引对应的内容,若为递增的有序数据序列,索引0对应最小值,即T[0]位置对应的值S[T[0]]为最小值,索引L-1对应最大值,即T[L-1]位置对应的值S[T[L-1]]为最大值;T相应索引对应的内容,若为递减的有序数据序列,索引0对应最大值,即T[0]位置对应的值S[T[0]]为最大值,索引L-1对应最小值,即T[L-1]位置对应的值S[T[L-1]]为最小值。

还包括对步骤4处理后的滑动窗口内的数据进行对称位置滤波和特定序号滤波,所述对称位置滤波包括极值均值滤波,所述特定序号滤波包括中值滤波。

所述极值均值滤波操作,输出极值均值为。

所述中值滤波操作,输出S[T[2M-1]]或S[T[2M-1-1]]或者二者均值。

以S[T]为递增的有序序列为例,滑窗搜索实现流程如下:

步骤1:初始化

1)创建一L值M比特索引表T[0:L-1],共L*M比特。并将0:L-1初始化为T相应索引对应的内容,索引0对应最小值,索引L-1对应最大值。

2)初始化数据序列为长度为L的0值向量S[0:L-1]

步骤2:迭代过程

1)将T=T+1,并将发生高位自然溢出元素对应的索引删除,高位自然溢出(2M0),此时索引值为0,并将该索引0删除(该步为2的幂次带来的好处,移除了最早的数据),此时T为L-1值索引表;

2)将新来数据s,与S(T)对应的值进行比较,由于为线性表,可以用二分法,最多M次比较,即可找出应该插入的位置p,在T表中p的位置写入0,其余值顺序后移,使得表T恢复L值

经上述两步后,S[T]中始终储存的为由小到大的序列,其中T[0]位置对应的值S[T[0]]为最小值,T[L-1]位置对应的值S[T[L-1]]为最大值,S[T[2M-1]]或S[T[2M-1-1]]为中值(也可以取二值平均)。此时,可以对滑动窗口内数据方便执行各种滤波操作,比如

1)极值均值滤波:输出极值均值为,更一般地,可以根据其他系统特征进行特定其他滤波,如对称位置滤波等

2)中值滤波:输出S[T[2M-1]]或S[T[2M-1-1]]或者二者均值。

我们通过引入一索引表的方式,利用上一窗口的结果将窗口内无序数据转化为有序数据,然后进行二分插值排序。该处理方式复杂度降低为,若L为2的幂次的数,处理将更为简洁,文中假设。

至少可以达到以下有益效果:极大地降低了许多非线性滤波处理的复杂度,如极值均值,中值以及其他根据系统特征(比如取窗口排第3大的数据)需要所进行的滤波。

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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