用噪声在C中生成正弦波阵列

Generating sine wave array in C with noise

这里是菜鸟。有人能给我一个例子,说明如何在 C 语言中生成方差为 0.01 的白噪声的 2kHz 正弦波阵列吗?这是我目前所拥有的:

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#define PI 3.141592653589793

int main() {
    int i;
    double buffer[10000];

    for(i = 0; i < 10000; i++)
    {
        buffer[i] = sin(2000 * (2 * PI) * i / 6000) + sqrt(0.01)rand;
    }

    return 0;
}

(供参考)

您首先必须使用 srand() 为随机数生成器播种,您应该在每个程序中向其传递一个唯一值 -运行.

您的代码,已修改为正确性:

#include <math.h>
#include <stdlib.h>
#include <time.h>

int main() {
    srand((unsigned)time(NULL));

    int i;
    double buffer[10000];

    for(i = 0; i < 10000; i++)
    {
        buffer[i] = sin(2000 * (2 * M_PI) * i / 6000) + sqrt(0.01) * rand();
    }

    /* ... */

    return 0;
}