以dB为单位的加性高斯白噪声Java

时间:2013-06-17 20:46:17

标签: java matlab audio gaussian noise

我正在尝试将AWGN添加到我的音频文件中。我将我的wav文件转换为字节数组。我正在尝试为此阵列添加10dB AWGN。在matlab中有一种将AWGN添加到图像的imnoise。在java中有没有库?提前谢谢。

2 个答案:

答案 0 :(得分:1)

如果您确实需要类似于Matlab的additive Gaussian white noise函数的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实现

答案 1 :(得分:0)

不确定我是否正确地提出了问题。 Ist that你正在寻找的东西然后只是调整你使用的任何玩家的数据库?