CN112104339B - 一种适用于含跳变边沿信号的平滑滤波方法 - Google Patents

一种适用于含跳变边沿信号的平滑滤波方法 Download PDF

Info

Publication number
CN112104339B
CN112104339B CN202010885672.0A CN202010885672A CN112104339B CN 112104339 B CN112104339 B CN 112104339B CN 202010885672 A CN202010885672 A CN 202010885672A CN 112104339 B CN112104339 B CN 112104339B
Authority
CN
China
Prior art keywords
data
signal
absolute value
edge
smoothed
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.)
Active
Application number
CN202010885672.0A
Other languages
English (en)
Other versions
CN112104339A (zh
Inventor
马春光
陈元
鄢然
周逸
吕洪光
罗勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202010885672.0A priority Critical patent/CN112104339B/zh
Publication of CN112104339A publication Critical patent/CN112104339A/zh
Application granted granted Critical
Publication of CN112104339B publication Critical patent/CN112104339B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0248Filters characterised by a particular frequency response or filtering method
    • H03H17/026Averaging filters

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种适用于含跳变边沿信号的平滑滤波方法,属于数字滤波系统中对数据波形平滑处理领域。本发明通过求取信号一阶差分的方法对跳变边沿进行判断,能够实时自动判断含有跳变边沿的信号的跳变边沿,从而在进行平滑处理时能够自动保留跳变边沿,相比传统的直接平滑滤波能够有效防止该类信号跳变边沿信息丢失,因此相比传统的平滑滤波算法能够适用的范围更广。

Description

一种适用于含跳变边沿信号的平滑滤波方法
技术领域
本发明属于数字滤波系统中对数据波形平滑处理领域,特别涉及一种适用于含跳变边沿信号的平滑滤波方法。
背景技术
在数字滤波系统中常会出现经一次低通滤波后所得波形仍含有小幅度高频噪声从而导致波形整体不平整,会产生小幅度抖动的现象,这种干扰现象对于需要尽可能保持平稳的波形来说是无法容忍的,而由于这些经过一次低通滤波仍然无法滤除的小幅度高频噪声其频率处在更低的范围,因此除非进一步减少低通滤波器的通带频率,否则无法进行滤除,但对于数字滤波器尤其是最常用的FIR(Finite Impulse Response,有限脉冲响应)数字滤波器来说,在保持信号采样频率不变的情况下,如果要进一步减小其通带频率则意味着要增加滤波器阶数,而数字滤波器阶数决定了实现数字滤波器所需要的硬件资源(乘法器、加法器等)的多少。因此为了尽可能节省硬件资源,并且能够滤除信号本身所含有的小幅高频噪声,平滑滤波算法就是最常用最有效的一种手段。
传统的平滑滤波算法的做法是设定合适长度的平滑窗宽N,并直接将采集到的N个待平滑处理数据进行平均,得到的平均值就是这一次的平滑滤波结果,比如由西安理工大学李强等人提出的一种基于双窗宽滑动滤波的ip-iq谐波检测算法中其滑动滤波算法部分就是采用此算法[李强,王博强,王子豪.一种基于双窗宽滑动滤波的ip-iq谐波检测算法,电力电容器与无功补偿,40(3):23-28,2019.],但是这种算法有一个缺点,即对于一些含有跳变边沿的信号,如方波、三角波、锯齿波或者脉冲信号等,使用这种传统平滑滤波方法将会导致在平滑处理的过程中将这些信号具有的跳变边沿进行平滑处理,从而致使其跳变边沿严重失真,而这种情况对于需要特意保留其跳变边沿的信号(如采样时钟信号、触发信号、异步复位信号等)来说是致命的,因此传统的平滑滤波算法对于此类信号是不适用的。
发明内容
鉴于上述现有技术中平滑滤波算法无法应对具有跳变边沿信号的不足,本发明的目的在于改良平滑滤波算法,使其能够实时分辨待处理信号是否处于跳变边沿状态,从而自动选择是否进行平滑处理。本发明提出的平滑滤波算法能够适用于含有跳变边沿信号的平滑处理。
为达到上述目的,本发明采用的技术方案如下:
一种适用于含跳变边沿信号的平滑滤波方法,包括以下步骤:
S1.采集一段包含完整跳变边沿(包含上升沿和下降沿)的待平滑处理数据;
S2.将待平滑处理数据输入嵌入式微处理器中,对于新进入队列的数据,在进行取平均值运算前先抓取新进入队列的数据以及此数据的前一个数据,若新进入队列的数据为第一个数据,则该数据的前一个数据取0;
S3.计算两个数据差值的绝对值,该绝对值即为待平滑处理数据的一阶后向差分数据的绝对值,将该绝对值与判断阈值进行比较,并输出判断信号;
S4.根据判断信号决定是否进行平滑滤波处理,如果判断信号有效则表示当前数据为跳变边沿状态,不进行平均运算;如果判断信号无效,则判断当前数据为刚脱离跳变边沿状态,或者为非刚脱离状态,对于前一种状态需要进行重新求平均运算,对于后一种状态则直接进行求平均运算。
进一步地,步骤S3中所述判断阈值通过以下步骤得到:
(1)求出步骤S1中的待平滑处理数据的一阶后向差分数据的绝对值,即将原数据的每一个数据减去前一个数据再取绝对值,若为第一个数据,则该数据的前一个数据取0;
(2)再求得待平滑处理数据的二阶后向差分数据的绝对值,即对待平滑处理数据一阶后向差分数据再求一次一阶后向差分,并求取绝对值;
(3)求取二阶后向差分数据的绝对值的最大值,并找出该最大值对应的时刻;然后求出该时刻对应的一阶后向差分数据的绝对值,选取该绝对值为判断阈值。
进一步地,步骤S4中所述判断信号无效时,通过以下步骤判断是否为刚脱离跳变边沿状态:
在每一轮取平均运算时监测S3中所述判断信号是否产生,如果在上一轮取平均运算时监测到判断信号产生,而本轮取平均运算时未监测到判断信号产生,则表示当前数据为刚脱离跳变边沿状态,从而进行重新取平均运算;如果上一轮取平均运算时未监测到判断信号产生,而本轮取平均运算时也未监测到判断信号产生,则表示当前数据为非刚脱离状态,从而进行直接取平均运算。
本发明提出的一种适用于含跳变边沿信号的平滑滤波方法,能够实时自动判断含有跳变边沿信号的跳变边沿,从而在进行平滑处理时能够自动保留跳变边沿,相比传统的直接平滑滤波能够有效防止该类信号跳变边沿信息的丢失,因此本专利提出的平滑滤波算法适用范围更广。
附图说明
图1是本发明实施例的流程图。
图2是本发明实施例中待平滑处理信号波形图。
图3是本发明实施例中基于一阶差分的阈值选取示意图。
图4是本发明实施例中FPGA中MAC FIR滤波器结构图。
图5是本发明实施例中改进后的平滑滤波器模块框图。
图6是本发明实施例中改进的平滑滤波器工作时序图;其中图6(a)是信号跳变标志jump_edge产生时序图,图6(b)是平滑滤波运算时序图。
图7是本发明实施例中平滑滤波结果波形图;其中图7(a)是传统平滑滤波处理结果图,图7(b)是改进后平滑滤波处理结果图。
具体实施方式
本发明适用于跳变边沿信号的平滑滤波方法可在不同的可编程器件上设计实现,如单片机、PLC、FPGA、ARM等。本实施例以较为主流的FPGA进行硬件实现,下面结结合附图和具体实施例对本发明作进一步的详细描述。
本实施例所基于的硬件实施平台为FPGA(Field Programmable Gate Array,可编程逻辑门阵列),由于其具有集成度高、编译更加灵活,并行运算处理更加高效等特点,其从硬件电路设计层面可以简化电路复杂程度,去除电路中冗余逻辑控制电路元件,从而能够降低电路设计的开发困难及缩短开发周期,并且FPGA内部自带功能强大的数字信号处理IP核以及存储器IP核,在设计数字滤波器、实现数字滤波算法上有非常大的优势,因此使用FPGA作为数字滤波器实现的硬件平台,可以不需改变硬件环境就可重新配置参数,且具有廉价、灵活、方便等优势。
如附图1所示,本发明实施例提供了一种适用于含跳变边沿信号的平滑滤波方法,其中对于待平滑处理信号的分析以及判断阈值计算选取部分在MATLAB软件中进行,算法的具体硬件实现在FPGA中进行。
首先采集一段包含完整跳变边沿(包含上升沿和下降沿)的待平滑处理数据,将其导入能够进行复杂、精确计算的MATLAB中,在MATLAB中作出该段信号波形图。为能够更直观说明本实施例,选取的待平滑处理数据波形如附图2所示,可以看到该段信号具有上升沿与下降沿,在平滑处理中需要保留防止其失真,同时需要说明的是该段信号已经经过一次FIR低通滤波,其中仍然包含小幅高频噪声导致信号波形整体起伏不稳定。
接下来针对传统直接平滑滤波算法进行改进说明,传统的直接平滑滤波算法的思路是设定合适长度的平滑窗宽N,并将依次采集到的N个待平滑处理数据看为一个长度为N的队列,该队列中数据随着新数据的输入不断进行右移操作,即将队首数据更新为新输入数据x[n],同时将队列中其他数据整体向右移动,并将原先处于队尾的数据x[n-N]去除,并且每次新输入一次数据,在移位操作的同时将该队列所有数据求平均值,即作为该次平滑处理后数据y[n],传统的直接平滑滤波算法表达式如式1所示:
Figure BDA0002655494240000041
其中x[n-i]表示第n-i个待平滑处理数据,i=1,2....n。
这种直接平滑滤波算法如果应用在含跳变边沿的信号中则会导致在平均计算的过程中将信号的跳变边沿也进行平均处理,从而丢失跳变边沿信息。而本发明改进的平滑滤波算法具有能够判断原信号跳变边沿的能力,从而对跳变边沿进行保留处理。
本发明通过求取信号一阶差分的方法对跳变边沿进行判断,具体方案为:求出该段信号所对应的一阶后向差分数据的绝对值1st_differ,即将原信号的每一个数据减去前一位数据再取绝对值。因为对于离散信号来说,求其一阶差分信号即相当于求连续信号的一阶导数,一阶差分信号代表了原离散信号的前后数据变化率,一阶差分信号越大,则代表其原信号前后数据变化越大,则对于一个整体变化幅度不大但在特定时刻具有跳变边沿的信号来说,如果其一阶差分信号在某一时刻陡然增大则说明其跳变边沿发生在这一时刻;然而对于一般的离散信号来说,其跳变边沿通常会持续一段时间,即其跳变边沿为一些离散数据组成的,这就意味在其跳变边沿处原信号的一阶差分信号为一个幅度很大的波峰,因此如果要根据一阶差分信号决定判断阈值,需要令该阈值能够区分出此波峰,从而才能将跳变边沿完整保留。为达到此目的,则需要再求原信号的二阶后向差分信号的绝对值2nd_differ,即对原信号的一阶后向差分数据再求一次一阶后向差分,并求取绝对值。二阶差分信号代表了一阶差分信号前后数据的变化率,因此二阶差分信号的最大值出现的时刻就代表了一阶差分信号的波峰出现时刻,因此选取该时刻的一阶差分信号的值为判断阈值thershold,就可以合理地区分出原信号的整个跳变边沿,判断阈值的表达式为式2、式3、式4所示:
Δx[n]=|x[n]-x[n-1]| (式2)
max(|Δ2x|)=|Δ2x[thershold_N]| (式3)
thershold=|Δx[thershold_N]| (式4)
其中Δx[n]表示第n个待滤波数据的一阶后向差分数据的绝对值;Δ2x表示待滤波数据的二阶后向差分数据,max(.)表示求最大值函数,thershold_N为判断阈值thershold所在位置。
以此判断方法计算得到的判断阈值如附图3所示,可以看到该选定的判断阈值较为完整地区分了一阶差分信号的最大波峰,对应原信号则为完整的跳变边沿。
通过判断阈值判断原信号的跳变边沿是否到来,从而决定是否对数据进行平均处理,因此步骤S4本质上其实为分段进行平滑处理。对于原待平滑处理信号,可以根据其跳变边沿到来的时刻Njp对其进行分段,如果只将原信号分为未发生跳变的时刻,即n=Njp;与发生跳变的时刻,即n≠Njp,则会导致在对刚脱离跳变时刻的数据进行平滑处理时,仍然将前面包含跳变边沿的数据放入队列中进行平均从而导致失真,因此对于刚脱离跳变时刻而仍在一个平滑滤波窗宽N的时刻内,即Njp<n<Njp+N,其中的数据在进行平滑处理时必须清除队列中之前包含跳变边沿数据的旧数据,从Njp之后的数据开始重新进行平均运算,同时由于此时相当于该队列中非0有效数据从1开始不断增加到N,因此此时平滑滤波器系数也不应保持1/N不变,而应该也从1不断减小到1/N,因此得出改进后的平滑滤波算法的公式为:
Figure BDA0002655494240000051
FPGA负责实现平滑滤波系统硬件的实现,由式1可以得知滑动平均滤波算法可以看作一种特殊的FIR滤波算法,即该FIR滤波器的系数全部为1/N,因此可以在传统FIR滤波器结构的基础上通过改进来实现本发明中的改进平滑滤波算法。在FPGA中最常用的一种结构为MAC结构,该结构经典框图如附图4所示,该结构采用两片RAM来分别控制采样数据X以及滤波器系数H的读取,并通过一个乘累加器对两路数据进行乘累加运算,从而得到滤波后信号数据Y。本发明即在这种结构的基础上进行改进,来实现上述式5所示改进后的平滑滤波算法。
本发明实施例中FPGA基于改进平滑滤波方法的模块框图如附图5所示,为了在FPGA中计算每次待平滑处理数据x[n]的一阶后向差分的绝对值需要在每次卷积的特定时刻采集x[n]与x[n-1]的数据,并额外使用一个浮点数减法器进行实时相减运算,将得出数据的绝对值x_sub_abs与设定好的判断阈值thershold进行比较,如果大于则发出跳变标志信号jump_edge,此信号有效状态下不进行平滑处理,如果此轮数据处理jump_edge信号刚好无效,则说明数据刚脱离跳变边沿,则需要对存储队列数据的x_ram发出复位指令清空输出端口的旧数据;同时重新加载存放平均系数的H_average_rom中的数据,其具体工作时序图如附图6(a)、6(b)所示;其中图6(a)中,wrong表示错误数据,jump_edge不会根据此数据选择是否有效;待平滑处理数据的一阶后向差分的绝对值x_sub[n]的表达式为:
x_sub[n]=|x[n]-x[n-1]| (式6)
从附图5中的乘累加器模块输出的数据y就是经过该平滑滤波器平滑处理后的信号数据。
通过附图7(a)、7(b)波形结果可以看出,采用传统的平滑滤波算法处理该含跳变边沿的信号后,原信号所包含的跳变边沿信息基本完全丢失,而采用本发明改进的平滑滤波算法对该信号进行平滑处理后,既能去除原信号中包含的小幅度高频噪声,增强原信号的稳定性,同时也可以保留原信号的跳变边沿信息,因此本发明设计的平滑滤波算法能够适用于含跳变边沿信号的平滑处理。
由于本发明所采用的硬件实施平台为FPGA,因此本领域技术人员在采用本发明时可以方便地根据实际情况调整该平滑滤波器的窗宽N而不需对本发明其他软硬件结构进行改动,同时本发明可以在FPGA中实现与前一级FIR滤波器的级联,从而实现实时的FIR滤波与平滑滤波处理。

Claims (3)

1.一种适用于含跳变边沿信号的平滑滤波方法,包括以下步骤:
S1.采集一段包含完整跳变边沿的待平滑处理数据;
S2.将待平滑处理数据输入嵌入式微处理器中,对于新进入队列的数据,在进行取平均值运算前先抓取新进入队列的数据以及此数据的前一个数据,若新进入队列的数据为第一个数据,则该数据的前一个数据取0;
S3.计算两个数据的差值的绝对值,该绝对值即为待平滑处理数据的一阶后向差分数据的绝对值,将该绝对值与判断阈值进行比较,并输出判断信号;
所述判断阈值通过以下步骤得到:
(1)求出步骤S1中的待平滑处理数据的一阶后向差分数据的绝对值;
(2)再求得待平滑处理数据的二阶后向差分数据的绝对值,即对待平滑处理数据一阶后向差分数据再求一次一阶后向差分,并求取绝对值;
(3)求取二阶后向差分数据的绝对值的最大值,并找出该最大值对应的时刻;然后求出该时刻对应的一阶后向差分数据的绝对值,选取该绝对值为判断阈值;
S4.根据判断信号决定是否进行平滑滤波处理,如果判断信号有效则表示当前数据为跳变边沿状态,不进行平均运算;如果判断信号无效,则判断当前数据为刚脱离跳变边沿状态,或者为非刚脱离状态,对于前一种状态需要进行重新求平均运算,对于后一种状态则直接进行求平均运算。
2.如权利要求1所述的一种适用于含跳变边沿信号的平滑滤波方法,其特征在于,步骤S4中所述判断信号无效时,通过以下步骤判断是否为刚脱离跳变边沿状态:
在每一轮取平均运算时监测步骤S3中所述判断信号是否产生,如果在上一轮取平均运算时监测到判断信号产生,而本轮取平均运算时未监测到判断信号产生,则表示当前数据为刚脱离跳变边沿状态,从而进行重新取平均运算;如果上一轮取平均运算时未监测到判断信号产生,而本轮取平均运算时也未监测到判断信号产生,则表示当前数据为非刚脱离状态,从而进行直接取平均运算。
3.如权利要求1或2所述的一种适用于含跳变边沿信号的平滑滤波方法,其特征在于,步骤S4中,对待滤波数据取平均运算的平滑滤波公式为:
Figure FDA0002992720270000011
其中,N为平滑窗宽,x[n-i]、x[n]分别为第n-i个、第n个待平滑处理数据,i=1,2....n,Njp为跳变边沿开始的时刻。
CN202010885672.0A 2020-08-28 2020-08-28 一种适用于含跳变边沿信号的平滑滤波方法 Active CN112104339B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010885672.0A CN112104339B (zh) 2020-08-28 2020-08-28 一种适用于含跳变边沿信号的平滑滤波方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010885672.0A CN112104339B (zh) 2020-08-28 2020-08-28 一种适用于含跳变边沿信号的平滑滤波方法

Publications (2)

Publication Number Publication Date
CN112104339A CN112104339A (zh) 2020-12-18
CN112104339B true CN112104339B (zh) 2021-06-01

Family

ID=73758282

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010885672.0A Active CN112104339B (zh) 2020-08-28 2020-08-28 一种适用于含跳变边沿信号的平滑滤波方法

Country Status (1)

Country Link
CN (1) CN112104339B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114577115B (zh) * 2022-03-29 2023-11-10 广州德亚机械制造有限公司 一种基于plc的高速运动检测边沿位置方法及装置
CN116922383B (zh) * 2023-07-21 2024-06-07 北京纳通医用机器人科技有限公司 机械臂控制方法、装置、设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60200289T2 (de) * 2002-09-24 2005-02-17 Agilent Technologies Inc., A Delaware Corp., Palo Alto Übergangsanpassung
CN102811036A (zh) * 2011-05-31 2012-12-05 中兴通讯股份有限公司 数字滤波方法和装置
CN103760414B (zh) * 2013-11-29 2016-06-01 成都亿盟恒信科技有限公司 基于抗干扰低通滤波的低速脉冲周期采集方法
US20150311671A1 (en) * 2014-04-25 2015-10-29 Semtech Canada Corporation Non-linear filter for dml
CN206117612U (zh) * 2016-09-22 2017-04-19 北京精密机电控制设备研究所 一种数字式信号抗干扰滤波电路
CN109561437B (zh) * 2017-09-26 2020-10-16 大唐移动通信设备有限公司 一种对信号进行处理的方法及装置
CN110677139A (zh) * 2019-09-25 2020-01-10 北京中石正旗技术有限公司 一种数控带通滤波模块

Also Published As

Publication number Publication date
CN112104339A (zh) 2020-12-18

Similar Documents

Publication Publication Date Title
CN112104339B (zh) 一种适用于含跳变边沿信号的平滑滤波方法
CN104539263B (zh) 一种可重构低功耗数字fir滤波器
JPH10150388A (ja) 輪状構造を有する適応等化器
JP5140915B2 (ja) ノイズフィルタ及びフィルタリング方法
JP2017122908A (ja) 信号処理装置および信号処理方法
US8166089B2 (en) Sampled data averaging circuit
JP4838206B2 (ja) フィルタ回路および方法
CN107800405B (zh) 基于fpga设计的径向基函数神经网络自适应增强器电路
JP4392153B2 (ja) 波形等化装置
WO2017119368A1 (ja) 信号処理方法および信号処理装置
JP3119624B2 (ja) ノイズ除去装置およびノイズ除去方法、並びに記録媒体
CN102281218B (zh) 直流偏移消除系统及其方法
JP2662694B2 (ja) デジタル保護リレー装置
US7899858B2 (en) Filter circuit
JPH10257106A (ja) 信号検出器
CN104539258A (zh) 一种低功耗数字fir滤波器
JP2003069435A (ja) ノイズキャンセラ
US11496049B2 (en) Instantaneous power estimation in a continuous time digital signal processing system
CN114996072B (zh) 一种多通道压感信号自动追踪检测的系统
JP5625596B2 (ja) 受信装置
JP7401198B2 (ja) 平均値逐次計算装置
JPH07181991A (ja) 音声検出器
Zode et al. Design of Low Power High-Speed LMS Adaptive Filter For Biomedical Applications
JPS60261210A (ja) デイジタルフイルタ回路
JP2565085B2 (ja) タイミング抽出回路

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
GR01 Patent grant
GR01 Patent grant