Пример #1
0
 internal AlgorithmParameters(SignalFixerAlgorithmTypes algorithmType, DigitzerParameters digitizerParams ,IExperimentData experimentData, FixBasedOnTypes signalToFix, FixScopeTypes fixType, int iterationToRun, double maxErrorToFixFrom, bool rescaleAfterSmoothing,
                                 int startFixIndex, int fixEveryNSample, int savitzkyGolayFilterOrder, int savitzkyGolayFilterLength, int constantPhaseAdjustmnet, bool useDerivativeFix, double epsilonFactor)
 {
     AlgorithmType = algorithmType;
     DigitzerParams = digitizerParams;
     SeedExperiment = experimentData;
     SignalToFix = signalToFix;
     FixType = fixType;
     IterationToRun = iterationToRun;
     MaxErrorToFixFrom = maxErrorToFixFrom;
     RescaleAfterSmoothing = rescaleAfterSmoothing;
     StartFixIndex = startFixIndex;
     FixEveryNSample = fixEveryNSample;
     ConstantPhaseAdjustment = constantPhaseAdjustmnet;
     UseDerivativeFix = useDerivativeFix;
     EpsilonFactor = epsilonFactor;
     SavitzkyGolayFilterOrder = savitzkyGolayFilterOrder;
     SavitzkyGolayFilterLength = savitzkyGolayFilterLength;
     //make sure filter length is larger than polynom order.
     if (SavitzkyGolayFilterLength < SavitzkyGolayFilterOrder)
     {
         SavitzkyGolayFilterLength = SavitzkyGolayFilterOrder + 3;
     }
     //make sure the filter length is odd.
     if (SavitzkyGolayFilterLength % 2 == 0)
     {
         SavitzkyGolayFilterLength += 1;
     }
 }
 public ManualFrequencyAlgorithparameters(SignalFixerAlgorithmTypes algorithmType, DigitzerParameters digitizerParams, IExperimentData experimentData, FixBasedOnTypes signalToFix, FixScopeTypes fixType, int iterationToRun, 
                                          int harmonyToFix, double fixStart, double fixDelta, ManualFrequencyModType frequencyModType, double maxErrorToFixFrom, bool rescaleAfterSmoothing, int fixFromSample, int fixEveryNSample, int savitzkyGolayPolyOrder, int savitzkyGolayFilterLength, int constantPhaseAdjustment, bool useDerivativeFix, double epsilonFactor)
     : base(algorithmType, digitizerParams, experimentData, signalToFix, fixType, iterationToRun, maxErrorToFixFrom, rescaleAfterSmoothing, fixFromSample, fixEveryNSample, savitzkyGolayPolyOrder, savitzkyGolayFilterLength, constantPhaseAdjustment, useDerivativeFix, epsilonFactor)
 {
     InitialInput = experimentData.SignalGeneratorData.ArbitrarySignalData.ToArray();
     HarmonyToFix = harmonyToFix;
     FrequencyModeType = frequencyModType;
     StartFix = fixStart;
     DeltaFix = fixDelta;
 }
 public HighFrequencyDistortionAlgorithmParameters(SignalFixerAlgorithmTypes algorithmType, DigitzerParameters digitizerParams, IExperimentData experimentData, FixBasedOnTypes signalToFix, FixScopeTypes fixType,
                             int iterationToRun, double maxErrorToFixFrom, bool rescaleAfterSmoothing, int fixFromSample, int fixEveryNSample, int savitzkyGolayPolyOrder, int savitzkyGolayFilterLength, int harmonyToFix, int fftScalingFactor, double midPoint, double range, FrequencyDomainDisttortionType distortionType, int pointsToCheck, int constantPhaseAdjustment, bool useDerivativeFix, double epsilonFactor)
     : base(algorithmType, digitizerParams, experimentData, signalToFix, fixType, iterationToRun, maxErrorToFixFrom, rescaleAfterSmoothing, fixFromSample, fixEveryNSample, savitzkyGolayPolyOrder, savitzkyGolayFilterLength, constantPhaseAdjustment, useDerivativeFix, epsilonFactor)
 {
     HarmonyToFix =  harmonyToFix;
     FFTScalingFactor = fftScalingFactor;
     MidPoint = midPoint;
     Range = range;
     DistortionType = distortionType;
     PointsToCheck = pointsToCheck;
     ValuesToCheck = new Complex[5];
     ValuesToCheck[0] = new Complex(MidPoint - Range, 0);
     ValuesToCheck[1] = new Complex(MidPoint - (Range)*2/3, 0);
     ValuesToCheck[2] = new Complex(MidPoint + (Range) * 2 / 3, 0);
     ValuesToCheck[3] = new Complex(MidPoint + Range, 0);
     /*ValuesToCheck = new Complex[13];
     double start = midPoint - range;
     double delta = range / 6;
     for (double i = 0; i < 13; i++)
     {
         ValuesToCheck[(int)i] = start + delta * i;
     }*/
 }
 public PIDAlgorithmParamters(SignalFixerAlgorithmTypes algorithmType, DigitzerParameters digitizerParams, IExperimentData experimentData, FixBasedOnTypes signalToFix, FixScopeTypes fixType, 
                             int iterationToRun, double pFactor, double iFactor, double dFactor, double maxErrorToFixFrom, bool rescaleAfterSmoothing, int fixFromSample, int fixEveryNSample, int savitzkyGolayPolyOrder, int savitzkyGolayFilterLength, int constantPhaseAdjustment, bool useDerivativeFix, double epsilonFactor)
     : base(algorithmType, digitizerParams, experimentData, signalToFix, fixType, iterationToRun, maxErrorToFixFrom, rescaleAfterSmoothing, fixFromSample, fixEveryNSample, savitzkyGolayPolyOrder, savitzkyGolayFilterLength, constantPhaseAdjustment, useDerivativeFix, epsilonFactor)
 {
     PFactor = pFactor; IFactor = iFactor; DFactor = dFactor;
 }