1.dB
(1)dB 是一个纯计数单位:dB = 10logX;
X = 1000000000000000 = 10logX = 150 dB
X = 0.000000000000001 = 10logX = -150 dB
dB的引入是为了把乘除关系变换为加减,便于工程中的运算。
(2)dB是一个表征相对值的值,当考虑甲的功率相比于乙功率大或小多少个dB时,按下面计算公式:
10lg(甲功率/乙功率)
甲功率=乙功率: 10lg(1)=0dB;
甲功率=2*乙功率:10lg(2)=3dB;
2.dBw:以1W为基准
3.dBm:以1mW为基准
由此可见,0dBw是一个比0dBm大得多的多的单位,功率上相差1000倍。
dBm 减 dBm 实际上是两个功率相除。比如:
(信号)30dBm - (噪声)0dBm = (信号功率)1000mW/1mW(噪声功率) = 1000 = 30dB。(式1)
4.SNR(信噪比=信号功率/噪声功率)(信噪比SNR(dB)=信号功率(dBW)-噪声功率(dBW))
本来2个数相除((SNR)1000W/1W)转化为2个数相减30dBW-0dBW=30dB(SNR)
若信号功率为0dBW,因此,噪声的实际功率-SNRdBW。(式1)
例题一:
在正弦信号上叠加功率为-20dBW的高斯白噪声。
clear all
t = 0:0.001:10;
x = sin(2*pi*t);
snr = 20; %设定加性高斯白噪声功率
y = awgn(x,snr); %正弦信号上叠加高斯白噪声
subplot(2,1,1);plot(t,x);title('正弦信号x');
subplot(2,1,2);plot(t,y);title('叠加高斯白噪声的正弦信号');
z = y-x;
var(z) %计算噪声功率(方差)
ans = 0.01
函数awgn(x,snr)把加性高斯白噪声叠加到输入信号x中,snr以dB的形式指定噪声的功率。
这种情况下,信号的功率假设为0dBW(其实信号功率并不是0dBW,原来此处是假设!),噪声的功率实际上等于-snrdBW。于是,snr的值为20。
结果显示噪声功率为0.01,该值是由snr决定的。
例题二:
clear all
t = 0:0.001:10;
x = sin(2*pi*t);
snr = 20; %设定加性高斯白噪声功率
y = awgn(x,snr,10); %正弦信号上叠加高斯白噪声
subplot(2,1,1);plot(t,x);title('正弦信号x');
subplot(2,1,2);plot(t,y);title('叠加高斯白噪声的正弦信号');
z = y-x;
var(z) %计算噪声功率(方差)
函数awgn(x,snr,sigpower):假设输入信号的功率为sigpower(单位:dBW)(原来都是假设!)
10dBW-噪声功率=20dB,噪声功率=-10dBW
结果恰好:ans = 0.100。
例题三:终于计算信号功率了:awgn(x,snr,'measured')
clear all
t = 0:0.001:10;
x = sin(2*pi*t);
snr = 20; %设定加性高斯白噪声功率
y = awgn(x,snr,'measured'); %正弦信号上叠加高斯白噪声
subplot(2,1,1);plot(t,x);title('正弦信号x');
subplot(2,1,2);plot(t,y);title('叠加高斯白噪声的正弦信号');
z = y-x;
var(z) %计算噪声功率(方差)
ans = 0.005
实际信号功率为0.5(sum(abs(x).^2)/length(x)),snr=20dB,噪声功率0.005,结果也验证了这一点。
例题四:用randn函数产生加性高斯白噪声
randn(n):返还一个n行n列的随机矩阵,每一行每一列都服从均值为0,方差为1的正态分布;
randn(m,n):返还一个m行n列的随机矩阵,每一行每一列都服从均值为0,方差为1的正态分布;
clear all
t = 0:0.001:10;
x = sin(2*pi*t);
px = norm(x).^2/length(x); %计算信号x的功率
snr = 20; %信噪比,dB形式
pn = px./(10.^(snr./10)); %根据snr计算噪声功率
n = sqrt(pn)*randn(1,length(x)); %根据噪声功率产生相应的高斯白噪声序列
y = x+n;
subplot(2,1,1);plot(t,x);title('正弦信号x')
subplot(2,1,2);plot(t,y);title('叠加了高斯白噪声后的正弦信号')
var(n)
ans = 0.005
x为一向量,norm(x)=norm(x,2)返回向量的2范数:即sum(abs(x).^2)^1/2;
根据噪声功率产生相应的高斯白噪声序列,要对噪声功率进行开方运算。(D(CX)=C^2D(X))