public void FilterSinglePole_GetOutput_2() { Filter filter = new FilterSinglePole(3, 0.5); filter.AddInput(-155.0); filter.AddInput(-160.0); filter.AddInput(-175.0); filter.AddInput(172.0); double result = filter.GetOutput(); Assert.IsTrue(ExtraMath.EqualValue(result, 134.023)); }
public void FilterSinglePole_GetOutput_1() { Filter filter = new FilterSinglePole(3, 0.5); filter.AddInput(10.0); filter.AddInput(15.0); filter.AddInput(25.0); filter.AddInput(36.0); double result = filter.GetOutput(); Assert.IsTrue(ExtraMath.EqualValue(result, 29.609)); }
/// <summary> /// Устанавлиает фильтры /// </summary> private void setFilters(LaunchScript data) { switch (data.filterType) { case FilterType.MovingAverage: { filterX = new FilterMovingAverage(data.filterLength); filterY = new FilterMovingAverage(data.filterLength); filterZ = new FilterMovingAverage(data.filterLength); } break; case FilterType.SignlePole: { filterX = new FilterSinglePole(data.filterLength, data.filterParameter); filterY = new FilterSinglePole(data.filterLength, data.filterParameter); filterZ = new FilterSinglePole(data.filterLength, data.filterParameter); } break; case FilterType.Gaussian: { filterX = new FilterGaussian(data.filterLength, data.filterParameter); filterY = new FilterGaussian(data.filterLength, data.filterParameter); filterZ = new FilterGaussian(data.filterLength, data.filterParameter); } break; } }
/// <summary> /// Устанавилвает стратегии /// </summary> /// <param name="parameters"></param> private void setStrategies(StrategiesParameters parameters) { input = new List<double>(); output = new List<double>(); pure = new List<double>(); noise = new List<double>(); switch (parameters.Filter) { case FilterType.MovingAverage: filter = new FilterMovingAverage(parameters.FilterLength); break; case FilterType.SignlePole: filter = new FilterSinglePole(parameters.FilterLength, parameters.SinglePoleK); break; case FilterType.Gaussian: filter = new FilterGaussian(parameters.FilterLength, parameters.GaussianA); break; } switch (parameters.Noiser) { case NoiserType.Idle: noiser = new NoiserIdle(); break; case NoiserType.Uniform: noiser = new NoiserUniform(parameters.UniformMin, parameters.UniformMax); break; case NoiserType.Normal: noiser = new NoiserNormal(parameters.NormalMean, parameters.NormalDeviation); break; case NoiserType.Function: noiser = new NoiserFunction(ExtraMath.PieceWiseExample1); break; } if (parameters.Source == SourceType.Network) { udpThread = new UdpThread(); udpThread.Start(); IsEmulation = false; source = new SourceNetwork(parameters.Axis, parameters.IP); } else { IsEmulation = true; switch (parameters.Source) { case SourceType.Sin: source = new SourceEmulatorSin(emulatorSettings, noiser, parameters.SinAmplitude, parameters.SinAverage, parameters.SinPeriod); break; case SourceType.Linear: source = new SourceEmulatorLinear(emulatorSettings, noiser, parameters.LinearMin, parameters.LinearMax); break; case SourceType.Fourier: source = new SourceEmulatorFourier(emulatorSettings, noiser, parameters.HalfOffset, parameters.aList, parameters.bList); break; } } }