-
sdr.plot.periodogram(x: ArrayLike, sample_rate: float | None =
None
, window: str | ArrayLike ='hann'
, length: int | None =None
, overlap: int | None =None
, fft: int | None =None
, detrend: 'constant' | 'linear' | False =False
, average: 'mean' | 'median' ='mean'
, x_axis: 'one-sided' | 'two-sided' | 'log' ='two-sided'
, **kwargs) Plots the estimated power spectral density \(P_{xx}\) of a time-domain signal \(x[n]\) using Welch’s method.
Note
This function uses
scipy.signal.welch()
to estimate the power spectral density of the time-domain signal.- Parameters:¶
- x: ArrayLike¶
The time-domain signal \(x[n]\).
- sample_rate: float | None =
None
¶ The sample rate \(f_s\) of the signal in samples/s. If
None
, the x-axis will be labeled as “Normalized Frequency”.- window: str | ArrayLike =
'hann'
¶ The windowing function to use. This can be a string or a vector of length
length
.- length: int | None =
None
¶ The length of each segment in samples. If
None
, the length is set to 256.- overlap: int | None =
None
¶ The number of samples to overlap between segments. If
None
, the overlap is set tolength // 2
.- fft: int | None =
None
¶ The number of points to use in the FFT. If
None
, the FFT length is set tolength
.- detrend: 'constant' | 'linear' | False =
False
¶ The type of detrending to apply. Options are to remove the mean or a linear trend from each segment.
- average: 'mean' | 'median' =
'mean'
¶ The type of averaging to use. Options are to average the periodograms using the mean or median.
- x_axis: 'one-sided' | 'two-sided' | 'log' =
'two-sided'
¶ The x-axis scaling. Options are to display a one-sided spectrum, a two-sided spectrum, or one-sided spectrum with a logarithmic frequency axis.
- **kwargs¶
Additional keyword arguments to pass to
matplotlib.pyplot.plot()
.
Note
The default y-axis lower limit is set to the 10th percentile. This is to crop any deep nulls.