C ++中具有正常噪声的信号的扰动

时间:2013-10-07 20:56:14

标签: c++ noise normal-distribution

如何用高斯噪声干扰信号,例如sin(x)?

我需要这样的东西:

#include <math>
#include <lib with gaussian noise>
int main{
 float *a[Dim]
 for(int i=0;i<Dim;i++)
  a[i]=sim[i/10]+noise;
}

1 个答案:

答案 0 :(得分:2)

如果你有C ++。11,你可以使用std::normal_distribution。代码看起来像这样:

#include <random>
int main()
{
    std::random_device rd;
    std::mt19937 gen(rd()); 
    std::normal_distribution<> d;
    float *a[Dim]

    for(int i=0;i<Dim;i++) {
        float noise = d(gen);
        a[i]=sim[i/10]+noise;
    }
}