Problème précision incroyable de la FFT Matlab

Q

qslazio

Guest
un segment de script simple à faire FFT pour un ton plus bruit blanc additif.

NBPTS = 32768;
fs = * NBPTS 1E3;
nbprds = 7;
fi = fs / nbprds * NBPTS;
amplitude = 1;
pnoise = 1e-6;

le bruit = random («norme», 0, sqrt (pnoise), 1, NBPTS);
signal = sin * amplitude (2 * pi * fi / fs * [0: NBPTS-1]) le bruit;

Sxx = abs (fft (signal). / NBPTS). ^ 2;
Snn = abs (fft (bruit). / NBPTS). ^ 2;
= sum(Sxx) - 0.5*amplitude^2

Pn_wi_signal
= somme (Sxx) - 0,5 amplitude * ^ 2= sum(Snn)

Pn_wo_signal
= somme (SNN)

Après l'exécution de script ci-dessus, vous pouvez voir que Pn_wi_signal n'est pas égal à Pn_wo_signal.Pn_wo_signal est FFT directe au bruit lui-même.
Pn_wi_signal (varie beaucoup) est beaucoup plus grande que Pn_wo_signal qui est juste.

Quelqu'un sait ce qui est erroné avec Pn_wi_signal?
Merci beaucoup!

 

Welcome to EDABoard.com

Sponsor

Back
Top