How to plot a complex power spectrum using MATLAB?

14 views (last 30 days)
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

Accepted Answer

Clay Swackhamer
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.
  5 Comments
dpb
dpb on 11 Apr 2019
Alex...use the "COMMENT" button for clarifications, comments...they're answers to questions about the original question, yes, but not an Answer to your original question -- dpb
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
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... :)

Sign in to comment.

More Answers (0)

Categories

Find more on Fourier Analysis and Filtering in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!