Power spectral density or mean-square spectrum estimate using periodogram method
Estimation / Power Spectrum Estimation
The Periodogram block estimates the power spectral density (PSD) or mean-square spectrum (MSS) of the input. It does so by using the periodogram method and Welch's averaged, modified periodogram method. The block averages the squared magnitude of the FFT computed over windowed sections of the input. It then normalizes the spectral average by the square of the sum of the window samples. See Periodogram (Signal Processing Toolbox) and Welch's Method (Signal Processing Toolbox) for more information.
The block treats M-by-N frame-based matrix input and M-by-N sample-based matrix input as M sequential time samples from N independent channels. The block computes a separate estimate for each of the N independent channels and generates an Nfft-by-N matrix output.
Each column of the output matrix contains the estimate of the power spectral density of the corresponding input column at Nfft equally spaced frequency points. The frequency points are in the range [0,Fs), where Fs is the sampling frequency of the signal. The block always outputs sample-based data.
Specify the type of measurement for the
block to perform:
spectrum. Tunable (Simulink).
Enter the level, in decibels (dB), of
stopband attenuation, Rs,
for the Chebyshev window. This parameter becomes
visible if, for the Window
parameter, you choose
Chebyshev. Tunable (Simulink).
Enter the β parameter for the Kaiser window.
This parameter becomes visible if, for the
Window parameter, you chose
Beta widens the mainlobe and
decreases the amplitude of the sidelobes in the
displayed frequency magnitude response. Tunable (Simulink). See the
Function block reference page for more
Set this parameter to
FFTW to support an
arbitrary length input signal. The block restricts
generated code with FFTW implementation to
MATLAB® host computers.
Set this parameter to
Radix-2 for bit-reversed
processing, fixed or floating-point data, or for
portable C-code generation using the Simulink® Coder™. The first dimension
M, of the input matrix must
be a power of two. To work with other input sizes,
use the Pad block
to pad or truncate these dimensions to powers of
two, or if possible choose the FFTW
Set this parameter to
Auto to let the block
choose the FFT implementation. For
non-power-of-two transform lengths, the block
restricts generated code to MATLAB host computers.
When you select this check box, the block uses the input frame size as the number of data points, Nfft, on which to perform the FFT. To specify the number of points on which to perform the FFT, clear the Inherit FFT length from estimation order check box. You can then specify a power of two FFT length using the FFT length parameter.
Enter the number of data points on which to perform the FFT, Nfft. When Nfft is larger than the input frame size, the block zero-pads each frame as needed. When Nfft is smaller than the input frame size, the block wraps each frame as needed. This parameter becomes visible only when you clear the Inherit FFT length from input dimensions check box.
When you set the FFT
implementation parameter to
Radix-2, this value must be a
power of two.
Specify the number of spectra to average.
When you set this value to
the block computes the periodogram of the input.
When you set this value greater
1, the block implements Welch's Method (Signal Processing Toolbox) to compute a modified
periodogram of the input.
If you select the Inherit sample time from input check box, the block computes the frequency data from the sample period of the input signal. For the block to produce valid output, the following conditions must hold:
The input to the block is the original signal, with no samples added or deleted (by insertion of zeros, for example).
The sample period of the time-domain signal in the simulation equals the sample period of the original time series.
If these conditions do not hold, clear the Inherit sample time from input check box. You can then specify a sample time using the Sample time of original time series parameter.
Specify the sample time of the original time-domain signal. This parameter becomes visible only when you clear the Inherit sample time from input check box.
|Port||Supported Data Types|
 FFTW (
 Frigo, M. and S. G. Johnson, “FFTW: An Adaptive Software Architecture for the FFT,”Proceedings of the International Conference on Acoustics, Speech, and Signal Processing, Vol. 3, 1998, pp. 1381-1384.
 Oppenheim, A. V. and R. W. Schafer. Discrete-Time Signal Processing. Englewood Cliffs, NJ: Prentice Hall, 1989.
 Orfanidis, S. J. Introduction to Signal Processing. Englewood Cliffs, NJ: Prentice-Hall, 1995.
 Proakis, J. and D. Manolakis. Digital Signal Processing. 3rd ed. Englewood Cliffs, NJ: Prentice-Hall, 1996.
Usage notes and limitations:
Generated code relies on
memset functions (string.h) under certain conditions.
When the following conditions apply, the
executable generated from this block relies on
prebuilt dynamic library files
.dll files) included with
FFT implementation is
Inherit FFT length from input dimensions is cleared, and FFT length is set to a value that is not a power of two.
packNGo function to package
the code generated from this block and all the
relevant files in a compressed zip file. Using
this zip file, you can relocate, unpack, and
rebuild your project in another development
environment where MATLAB is not installed. For more details,
see How To Run a Generated Executable Outside MATLAB.
When the FFT length is a power of two, you can generate standalone C and C++ code from this block.