Normalizacja FFT

Wiem, że to pytanie zostało zadane na mdłości, ale jakoś nie mogę sprawić, by działało poprawnie. Stworzyłem pojedynczą sinusoidę 440 Hz o amplitudzie jednostkowej. Teraz, po FFT, bin przy 440 Hz ma wyraźny szczyt, ale wartość po prostu nie jest właściwa. Spodziewam się zobaczyć 0 dB, ponieważ mam do czynienia z falą sinusoidalną o amplitudzie jednostkowej. Zamiast tego obliczona moc jest znacznie powyżej 0 dB. Formuła, której używam, jest prosta

for (int i = 0; i < N/2; i++) 
{  
    mag = sqrt((Real[i]*Real[i] + Img[i]*Img[i])/(N*0.54)); //0.54 correction for a Hamming Window

    Mag[i] = 10 * log(mag) ;      
}

Powinienem chyba podkreślić, że całkowita energia w dziedzinie czasu jest równa energii w dziedzinie częstotliwości (twierdzenie Parsevala), więc wiem, że moja procedura FFT jest w porządku.

Każda pomoc jest bardzo ceniona.

questionAnswers(3)

yourAnswerToTheQuestion