c - 如何在C中生成高斯 channel ?

标签 c gaussian

我需要在 C 中模拟高斯 channel 。 我怎么做? 我在哪里可以获得这方面的代码片段?

最佳答案

IIRC,近似高斯分布很容易 - 但如果您想要一个好的近似值,则速度很慢。只需添加几个独立的随机数即可获得每个输出。每个输出的“输入”越多,近似值就越好。

如果“输入”具有均匀分布,那么肯定有效。我似乎记得读过它几乎适用于任何输入分布,但每个输出可能需要更多的输入才能获得良好的近似值。

这是高斯白噪声 - 输出是独立的(所有频率具有相同的幅度)。还有类似的粉红噪声算法。仍然是高斯分布,但较高的频率具有较低的幅度(输出不是独立的)。每个输出仍然是一组固定的独立“输入”随机数的总和,但每个输出仅替换第一个。第二个被替换为每个其他输出,第三个被替换为每四个输出,第四个被替换为每八个输出等。对于大多数输出​​,精确地替换两个输入随机数 - 每 2^n 输出您只替换第一个。

关于c - 如何在C中生成高斯 channel ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1538147/

相关文章:

c - 使用系统调用打印结果

在 Visual Studio 2013 中编译简单的 C 代码

swift - 应用 CiFilter 高斯模糊

c - dlclose()/FreeLibrary()失败后句柄的情况

c - ljmp 和 setjmp 之间的内存泄漏

c++ - 高斯模糊不均匀

python - Python 中的多元正态 CDF

c++ - 线弯曲的简单算法

r - 你如何在 R 中生成多元高斯随机数?

C socket : Non blocking way to read\n separated commands