Esempio n. 1
0
 public KalmanFilter(int Rows, int Columns, double[,] x, Covariance CM)
 {
     this.Sv                 = 1;
     this.RowsCount          = Rows;
     this.ColumnsCount       = Columns;
     this.a_tt               = new double[RowsCount, ColumnsCount];
     this.A_tt               = new double[RowsCount, ColumnsCount];
     this.OutputSignal       = new double[RowsCount, ColumnsCount];
     this.Y2                 = new double[RowsCount, ColumnsCount];
     this.E                  = new double[RowsCount, ColumnsCount];
     this.InputSignal        = x;
     CovMatr                 = CM;
     Noize                   = new NormalDistributionSignal(0, Math.Sqrt(Math.PI * 2 * Sv / CovMatr.tau));
     Noize.SignalArrayLength = ColumnsCount;
     Noize.GenerateSignal();
 }
Esempio n. 2
0
 public FormingFilter(int Rows, int Columns, double tau, double ksi, double sigma, double teta, double fi)
 {
     this.tau          = tau;
     this.Sv           = 1;
     this.ColumnsCount = Columns;
     this.RowsCount    = Rows;
     this.OutputSignal = new double[RowsCount, ColumnsCount];
     this.H            = new double[RowsCount, ColumnsCount];
     this.teta         = teta;
     this.sigma        = sigma;
     this.ksi          = ksi;
     this.fi           = fi;
     InitialSignal     = new NormalDistributionSignal(0, Math.Sqrt(Math.PI * 2 * Sv / tau));
     InitialSignal.SignalArrayLength = ColumnsCount;
     InitialSignal.GenerateSignal();
     this.InputSignal = new double[1, ColumnsCount];
     for (int i = 0; i < InitialSignal.SignalArrayLength; i++)
     {
         this.InputSignal[0, i] = InitialSignal.SignalArray[i];
     }
 }