基于互补滤波的飞行器姿态解算

基于互补滤波的飞行器姿态解算
基于互补滤波的飞行器姿态解算

姿态解算

一、主线

姿态表示方式:矩阵表示,轴角表示,欧拉角表示,四元数表示。

惯性测量单元IMU(Inertial Measurement Unit):MPU6050芯片,包含陀螺仪和加速度计,分别测量三轴加速度和三轴角速度。注意,传感器所测数据是原始数据,包含了噪声,无法直接用于飞行器的姿态解算,因此需要对数据进行滤波。

滤波算法:非线性互补滤波算法,卡尔曼滤波算法,Mahony互补滤波算法。

二、知识点补充

加速度计和陀螺仪

加速度计:加速度计,可以测量加速度,包括外力加速度和重力加速度,因此,当被测物体在静止或匀速运动(匀速直线运动)的时候,加速度计仅仅测量的是重力加速度,而重力加速度与R坐标系(绝对坐标系)是固连的,通过这种关系,可以得到加速度计所在平面与地面的角度关系也就是横滚角和俯仰角。把加速度传感器水平静止放在桌子上,它的Z轴输出的是1g的加速度。因为它Z轴方向被重力向下拉出了一个形变。可惜的是,加速度传感器不会区分重力加速度与外力加速度。所以,当系统在三维空间做变速运动时,它的输出就不正确了,或者说它的输出不能表明物体的姿态和运动状态。

陀螺仪:陀螺仪测量角速度。陀螺仪模型如图1所示,陀螺仪的每个通道检测一个轴的旋转。

图1[引自网络]

上图中,Rxz是R在XZ面上的投影,与Z轴的夹角为Axz。Ryz是R在ZY面上的投影,与Z轴的夹角为Ayz。陀螺仪就是测量上面定义角度的变化率,换句话说,它会输出一个与上面这些角度变化率线性相关的值。

加速度计工作原理介绍(摘自网络)

大多数加速度计可归为两类:数字和模拟。数字加速度计可通过I2C,SPI或USART方式获取信息,而模拟加速度计的输出是一个在预定范围内的电压值,你需要用ADC(模拟量转数字量)模块将其转换为数字值。不管使用什么类型的ADC模块,都会得到一个在一定范围内的数值。例如一个10位ADC模块的输出值范围在0-1023间。假设我们从10位ADC模块得到了以下的三个轴的数据:

===

586,630,561

AdcRx AdcRy AdcRz

每个ADC 模块都有一个参考电压,假设在我们的例子中,它是3.3V 。要将一个10位的ADC 值转成电压值,我们使用下列公式:

将3个轴的值代入上式,得到:

3.3

586 1.8910233.3

630 2.0310233.3

561 1.811023VoltsRx V VoltsRy V VoltsRz V

=?

==?==?=

每个加速度计都有一个零加速度的电压值,这个电压值对应于加速度为0g 。通过计算相对0g 电压的偏移量我们可以得到一个有符号的电压值。比方说,0g 电压值 1.65VzeroG V =,通过下面的方式可以得到相对0g 电压的偏移量:

1.89 1.650.24

2.03 1.650.381.81 1.650.16DeltaVoltsRx V V V DeltaVoltsRy V V V DeltaVoltsRz V V V

=-==-==-= 现在我们得到了加速度计的电压值,但它的单位还不是2

(9.8/)g m s ,最后的转换,我们还需要引入加速度计的灵敏度,单位通常是/mV g 。比如,加速度计的灵敏度

478.5/0.4785/Sensitivity mV g V g ==。灵敏度值可以在加速度计说明书中找到。要获

得最后的单位为g 的加速度,我们使用下列公式计算:

DeltaVoltsRx

Rx Sensitivity

=

0.240.47850.50.380.47850.790.160.47850.33Rx g Ry g Rz g

=÷==÷==÷= 综上,可以把以上步骤用以下公式表达

1023 Sensitivity

1023 Sensitivity

1023

Sensitivity

Vref

AdcRx VzeroG

Rx

Vref

AdcRy VzeroG

Ry

Vref

AdcRz VzeroG

Rz

?-

=

?-

=

?-

=

现在我们得到了惯性力矢量的三个分量,如果设备除了重力外不受任何外力影响,那我们就可以认为这个方向就是重力矢量的方向。(自此明白了文献[1]中所说只使用加速度计获得的角度是基于飞行器在匀速飞行或静止的条件下得到的)

图2[引自网络]

我们感兴趣的角度是向量R和X,Y,Z轴之间的夹角,那就令这些角度为Axr,Ayr,Azr。观察由R和Rx组成的直角三角形

()()()

cos cos cos

Rx Ry Rz

Axr Ayr Azr

R R R

===

图2中,2222

R RX RY RZ

=++,那么,角度即为

arccos arccos arccos

Rx Ry Rz

Axr Ayr Azr

R R R

===

三、互补滤波算法

加速度计是极易受外部干扰的传感器(如机械振动),但是测量值的误差不随时间的变化。陀螺仪输出的角速度可以积分得到角度,动态性能好,受外部干扰小,但积分会造成误差累积。可以看出,它们优缺点互补,结合起来才能有好的效果。

经典互补滤波算法(Classical Complementary Filter)

经典互补滤波算法基本原理是充分利用加速度计提供的低频角度信号和陀螺仪提供的高频角速度信号,对加速度计进行低通滤波,对陀螺仪进行高通滤波,分别滤出相应的干扰

信号

,为两者的有效融合提供了很好的解决方案[2]。

图3 经典互补滤波算法—频域形式原理图[2] 融合后姿态角估计值为

?

g p

a p p

K

s

s K s s K

ω

θθ

=+

++

其中,

g

ω为陀螺仪测量的角速度,

a

θ为加速度计测量的角度值,

p

K为比例系数,1

()

p

s

F s

s K

=

+

为高通滤波器,

21

()1()p

p

K

F s F s

s K

=-=

+

为低通滤波器。

图4 经典互补滤波算法—时域形式原理图[2]

对?g p

a

p p

K

s

s K s s K

ω

θθ

=+

++

进行反拉氏变换,可得时域微分形式为

??

()

p a g

K

θθθω

=-+

改进后的互补滤波算法(Explicit Complementary Filter)

经典互补滤波算法实现简单,但是估算精度角度较低,文献[3]提出了一种改进算法(ECF),在经典互补滤波算法的补偿环节加入积分器,以消除陀螺仪漂移常值误差,原理框图如下图。

图5 改进后的互补滤波算法[2]

时域微分形式为

???

()()

I

p a a g

K

K

s

θθθθθω

=-+-+

四、四旋翼飞行器姿态解算流程

四旋翼姿态解算整体流程框图如下

图5 四元数表示的姿态解算整体流程框图[4]

其中,Gyroscope 为陀螺仪,b Ω是陀螺仪输出的测量数据,Accelerometer 是加速度计,

在Airspeed 模块以及b f 作用下,加速度输出测量数据?b

g

。 第一,对加速度计测出来的数据进行归一化处理:??b g

g

第二,将重力加速度旋转到机体坐标,得到重力加速度在三个轴上的加速度分量,作为

标准加速度。

()2

22

20

1

2

3

1203021322221203012323000011c c c s s s c s s c s s 0c s c c s s s s c c s s 0s s c c c 12()2()2()2(T b n n b T

C C q q q q q q q q q q q q q q q q q q q q q q q θψ?ψ?θψ?ψ?θψθψ?ψ?θψ

?ψ?θψθ

?θ????????=????????????

-++????

????=+-+?????????-????

+---+=+-+-+01222213020123012313020123222201230)02()2()

12()2()T q q q q q q q q q q q q q q q q q q q q q q q q q ?????

????????

????-+--+??

?

?-????=+??

??--+??

其中b

n C 为世界坐标系到机体坐标系的变换矩阵。

(文献[4]图中此处原文中有错误,已经在截图中进行了修改)

第三,归一化后的加速度计值与标准加速度做叉积运算,求得误差向量e ;

第四,对误差进行滤波,改进后的互补滤波算法(ECF )可以表示为以下四元数形式:

1??()2

q q p δ=?Ω+ p I k e k e δ=+? ,

?e v v

=? 第四,求解四元数微分方程1

??()2

q

q p δ=?Ω+,求得最新的0123,,,q q q q ; 第五,代入以下公式求得姿态角。

01232222

0123

2()

arctan

q q q q q q q q ?+=--+ 1302arcsin 2()q q q q θ=- 12032222

0123

2()

arctan

q q q q q q q q ?+=+-- 参考文献

[1] 郭晓鸿,杨忠,陈喆,等. EKF 和互补滤波器在飞行姿态确定中的应用[J]. 传感器与微系统,2011,30(11):149-152.

[2] 傅忠云,朱海霞,孙金秋,等. 基于惯性传感器 MPU6050 的滤波算法研究[J]. 压电与声光, 2015 (2015 年 05): 821-825,829.

[3] Mahony R, Hamel T, Pflimlin J M. Nonlinear complementary filters on the special orthogonal group[J]. IEEE Transactions on automatic control, 2008, 53(5): 1203-1218. [4] Euston M, Coote P, Mahony R, et al. A complementary filter for attitude estimation of a fixed-wing UAV[C]//Intelligent Robots and Systems, 2008. IROS 2008. IEEE/RSJ International Conference on. IEEE, 2008: 340-345.

附程序:

void IMUupdate(float gx, float gy, float gz, float ax,float ay, float az) {

float norm;

float vx, vy, vz; float ex, ey, ez;

float q0q0 = q0*q0; float q0q1 = q0*q1; float q0q2 = q0*q2; float q1q1 = q1*q1; float q1q3 = q1*q3; float q2q2 = q2*q2; float q2q3 = q2*q3; float q3q3 = q3*q3;

if(ax*ay*az==0) return;

// 第一步:对加速度数据进行归一化

norm = sqrt(ax*ax + ay*ay + az*az);

ax = ax / norm;

ay = ay / norm;

az = az / norm;

// 第二步:DCM矩阵旋转

vx = 2*(q1q3 - q0q2);

vy = 2*(q0q1 + q2q3);

vz = q0q0 - q1q1 - q2q2 + q3q3 ;

// 第三步:在机体坐标系下做向量叉积得到补偿数据 ex = ay*vz - az*vy ;

ey = az*vx - ax*vz ;

ez = ax*vy - ay*vx ;

// 第四步:对误差进行PI计算,补偿角速度

exInt = exInt + ex * Ki;

eyInt = eyInt + ey * Ki;

ezInt = ezInt + ez * Ki;

gx = gx + Kp*ex + exInt;

gy = gy + Kp*ey + eyInt;

gz = gz + Kp*ez + ezInt;

// 第五步:按照四元数微分公式进行四元数更新

q0 = q0 + (-q1*gx - q2*gy - q3*gz)*halfT;

q1 = q1 + (q0*gx + q2*gz - q3*gy)*halfT;

q2 = q2 + (q0*gy - q1*gz + q3*gx)*halfT;

q3 = q3 + (q0*gz + q1*gy - q2*gx)*halfT;

}

如有侵权请联系告知删除,感谢你们的配合!

卡尔曼滤波算法与matlab实现

一个应用实例详解卡尔曼滤波及其算法实现 标签:算法filtermatlabalgorithm优化工作 2012-05-14 10:48 75511人阅读评论(25) 收藏举报分类: 数据结构及其算法(4) 为了可以更加容易的理解卡尔曼滤波器,这里会应用形象的描述方法来讲解,而不是像大多数参考书那样罗列一大堆的数学公式和数学符号。但是,他的5条公式是其核心内容。结合现代的计算机,其实卡尔曼的程序相当的简单,只要你理解了他的那5条公式。 在介绍他的5条公式之前,先让我们来根据下面的例子一步一步的探索。 假设我们要研究的对象是一个房间的温度。根据你的经验判断,这个房间的温度是恒定的,也就是下一分钟的温度等于现在这一分钟的温度(假设我们用一分钟来做时间单位)。假设你对你的经验不是100%的相信,可能会有上下偏差几度。 我们把这些偏差看成是高斯白噪声(White Gaussian Noise),也就是这些偏差跟前后时间是没有关系的而且符合高斯分配(Gaussian Distribution)。另外,我们在房间里放一个温度计,但是这个温度计也不准确的,测量值会比实际值偏差。我们也把这些偏差看成是高斯白噪声。 好了,现在对于某一分钟我们有两个有关于该房间的温度值:你根据经验的预测值(系统的预测值)和温度计的值(测量值)。下面我们要用这两个值结合他们各自的噪声来估算出房间的实际温度值。 假如我们要估算k时刻的是实际温度值。首先你要根据k-1时刻的温度值,来预测k时刻的温度。因为你相信温度是恒定的,所以你会得到k时刻的温度预测值是跟k-1时刻一样的,假设是23度,同时该值的高斯噪声的偏差是5度(5是这样得到的:如果k-1时刻估算出的最优温度值的偏差是3,你对自己预测的不确定度是4度,他们平方相加再开方,就是5)。然后,你从温度计那里得到了k时刻的温度值,假设是25度,同时该值的偏差是4度。 由于我们用于估算k时刻的实际温度有两个温度值,分别是23 度和25度。究竟实际温度是多少呢?相信自己还是相信温度计呢?究竟相信谁多一点,我们可以用他们的covariance(协方差)来判断。因为Kg^2=5^2/(5^2+4^2),所以Kg=0.78,我们可以估算出k时刻的实际温度值是:23+0.78*(25-23)=24.56度。 可以看出,因为温度计的covariance比较小(比较相信温度计),所以估算出的最优温度值偏向温度计的值。 现在我们已经得到k时刻的最优温度值了,下一步就是要进入k+1时刻,进行新的最优估算。到现在为止,好像还没看到什么自回归的东西出现。对了,在进入k+1时刻之前,我们还要算出k时刻那个最优值(24.56 度)的偏差。算法如下:((1-Kg)*5^2)^0.5=2.35。这里的5就是上面的k时刻你预测的那个23度

单片机软件抗干扰方法

在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好越来越受到重视。下面以MCS-51单片机系统为例,对微机系统软件抗干扰方法进行研究。 1 软件抗干扰方法的研究 在工程实践中,软件抗干扰研究的内容主要是:一、消除模拟输入信号的噪声(如数字滤波技术);二、程序运行混乱时使程序重入正轨的方法。本文针对后者提出了几种有效的软件抗干扰方法。 1.1 指令冗余 CPU取指令过程是先取操作码,再取操作数。当PC受干扰出现错误,程序便脱离正常轨道“乱飞”,当乱飞到某双字节指令,若取指令时刻落在操作数上,误将操作数当作操作码,程序将出错。若“飞” 到了三字节指令,出错机率更大。 在关键地方人为插入一些单字节指令,或将有效单字节指令重写称为指令冗余。通常是在双字节指令和三字节指令后插入两个字节以上的NOP。这样即使乱飞程序飞到操作数上,由于空操作指令NOP的存在,避免了后面的指令被当作操作数执行,程序自动纳入正轨。 此外,对系统流向起重要作用的指令如RET、 RETI、LCALL、LJMP、JC等指令之前插入两条NOP,也可将乱飞程序纳入正轨,确保这些重要指令的执行。 1.2 拦截技术 所谓拦截,是指将乱飞的程序引向指定位置,再进行出错处理。通常用软件陷阱来拦截乱飞的程序。因此先要合理设计陷阱,其次要将陷阱安排在适当的位置。

(1 )软件陷阱的设计 当乱飞程序进入非程序区,冗余指令便无法起作用。通过软件陷阱,拦截乱飞程序,将其引向指定位置,再进行出错处理。软件陷阱是指用来将捕获的乱飞程序引向复位入口地址0000H的指令。通常在EPROM中非程序区填入以下指令作为软件陷阱: NOPNOPLJMP 0000H其机器码为0000020000。 (2 )陷阱的安排 通常在程序中未使用的EPROM空间填0000020000。最后一条应填入020000,当乱飞程序落到此区,即可自动入轨。在用户程序区各模块之间的空余单元也可填入陷阱指令。当使用的中断因干扰而开放时,在对应的中断服务程序中设置软件陷阱,能及时捕获错误的中断。如某应用系统虽未用到外部中断1,外部中断1的中断服务程序可为如下形式: NOPNOPRETI返回指令可用“RETI”,也可用“LJMP 0000H”。如果故障诊断程序与系统自恢复程序的设计可靠、完善,用“LJMP 0000H”作返回指令可直接进入故障诊断程序,尽早地处理故障并恢复程序的运行。 考虑到程序存贮器的容量,软件陷阱一般1K空间有2-3个就可以进行有效拦截。 1.3软件“看门狗”技术 若失控的程序进入“死循环”,通常采用“看门狗”技术使程序脱离“死循环”。通过不断检测程序循环运行时间,若发现程序循环时间超过最大循环运行时间,则认为系统陷入“死循环”,需进行出错处理。

基于互补滤波的飞行器姿态解算

基于互补滤波的飞行器姿态解算

————————————————————————————————作者:————————————————————————————————日期: ?

姿态解算 一、主线 姿态表示方式:矩阵表示,轴角表示,欧拉角表示,四元数表示。 惯性测量单元IMU(Inertial Measurement Unit):MPU6050芯片,包含陀螺仪和加速度计,分别测量三轴加速度和三轴角速度。注意,传感器所测数据是原始数据,包含了噪声,无法直接用于飞行器的姿态解算,因此需要对数据进行滤波。 滤波算法:非线性互补滤波算法,卡尔曼滤波算法,Mahony互补滤波算法。 二、知识点补充 加速度计和陀螺仪 加速度计:加速度计,可以测量加速度,包括外力加速度和重力加速度,因此,当被测物体在静止或匀速运动(匀速直线运动)的时候,加速度计仅仅测量的是重力加速度,而重力加速度与R坐标系(绝对坐标系)是固连的,通过这种关系,可以得到加速度计所在平面与地面的角度关系也就是横滚角和俯仰角。把加速度传感器水平静止放在桌子上,它的Z轴输出的是1g的加速度。因为它Z轴方向被重力向下拉出了一个形变。可惜的是,加速度传感器不会区分重力加速度与外力加速度。所以,当系统在三维空间做变速运动时,它的输出就不正确了,或者说它的输出不能表明物体的姿态和运动状态。 陀螺仪:陀螺仪测量角速度。陀螺仪模型如图1所示,陀螺仪的每个通道检测一个轴的旋转。 图1[引自网络] 上图中,Rxz是R在XZ面上的投影,与Z轴的夹角为Axz。Ryz是R在ZY面上的投影,与Z轴的夹角为Ayz。陀螺仪就是测量上面定义角度的变化率,换句话说,它会输出一个与上面这些角度变化率线性相关的值。 加速度计工作原理介绍(摘自网络) 大多数加速度计可归为两类:数字和模拟。数字加速度计可通过I2C,SPI或USART方式获取信息,而模拟加速度计的输出是一个在预定范围内的电压值,你需要用ADC(模拟量转数字量)模块将其转换为数字值。不管使用什么类型的ADC模块,都会得到一个在一定范围内的数值。例如一个10位ADC模块的输出值范围在0-1023间。假设我们从10位ADC模块得到了以下的三个轴的数据: === 586,630,561 AdcRx AdcRy AdcRz

几种非线性滤波算法的研究-内附程序

2017 年秋季学期研究生课程考核 (读书报告、研究报告) 考核科目:雷达系统导论 学生所在(系):电子与信息工程学院 学生所在学科:电子与同学工程 学生姓名: 学号: 学生类别: 考核结果阅卷人 第 1 页(共页)

几种非线性滤波算法的介绍与性能分析 作者姓名:学号: 专业院系:电信学院电子工程系 电子邮件: 摘要—非线性滤波算法在雷达目标跟踪中有着重要的应用,对雷达的跟踪性能有着至关重要的影响。好的滤波算法有利于目标航迹的建立及保持,能够得到较精确的目标位置,为发现目标后的后续工作提供可靠的数据依据。本文重点介绍了雷达数据处理中的几种非线性滤波算法:扩展卡尔曼滤波(EKF)、不敏卡尔曼滤波(UKF)、粒子滤波(PF),并且给出了一个利用这三种算法进行数据处理的一个实例,通过这个实例对比分析了这三种算法的性能以及优劣。 关键字—非线性滤波算法;扩展卡尔曼滤波;不敏卡尔曼滤波;粒子滤波; I.概述(一级表题格式) 在雷达对目标进行跟踪前要先对目标进行检测。对于满足检测条件的目标就需要进行跟踪,在跟踪的过程中可以利用新获得的数据完成对目标的进一步检测比如去除虚假目标等,同时利用跟踪获得数据可以进一步完成对目标动态特性的检测和识别。因此对目标进行准确的跟踪是雷达性能的一个重要指标。在检测到满足条件的目标后,根据目标运动状态建立目标运动模型,然后对目标跟踪算法进行设计,这是雷达目标跟踪中的核心部分。 目前主要的跟踪算法包括线性自回归滤波,两点外推滤波、维纳滤波、- αβ滤波、加权最小二乘滤波、维纳滤波和卡尔曼滤波[1]。对于线性系统而言最优滤波的方法就是卡尔曼滤波,卡尔曼滤波是线性高斯模型下的最优状态估计算法。但是实际问题中目标的运动模型往往不是线性的,因此卡尔曼滤波具有很大的局限性。目前主要用的非线性滤波算法可以分为高斯滤波和粒子滤波[2]。不敏卡尔曼滤波和扩展卡尔曼滤波就是高斯滤波中的典型代表,也是应用相对较为广泛的。粒子滤波的应用范围比高斯滤波的适用范围要广,对于系统状态非线性,观测模型非高斯等问题都有很好的适用性。本文具体分析阐述了扩展卡尔曼滤波算法,不敏卡尔曼滤波算法,粒子滤波算法,并且通过一个实例利用仿真的方法分析了这三种算法在滤波性能上的优劣,最后对这三种算法做了一定的总结。 我本科毕业设计题目为《基于历史数据的路径生成算法研究》,由于我是跨专业保研到电信学院,该课题所研究内容不属于雷达系统研究范围,是一种城市路网最快路径生成算法。 II.几种非线性滤波算法 A.扩展卡尔曼滤波 扩展卡尔曼滤波是将非线性系统转换为近似的线性系统的一种方法,其核心思想是围绕滤波值将非线性函数展开成泰勒级数并略去二阶及以上的项,得到一个近似的线性化模型,然后应用卡尔曼滤波完成状态估计。 扩展卡尔曼滤波状态空间模型: k k k w x f+ = + ) ( x 1 状态方程 k k k v x h+ =) ( z观测方程 其中(.) f和(.) h为非线性函数 在扩展卡尔曼滤波中,状态的预测以及观测值的预测由非线性函数计算得出,线性卡尔曼滤波中的状态转移矩阵A阵和观测矩阵H阵由f和h函数的雅克比矩阵代替。 对 (.) f和(.) h Taylor展开,只保留一次项有: ) ? ( ) ?( ) ( k k k k k x x A x f x f- + ≈ ) ? ( ) ?( ) ( k k k k k x x H x h x h- + ≈ 其中: k k x x k k dx df A ?= =为f对 1- k x求导的雅克比矩阵 k k x x k k dx dh H ?= =为h对 1- k x求导的雅克比矩阵 ) ?( ? 1-k k x f x=,于是可以得出: k k k k k k k w x A x f x A x+ - + ≈ + ) ? ) ?( ( 1 k k k k k k k v x H x h x H z+ - + ≈ + ) ? ) ?( ( 1 通过以上变换,将非线性问题线性化。接下来EKF 滤波过程同线性卡尔曼滤波相同,公式如下: )) | (?( ) |1 ( X?k k X f k k= + ) ( ) ( ) | ( ) ( ) |1 (P k Q k k k P k k k+ Φ' Φ = + )1 ( )1 ( ) |1 ( )1 ( )1 (S+ + + ' + + = +k R k H k k P k H k )1 ( )1 ( ) |1 ( )1 ( K1+ + ' + = +-k S k H k k P k

干扰处理方法

技术支持 干扰的来源及影响方式 闭路电视监控系统中传输信号的类型主要有两类:一类是模拟视频信号,传输路径由摄象机到矩阵,从矩阵再到显示器或录象机;一类是数字信号包括矩阵与摄象机之间的控制信息传输,矩阵中计算机部分的数字信号。一般设备成为干扰源的可能性很小,因此干扰主要通过信号传输路径进入系统。闭路电视监控系统的信号传输路径是能通过视频电缆和传输控制信号的双绞线耦合进系统的干扰有:各种高频噪声比如大电感负载启停,地电位不等引入的工频干扰,平衡传输线路失衡使抑噪能力下降将共频干扰转成了差模干扰,传输线上阻抗不匹配造成信号的反射使信号传输质量下降,静电放电沿传输线进入设备造成接口芯片损伤或损坏。具体表现如下:由于阻抗不匹配造成的影响在视频图象上表现为重影。在信号传输线上会将在脉冲序列的前后沿形成震荡。震荡的存在使高低电平间的阈值差变小,当震荡的幅值再大或有其他干扰引入时就无法正确分辨出脉冲电平值,导致通信时间变长或通信中断。接地和屏蔽不好会导致传输线抑制外部电磁干扰能力的下降,体现在视频图象就是雪花噪点、网纹干扰以及横纹滚动等;在信号传输线上形成尖峰干扰,造成通信错误。平衡传输线路失衡也会在信号传输线上形成尖峰干扰。静电放电除了会造成设备损坏外,还会影响存储器内的数据,使设备出现些莫名其妙的错误。 抗干扰的方法 从干扰源的分析了解到并没有特别的干扰源,消除或者减少上述干扰的理论探讨也有许多,如何针对闭路电视监控工程解决干扰问题,很少有文献涉及,下面就闭路电视监控工种中常见的干扰及解决方法进行些探讨。 视频信号的干扰 视频信号的干扰在图象上表现为地花点和50HZ横纹滚动,对于雪花点干扰是由于传输线上信号衰减以及耦合了高频干扰所致,这种干扰比较容易消除,在摄象机与控制矩阵之间合理位置增加一个视频放大器,将信号的受噪比提高,或者改变视频电缆的路径避开高频干扰源,高频干扰的问题可基本上得到解决。较难解决的是50HZ横纹滚动及进一步加高频干扰的情况,比如电梯轿厢内摄象机的输出图象。为了抑制上述干扰,首先分析一 下造成上述问题的原因。 摄象机要求的供电电源一般有三种:直流12V、交流24V或220V,大多数工程应用中不从电梯轿厢的供电电源上取,而是另外布设供电电源给摄象机供电,摄象机输出图象经过一条软性的视频电缆从井道的上方

基于互补滤波的飞行器姿态解算

姿态解算 一、主线 姿态表示方式:矩阵表示,轴角表示,欧拉角表示,四元数表示。 惯性测量单元IMU(Inertial Measurement Unit):MPU6050芯片,包含陀螺仪和加速度计,分别测量三轴加速度和三轴角速度。注意,传感器所测数据是原始数据,包含了噪声,无法直接用于飞行器的姿态解算,因此需要对数据进行滤波。 滤波算法:非线性互补滤波算法,卡尔曼滤波算法,Mahony互补滤波算法。 二、知识点补充 加速度计和陀螺仪 加速度计:加速度计,可以测量加速度,包括外力加速度和重力加速度,因此,当被测物体在静止或匀速运动(匀速直线运动)的时候,加速度计仅仅测量的是重力加速度,而重力加速度与R坐标系(绝对坐标系)是固连的,通过这种关系,可以得到加速度计所在平面与地面的角度关系也就是横滚角和俯仰角。把加速度传感器水平静止放在桌子上,它的Z轴输出的是1g的加速度。因为它Z轴方向被重力向下拉出了一个形变。可惜的是,加速度传感器不会区分重力加速度与外力加速度。所以,当系统在三维空间做变速运动时,它的输出就不正确了,或者说它的输出不能表明物体的姿态和运动状态。 陀螺仪:陀螺仪测量角速度。陀螺仪模型如图1所示,陀螺仪的每个通道检测一个轴的旋转。 图1[引自网络] 上图中,Rxz是R在XZ面上的投影,与Z轴的夹角为Axz。Ryz是R在ZY面上的投影,与Z轴的夹角为Ayz。陀螺仪就是测量上面定义角度的变化率,换句话说,它会输出一个与上面这些角度变化率线性相关的值。 加速度计工作原理介绍(摘自网络) 大多数加速度计可归为两类:数字和模拟。数字加速度计可通过I2C,SPI或USART方式获取信息,而模拟加速度计的输出是一个在预定围的电压值,你需要用ADC(模拟量转数字量)模块将其转换为数字值。不管使用什么类型的ADC模块,都会得到一个在一定围的数值。例如一个10位ADC模块的输出值围在0-1023间。假设我们从10位ADC模块得到了以下的三个轴的数据: === 586,630,561 AdcRx AdcRy AdcRz

卡尔曼滤波算法总结

Kalman_Filter(float Gyro,float Accel) { Angle+=(Gyro - Q_bias) * dt; Pdot[0]=Q_angle - PP[0][1] - PP[1][0]; Pdot[1]= - PP[1][1]; Pdot[2]= - PP[1][1]; Pdot[3]=Q_gyro; PP[0][0] += Pdot[0] * dt; PP[0][1] += Pdot[1] * dt; PP[1][0] += Pdot[2] * dt; PP[1][1] += Pdot[3] * dt; Angle_err = Accel - Angle; PCt_0 = C_0 * PP[0][0]; PCt_1 = C_0 * PP[1][0]; E = R_angle + C_0 * PCt_0; K_0 = PCt_0 / E; K_1 = PCt_1 / E; t_0 = PCt_0; t_1 = C_0 * PP[0][1]; PP[0][0] -= K_0 * t_0; PP[0][1] -= K_0 * t_1; PP[1][0] -= K_1 * t_0; PP[1][1] -= K_1 * t_1; Angle += K_0 * Angle_err; Q_bias += K_1 * Angle_err; Gyro_x = Gyro - Q_bias; } 首先是卡尔曼滤波的5个方程: -=--+(1)先验估计 X k k AX k k Bu k (|1)(1|1)() -=--+(2)协方差矩阵的预测(|1)(1|1)' P k k AP k k A Q

硬件抗干扰的一些方法

一、下面的一些系统要特别注意抗电磁干扰: 1、微控制器时钟频率特别高,总线周期特别快的系统。 2、系统含有大功率,大电流驱动电路,如产生火花的继电器,大电流开关等。 3、含微弱模拟信号电路以及高精度A/D变换电路的系统。 二、为增加系统的抗电磁干扰能力采取如下措施: 1、选用频率低的微控制器: 选用外时钟频率低的微控制器可以有效降低噪声和提高系统的抗干扰能力。同样频率的方波和正弦波,方波中的高频成份比正弦波多得多。虽然方波的高频成份的波的幅度,比基波小,但频率越高越容易发射出成为噪声源,微控制器产生的最有影响的高频噪声大约是时钟频率的3倍。 2、减小信号传输中的畸变 微控制器主要采用高速CMOS技术制造。信号输入端静态输入电流在1mA左右,输入电容10PF左右,输入阻抗相当高,高速CMOS电路的输出端都有相当的带载能力,即相当大的输出值,将一个门的输出端通过一段很长线引到输入阻抗相当高的输入端,反射问题就很严重,它会引起信号畸变,增加系统噪声。当Tpd>Tr时,就成了一个传输线问题,必须考虑信号反射,阻抗匹配等问题。 信号在印制板上的延迟时间与引线的特性阻抗有关,即与印制线路板材料的介电常数有关。可以粗略地认为,信号在印制板引线的传输速度,约为光速的1/3到1/2之间。微控制器构成的系统中常用逻辑电话元件的Tr(标准延迟时间)为3到×××s之间。 在印制线路板上,信号通过一个7W的电阻和一段25cm长的引线,线上延迟时间大致在4~20ns之间。也就是说,信号在印刷线路上的引线越短越好,最长不宜超过25cm。而且过孔数目也应尽量少,最好不多于2个。 当信号的上升时间快于信号延迟时间,就要按照快电子学处理。此时要考虑传输线的阻抗匹配,对于一块印刷线路板上的集成块之间的信号传输,要避免出现Td>Trd的情况,印刷线路板越大系统的速度就越不能太快。 用以下结论归纳印刷线路板设计的一个规则: 信号在印刷板上传输,其延迟时间不应大于所用器件的标称延迟时间。 3、减小信号线间的交叉干扰: A点一个上升时间为Tr的阶跃信号通过引线AB传向B端。信号在AB线上的延迟时间是

单片机抗干扰方法

如何提高抗干扰性能 搞过产品的朋友都有体会,一个设计看似简单,硬件设计和代码编写很快就搞定,但在调试过程中却或多或少的意外,这些都是抗干扰能力不够的体现。 下面讨论一下如何让你的设计避免走弯路: 抗干扰体现在2个方面,一是硬件设计上,二是软件编写上。 这里重点提醒:在MCU设计中主要抗干扰设计是在硬件上,软件为辅。因为MCU的计算能力有限,所以要在硬件上花大工夫。 看看干扰的途径: 1:干扰信号干扰MCU的主要路径是通过I/O口,一是影响了MCU的数据采集,二是影响内部其它寄存器。 解决方法:后面讨论。 2:电源干扰:MCU虽然适应电压较宽(3-5。5V),但对于电源的波动却很敏感,比如说MCU可以在3V电压下稳定工作,但却不能在电压在3V-5。5V波动的情况下稳定工作。 解决方法:用电源稳压块,做好电源的滤波等工作,提示:一定要在电源旁路并上0。1UF 的瓷片电容来滤除高频干扰,因为电解电容对超过几十KHZ的高频干扰不起作用。 3:上下电干扰:但每个MCU系统在上电时候都要经过这样一个过程,所以要尤其注意。MCU虽然可以在3V电压下稳定工作,但并不是说它不能在3V以下的电压下工作,当然在如此低的电压下MCU是超不稳定状态的。在系统加电时候,系统电源电压是从0V上升到额定电压的,比如当电压到2V时候,MCU开始工作了,但这时是超不稳定的工作,极容易跑飞。 解决方法:1让MCU在电源稳定后才开始工作。PIC在片内集成了POR(内部上电延时复位),这功能一定要在配置位中打开。 外部上电延时复位电路。有多种形式,低成本的就是在复位脚接个阻容电路。高成本的是用专用芯片。这方面的资料特多,到处都可以查找。 最难排除的就是上面第一种干扰,并且干扰信号随时可以发生,干扰信号的强度也不尽相同。但它们也有相同点:干扰信号也遵循欧姆定律,干扰信号偶合路径无非是电磁干扰,一是电火花,二是磁场。 其中干扰最厉害的是电火花干扰,其次是磁场干扰。电火花干扰表现场合主要是附近有大功率开关、继电器、接触器、有刷电机等。磁场干扰表现场合主要是附近有大功率的交流电机、变压器等。 解决方法: 第一点:也是最经典的,就是在PCB步线和元件位置安排上下工夫,这中间学问很多,说几天都说不完^^。 二:综合考虑各I/O口的输入阻抗,采集速率等因素设计I/O口的外围电路。 一般决定一个I/O口的输入阻抗有3种情况: A:I/O口有上拉电阻,上拉电阻值就是I/O口的输入阻抗。 一般大家都用4K-20K电阻做上拉,(PIC的B口内部上拉电阻约20K)。 由于干扰信号也遵循欧姆定律,所以在越存在干扰的场合,选择上拉电阻就要越小,因为干扰信号在电阻上产生的电压就越小。 由于上拉电阻越小就越耗电,所以在家用设计上,上拉电阻一般都是10-20K,而在强干扰场合上拉电阻甚至可以低到1K。 (如果在强干扰场合要抛弃B口上拉功能,一定要用外部上拉。)

时间序列分析方法之卡尔曼滤波

第十三章 卡尔曼滤波 在本章中,我们介绍一种被称为卡尔曼滤波的十分有用的工具。卡尔曼滤波的基本思想是将动态系统表示成为一种称为状态空间表示的特殊情形。卡尔曼滤波是对系统线性投影进行序列更新的算法。除了一般的优点以外,这种算法对计算确切的有限样本预测、计算Gauss ARMA 模型的确切似然函数、估计具有时变参数的自回归模型等,都提供了重要方法。 §13.1 动态系统的状态空间表示 我们已经介绍过一些随机过程的动态表示方法,下面我们在以前的假设基础上,继续分析动态系统的表示方法。 13.1.1 继续使用的假设 假设表示时刻观测到的n 维随机向量,一类非常丰富的描述动态性的模型可以利用一些可能无法观测的被称为状态向量(state vector)的r 维向量表示,因此表示动态性的状态空间表示(state-space representation)由下列方程系统给出: 状态方程(state model) (13.1) 量测方程(observation model) (13.2) 这里,和分别是阶数为,和的参数矩阵,是的外生或者前定变量。方程(13.1)被称为状态方程(state model),方程(13.2)被称为量测方程(observation model),维向量和维向量都是向量白噪声,满足: (13.3) (13.4) 这里和是和阶矩阵。假设扰动项和对于所有阶滞后都是不相关的,即对所有和,有: (13.5) t x 是外生或者前定变量的假定意味着,在除了包含在121,,,y y y t t 内的信息以外,t x 没有为s t ξ和s t w ( ,2,1,0 s )提供任何新的信息。例如,t x 可以包括t y 的滞后值,也可以包括与 ξ和 w (任意 )不相关的变量。 方程系统中方程(13.1)至方程(13.5)可以表示有限观测值的序列},,,{21T y y y ,这时需要状态向量初始值1ξ。假设1ξ与t v 和t w 的任何实现都不相关:

抗干扰的方法

一、抗干扰方法: 为了使高频电路板的设计更合理,抗干扰性能更好,在进行PCB 设计时应从以下几个方面考虑: 1、合理选择层数:利用中间内层平面作为电源和地线层,可以起到屏蔽的作用,有效降低寄生电感、缩短信号线长度、降低信号间的交叉干扰,一般情况下,四层板比两层板的噪声低20dB。 2、走线方式:走线必须按照45°角拐弯,这样可以减小高频信号的发射和相互之间的耦合。 3、走线长度:走线长度越短越好,两根线并行距离越短越好。 4、过孔数量:过孔数量越少越好。 5、层间布线方向:层间布线方向应该取垂直方向,就是顶层为水平方向,底层为垂直方向,这样可以减小信号间的干扰。 6、敷铜:增加接地的敷铜可以减小信号间的干扰。 7、包地:对重要的信号线进行包地处理,可以显著提高该信号的抗干扰能力,当然还可以对干扰源进行包地处理,使其不能干扰其它信号。 8、信号线:信号走线不能环路,需要按照菊花链方式布线。 9、去耦电容:在集成电路的电源端跨接去耦电容。 10、高频扼流。数字地、模拟地等连接公共地线时要接高频扼流器件,一般是中心孔穿有导线的高频铁氧体磁珠。 二、包地法 抗干扰包地: 电路板设计中抗干扰的措施还可以采取包地的办法,即用接地的导线将某一网络包住,采用接地屏蔽的办法来抵抗外界干扰。 网络包地的使用步骤如下: 1.1、选择需要包地的网络或者导线。从主菜单中执行命令Edit/Select/Net (E+S+N),光标将变成十字形状,移动光标一要进行包 地的网络处单击,选中该网络。如果是组件没有定义网络,可以执行主菜单命令Select/Connected Copper 选中要包地的导 线。 1.2、放置包地导线。从主菜单中执行命令Tools/Outline Selected Objects(T+J)。系统自动对已经选中的网络或导线进行包地操 作。 1.3、对包地导线的删除。如果不再需要包地的导线,可以在主菜单中执行命令Edit/Select/Connected Copper 。此时光标将变成 十字形状,移动光标选中要删除的包地导线,按Delect键即可删除不需要的包地导线。

几种卡尔曼滤波算法理论

自适应卡尔曼滤波 卡尔曼滤波发散的原因 如果卡尔曼滤波是稳定的,随着滤波的推进,卡尔曼滤波估计的精度应该越来越高,滤波误差方差阵也应趋于稳定值或有界值。但在实际应用中,随着量测值数目的增加,由于估计误差的均值和估计误差协方差可能越来越大,使滤波逐渐失去准确估计的作用,这种现象称为卡尔曼滤波发散。 引起滤波器发散的主要原因有两点: (1)描述系统动力学特性的数学模型和噪声估计模型不准确,不能直接真实地反映物理过程,使得模型与获得的量测值不匹配而导致滤波发散。这种由于模型建立过于粗糙或失真所引起的发散称为滤波发散。 (2)由于卡尔曼滤波是递推过程,随着滤波步数的增加,舍入误差将逐渐积累。如果计算机字长不够长,这种积累误差很有可能使估计误差方差阵失去非负定性甚至失去对称性,使滤波增益矩阵逐渐失去合适的加权作用而导致发散。这种由于计算舍入误差所引起的发散称为计算发散。 针对上述卡尔曼滤波发散的原因,目前已经出现了几种有效抑制滤波发散的方法,常用的有衰减记忆滤波、限定记忆滤波、扩充状态滤波、有限下界滤波、平方根滤波、和自适应滤波等。这些方法本质上都是以牺牲滤波器的最优性为代价来抑制滤波发散,也就是说,多数都是次优滤波方法。 自适应滤波 在很多实际系统中,系统过程噪声方差矩阵Q和量测误差方差阵R事先是不知道的,有时甚至连状态转移矩阵 或量测矩阵H也不能确切建立。如果所建立的模型与实际模型不符可能回引起滤波发散。自适应滤波就是这样一种具有抑制滤波发散作用的滤波方法。在滤波过程中,自适应滤波一方面利用量测值修正预测值,同时也对未知的或不确切的系统模型参数和噪声统计参数进行估计修正。自适应滤波的方法很多,包括贝叶斯法、极大似然法、相关法与协方差匹配法,其中最基本也是最重要的是相关法,而相关法可分为输出相关法和新息相关法。 在这里只讨论系统模型参数已知,而噪声统计参数Q和R未知情况下的自适应滤波。由于Q和R等参数最终是通过增益矩阵K影响滤波值的,因此进行自适应滤波时,也可以不去估计Q和R等参数而直接根据量测数据调整K就可以了。

信号抗干扰解决办法

信号抗干扰解决办法 The Standardization Office was revised on the afternoon of December 13, 2020

解决现场的信号干扰问题 时间:2010-04-24 22:30来源:作者:点击: 17次 生产过程监视和控制中要用到多种自动化仪表、计算机及相应执行机构,过程中的信号既有微弱到毫伏级的小信号,又有数十伏的大信号,而且还有高达数千伏、数百安培的信号要处理。从频率上讲,有直流低频范围的,也有高频/脉冲尖峰。设备、仪表间互扰成为系统调试中必须要解决的问题。除了电磁屏蔽之外,解决各种设备、仪表的“地”,也即信号参考点的电位差,将成为重要课题。因为不同设备、仪表的信号要互传互送,那就存在信号参考点问题。换句话说,要使信号完整传送,理想化的情况是所有设备、仪表中的信号有一个共同的参考点,也即共有一个“地”。进一步讲,所有设备、仪表的信号的参考点之间电位为“零”。但是在实际环境中,这一点几乎是不可及的,这里面除了各个设备、仪表“地”之间连线电阻产生的电压降之外,尚有各种设备、仪表在不同环境受到干扰不同,以及导线接点经受风吹雨淋,导致接点质量下降等诸多因素。致使各个“地”之间有差别。以示意图一为例. 图一 PLC与外接仪表示意图 图一中标明有两个现场设备仪表向PLC传送信号以及PLC向两台现场设备仪表发出信号。假定传送的均为0-10VDC信号。理想情况,PLC及两个现场设备“地”电位完全相等。传送过程中又没有干扰,这样从PLC输入来看,接收正确。但正如前所述,两个现场设备通常有“地”电位差,举例来讲,1#设备“地”与PLC“地”同电位,2#设备比它们的“地”电位高,这样1#设备给PLC的信号为0-10V,而2#设备给PLC的为误差就产生了,同时1#,2#设备的“地”线在PLC汇合联接。将电压施加在PLC地线条上,有可能损坏PLC局部“地”线,同时在显示错误数据,由此引起的问题在现场调试中屡有出现。例如某大型建材公司的生产线调试中,使用美国AB-PLC接国内某厂家手操器。AB-PLC的数据采集板有每八个通道,八个通道共用一个12位A/D,经过变换

卡尔曼滤波器总结

1. 卡尔曼全名Rudolf Emil Kalman ,匈牙利数学家,1930年出生于匈牙利首都布达佩斯。1953,1954年于麻省理工学院分别获得电机工程学士及硕士学位。1957年于哥伦比亚大学获得博士学位。我们现在要学习的卡尔曼滤波器,正是源于他的博士论文和1960年发表的论文《A New Approach to Linear Filtering and Prediction Problems 》(线性滤波与预测问题的新方法)。 基于状态空间描述对混有噪声的信号进行滤波的方法,简称卡尔曼滤波。这种方法是R.E.卡尔曼和R.S.布什于1960和1961年提出的。卡尔曼滤波是一种切实可行和便于应用的滤波方法,其计算过程通常需要在计算机上实现。实现卡尔曼滤波的装置或软件称为卡尔曼滤波器。 卡尔曼滤波器(Kalman Filter )是在克服以往滤波方法局限性的基础上提出来的,是一个最优化自回归数据处理算法(optimal recursive data processing algorithm )。它是针对系统的部分状态或是部分状态的线性组合,且量测值中有随机误差(常称为量测噪声)。将仅与部分状态有关的测量进行处理,得出从某种统计意义上讲误差最小的更多状态的估值,从而将混有噪声(干扰)的信号中噪声滤除、提取有用信号。 卡尔曼滤波是一种递推线性最小方差估计,以最小均方误差为估计的最佳准则,来寻求一套递推估计的算法,其基本思想是:采用信号与噪声的状态空间模型,利用前一时刻地估计值和现时刻的观测值来更新对状态变量的估计,求出现时刻的估计值。 现设线性时变系统的离散状态方程和观测方程为: ()()()()()X k+1F k X k G k u k ()w k =?++ ()()()()k+1H k+1X k+1k+1Y v =?+ 其中 ()k X 和()k Y 分别是k 时刻的状态矩阵和测量矩阵 ()k F 为状态转移矩阵 ()k G 为系统控制项矩阵 ()k u 为k 时刻对系统的控制量 ()k w 为k 时刻动态噪声,其协方差()Q k ()k H 为k 时刻观测矩阵 ()k v 为k 时刻测量噪声, 其协方差()R k 则卡尔曼滤波的算法流程为: 状态的一步预估计()()()()()??X k+1k F k X k k G k u k |=?|+ 一步预估计协方差矩阵 ()()()()()C k+1k F k C k k F k Q k '|=?|+' 计算卡尔曼增益矩阵

监控摄像机抗干扰的办法

监控摄像机抗干扰的办法 监控系统中干扰图像信号的事情时有发生,当闭路电视监控系统( CCTV)在建筑工程中如果施工过程中未采取恰当的防范措施,各种干扰就会通过传输线缆进入闭路电视监控系统,造成视频图像质量下降、系统控制失灵、运行不稳定等现像。 干扰的来源及影响方式 闭路电视监控系统中传输信号的类型主要有两类:一类是模拟视频信号,传输路径由摄像机到矩阵,从矩阵再到显示器或录像机;一类是数字信号包括矩阵与摄像机之间的控制信息传输,矩阵中计算机部分的数字信号。一般设备成为干扰源的可能性很小,因此干扰主要通过信号传输路径进入系统。闭路电视监控系统的信号传输路径是,能通过视频电缆和传输控制信号的双绞线耦合进系统的干扰有:各种高频噪声比如大电感负载启停,接地电位不等引入的工频干扰,平衡传输线路失衡使抑噪能力下降将共频干扰转成了差模干扰,传输线上阻抗不匹配造成信号的反射使信号传输质量下降,静电放电沿传输线进入设备造成接口芯片损伤或损坏。具体表现如下: 由于阻抗不匹配造成的影响在视频图像上表现为重影。在信号传输线上会将在脉冲序列的前后沿形成震荡。震荡的存在使高低电平间的阈值差变小,当震荡的幅值再大或有其他干扰引入时就无法正确分辨出脉冲电平值,导致通信时间变长或通信中断。接地和屏蔽不好会导致传输线抑制外部电磁干扰能力的下降,体现在视频图像就是雪花噪点、网纹干扰以及横纹滚动等;在信号传输线上形成尖峰干扰,造成通信错误。平衡传输线路失衡也会在信号传输线上形成尖峰干扰。静电放电除了会造成设备损坏外,还会影响存储器内的数据,使设备出现些莫名其妙的错误。 抗干扰的方法 从干扰源的分析了解到并没有特别的干扰源,消除或者减少上述干扰的理论探讨也有许多,如何针对闭路电视监控工程解决干扰问题,很少有文献涉及,下面就闭路电视监控工种中常见的干扰及解决方法进行些探讨。 1 数字信号传输中的抗干扰措施 在弱电系统工程中数字信号的传输通常指长线传输,常见的方式有:通过调制、解调方法在电力线或视频线上传输数字信号;通过工业标准的通信网络进行传输,比如RS422、RS845、RS485;自行开发的自动式传输。三者相较,常见的还是RS422、RS485,因此重点讨论RS485数字通信抗干扰方法。 S485总线是采用差分平衡电气接口,具有较强的抗电磁干扰能力,但在实际工程RS485总线并未达到人们期望的效果。问题往往出现在以下几个方面:第一网络拓扑不合理,未按照总线型网络拓扑布线,成为事宜上的星型拓扑;传输线与接收和发送端设备连接不正确,削弱了平衡线的抗干扰能力;第三公用双绞线,未进一步采取抗干扰措施,比如采用屏蔽双绞线。虽然在造成干扰的方式上有所不同但在干扰的表现形式上只有两种:一种是反射增加了信号畸变程度;一种是外部的干扰由于平衡条件被破坏,共模干扰变成了串模信号进入传输线。 关于信号反射。根据电磁理论,减少长线上信号反射的唯一途径是阻抗匹配,若通信网络拓扑为总线型,阻抗匹配比较容易实现,但若是星型网络拓扑,根据工程经验则可按图1方式进行匹配,在发送端串上与传输线特征阻抗相同的电阻RO,在接收端按图所示进行连接,其中R1>R2,R=(R1* R2)/(R1+R2)=R0。在发送R0一般是驱动门输出内阻的5倍以上,可以得到较高的发送电平,接收的

信号抗干扰解决办法

解决现场的信号干扰问题 时间:2010-04-24 22:30来源:作者:点击: 17次 生产过程监视和控制中要用到多种自动化仪表、计算机及相应执行机构,过程中的信号既有微弱到毫伏级的小信号,又有数十伏的大信号,而且还有高达数千伏、数百安培的信号要处理。从频率上讲,有直流低频范围的,也有高频/脉冲尖峰。设备、仪表间互扰成为系统调试中必须要解决的问题。除了电磁屏蔽之外,解决各种设备、仪表的“地”,也即信号参考点的电位差,将成为重要课题。因为不同设备、仪表的信号要互传互送,那就存在信号参考点问题。换句话说,要使信号完整传送,理想化的情况是所有设备、仪表中的信号有一个共同的参考点,也即共有一个“地”。进一步讲,所有设备、仪表的信号的参考点之间电位为“零”。但是在实际环境中,这一点几乎是不可及的,这里面除了各个设备、仪表“地”之间连线电阻产生的电压降之外,尚有各种设备、仪表在不同环境受到干扰不同,以及导线接点经受风吹雨淋,导致接点质量下降等诸多因素。致使各个“地”之间有差别。以示意图一为例.

图一PLC与外接仪表示意图 图一中标明有两个现场设备仪表向PLC传送信号以及PLC向两台现场设备仪表发出信号。假定传送的均为0-10VDC信号。理想情况,PLC及两个现场设备“地”电位完全相等。传送过程中又没有干扰,这样从PLC输入来看,接收正确。但正如前所述,两个现场设备通常有“地”电位差,举例来讲,1#设备“地”与PLC“地”同电位,2#设备比它们的“地”电位高0.1V,这样1#设备给PLC的信号为0-10V,而2#设备给PLC的为0.1V-10.1V,误差就产生了,同时1#,2#设备的“地”线在PLC汇合联接。将0.1V电压施加在PLC地线条上,有可能损坏PLC局部“地”线,同时在显示错误数据,由此引起的问题在现场调试中屡有出现。例如某大型建材公司的生产线调试中,使用美国AB-PLC接国内某厂家手操器。AB-PLC的数据采集板有每八个通道,八个通道共用一个12位A/D,经过变换后,由12个光耦实现与主机隔离。它的八个通道输入之间并没有隔离,致使八个通道输入信号每个单独接入采集板均正常,接入两个或多于两个外部信号时,显示数字乱跳,故障无法排除。又如航天某部门测试发动机各点温度,使用K型偶作为传感器,同上述相似,仅测试一点一切正常,但是向主机接入两点或两点以上温度时,显示的温度明显错误。这两种情况在接入隔离器后,均正常。隔离器之所以能起到这个作用,就是它具有使输入/输出在电气上完全隔离的特点。换句话讲,输入/输出之间没有共同“地”,外来信号不管是0-10V,或带着+10V干扰的10V-20V经隔离后均为0-10V,也即隔离后新建立的PLC“地”与外部设备、仪表“地”没关系。正是由于这个原因,也实现输入到PLC主机

软件抗干扰的几种办法

软件抗干扰的几种办法 在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好越来越受到重视。下面以MCS-51单片机系统为例,对微机系统软件抗干扰方法进行研究。 1、软件抗干扰方法的研究 在工程实践中,软件抗干扰研究的内容主要是:一、消除模拟输入信号的噪声(如数字滤波技术);二、程序运行混乱时使程序重入正轨的方法。本文针对后者提出了几种有效的软件抗干扰方法。 (1) 指令冗余 CPU取指令过程是先取操作码,再取操作数。当PC受干扰出现错误,程序便脱离正常轨道“乱飞”,当乱飞到某双字节指令,若取指令时刻落在操作数上,误将操作数当作操作码,程序将出错。若“飞”到了三字节指令,出错机率更大。 在关键地方人为插入一些单字节指令,或将有效单字节指令重写称为指令冗余。通常是在双字节指令和三字节指令后插入两个字节以上的NOP。这样即使乱飞程序飞到操作数上,由于空操作指令NOP的存在,避免了后面的指令被当作操作数执行,程序自动纳入正轨。 此外,对系统流向起重要作用的指令如RET、RETI、LCALL、LJMP、JC等指令之前插入两条NOP,也可将乱飞程序纳入正轨,确保这些重要指令的执行。 (2) 拦截技术

所谓拦截,是指将乱飞的程序引向指定位置,再进行出错处理。通常用软件陷阱来拦截乱飞的程序。因此先要合理设计陷阱,其次要将陷阱安排在适当的位置。 软件陷阱的设计 当乱飞程序进入非程序区,冗余指令便无法起作用。通过软件陷阱,拦截乱飞程序,将其引向指定位置,再进行出错处理。软件陷阱是指用来将捕获的乱飞程序引向复位入口地址0000H的指令。通常在EPROM中非程序区填入以下指令作为软件陷阱: NOPNOPLJMP 0000H其机器码为0000020000。 陷阱的安排 通常在程序中未使用的EPROM空间填0000020000。最后一条应填入020000,当乱飞程序落到此区,即可自动入轨。在用户程序区各模块之间的空余单元也可填入陷阱指令。当使用的中断因干扰而开放时,在对应的中断服务程序中设置软件陷阱,能及时捕获错误的中断。如某应用系统虽未用到外部中断 1,外部中断1的中断服务程序可为如下形式: NOPNOPRETI返回指令可用“RETI”,也可用“LJMP0000H”。如果故障诊断程序与系统自恢复程序的设计可靠、完善,用“LJMP0000H”作返回指令可直接进入故障诊断程序,尽早地处理故障并恢复程序的运行。 考虑到程序存贮器的容量,软件陷阱一般1K空间有2-3个就可以进行有效拦截。 (3)软件“看门狗”技术

相关文档
最新文档