CN106980491A - 一种a/d采样的改进的均值滤波算法 - Google Patents
一种a/d采样的改进的均值滤波算法 Download PDFInfo
- Publication number
- CN106980491A CN106980491A CN201710202512.XA CN201710202512A CN106980491A CN 106980491 A CN106980491 A CN 106980491A CN 201710202512 A CN201710202512 A CN 201710202512A CN 106980491 A CN106980491 A CN 106980491A
- Authority
- CN
- China
- Prior art keywords
- data
- value
- array
- filtering algorithm
- samplings
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Other Investigation Or Analysis Of Materials By Electrical Means (AREA)
- Complex Calculations (AREA)
Abstract
一种A/D采样的改进的均值滤波算法,利用MCU采集数据,并将采集到的数据进行A/D转换,将其存入数组AD[N]中,N的取值大于等于100。当数组中存储的采样值已满,对N个数按照从小到大的顺序进行冒泡排序,然后去掉排序后的数组中前面、后面各N/5个数据,用剩余的3×N/5求和,并取其平均值,得到最终的采样值。这种算法能够有效的去掉干扰信号,特别是与采样值相差很大的值,使得最终的采样值非常接近真值。因此该软件滤波方法具有易实现、响应快、抗干扰性高等特性,且能有效地抑制噪声。
Description
技术领域
本发明属于软件滤波算法技术领域,具体涉及一种A/D采样的改进的均值滤波算法。
背景技术
在工程实践和实验中,经常要对经过A/D转换后的数据进行采集,但由于存在外界干扰和电路设计不合理等因素,将会导致数据不停的跳变,非常不稳定。为了改善这种情况,有效的去除干扰,常会采用各种滤波算法。其中均值滤波算法是常用的一种,循环采集采样值N次,然后取其平均值,得到最终的值。这种滤波算法虽然简单,但是,由于干扰的存在,会使得这N个值中有部分值跳变比较大,偏离中心值较远,因此取平均值后,得到的均值距离真值偏差较大,并不能有效的去除干扰信号。
发明内容
为了克服上述技术的不足,本发明的目的是提供一种A/D采样的改进的均值滤波算法,能够有效的去除干扰。当我们对一个A/D通道的值进行采样时,对其进行N次采样,N的取值大于等于100.如果条件允许,N的取值越大越好。并将其保存在一个数组AD中。因为有干扰的存在,其采样值必然不同,而且有较大的偏差,我们对着N个值进行冒泡排序,按照从小到大的顺序进行,去掉前后各N/5个数据,因为有干扰的存在,接近最大值或者最小值的数据,必然是受干扰比较大的数据。将这部分数据去掉,必然是有效的滤除了干扰。然后用剩余的3×N/5个数据求累加和,并求均值,得到的最终值必然是最接近真值的A/D采样值。这部分数值是用受干扰比较小的,最接近真实值的数值。
为了实现上述目的,本发明采用的技术方案是:
一种A/D采样的改进的均值滤波算法,将采集到的采样值存入数组AD中并进行计算,包括以下步骤:
步骤S1:MCU的A/D通道采集外部输入数据,并将其存入数组AD中,转入步骤S2;
步骤S2:判断数组AD中的数据是否已满,若没满,则转入步骤S1,若已满,则转入步骤S3;
步骤S3:对数组AD中的N个数据按从小到大的顺序进行冒泡排序;
步骤S4:去掉排序后的数组中的数据,前后各N/5个;
步骤S5:用数组中剩余的3×N/5个数据求累加和,并取均值,得到最终的采样值。
所述的步骤S1中采集A/D通道数据,可以是单通道,也可以是多通道,A/D采集通道是MCU的A/D输入引脚,MCU采用的是STM32F103RBT6。
所述的步骤S2中AD数组的长度为N,N的取值要大于等于100.
所述的步骤S3中对数组AD中的N个数据进行冒泡排序,按照从小到大的顺序进行。
所述的步骤S4中去掉的前后各N/5个数据,是受到干扰、与真实值相差比较大的值。
所述的步骤S5中剩余的3×N/5个数据是比较接近真实值,受干扰比较小的数据,用它们求累加和,并取均值,得到的最终值比较接近真实值。
本发明的有益效果是:
1)这种滤波算法实现简单、有效可行。
2)这种滤波算法相比于普通的滤波算法,去除了更多的干扰,抗干扰能力更强,性能更好。
附图说明
图1为本发明一种A/D采样的改进的均值滤波算法的步骤流程图。
图2为本发明一种A/D采样的改进的均值滤波算法的软件流程图。
具体实施方式
以下结合附图对本发明进一步叙述。
如图1、2所示,一种A/D采样的改进的均值滤波算法,将采集到的采样值存入数组AD中并进行计算,包括以下步骤:
步骤S1:MCU的A/D通道采集外部输入数据,并将其存入数组AD中,转入步骤S2;
步骤S2:判断数组AD中的数据是否已满,若没满,则转入步骤S1,若已满,则转入步骤S3;
步骤S3:对数组AD中的N个数据按从小到大的顺序进行冒泡排序;
步骤S4:去掉排序后的数组中的数据,前后各N/5个;
步骤S5:用数组中剩余的3×N/5个数据求累加和,并取均值,得到最终的采样值。
所述的步骤S1中采集A/D通道数据,可以是单通道,也可以是多通道,A/D采集通道是MCU的A/D输入引脚,MCU采用的是STM32F103RBT6。本图中主要论述的是单通道,但同样适用于多通道。
所述的步骤S2中AD数组的长度为N,N的取值要大于等于100.
所述的步骤S3中对数组AD中的N个数据进行冒泡排序,按照从小到大的顺序进行。
所述的步骤S4中去掉的前后各N/5个数据,是受到干扰、与真实值相差比较大的值。
所述的步骤S5中剩余的3×N/5个数据是比较接近真实值,受干扰比较小的数据,用它们求累加和,并取均值,得到的最终值比较接近真实值。
实施例
采样的软件滤波方法中,首先利用函数Adc1_Init()对STM32F103RBT6的A/D采集通道1进行初始化。然后调用Get_Adc1()函数,将采集值Adc1_Value存入数组AD[M]中,M的初始值是0。然后判断M是否小于N,N的初始值是100,若是,则继续调用Get_Adc1()采集数据存储在数组AD[M]中。若不是,则说明100个数据已经采集满,调用冒泡排序函数Bubble_Sort(AD[N]),对AD[N]数组中100个数据进行排序,顺序是从小到大。然后调用Delete(AD[N/5])函数,删除掉数组中前后各20个数据。最后对剩余的60个数据求累加和,并将其保存在SUM中,用SUM/60得到平均值,将其存放在AVG中,就得到了最终的采集数据真值。
综上所述, 本发明的改进的均值滤波算法,实现简单、有效可行。这种滤波算法相比于普通的滤波算法,去除了更多的干扰,抗干扰能力更强,性能更好。
Claims (6)
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采用的是STM32F103RBT6。
3.根据权利要求1所述的一种A/D采样的改进的均值滤波算法,其特征在于,所述的步骤S2中AD数组的长度为N,N的取值要大于等于100。
4.根据权利要求1所述的一种A/D采样的改进的均值滤波算法,其特征在于,所述的步骤S3中对数组AD中的N个数据进行冒泡排序,按照从小到大的顺序进行。
5.根据权利要求1所述的一种A/D采样的改进的均值滤波算法,其特征在于,所述的步骤S4中去掉的前后各N/5个数据,是受到干扰、与真实值相差比较大的值。
6.根据权利要求1所述的一种A/D采样的改进的均值滤波算法,其特征在于,所述的步骤S5中剩余的3×N/5个数据是比较接近真实值,受干扰比较小的数据,用它们求累加和,并取均值,得到的最终值比较接近真实值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710202512.XA CN106980491A (zh) | 2017-03-30 | 2017-03-30 | 一种a/d采样的改进的均值滤波算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710202512.XA CN106980491A (zh) | 2017-03-30 | 2017-03-30 | 一种a/d采样的改进的均值滤波算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106980491A true CN106980491A (zh) | 2017-07-25 |
Family
ID=59339482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710202512.XA Pending CN106980491A (zh) | 2017-03-30 | 2017-03-30 | 一种a/d采样的改进的均值滤波算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106980491A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108469530A (zh) * | 2018-04-09 | 2018-08-31 | 吴卓航 | 一种用于车辆的测速装置及方法 |
CN110146147A (zh) * | 2018-02-12 | 2019-08-20 | 中国农业机械化科学研究院 | 一种家禽在线称重分级系统及方法 |
CN110989969A (zh) * | 2019-12-24 | 2020-04-10 | 江苏源普控制设备有限公司 | 一种高炉喷煤喷吹率数据处理方法 |
CN111404546A (zh) * | 2020-03-16 | 2020-07-10 | 青岛中加特电气股份有限公司 | 对ad采样数据进行滤波的方法、设备和计算机可读存储介质 |
CN111413473A (zh) * | 2020-05-07 | 2020-07-14 | 深圳市无眼界科技有限公司 | 一种基于aqi空气质量模块混气数据滤波算法 |
CN112305406A (zh) * | 2020-10-14 | 2021-02-02 | 上海华虹宏力半导体制造有限公司 | 芯片微小模拟信号测试方法和测试装置 |
CN115559926A (zh) * | 2022-11-03 | 2023-01-03 | 扬州万方科技股份有限公司 | 基于大数据的vpx机箱风扇自动调节的系统及方法 |
CN115657574A (zh) * | 2022-12-28 | 2023-01-31 | 合力(天津)能源科技股份有限公司 | 一种基于压力波通讯的控制系统 |
WO2023197167A1 (zh) * | 2022-04-12 | 2023-10-19 | 宁德时代新能源科技股份有限公司 | 一种控制方法及叠片系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080224912A1 (en) * | 2007-03-16 | 2008-09-18 | Texas Instruments Inc. | Median and mean coherent filter and method for eliminating noise in touch screen controller |
CN101498975A (zh) * | 2008-02-02 | 2009-08-05 | 德信智能手机技术(北京)有限公司 | 一种处理触摸屏飞点的数字滤波方法 |
CN104572076A (zh) * | 2014-12-12 | 2015-04-29 | 烟台智慧云谷云计算有限公司 | 一种模拟量采集的软滤波算法及滤波系统 |
-
2017
- 2017-03-30 CN CN201710202512.XA patent/CN106980491A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080224912A1 (en) * | 2007-03-16 | 2008-09-18 | Texas Instruments Inc. | Median and mean coherent filter and method for eliminating noise in touch screen controller |
CN101498975A (zh) * | 2008-02-02 | 2009-08-05 | 德信智能手机技术(北京)有限公司 | 一种处理触摸屏飞点的数字滤波方法 |
CN104572076A (zh) * | 2014-12-12 | 2015-04-29 | 烟台智慧云谷云计算有限公司 | 一种模拟量采集的软滤波算法及滤波系统 |
Non-Patent Citations (1)
Title |
---|
黄健等: ""基于STM32的A/D采样软件滤波改进算法研究"", 《仪表技术与传感器》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110146147A (zh) * | 2018-02-12 | 2019-08-20 | 中国农业机械化科学研究院 | 一种家禽在线称重分级系统及方法 |
CN110146147B (zh) * | 2018-02-12 | 2020-12-15 | 中国农业机械化科学研究院 | 一种家禽在线称重分级系统及方法 |
CN108469530A (zh) * | 2018-04-09 | 2018-08-31 | 吴卓航 | 一种用于车辆的测速装置及方法 |
CN108469530B (zh) * | 2018-04-09 | 2020-05-19 | 吴卓航 | 一种用于车辆的测速装置及方法 |
CN110989969A (zh) * | 2019-12-24 | 2020-04-10 | 江苏源普控制设备有限公司 | 一种高炉喷煤喷吹率数据处理方法 |
CN111404546A (zh) * | 2020-03-16 | 2020-07-10 | 青岛中加特电气股份有限公司 | 对ad采样数据进行滤波的方法、设备和计算机可读存储介质 |
CN111413473A (zh) * | 2020-05-07 | 2020-07-14 | 深圳市无眼界科技有限公司 | 一种基于aqi空气质量模块混气数据滤波算法 |
CN112305406A (zh) * | 2020-10-14 | 2021-02-02 | 上海华虹宏力半导体制造有限公司 | 芯片微小模拟信号测试方法和测试装置 |
CN112305406B (zh) * | 2020-10-14 | 2024-03-15 | 上海华虹宏力半导体制造有限公司 | 芯片微小模拟信号测试方法和测试装置 |
WO2023197167A1 (zh) * | 2022-04-12 | 2023-10-19 | 宁德时代新能源科技股份有限公司 | 一种控制方法及叠片系统 |
CN115559926A (zh) * | 2022-11-03 | 2023-01-03 | 扬州万方科技股份有限公司 | 基于大数据的vpx机箱风扇自动调节的系统及方法 |
CN115657574A (zh) * | 2022-12-28 | 2023-01-31 | 合力(天津)能源科技股份有限公司 | 一种基于压力波通讯的控制系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106980491A (zh) | 一种a/d采样的改进的均值滤波算法 | |
CN104783780B (zh) | 心电信号除噪方法及装置 | |
CN107169979A (zh) | 一种改进Canny算子的图像边缘检测方法 | |
CN104398252A (zh) | 一种心电信号处理方法及装置 | |
CN107411739A (zh) | 基于双树复小波的脑电信号情绪识别特征提取方法 | |
CN102386889B (zh) | 基线漂移去除方法、装置及中值滤波器 | |
WO2024125321A1 (zh) | 一种基于分割熵的油液磨粒特征信号提取方法 | |
CN110037682B (zh) | 基于改进卷积神经网络的识别心律类型的方法 | |
CN107361764B (zh) | 一种心电信号特征波形r波的快速提取方法 | |
CN114970602A (zh) | 基于改进的经验模态分解与小波阀值函数的信号去噪方法与系统 | |
CN105915193B (zh) | 一种用于多相滤波器的改进生成方法 | |
WO2011101043A1 (de) | Verfahren zur binauralen seitenwahrnehmung für hörinstrumente | |
CN107589298A (zh) | 电网频率检测电路、方法、存储介质和处理器 | |
CN114739674A (zh) | 轴承故障诊断方法、系统、电子设备及存储介质 | |
CN105929335A (zh) | 电池信息采样处理方法及装置 | |
CN109586763B (zh) | 一种电子通信系统中扩频信号的去噪方法及其去噪系统 | |
CN106021181B (zh) | 一种对fft数据实施的相邻点相关性均值降噪方法 | |
CN110108929A (zh) | 一种抗干扰型雷电流采集装置 | |
CN112006679B (zh) | 一种基于窗口方差变换的穿戴式心电信号r波检测方法 | |
CN110327031A (zh) | 一种去除心电信号运动伪迹的方法 | |
CN107590508A (zh) | 一种心磁信号自适应处理方法及系统 | |
CN112971813A (zh) | 一种用于神经信号的峰电位分类系统及分类方法 | |
CN106888021A (zh) | 一种自适应调整高速采样速率的方法 | |
Fang-fang et al. | Studying on denoising algorithm of heart sound signal based on the generalized mathematical morphology | |
CN106026973B (zh) | 一种对fft数据实施的平均噪声降噪方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170725 |