# Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English verison of the page.

## Measure the Power of a Signal

The power of a signal is the sum of the absolute squares of its time-domain samples divided by the signal length, or, equivalently, the square of its RMS level. The function `bandpower` allows you to estimate signal power in one step.

Consider a unit chirp embedded in white Gaussian noise and sampled at 1 kHz for 1.2 seconds. The chirp's frequency increases in one second from an initial value of 100 Hz to 300 Hz. The noise has variance . Reset the random number generator for reproducible results.

```N = 1200; Fs = 1000; t = (0:N-1)/Fs; sigma = 0.01; rng('default') s = chirp(t,100,1,300)+sigma*randn(size(t));```

Verify that the power estimate given by `bandpower` is equivalent to the definition.

`pRMS = rms(s)^2`
```pRMS = 0.5003 ```
`powbp = bandpower(s,Fs,[0 Fs/2])`
```powbp = 0.5005 ```

Use the `obw` function to estimate the width of the frequency band that contains 99% of the power of the signal, the lower and upper bounds of the band, and the power in the band. The function also plots the spectrum estimate and annotates the occupied bandwidth.

`obw(s,Fs);`

```[wd,lo,hi,power] = obw(s,Fs); powtot = power/0.99```
```powtot = 0.5003 ```

A nonlinear power amplifier is given a 60 Hz sinusoid as input and outputs a noisy signal with third-order distortion. The sample rate is 3.6 kHz. Subtract the zero-frequency (DC) component to concentrate on the spectral content.

```load(fullfile(matlabroot,'examples','signal','AmpOutput.mat')) Fs = 3600; y = y-mean(y);```

Because the amplifier introduces third-order distortion, the output signal is expected to have

• A fundamental component with the same frequency as the input, 60 Hz;

• Two harmonics -- frequency components at twice and three times the frequency of the input, 120 and 180 Hz.

Use `bandpower` to determine the power stored in the fundamental and the harmonics. Express each value as a percentage of the total power and in decibels. Display the values as a table.

```pwrTot = bandpower(y,Fs,[0 Fs/2]); Harmonic = {'Fundamental';'First';'Second'}; Freqs = [60 120 180]'; Power = zeros([3 1]); for k = 1:3 Power(k) = bandpower(y,Fs,Freqs(k)+[-10 10]); end Percent = Power/pwrTot*100; inDB = pow2db(Power); T = table(Freqs,Power,Percent,inDB,'RowNames',Harmonic)```
```T=3x4 table Freqs Power Percent inDB _____ ________ _______ ________ Fundamental 60 1.0079 12.563 0.034136 First 120 0.14483 1.8053 -8.3914 Second 180 0.090023 1.1221 -10.456 ```