SPECTRAL WHITENING

This function applies whitening to a given signal within user defined frequency band.
1.1K Downloads
Updated 3 May 2023

View License

FREQUENCY DOMAIN WHITENING OF DISCRETE TIME SIGNAL
The provided function is capable of generating a flat Fourier spectrum for a non-white signal, either across the full frequency range of 0 Hz to the Nyquist frequency, or a frequency band designated by the user. This operation typically results in the sharpening of both the signal and its associated noise.
Whitening is a commonly used technique in ambient vibration data analysis, particularly when stacking waveforms for cross-correlation. The process involves applying a Hann window to the signal, Fourier transforming it, normalizing the magnitude, and finally inverse Fourier transforming it.
Overall, this is a straightforward process that can be applied to improve the quality of signal data.
Syntax:
xnew = whitening(x, Fs, freq, []) for the full range of 0 Hz to the Nyquist frequency
xnew = whitening(x, Fs, freq, [0.1, 20]) for 0.1 Hz to 20 Hz as an example
Input:
x = input signal (x must be a row vector)
Fs = sampling rate (e.g., 200)
freq = frequency limit for whitening in Hz (e.g., freq, [ ] or freq, [0.1, 20])
Output:
xnew = spectrally whitened signal for the full range of 0 Hz to the
Nyquist frequency or within a user defined frequency band
Example: See demo.m file

Cite As

Dr. Erol Kalkan, P.E. (2024). SPECTRAL WHITENING (https://www.mathworks.com/matlabcentral/fileexchange/65345-spectral-whitening), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2017b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

whitening

Version Published Release Notes
1.0.0.1

A typo has been fixed in the demo.m file

1.0.0.0

updated description
Updated notes