protected SignalFixer(IAlgorithmParameters algorithmParams, ISignalFixerIterationData[] iterationData) { AlgorithmParams = algorithmParams; IterationsToRun = algorithmParams.IterationToRun; IterationsData = iterationData; CurrentIterationIndex = -1; PeriodLength = AlgorithmParams.SeedExperiment.SignalGeneratorData.ArbitrarySignalData.Count(); ZeroPhaseOutputReference = FunctionGenerator.PositivieNormalizeCosine(PeriodLength); BestIterationIndex = 0; }
public FrequencyDomainSignalFixer(IFrequencyDomainAlgorithmParameters algorithmParams, ISignalFixerIterationData[] iterationData) : base(algorithmParams, iterationData) { AlgorithmParams = algorithmParams; RunTimeState = new FrequencyDomainAlgorithmRunTimeState(); }
public void FixSignal(IAlgorithmParameters algorithmParameters, out ISignalFixerIterationData[] fixData) { ERROR_CODES status = ERROR_CODES.AA_OK; IExperimentData expIteration = null; ExperimentInitialSettings expSettings = algorithmParameters.SeedExperiment.InitialSettings; ISignalFixer signalFixer = SignalFixer.Classes.SignalFixer.CreateSignalFixerObject(algorithmParameters); double[] fixedSignalGeneratorInput; bool fixDone = false; signalFixer.FixSignalIteration(algorithmParameters.SeedExperiment, out fixedSignalGeneratorInput, out fixDone ); int i = 1; for (i = 1; i < algorithmParameters.IterationToRun; i++) { try { try { status = this.AddNewExperiment(fixedSignalGeneratorInput, expSettings, out expIteration); if (status != ERROR_CODES.AA_OK) { status = status; } } catch (Exception ex) { string s = ex.Message; } signalFixer.FixSignalIteration(expIteration, out fixedSignalGeneratorInput, out fixDone); if (fixDone == true) { break; } } catch (Exception ex) { string s = ex.Message; } } fixData = signalFixer.IterationsData; if (i < algorithmParameters.IterationToRun) { Array.Resize(ref fixData, i+1); } }
public void SaveSignalGeneratorInput(ISignalFixerIterationData iterationData) { SaveFileDialog dlg = new SaveFileDialog(); dlg.Title = "Select signal generator file name"; dlg.Filter = "Text File|*.txt"; DialogResult dlgResult = dlg.ShowDialog(); if (dlgResult == DialogResult.OK) { System.IO.File.WriteAllLines(dlg.FileName, iterationData.FixedInput.Select(x => x.ToString()).ToArray()); } }
public FirstOrderSignalFixer(IAlgorithmParameters algorithmParams, ISignalFixerIterationData[] iterationData) : base(algorithmParams, iterationData) { }