本发明涉及电子通信技术领域,具体来说,涉及一种自适应时域伸缩窗短波电台麦克ptt信号消抖算法。
背景技术:
ptt(push-to-talk)一键通功能是一种全新的移动技术,可以快速地进行“一对一”或者“一对多”通话,就像使用对讲通话机一样,这一功能适合需要频繁中间联系的小型和中型企业以及需要同朋友和家人聊天的个人用户。短波通信是一种使用非常广泛的通信技术手段,短波通信系统则是实现短波通信的具体装置,在短波通信中,麦克ptt信号是控制短波通信装置进行功率发射的使能信号之一。
短波电台的麦克ptt信号由各种类型机械送受话器产生,因送受话器在闭合、断开的过程中,其固有机械特性使得产生的ptt信号快速抖动,表现在检测ptt信号的gpio口线上为连续快速的高低电平变化,从而导致短波通信系统出现虚假动作,增加了短波通信系统的不稳定性。
目前,通常解决上述问题通常方法有:在短波通信系统设计中,设计一种积分电路,通过增加硬件方式,对其进行消抖动处理。上述方法若选取的“积分”电容的容值较小时,则不能完全消除抖动;当选取的“积分”电容的容值较大时,则其消除抖动时间较长,达不到实现较为理想的消除抖动效果。另外一种常用方法是软件消抖,通过设定固定延时进行判定,其设计的延时时间选取最为关键,延时时间过大或过小,均达不到理想的消除抖动。
技术实现要素:
针对相关技术中的问题,本发明提出一种自适应时域伸缩窗短波电台麦克ptt信号消抖算法,解决现有消抖方法效果不佳的问题。
为了实现上述技术目的,本发明的技术方案是这样的:
设计一种自适应时域伸缩窗短波电台麦克ptt信号消抖算法,包括以下步骤:
步骤s1,假设短波控制器处于启动状态,短波控制器通过gpio口接收麦克ptt信号,麦克ptt信号是以电平的高低呈现在gpio口上,麦克ptt信号是由送受话器产生的;
步骤s2,统计gpio口发生电平高低变化的时间段,即从高或低电平变成低或高电平,再由低或高电平变成高或低电平快速变化的过程时间,令每一个电平高低变化的时间段为一个抖动时间片;
步骤s3,在gpio口没有完成一百次抖动时间片的数据统计时,以每个已统计的抖动时间片作为学习样本数据,构建初始形成阶段模型,计算出模型初始形成阶段的时域检测窗时间值;
步骤s4,在gpio口已完成一百次抖动时间片的数据统计时,以每个已统计的抖动时间片作为学习样本数据,构建维护更新阶段模型,计算出维护更新阶段的伸缩观测窗基准时间长度值;
步骤s5,以每次仅统计距离当前一百个抖动时间片为对象,将初始形成阶段模型与维护更新阶段模型进行迭代计算,得到最优的自适应时域伸缩窗时间长度值,将自适应时域伸缩窗平滑过渡进入稳态的麦克ptt信号状态。
进一步,所述步骤s3中,初始形成阶段模型执行固定30ms时域伸缩窗,时域伸缩窗的时间大小如下公式所示:
f1(i)=m,i<100;
其中,i表示第几次抖动;f1(i)表示模型初始形成阶段的时域检测窗时间大小,单位毫秒ms;m为常量,一般取30。
进一步,所述步骤s4中,维护更新阶段模型的伸缩观测窗基准时间长度值是所述步骤s3中,初始形成阶段模型前100次中出现的最大抖动时间长度,所述最大抖动时间长度的公式如下所示:
ti=max(ti);
其中,ti为第i次抖动瞬时抖动时间片长度。
进一步,所述步骤s4中,维护更新阶段模型是在构建完成所述步骤s3中,初始形成阶段模型的基础上,对模型进行实时更新维护,所述实时更新维护公式如下所示:
f2(i)=t(i);
其中,i表示第几次抖动;f2(i)表示当i≥100时模型维护更新阶段得到的时域检测窗时间大小,单位毫秒ms;ti为第i次抖动瞬时抖动时间片长度;
进一步,所述短波控制器连接有送受话器,所述短波控制器上设置有单片机,所述送受话器设置在短波电台麦克ptt上,所述短波控制器、送受话器之间连接有麦克ptt信号。
进一步,所述短波控制器还连接有短波发射机,所述短波控制器、短波发射机之间连接有线路ptt信号。
进一步,所述短波发射机连接有天线调谐器,所述短波发射机、天线调谐器之间连接有射频信号。
进一步,所述天线调谐器连接有天线。
进一步,所述送受话器上设置有麦克ptt口,所述单片机上设置有gipo口,所述麦克ptt口、gipo口之间连接有麦克ptt信号。
本发明的有益效果:一种自适应时域伸缩窗短波电台麦克ptt信号消抖算法,方法简单、处理逻辑清晰,依据送受话器按键触发的固有机械特性对其ptt信号特征进行学习,兼顾过往信息特征,引入学习速率参数对其进行过往特征衰减,实现模型更新和不断完善。该方法初次使用前期,需要样本量的统计过程,一旦完成模型建立后,根据抖动情况变化,通过不断计算距离当前最近100次抖动情况,实现模型自学习更新,可自适应伸缩时域观测窗大小,在时域伸缩窗开启的观测时间内进行抖动判定,从而更佳拟合逼近抖动的真实情况,使其平滑过渡进入稳态的麦克ptt信号状态,从而实现对其抖动进行消除,为短波通信电台装置的稳定性提供保障。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例所述一种短波电台麦克ptt通信系统及信号消抖算法中消抖算法处理信号的流程图;
图2是根据本发明实施例所述一种短波电台麦克ptt通信系统及信号消抖算法中自适应时域伸缩窗的两阶段关系图,其中,第一阶段为模型初始形成阶段,第二阶段为模型维护更新阶段;
图3是根据本发明实施例所述一种短波电台麦克ptt通信系统及信号消抖算法中典型麦克ptt信号状态过程示意图;
图4是根据本发明实施例所述一种短波电台麦克ptt通信系统及信号消抖算法中自适应时域伸缩窗函数消抖示意原理;
图5是根据本发明实施例所述一种短波电台麦克ptt通信系统及信号消抖算法的短波通信系统原理框图;
图6是根据本发明实施例所述一种短波电台麦克ptt通信系统及信号消抖算法中送受话器与单片机连接关系示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,根据本发明实施例所述的自适应时域伸缩窗短波电台麦克ptt信号消抖算法,包括以下步骤:
步骤s1,假设短波控制器处于启动状态,短波控制器通过gpio口接收麦克ptt信号,麦克ptt信号是以电平的高低呈现在gpio口上,麦克ptt信号是由送受话器产生的;
步骤s2,统计gpio口发生电平高低变化的时间段,即从高或低电平变成低或高电平,再由低或高电平变成高或低电平快速变化的过程时间,令每一个电平高低变化的时间段为一个抖动时间片;
步骤s3,在gpio口没有完成一百次抖动时间片的数据统计时,以每个已统计的抖动时间片作为学习样本数据,构建初始形成阶段模型,计算出模型初始形成阶段的时域检测窗时间值;
步骤s4,在gpio口已完成一百次抖动时间片的数据统计时,以每个已统计的抖动时间片作为学习样本数据,构建维护更新阶段模型,计算出维护更新阶段的伸缩观测窗基准时间长度值;
步骤s5,以每次仅统计距离当前一百个抖动时间片为对象,将初始形成阶段模型与维护更新阶段模型进行迭代计算,得到最优的自适应时域伸缩窗时间长度值,将自适应时域伸缩窗平滑过渡进入稳态的麦克ptt信号状态。
如图1-4所示,在本实施例中,所述步骤s3中,初始形成阶段模型执行固定30ms时域伸缩窗,时域伸缩窗的时间大小如下公式所示:
f1(i)=m,i<100;
其中,i表示第几次抖动;f1(i)表示模型初始形成阶段的时域检测窗时间大小,单位毫秒ms;m为常量,一般取30。
如图1-4所示,在本实施例中,所述步骤s4中,维护更新阶段模型的伸缩观测窗基准时间长度值是所述步骤s3中,初始形成阶段模型前100次中出现的最大抖动时间长度,所述最大抖动时间长度的公式如下所示:
ti=max(ti);
其中,ti为第i次抖动瞬时抖动时间片长度。
如图1-4所示,在本实施例中,所述步骤s4中,维护更新阶段模型是在构建完成所述步骤s3中,初始形成阶段模型的基础上,对模型进行实时更新维护,所述实时更新维护公式如下所示:
f2(i)=t(i);
其中,i表示第几次抖动;f2(i)表示当i≥100时模型维护更新阶段得到的时域检测窗时间大小,单位毫秒ms;ti为第i次抖动瞬时抖动时间片长度;
如图5-6所示,在本实施例中,所述短波控制器连接有送受话器,所述短波控制器上设置有单片机,所述送受话器设置在短波电台麦克ptt上,所述短波控制器、送受话器之间连接有麦克ptt信号。
如图5-6所示,在本实施例中,所述短波控制器还连接有短波发射机,所述短波控制器、短波发射机之间连接有线路ptt信号。
如图5-6所示,在本实施例中,所述短波发射机连接有天线调谐器,所述短波发射机、天线调谐器之间连接有射频信号。
如图5-6所示,在本实施例中,所述天线调谐器连接有天线。
如图5-6所示,在本实施例中,所述送受话器上设置有麦克ptt口,所述单片机上设置有gipo口,所述麦克ptt口、gipo口之间连接有麦克ptt信号。
为方便对上述技术方案的进一步理解,现对设计原理及算法处理过程进行说明:
如图1-6所示,设计原理为,当麦克ptt信号由抖动进入稳态前,其抖动持续时间和次数具有随机性,而该变化属于一种随机过程。标准差是衡量随机变量离散程度的变量,反映了统计对象的变化剧烈程度,随机过程具有相关性,将初始形成阶段模型与维护更新阶段模型进行迭代计算,并统计时间数值,每次仅统计距离当前近100次抖动时间片对象,计算得到其统计特性值,得到最终时域伸缩窗的值,在时域伸缩窗开启时,对出现任意ptt抖动信息进行鉴别。
如图1所示,单片机对消抖算法的处理过程,如下所示:
s1:开启短波通信系统,送受话器产生麦克ptt信号;
s2:单片机的gipo口对麦克ptt信号进行检测,并实时监测麦克ptt信号的电平状况;
s3:单片机的gipo口发生麦克ptt信号的电平变化(即从高电平变成低电平,或从低电平变成高电平)时,单片机中的消抖算法判断当前统计的样本是否完成建模,在没有完成100次的抖动时间片样本统计学习时,执行s4,若完成100次抖动时间片样本统计学习,则执行s7;
s4:若出现麦克ptt信号电平变化,则执行固定30ms时域观测窗,检测30ms内发生是否出现相对的电平变化,在30ms观测结束时这种状态没有维持,则执行s5,未发生电平翻转,则执行s7;
s5:执行固定30ms时域观测窗,并计时统计观测期间内出现抖动的时间片,丢弃当前ptt信号,不作任何响应,进行时域观测窗的建模,回到s2;
s6:执行自适应时域观测窗,并对ptt信号进行检测判断,发生电平翻转,判定为抖动,丢弃当前ptt信号,不作任何响应,并完成时域伸缩观测窗模型的更新与统计学习,回到s2;未发生电平翻转,则执行s7;
s7:判定ptt信号为稳态信号,响应ptt输入,单片机中的算法进行对应处理。
如图1所示,开始,进入循环体,麦克ptt信号在gpio口进行检测,判断是否出现ptt信号变化,若未发生变化,返回到上一步,若发生变化,进一步判断是否完成第一次前100个小时片统计学习,如果未完成,则执行固定30ms时域观测窗,开始计时并观测是否发生电平翻滚,未发生电平翻滚,则判定为稳定信号,响应输出ptt信号,若发生电平翻滚,判定为抖动,不响应输入ptt信号,并进行时域伸缩观测窗建模,返回到循环的入口麦克ptt信号在gpio口进行检测,继续进入循环体;如果完成了第一次前100个小时片统计学习,则执行自适应时域伸缩窗并开启观测,开始计时并观测是否发生电平翻滚,未发生电平翻滚,则判定为稳态信号,响应输入ptt信号,发生电平翻滚,判定为抖动,不响应输入ptt信号,并完成时域伸缩观测窗模型更新与学习,返回到循环的入口麦克ptt信号在gpio口进行检测,继续进入循环体。
如图2所示,这种消抖算法为,一种自适应时域伸缩窗短波电台麦克ptt信号消抖算法,自适应学习过程分为两个阶段,共同组成一个整体,构成完成的自适应时域伸缩窗方法,两个阶段关系的数学模型表达式,如下所示:
其中,i表示第几次抖动,f(i)表示抖动时域检测窗口时间大小,单位毫秒ms,f1(i)表示模型初始形成阶段得到的时域检测窗时间大小,单位毫秒ms,f2(i)表示模型维护更新阶段得到的时域检测窗时间大小,单位毫秒ms,当i<100时,则f(i)=f1(i);当i≥100时,则f(i)=f2(i)。
如图3所示,名词解释为,(1)高电平,表示麦克按键处于断开状态,麦克ptt信号无效,短波电台通信装置处于接收状态;(2)低电平,表示麦克按键处于闭合状态,短波电台通信装置处于功率发射或即将发射状态;(3)1个抖动时间片,表示持续很短时间gpio检测的高低电平之间变化(如:从高(低)电平变成低(高)电平,再由低(高)电平变成高(低)电平的快速变化过程),一般就几毫秒或一个毫秒以内;(4)抖动,表示出现高低电平快速交替变化而不能趋于稳定状态的一段过程;(5)稳态,表示一种持续与期望的目标状态一致一段过程。
如图4所示,自适应时域伸缩窗观测时间大小,等于统计距离当前最近的100次出现抖动时间片最大长度迭代值(伸缩观测窗基准时间长度值)与标准差值之和,公式如下所示:
其中,i表示第几次抖动;ti为第i次抖动瞬时抖动时间片长度;
如图5-6所示,送受话器通过麦克ppt口将麦克ppt信号、模拟话音音频传输给短波控制器,短波控制器上的armgpio口将送受话器上接收到的信号传递给arm(m3)单片机,进行处理,短波控制器与短波发射机之间通过网口控制命令进行调节控制,短波发射机将处理后的射频信号传输给天线调节器,短波发射机与天线调节器之间通过网口控制命令进行调节控制,信号调节后输送给天线。
在本发明的描述中,需要理解的是,指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明中,除非另有明确的规定和限定,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
1.自适应时域伸缩窗短波电台麦克ptt信号消抖算法,其特征在于,包括以下步骤:
步骤s1,假设短波控制器处于启动状态,短波控制器通过gpio口接收麦克ptt信号,麦克ptt信号是以电平的高低呈现在gpio口上,麦克ptt信号是由送受话器产生的;
步骤s2,统计gpio口发生电平高低变化的时间段,即从高或低电平变成低或高电平,再由低或高电平变成高或低电平快速变化的过程时间,令每一个电平高低变化的时间段为一个抖动时间片;
步骤s3,在gpio口没有完成一百次抖动时间片的数据统计时,以每个已统计的抖动时间片作为学习样本数据,构建初始形成阶段模型,计算出模型初始形成阶段的时域检测窗时间值;
步骤s4,在gpio口已完成一百次抖动时间片的数据统计时,以每个已统计的抖动时间片作为学习样本数据,构建维护更新阶段模型,计算出维护更新阶段的伸缩观测窗基准时间长度值;
步骤s5,以每次仅统计距离当前一百个抖动时间片为对象,将初始形成阶段模型与维护更新阶段模型进行迭代计算,得到最优的自适应时域伸缩窗时间长度值,将自适应时域伸缩窗平滑过渡进入稳态的麦克ptt信号状态。
2.根据权利要求1所述的自适应时域伸缩窗短波电台麦克ptt信号消抖算法,其特征在于,所述步骤s3中,初始形成阶段模型执行固定30ms时域伸缩窗,时域伸缩窗的时间大小如下公式所示:
f1(i)=m,i<100;
其中,i表示第几次抖动;f1(i)表示模型初始形成阶段的时域检测窗时间大小,单位毫秒ms;m为常量,一般取30。
3.根据权利要求2所述的自适应时域伸缩窗短波电台麦克ptt信号消抖算法,其特征在于,所述步骤s4中,维护更新阶段模型的伸缩观测窗基准时间长度值是所述步骤s3中,初始形成阶段模型前100次中出现的最大抖动时间长度,所述最大抖动时间长度的公式如下所示:
ti=max(ti);
其中,ti为第i次抖动瞬时抖动时间片长度。
4.根据权利要求3所述的自适应时域伸缩窗短波电台麦克ptt信号消抖算法,其特征在于,所述步骤s4中,维护更新阶段模型是在构建完成所述步骤s3中,初始形成阶段模型的基础上,对模型进行实时更新维护,所述实时更新维护公式如下所示:
f2(i)=t(i);
其中,i表示第几次抖动;f2(i)表示当i≥100时模型维护更新阶段得到的时域检测窗时间大小,单位毫秒ms;ti为第i次抖动瞬时抖动时间片长度;
5.根据权利要求1所述的自适应时域伸缩窗短波电台麦克ptt信号消抖算法,其特征在于,所述短波控制器连接有送受话器,所述短波控制器上设置有单片机,所述送受话器设置在短波电台麦克ptt上,所述短波控制器、送受话器之间连接有麦克ptt信号。
6.根据权利要求5所述的自适应时域伸缩窗短波电台麦克ptt信号消抖算法,其特征在于,所述短波控制器还连接有短波发射机,所述短波控制器、短波发射机之间连接有线路ptt信号。
7.根据权利要求6所述的自适应时域伸缩窗短波电台麦克ptt信号消抖算法,其特征在于,所述短波发射机连接有天线调谐器,所述短波发射机、天线调谐器之间连接有射频信号。
8.根据权利要求7所述的自适应时域伸缩窗短波电台麦克ptt信号消抖算法,其特征在于,所述天线调谐器连接有天线。
9.根据权利要求5所述的自适应时域伸缩窗短波电台麦克ptt信号消抖算法,其特征在于,所述送受话器上设置有麦克ptt口,所述单片机上设置有gipo口,所述麦克ptt口、gipo口之间连接有麦克ptt信号。
技术总结