1、外文文献翻译译稿 1卡尔曼滤波的一个典型实例是从一组有限的,包含噪声的,通过对物体位置的观察序列(可能有偏差)预测出物体的位置的坐标及速度。在很多工程应用(如雷达、计算机视觉)中都可以找到它的身影。同时,卡尔曼滤波也是控制理论以及控制系统工程中的一个重要课题。例如,对于雷达来说,人们感兴趣的是其能够跟踪目标。但目标的位置、速度、加速度的测量值往往在任何时候都有噪声。卡尔曼滤波利用目标的动态信息,设法去掉噪声的影响,得到一个关于目标位置的好的估计。这个估计可以是对当前目标位置的估计(滤波),也可以是对于将来位置的估计(预测),也可以是对过去位置的估计(插值或平滑)。命名编辑这种滤波方法以它的发明
2、者鲁道夫.E.卡尔曼(Rudolph E. Kalman)命名,但是根据文献可知实际上 Peter Swerling 在更早之前就提出了一种类似的算法。斯坦利。施密特(Stanley Schmidt)首次实现了卡尔曼滤波器。卡尔曼在 NASA 埃姆斯研究中心访问时,发现他的方法对于解决阿波罗计划的轨道预测很有用,后来阿波罗飞船的导航电脑便使用了这种滤波器。关于这种滤波器的论文由 Swerling(1958)、Kalman (1960)与 Kalman and Bucy(1961)发表。目前,卡尔曼滤波已经有很多不同的实现。卡尔曼最初提出的形式现在一般称为简单卡尔曼滤波器。除此以外,还有施密特扩
3、展滤波器、信息滤波器以及很多 Bierman, Thornton开发的平方根滤波器的变种。也许最常见的卡尔曼滤波器是锁相环,它在收音机、计算机和几乎任何视频或通讯设备中广泛存在。以下的讨论需要线性代数以及概率论的一般知识。卡尔曼滤波建立在线性代数和隐马尔可夫模型(hidden Markov model)上。其基本动态系统可以用一个马尔可夫链表示,该马尔可夫链建立在一个被高斯噪声(即正态分布的噪声)干扰的线性算子上的。系统的状态可以用一个元素为实数的向量表示。随着离散时间的每一个增加,这个线性算子就会作用在当前状态上,产生一个新的状态,并也会带入一些噪声,同时系统的一些已知的控制器的控制信息也会
4、被加入。同时,另一个受噪声干扰的线性算子产生出这些隐含状态的可见输出。卡尔曼滤波是一种递归的估计,即只要获知上一时刻状态的估计值以及当前状态的观测值就可以计算出当前状态的估计值,因此不需要记录观测或者估计的历史信息。卡尔曼滤波器与大多数滤波器不同之处,在于它是一种纯粹的时域滤波器,它不需要像低通滤波器等频域滤波器那样,需要在频域设计再转换到时域实现。卡尔曼滤波器的状态由以下两个变量表示:,在时刻 k 的状态的估计;,误差相关矩阵,度量估计值的精确程度。卡尔曼滤波器的操作包括两个阶段:预测与更新。在预测阶段,滤波器使用上一状态的估计,做出对当前状态的估计。在更新阶段,滤波器利用对当前状态的观测值
5、优化在预测阶段获得的预测值,以获得一个更精确的新估计值。预测(预测状态)(预测估计协方差矩阵)更新首先要算出以下三个量:(测量余量, measurement residual)(测量余量协方差)(最优卡尔曼增益)然后用它们来更新滤波器变量 x 与 P:(更新的状态估计)(更新的协方差估计)使用上述公式计算 仅在最优卡尔曼增益的时候有效。使用其他增益的话,公式要复杂一些不变量(Invariant )如果模型准确,而且 与 的值准确的反映了最初状态的分布,那么以下不变量就保持不变:所有估计的误差均值为零且协方差矩阵准确的反映了估计的协方差:请注意,其中 表示 的期望值, 。实例考虑在无摩擦的、无限
6、长的直轨道上的一辆车。该车最初停在位置 0 处,但时不时受到随机的冲击。我们每隔 t 秒即测量车的位置,但是这个测量是非精确的;我们想建立一个关于其位置以及速度的模型。我们来看如何推导出这个模型以及如何从这个模型得到卡尔曼滤波器。因为车上无动力,所以我们可以忽略掉 Bk 和 uk。由于 F、H 、R 和 Q 是常数,所以时间下标可以去掉。车的位置以及速度(或者更加一般的,一个粒子的运动状态)可以被线性状态空间描述如下:其中 是速度,也就是位置对于时间的导数。我们假设在(k 1)时刻与 k 时刻之间,车受到 ak 的加速度,其符合均值为 0,标准差为a 的正态分布。根据牛顿运动定律,我们可以推出
7、其中且我们可以发现(因为 a 是一个标量)。在每一时刻,我们对其位置进行测量,测量受到噪声干扰。我们假设噪声服从正态分布,均值为 0,标准差为 z。其中且如果我们知道足够精确的车最初的位置,那么我们可以初始化并且,我们告诉滤波器我们知道确切的初始位置,我们给出一个协方差矩阵:如果我们不确切的知道最初的位置与速度,那么协方差矩阵可以初始化为一个对角线元素是 B 的矩阵,B 取一个合适的比较大的数。此时,与使用模型中已有信息相比,滤波器更倾向于使用初次测量值的信息。推推导后验协方差矩阵按照上边的定义,我们从误差协方差 开始推导如下:代入再代入 与整理误差向量,得因为测量误差 vk 与其他项是非相关
8、的,因此有利用协方差矩阵的性质,此式可以写作使用不变量 Pk|k-1 以及 Rk 的定义这一项可以写作 :这一公式对于任何卡尔曼增益 Kk 都成立。如果 Kk 是最优卡尔曼增益,则可以进一步简化,请见下文。最优卡尔曼增益的推导卡尔曼滤波器是一个最小均方误差估计器,后验状态误差估计(英文:a posteriori state estimate)是我们最小化这个矢量幅度平方的期望值, ,这等同于最小化后验估计协方差矩阵 Pk|k 的 迹(trace)。将上面方程中的项展开、抵消,得到:当矩阵导数是 0 的时候得到 Pk|k 的 迹(trace)的最小值:此处须用到一个常用的式子,如下:从这个方程解
9、出卡尔曼增益 Kk:这个增益称为 最优卡尔曼增益 ,在使用时得到最小均方误差。后验误差协方差公式的化简在卡尔曼增益等于上面导出的最优值时,计算后验协方差的公式可以进行简化。在卡尔曼增益公式两侧的右边都乘以 SkKkT 得到根据上面后验误差协方差展开公式,最后两项可以抵消,得到.这个公式的计算比较简单,所以实际中总是使用这个公式,但是需注意这公式仅在使用最优卡尔曼增益的时候它才成立。如果算术精度总是很低而导致数值稳定性出现问题,或者特意使用非最优卡尔曼增益,那么就不能使用这个简化;必须使用上面导出的后验误差协方差公式。自适应滤波器是能够根据输入信号自动调整性能进行数字信号处理的数字滤波器。作为对
10、比,非自适应滤波器有静态的滤波器系数,这些静态系数一起组成传递函数。对于一些应用来说,由于事先并不知道所需要进行操作的参数,例如一些噪声信号的特性,所以要求使用自适应的系数进行处理。在这种情况下,通常使用自适应滤波器,自适应滤波器使用反馈来调整滤波器系数以及频率响应。总的来说,自适应的过程涉及到将代价函数用于确定如何更改滤波器系数从而减小下一次迭代过程成本的算法。价值函数是滤波器最佳性能的判断准则,比如减小输入信号中的噪声成分的能力。随着数字信号处理器性能的增强,自适应滤波器的应用越来越常见,时至今日它们已经广泛地用于手机以及其它通信设备、数码录像机和数码照相机以及医疗监测设备中假设医院正在监
11、测一个患者的心脏跳动,即心电图,这个信号受到 50 Hz (许多国家供电所用频率)噪声的干扰剔除这个噪声的方法之一就是使用 50Hz 的陷波滤波器( en:notch filter)对信号进行滤波。但是,由于医院的电力供应会有少许波动,所以我们假设真正的电力供应可能会在 47Hz 到 53Hz 之间波动。为了剔除 47 到 53Hz 之间的频率的静态滤波器将会大幅度地降低心电图的质量,这是因为在这个阻带之内很有可能就有心脏跳动的频率分量。为了避免这种可能的信息丢失,可以使用自适应滤波器。自适应滤波器将患者的信号与电力供应信号直接作为输入信号,动态地跟踪噪声波动的频率。这样的自适应滤波器通常阻带
12、宽度更小,这就意味着这种情况下用于医疗诊断的输出信号就更加准确。扩展卡尔曼滤波器在扩展卡尔曼滤波器(Extended Kalman Filter,简称 EKF)中状态转换和观测模型不需要是状态的线性函数,可替换为(可微的)函数。函数 f 可以用来从过去的估计值中计算预测的状态,相似的,函数 h 可以用来以预测的状态计算预测的测量值。然而 f 和 h 不能直接的应用在协方差中,取而代之的是计算偏导矩阵(Jacobian) 。在每一步中使用当前的估计状态计算 Jacobian 矩阵,这几个矩阵可以用在卡尔曼滤波器的方程中。这个过程,实质上将非线性的函数在当前估计值处线性化了。这样一来,卡尔曼滤波器
13、的等式为:预测使用 Jacobians 矩阵更新模型更新预测如同扩展卡尔曼滤波器(EKF)一样, UKF 的预测过程可以独立于 UKF 的更新过程之外,与一个线性的(或者确实是扩展卡尔曼滤波器的)更新过程合并来使用;或者,UKF 的预测过程与更新过程在上述中地位互换亦可。外文文献翻译原文 1Kalman filtering, also known as linear quadratic estimation (LQE), is an algorithm that uses a series of measurements observed over time, containing noise
14、 (random variations) and other inaccuracies, and produces estimates of unknown variables that tend to be more precise than those based on a single measurement alone. More formally, the Kalman filter operates recursively on streams of noisy input data to produce a statistically optimal estimate of th
15、e underlying system state. The filter is named after Rudolf (Rudy) E. Klmn, one of the primary developers of its theory.The Kalman filter has numerous applications in technology. A common application is for guidance, navigation and control of vehicles, particularly aircraft and spacecraft. Furthermo
16、re, the Kalman filter is a widely applied concept in time series analysis used in fields such as signal processing and econometrics. Kalman filters also are one of the main topics in the field of Robotic motion planning and control, and sometimes included in Trajectory optimization.The algorithm wor
17、ks in a two-step process. In the prediction step, the Kalman filter produces estimates of the current state variables, along with their uncertainties. Once the outcome of the next measurement (necessarily corrupted with some amount of error, including random noise) is observed, these estimates are u
18、pdated using a weighted average, with more weight being given to estimates with higher certainty. Because of the algorithms recursive nature, it can run in real time using only the present input measurements and the previously calculated state and its uncertainty matrix; no additional past informati
19、on is required.It is a common misconception that the Kalman filter assumes that all error terms and measurements are Gaussian distributed. Kalmans original paper derived the filter using orthogonal projection theory to show that the covariance is minimized, and this result does not require any assum
20、ption, e.g., that the errors are Gaussian.1 He then showed that the filter yields the exact conditional probability estimate in the special case that all errors are Gaussian-distributed.Extensions and generalizations to the method have also been developed, such as the extended Kalman filter and the
21、unscented Kalman filter which work on nonlinear systems. The underlying model is a Bayesian model similar to a hidden Markov model but where the state space of the latent variables is continuous and where all latent and observed variables have Gaussian distributions.The Kalman filters are based on l
22、inear dynamic systems discretized in the time domain. They are modelled on a Markov chain built on linear operators perturbed by errors that may include Gaussian noise. The state of the system is represented as a vector of real numbers. At each discrete time increment, a linear operator is applied t
23、o the state to generate the new state, with some noise mixed in, and optionally some information from the controls on the system if they are known. Then, another linear operator mixed with more noise generates the observed outputs from the true (“hidden“) state. The Kalman filter may be regarded as
24、analogous to the hidden Markov model, with the key difference that the hidden state variables take values in a continuous space (as opposed to a discrete state space as in the hidden Markov model).The Kalman filter is a recursive estimator. This means that only the estimated state from the previous
25、time step and the current measurement are needed to compute the estimate for the current state. In contrast to batch estimation techniques, no history of observations and/or estimates is required. In what follows, the notation represents the estimate of at time n given observations up to, and includ
26、ing at time m n.The state of the filter is represented by two variables: , the a posteriori state estimate at time k given observations up to and including at time k; , the a posteriori error covariance matrix (a measure of the estimated accuracy of the state estimate).The Kalman filter can be writt
27、en as a single equation, however it is most often conceptualized as two distinct phases: “Predict“ and “Update“. The predict phase uses the state estimate from the previous timestep to produce an estimate of the state at the current timestep. This predicted state estimate is also known as the a prio
28、ri state estimate because, although it is an estimate of the state at the current timestep, it does not include observation information from the current timestep. In the update phase, the current a priori prediction is combined with current observation information to refine the state estimate. This
29、improved estimate is termed the a posteriori state estimate.Typically, the two phases alternate, with the prediction advancing the state until the next scheduled observation, and the update incorporating the observation. However, this is not necessary; if an observation is unavailable for some reaso
30、n, the update may be skipped and multiple prediction steps performed. Likewise, if multiple independent observations are available at the same time, multiple update steps may be performed (typically with different observation matrices Hk).1415PredictPredicted (a priori) state estimatePredicted (a pr
31、iori) estimate covarianceUpdateInnovation or measurement residualInnovation (or residual) covarianceOptimal Kalman gainUpdated (a posteriori) state estimateUpdated (a posteriori) estimate covarianceThe formula for the updated estimate and covariance above is only valid for the optimal Kalman gain. U
32、sage of other gain values require a more complex formula found in the derivations section.InvariantsIf the model is accurate, and the values for and accurately reflect the distribution of the initial state values, then the following invariants are preserved: (all estimates have a mean error of zero)
33、where is the expected value of , and covariance matrices accurately reflect the covariance of estimatesExample application, technicaleditConsider a truck on frictionless, straight rails. Initially the truck is stationary at position 0, but it is buffeted this way and that by random uncontrolled forc
34、es. We measure the position of the truck every t seconds, but these measurements are imprecise; we want to maintain a model of where the truck is and what its velocity is. We show here how we derive the model from which we create our Kalman filter.Since are constant, their time indices are dropped.T
35、he position and velocity of the truck are described by the linear state spacewhere is the velocity, that is, the derivative of position with respect to time.We assume that between the (k 1) and k timestep uncontrolled forces cause a constant acceleration of ak that is normally distributed, with mean
36、 0 and standard deviationa. From Newtons laws of motion we conclude that(note that there is no term since we have no known control inputs. Instead, we assume that ak is the effect of an unknown input and applies that effect to the state vector) whereandso thatwhere andAt each time step, a noisy meas
37、urement of the true position of the truck is made. Let us suppose the measurement noise vk is also normally distributed, with mean 0 and standard deviation z.whereandWe know the initial starting state of the truck with perfect precision, so we initializeand to tell the filter that we know the exact
38、position and velocity, we give it a zero covariance matrix:If the initial position and velocity are not known perfectly the covariance matrix should be initialized with a suitably large number, say L, on its diagonal.The filter will then prefer the information from the first measurements over the in
39、formation already in the model.Deriving the a posteriori estimate covariance matrixStarting with our invariant on the error covariance Pk | k as abovesubstitute in the definition of and substitute and and by collecting the error vectors we getSince the measurement error vk is uncorrelated with the o
40、ther terms, this becomesby the properties of vector covariance this becomeswhich, using our invariant on Pk | k1 and the definition of Rk becomesThis formula (sometimes known as the “Joseph form“ of the covariance update equation) is valid for any value of Kk. It turns out that if Kk is the optimal
41、Kalman gain, this can be simplified further as shown below.Kalman gain derivationThe Kalman filter is a minimum mean-square error estimator. The error in the a posteriori state estimation isWe seek to minimize the expected value of the square of the magnitude of this vector, . This is equivalent to
42、minimizing the trace of the a posterioriestimate covariance matrix . By expanding out the terms in the equation above and collecting, we get:The trace is minimized when its matrix derivative with respect to the gain matrix is zero. Using the gradient matrix rules and the symmetry of the matrices inv
43、olved we find thatSolving this for Kk yields the Kalman gain:This gain, which is known as the optimal Kalman gain, is the one that yields MMSE estimates when used.Simplification of the a posteriori error covariance formulaThe formula used to calculate the a posteriori error covariance can be simplif
44、ied when the Kalman gain equals the optimal value derived above. Multiplying both sides of our Kalman gain formula on the right by SkKkT, it follows thatReferring back to our expanded formula for the a posteriori error covariance,we find the last two terms cancel out, givingThis formula is computati
45、onally cheaper and thus nearly always used in practice, but is only correct for the optimal gain. If arithmetic precision is unusually low causing problems with numerical stability, or if a non-optimal Kalman gain is deliberately used, this simplification cannot be applied; the a posteriori error co
46、variance formula as derived above must be used.An adaptive filter is a system with a linear filter that has a transfer function controlled by variable parameters and a means to adjust those parameters according to an optimization algorithm. Because of the complexity of the optimization algorithms, m
47、ost adaptive filters are digital filters. Adaptive filters are required for some applications because some parameters of the desired processing operation (for instance, the locations of reflective surfaces in areverberant space) are not known in advance or are changing. The closed loop adaptive filt
48、er uses feedback in the form of an error signal to refine its transfer function.Generally speaking, the closed loop adaptive process involves the use of a cost function, which is a criterion for optimum performance of the filter, to feed an algorithm, which determines how to modify filter transfer f
49、unction to minimize the cost on the next iteration. The most common cost function is the mean square of the error signal.As the power of digital signal processors has increased, adaptive filters have become much more common and are now routinely used in devices such as mobile phones and other communication devices, camcorders and digital cameras, and medical monitoring equipment.Assuming the hospital is monitoring a patients heart beating, namely, ECG, the signal is 50 Hz (frequency is used by many countries supply) noiseNotch filter method to elimina