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

标签 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;
}

最佳答案

如果你有 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;
    }
}

关于c++ - C++ 中具有正常噪声的信号扰动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19234599/

相关文章:

c++ - 是否正则表达式(获取不是所有满足正则表达式的文本)

python-3.x - OpenCV 图像去噪给出 : Error: -215:Assertation failed

android - Android:在手机移动时播放音频时,耳机上会听到喀嗒声

audio - 我需要分析许多音频WAV文件中的特征性噪声,想法吗?

c++ - C++ normal_distribution 和 MATLAB 的 randn 的实现是否一致?

R 编程正态分布

matlab - 在Matlab中将正态分布划分为等概率区域

c++ - 错误 : invalid conversion from 'int' to 'const char*' [-fpermissive]

C++:析构函数级联期间的回调和系统计时器事件

c++ - Cocos2d-x collision hold back 一个节点