I have a sound signal x(n). i want to make a random signal r(n) of the same length but half the magnitude of x(n). How do i make r(n) have half the magnitude of x(n)?

1 view (last 30 days)
I have a sound signal x(n). i want to make a random signal r(n) of the same length but half the magnitude of x(n). How do i make r(n) have half the magnitude of x(n)?

Accepted Answer

Star Strider
Star Strider on 19 Jun 2016
Random signals are of course random, so its being exactly half the amplitude is probably not going to be the situation everywhere. You can scale the randn output by multiplying it by the standard deviation you want, so:
signal = ...; % Signal Vector
noise = std(signal)*0.5*randn(size(signal)); % Noise Vector
This scales the noise vector to be 0.5 times the standard deviation of your signal vector. That is probably as close as you can get to what you want to do.
  4 Comments
Saiankita Anand
Saiankita Anand on 19 Jun 2016
Thank you, Star Strider for your help. I am fairly new to MATLAB and hence the confusion. I kinda did understand what you are saying here. Allow me to ask you if I have further doubts in this.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!