Kalman滤波在温度测量中的应用_第1页
Kalman滤波在温度测量中的应用_第2页
Kalman滤波在温度测量中的应用_第3页
Kalman滤波在温度测量中的应用_第4页
Kalman滤波在温度测量中的应用_第5页
免费预览已结束,剩余11页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数字信号处理课程报告题 目:Kalman滤波在温度测量中的应用院 系: XXXXXXXXXXXXX 学院专 业:XXXXXXXXXXXXXX学生姓名: XXXXXXXX学 号: XXXXXXXXX在许多工程实践中,往往不能 直接得到所需要的状态量的真实值例。例如,平时用温 度计测量房间温度时,可直接用温度计测得当前的温度,但是在测温过程中会受到各方面 因素的影响,使温度会小幅度地波动。假设测量温度时,外界的天气是多云,阳光照射时 有时无,同时房间不是100漏封的,可能有微小的与外界空气的交换,导致在测得的温度 中往往夹杂有随机噪声。Kalman滤波器就是这种能有效降低噪声影响的利器。在线性系统

2、 中,Kalman滤波是最优滤波器。随着计算机技术的发展,Kalman滤波的计算要求与复杂性 已不再成为其应用的障碍,它越来越受到人们的青睐。目前Kalman滤波理论已经广泛应用 在国防、军事、跟踪、制导等许多高科技领域。关键词:Kalman滤波;滤波器; 随机噪声; 测量;温度ABSTRACTIn many engineering practice, the real value of the required amount of state can not be obtained directly. For example, when the room temperature is mea

3、sured by a thermometer, the temperature can be measured directly with the thermometer, but the temperature will be affected by various factors. If the measurement temperature, the outside weather is cloudy, sometimes whe n the sun exposure, while the room is n ot 100% sealed, there may be a small ex

4、cha nge with the outside air, result ing in the measured temperature is ofte n mixed with ran dom no ise. Kalma n filter is a tool which can effectively reduce the impact of no ise. In the lin ear system, the Kalma n filter is the optimal filter. With the developme nt of computer tech no logy, the c

5、omputati onal requireme nts and complexity of Kalma n filteri ng are no Ion ger a barrier to its applicati on. At prese nt, the theory of Kalma n filter has bee n widely used in many high tech no logy fields, such as defe nse, military, track ing, guida nee and so on.Keywords: Kalman filter; filter;

6、 random noise; measurement; temperature第一章绪论仁1.1 Kalman滤波的产生.仁1.2 Kalman 滤波原理2.1.3 Kalman滤波的特点及其应用4.第二章Kalman滤波在温度测量中的应用 5.第三章实验仿真7.3.1 MATLAB 仿真程序.7.3.2仿真结果8.结束语.1.1.第一章绪论1.1 Kalman滤波的产生什么是滤波?滤波是指利用一定的手段抑制无用信号,增强有用信号的数字信号处理 过程。无用信号,也叫噪声,是指观测数据对系统没有贡献或者起干扰作用的信号。在工 程应用中,如雷达测距、声呐测距、图像采集、声音录制等,只要是传感器采集

7、和测量的 数据,都携带噪声干扰。这种影响有的很微小,有的则会使信号变形、失真,有的严重导 致数据不可用。那么滤波也不是万能的,滤波只能最大限度降低噪声的干扰,即有的滤波 是不能完全消除噪声,有的则可能完全消除。滤波理论就是在对系统可观测信号进行测量的基础上,根据一定的滤波准则,采用某 种统计量最优方法,对系统的状态进行估计的理论和方法。所谓最优滤波或最优估计是指 在最小方差意义下的最优滤波或估计,即要求信号或状态的最优估值应与相应的真实值的 误差的方差最小。经典最优滤波理论包括 Wiener (维纳)滤波理论和Kalman (卡尔曼)滤 波理论。前者采用频域方法,后者采用时域状态空间方法。由于

8、滤波器(维纳)是非递推 的,计算量和存储量大,难以在工程上实现,不便于实时应用,它仅适用于单通道平稳随 机信号。人们试图将Wiener滤波推广到非平稳和多维的情况,都因无法突破计算机的困难 而难以推广和应用。因此人们逐渐转向寻求在时域内直接设计最优滤波器的方法。Kalman在20世纪60年代初提出了 Kalman滤波方法。Kalman滤波方法是一种时域方法。它把状 态空间的概念引入随机估计理论中,把信号过程视为白噪声作用下的一个线性系统的输出, 用状态方程来描述这种输入-输出关系,估计过程中利用系统状态方程、观测方程和白噪声 激励,及系统过程噪声和观测噪声,它们的统计特性形成滤波算法。由于所用

9、的信息都是 时域内的量,所以Kalman滤波不但可以对平稳的一维随机过程进行估计,也可以对非平稳的、多维随机过程进行估计。为实现对动态系统的控制,首先需要了解被控对象的实时状 态。对于复杂动态系统应用,通常无法测量每一个需要控制的变量,而Kalma n滤波能够利用这些有限的、不直接的、包含噪声的测量信息去估计那些缺失的信息。同时Kalman滤波算法是递推的,便于在计算机上实现实时应用,克服了经典Wiener滤波方法的缺点和局 限性。1.2 Kalman滤波原理假设某系统k时刻的状态变量为 兀,状态方程和量测方程(也称为输出方程)表示为xk 1 = Akxk Wk(1.2.1 )yk = CkX

10、k Vk( 1.2.2 )其中,k表示时间,这里指第k步迭代时,相应信号的取值;输入信号 Wk是一白噪声, 输出信号的观测噪声Vk也是一个白噪声,输入信号到状态变量的支路增益等于 1,即B=1; A表示状态变量之间的增益矩阵,可以随时间发生变化,用 Ak表示第k步迭代时,增益矩 阵A的取值;C表示状态变量与输出信号之间的增益矩阵,可以随时间变化,第 k步迭代 时,取值用Ck表示,其信号模型如图1.2.1所示。将状态方程中时间变量k用k-1代替,得到的状态方程和测量方程如下所示:(123)yk 二 CkXkVk(124)其中,xk是状态变量;wk1表示输入信号是白噪声;vk是观测噪声;yk是观测

11、数据。为了后面的推导简单起见,假设状态变量的增益矩阵A不随时间发生变化,Wk,Vk都是均值为零的正态白噪声,方差分别是 Qk和Rk,并且初始状态与Wk,Vk都不相关。Kalman滤波是采用递推的算法实现的,其基本思想是先不考虑输入信号 wk和观测噪声 Vk的影响,得到状态变量和输出信号(即观测数据)的估计值,再用输出信号的估计误差 加权后校正状态变量的估计值,使状态变量估计误差的均方值最小。因此,Kalman滤波的关键是计算出加权矩阵的最佳值。当不考虑观测噪声和输入信号时,状态方程和量测方程为X =A?k(1.2.5)?k =CkXk 二 CkAXL( 1.2.6)显然,由于不考虑观测噪声的影

12、响,输出信号的估计值与实际值是有误差的,用yk表示yk 二 yk-?k( 1.2.7)为了提高状态估计的质量,用输出信号的估计误差yk来校正状态变量?k = AkXL HZ -?k)二 AkXL HkM-CkAXL)( 1.2.8)其中,Hk为增益矩阵,实质是一加权矩阵。经过校正后的状态变量的估计误差及其均 方值分别用Xk和Pk表示,把未经校正的状态变量的估计误差的均方值用Pk表示Xk 二Xk -Xk( 1.2.9)耳= E|_(Xk -创仪(1.2.10)Pk = E |(Xk - Xk)仇-Xk)(211 )Kalman滤波要求状态变量的估计误差的均方值 R为最小,因此Kalman滤波的关

13、键就 是要得到Pk与Hk的关系式,即通过选择合适的Hk,使Pk取得最小值。经过递推,最终得到一组 Kalman递推公式:Xk 二 Ak&jHk(yk -CkAk?)(1.2.12 )Hk 二 PCkT(CkPkCkT RJ(1.2.13 )Pk - Ak Pk JAkQk 丄(1.2.14 )Pk =(l -HkCk)R(1.2.15 )假设初始条件已知,其中A , Ck, Qk , R , yk,丘,Pk已知,其中XQ = Exo , P0 =varx。1.3 Kalman滤波的特点及其应用Kalman滤波是用状态空间法描述系统的,由状态方程和量测方程所组成。Kalman滤波 用前一

14、个状态的估计值和最近一个观测数据来估计状态变量的当前值,并以状态变量的估 计值的形式给出。Kalman滤波具有以下的特点:(1)算法是递推的,且状态空间法采用在时域内设计滤波器的方法,因而适用于多维 随机过程的估计;离散型Kalma n算法适用于计算机处理。(2)用递推法计算,不需要知道全部过去的值,用状态方程描述状态变量的动态变化规律,因此信号可以是平稳的,也可以是非平稳的,即Kalman滤波适用于非平稳过程。(3)Kalmanl采取的误差准则仍为估计误差的均方值最小。在实际应用中,Kalma n滤波是统计估计理论的里程碑式的进展,同时也是20世纪最伟大的发现之一。一般地,只要跟时间序列和高

15、斯白噪声有关或者能建立类似的模型的系 统,都可以利用Kalman滤波来处理噪声问题,都可以用其来预测、滤波。Kalman滤波主要应用领域有以下几个方面。(1)导航制导、目标定位和跟踪领域。(2)通信与信号处理、数字图像处理、语音信号处理。(3)天气预报、地震预报。(4)地质勘探、矿物开采。(5)故障诊断、检测。(6)证券股票市场预测。随着科技的不断发展进步,Kalman滤波理论也将不断完善,应用领域将更加广泛。第二章Kalman滤波在温度测量中的应用下面我将研究Kalman滤波在温度测量中的应用。根据经验判断,舒适的房间的温度大 概在26C左右,可能受空气流通、阳光等因素影响,房间内温度会小幅

16、度地波动。我们以 分钟为单位,定时测量房间温度,这里的1分钟,可以理解为采样时间。假设测量温度时, 外界的天气是多云,阳光照射时有时无,同时房间不是100喘封的,可能有微小的与外界空气的交换,即引入过程噪声 Wk,其方差为Qk,大小假定为Qk =0.01 (假如不考虑过程噪声的影响,即真实温度是恒定的,那么这时候Qk=0)。对照式(1.2.1 )和式(1.2.2 ),相应地,人=1, Qk =0.01,状态xk是在第k分钟时的房间温度,是一维的。那么该系统的 状态方程可以写为xk 二 xkwk现在用温度计开始测量房间的温度,假设温度计的测量误差为 一 0.5 C,从出厂说明书 上我们得知该温度

17、计的方差为 0.25。也就是说,温度计第k次测量的数据不是100%准确的, 它是有测量噪声Vk的,并且其方差Rk=0.25,因此测量方程为yXk Vk。我们也很容易想 到该系统的状态和观测方程为xAkXk4 WkyCkXk Vk式中,Xk是一维变量温度;Ak=1; Ck=1; Wk和Vk的方差为Qk和Rk。模型建好以后,就可以利用Kalman滤波了。假如要估算第k时刻的实际温度值,首先 要根据第k-1时刻的温度值来预测k时刻的温度。(1) 假定第k-1时刻的温度值测量值为24.9 C,房间真实温度为25C,该测量值 的偏差是0.1 C,即协方差P(k-1)= 0.12。(2) 在第k时刻,房间

18、的真实温度是25.1 T,温度计在该时刻测量的值为 25.5 C, 偏差为0.4 C。我们用于估算第k时刻的温度有两个温度值,分别是 k-1时刻24.9 C和k 时刻的25.5 C,如何融合这两组数据,得到最逼近真实值的估计呢?首先,利用k-1时刻温度值预测第k时刻的温度,其预计偏差P=P(k-1 ) +Qk=0.02 , 计算Kalman增益Hk = P/ ( R+R ) =0.0741,那么这时候利用k时刻的观测值,得到温 度的估计值为 2=24.9+0.0741* (25.1-24.9)=24.915°C。可见,与 24.9 C和 25.5 C相比 较,Kalman估计值24.

19、915 C更接近真实值25.1 C。此时更新k时刻的偏差Pk二(1 -HkCQR =0.0186.最后由Xk =24.915 C和P.=0.0186,可以继续对下一时刻观测数据 yk ,进行更新和处理。(3) 这样,Kalman滤波器就不断地把方差递归,从而估算出最优的温度值。当然, 我们需要确定Kalman滤波器两个初始值,分别是 怡和F0 。第三章实验仿真MATLA是一款主要用于数值计算和图像处理的工具软件。由于它采用了矩阵的形式存贮 数据,因此在数据处理领域能够发挥速度快,效率高的优点。它包含了许多功能强大的工 具箱,借助于这些工具箱,用户可以非常方便地进行数据分析和处理工作。此外,和其

20、它 软件比较,由于MATLA对于数据处理的针对性,它还具有代码简洁的优势。正是基于上述 情况,本文采用了 MATLA来实现仿真,通过实验结果仿真图可以直观的看出,Kalman滤波的效果还是不错的,使估计的值更逼近真实值。3.1 MATLAB仿真程序下面是实验仿真的一段简短程序,假设采样频率N为200,两个初始值为26.1 °C和0.01 03 %4 fun cti onma in5 %6 N=200;7 CON=26;8 Xexpect=CON* on es(1,N);9 X=zeros(1,N);10 Xkf=zeros(1,N);11 y=zeros(1,N);12 P=zero

21、s(1,N);13 X(1)=26.1;14 P(1)=0.01;15 y(1)=25.9;16 Xkf(1)=y(1);17 Q=0.01;18 R=0.25;19 W=sqrt(Q)*ra ndn (1,N);20 V=sqrt(R)*ra ndn (1,N);21 A=1;22 C=1;23 l=eye(1);24 %25 for k=2:N26 X(k)=A*X(k-1)+W(k-1);27 y(k)=C*X(k)+V(k);28 X_pre=A*Xkf(k-1);P_pre=A*P(k-1)*A'+Q;H=P_pre* in v(C*P_pre*C'+R); e=y(

22、k)-C*X_pre;Xkf(k)=X_pre+H*e;P(k)=(I-H*C)*P_pre;end%Err_Messure=zeros(1,N);Err_Kalma n=zeros(1,N);for k=1:NErr_Messure(k)=abs(y(k)-X(k);Err_Kalma n(k)=abs(Xkf(k)-X(k);endt=1:N;figure( 'Name' , 'Kalman Filter Simulation' plot(t,Xexpect,'-b',t,X,'-r',t,y,'-k',Num

23、berTitle',t,Xkf, '-g');,'off');lege nd( xlabel( ylabel('expected''sample time''temperature','real', 'measure'););,'kalman extimate');'Kalman Filter Simulati on'title(figure(plot(t,Err_Messure,lege nd('messure error'xlabel( 'sample time''Name' , 'Error Analysis''-b',t,Err_Kalma n,'kalman error&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论