public ActionResult Create(ChirpModel cm) { try { ChirpManager.Add(User.Identity.Name, cm.Chirp); return(RedirectToAction("Index", "Home")); } catch { return(View()); } }
private static IEnumerable <Complex> ChirpFFT(float[] data, ChirpModel model, LocalRange range) { if (model == null) { return(null); } var fftComplex = new Complex[data.Length]; // the FFT function requires complex format for (int i = 0; i < fftComplex.Length; i++) { fftComplex[i] = new Complex(data[i], 0.0);// make it complex format (imaginary = 0) } return(FFTProcessor.ChirpTransform(fftComplex, range, model.SampleRate)); }
private IEnumerable <double> GetLocalPeaks(float[] input, IEnumerable <LocalRange> models, ChirpModel mainModel) { var peaks = new List <double>(); Parallel.ForEach <LocalRange>(models, x => { var complexResult = ChirpFFT(input, mainModel, x); peaks.Add(FrequencyHelpers.GetZoomedFrequency(complexResult.GetPeakIndex(), x.LeftThreshold, x.RightThreshold, x.ZoomOptions.TargetNumberOfSamples)); }); return(peaks); }