Noise-Power Spectrum

Generate random noise with a specified noise-power spectrum (NPS) and measure the NPS of an image.

You are now following this Submission

This package includes (1) functions to generate random noise with a specified noise-power spectrum (NPS), and (2) functions to measure the NPS of an image. It is primarily intended to simulate and assess the performance of medical imaging systems, but there may be many other applications of noise simulation and measurement where the package can be useful.

Two main functions are included for Fourier-based noise simulation and measurement: filtered_noise.m generates random noise with arbitrary correlations. The noise is obtained by filtering of white noise with a supplied NPS. calc_digital_nps.m calculates the NPS in a digital image with optional windowing.

In support of these two functions, example files are provided to generate power-law noise (commonly used to simulate natural structures) and cross-talk noise (commonly occurring in photon-counting x-ray detectors). fit_nps.m least-square fits a measured NPS to an expected shape. Examples of noise generation and measurements are given in demo_nps_package.m.

The NPS is sometimes referred to as the Wiener spectrum or power spectrum.

Please reference this package if you find it useful. Feedback is welcome.

Erik Fredenberg, Royal Institute of Technology (KTH) (2010).

Cite As

Erik Fredenberg (2026). Noise-Power Spectrum (https://nl.mathworks.com/matlabcentral/fileexchange/36462-noise-power-spectrum), MATLAB Central File Exchange. Retrieved .

Acknowledgements

Inspired by: Generate spatial data

Inspired: filt2 2D geospatial data filter

Categories

Find more on Fourier Analysis and Filtering in Help Center and MATLAB Answers

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.2.0.0

Various minor bug fixes and updates, mainly in the demo file.

1.0.0.0