Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Welch’s power spectral density estimate

`pxx = pwelch(x)`

`pxx = pwelch(x,window)`

`pxx = pwelch(x,window,noverlap) `

`pxx = pwelch(x,window,noverlap,nfft)`

`[pxx,w] = pwelch(___)`

`[pxx,f] = pwelch(___,fs)`

`[pxx,w] = pwelch(x,window,noverlap,w)`

`[pxx,f] = pwelch(x,window,noverlap,f,fs)`

`[___] = pwelch(x,window,___,freqrange)`

`[___] = pwelch(x,window,___,spectrumtype)`

`[___] = pwelch(x,window,___,trace)`

`[___,pxxc] = pwelch(___,'ConfidenceLevel',probability)`

`pwelch(___)`

returns
the power spectral density (PSD) estimate, `pxx`

= pwelch(`x`

)`pxx`

,
of the input signal, `x`

, found using Welch's overlapped
segment averaging estimator. When `x`

is a vector,
it is treated as a single channel. When `x`

is
a matrix, the PSD is computed independently for each column and stored
in the corresponding column of `pxx`

. If `x`

is
real-valued, `pxx`

is a one-sided PSD estimate.
If `x`

is complex-valued, `pxx`

is
a two-sided PSD estimate. By default, `x`

is divided
into the longest possible segments to obtain as close to but not exceed
8 segments with 50% overlap. Each segment is windowed with a Hamming
window. The modified periodograms are averaged to obtain the PSD estimate.
If you cannot divide the length of `x`

exactly
into an integer number of segments with 50% overlap, `x`

is
truncated accordingly.

uses
the input vector or integer, `pxx`

= pwelch(`x`

,`window`

)`window`

, to divide
the signal into segments. If `window`

is a vector, `pwelch`

divides
the signal into segments equal in length to the length of `window`

.
The modified periodograms are computed using the signal segments multiplied
by the vector, `window`

. If `window`

is
an integer, the signal is divided into segments of length `window`

.
The modified periodograms are computed using a Hamming window of length `window`

.

uses `pxx`

= pwelch(`x`

,`window`

,`noverlap`

) `noverlap`

samples
of overlap from segment to segment. `noverlap`

must
be a positive integer smaller than `window`

if `window`

is
an integer. `noverlap`

must be a positive integer
less than the length of `window`

if `window`

is
a vector. If you do not specify `noverlap`

, or
specify `noverlap`

as empty, the default number
of overlapped samples is 50% of the window length.

`[`

returns a frequency vector, `pxx`

,`f`

] = pwelch(___,`fs`

)`f`

, in cycles per unit time. The
sample rate, `fs`

, is the number of samples per unit time. If
the unit of time is seconds, then `f`

is in cycles/sec (Hz).
For real–valued signals, `f`

spans the interval
[0,`fs`

/2] when `nfft`

is even and
[0,`fs`

/2) when `nfft`

is odd. For
complex-valued signals, `f`

spans the interval
[0,`fs`

). `fs`

must be the fifth input
to `pwelch`

. To input a sample rate and still use the default
values of the preceding optional arguments, specify these arguments as empty,
`[]`

.

`[`

returns the two-sided Welch PSD estimates at the frequencies specified in the
vector, `pxx`

,`f`

] = pwelch(`x`

,`window`

,`noverlap`

,`f`

,`fs`

)`f`

. The vector, `f`

, must contain
at least 2 elements. The frequencies in `f`

are in cycles per
unit time. The sample rate, `fs`

, is the number of samples
per unit time. If the unit of time is seconds, then `f`

is in
cycles/sec (Hz).

`[___] = pwelch(`

returns
the PSD estimate if `x`

,`window`

,___,`spectrumtype`

)`spectrumtype`

is specified
as `'psd'`

and returns the power spectrum if `spectrumtype`

is
specified as `'power'`

.

`[___,`

returns
the `pxxc`

] = pwelch(___,'ConfidenceLevel',`probability`

)`probability`

× 100%
confidence intervals for the PSD estimate in `pxxc`

.

`pwelch(___)`

with no output
arguments plots the Welch PSD estimate in the current figure window.

Was this topic helpful?