У меня проблема с вычислением БПФ из моего набора данных с использованием Math.NET с .NET4.0.FFT с Math.NET 4.0 - Complex32 [] vs Complex []
Я использовал .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