Report 3. Kalman or Wiener Filters

Similar documents
Chapter 4 SPEECH ENHANCEMENT

EE 6422 Adaptive Signal Processing

Lecture 4 Biosignal Processing. Digital Signal Processing and Analysis in Biomedical Systems

(i) Understanding the basic concepts of signal modeling, correlation, maximum likelihood estimation, least squares and iterative numerical methods

CG401 Advanced Signal Processing. Dr Stuart Lawson Room A330 Tel: January 2003

A Java Tool for Exploring State Estimation using the Kalman Filter

Digital Signal Processing

Kalman Filters. Jonas Haeling and Matthis Hauschild

Multimedia Signal Processing: Theory and Applications in Speech, Music and Communications

Performance Analysis of Acoustic Echo Cancellation in Sound Processing

Project due. Final exam: two hours, close book/notes. Office hours. Mainly cover Part-2 and Part-3 May involve basic multirate concepts from Part-1

Speech Enhancement in Presence of Noise using Spectral Subtraction and Wiener Filter

State-Space Models with Kalman Filtering for Freeway Traffic Forecasting

Suggested Solutions to Examination SSY130 Applied Signal Processing

Level I Signal Modeling and Adaptive Spectral Analysis

System analysis and signal processing

Synthesis of speech with a DSP

Advanced Signal Processing and Digital Noise Reduction

COS Lecture 7 Autonomous Robot Navigation

Adaptive Filters Application of Linear Prediction

Harmonic Analysis. Purpose of Time Series Analysis. What Does Each Harmonic Mean? Part 3: Time Series I

Temporal Clutter Filtering via Adaptive Techniques

Performance Comparison of ZF, LMS and RLS Algorithms for Linear Adaptive Equalizer

High-speed Noise Cancellation with Microphone Array

REAL TIME DIGITAL SIGNAL PROCESSING

Study of Different Adaptive Filter Algorithms for Noise Cancellation in Real-Time Environment

SHOCK AND VIBRATION RESPONSE SPECTRA COURSE Unit 4. Random Vibration Characteristics. By Tom Irvine

Noureddine Mansour Department of Chemical Engineering, College of Engineering, University of Bahrain, POBox 32038, Bahrain

Design of FIR Filter for Efficient Utilization of Speech Signal Akanksha. Raj 1 Arshiyanaz. Khateeb 2 Fakrunnisa.Balaganur 3

Today s menu. Last lecture. Series mode interference. Noise and interferences R/2 V SM Z L. E Th R/2. Voltage transmission system

Digital Filters IIR (& Their Corresponding Analog Filters) Week Date Lecture Title

(i) Understanding of the characteristics of linear-phase finite impulse response (FIR) filters

Corso di DATI e SEGNALI BIOMEDICI 1. Carmelina Ruggiero Laboratorio MedInfo

DFT: Discrete Fourier Transform & Linear Signal Processing

IMPLEMENTATION CONSIDERATIONS FOR FPGA-BASED ADAPTIVE TRANSVERSAL FILTER DESIGNS

Signal Processing for Speech Applications - Part 2-1. Signal Processing For Speech Applications - Part 2

Digital Video and Audio Processing. Winter term 2002/ 2003 Computer-based exercises

Adaptive Kalman Filter based Channel Equalizer

The Metrication Waveforms

On Kalman Filtering. The 1960s: A Decade to Remember

B.Tech III Year II Semester (R13) Regular & Supplementary Examinations May/June 2017 DIGITAL SIGNAL PROCESSING (Common to ECE and EIE)

(i) Understanding of the characteristics of linear-phase finite impulse response (FIR) filters

Performance Analysis of gradient decent adaptive filters for noise cancellation in Signal Processing

COMPARISON OF CHANNEL ESTIMATION AND EQUALIZATION TECHNIQUES FOR OFDM SYSTEMS

Adaptive Filters Wiener Filter

System Identification and CDMA Communication

Development of Real-Time Adaptive Noise Canceller and Echo Canceller

Image Denoising Using Statistical and Non Statistical Method

Digital Signal Processing. VO Embedded Systems Engineering Armin Wasicek WS 2009/10

Why is scramble needed for DFE. Gordon Wu

EE 791 EEG-5 Measures of EEG Dynamic Properties

Signal Processing Toolbox

Chapter 2: Signal Representation

Shweta Kumari, 2 Priyanka Jaiswal, 3 Dr. Manish Jain 1,2

EE 470 Signals and Systems

Digital Signal Processing

Speech Synthesis using Mel-Cepstral Coefficient Feature

Adaptive Systems Homework Assignment 3

ENGINEERING FOR RURAL DEVELOPMENT Jelgava, EDUCATION METHODS OF ANALOGUE TO DIGITAL CONVERTERS TESTING AT FE CULS

Optimal Adaptive Filtering Technique for Tamil Speech Enhancement

Objectives. Presentation Outline. Digital Modulation Lecture 03

Speech Enhancement using Wiener filtering

Digital Filters FIR and IIR Systems

Speech Enhancement: Reduction of Additive Noise in the Digital Processing of Speech

Mel Spectrum Analysis of Speech Recognition using Single Microphone

MATLAB SIMULATOR FOR ADAPTIVE FILTERS

Image Denoising Using Different Filters (A Comparison of Filters)

II Year (04 Semester) EE6403 Discrete Time Systems and Signal Processing

Statistics, Probability and Noise

Basic Signals and Systems

MITIGATING INTERFERENCE TO GPS OPERATION USING VARIABLE FORGETTING FACTOR BASED RECURSIVE LEAST SQUARES ESTIMATION

ECE438 - Laboratory 7a: Digital Filter Design (Week 1) By Prof. Charles Bouman and Prof. Mireille Boutin Fall 2015

DIGITAL FILTERS. !! Finite Impulse Response (FIR) !! Infinite Impulse Response (IIR) !! Background. !! Matlab functions AGC DSP AGC DSP

DIGITAL IMAGE PROCESSING UNIT III

FOURIER analysis is a well-known method for nonparametric

Digital Signal Processing

Thank you! Estimation + Information Theory. ELEC 3004: Systems 1 June

Signal Processing. Naureen Ghani. December 9, 2017

Improved Detection by Peak Shape Recognition Using Artificial Neural Networks

Analysis on Extraction of Modulated Signal Using Adaptive Filtering Algorithms against Ambient Noises in Underwater Communication

GUI Based Performance Analysis of Speech Enhancement Techniques

CHAPTER 2 FIR ARCHITECTURE FOR THE FILTER BANK OF SPEECH PROCESSOR

Department of Electrical and Electronics Engineering Institute of Technology, Korba Chhattisgarh, India

Lecture Schedule: Week Date Lecture Title

4 STUDY OF DEBLURRING TECHNIQUES FOR RESTORED MOTION BLURRED IMAGES

DIGITAL SIGNAL PROCESSING WITH VHDL

A Novel Approach for MRI Image De-noising and Resolution Enhancement

Kalman Tracking and Bayesian Detection for Radar RFI Blanking

Part A: Question & Answers UNIT I AMPLITUDE MODULATION

ADAPTIVE NOISE LEVEL ESTIMATION

On the Estimation of Interleaved Pulse Train Phases

Mikko Myllymäki and Tuomas Virtanen

FIR FILTER DESIGN USING A NEW WINDOW FUNCTION

Introduction to Kálmán Filtering

Discrete-Time Signal Processing (DSP)

Study on Multi-tone Signals for Design and Testing of Linear Circuits and Systems

Noise estimation and power spectrum analysis using different window techniques

Digital Signal Processing of Speech for the Hearing Impaired

Kalman filtering approach in the calibration of radar rainfall data

Modified Least Mean Square Adaptive Noise Reduction algorithm for Tamil Speech Signal under Noisy Environments

Transcription:

1 Embedded Systems WS 2014/15 Report 3: Kalman or Wiener Filters Stefan Feilmeier Facultatea de Inginerie Hermann Oberth Master-Program Embedded Systems Advanced Digital Signal Processing Methods Winter Semester 2014/2015 Report 3 Kalman or Wiener Filters Professor: Prof. dr. ing. Mihu Ioan Masterand: Stefan Feilmeier 15.01.2015

2 Embedded Systems WS 2014/15 Report 3: Kalman or Wiener Filters Stefan Feilmeier TABLE OF CONTENTS 1 Overview 3 1.1 Spectral Filters 3 1.2 Adaptive Filters 4 2 Wiener-Filter 6 2.1 History 6 2.2 Definition 6 2.3 Example 7 3 Kalman-Filter 9 3.1 History 9 3.2 Definition 9 3.3 Example 10 4 Conclusions 11 Table of Figures 12 Table of Equations 12 List of References 13

3 Embedded Systems WS 2014/15 Report 3: Kalman or Wiener Filters Stefan Feilmeier 1 OVERVIEW Everywhere in the real world we are surrounded by signals like temperature, sound, voltage and so on. To extract useful information, to further process or analyse them, it is necessary to use filters. 1.1 SPECTRAL FILTERS The term filter traditionally refers to spectral filters with constant coefficients like Finite Impulse Response (FIR) or Infinite Impulse Response (IIR). To apply such filters, a constant, periodic signal is converted from time domain to frequency domain, in order to analyse its spectral attributes and filter it as required, typically using fixed Low-Pass, Band-Pass or High-Pass filters. Fig. 1 shows this process on the example of two signals with the original signals in blue colour and the signals after filtering in green colour. The blue graph in the top left shows a simple signal consisting of three sine waves with frequencies of 1.000, 2.000 and 3.000 Hz. Using Fourier Theorem, this signal is converted from time to frequency domain, as shown in blue in the graph in the top right. The target is to remove the signals at 2.000 and 3.000 Hz from the signal, so a Low-Pass filter like then one shown in Fig. 2 is applied, with the results being shown in green. The resulting signal after applying the filter is shown in green in the top left graph. The same experiment is then repeated for an audio signal in the second row. Fig. 1 Example signals before (blue) and after (green) applying a Low-Pass FIR-Filter

4 Embedded Systems WS 2014/15 Report 3: Kalman or Wiener Filters Stefan Feilmeier Fig. 2 Frequency characteristics of a Low-Pass Filter This approach works well, if the limits of the noise spectrum is outside the signals spectrum. The problem arises, when the noise spectrum overlaps the signals spectrum, as it becomes impossible to remove the noise using spectral analyzing. In that case a new approach is needed: adaptive filters. 1.2 ADAPTIVE FILTERS In real applications we are very often in the situation, that signal and noise spectra are overlapping as can be seen in Fig. 3. Fig. 3 Signal and Noise overlapping in frequency domain For example whenever recording sound with a microphone, not only the purposed signal is recorded, but also certain unwanted sounds, like background sounds. A certain unwanted sound, that is practically always appearing, and where adaptive filters are needed, is white noise. Fig. 4 shows how such a noise is added to the original signal when measuring. Fig. 4 Original Signal + White Noise -> Measured SignalA

5 Embedded Systems WS 2014/15 Report 3: Kalman or Wiener Filters Stefan Feilmeier White noise is defined as a random, non-deterministic signal with a constant mean (u) and variance (σ 2 ) for a large number of x. It is fully described by the Probability Density Function (PDF): f(x) = 1 e(x u)2 2σ 2 σ 2π Eq. 1 Probability Density Function (PDF) This means, that the noise signal is distributed according to a Gaussian bell distribution (Fig. 5). Fig. 5 Gaussian distribution The statistical values of mean and variance can be extracted from a signal using the following formulas: N u = 1 N x [k] k=1 Eq. 2 Extracting mean value N σ 2 = 1 N (x [k] 2 u 2 ) k=1 Eq. 3 Extracting variance For problems like this, where the spectrum of signal and noise are overlapping and as such spectral filters are not working, adaptive filters try to exploit those statistical values to remove the noise in time domain. The algorithm is linear, similar to FIR filters, and tries to minimize the difference between a corrupted signal ( measured signal ) and a desired signal using the Least Mean Squared (LMS) or Recursive Least Squared (RLS) error.

6 Embedded Systems WS 2014/15 Report 3: Kalman or Wiener Filters Stefan Feilmeier 2 WIENER-FILTER In signal processing, the Wiener filter is a filter used to produce an estimate of a desired or target random process by linear time-invariant filtering of an observed noisy process, assuming known stationary signal and noise spectra, and additive noise. The Wiener filter minimizes the mean square error between the estimated random process and the desired process. [1] 2.1 HISTORY In the 1940s the American mathematician Norbert Wiener constructed the theory of filtering stationary time series. The paper [2] was published in 1949. The theory of Wiener filters is based on causal filters that operate only on past and present time series and try to predict an unavailable future. It was developed during the Second World War in the need for determining where to aim anti-aircraft guns at dodging planes. An analogue computer in the gunsight tracked the moving airplane, thus generating a time history of its movements and some autocovariances. It then forecasted the optimal aiming point for the gun, in order to hit the position of the other airplane with the smallest deviation. [3] In 1941 a similar algorithm was published by the soviet mathematician Andrey Kolmogorov. Hence the theory is often called Wiener Kolmogorov filter. 2.2 DEFINITION The system of Wiener filters is visualized in Fig. 6. The idea is to apply a linear filter with coefficients w k on the measured signal, which is an aggregation of the desired signal (d [n] ) and noise (v [n] ). The result (y [n] ) is used to calculate the error (ε) in reference to the desired signal (d [n] ). The adaptive algorithm then tries to adjust the coefficients (w k ) to minimize this error (ε = y [n] d [n] 0). As Wiener filters expect the statistical values (mean and variance) of the error to be constant, searching for the optimal coefficients is done only once. The actual application of the filter in a real system uses those constant coefficients.

7 Embedded Systems WS 2014/15 Report 3: Kalman or Wiener Filters Stefan Feilmeier d [n] + ε d [n] + FIR (linear algorithm) Coeff.: w k y [n] v [n] Cost function Fig. 6 Schema for Wiener filter The equation to apply the filter to calculate y [n] is as follows: N 1 y [n] = w k (d [n k] + v [n k] ) k=0 Eq. 4 Applying the filter The core function of Wiener filters is the Wiener-Hopf-Equation, which is used to calculate the optimal coefficients (W opt ): R W opt = P Eq. 5 Wiener-Hopf-Equation In this equation, R is the autocorrelation matrix of the input, P is an intercorrelation matrix between input and desired signal and W opt are the optimal filter coefficients that produce ε 0. 2.3 EXAMPLE Considering again the following definitions: [4] Measured signal: X; x [n] Desired signal: D; d [n] Noise: v [n] Coefficients: W; w k Error: ε From ε 0 we expect the product of the minimum error with the measured signal to be 0. Also the difference between desired signal and the product between the optimal coefficients and the measured signal is 0:

8 Embedded Systems WS 2014/15 Report 3: Kalman or Wiener Filters Stefan Feilmeier From this we can derive and define as follows: E[ε min X [n] ] = E[ D W opt X ] = 0 Eq. 6 Expectation 1 E[X X T ]W opt = E[X D] L 1 R x = E[X X T ] = E[x [n k] x [n i] ] ; for k = 0,1,2, i=0 r Xd = E[X d] Eq. 7 Expectation 2 The autocorrelation function R x of the filter input for a log of i k can be expressed as: r(i k) = E[x [n k] x [n i] ] Eq. 8 Expectation 3 In the same way, the intercorrelation between filter input x [n k] and the desired signal D for a lag of k, can be expressed as: p( k) = E[x [n k] d [n] ] Eq. 9 Expectation 4 Combining these expectations according to Wiener-Hopf-Equation (Eq. 5), we receive a system of equations as the condition for the optimality of the filter: L w opt r [i k] = p [ k] ; for k = 0,1,2, i=0 Eq. 10 System of equations To match the definition of Wiener-Hopf-Equation in (Eq. 5), we reform the expectations into a matrices: r [0] r [1] r [L 1] r [1] r [0] r [L 2] R = [ r [L 1] r [L 2] r [0] ] p [0] p [ 1] P = [ ] p [1 L] Eq. 11 Building matrices for Wiener-Hopf-Equation Assuming that R is a regular matrix with a possible inverse matrix, we just need to solve this equation, to receive the optimal filter coefficients: W opt = R 1 P Eq. 12 Wiener-Hopf-Equation for W opt

9 Embedded Systems WS 2014/15 Report 3: Kalman or Wiener Filters Stefan Feilmeier 3 KALMAN-FILTER Kalman filtering, also known as linear quadratic estimation (LQE), is an algorithm that uses a series of measurements observed over time, containing noise (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 the underlying system state. The filter is named after Rudolf (Rudy) E. Kálmán, one of the primary developers of its theory. [5] 3.1 HISTORY In 1960 the Hungarian born American mathematician Rudolf (Rudy) Emil Kálmán extended Wiener filters to non-stationary, dynamic processes in his paper A New Approach to Linear Filtering and Prediction Problems. [6] The need for this improvement was again arising from a military problem. The stationary forecasting of Wiener filters was not fitting to the problem of prediction of the trajectories of ballistic missiles, because they showed very different characters during launch and re-entry phase. The first widely recognized use of Kalman filters was during the Apollo 11 program, when landing on Moon in 1969. Nowadays they are widely used in the Inertial navigation system that is used for shortterm navigation in airplanes, but also in tracking methods, for autonomic vehicles to reduce noise of radar devices, and many more. 3.2 DEFINITION In difference to traditional filters like FIR and IIR, the Kalman filter has a more complex structure. It internally makes use of the state-space model, which allows it to handle dynamic models with varying parameters. The filter is implemented as a recursive method, as it reuses previous outputs as inputs. This makes it very efficient and convenient to implement as a computer algorithm. The following parameters are used: Measured signal: x k Desired signal: d k Kalman Gain: K k Estimated desired signal: d k Control signal: u k Process noise: w k Measurement Noise: v k State-Transition model: A k Control-input model: B k Observation model: H k (Matrices A k, B k and H k can be expected to be numerical constants in most cases, most probably even equal to 1) Covariance of process noise: Q k

10 Embedded Systems WS 2014/15 Report 3: Kalman or Wiener Filters Stefan Feilmeier Covariance of observation noise: R k Error covariance: P k The process is generally split in two parts: Time Update (prediction), which projects the state and the error covariance, and Measurement Update (correction), which calculates the Kalman Gain to correct those projections. [7] To start the process, estimates for d 0 and P 0 need to be provided to the algorithm. Time Update (Prediction) 1. Project (predict) the next state: 2. Project the error covariance ahead: Measurement Update (Correction) 3. Compute the Kalman Gain: d k = A d k 1 + B u k Eq. 13 Step 1: Project state P k = A P k 1 A T + Q Eq. 14 Step 2: Project error covariance K k = P k H T (H P k H T + R) 1 Eq. 15 Step 3: Compute the Kalman Gain 4. Update the projected state via x k 5. Update the projected error covariance d k = d k + K k (x k H d k) Eq. 16 Step 4: Update projected state P k = (I K k H) P k Eq. 17 Step 5: Update projected error covariance 6. Reiterate the process, using outputs k as input for k + 1. d k is holding the predicted value, the desired result of the Kalman filter. 3.3 EXAMPLE The tool Kalman_Const_Single (Fig. 7) by Professor Mihu, shows how Kalman filter is iteratively adjusting to Gaussian process and signal noises. After a few iterations of its algorithm, it is very converging to the constant signal, filtering the measure noise, as is reflected by the statistical values of a stable mean (Mu) and a low variance (Sigma).

11 Embedded Systems WS 2014/15 Report 3: Kalman or Wiener Filters Stefan Feilmeier Fig. 7 The tool Kalman_Const_Single 4 CONCLUSIONS While it is evident, that both Wiener and Kalman filters are working properly, if fed with the current parameters, there are some improvements in Kalman filters, which make it most likely the perfect choice for most applications. One obvious implementation problem with Wiener filters is, that the noise signal needs to be known before the actual process, to be able to calculate the optimal coefficients. In many cases this will result in a less optimal filter in the process, as the noise might differ significantly from what was expected. Also and this was also the reason for Rudolf Kalman to develop his filter in the first place the fact, that real world signals and noises are usually not constant, demands for a self-adjusting filter instead of a static one. Furthermore, the iterative structure of Kalman filter makes it easy and highly efficient to be implemented as a computer algorithm or even executed in a hardware DSP (Digital Signal Processor). Nevertheless, both filter methods are still a topic in recent scientific papers and continue to be improved and fitted to new use-cases.

12 Embedded Systems WS 2014/15 Report 3: Kalman or Wiener Filters Stefan Feilmeier TABLE OF FIGURES Fig. 1 Example signals before (blue) and after (green) applying a Low-Pass FIR-Filter 3 Fig. 2 Frequency characteristics of a Low-Pass Filter 4 Fig. 3 Signal and Noise overlapping in frequency domain 4 Fig. 4 Original Signal + White Noise -> Measured SignalA 4 Fig. 5 Gaussian distribution 5 Fig. 6 Schema for Wiener filter 7 Fig. 7 The tool Kalman_Const_Single 11 TABLE OF EQUATIONS Eq. 1 Probability Density Function (PDF) 5 Eq. 2 Extracting mean value 5 Eq. 3 Extracting variance 5 Eq. 4 Applying the filter 7 Eq. 5 Wiener-Hopf-Equation 7 Eq. 6 Expectation 1 8 Eq. 7 Expectation 2 8 Eq. 8 Expectation 3 8 Eq. 9 Expectation 4 8 Eq. 10 System of equations 8 Eq. 11 Building matrices for Wiener-Hopf-Equation 8 Eq. 12 Wiener-Hopf-Equation for Wopt 8 Eq. 13 Step 1: Project state 10 Eq. 14 Step 2: Project error covariance 10 Eq. 15 Step 3: Compute the Kalman Gain 10 Eq. 16 Step 4: Update projected state 10 Eq. 17 Step 5: Update projected error covariance 10

13 Embedded Systems WS 2014/15 Report 3: Kalman or Wiener Filters Stefan Feilmeier LIST OF REFERENCES [1] Wikipedia contributors, Wiener filter, [Online]. Available: http://en.wikipedia.org/w/index.php?title=wiener_filter&oldid=639186215. [Accessed 14 January 2015]. [2] N. Wiener, Extrapolation, Interpolation, and Smoothing of Stationary Time Series, Wiley, New York, 1949. [3] Massachusetts Institute of Technology, Time Series Analysis: A Heuristic Primer; 2.6 Wiener and Kalman Filters, 14 01 2015. [Online]. Available: http://ocw.mit.edu/courses/earth-atmosphericand-planetary-sciences/12-864-inference-from-data-and-models-spring-2005/lecturenotes/tsamsfmt2_6.pdf. [Accessed 14 01 2015]. [4] D. Tsai, Introduction of Weiner Filters, Institute of Electronics Engineering, Taiwan University, Taipei, Taiwan. [5] Wikipedia contributors, Kalman filter, [Online]. Available: http://en.wikipedia.org/w/index.php?title=kalman_filter&oldid=642354148. [Accessed 14 January 2015]. [6] R. E. Kalman, A New Approach to Linear Filtering and Prediction Problems, Transactions of the ASME-Journal of Basic Engineering, Vol. 82, Series D, pp. 35-45, 1960. [7] B. Esme, Kalman Filter For Dummies - A Mathematically Challenged Man's Search for Scientific Wisdom, 03 2009. [Online]. Available: http://bilgin.esme.org/bitsbytes/kalmanfilterfordummies.aspx. [Zugriff am 15 01 2015].