Normalização FFT

Eu sei que esta pergunta foi feita ad nauseam mas de alguma forma eu não consigo fazer funcionar corretamente. Eu criei uma única onda senoidal de 440 Hz com amplitude unitária. Agora, após a FFT, o bin a 440 Hz tem um pico distinto, mas o valor não está correto. Eu esperaria ver 0 dB, pois estou lidando com uma onda senoidal de amplitude unitária. Em vez disso, a potência calculada está bem acima de 0 dB. A fórmula que estou usando é simplesmente

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) ;      
}

Eu provavelmente deveria apontar que a energia total no domínio do tempo é igual à energia no domínio da frequência (teorema de Parseval), então eu sei que minha rotina FFT está bem.

Qualquer ajuda é muito apreciada.

questionAnswers(3)

yourAnswerToTheQuestion