Code covered by the BSD License  

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
Circulant Embedding method for generating stationary Gaussian field

5.0 | 1 rating Rate this file 14 Downloads (last 30 days) File Size: 2.24 KB File ID: #38880 Version: 2.0
image thumbnail

Circulant Embedding method for generating stationary Gaussian field


Zdravko Botev (view profile)


02 Nov 2012 (Updated )

Fast simulation of Gaussian random fields via the Fast Fourier Transform

| Watch this File

File Information

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


This file inspired Fractional Brownian Field Or Surface Generator.

Required Products MATLAB
MATLAB release MATLAB 8.6 (R2015b)
MATLAB Search Path
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
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

Comment only
06 Jun 2014 Knight Short

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.

22 Jan 2016 2.0

- rewritten as an m-file
- reference updated

Contact us