How to generate a noise which sums up as zero?

I have a sinusoidal downsampled signal. the size of the singal is 1*64. I need to add noise to that signal where sum of noise would be zero. How can I do that? The varience would be 0.001. I am new in this and don't have idea about this. I tried with randn command but I could get that? I tried the follwoing noise:
noise=randn(1,64)*sqrt(0.001)*240.
240 is the peak value of the singal and it has to be there.

Answers (1)

Hi Ananta,
noise=randn(1,64)*sqrt(0.001)*240
noise = noise - mean(noise);
if you subtract off the mean, then the new sum of the noise = 0.
Ordinarily you would add noise (variance=.001 in this case) to the signal. If you multiply the noise by 240, now its variance is up around 58 which may or may not be what you want.

Products

Release

R2022a

Asked:

on 1 Aug 2023

Edited:

on 1 Aug 2023

Community Treasure Hunt

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

Start Hunting!