Adding noise with certain standard deviation to uncorrupted data
74 次查看(过去 30 天)
显示 更早的评论
Hello,
I have a 1-D data set and I want to artificially corrupt it with noise of a certain standard deviation. Say for accurate pitch rate measurements 'q' of an aircraft, I want to add noise with a std. of 0.1047 rad/sec. How do I proceed?
Regards,
0 个评论
采纳的回答
Wayne King
2014-2-6
when you say 0.1047 rad/second, do you want these values to be bounded by a certain interval? or is the frequency value continuous (I'm assuming it is by rad/sec)
The other question is what probability distribution do you want the noise to follow and what is the mean value?
I'll assume here: Gaussian, mean 0, std 0.1047, frequency continuous
noise = 0.1047*randn(1000,1); % gives you 1000 samples
Note you get negative and positive rad/second values -- that may very well not be what you want.
0 个评论
更多回答(1 个)
Jos (10584)
2014-2-6
编辑:Jos (10584)
2014-2-6
In addition to Wayne's suggestion you can sample noise from any distribution with unknown parameters and set the standard deviation to a specific value:
DesiredSD = 0.1047 ; % the desired standard deviation
noise = random('ncx2',10*rand,10*rand,[1000 1]) ; % some random noise
noise = DesiredSD * (noise ./ std(noise)) ; % scale the standard deviation
std(noise) % voila!
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Verification, Validation, and Test 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!