J'ai un (de CsCore) qui est le résultat de ma FFT.densité spectrale de puissance du résultat fft C#
Complex
a un float real
et un float imaginary
.
De cela, je calculé comme suit
- Fréquence:
(double)index * sampleRate/FftSize;
- Amplitude/Magnitude:
Math.Sqrt(Math.Pow(real, 2) + Math.Pow(imaginary, 2));
- Phase: Si ceux-ci sont mal
Math.Atan(imaginary/real);
s'il vous plaît me corriger. D'après ce que je comprends, c'est l'information de domaine de fréquence et elle me permet de voir quelles fréquences sont les plus communes dans mon échantillon. Maintenant, je veux voir la densité de puissance au fil du temps. Matlab documentation montre des exemples, mais je ne comprends pas parce que je ne connais pas Matlab. Quelqu'un pourrait-il expliquer la documentation Matlab sur ce sujet ou m'aider avec une implémentation C#?
EDIT:
This answer suggèrent à la case simplement l'amplitude. Est-ce exact?
Selon [le code CsCore 'Complex'] (https://github.com/filoe/cscore/blob/master/CSCore/Utils/Complex.cs), il a' float real' et 'float imaginary' , pas 'double '... – JHBonarius