我需要在 C 中模拟高斯 channel 。 我怎么做? 我在哪里可以获得这方面的代码片段?
最佳答案
IIRC,近似高斯分布很容易 - 但如果您想要一个好的近似值,则速度很慢。只需添加几个独立的随机数即可获得每个输出。每个输出的“输入”越多,近似值就越好。
如果“输入”具有均匀分布,那么肯定有效。我似乎记得读过它几乎适用于任何输入分布,但每个输出可能需要更多的输入才能获得良好的近似值。
这是高斯白噪声 - 输出是独立的(所有频率具有相同的幅度)。还有类似的粉红噪声算法。仍然是高斯分布,但较高的频率具有较低的幅度(输出不是独立的)。每个输出仍然是一组固定的独立“输入”随机数的总和,但每个输出仅替换第一个。第二个被替换为每个其他输出,第三个被替换为每四个输出,第四个被替换为每八个输出等。对于大多数输出,精确地替换两个输入随机数 - 每 2^n 输出您只替换第一个。
关于c - 如何在C中生成高斯 channel ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1538147/