http://blog.sina.com.cn/s/blog_68f81b8b0100jtse.html
Eb/N0中的N0的定义,可参照wiki里的描述,具体需要注意到是,当计算单边带和双边带动时候,乘积上有(1/2)的区别。
If the noise is one-sided white noise, i.e., constant with frequency, then the total noise power N integrated over a bandwidth B is N=BN0 (for double-sided white noise, the bandwidth is doubled, so N is BN0/2). This is utilized in signal-to-noise ratio calculations.
Eb/N0的计算,对于实信号来说,
s = signal;
L = length(s);
% Convert SNR from dB
SNRdB = 10;
SNR = 10^(SNRdB/10);
% Measure average power of signal
Ps = sum(s.^2)/L;
% Calculate wanted noise power
Pn = Ps/SNR;
% Generate random vector and ensure 0-mean
w = randn(1,L);
w = w-sum(w)/L;
% Scale to wanted power
Pw = 1/L*sum(w.^2);
w = sqrt(Pn/Pw).*w;
% Measure resulting SNR
Pw_meas = 1/L*sum(w.^2);
SNRdB_meas = 10*log10( Ps/Pw_meas ); % Gives 10.0000
对于复信号来说,
%signal energy
calculate the mean symbol energy
% Bit energy for each symbol
Eb = Es/bit_per_symbol;
EbNo = 10^(EbNo_dB/10);
% Noise variance
No = Eb/EbNo;
noise = sqrt(No/2)*(randn(1,length(symbol))+j*randn(1,length(symbol)));
noise_symbol = symbol + noise;
以上代码来自于 https://dsp.stackexchange.com/questions/8580/power-spectral-density-and-snr-for-awgn
SNR与Eb/N0的关系,总结如下:
SNR = (Eb/N0) * (Rb/W)
对于W来说,是信号的带宽。这个是要随着调制方式不同,而相应改变的。比如采取BPSK调制的时候,Null-to-Null bandwidth是2×Rb;而采取QPSK的时候,Null-to-Null带宽是1×Rb。具体可以参考<Tutorial on Basic Link Budget Analysis> AN9804。