信号添加百分比噪声的原理和方法
一、噪声百分比 ε \varepsilon ε、信噪比SNR的含义
在文献中看到类似于“添加5%的噪声”这样的话,一直不知道这个5%是什么意思,这两天查了一些文献,还是没找到定义,只能通过一些文献的只言片语来做个窥探。若有读者了解这个术语的正式定义,敬请告之!
文献[[1]]第4046页有如下描述:
……An ensemble size of I = 500 was used in both cases, with standard deviation ε \varepsilon ε = 0.2 of the added noise (SNR = 14 dB).
文献[[2]]第3888页也有类似描述:
……by adding small Gaussian noise (σ = 0.01) to a randomly generated (σ = 2) sparse signal (S = 32). Gaussian noise of different levels was added to Ax to obtain the noisy measurements b.
由文献[1]中的数据:
20
×
l
o
g
10
(
1
σ
)
=
20
×
l
o
g
10
(
1
0.2
)
=
20
×
l
o
g
10
5
=
13.9794
d
b
(
1.1
)
20\times \rm{log_{10}}\left( \frac{1}{\sigma } \right)=20\times \rm{log_{10}}\left( \frac{1}{0.2} \right)=20\times log_{10}5= 13.9794 \rm{db} \quad (1.1)
20×log10(σ1)=20×log10(0.21)=20×log105=13.9794db(1.1)
S
N
R
=
10
×
l
o
g
10
(
P
S
P
N
)
=
14
d
b
=
>
P
S
P
N
=
1
0
14
10
=
25.1189
=
(
1
ε
)
2
(
1.2
)
{\rm{SNR}}=10 \times {\rm{log_{10}}} \left( \frac{P_S}{P_N} \right)=14db => \frac{P_S}{P_N}=10^{\frac{14}{10}}=25.1189=\left( \frac{1}{\varepsilon } \right)^{2} \quad (1.2)
SNR=10×log10(PNPS)=14db=>PNPS=101014=25.1189=(ε1)2(1.2)
对于高斯分布,其有效值为:
RMS
2
=
E
X
2
=
E
(
X
−
E
X
)
2
+
(
E
X
)
2
=
σ
2
+
u
2
(
1.3
)
\text{RMS}^2 =\text{E} X^2=\text{E} \left( X-\text{E}X \right)^2 + \left( \text{E}X \right)^2 = \sigma^2+u^2 (1.3)
RMS2=EX2=E(X−EX)2+(EX)2=σ2+u2(1.3)
推测1:由式(1.1)知噪声百分比
ε
\varepsilon
ε与信噪比SNR的关系如下:
SNR
=
20
×
l
o
g
10
(
1
ε
)
(
1.4
)
\text{SNR} = 20 \times \rm{log}_{10}\left( \frac{1}{\varepsilon} \right) \quad (1.4)
SNR=20×log10(ε1)(1.4)
推测2:由式(1.2)知噪声的百分比为噪声幅值与信号幅值的比值,或者噪声功率与信号功率的比值的平方根。由于幅值不好测量(存在高频振动干扰),因此用功率(有效值)来确定噪声百分比:
ε
=
P
N
P
S
=
R
M
S
N
2
R
M
S
S
2
=
R
M
S
N
R
M
S
S
(
1.5
)
\varepsilon = \sqrt{\frac{P_N}{P_S}} = \sqrt{ \frac{ \rm{RMS}_N^2 }{\rm{RMS}^2_S} } = \frac{ \rm{RMS}_N }{\rm{RMS}_S} \quad (1.5)
ε=PSPN=RMSS2RMSN2=RMSSRMSN(1.5)
推测3:由文献[1-2]知噪声应服从零均值高斯分布(正态分布)。
推测4:零均值噪声的有效值即为其标准差:
R
M
S
N
=
σ
N
(
1.6
)
{\rm{RMS}}_N = \sigma_N \quad (1.6)
RMSN=σN(1.6)
由于噪声的百分比数值 ε \varepsilon ε是相对量(无量纲),显然不能直接用做高斯分布的方差σ(有量纲),噪声分布的方差应由式(1.5)和式(1.6)决定:
σ N = ε ⋅ RMS S ( 1.7 ) \sigma_N = \varepsilon \cdot \text{RMS}_S \quad (1.7) σN=ε⋅RMSS(1.7)
二、信号中添加噪声的方法
设信号为 x = { x 1 , x 2 , . . . , x n } \mathbf{x}=\{{{x}_{1}},{{x}_{2}},...,{{x}_{n}}\} x={x1,x2,...,xn} ,要添加百分比为 ε \varepsilon ε的噪声。
解:
- 求出噪声的标准差为 σ N = ε ⋅ RMS ( x ) {{\sigma }_{N}}=\varepsilon \cdot \text{RMS}\left( \mathbf{x} \right) σN=ε⋅RMS(x)
- 进行高斯抽样,注意到若 a a a服从 N ( 0 , 1 ) N(0,1) N(0,1)分布,则 b = a ∗ σ + μ b = a*\sigma + \mu b=a∗σ+μ服从 N ( μ , σ ) N(\mu, \sigma) N(μ,σ) 分布。
% Matlab代码:
epsilon = 0.2;
noise = randn(size(x)) * epsilon * rms(x);
y = x + noise;
三、评估信号中噪声水平的方法
- 记录一段空载时的信号S1,消去水平偏移量分量,得到0均值噪声信号,并求解其有效值(上面两步可简化为求标准差)。
- 记录加载信号S2,减去空载时的水平偏移量,并求解其有效值。
- 用公式(1.5)求噪声百分比。
- 用公式(1.4)计算信噪比。
% Matlab代码:
R1 = std(S1);
R2 = rms(S2 – mean(S1));
Epsilon = R2/R1;
SNR = 20*log10(1/Epsilon);
[1]: Torres, M. E., Colominas, M. A., Schlotthauer, G., & Flandrin, P. (2011, May). A complete ensemble empirical mode decomposition with adaptive noise. In Acoustics, speech and signal processing (ICASSP), 2011 IEEE international conference on (pp. 4144-4147). IEEE.
[2]: Saab, R., Chartrand, R., & Yilmaz, O. (2008, March). Stable sparse approximations via nonconvex optimization. In 2008 IEEE International Conference on Acoustics, Speech and Signal Processing (pp. 3885-3888). IEEE.