Kalman滤波原理及程序(手册)

Kalman滤波原理及程序(手册)
Kalman滤波原理及程序(手册)

Kalman 滤波原理及程序(手册)

KF/EKF/UKF 原理+应用实例+MATLAB 程序

本手册的研究内容主要有Kalman 滤波,扩展Kalman 滤波,无迹Kalman 滤波等,包括理论介绍和MATLAB 源程序两部分。本手册所介绍的线性滤波器,主要是Kalman 滤波和α-β滤波,交互多模型Kalman 滤波,这些算法的应用领域主要有温度测量、自由落体,GPS 导航、石油地震勘探、视频图像中的目标检测和跟踪。

EKF 和UKF 主要在非线性领域有着重要的应用,目标跟踪是最主要的非线性领域应用之一,除了讲解目标跟踪外,还介绍了通用非线性系统的EKF 和UKF 滤波处理问题,相信读者可以通过学习本文通用的非线性系统,能快速掌握EKF 和UKF 滤波算法。

本文所涉及到的每一个应用实例,都包含原理介绍和程序代码(含详细的中文注释)。

一、四维目标跟踪Kalman 线性滤波例子

在不考虑机动目标自身的动力因素,将匀速直线运动的船舶系统推广到四

维,即状态[]T k y

k y k x

k x k X )()

()()()( =包含水平方向的位置和速度和纵向的位置和速度。则目标跟踪的系统方程可以用式(3.1)和(3.2)表示,

)()()1(k u k X k X Γ+Φ=+ (2-4-9) )()()(k v k HX k Z += (2-4-10)

其中,?

?

????

???

???=Φ10

00

1000010

001

T T ,????

????????

??=ΓT T T

T 05.00005.022,T H ??

??????????=00100001

,T

y

y x x X ?

?????

??????= ,???

???=y x Z ,u ,v 为零均值的过程噪声和观测噪声。T 为采样周期。为了便于理解,

将状态方程和观测方程具体化:

)(05.00

005.0)1()1()1()1(10001000010001)()()()(1

222

k w T T

T

T k y k y k x k x T T

k y

k y k x k x ?????

??

?

???????+????????????----????????????=???????????? )()()()()(01000001)()(12k v k y k y k x k x k y k x Z ?+??

??

?

?

???????

?????=??????= 假定船舶在二维水平面上运动,初始位置为(-100m,200m ),水平运动速度为2m/s ,垂直方向的运动速度为20 m/s ,GPS 接收机的扫描周期为T=1s ,观测噪声的均值为0,方差为100。过程噪声越小,目标越接近匀速直线运动,反之,则为曲线运动。仿真得到以下结果:

图3-1 跟踪轨迹图 图3-2 跟踪误差图

仿真程序

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Kalman 滤波在目标跟踪中的应用实例

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function Kalman clc;clear;

T=1;%雷达扫描周期, N=80/T; %总的采样次数

X=zeros(4,N); % 目标真实位置、速度

X(:,1)=[-100,2,200,20];% 目标初始位置、速度 Z=zeros(2,N); % 传感器对位置的观测 Z(:,1)=[X(1,1),X(3,1)]; % 观测初始化

delta_w=1e-2; %如果增大这个参数,目标真实轨迹就是曲线了 Q=delta_w*diag([0.5,1,0.5,1]) ; % 过程噪声均值 R=100*eye(2); %观测噪声均值

F=[1,T,0,0;0,1,0,0;0,0,1,T;0,0,0,1]; % 状态转移矩阵 H=[1,0,0,0;0,0,1,0]; % 观测矩阵

……

……

二、视频图像目标跟踪Kalman滤波算法实例

如下图所示,对于自由下落的皮球,要在视频中检测目标,这里主要检测目标中心,即红心皮球的重心,在模型建立时可以将该重心抽象成为一个质点,坐标为)

,

(y

x。

图2-6-1 下落的球图2-6-2 检测下落的球图2-6-3 跟踪下落的球那么对该质点跟踪,它的状态为[]y

x

y

x

k

X

=

)

(,状态方程如下

)

(

)

(

1

1

1

1

)1

(k

w

g

k

X

dt

dt

k

X

?

?

?

?

?

?

?

?

?

?

?

?

+

?

?

?

?

?

?

?

?

?

?

?

?

=

+

观测方程为

)

(

)

(

1

1

)

(k

v

k

X

k

Z+

?

?

?

?

?

?

=

在这个过程中,前提是目标检测,一定要找到重心)

,

(y

x,与雷达目标跟踪中观测目标位置是一回事。

图像目标检测跟踪程序%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 目标检测函数,这个函数主要完成将目标从背景中提取出来%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function detect

clear,clc; %清除所有内存变量、图形窗口

% 计算背景图片数目

Imzero = zeros(240,320,3);

for i = 1:5

% 将图像文件i.jpg 的图像像素数据读入矩阵Im

Im{i} = double(imread(['DATA/',int2str(i),'.jpg']));

Imzero = Im{i}+Imzero;

end

Imback = Imzero/5;

[MR,MC,Dim] = size(Imback); % 遍历所有图片 for i = 1 : 60

% 读取所有帧

…… ……

运行程序得到的x,y 方向的位置跟踪偏差分析

Y 方向的位置偏差

50

100

150

X 方向的位置偏差

三、通用非线性系统的EKF 实现例子:

所谓的非线性方程,就是因变量与自变量的关系不是线性的,这类方程很多,例如平方关系,对数关系,指数关系,三角函数关系等等。这些方程可分为两类,一类是多项式方程,一种是非多项式方程。为了便于说明非线性卡尔曼滤波——扩展Kalman 滤波的原理,我们选用以下系统,

系统状态为)(k X ,它仅包含一维变量,即[])()(k x k X =,系统状态方程为

)()2.1cos(8)

1(1)

1(5.2)1(5.0)(2k w k k X k X k X k X ++-+-+

-= (3-2-1)

观测方程为

)(20

)

()(2k v k X k Y += (3-2-2)

其中,式(3-1-1)是包含分式,平方,三角函数在内的严重非线性的方程,)(k w 为过程噪声,其均值为0,方差为Q ,观测方程中,观测信号)(k Y 与状态)(k X 的

关系也是非线性的,)(k v 也是均值为0,方差为R 的高斯白噪声。因此关于(3-1-1)

和(3-2-2)是一个状态和观测都为非线性的一维系统。以此为通用的非线性方程的代表,接下来讲述如何用扩展Kalman 滤波来处理噪声问题。

第一步:初始化初始状态)0(X ,)0(Y ,协防差矩阵0P 。 第二步:状态预测

)2.1cos(8)

1(1)

1(5.2)1(5.0)1|(2k k X k X k X k k X +-+-+

-=- (3-2-3)

第三步:观测预测

20

)

1|()1|(2-=-k k X k k Y (3-2-4)

…… ……

第九步:协方差更新

)1|())()(()(--=k k P k H k K I k P n (3-2-10)

以上九步为扩展卡尔曼滤波的一个计算周期,如此循环下去就是各个时刻EKF 对非线性系统的处理过程。其他参数设置请查看源程序,仿真以上系统得到状态滤波结果,如图3-2-1所示,滤波后的状态与真值之间的偏差如图图3-2-2

所示。

图3-2-1 EKF 滤波处理后的状态与真值对比 图3-2-2 偏差分析 EKF 一维非线性系统仿真程序

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% 函数功能:一维非线性系统扩展Kalman 滤波问题

% 状态函数:X(k+1)=0.5X(k)+2.5X(k)/(1+X(k)^2)+8cos(1.2k) +w(k) % 观测方程:Z (k )=X(k)^2/20 +v(k)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function EKF_for_One_Div_UnLine_System % 初始化

T=50; % 总时间 Q=10; R=1;

% 产生过程噪声 w=sqrt(Q)*randn(1,T); % 产生观测噪声 v=sqrt(R)*randn(1,T);

…… ……

四、EKF 在纯方位寻的导弹制导中的应用例子:

考虑一个在三维平面x-y-z 内运动的质点M ,其在某一时刻k 的位置、速度和加速度可用矢量可以表示为:

[]

T

z y x z y x z y x k a k a k a k v k v k v k r k r k r k x )()()()()()()()()()(=

质点M 可以在三维空间内做任何运动,同时假设三个x-y-z 方向上运动具有加性系统噪声()k w ,则在笛卡尔坐标系下该质点的运动状态方程为:

))(),(()1(k w k x f k x k =+

通常情况下,上述方程为线性的,即能表示为以下方式,

)()()()1(k w k u k x k x +Γ+=+φ

其中

???????????????

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

33

33

323300)1(10)1(1

I e I e I I t e tI I t t

t

λλλλλλφ,????

?

??????-?-=Γ3

3320)2/(tI I t t ?为测量周期,也叫扫描周期,采样时间间隔等。动态噪声)(k w 为

[]

T

z y x k k k k w )()()(000000)(ωωω=

而且

[]1910)(?==q k w E ,[]

??

????==??32

63366

1000

)()(I Q k w k w E T σ )(k w 是高斯型白色随机向量序列。

现在考虑一个带有观测器的飞行中的导弹,可以假设为质点M ,对移动的目标进行观测,如下图所示,导弹与目标的相对位置依然可用x-y-z 表示,

那么,导弹对目标纯方位角观测,主要是俯仰角和水平方向偏向角,实际测量中雷达具有加性测量噪声()k v ,则在笛卡尔坐标系下,观测方程为

[])()()(k v k x h k z +=

式中,

[]T

z x z x y k r k r k r k r k r k x h ?

??

?

???

?-+=)()(arctan

)()()

(arctan

)(2

2 )(k v 为测量噪声,他也是高斯型白色随机向量序列,而且

[]1210)(?==r k v E ,[]

1)()(R k v k v E T =

对于1R ,其定义为

)()()(11k xD k D k R T --=

其中,21.0I x =

???

?

??

?

?++++=)()()(00

)()()()(2

22222k r k r k r k r k r k r k D z y x z

y x

显然在笛卡尔坐标系下,该模型运动观测方程为非线性的。仿真结果为:

error of position

轨迹跟踪图 位置误差

error of velocity

error of acceleration

速度误差 加速度误差

寻的制导matlab 仿真程序

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% 程序说明:目标跟踪程序,实现运动弹头对运动物体的三维跟踪,主函数 % 状态方程: x(t)=Ax(t-1)+Bu(t-1)+w(t ) % 参考资料:《寻的导弹新型导引》第5.5和5.6节中仿真参数设置

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function main

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

delta_t=0.01; % 测量周期,采样周期

longa=1; % 机动时间常数的倒数,即机动频率 T=3.7/delta_t;% 时间长度3.7秒钟,一共采样T=370次

F=[eye(3),delta_t*eye(3),(exp(-1*longa*delta_t)+longa*delta_t-1)/longa^2*eye(3); zeros(3),eye(3),(1-exp(-1*longa*delta_t))/longa*eye(3);

zeros(3),zeros(3),exp(-1*longa*delta_t)*eye(3)]; % 状态转移矩阵fai G=[-1*0.5*delta_t^2*eye(3);-1*delta_t*eye(3);zeros(3)]; % 控制量驱动矩阵gama

…… ……

五、UKF 在六维CA 目标跟踪模型中的应用例子:

一、仿真问题描述

考虑一个在二维平面x-y 内运动的质点M ,其在某一时刻k 的位置、速度和

加速度可用矢量()[,,,,,]T

k k k k k k k x y x

y x y =x 表示。假设M 在水平方向(x )作近似匀加速直线运动,垂直方向(y )上亦作近似匀加速直线运动。两方向上运动具有加性系统噪声()k w ,则在笛卡尔坐标系下该质点的运动状态方程为

(1)(())()()()k k k k k k k +=+=+x f x w F x w

其中

22100

02

0100200100000100000100

000

1k t t

t t t t ?

??????????

?=????????????

F 假设一坐标位置为(0,0)的雷达对M 进行测距k r 和测角k ?,实际测量中雷达具有加性测量噪声()k v ,则在传感器极坐标系下,观测方程为

1()()()(())()()tan ()r

k r k k

k k v k r v k k k k y v k v k x ???-?

+???

=+==????++???

???

z h x v 显然在笛卡尔坐标系下,该模型运动观测方程为非线性的。我们根据雷达测

量值使用UKF 算法对目标进行跟踪,并与EKF 算法结果进行比较。

三、实验仿真与结果分析

假设设系统噪声)(k w 具有协方差阵222210

000001

00000.10

000

000.10000000.0100

0.01k ????????=?

???????????

Q ,)(k v 具有协方差阵??

?

?

??=22

01.0005k R ,二者不相关。观测次数N=50,采样时间为t=0.5。初始状态(0)[1000,5000,10,50,2,4]T

=-x 。则生成的运动轨迹如图1所示。

1000

110012001300140015001600170018001900

轨迹跟踪图

跟踪位置偏差

05101520253035404550

4.3.2 仿真程序%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%

% 功能说明:UKF在目标跟踪中的应用

% 参数说明:状态6维,x方向的位置、速度、加速度;y方向的位置、速度、加速度;% 观测信息为距离和角度;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%function ukf_for_track_6_div_system %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%

n=6; % 状态位数

t=0.5; % 采样时间

Q=[1 0 0 0 0 0;

0 1 0 0 0 0;

0 0 0.01 0 0 0;

0 0 0 0.01 0 0;

0 0 0 0 0.0001 0;

0 0 0 0 0 0.0001];%过程噪声协方差阵

R = [100 0;

0 0.001^2];%量测噪声协方差阵

% 状态方程

……

……

目录

第一章Kalman滤波概述 1

1.1 kalman滤波的背景 1

1.2 kalman滤波的发展过程 3

1.3 kalman滤波应用领域 5

第二章线性卡尔曼滤波 6

2.1 Kalman滤波原理 6

2.1.1 射影定理 6

2.1.2 Kalman滤波原理推导 8

2.1.3 Kalman滤波过程描述 10

2.2 Kalman滤波在温度测量中的应用12

2.2.1 原理介绍12

2.2.1 matlab仿真程序13

2.3 Kalman滤波在自由落体中的应用14

2.3.1 原理介绍14

2.3.2 Matlab仿真程序19

2.3.3 C语言程序20

2.4 Kalman滤波在船舶GPS导航定位系统中的应用22 2.4.1 原理介绍22

2.4.2 matlab仿真程序25

2.5 Kalman滤波在石油地震勘探中的应用26

2.5.1 石油地震勘探白噪声反卷积滤波原理26

2.5.2 石油地震勘探白噪声反卷积滤波仿真程序28

2.6 Kalman滤波在视频图像目标跟踪中的应用31

2.6.1 视频图像处理的基本方法及程序31

2.6.2 Kalman滤波对自由下落的皮球跟踪应用 33

2.6.3 目标检测程序33

2.6.4 Kalman滤波视频跟踪程序 35

第三章扩展卡尔曼滤波EKF 37

3.1 扩展Kalman滤波原理37

3.2 扩展卡尔曼在一维非线性系统中的应用38

3.2.1 状态方程和观测方程都为非线性的通用系统38

3.2.2 EKF一维非线性系统仿真程序40

3.3 扩展卡尔曼在二维非线性系统中的应用41

3.3.1 状态方程和观测方程都为非线性的通用二维系统41

3.3.2 EKF二维非线性系统仿真程序43

3.4 扩展卡尔曼在二维目标跟踪中的应用 44

3.4.1 基于观测距离的EKF目标跟踪算法44

3.4.2跟踪算法matlab程序44

3.4.3 基于纯方位的EKF目标跟踪算法46

3.4.4纯方位目标跟踪算法matlab程序47

3.5 EKF在纯方位寻的导弹制导中的应用 48

3.5.1 三维寻的制导系统48

3.5.2 寻的制导matlab仿真程序 52

第四章无迹卡尔曼滤波UKF 55

4.1 无迹Kalman滤波原理55

4.1.1 UT变换 55

4.1.2 无迹卡尔曼原理56

4.2 UKF在单站二维目标跟踪中的应用57

4.2.1 原理介绍57

4.2.2 仿真程序57

4.3 UKF在六维CA目标跟踪模型中的应用60

4.3.1 原理介绍60

4.3.2 仿真程序62

第五章交互多模型卡尔曼滤波65

5.1交互多模型Kalman滤波(IMM)65

5.1.1 交互多模原理65

5.1.2 仿真方法66

5.2交互多模型Kalman滤波在目标跟踪中应用70

5.2.1 仿真分析70

5.2.2 IMM仿真程序71

第六章自校正α-β跟踪滤波器 76

6.1 自校正α-β跟踪滤波器76

6.2 自校正α-β跟踪滤波器在雷达跟踪系统中的应用78

6.2.1 跟踪系统介绍78

6.2.2 自校正α-β跟踪滤波器仿真程序80

6.2.3 Gevers-Wouters算法仿真程序81

6.2.4 递推增广最小二乘自校正算法程序82

6.3 含未知模型参数的自校正α-β跟踪滤波器83

6.3.1 原理介绍83

6.3.2 仿真程序85

本书的网址链接:https://www.360docs.net/doc/0d8751979.html,/item.htm?id=16410732773

无损变换和无迹Kalman滤波算法

UT 变换 核心思想:近似一种概率分布比近似任意一个非线性函数或非线性变换要容易。 假设n 维向量x 经过一个非线性变换得到y ,即()y g x =,x 的均值为?x ,协方差矩阵为xx P 。 步骤1:根据x 的均值?x 和协方差矩阵xx P ,采用一定的采样策略(此处采用对称采样)得到sigma 点集{}i χ。 0???1,2,...,i i i n i x x x i n χχχ+==+=-= 其中,i 表示矩阵的第i 列。 (0)(0)2() ()/() /()(1) 1/2(),1,2,...,21/2(), 1,2,...,2m c i m i c W n W n W n i n W n i n λλλλαβλλ=+=++-+=+==+= 注,这里sigma 点集{}i χ乘以对应的权重{}i m W ,可得sigma 点集的均 值为?x ,协方差为xx P 。 步骤2:对所采样的sigma 点集{}i χ中的每个sigma 点通过非线性变 换g(*),得到采样后的sigma 点集{}i y 。 ()i i y g χ= 步骤3:对变换后的sigma 点集{}i y 进行加权处理,得到输出变量y 的均值?y 和协方差yy P 。 2()02()0???()()n i m i i n i T yy c i i i y W y P W y y y y ====--∑∑

UKF 非线性系统模型为: ()((1))(1)()(())() x k f x k V k y k h x k W k =-+-=+ 1) 状态初始条件为 ?(0|0)((0|0))??(0|0)(((0|0)(0|0))((0|0)(0|0)))T xx x E x P E x x x x ==-- 2) Sigma 点采样 ??(1|1)[(1|1)(1|1)?(1|1)k k x k k x k k x k k χ--=----+-- 3) 时间更新 202020(|1)((1|1)) ?(|1)(|1) (|1)((|1)) ?(|1)(|1) ??(|1)(((|1)(|1))((|1)(|1)))(1)n i m i i n i m i i n i T xx c i i i k k f k k x k k W k k k k h k k y k k W k k P k k W k k x k k k k x k k Q k χχχμχμχχ===-=---=--=--=--=------+-∑∑∑ 4) 测量更新 20 20 1??(|1)((|1)(|1))((|1)(|1))??(|1)((|1)(|1))((|1)(|1))()(|1)*(|1)???(|)(|1)()(()(|1))(|)n i T xy c i i i n i T yy c i i i xy yy xx P k k W k k x k k k k y k k P k k W k k y k k k k y k k K k P k k P k k x k k x k k K k y k y k k P k k χμμμ==--=-------=------=--=-+--∑∑(|1)()(|1)()T xx yy P k k K k P k k K k =---

IIR数字滤波器设计原理

IIR 数字滤波器设计原理 利用双线性变换设计IIR 滤波器(只介绍巴特沃斯数字低通滤波器的设计),首先要设计出满足指标要求的模拟滤波器的传递函数)(s H a ,然后由)(s H a 通过双线性变换可得所要设计的IIR 滤波器的系统函数)(z H 。 如果给定的指标为数字滤波器的指标,则首先要转换成模拟滤波器的技术指标,这里主要是边界频率 s p w w 和的转换,对s p αα和指标不作变化。边界频率的转换关系为)21tan(2w T =Ω。接着,按照模拟低通滤波器的技术指标根据相应 设计公式求出滤波器的阶数N 和dB 3截止频率c Ω;根据阶数N 查巴特沃斯归一 化低通滤波器参数表,得到归一化传输函数 )(p H a ;最后,将c s p Ω=代入)(p H a 去归一,得到实际的模拟滤波器传输函数)(s H a 。之后,通过双线性变换法转换公式 11 112--+-=z z T s ,得到所要设计的IIR 滤波器的系统函数)(z H 。 步骤及内容 1) 用双线性变换法设计一个巴特沃斯IIR 低通数字滤波器。设计指标参数为: 在通带内频率低于π2.0时,最大衰减小于dB 1;在阻带内[]ππ,3.0频率区间上,最小衰减大于dB 15。 2) 以π02.0为采样间隔,绘制出数字滤波器在频率区间[]2/,0π上的幅频响应特 性曲线。 3) 程序及图形 程序及实验结果如下: %%%%%%%%%%%%%%%%%%

%iir_1.m %lskyp %%%%%%%%%%%%%%%%%% rp=1;rs=15; wp=.2*pi;ws=.3*pi; wap=tan(wp/2);was=tan(ws/2); [n,wn]=buttord(wap,was,rp,rs,'s'); [z,p,k]=buttap(n); [bp,ap]=zp2tf(z,p,k); [bs,as]=lp2lp(bp,ap,wap); [bz,az]=bilinear(bs,as,.5); [h,f]=freqz(bz,az,256,1); plot(f,abs(h)); title('双线性z 变换法获得数字低通滤波器,归一化频率轴'); xlabel('\omega/2\pi'); ylabel('低通滤波器的幅频相应');grid; figure; [h,f]=freqz(bz,az,256,100); ff=2*pi*f/100; absh=abs(h); plot(ff(1:128),absh(1:128)); title('双线性z 变换法获得数字低通滤波器,频率轴取[0,\pi/2]'); xlabel('\omega'); ylabel('低通滤波器的幅频相应');grid on; 运行结果: 00.050.10.150.20.25 0.30.350.40.450.500.1 0.2 0.3 0.40.50.60.70.8 0.9 1 双线性z 变换法获得数字低通滤波器,归一化频率轴 ω/2π低通滤波器的幅频相应

数字滤波器原理

4.2经典数字滤波器原理 数字滤波是数字信号分析中最重要的组成部分之一,与模拟滤波相比,它具有精度和稳定性高、系统函数容易改变、灵活性强、便于大规模集成和可实现多维滤波等优点。在信号的过滤、检测和参数的估计等方面,经典数字滤波器是使用最广泛的一种线性系统。 数字滤波器的作用是利用离散时间系统的特性对输入信号波形(或频谱)进行加工处理,或者说利用数字方法按预定的要求对信号进行变换。 4.2.1数字滤波器的概念 若滤波器的输入、输出都是离散时间信号,那么该滤波器的单位冲激响应h(n)也必然是离散的,这种滤波器称为数字滤波器。当用硬件实现一个DF时,所需的元件是乘法器、延时器和相加器;而用MATLAB软件实现时,它仅仅需要线性卷积程序就可以实现。众所周知,模拟滤波器(Analog Filter,AF)只能用硬件来实现,其元件有电阻R,电感L,电容C及运算放大器等。因此,DF的实现要比AF容易得多,并且更容易获得较理想的滤波性能。 数字滤波器的作用是对输入信号进行滤波,就如同信号通过系统一样。对于线性时不变系统,其时域输入输出关系是: (4-1)若y(n)、x(n)的傅里叶变化存在,则输入输出的频域关系是: (4-2) 当输入信号x(n)通过滤波器h(n)后,其输出y(n)中不再含有的频率成分,仅使的信号成分通过,其中是滤波器的转折频率。 4.2.2经典数字滤波器的分类 经典数字滤波器按照单位取样响应h(n)的时域特性可分为无限冲激响应(IIR,I nfinite Impulse Response)系统和有限冲激响应(FIR,Finite Impulse Respo nse)系统。如果单位取样响应是时宽无限的h(n),则称之为IIR系统;而如果单位取样响应是时宽有限的h(n),,则称之为FIR系统。

FIR滤波器的原理及设计

选题2 实验讲义 实验名称:基于分布式算法的FIR 滤波器设计 1.数字滤波器基础知识 数字滤波是信号与信号处理领域的一个重要分支,在语音图像处理、模式识别、谱分析、无线通信等领域都有着非常广泛的应用。通过滤波运算,将一组输入数据序列转变为另一组输出数据序列,从而达到修正时域或频域中信号属性的目的。数字滤波器就是用于完成这种信号滤波功能,用有限精度算法来实现的一种离散时间线性时不变(LTI )系统。相比于模拟滤波器,数字滤波器具有以下优点:(1)数字滤波器的频域特性容易控制,性能指标优良;(2)数字滤波器可以工作在极低的频率,可以方便地实现模拟滤波器难以实现的线性相位系统;(3)数字滤波器工作稳定,一般不会受到外部环境的影响;(4)数字滤波器的灵活性和可重用性高,只需要简单编程就可以修改滤波器的特性,设计周期短。数字滤波器的实现可以采用专用DSP 芯片,通过编写程序,利用软、硬件结合完成滤波器设计,也可以采用市面上通用的数字滤波器集成电路来实现,但这两种方法无法适应高速应用场合。随着集成电路技术的高速发展,FPGA 应用越来越普及,FPGA 器件具有芯片密度大、执行效率高,速度快,集成度高等优点,用FPGA 芯片作为滤波器的设计载体,可以实现高速信号滤波功能。 1.1 FIR 数字滤波器特点 数字滤波器通常分为IIR (无限冲激响应)和FIR(有限冲激响应)两种。FIR 滤波器具有以下特点:(1)可以做成严格的线性相位,同时又可以具有任意的幅度特性(2)单位冲激响应是有限长的,所以一定是稳定的,因此在实际中得到广泛的应用。 1.2 FIR 滤波器结构 设FIR 滤波器的单位冲激响应为)(n h ,10-≤≤N n , 系统函数 ∑-=-= 1 )()(N n n z n h Z H 差分方程形式为:∑-=-=1 )()()(N k k n x k h n y (1) 基本结构(直接型):

4.2 经典数字滤波器原理

4.2 经典数字滤波器原理 数字滤波是数字信号分析中最重要的组成部分之一,与模拟滤波相比,它具有精度和稳定性高、系统函数容易改变、灵活性强、便于大规模集成和可实现多维滤波等优点。在信号的过滤、检测和参数的估计等方面,经典数字滤波器是使用最广泛的一种线性系统。 数字滤波器的作用是利用离散时间系统的特性对输入信号波形(或频谱)进行加 工处理,或者说利用数字方法按预定的要求对信号进行变换。 4.2.1 数字滤波器的概念 若滤波器的输入、输出都是离散时间信号,那么该滤波器的单位冲激响应h(n)也必然是离散的,这种滤波器称为数字滤波器。当用硬件实现一个DF时,所需的元件是乘法器、延时器和相加器;而用MATLAB软件实现时,它仅仅需要线性卷积程序就可以实现。众所周知,模拟滤波器(Analog Filter,AF)只能用硬件来实现,其元件有电阻R,电感L,电容C及运算放大器等。因此,DF的实现要比AF容易得多,并且更容易获得较理想的滤波性能。 数字滤波器的作用是对输入信号进行滤波,就如同信号通过系统一样。对于线性时不变系统,其时域输入输出关系是: (4-1) 若y(n)、x(n)的傅里叶变化存在,则输入输出的频域关系是: (4-2) 当输入信号x(n)通过滤波器h(n)后,其输出y(n)中不再含有的频率成分,仅使的信号成分通过,其中是滤波器的转折频率。 4.2.2 经典数字滤波器的分类 经典数字滤波器按照单位取样响应h(n)的时域特性可分为无限冲激响应(IIR,I nfinite Impulse Response)系统和有限冲激响应(FIR,Finite Impulse Respo nse)系统。如果单位取样响应是时宽无限的h(n),则称之为IIR系统;而如果单位取样响应是时宽有限的h(n),,则称之为FIR系统。

相关文档
最新文档