public static PowerSpectra Run(TimeSeriesDouble data, int window, Action <double> progress) { while (3 * window > data.Data.Count) { window /= 2; } var startF = 5; var endF = window / 2 - 5; var f = Fft.GetFrequencies(window, data.SampleRate, startF, endF); var mag = Calculate(data.Data, window, window / 4, startF, endF, progress); //var c = 1 / Math.Sqrt(data.SampleRate); //mag = Array.ConvertAll(mag, x => x * c); progress(100.0); return(new PowerSpectra(f, mag.Item1, mag.Item2)); }
public void Initalize(int window, float sampleRate) { _tensors = GetTensors(Fft.GetFrequencies(window, sampleRate)); }
/// <summary> /// Initializes a new instance of the <see cref="FftSeries" /> class. /// </summary> /// <param name="samplerate">The Samplerate used for computing the frequency values.</param> /// <param name="n">The FFT length N (in time domain) used for computing the frequency values.</param> public FftSeries(double samplerate, int n) : base(Fft.GetFrequencies(samplerate, n), false) { this.SampleRate = samplerate; this.N = n; }