我正在尝试将 AWGN 添加到我的音频文件中。我将 wav 文件转换为字节数组。我正在尝试向该阵列添加 10dB AWGN。在matlab中,有imnoise将AWGN添加到图像中。 java中有什么库吗?提前致谢。
最佳答案
如果您确实需要 additive Gaussian white noise输出类似于Matlab的imnoise
函数,这是您需要用 Java 实现的代码范围:
B = A+MU+STD*randn(size(A))
其中 A
是您的输入数据,B
是相同大小的输出,MU
是噪声的平均值,STD
是标准差。独立同分布 (IID) 高斯白噪声被添加到 A
的每个分量中。此计算需要以浮点形式完成(Matlab 的许多图像处理例程都是如此)。
randn
函数产生正态随机变量。您可以使用java.util.Random.nextGaussian()
来生产这些。如果您需要额外的速度,请尝试 Mersenne Twister algorithm 的 Java 实现.
关于java - 加性高斯白噪声 Java(dB),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17156538/