我有一个问题,从我的数据集使用Math.NET .NET4.0计算FFT。FFT与Math.NET 4.0 - Complex32 []与复杂[]
我所使用的.NET 3.5 Math.NET像这样没有任何错误:
public Ergebnisse_FFT_Abs_PSD_MNF FFT_Abs_PSD_MNF(double[] data)
{
Complex[] samples = new Complex[data.Length];
double[] FFT_abs_1d = new double[data.Length/2];
int zaehler = 0;
foreach(double val in data)
{
samples[zaehler] = new Complex(val, 0);
Fenster[zaehler] = Math.Exp(-0.5 * Math.Pow(((zaehler - (samples.Length - 1)/2)/(sigma * (samples.Length - 1)/2)), 2)); // Gauß
samples[zaehler] = samples[zaehler].Real * Fenster[zaehler];
zaehler++;
}
MathNet.Numerics.IntegralTransforms.Fourier.BluesteinForward(samples, MathNet.Numerics.IntegralTransforms.FourierOptions.Matlab);
}
现在我想用.NET 4.0和复杂的[]不再知道 - 只有Complex32。 当我现在变更配合物[]至Complex32 []:
public Ergebnisse_FFT_Abs_PSD_MNF FFT_Abs_PSD_MNF(double[] data)
{
Complex32[] samples = new Complex32[data.Length];
double[] FFT_abs_1d = new double[data.Length/2];
int zaehler = 0;
foreach(double val in data)
{
samples[zaehler] = new Complex32((float)val, 0);
Fenster[zaehler] = Math.Exp(-0.5 * Math.Pow(((zaehler - (samples.Length - 1)/2)/(sigma * (samples.Length - 1)/2)), 2)); // Gauß
samples[zaehler] = samples[zaehler].Real * (float)Fenster[zaehler];
zaehler++;
}
MathNet.Numerics.IntegralTransforms.Fourier.BluesteinForward(samples, MathNet.Numerics.IntegralTransforms.FourierOptions.Matlab);
}
发生该错误消息:
错误7关于“MathNet.Numerics.IntegralTransforms.Fourier.BluesteinForward最好重载方法匹配(System.Numerics.Complex [],MathNet.Numerics.IntegralTransforms.FourierOptions)”有一些无效参数
有没有人有一个想法,如何解决在.NET 4.0这个问题?
添加对System.Numerics的引用 –
程序集引用丢失。非常感谢 – MomooomoM