噪声和信噪比的转换(如何在数据集中添加噪声)

之前参考别人的博客写了一篇,后来用的过程中发现有问题,但是相关理论部分还是可以用的。

之前我写的:https://blog.csdn.net/Kathleen_yuan/article/details/89817487

别人的推论(推论1要加个条件才能用,就是信号强度为1的条件下)

噪声和信噪比的转换(如何在数据集中添加噪声)

 

别人论文中写道:5%的噪声信噪比为33.8db,20%的噪声为14db,把0.2到代入公式1发现是对的,把0.05代入发现并不等于33.8,然后到处查询噪声与信噪比之间的关系,发现除了上面那个博客写过,没人写。要是真有一个确定的关系(即有了噪声就能求出信噪比),就一定有公式,后来百度信噪比发现,有一个公式,如下:

信噪比的计量单位是dB,其计算方法是10lg(PS/PN),其中Ps和Pn分别代表信号和噪声的有效功率,也可以换算成电压幅值的比率关系:20Lg(VS/VN),Vs和Vn分别代表信号和噪声电压的“有效值”。

即SNR=10lg(PS/PN)或者20Lg(VS/VN)PN也就是噪声的百分比,而信号的有效功率(好像也叫信号强度需要我们自己规定)。

因此,如果有你在实验中需要添加1%-20%的噪声,你需要首先固定你的数据在同一信号水平之下,也就是自己规定一个PS,这时候再用公式即可。因此以上的14与33.8不是在相同的信号强度下。

比如我们规定信号强度为1,则5%的噪声的SNR=20log(1/5%)=26.02db

10%的噪声的SNR=20log(1/10%)=20db

20%的噪声的SNR=20log(1/20%)=13.87db