File Exchange

image thumbnail

Circulant Embedding method for generating stationary Gaussian field

version (2.24 KB) by Zdravko Botev
Fast simulation of Gaussian random fields via the Fast Fourier Transform


Updated 22 Jan 2016

View License

simulating stationary Gaussian field over an 'm' times 'n' grid
- 'm' and 'n' for evaluating the field over the m*n grid;
note that size of covariance matrix is m^2*n^2;
- scalar function rho(h), where 'h' is a two dimensional vector
input and cov(X_t,Y_s)=rho(t-s) is the cov. function of a
2-dimensional stationary Gaussian field; see reference below;
- two statistically independent fields 'field1' and 'field2'
over the m*n grid;
- vectors 'tx' and 'ty' so that the field is plotted via
*exp(-(h(1)^2/50^2+h(2)^2/15^2))); % define covariance function
stationary_Gaussian_process(512,384,rho); % plot when no output wanted
Kroese, D. P., & Botev, Z. I. (2015). Spatial Process Simulation.
In Stochastic Geometry, Spatial Statistics and Random Fields(pp. 369-404)
Springer International Publishing, DOI: 10.1007/978-3-319-10064-7_12

Comments and Ratings (2)

Please help me to understand what does it mean and tell me how to do it-
Realistic spatially correlated speckle noise in ultrasound images can be simulated by low-pass filtering a complex Gaussian random field and taking the magnitude of filtered output.The speckle noise with different covariance functions are introduced under different noise cases.These are-Matern covariance function,Spherical covariance function,Exponential covariance function and Rational quadratic covariance function.
Mean of Gaussian random field=0

Very helpful code.

I am interested in How to use this circulant embedding method to generate a 3 dimensional stationary processes. The book does not describe that case in detail. Could we have a further communication?

Thank you for your consideration.

Best regards.


- rewritten as an m-file
- reference updated

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