Matplotlib.pyplot.psd() in Python

Matplotlib is a library in Python and it is numerical – mathematical extension for NumPy library. Pyplot is a state-based interface to a Matplotlib module which provides a MATLAB-like interface.

matplotlib.pyplot.csd() Function

The csd() function in pyplot module of matplotlib library is used to plot the cross-spectral density.

Syntax: matplotlib.pyplot.csd(x, y, NFFT=None, Fs=None, Fc=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None, return_line=None, \*, data=None, \*\*kwargs)

Parameters: This method accept the following parameters that are described below:

  • x: This parameter is a sequence of data.
  • Fs : This parameter is a scalar. Its default value is 2.
  • window: This parameter take a data segment as an argument and return the windowed version of the segment. Its default value is window_hanning()
  • sides: This parameter specifies which sides of the spectrum to return. This can have following values : ‘default’, ‘onesided’ and ‘twosided’.
  • pad_to : This parameter contains the integer value to which the data segment is padded.
  • NFFT : This parameter contains the number of data points used in each block for the FFT.
  • detrend : This parameter contains the function applied to each segment before fft-ing, designed to remove the mean or linear trend {‘none’, ‘mean’, ‘linear’}.
  • scale_by_freq : This parameter is allows for integration over the returned frequency values.
  • noverlap : This parameter is the number of points of overlap between blocks.
  • Fc : This parameter is the center frequency of x.
  • return_line : This parameter include the line object plotted in the returned values.

Returns: This returns the following:



  • Pxx:This returns the values for the power spectrum P_{xx} before scaling.
  • freqs :This returns the frequencies for the elements in Pxx.
  • line :This returns the line created by this function.

The resultant is (Pxx, freqs, line)

Below examples illustrate the matplotlib.pyplot.psd() function in matplotlib.pyplot:

Example #1:

filter_none

edit
close

play_arrow

link
brightness_4
code

# Implementation of matplotlib function
import numpy as np
import matplotlib.pyplot as plt
    
dt = 0.01
t = np.arange(0, 30, dt)
nse1 = np.random.randn(len(t))
    
s1 = 1.5 * np.sin(2 * np.pi * 10 * t) + nse1 + np.cos(np.pi * t)
    
plt.psd(s1**2, 512, 1./dt, color ="green")
plt.xlabel('Frequency')
plt.ylabel('PSD(db)')
  
plt.suptitle('matplotlib.pyplot.psd() function \
Example', fontweight ="bold")
  
plt.show()

chevron_right


Output:

Example #2:

filter_none

edit
close

play_arrow

link
brightness_4
code

# Implementation of matplotlib function
import numpy as np
import matplotlib.pyplot as plt
     
dt = 0.01
t = np.arange(0, 30, dt)
nse1 = np.random.randn(len(t))
r = np.exp(-t / 0.05)
     
cnse1 = np.convolve(nse1, r, mode ='same')*dt
     
s1 = np.cos(np.pi * t) + cnse1 + np.sin(2 * np.pi * 10 * t) 
     
     
plt.psd(s1, 2**14, dt)
plt.ylabel('PSD(db)')
plt.xlabel('Frequency')
plt.title('matplotlib.pyplot.psd() Example\n',
          fontsize = 14, fontweight ='bold')
  
plt.show()

chevron_right


Output:

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.




My Personal Notes arrow_drop_up

Small things always make you to think big

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.