is randn() appropriate to emulate noise coming from digital image correlation?

2 views (last 30 days)
I want to emulate experimental data coming from an digital image correlation (DIC) system. Currently, I generate the displacements numerically and want to add artificial noise to it. Based on several other questions here, many people use randn() to generate noise. Is this a proper way to go for DIC data, or are other functions like wgn() better suited for DIC data?

Accepted Answer

Animesh
Animesh on 6 Mar 2023
Hello,
Yes, randn() is an appropriate function to emulate noise coming from digital image correlation in MATLAB.
To emulate noise in DIC displacement values, you can add random numbers generated by randn() to the displacement values. The standard deviation of the added noise should be chosen to match the level of noise present in the actual DIC measurements. For example, the following code adds Gaussian noise with a standard deviation of 0.1 pixels to a set of displacement values:
displacement = [1.2, 2.3, 3.4, 4.5, 5.6];
noisy_displacement = displacement + 0.1 * randn(size(displacement));
In this example, the randn() function generates random numbers with the same size as the displacement vector, and the 0.1 factor scales the standard deviation of the noise to 0.1 pixels.

More Answers (0)

Categories

Find more on Filter Banks in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!