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

11 ビュー (過去 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 ExchangeLink-Level Simulation についてさらに検索

製品


リリース

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by