Radially averaged surface roughness/topograph​y power spectrum (PSD)

Calculates radially averaged 2D power spectrum for a surface roughness/topography


Updated 19 Dec 2016

View License

In surface roughness analysis, one of the powerful tools for roughness characterization is surface roughness power spectrum. If the surface under study has isotropic roughness characteristics, then one can do a radial average on the calculated discrete Fourier transform of the surface topography and obtain its 2D power spectrum, namely, 2D PSD.
With this function you can calculate 2D PSD of a surface topography, which the topography is normally obtained by any 3D profilometry techniques, such as AFM (Atomic Force Microscopy), WLI (White Light Interferometry) and many other optical profilers.
As inputs, you first need to have a matrix (n by m) of your height values (z). Second, you need to know you PixelWidth (spatial resolution) which is obtained easily by dividing you image length to the number of pixels in length, i.e. :

PixelWidth = Lx / m; % in SI units

In order to plot the output:

In order to check 2D FFT of your topography:

An extended version of this code, calculates the surface roughness power spectrum only for a portion of the top or bottom part of the surface roughness/topography. This has been uploaded in here:

Radially averaged surface roughness power spectrum (PSD) only on top or bottom part of a topography

To calculate 1-dimensional suface roughness power spectrum, refer to:

1-Dimensional surface roughness power spectrum of a profile or topography

To generate an artificial randomly rough surface/topography to try these codes, refer to:

Surface generator: artificial randomly rough surfaces

Cite As

Mona Mahboob Kanafi (2023). Radially averaged surface roughness/topography power spectrum (PSD) (https://www.mathworks.com/matlabcentral/fileexchange/54297-radially-averaged-surface-roughness-topography-power-spectrum-psd), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2016a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Fourier Analysis and Filtering in Help Center and MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes

Description added. Small bug fixed.

Further description added.

A small bug in final PSD result's structure fixed.

A small bug fixed.