p = bandpower(x,fs,freqrange) returns
the average power in the frequency range, freqrange,
specified as a two-element vector. You must input the sampling frequency, fs,
to return the power in a specified frequency range. bandpower uses
a modified periodogram to determine the average power in freqrange.

p = bandpower(pxx,f,psdflag) returns
the average power computed by integrating the power spectral density
(PSD) estimate, pxx. The integral is approximated
by the rectangle method. The input, f, is a vector
of frequencies corresponding to the PSD estimates in pxx. psdflag is
the string 'psd', which indicates the input is
a PSD estimate and not time series data.

p = bandpower(pxx,f,freqrange,psdflag) returns
the average power contained in the frequency interval, freqrange.
If the frequencies in freqrange do not match
values in f, the closest values are used. The
average power is computed by integrating the power spectral density
(PSD) estimate, pxx. The integral is approximated
by the rectangle method.

Create a signal consisting of a 100-Hz sine wave in additive
N(0,1) white Gaussian noise. The sampling frequency is 1 kHz. Determine
the average power compare against the ℓ_{2} norm.

t = 0:0.001:1-0.001;
x = cos(2*pi*100*t)+randn(size(t));
p = bandpower(x)
norm(x,2)^2/numel(x)

Determine the percentage of the total power
in a specified frequency interval.

Create a signal consisting of a 100-Hz sine wave in additive
N(0,1) white Gaussian noise. The sampling frequency is 1 kHz. Determine
the percentage of the total power in the [50,150] Hz interval.

t = 0:0.001:1-0.001;
x = cos(2*pi*100*t)+randn(size(t));
pband = bandpower(x,1000,[50 100]);
ptot = bandpower(x,1000,[0 500]);
per_power = 100*(pband/ptot)

Determine the average power by first computing
a PSD estimate using the periodogram. Input the PSD estimate to bandpower.

Create a signal consisting of a 100-Hz sine wave in additive
N(0,1) white Gaussian noise. The sampling frequency is 1 kHz. Obtain
the periodogram and use the psdflag, 'psd',
to compute the average power using the PSD estimate. Compare the result
against the average power computed in the time domain.

t = 0:0.001:1-0.001;
Fs = 1000;
x = cos(2*pi*100*t)+randn(size(t));
[Pxx,F] = periodogram(x,rectwin(length(x)),length(x),Fs);
p = bandpower(Pxx,F,'psd')
norm(x,2)^2/numel(x)

Determine the percentage of the total power
in a specified frequency interval using the periodogram as the input.

Create a signal consisting of a 100-Hz sine wave in additive
N(0,1) white Gaussian noise. The sampling frequency is 1 kHz. Obtain
the periodogram and corresponding frequency vector. Using the PSD
estimate, determine the percentage of the total power in the interval
[50,150] Hz.

Frequency range for the band power computation, specified as
a two-element real-valued row or column vector. If the input signal, x,
contains N samples, freqrange must be within
the following intervals.