本发明涉及用于改善控制系统微分计算稳定性的滤波方法,属于数字信号处理方法的技术领域。
背景技术:
控制系统从外界获取信息其实是原始信息、噪声信息、量化误差等信号叠加后的信息,一般需要对其进行滤波处理。滤波的过程其实就是从叠加后的信息中还原原始信息的过程。设计控制系统时,除了在硬件中对信号采取抗干扰措施外,还需要通过软件进行数字滤波处理,使采集到的数据能够真实地反映实际情况,向真实值靠近。
控制系统中经常使用输入信号变化率参与控制运算,对输入信号进行微分运算可以计算出信号的变化率。微分可以使系统超前控制,改善控制效果,但是微分的引入也使系统对信号微小抖动产生过激的反应。尤其是原始信号稳定或小范围变化时,噪声信号对微分项的影响特别大,甚至导致控制系统不稳定。
常用的限幅滤波法、中位值滤波法、算术平均滤波法、一阶滞后滤波法、递推平均滤波法等滤波方法式虽然可以起到平滑信号的作用,改善微分的计算,但是不能完全消除稳定状态时噪声信号对微分计算的影响。死区滤波方法式可以安全消除在稳定状态时噪声信号对微分计算的影响,但却会严重影响信号变化时的微分计算。
技术实现要素:
本发明的目的是解决上述现有技术的不足,针对传统控制系统中原始信号稳定或小范围变化时噪声信号对微分项影响特别大而传统滤波法无法消除影响的问题,提出用于改善控制系统微分计算稳定性的滤波方法。
为了达到上述目的,本发明所采用的技术方案为:
用于改善控制系统微分计算稳定性的滤波方法,其特征在于包括如下步骤:
s1获取系统稳定时的输入信号抖动范围;
s2根据系统稳定时的输入信号抖动范围设计滤波方式:
包括高阈值和低阈值,高阈值=输出值 波动值,低阈值=输出值-波动值;
s3系统运行,获取输入信号采集值进行判断:
当获取输入信号采集值为首次获取数据时,直接初始化进入下一步骤,并重新执行s2,
当获取输入信号采集值非首次获取数据时,进行更新输出,
获取输入信号采集值大于高阈值时,更新输出值=原输出值 输入值-高阈值,并重新执行s2,
获取输入信号采集值小于低阈值时,更新输出值=原输出值 输入值-低阈值,并重新执行s2,
获取输入信号采集值介于高阈值与低阈值之间时,直接初始化进入下一步骤;
s4输出步骤s3的输出值。
优选地,所述步骤s3中,首先进行高阈值对比,当获取输入信号采集值低于高阈值时,再进行低阈值对比。
本发明的有益效果主要体现在:
1.相较常用滤波法,该滤波方法能够在输入信号稳定或小范围变化时使输出值稳定不变,在输入信号范围变化时,完全跟踪输入信号的变化率。
2.该滤波方法能与其他滤波方式相结合,在系统较为稳定时提供微分计算稳定性。
附图说明
图1是本发明用于改善控制系统微分计算稳定性的滤波方法的结构示意图。
图2是本发明滤波方法的滤波曲线与现有滤波曲线的对比图。
具体实施方式
本发明提供用于改善控制系统微分计算稳定性的滤波方法。以下结合附图对本发明技术方案进行详细描述,以使其更易于理解和掌握。
用于改善控制系统微分计算稳定性的滤波方法,包括如下步骤:
获取系统稳定时的输入信号抖动范围;
根据系统稳定时的输入信号抖动范围设计滤波方式:
包括高阈值和低阈值,高阈值=输出值 波动值,低阈值=输出值-波动值;
系统运行,获取输入信号采集值进行判断:
当获取输入信号采集值为首次获取数据时,直接初始化进入下一步骤,并重新执行s2,
当获取输入信号采集值非首次获取数据时,进行更新输出,
获取输入信号采集值大于高阈值时,更新输出值=原输出值 输入值-高阈值,并重新执行s2,
获取输入信号采集值小于低阈值时,更新输出值=原输出值 输入值-低阈值,并重新执行s2,
获取输入信号采集值介于高阈值与低阈值之间时,直接初始化进入下一步骤,并重新执行s2;
输出步骤s3的输出值。
具体地说明,首先获取系统稳定时的输入信号抖动范围,在实际应用场景中,当整个系统稳定时,采集到的信号往往也会存在波动。这些波动可以认为是噪声信号、量化误差等信号共同作用出现的。表现在软件的采集值上就是输入数据的有效值的最后一到两位一直不停的波动,难以稳定,通过监控可获取输入信号的抖动范围。
而本案的滤波方式即利用系统稳定时的抖动范围作为参考,从而实现滤波。具体地,获取到的输入信号抖动范围其实就是需要滤除的信号范围,将其作为设计该滤波方式的设计参数,可以使该滤波方式完全滤除抖动信号。在输入信号超出抖动范围时通过计算输入值与滤波阈值边界的差值来完全跟踪输入信号的变化率。从而达到输入信号变化小时输出值稳定不变,输入信号变化大时输出值完全跟踪输入信号变化率的目的。
其主要用于系统稳定或者信号波动范围较小的应用场景中。
具体地详细步骤如图1所示:
步骤101:程序开始运行。
步骤102:获取输入信号采集值。
步骤103:判断是否为第一次获取数据,当是进入步骤106,当否进入步骤104。
步骤104:判断输入值是否大于高阈值,若大于高阈值则执行步骤107,若小于高阈值则执行步骤110。
步骤105:判断输入值是否小于低阈值,若小于低阈值则执行步骤108,若大于低阈值则执行步骤108。
步骤106:初始化输出值,将此时的输入值直接赋值给输出值,然后执行步骤109。
步骤107:更新输出值,更新输出值=原输出值 输入值-高阈值,然后执行步骤109。
步骤108:更新输出值,更新输出值=原输出值 输入值-低阈值,然后执行步骤109。
步骤109:更新滤波阈值,高阈值=当前输出值 波动值,低阈值=当前输出值-波动值。
步骤110:输出输出值,此时输出值即为滤波完成的值。
步骤111:滤波结束。
通过以上描述可以发现,本发明用于改善控制系统微分计算稳定性的滤波方法,相较常用滤波法,该滤波方法能够在输入信号稳定或小范围变化时使输出值稳定不变,在输入信号范围变化时,完全跟踪输入信号的变化率。该滤波方法能与其他滤波方式相结合,在系统较为稳定时提供微分计算稳定性。
以上对本发明的技术方案进行了充分描述,需要说明的是,本发明的具体实施方式并不受上述描述的限制,本领域的普通技术人员依据本发明的精神实质在结构、方法或功能等方面采用等同变换或者等效变换而形成的所有技术方案,均落在本发明的保护范围之内。
1.用于改善控制系统微分计算稳定性的滤波方法,其特征在于包括如下步骤:
s1获取系统稳定时的输入信号抖动范围;
s2根据系统稳定时的输入信号抖动范围设计滤波方式:
包括高阈值和低阈值,高阈值=输出值 波动值,低阈值=输出值-波动值;
s3系统运行,获取输入信号采集值进行判断:
当获取输入信号采集值为首次获取数据时,直接初始化进入下一步骤,并重新执行s2,
当获取输入信号采集值非首次获取数据时,进行更新输出,
获取输入信号采集值大于高阈值时,更新输出值=原输出值 输入值-高阈值,并重新执行s2,
获取输入信号采集值小于低阈值时,更新输出值=原输出值 输入值-低阈值,并重新执行s2,
获取输入信号采集值介于高阈值与低阈值之间时,直接初始化进入下一步骤;
s4输出步骤s3的输出值。
2.根据权利要求1所述的用于改善控制系统微分计算稳定性的滤波方法,其特征在于:
所述步骤s3中,
首先进行高阈值对比,当获取输入信号采集值低于高阈值时,再进行低阈值对比。
技术总结