public DiscreteSignal Convert(DigitalizedSignal signal, double frequency) { List <double> timeValues = NewTimeValues(signal, frequency); List <Value> values = NewValues(signal.Values, timeValues, signal.frequency); return(DiscreteSignal.ForParameters(signal.Name, signal.OriginalType, frequency, values)); }
private void Analogize(object sender, RoutedEventArgs e) { DigitalizedSignal digitalSignal = (DigitalizedSignal)Signal; Signal = SelectedConverter.Converter.Convert(digitalSignal, Frequency); StatsController.CalculateSignalConversionStats(OriginalSignal.Values, Signal.Values); ReplotChartAndHistogram(); }
public List <double> NewTimeValues(DigitalizedSignal signal, double frequency) { double step = 1 / frequency; double beginTime = signal.Values.First().X.Real; double endTime = signal.Values.Last().X.Real; var timeValues = new List <double>(); for (double x = beginTime; x <= endTime; x += step) { timeValues.Add(x); } return(timeValues); }
private void Digitalize(object sender, RoutedEventArgs e) { Signal = new DigitalizedSignal(Signal, QuantizationStep, SamplingFreq); ReplotChartAndHistogram(); }