Example #1
0
        private void Simulation(object arg)
        {
            SentSignal.Clear();
            ReceivedSignal.Clear();
            var samplingPeriod = 1.0d / SentSignalData.SamplingFrequency.Value;

            for (var i = 0; i < SentSignalData.NumberOfSamples.Value; i++)
            {
                SentSignal.Add(new ObservableValue(Signal(i * samplingPeriod)));
                ReceivedSignal.Add(new ObservableValue(Signal(i * samplingPeriod)));
            }

            CorrelationData.AddRange(Correlation
                                     .Correlate(SentSignal.Select(p => new Point(0, p.Value)),
                                                ReceivedSignal.Select(p => new Point(0, p.Value))).Select(p => new ObservableValue(p.Y)));

            simulationThread = new Thread(RunSimulation);
            simulationThread.Start();
        }