How to add noise in [0 2] interval to an elements of an array randomly?

9 ビュー (過去 30 日間)
Ayberk Ay
Ayberk Ay 2022 年 4 月 12 日
回答済み: Image Analyst 2022 年 4 月 12 日
I have an array that is called 'r1' and i need a white noise to add to elements of the array. Every noise that is gonna to be added to elements should be different (like randomly) in [0,2] interval.
a = 0;
b = 360;
rng('shuffle');
ncycles = 10;
npoints = 500000;
r1 = sort((b-a)*rand(npoints/ncycles,ncycles)+a,1,'ascend');
r1 = r1(:);
  3 件のコメント
Ayberk Ay
Ayberk Ay 2022 年 4 月 12 日
Actually it doesn't. Any noise could be fine.
Ayberk Ay
Ayberk Ay 2022 年 4 月 12 日
I've tried something but not sure it is exact true.
sigmas = 2;
randomNoise = randn(length(r1), 1)*sigmas+a;
r11 = r1 + randomNoise;

サインインしてコメントする。

採用された回答

Image Analyst
Image Analyst 2022 年 4 月 12 日
I'd do it like this
noiseSignal = 2 * rand(size(r1));
r1WithNoise = r1 + noiseSignal;
If you want + or - 1 instead of adding noise, which will bias the signal upwards you can do:
noiseSignal = 2 * rand(size(r1)) - 1;
r1WithNoise = r1 + noiseSignal;

その他の回答 (1 件)

Christopher McCausland
Christopher McCausland 2022 年 4 月 12 日
編集済み: Christopher McCausland 2022 年 4 月 12 日
Hi Ayberk,
Have you tried awgn(r1)?
r1Gaus = awgn(r1);
Kind regards,
Christopher
  6 件のコメント
Ayberk Ay
Ayberk Ay 2022 年 4 月 12 日
Yes, that's what i was looking for. Thanks for the answer.
Christopher McCausland
Christopher McCausland 2022 年 4 月 12 日
No worries,
I am glad to be of help! If you could accept this answer that would be fantastic!
Christopher

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

製品


リリース

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by