public PowerSpectrum(int fft_size, WindowType wt) { this.fft_size = fft_size; this.results_size = fft_size; this.window = new double[fft_size / 2]; this.ps_results = new double[fft_size]; //don't overrun results buffer this.fft = new FFT(fft_size); this.filt_design = new FilterDesigner(); filt_design.makewindow(wt, fft_size / 2, ref window); }
unsafe public PowerSpectrum(int fft_size) { this.mode = PowerSpectrumMode.OFF; this.position = PowerSpectrumPosition.PREFILTER; this.fft_size = fft_size; this.results_size = fft_size; this.window = new float[fft_size / 2]; this.ps_results = new float[fft_size]; //don't overrun results buffer this.scope_results = new float[fft_size]; this.phase_results = new float[fft_size * 2]; this.fft = new FFT(fft_size); this.filt_design = new FilterDesigner(); fixed(float *ptr_window = &window[0]) { filt_design.makewindow(WindowType.BLACKMANHARRIS_WINDOW, fft_size / 2, ptr_window); } }