Math.NET과 .NET4.0을 사용하여 데이터 세트에서 FFT를 계산할 때 문제가 있습니다. FFT with Math.NET 4.0 - Complex32 [] vs. Complex []
나는 오류없이이 같은 Math.NET와 .NET 3.5을 사용 :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합니다.
이
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 '에 가장 적합한 오버로드 된 메서드 지금은 단지 [] Complex32 []로 변경 (System.Numerics.Complex [], MathNet.Numerics.IntegralTransforms.FourierOptions)는 '일부 잘못된 인수
있다
사람이 어떻게 .NET 4.0에서이 문제를 해결하는 아이디어를 가지고 있습니까?
System.Numerics에 대한 참조 추가 –
어셈블리 참조가 없습니다. 고마워. – MomooomoM