An improved mean filtering algorithm for A/D sampling, which uses MCU to collect data and converts the data to A/D, is stored in the array AD[N], and the value of N is greater than or equal to 100. When the sampling values stored in the array is full of N, the number of bubble sort according to the order from small to large, then remove the sorted array in front and behind the N/5 data, with the remaining 3 * N/5, and take the average to get the final sampling value. This algorithm can effectively remove the interference signal, especially the difference between the sampling value and the sample value, so that the final sampling value is very close to the truth value. Therefore, the software filtering method has the advantages of easy to implement, fast response, high anti-interference, and can effectively suppress noise.
【技术实现步骤摘要】
一种A/D采样的改进的均值滤波算法
本专利技术属于软件滤波算法
,具体涉及一种A/D采样的改进的均值滤波算法。
技术介绍
在工程实践和实验中,经常要对经过A/D转换后的数据进行采集,但由于存在外界干扰和电路设计不合理等因素,将会导致数据不停的跳变,非常不稳定。为了改善这种情况,有效的去除干扰,常会采用各种滤波算法。其中均值滤波算法是常用的一种,循环采集采样值N次,然后取其平均值,得到最终的值。这种滤波算法虽然简单,但是,由于干扰的存在,会使得这N个值中有部分值跳变比较大,偏离中心值较远,因此取平均值后,得到的均值距离真值偏差较大,并不能有效的去除干扰信号。
技术实现思路
为了克服上述技术的不足,本专利技术的目的是提供一种A/D采样的改进的均值滤波算法,能够有效的去除干扰。当我们对一个A/D通道的值进行采样时,对其进行N次采样,N的取值大于等于100.如果条件允许,N的取值越大越好。并将其保存在一个数组AD中。因为有干扰的存在,其采样值必然不同,而且有较大的偏差,我们对着N个值进行冒泡排序,按照从小到大的顺序进行,去掉前后各N/5个数据,因为有干扰的存在,接近最大 ...
【技术保护点】
一种A/D采样的改进的均值滤波算法,将采集到的采样值存入数组AD中并进行计算,其特征在于,包括以下步骤:步骤S1:MCU的A/D通道采集外部输入数据,并将其存入数组AD中,转入步骤S2;步骤S2:判断数组AD中的数据是否已满,若没满,则转入步骤S1,若已满,则转入步骤S3;步骤S3:对数组AD中的N个数据按从小到大的顺序进行冒泡排序;步骤S4:去掉排序后的数组中的数据,前后各N/5个;步骤S5:用数组中剩余的3×N/5个数据求累加和,并取均值,得到最终的采样值。
【技术特征摘要】
1.一种A/D采样的改进的均值滤波算法,将采集到的采样值存入数组AD中并进行计算,其特征在于,包括以下步骤:步骤S1:MCU的A/D通道采集外部输入数据,并将其存入数组AD中,转入步骤S2;步骤S2:判断数组AD中的数据是否已满,若没满,则转入步骤S1,若已满,则转入步骤S3;步骤S3:对数组AD中的N个数据按从小到大的顺序进行冒泡排序;步骤S4:去掉排序后的数组中的数据,前后各N/5个;步骤S5:用数组中剩余的3×N/5个数据求累加和,并取均值,得到最终的采样值。2.根据权利要求1所述的一种A/D采样的改进的均值滤波算法,其特征在于,所述的步骤S1中采集A/D通道数据,可以是单通道,也可以是多通道,A/D采集通道是MCU的A/D输入引脚,MCU采用的是...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。