diff --git a/track_audio.m b/track_audio.m
index 993dc8ed029985d5e5c99fa34ba93df968f41698..99a546cc84c9e90d298ee4924249c56dab4e4d7e 100644
--- a/track_audio.m
+++ b/track_audio.m
@@ -2,31 +2,12 @@ clear;
 close all;
 clc;
 
-% To be modified
-
-
-% % % % % %% Request interaural time differences (ITDs)
-% % % % % requests = {'itd'};
-% % % % %
-% % % % % % Parameters of the auditory filterbank processor
-% % % % % fb_type       = 'gammatone';
-% % % % % fb_lowFreqHz  = 80;
-% % % % % fb_highFreqHz = 8000;
-% % % % % fb_nChannels  = 32;
-% % % % %
-% % % % % % Parameters of innerhaircell processor
-% % % % % ihc_method    = 'dau';
-% % % % %
-% % % % % % Parameters of crosscorrelation processor
-% % % % % cc_wSizeSec  = 0.02;
-% % % % % cc_hSizeSec  = 0.01;
-% % % % % cc_wname     = 'hann';
-% % % % %
-% % % % % % Summary of parameters
-% % % % % par = genParStruct('fb_type',fb_type,'fb_lowFreqHz',fb_lowFreqHz,...
-% % % % %     'fb_highFreqHz',fb_highFreqHz,'fb_nChannels',fb_nChannels,...
-% % % % %     'ihc_method',ihc_method,'cc_wSizeSec',cc_wSizeSec,...
-% % % % %     'cc_hSizeSec',cc_hSizeSec,'cc_wname',cc_wname);
+fs = 24414;
+chunks = 2048;
+dt = chunks/fs;
+
+[Bf, Af] = butter(3,8000/fs); % filter vectors
+
 
 %% Setup objects
 % Initialize localization models using braodband and subband settings
@@ -43,18 +24,15 @@ par_sub = genParStruct('cc_bBroadband',0,'cc_wSizeSec',winSec,...
 mObj  = manager(dObj,'localization',par_sub);
 
 %% Model parameters
-fs = 24414;
-chunks = 2048;
-dt = chunks/fs;
 sigma_w = 1;
 
-Q = [2/4*dt^4, 1/2*dt^3; 1/2*dt^3, dt^2]*sigma_w;                       % Process noise covariance
-R = 1;                                  % Measurement noise covariance
-x = [0; 0];                             % Initial state
-P = [10, 0; 0, 10];                       % Initial state covariance
+Q = [2/4*dt^4, 1/2*dt^3; 1/2*dt^3, dt^2]*sigma_w;   % Process noise covariance
+R = 1;                                              % Measurement noise covariance
+x = [0; 0];                                         % Initial state
+P = [10, 0; 0, 10];                                 % Initial state covariance
 
-A = [1, dt; 0, 1];     % System matrix (do not change)
-c = [1; 0];                             % Output vector (do not change)
+A = [1, dt; 0, 1];                                  % System matrix
+c = [1; 0];                                         % Output vector
 
 % Check definiteness of covariance matrices
 if ~all(eig(Q) > 0) || ~all(eig(R) > 0) || ~all(eig(A) > 0)
@@ -72,7 +50,7 @@ addpath('./ekfukf-toolbox');
 
 figure(1)
 
-N = 100;
+N = 100; % The number of steps to run this stuff.
 
 % Initialize posterior mean and covariance
 posteriorMean = zeros(size(A, 1), N);
@@ -82,20 +60,28 @@ posteriorCovariance = zeros(size(A, 1), size(A, 1), N);
 % =======================================================
 % Main loop - Perform localization and tracking
 % =======================================================
+tic();
+t_old = toc();
 for l = 1:N
     audio = get_audio();
-    
+    t_new = toc();
+    dti = t_new - t_old();
     % Request processing
     mObj.processSignal(audio);
     azimEst = dObj.localization{1}.Data(end,1); % There might be an issue with several sources here!
     % Perform Kalman filter prediction and update, TODO: consider changing this
     % crappy filter for a PF
-    [x, P] = kf_predict(x, P, A, Q);
+    
+    
+    Qi = [1/4*dti^4+1e-6, 1/2*dti^3; 1/2*dti^3, dti^2]*sigma_w;   % Process noise covariance
+    Ai = [1, dti; 0, 1];
+    [x, P] = kf_predict(x, P, Ai, Qi);
     [x, P] = kf_update(x, P, azimEst, c', R);
     
     posteriorMean(:, l) = x;
     posteriorCovariance(:, :, l) = P;
-    pause(0.5)
+    pause(max(,0))
+    t_old = t_new;
 end
 
 % Plot measurements