is randn() appropriate to emulate noise coming from digital image correlation?
4 vues (au cours des 30 derniers jours)
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?
Animesh le 6 Mar 2023
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.