# How to plot a complex power spectrum using MATLAB?

8 views (last 30 days)
Alex Vasin on 11 Apr 2019
Commented: dpb on 11 Apr 2019
I have all the |C_n|^2 and need to plot bars which represent the energy at intervals of w (angular frequency).
I guess this would be a bar graph but I want lines instead (which I can label if possible).
Something like this but only need labels for the x axis:
https://www.oreilly.com/library/view/elegant-scipy/9781491922927/assets/elsp_0402.png
Thanks

Clay Swackhamer on 11 Apr 2019
This might have what you are looking for https://www.mathworks.com/help/matlab/ref/fft.html
You could transform the data from output space (voltage vs time or similar) into a frequency spectrum (power vs frequency or similar) and then plot that.
dpb on 11 Apr 2019
C_n is the complex Fourier coefficient. I need to do a complex power spectrum. So the x-axis is w (angular fequency) at intervals of pi, since w_0=pi. And at each of those frequencies I want a line going up that represents the energy of the freqrency (calculated as |C_n|^2). As I said, I only need to know how to plot the graph. I do not need help with computations.
dpb on 11 Apr 2019
Look at the example of computing PSD at
doc fft
It shows how to compute the frequency against which to plot the PSD and plots it with plot which is the normal thing.
You would simply call one of the other routines in place of plot to try something different. I've never done a PSD by either, so no idea how well it will actually work to display the information in a useful format, but you can give it a go... :)