功能描述:
Q1:為什么要將EbNo轉換為SNR呢?
A:因為要加入高斯白噪聲信道,高斯白噪聲信道(awgn)的噪聲參數是與SNR直接相關的,所以要將EbNo轉換為SNR。
Q2:為什么仿真要用EbNo,而不用SNR呢?
A:因為用EbNo可以直觀的看到系統性能,比如采用只采用QPSK,那么BER達到千分之一時,EbNo大約為7,如果采用單用戶,進行了信道編碼又進行了均衡,也采用QPSK星座映射,但EbNo為7時,BER為百分之一,那就證明系統設計有問題或者仿真出錯了。因為SNR和EbNo是線性關系,所以用SNR為參數看BER只能看到大概的趨勢,不能看到系統性能到底如何。
總的來說,就是:Matlab加AWGN時以SNR加的,
但是系統性能一般繪制EbN0與BER的曲線。
換算:SNR = EbN0 + 10log10(nBits*coderate) - 10log10(0.5or1 * upfactor)
參數說明:
nBits:每個符號或者碼元中的信息比特數目(BPSK-1,QPSK-2,16QAM-4)
Coderate:編碼碼率
例如:
BPSK中把1,0映射為±1時,為實數,最后一項為0.5*……
若把1,0映射為1+j和-1-j,則為復數,最后一項為1*……
SNR到底怎么用EbNo表示,舉個例子來說明。
假如要傳送一些速率為1kb/s的數據,信道編碼采用1/3卷積編碼,每秒在這些編碼數據前添加200bit的訓練序列,星座映射采用QPSK,波形成形采用因子為0.25的升余弦函數,上采樣倍數為10。
首先來看一下經過各模塊速率的變化,原始信息速率為1kb/s,1/3卷積編碼后變為3kb/s,也就是每秒傳3000bit數據,添加200bit的訓練序列后,變為每秒傳3200bit,此時速率變為3.2kb/s,采用QPSK調制后,速率變為1.6ksymble/s。
再來看看EbNo和SNR的單位。
EbNo就是Eb/No。 Eb表示單位比特的能量,單位是焦耳(Joules)。No表示功率譜密度,單位是瓦特/赫茲(Watts/Hz)。SNR就是S/R。S表示信號功率,單位是瓦特(Watts)。N表示噪聲功率,單位是瓦特(Watts)。顯然SNR單位是無量綱的。EbNo的單位是Joules·Hz/ Watts,其實也是無量綱的。因為Watts表示是焦耳/秒(Joules /s),而1 Hz=1/s。這樣可以得到下式。Joules·Hz/ Watts=Joules·(1 /s)/(Joules /s)=1
就前面的例子來說,可以EbNo和SNR是這樣轉換的。
SNR=EbNo·(1/3)·(3000/3200)·2·(1/10)·(1/1+0.25)用dB表示,就是
SNR=EbNo+10log(1/3)+10log(3000/3200)+10log(2)-10log(10)-10log(1+0.25)
此處log以10為底,其中1/3是卷積碼引入的,3000/3200是因為添加了訓練序列這個額外的開銷而引入,2是QPSK引入的, 10是成形前上采樣引入的, 1是因為QPSK為復數調制,0.25是升余弦波形引入的。
一般很容易忘記考慮訓練序列或者保護間隔,一般影響不大,本例中10log(3000/3200)接近0,但其他各項影響都很大,如果仿真結果性能超好,應該看看是否忘記哪項了。
如果系統還進行了擴頻,比如添加訓練序列后進行了16倍擴頻,那么還要考慮擴頻增益帶來的影響,應該還要加上10log(1/16)。
驗證兩個程序的snr性能時,兩個程序里定義相同的snr,然后分別加awgn(x,snr,'measured'),畫圖用snr作x軸
驗證兩個程序的ebn0性能時,兩個程序里定義相同的ebn0,然后分別寫出其和snr的關系式,然后分別加awgn(x,snr,'measured'),畫圖用ebn0作x軸
對于復數調制加噪聲時,對I、Q路分別用awgn和對I+j*Q用awgn加噪聲后再取實部和虛部結果相同
用bertool得到BPSK和QPSK在ebn0下的ber性能相同;
自己驗證ebn0下的ber時,對于BPSK加snr=ebn0-10log10(0.5),對于QPSK加snr=ebn0+10log10(2)-10log10(1)得到相同ber,
或者對BPSK加snr=ebn0-10log10(1)對BPSK用復數調制,也可以得到和QPSK相同的ber
Relationship Among Eb/No, Es/No, and SNR
For complex input signals, the AWGN Channel block relates Eb/N0, Es/N0, and SNR according to the following equations:
Es/N0 = (Tsym/Tsamp) · SNR
Es/N0 = Eb/N0 + 10log10(k) in dB
where
Es = Signal energy (Joules)
Eb = Bit energy (Joules)
N0 = Noise power spectral density (Watts/Hz)
Tsym is the Symbol period parameter of the block in Es/No mode
k is the number of information bits per input symbol
Tsamp is the inherited sample time of the block, in seconds
For real signal inputs, the AWGN Channel block relates Es/N0 and SNR according to the following equation:
Es/N0 = 0.5 (Tsym/Tsamp) · SNR
Note that the equation for the real case differs from the corresponding equation for the complex case by a factor of 2. This is so because the block uses a noise power spectral density of N0/2 Watts/Hz for real input signals, versus N0 Watts/Hz for complex signals.
|