SNR是接收端模拟信号的重要测量指标,可通过频谱仪等仪器实际测量接收端的模拟信号得到。而EbN0是指通信系统传输1bit信息所需要的能量和噪声功率谱密度的比值,是衡量整个通信系统性能归一化的一个系统指标。
由于不同进制的调制技术下频谱效率不同,一个由k比特映射成的调制符号所实现的频谱效率就是k bit/s/Hz。(频谱效率一般指净比特率/带宽,是为了强调比较通信系统有效性时,不应该单看吞吐量,还应考虑系统所用带宽,这里借用这个概念…也行吧)
如果要横向比较系统的整体性能,此时就必须从单个比特着手去比较,即用EbN0。
一般情况下,数字通信系统常用EbN0–BER来衡量通信系统的性能,模拟系统用SNR–BER。而实际测量EbN0比较困难,故而需要研究EbN0与SNR的转换关系。
使用 MATLAB 进行通信系统仿真是现代数字通信系统设计中一个非常重要的步骤。通常 MATLAB中也是使用信噪比 SNR 来添加噪声,不能使用 Eb/N0参数进行噪声的添加,但我们通常需要使用 Eb/N0 这个归一化指标参数对系统进行评价,因而在 MATLAB仿真中也常常需要用到 Eb/N0 与 SNR 的转换公式。
代码中信噪比是指每个采样点上信号功率与噪声功率之比(平均)。
Es/N0只每个符号能量与噪声能量之比。
SNR与Es/N0之间的关系,如果是模拟信号或者不考虑采样过程的话,二者是同一概念(能量/能量=功率/功率);当考虑数字信号时,二者因采样率问题有些许差别。
Es/N0=SNR+10log(m)
m:一个符号上几个采样点
备注:能量和功率谱密度是同一量纲。功率谱密度是频域的能量。
功率谱密度:单位频率间隔的信号功率。单位w/Hz=w*t=J。
Es每个符号能量=S(信号功率)*Tsym(每个符号持续时间)。
N0(噪声能量=功率谱密度)=N(噪声功率)/Bn(噪声带宽)。
https://blog.csdn.net/wlwdecs_dn/article/details/107749940
信噪比snr与比特信噪比EbN0
一、信噪比(Signal to Noise Ratio)
SNR=S/N
或
信噪比指的是基带中有用的信号功率与噪声功率之比,有用的信号一般是调制到载波前(pre-modulation)或解调后(post-detection)。
然后再看看SNR与Es/N0之间的关系:
对于数字通信系统,一般情况下,信噪比即代表符号信噪比,即:
SNR= (Es/N0)
但是,你写代码时,考虑采样过程时,要把信号功率分配到几个采样点上。
对于复信号:Es/N0=(STsym)/(N/B)=(STsym)/(N*Tsamp)
Es/N0(dB)=10log10(Tsym/Tsamp)+SNR(dB);
对于实信号:Es/N0=(STsym)/(N/B)=(STsym)/(N2Tsamp)
Es/N0(dB)=10log10(0.5*Tsym/Tsamp)+SNR(dB);
其中,Tsym是符号周期,Tsamp是采样间隔。
所以当我们要使用AWGN这个函数的时候要通过一系列转换将EbN0转换成需要的SNR。
二、载噪比C/N(Carrier to Noise ratio)
指的是在解调前的射频信号载波(Carrier)功率与噪声功率的比值。单位也是dB。SNR与CNR 前者反映基带信号质量,而后者是反映射频信号质量。实际情况中CNR往往大于SNR,因为信号在解调过程中会额外引入噪声,恶化信噪比SNR。
三、信噪比Es/N0(每符号能量与噪声功率谱密度)和每比特能量与噪声功率谱密度Eb/N0
根据能量守恒,Es=kEb,其中k表示每个符号携带的比特数
所以,Es/N0 与Eb/N0的关系可表示为:
Es/N0=k⋅Eb/N0
写成dB形式:
Es/N0(dB)=Eb/N0(dB)+10log10(k)
四、应用
写代码时,一般定义EbN0,然后通过Es/N0=Eb/N0+10log10(k)得Es/N0,没有采样得话SNR=EsN0,如果有采样的话,利用SNR= (Es/N0)/(Tsym/Tsamp)得SNR,然后可以设信号功率为单位1得N0或者带入awgn函数,最后画图时自变量是最初定义的EbN0,但是广义EbN0、Es/N0、SNR都叫做信噪比了。
EbN0 = 1:10;
SNR = EbN0 + 10*log10(log2(M)*V/K); %Es/N0=Eb/N0+10log10(k),k是每个符号包含信息比特数
N0 = 1/(10^(SNR(k)/10)); % noise power,假设Es=1
y = awgn(s, SNR(k));
semilogy(EbN0,sum(BER4)./6,'c-o');
ylabel('BER');
xlabel('SNR(dB)');