“SNR”、“Eb/N0”與“Es/N0”辨析

“SNR”、“Eb/N0”與“Es/N0”辨析

1. 符號說明

SS:信號平均功率 NN: 噪聲平均功率
EbE_b: 每bit信號能量 N0N_0:噪聲功率譜密度
EsE_s:信號(符號)能量 RbR_b:傳信率(每秒傳輸的bit數)
WW: 信號帶寬 kk: 每個符號包含的bit數
TT: 符號週期 TsT_s: 採樣點間隔

由上表可知,Rb=kT使Mk=log2MR_b=\frac{k}{T},使用M進制傳輸時,k=log_2M

2. 信噪比的定義

  信噪比一般定義爲信號(平均)功率與噪聲(平均)功率之比,又可進一步細分爲平均信噪比S/NS/N,比特信噪比Eb/N0E_b/N_0,符號信噪比Es/N0E_s/N_0。通信系統仿真中常用dB形式:

SNR=10log(S/N)dBebno=10log(Eb/N0)dBessno=10log(Es/N0)dB \begin{aligned} SNR&=10log(S/N)&——& 信號噪聲平均功率比的dB形式 \\ ebno&=10log(E_b/N_0)&——& 比特信噪比的dB形式\\ essno&=10log(E_s/N_0)&——& 符號信噪比的dB形式 \end{aligned}

3. Eb/N0S/NE_b/N_0與S/N

S=Eb×RbS=E_b×R_b —— 信號平均功率=每秒傳輸的信號能量
N=N0×WN=N_0×W —— 噪聲功率=噪聲功率譜密度×信道帶寬

於是有:

SN=Eb×RbN0×W=EbN0×RbW=ηEbN0(1) \frac{S}{N} =\frac{E_b×R_b}{N_0×W} = \frac{E_b}{N_0}× \frac{R_b}{W}=\eta\frac{E_b}{N_0} \tag{1}

其中

η=Rb/W\eta=R_b/W稱爲頻帶利用率——單位頻帶內的信息傳輸速率,單位:bit/(s·Hz)

4. Eb/N0Es/N0E_b/N_0與E_s/N_0

Es=Eb×k k=log2M E_s=E_b \times k \\ \ \\ k=log_2M

於是有
EsN0=k×EbN0=log2M×EbN0(2) \frac{E_s}{N_0}=k \times\frac{E_b}{N_0}=log_2M \times\frac{E_b}{N_0} \tag{2}

由上式可以看出,Eb/N0E_b/N_0kk無關,而Es/N0E_s/N_0kk有關,kk是每個符號中包含的信息bit數,受編碼速率以及調製方式等因素的影響。在數字通信系統仿真中,多用Eb/N0E_b/N_0做爲衡量系統性能的指標。

5. Es/N0S/NE_s/N_0與S/N

由(1)(2)可知,
EsN0=k×SN×WRb=SN×TW(3) \frac{E_s}{N_0}=k \times\frac{S}{N}\times\frac{W}{R_b}=\frac{S}{N} \times TW\tag{3}

6. SNR、ebno與esno

由以上推導可以看出S/NS/NEb/N0E_b/N_0Es/N0E_s/N_0是線性關係,仿真時候可以當成一個參數看待,它們的dB形式一般用SNRSNRebnoebnoesnoesno表示,於是有
esno=ebno+10lg(k)ebno=SNR10lg(Rb/W)esno=SNR+10lg(TW) \begin{aligned} esno&=ebno+10lg(k) \\ ebno&=SNR-10lg(R_b/W) \\ esno&=SNR+10lg(TW) \end{aligned}

7. 通信系統仿真☆☆☆

首先要明白這三個信噪比的概念。

  • SNRSNR:每個採樣點上的信噪比,也是MATLAB中AWGN函數需要輸入的信噪比
  • Eb/N0E_b/N_0:比特信噪比,指的是每bit的能量與噪聲功率譜密度之比,也是BER差錯性能曲線的橫軸(BER是指比特誤碼率);
  • Es/N0E_s/N_0:符號信噪比,指的是每個符號的能量與噪聲功率譜密度之比。

相互轉換(與6中基本相同,再重複寫一遍):

  1. Eb/N0E_b/N_0Es/N0E_s/N_0之間的關係:
    Es/N0(dB)=Eb/N0(dB)+10lg(k)(4) E_s/N_0(dB)=E_b/N_0(dB)+10lg(k) \tag{4}
    2. Eb/N0E_b/N_0SNRSNR之間的關係:
    Eb/N0(dB)=SNR(dB)10lg(Rb/W)(5) E_b/N_0(dB)=SNR(dB)-10lg(R_b/W) \tag{5}

  2. Es/N0E_s/N_0SNRSNR之間的關係:
    對於實信號:
    Es/N0(dB)=SNR(dB)+10lg(0.5T/Ts)(6) E_s/N_0(dB)=SNR(dB)+10lg(0.5*T/T_s) \tag{6}

    對於覆信號:Es/N0(dB)=SNR(dB)+10lg(T/Ts)(7) E_s/N_0(dB)=SNR(dB) +10lg(T/T_s) \tag{7}

當我們要使用AWGN這個函數的時候要通過一系列轉換成需要的SNR

下面給出(6)的簡單推導:
由(3)式可知
EsN0=SN×TW\frac{E_s}{N_0}=\frac{S}{N} \times TW

根據低通採樣定理,此處令fs=2fm=2Wf_s=2f_m=2W

則,W=fs/2=12TsW=f_s/2=\frac{1}{2T_s}

帶入(3)得EsN0=SN×T2Ts\frac{E_s}{N_0}=\frac{S}{N} \times \frac{T}{2T_s}

等式兩邊取dB形式即得(6)。

對於覆信號,參考文章1中給出的解釋是:覆信號的功率譜密度爲單邊,實信號的功率譜密度爲雙邊,所以在相同信號功率的前提下覆信號的帶寬減半,功率譜密度加倍。因此實信號與覆信號相差一個係數。(注:此解釋也不是很清晰,如果之後我有好的理解方式,會給出更詳細的解釋)

mathworks官方幫助文檔也對此給出了說明,可參考:AWGN Channel

8. 仿真中的參數設置問題

  • 爲什麼要將Eb/N0E_b/N_0轉換爲SNRSNR呢?
    因爲要加入高斯白噪聲信道,高斯白噪聲信道的噪聲參數是與SNRSNR直接相關的,所以要將Eb/N0E_b/N_0轉換爲SNRSNR

  • 爲什麼仿真要用Eb/N0E_b/N_0,而不用SNRSNR呢?
    因爲用Eb/N0E_b/N_0可以直觀的看到系統性能,比如只採用QPSK,那麼BER達到千分之一時,Eb/N0E_b/N_0大約爲7;而採用單用戶,進行了信道編碼與均衡,採用QPSK星座映射,但Eb/N0E_b/N_0爲7時,BER爲百分之一,那就證明系統設計有問題或者仿真出錯了。因爲SNRSNREb/N0(dB)E_b/N_0(dB)是線性關係,所以用SNRSNR爲參數看BER只能看到大概的趨勢,不能看到系統性能到底如何。

  總的來說,就是用Eb/N0E_b/N_0(作爲BER差錯性能曲線的橫軸)來做通信系統仿真,觀察系統性能,而當仿真過程中要使用AWGN Channel(加性高斯白噪聲信道)時,需要將Eb/N0E_b/N_0轉換爲SNRSNR作爲AWGN信道參數輸入。

轉換公式:
Eb/N0(dB)=SNR(dB)10lg(Rb/W) E_b/N_0(dB)=SNR(dB)-10lg(R_b/W) 其中,η=Rb/W\eta=R_b/W稱爲頻帶利用率:單位頻帶內的信息傳輸速率,單位:bit/(s·Hz)

參考文章

1. 信噪比SNR , Eb/N0 , Es/N0區別與聯繫之深入剖析
2. 通信系統仿真中SNR,Eb/N0,Es/N0的區別與聯繫
3. SNR到底怎麼用EbNo表示


  博主不定期發佈『保研/推免、C/C++、5G移動通信、Linux、生活隨筆』系列文章,如果覺得本文對你有幫助,『點贊+關注』支持一下哦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章