Tag: signal processing

如何使用谐波产品频谱获得基频?

我正试图从麦克风输入中获得音高。 首先,我通过FFT将信号从时域分解到频域。 在执行FFT之前,我已将Hamming窗口应用于信号。 然后我得到了FFT的复杂结果。 然后我将结果传递给谐波产品光谱,其中结果被下采样,然后乘以下采样峰值,并给出一个复数值。 那我该怎么做才能获得基频? public float[] HarmonicProductSpectrum(Complex[] data) { Complex[] hps2 = Downsample(data, 2); Complex[] hps3 = Downsample(data, 3); Complex[] hps4 = Downsample(data, 4); Complex[] hps5 = Downsample(data, 5); float[] array = new float[hps5.Length]; for (int i = 0; i < array.Length; i++) { checked { array[i] = data[i].X * hps2[i].X * hps3[i].X […]

C#库做fft和ifft?

是否有一个免费的c#库来进行快速傅立叶变换及其反演?