CN103873015A - 面向连续转角信号的平滑数字滤波方法 - Google Patents

面向连续转角信号的平滑数字滤波方法 Download PDF

Info

Publication number
CN103873015A
CN103873015A CN201410036099.0A CN201410036099A CN103873015A CN 103873015 A CN103873015 A CN 103873015A CN 201410036099 A CN201410036099 A CN 201410036099A CN 103873015 A CN103873015 A CN 103873015A
Authority
CN
China
Prior art keywords
input value
current time
value
output valve
upper moment
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.)
Granted
Application number
CN201410036099.0A
Other languages
English (en)
Other versions
CN103873015B (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201410036099.0A priority Critical patent/CN103873015B/zh
Publication of CN103873015A publication Critical patent/CN103873015A/zh
Application granted granted Critical
Publication of CN103873015B publication Critical patent/CN103873015B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Of Electric Motors In General (AREA)
  • Feedback Control In General (AREA)

Abstract

本发明公开了一种面向连续转角信号的平滑数字滤波方法,其实施步骤为:首先将所述当前时刻的输入值的绝对值、上一时刻的输出值的绝对值求和得到的求和值是否大于180度以及当前时刻的输入值、上一时刻的输入值之间符号相反是否同时成立进行判断,如果成立则依次对当前时刻的输入值、上一时刻的输入值进行判断纠正处理,否则对上一时刻的输出值进行判断纠正处理;根据上一时刻的输入值输出值对当前时刻的输入值进行滤波,最后对滤波结构进行判断纠正处理。本发明能够适应连续转角信号中的不连续性问题,所有操作均可以直接通过软件实现,具有针对连续角度信号滤波输出准确平稳无跳跃、实现简单、成本低的优点。

Description

面向连续转角信号的平滑数字滤波方法
技术领域
本发明涉及伺服控制信号的滤波处理技术领域,具体涉及一种面向连续转角信号的平滑数字滤波方法。
背景技术
数字滤波器的功能是对输入的离散信号的数字代码进行运算处理,以达到改变信号频谱的目的,具有高精度、高可靠性;可程控改变特性或复用、便于集成等优点,在语音信号处理、图像信号处理、医学生物信号处理、伺服控制信号处理等技术领域。数字滤波器一般有低通、高通和带通等类型。角度控制是常见的伺服控制形式之一。控制系统接收角度命令,驱动对象定位于给定角度上。当角度命令和角度传感器信号受干扰时,命令信号可能出现较大噪声;当命令信号突变时,可能形成很大的阶跃信号,对系统产生较大冲击。为了避免上述情况,数字控制系统一般需要对命令信号和角度传感器信号进行数字低通滤波,抑制信号噪声、平滑信号的跳跃性。在系统连续回转时,角度命令和角度传感器均会在0/360或180/-180处出现信号上的跳变。尽管物理运动是连续的,但信号在数值上是不连续的,直接采用数字滤波器会得出错误的结果。
对于一般的一阶低通滤波器,在连续域内可以描述为式(1)。
y ( s ) u ( s ) = ω 0 2 s 2 + 2 ξ ω 0 s + ω 0 2 - - - ( 1 )
式(1)中,y(s)表示一阶低通滤波器的输出,u(s)表示一阶低通滤波器的输入,s表示拉氏算子,ω0表示一阶低通滤波器的截止频率,ξ表示一阶低通滤波器的阻尼系数。在数字信号处理器中实现,需在数学上将上式转化为离散方程。转换的方法有很多,一般可以采用双线性变换的方式描述为式(2)。
y ( z ) u ( z ) = ω 0 2 s 2 + 2 ξ ω 0 s + ω 0 2 | s = 2 T s 1 - z - 1 1 + z - 1 - - - ( 2 )
式(2)中,y(z)表示一阶低通滤波器的输出,u(z)表示一阶低通滤波器的输入,Ts表示采样时间,z表示z变换算子。
将上式展开,进一步描述成采样方程,可以得到:
y(k)=-ay(k-1)+bu(k)+bu(k-1)          (3)
式(2)中,y(k)表示一阶低通滤波器在当前时刻k的输出值,y(k-1)表示一阶低通滤波器在上一时刻k-1的输出值,u(k)表示一阶低通滤波器在当前时刻k的输入值,u(k-1)表示一阶低通滤波器在上一时刻k-1的输入值,a和b为滤波参数。其中a和的表达式如式(4)和(5)所示,其中ts表示一阶低通滤波器的采样时间,ω0表示一阶低通滤波器的截止频率。
a = 1 - 2 t s ω 0 / 1 + 2 t s ω 0 - - - ( 4 )
b = 1 / 1 + 2 t s ω 0 - - - ( 5 )
现有技术的一阶低通数字滤波器可以通过式(3)的采样方程实现对输入信号u的滤波。但是,当输入信号u为连续转角信号,则u在0/360或±180处存在数值上的跳跃。虽然信号数值上是不连续、跳变的,但是物理系统是连续回转的,因此直接采用现有技术的一阶低通数字滤波器对信号进行滤波所获得的结果是错误的。
发明内容
本发明要解决的技术问题是提供一种针对连续角度信号滤波输出准确平稳无跳跃、实现简单、成本低的面向连续转角信号的平滑数字滤波方法。
为了解决上述技术问题,本发明采用的技术方案为:
一种面向连续转角信号的平滑数字滤波方法,其实施步骤如下:
1)定时获取待滤波处理的输入值,针对每一个当前时刻的输入值跳转执行步骤2);
2)将所述当前时刻的输入值的绝对值、上一时刻的输出值的绝对值求和得到求和值,判断所述求和值是否大于180度以及当前时刻的输入值、上一时刻的输入值之间符号相反是否同时成立,如果同时成立则跳转执行步骤3);否则记录当前时刻的输入值,并跳转执行步骤8);
3)判断所述当前时刻的输入值是否大于0,如果大于0则将所述当前时刻的输入值在原值的基础上减去360度,否则将所述当前时刻的输入值在原值的基础上加上360度;
4)判断所述当前时刻的输入值小于0以及上一时刻的输入值大于0是否同时成立,如果同时成立则将上一时刻的输入值在原值的基础上减去360度;
5)记录当前时刻的输入值,判断所述当前时刻的输入值大于0以及上一时刻的输入值小于0是否同时成立,如果同时成立则将上一时刻的输入值在原值的基础上加上360度;
6)判断所述当前时刻的输入值小于0以及上一时刻的输出值大于0是否同时成立,如果同时成立则将上一时刻的输出值在原值的基础上加上360度;
7)判断所述当前时刻的输入值大于0以及上一时刻的输出值小于0是否同时成立,如果同时成立则将上一时刻的输出值在原值的基础上加上360度;
8)根据上一时刻的输入值、上一时刻的输出值对当前时刻的输入值进行一阶低通数字滤波得到当前时刻的输出值;
9)判断所述当前时刻的输出值是否大于180度,如果是则将当前时刻的输出值在原值的基础上减去360度;
10)判断所述当前时刻的输出值是否小于-180度,如果是则将当前时刻的输出值在原值的基础上加上360度;
11)将当前时刻的输出值记录并作为滤波结果输出。
进一步,所述步骤8)中具体是指根据式(6)对当前时刻的输入值进行一阶低通数字滤波;
y(k)=-a*y(k-1)+b*u+b*u(k-1)        (6)
式(6)中,y(k)表示一阶低通数字滤波得到的当前时刻的输出值,u表示当前时刻的输入值,u(k-1)表示上一时刻的输入值,y(k-1)表示上一时刻的输出值,a和b为滤波参数。
本发明面向连续转角信号的平滑数字滤波方法具有下述技术效果:本发明对于连续回转运动中,连续转角信号在0/360或±180度处存在跳跃点,直接应用一阶低通数字滤波算法结果会出现错误的问题,通过滤波器当前时刻输入值、滤波器上一时刻输入值以及滤波器上一时刻输出值的分析对比,并针对表述范围进行修正,最终可获得-180~180度范围内的连续转角信号的一阶低通滤波值,能够适应连续转角信号中的不连续性问题,所有操作均可以直接通过软件实现,具有针对连续角度信号滤波输出准确平稳无跳跃、实现简单、成本低的优点。
附图说明
图1为本发明实施例针对当前时刻的输入值的处理流程示意图。
图2为本发明实施例中主程序的运行步骤示意图。
图3为本发明实施例中定时中断程序的运行步骤示意图。
具体实施方式
参见图1,本实施例面向连续转角信号的平滑数字滤波方法的实施步骤如下:
1)定时获取待滤波处理的输入值u,针对每一个当前时刻的输入值u跳转执行步骤2)。本实施例中,后续对当前时刻的输入值u的处理均为通过变量temp进行操作的,因此获取待滤波处理的输入值u后,需要将待滤波处理的输入值u赋值给变量temp。
2)将当前时刻的输入值u的绝对值、上一时刻的输出值y(k-1)的绝对值求和得到求和值|u|+|y(k-1)|,判断求和值是否大于180度(|u|+|y(k-1)|>180)以及当前时刻的输入值、上一时刻的输入值之间符号相反(u*y(k-1)<0)是否同时成立,如果同时成立则跳转执行步骤3);否则记录当前时刻的输入值,并跳转执行步骤8)。
3)判断当前时刻的输入值u是否大于0,如果大于0则将当前时刻的输入值在原值的基础上减去360度(u=u-360),否则将当前时刻的输入值在原值的基础上加上360度(u=u+360);
4)判断当前时刻的输入值小于0(u<0)以及上一时刻的输入值大于0(u(k-1)>0)是否同时成立,如果同时成立则将上一时刻的输入值在原值的基础上减去360度(u(k-1)=u(k-1)-360)。
5)记录当前时刻的输入值u,判断当前时刻的输入值大于0(u>0)以及上一时刻的输入值小于0(u(k-1)<0)是否同时成立,如果同时成立则将上一时刻的输入值在原值的基础上加上360度(u(k-1)=u(k-1)+360)。
6)判断当前时刻的输入值小于0(u<0)以及上一时刻的输出值大于0(y(k-1)>0)是否同时成立,如果同时成立则将上一时刻的输出值在原值的基础上加上360度(y(k-1)=y(k-1)+360)。
7)判断当前时刻的输入值大于0(u>0)以及上一时刻的输出值小于0(y(k-1)<0)是否同时成立,如果同时成立则将上一时刻的输出值在原值的基础上加上360度(y(k-1)=y(k-1)+360)。
8)根据上一时刻的输入值u(k-1)、上一时刻的输出值y(k-1)对当前时刻的输入值u进行一阶低通数字滤波得到当前时刻的输出值y(k)。
本实施例中,具体是指根据式(6)对当前时刻的输入值u进行一阶低通数字滤波。
y(k)=-a*y(k-1)+b*u+b*u(k-1)     (6)
式(6)中,y(k)表示一阶低通数字滤波得到的当前时刻的输出值,u表示当前时刻的输入值,u(k-1)表示上一时刻的输入值,y(k-1)表示上一时刻的输出值,a和b为滤波参数。
9)判断当前时刻的输出值y(k)是否大于180度,如果是则将当前时刻的输出值在原值的基础上减去360度(y(k)=y(k)-360)。
10)判断当前时刻的输出值y(k)是否小于-180度,如果是则将当前时刻的输出值在原值的基础上加上360度(y(k)=y(k)+360)。
11)将当前时刻的输出值y(k)记录并作为滤波结果输出。
本实施例具体是基于DSP嵌入式系统实现的,DSP嵌入式系统中设有独立的主程序和定时中断程序。主程序中定义了一个全局变量的结构体,该结构体中存有一阶低通数字滤波器的计滤波参数a和b、上一时刻的输入值、上一时刻的输出值;本实施例中步骤2)和步骤5)中的记录当前时刻的输入值u、步骤11)中将当前时刻的输出值y(k)记录均为将当前时刻的输入值u记录到全局变量的结构体中的上一时刻的输入值,将当前时刻的输出值y(k)记录到全局变量的结构体中的上一时刻的输出值,从而以便下一个时刻进行滤波调用。同时,主程序中还定义了一个用于初始化计算滤波器参数a和b的初始化函数,该初始化函数的输入为采样时间ts、阻尼系数ξ和截止频率ω0,采样时间ts、阻尼系数ξ和截止频率ω0均为主程序中进行预定义。如图2所示,主程序在运行后,首先开始调用初始化函数,初始化函数的功能用于依据公式(4)和(5)计算滤波器参数a和b并存储到主程序中用于存储全局变量的结构体中;然后,主程序初始化定时器,开启定时中断,在触发定时器时则调用定时中断程序。如图3所示,定时中断程序被中断入口调用后,首先调用读取角度命令来采样当前时刻的输入值u,然后调用滤波器函数对当前时刻的输入值u进行处理。其中,滤波器函数封装了本实施例中步骤1)~步骤11)的详细实施步骤,针对每一个当前时刻的输入值u,执行步骤1)~步骤11)并分别输出滤波结果。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (2)

1.一种面向连续转角信号的平滑数字滤波方法,其特征在于实施步骤如下:
1)定时获取待滤波处理的输入值,针对每一个当前时刻的输入值跳转执行步骤2);
2)将所述当前时刻的输入值的绝对值、上一时刻的输出值的绝对值求和得到求和值,判断所述求和值是否大于180度以及当前时刻的输入值、上一时刻的输入值之间符号相反是否同时成立,如果同时成立则跳转执行步骤3);否则记录当前时刻的输入值,并跳转执行步骤8);
3)判断所述当前时刻的输入值是否大于0,如果大于0则将所述当前时刻的输入值在原值的基础上减去360度,否则将所述当前时刻的输入值在原值的基础上加上360度;
4)判断所述当前时刻的输入值小于0以及上一时刻的输入值大于0是否同时成立,如果同时成立则将上一时刻的输入值在原值的基础上减去360度;
5)记录当前时刻的输入值,判断所述当前时刻的输入值大于0以及上一时刻的输入值小于0是否同时成立,如果同时成立则将上一时刻的输入值在原值的基础上加上360度;
6)判断所述当前时刻的输入值小于0以及上一时刻的输出值大于0是否同时成立,如果同时成立则将上一时刻的输出值在原值的基础上加上360度;
7)判断所述当前时刻的输入值大于0以及上一时刻的输出值小于0是否同时成立,如果同时成立则将上一时刻的输出值在原值的基础上加上360度;
8)根据上一时刻的输入值、上一时刻的输出值对当前时刻的输入值进行一阶低通数字滤波得到当前时刻的输出值;
9)判断所述当前时刻的输出值是否大于180度,如果是则将当前时刻的输出值在原值的基础上减去360度;
10)判断所述当前时刻的输出值是否小于-180度,如果是则将当前时刻的输出值在原值的基础上加上360度;
11)将当前时刻的输出值记录并作为滤波结果输出。
2.根据权利要求1所述的面向连续转角信号的平滑数字滤波方法,其特征在于,所述步骤8)中具体是指根据式(6)对当前时刻的输入值进行一阶低通数字滤波;
y(k)=-a*y(k-1)+b*u+b*u(k-1)            (6)
式(6)中,y(k)表示一阶低通数字滤波得到的当前时刻的输出值,u表示当前时刻的输入值,u(k-1)表示上一时刻的输入值,y(k-1)表示上一时刻的输出值,a和b为滤波参数。
CN201410036099.0A 2014-01-24 2014-01-24 面向连续转角信号的平滑数字滤波方法 Active CN103873015B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410036099.0A CN103873015B (zh) 2014-01-24 2014-01-24 面向连续转角信号的平滑数字滤波方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410036099.0A CN103873015B (zh) 2014-01-24 2014-01-24 面向连续转角信号的平滑数字滤波方法

Publications (2)

Publication Number Publication Date
CN103873015A true CN103873015A (zh) 2014-06-18
CN103873015B CN103873015B (zh) 2017-01-04

Family

ID=50911207

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410036099.0A Active CN103873015B (zh) 2014-01-24 2014-01-24 面向连续转角信号的平滑数字滤波方法

Country Status (1)

Country Link
CN (1) CN103873015B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104883158A (zh) * 2015-05-18 2015-09-02 北汽福田汽车股份有限公司 电动汽车加速踏板信号的滤波方法及滤波装置
CN105807094A (zh) * 2016-05-06 2016-07-27 深圳市安智车米汽车信息化有限公司 一阶低通滤波计算方法及装置
CN105912818A (zh) * 2016-05-06 2016-08-31 深圳市安智车米汽车信息化有限公司 消除上下坡时影响车辆行驶方向加速度的方法及装置
CN106643628A (zh) * 2016-09-09 2017-05-10 深圳市优必选科技有限公司 角度检测方法及应用该方法的电子装置
CN114337605A (zh) * 2022-03-14 2022-04-12 南京甄视智能科技有限公司 一种旋转角滤波方法、计算机设备及存储介质
CN115520274A (zh) * 2022-10-25 2022-12-27 中国第一汽车股份有限公司 汽车方向盘转角控制方法、装置、存储介质及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101849360A (zh) * 2007-09-06 2010-09-29 剑桥硅无线电有限公司 对抖动不敏感的∑-△调制器
US20120139764A1 (en) * 2010-12-03 2012-06-07 Marco Sosio Continuous Time Sigma-Delta ADC with Embedded Low-Pass Filter
CN103201952A (zh) * 2010-07-26 2013-07-10 麦里普大学 基于ota的电流模式滤波器和振荡器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101849360A (zh) * 2007-09-06 2010-09-29 剑桥硅无线电有限公司 对抖动不敏感的∑-△调制器
CN103201952A (zh) * 2010-07-26 2013-07-10 麦里普大学 基于ota的电流模式滤波器和振荡器
US20120139764A1 (en) * 2010-12-03 2012-06-07 Marco Sosio Continuous Time Sigma-Delta ADC with Embedded Low-Pass Filter

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张智永 等: "稳定平台中陀螺漂移自适应实时估计算法", 《航空学报》, vol. 33, no. 6, 25 June 2012 (2012-06-25), pages 1044 - 1051 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104883158A (zh) * 2015-05-18 2015-09-02 北汽福田汽车股份有限公司 电动汽车加速踏板信号的滤波方法及滤波装置
CN105807094A (zh) * 2016-05-06 2016-07-27 深圳市安智车米汽车信息化有限公司 一阶低通滤波计算方法及装置
CN105912818A (zh) * 2016-05-06 2016-08-31 深圳市安智车米汽车信息化有限公司 消除上下坡时影响车辆行驶方向加速度的方法及装置
CN106643628A (zh) * 2016-09-09 2017-05-10 深圳市优必选科技有限公司 角度检测方法及应用该方法的电子装置
CN106643628B (zh) * 2016-09-09 2019-01-18 深圳市优必选科技有限公司 角度检测方法及应用该方法的电子装置
CN114337605A (zh) * 2022-03-14 2022-04-12 南京甄视智能科技有限公司 一种旋转角滤波方法、计算机设备及存储介质
CN114337605B (zh) * 2022-03-14 2022-05-31 南京甄视智能科技有限公司 一种旋转角滤波方法、计算机设备及存储介质
CN115520274A (zh) * 2022-10-25 2022-12-27 中国第一汽车股份有限公司 汽车方向盘转角控制方法、装置、存储介质及设备

Also Published As

Publication number Publication date
CN103873015B (zh) 2017-01-04

Similar Documents

Publication Publication Date Title
CN103873015A (zh) 面向连续转角信号的平滑数字滤波方法
US11047679B2 (en) Angle detecting apparatus
CN101990626B (zh) 惯性力传感器
EP3239661A1 (en) Resolver device
CN110336507A (zh) 共振频率的检测、机械共振的抑制方法、装置及介质
CN108777578A (zh) 一种编码器信号采样方法及装置
CN109696120A (zh) 一种舵机及其角度检测方法、装置及计算机可读存储介质
CN109870172B (zh) 计步检测方法、装置、设备及存储介质
TWI411220B (zh) 馬達控制裝置
CN101647058A (zh) 有源噪声控制装置
CN107332521A (zh) 高精度、低漂移、低失调、低噪声的斩波放大器
CN111999555A (zh) 伺服系统谐振频率检测方法、装置、电子设备及存储介质
US20150318840A1 (en) Semiconductor device including a decimation filter that performs predetermined filtering
CN105865318A (zh) 应用于lvdt位移传感器的非相敏数字解调系统及方法
JP6589106B2 (ja) 変調波レゾルバ装置
CN201897731U (zh) 一种基于无限冲击响应数字滤波技术的舰船姿态传感器
CN102664724B (zh) 数字通信系统中的数字信号的处理方法和装置
CN108933598A (zh) 数字采样滤波方法、装置及可读存储介质
CN107643080B (zh) 一种惯性测量单元信号的采集处理方法
CN102455707A (zh) 一种基于无限冲击响应数字滤波技术的舰船姿态传感器
CN107368078B (zh) 一种基于加速度传感器反馈的跟踪控制装置及方法
EP3971534B1 (en) Sensor interface
CN114563002B (zh) 一种适应车载扰动环境下寻北的挠性陀螺信号处理方法
SU489083A1 (ru) Устройство дл программного управлени
CN202949385U (zh) 无位置传感器永磁同步电机的电流检测装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant