/// <summary> /// Updates the fourier transform charts and the 2d memory displays. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ChangeFourierTransforms(object sender, RunWorkerCompletedEventArgs e) { foreach (float freq in ((float[][])(e.Result))[0]) { chart3.Series[0].Points.Add(freq); } foreach (float freq in ((float[][])(e.Result))[1]) { chart3.Series[1].Points.Add(freq); } double FFTWStdDev = MathFunctions.CalculateStdDev(Array.ConvertAll(((float[][])(e.Result))[0], x => (double)x).AsEnumerable()); if (FFTWStdDev > FourierTolerance) { FourierBitmap.SetMaxOutput((float)feedbackMaxKalman.GetFilteredValue()); pidPictureBox.Image = FourierBitmap.Calculate2DFourierTransform(((float[][])(e.Result))[0]); } }
/// <summary> /// Updates the fourier transform charts and the 2d memory displays. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BackgroundWorker_ChangeFourierTransforms(object sender, RunWorkerCompletedEventArgs e) { foreach (float freq in ((float[][])(e.Result))[0]) { chart3.Series[0].Points.Add(freq); } foreach (float freq in ((float[][])(e.Result))[1]) { chart4.Series[0].Points.Add(freq); } foreach (float freq in ((float[][])(e.Result))[2]) { chart3.Series[1].Points.Add(freq); } foreach (float freq in ((float[][])(e.Result))[3]) { chart4.Series[1].Points.Add(freq); } double pidFFTWStdDev = MathFunctions.CalculateStdDev(Array.ConvertAll(((float[][])(e.Result))[0], x => (double)x).AsEnumerable()); double adrcFFTWStdDev = MathFunctions.CalculateStdDev(Array.ConvertAll(((float[][])(e.Result))[1], x => (double)x).AsEnumerable()); if (pidFFTWStdDev > FourierTolerance) { PIDFourierBitmap.SetMaxOutput((float)pidMaxValue.GetFilteredValue()); pidPictureBox.Image = PIDFourierBitmap.Calculate2DFourierTransform(((float[][])(e.Result))[0]); } if (adrcFFTWStdDev > FourierTolerance) { ADRCFourierBitmap.SetMaxOutput((float)adrcMaxValue.GetFilteredValue()); adrcPictureBox.Image = ADRCFourierBitmap.Calculate2DFourierTransform(((float[][])(e.Result))[1]); } }