On many websites, including MathWorks, it was suggested to normalize the fft spectrum (MATLAB or numpy) by dividing it by the total number of samples ($N$). For a sinusoidal signal, for example:
$$x(t)=5cos(2\pi f_0t)$$
This produces a two-sided spectrum peak at $f_0$ with a peak amplitude of 2.5. However, that's not the result of the exact fourier transform, which should be:
$$X(f)=2.5(\delta(f-f_c)+\delta(f+f_c))$$
That is, I expect the amplitude to increase as the frequency bin shrinks (with the total area remaining at 2.5). That is not the case if I normalize with respect to $N$. If I normalize instead with respect to the sampling frequency ($F_s$), then it works out for the sinusoidal signal. The total power density is obviously finite ($P=\frac{1}{T}\int_{0}^{T}x(t)^2dt=12.5$); but the numerical power spectrum (unit^2/Hz) will have varying results depending on the bin size.
Questions:
Can I assume that the division by sampling frequency normalization would be more physically relevant for vibration analysis, if I want to extract things like $g^2/Hz$?
If my signal is a finite sum of sines, what's the best way to visualize the power? I would expect the power spectrum to vary again with the total sample time (i.e. not very useful).
If I assume all continuous signals can be represented by fourier series, how come non-sinusoidal signals have finite and well-defined power spectrum?