基于fpga的卡尔曼滤波器的设计与实现

基于fpga的卡尔曼滤波器的设计与实现

ID:36259575

大小:3.13 MB

页数:34页

时间:2019-05-07

基于fpga的卡尔曼滤波器的设计与实现_第1页
基于fpga的卡尔曼滤波器的设计与实现_第2页
基于fpga的卡尔曼滤波器的设计与实现_第3页
基于fpga的卡尔曼滤波器的设计与实现_第4页
基于fpga的卡尔曼滤波器的设计与实现_第5页
资源描述:

《基于fpga的卡尔曼滤波器的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于FPGA的卡尔曼滤波器的设计与实现姓名:杨秋月学号:2010202120081基于FPGA的卡尔曼滤波器的设计与实现背景知识简介基于FPGA的卡尔曼滤波器的设计123仿真结果及相关结论4背景知识简介1.卡尔曼和卡尔曼滤波2.卡尔曼滤波原理3.卡尔曼滤波器的实现方法及比较卡尔曼和卡尔曼滤波卡尔曼(RudolfEmilKalman)匈牙利数学家,1930年出生于匈牙利首都布达佩斯。1953,1954年于麻省理工学院分别获得电机工程学士及硕士学位。1957年于哥伦比亚大学获得博士学位。我们现在要学习的卡尔曼滤波器,正是源于他的博士论文和1960年发表的论文《ANewApproachtoLi

2、nearFilteringandPredictionProblems》(线性滤波与预测问题的新方法)。卡尔曼滤波(Kalmanfiltering)当输入由白噪声产生的随机信号时,使期望输出和实际输出之间的均方根误差达到最小的线性系统。卡尔曼滤波采用状态空间法在时域内设计滤波器,是一种最优估计算法。自从被提出以来,获得了广泛的实际应用,其应用领域包括控制、通讯、信号处理、石油地震勘探、故障诊断、图像处理等。卡尔曼滤波原理卡尔曼滤波,是一种线性最小方差估计,特点是考虑了系统的模型误差和测量噪声的统计特性。设随机线形离散系统的状态方程为:观测方程为:式中为系统的状态向量,为系统的观测序列,为系

3、统的过程噪声序列,为观测噪声序列,为系统控制输入,为状态转移矩阵,为系数矩阵,为观测矩阵。卡尔曼滤波原理因为控制规律是有规律的信号,可以先不考虑,假设=0。设k时刻的状态估计值为:卡尔曼滤波的递推步骤如下所示:状态一步预测值:预测误差方差:滤波增益:最佳滤波值:滤波误差方差:卡尔曼滤波器的实现方法及比较用DSP处理器实现在应用中,卡尔曼滤波器通常由DSP处理器来实现。使用DSP处理器具有设计简单灵活,可直接采用C语言矩阵运算的优点,但由于卡尔曼算法在运算中有大量的矩阵加减乘除运算且DSP处理器采用程序顺序执行的CPU架构,在要求较高的场合,不能满足系统高速、实时的需要。用FPGA实现采用

4、的是硬件并行算法,能很好的解决速度和实时性的问题,并且具有灵活的可配置特性和优良的抗干扰能力,使得FPGA构成的数字信号处理系统非常易于修改、测试及硬件升级。基于FPGA的卡尔曼滤波器的设计1.FPGA设计简介2.基于FPGA的卡尔曼滤波器各功能模块设计(时钟分频模块AD控制模块卡尔曼滤波模块)1.FPGA设计简介一般地,数字滤波器的FPGA实现是用VHDL或VerilogHDL等硬件描述语言通过编写底层代码实现。这种编程方式效率低,难度大。利用Altera公司FPGA的DSP开发工具DSPBuilder设计卡尔曼滤波器,比基于硬件描述语言的设计周期更短,设计更容易。设计选用的FPGA是

5、Altera公司CycloneⅡEP2C20Q240C8N,FPGA中I/O端口可自由定义,电路设计方便,编程灵活,不易受外部干扰。系统编译环境采用QuartusⅡ,顶层设计为图形化方式,易实现模块化。FPGA的主要任务是控制AD转换芯片进行数据转换,并从AD芯片中读取转换输出数据,进行卡尔曼滤波处理并输出。设计思路本实验以基于现场可编程逻辑门阵列FPGA器件和模数转换器设计的数据采集系统为硬件平台,进行算法设计。基于模块化设计思想,设计了时钟分频模块,AD转换芯片的FPGA控制模块和卡尔曼滤波模块。卡尔曼滤波模块采用DSPBuilder设计,转换成硬件描述语言VHDL后,应用软件Mod

6、elsim、QuartusII进行仿真并完成硬件验证。基于FPGA的卡尔曼滤波器各功能模块设计基于FPGA的卡尔曼滤波器各功能模块设计图1芯片模块结构划分示意图芯片模块结构芯片模块的划分如下图所示,分频模块和AD控制模块采用VHDL语言编程实现,卡尔曼滤波模块用DSPBuilder软件进行设计。单元功能模块设计*分频模块分频模块是将外部时钟进行分频设定,得到系统内部AD控制模块和卡尔曼滤波模块所需要的时钟,并为AD芯片提供时钟信号基准。此模块采用VHDL语言编程实现。这里给出10分频时序仿真图,其中分频模块的外部时钟输入频率为50MHz,产生的时钟频率为5MHz。图2分频模块时序仿真图基

7、于FPGA的卡尔曼滤波器各功能模块设计*AD控制模块ADS8364的简介与工作原理采用ADS8364芯片对输入信号数据采样。ADS8364是TI公司的一款高速、低功耗、6路模拟输入、16位并行输出的模数转换器。六路模拟输入分为三组(A,B和C),每个输入端都有一个保持信号来实现所有通道的同时采样与转换功能,适合于多路采集系统的需要。ADS8364的时钟信号由外部提供,转换时间为20个时钟周期,最高频率为5MHz,ADS8364的6个

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。