1 / 8

Particle filter – IFC implementation:

X(k) = A * X(k-1) + V(k) Y(k) = B * X(k) + U(k). Where, A transition matrix B observation matrix. Accept file (one frame at a time). Initial processing**. Assign values to parameters**. Generate particles. observation. “states estimates”. Predict states. Update states.

Télécharger la présentation

Particle filter – IFC implementation:

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. X(k) = A * X(k-1) + V(k) Y(k) = B * X(k) + U(k) Where, A transition matrix B observation matrix Accept file (one frame at a time) Initial processing** Assign values to parameters** Generate particles observation “states estimates” Predict states Update states Importance weights Predict states More observations?? • Compute autocorrelations, LPCs, noise variances. • A and B • Based on std devn and initial obsns • Based on A, V(k) • Based on predicted states, B, current obsn, • Resampling of states • results • continue • Particle filter – IFC implementation:

  2. Results from Kalman and Particle filtering IFC Original signal Kalman-filtered particle-filtered

  3. Particle Filtering for filtering: • Kalman filtering implementation gives some reasonable results: • Order affects the results. • Tracking (/ filtering) of the speech is possible. • Particle filtering as used for filtering (similar to Kalman filter implementation) : • Computation results at each block are correct (mathematically). • Has different results (strange results) as compared to the one had with Kalman filter. • Reasons: (probable) • Lesser number of particles • Lesser order value • Noisy signal cannot be modeled by a single Gaussian distribution. • Modeling of speech signal in the way done is flawed. • Code has some serious problems [Huh?] Ruled out. (different number of particles tried) 50, 100, 700 Ruled out. (different orders tried) 5, 8, 10 Ruled out. But code has not yet been reviewed.

  4. weights update states Y(k)* = B * X(k) resampling Filtered Obsn data New Observation data • Particle filter – Detailed step by step analysis • Set-up • Speech signal is sampled at regular intervals – Observations • Idea – to filter the speech signal by particle filters • For every frame of signal, LP coefficients and noise covariance for calculated • After this is – particle filtering algorithm : Assume: order = 4, particles = 5 Five Gaussian particles samples process noise predicted state X(k) = A * X(k-1) + V(k) Observation data

  5. Particle Filter - Java Code • Comments on implementation of particle filter for Java demonstration: • The corresponding output is for both 10 particles and 50 particles. • No difference seen in the output. • Is the output so good because – • Values have smaller variation (values vary between -1.0 and 1.0) • Because we have a higher interpolation order. Or the way the interpolation works. • Task for the day will be: • Comparing the results from IFC and Java code. The input values should be after the interpolation, so that we have a correct comparison (mapping)

  6. Particle filter – Java demo • There is a problem here: • If we put the interpolation order to 1, the Java demo does not perform good. particles = 10, interpolation order 1 Am I concluding correct? / is my interpretation correct? particles = 50, interpolation order = 1.

  7. IFC implementation • The speech signal has drastic variations in the values like a sample sequence -1148, 500, -163 and so on. Because this does not satisfy the “stationarity” within the frame, the particles may not be able to track it faithfully. • Even if we normalize the speech signal, this will not satisfy our purpose. Only the nan values that appear in the importance weights step will appear as some finite values. By normalizing during the calculation (we are dividing the signal by some number), after the calculations are done, we need to NOW multiply by that some number. So, the difference between the filtered signal and the input signal gets amplified. • To check the IFC with Java applet, • Copy and paste the interpolated values used within the java applet and compare the results. • Keep the interpolation order to any value (minimum the better). Actually does not make any difference,as I am going to copy the interpolated data points into the IFC implementation.

  8. Some waveforms for intermediate results Particles = 1000. order = 8. Particles = 10. order = 8. More particles need not mean improved results… It depends on the way the resampling is implemented..

More Related