Hi to all,

I'm computing some spectrograms using the convenient functions defined in
matplotlib.mlab.

I found something that I don't completely understand. In computing the PSD
the onesided power spectrum is scaled by a factor of 2 except for the first
and the last bin:

https://github.com/matplotlib/matplotlib/blob/v1.4.2/lib/matplotlib/mlab.py#L776

in principle this should account for the contributions that in a two-sided
spectrum is spread over negative and positive frequencies. However the lack
of scaling in the highest frequency seems to cause a systematic
underestimation on that frequency bin.

Is it possible that the power spectrum should  be scaled, in the case of
even-length signal, up to the last bin (so that -1 in the slicing should be
removed)?

With correct scaling a signal comprised of two sinusoids of same power, one
being at the Nyquist frequency, should have the same amplitude (excluding
scallopping losses). I don't have time to test it at the moment, but maybe
someone more expert can already tell me if I'm missing something or the
matplotlib scaling is wrong.

Thanks,
Antonio
------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to