文章目录
前言
事情的起因源自学长给的MQAM误码率理论曲线,其中有2种曲线,Fig.1 中仿真曲线与理论曲线重合,Fig.2 中在低EbN0的时候出现了不贴合的现象,这让我非常疑惑,于是查找了理论公式的原始推导,网上的命名与定各种各样,非常容易让人混淆,于是在此重新整理出几种理论误码率推导的方法。
Fig.1. BER vs. EbN0 @MQAM Sim,Approx_Theory
Fig.2. BER vs. EbN0 @MQAM Sim,Theory_2
一、EbN0 、SNR的转换
在下面理论推导中需要用到Es和Eb的转换,先把转换公式列出。
E
s
=
E
b
×
l
o
g
2
(
M
)
S
N
R
=
E
s
N
0
=
E
b
N
0
×
B
i
t
R
a
t
e
B
a
u
d
R
a
t
e
S
N
R
_
d
B
=
10
l
o
g
10
E
b
N
0
+
10
l
o
g
10
B
i
t
R
a
t
e
B
a
u
d
R
a
t
e
=
E
b
N
0
_
d
B
+
10
l
o
g
10
(
M
)
E_s=E_b×log_2(M) \\ SNR=\frac{E_s}{N_0}=\frac{E_b}{N_0}×\frac{BitRate}{BaudRate} \\SNR\_{dB}=10log_{10}\frac{Eb}{N_0}+10log_{10}\frac{BitRate}{BaudRate}=EbN0\_dB+10log_{10}(M)
Es=Eb×log2(M)SNR=N0Es=N0Eb×BaudRateBitRateSNR_dB=10log10N0Eb+10log10BaudRateBitRate=EbN0_dB+10log10(M)
实际应用中要分清
二、理论公式推导
本文推导前提是AWGN信道
1.第一种MQAM的近似公式
这里直接给出第一种理论公式,这种公式的推导比较复杂,这里不作具体研究。
P
b
≈
2
l
o
g
2
M
⋅
(
1
−
1
M
)
⋅
e
r
f
c
(
3
S
N
R
2
(
M
−
1
)
)
P_{\mathrm{b}}\approx \frac{2}{log_2M}\cdot \left( 1-\frac{1}{\sqrt{M}} \right) \cdot erfc\left( \sqrt{\frac{3SNR}{2(M-1)}} \right)
Pb≈log2M2⋅(1−M1)⋅erfc(2(M−1)3SNR)
特例是,当M=2或4,也就是BPSK和QPSK的情况,上式可以取等号,也就是说此时不是近似公式,而恰好是理想公式。
2.第二种MQAM的近似公式
2.1 BPSK的公式推导
Fig.3. BPSK 高斯噪声分布函数
单个符号错误概率,例如S0误码为S1的概率为
P
S
0
=
P
(
n
≥
d
2
)
=
∫
d
2
∞
1
2
π
σ
2
e
−
n
2
2
σ
2
d
n
=
∫
d
2
σ
∞
1
2
π
e
−
t
2
2
d
t
(
n
σ
=
t
,
d
n
=
σ
d
t
)
=
Q
(
d
2
σ
)
\begin{aligned} P_{S0}=P(n\ge \frac{d}{2})&=\int_{\frac{d}{2}}^{\infty}{\frac{1}{\sqrt{2\pi \sigma ^2}}}e^{-\frac{n^2}{2\sigma ^2}}dn\\ &=\int_{\frac{d}{2\sigma}}^{\infty}{\frac{1}{\sqrt{2\pi}}}e^{\frac{-t^2}{2}}dt\quad (\frac{n}{\sigma}=t,dn=\sigma dt)\\ &=Q(\frac{d}{2\sigma})\\ \end{aligned}
PS0=P(n≥2d)=∫2d∞2πσ21e−2σ2n2dn=∫2σd∞2π1e2−t2dt(σn=t,dn=σdt)=Q(2σd)
其中, Q为高斯错误概率函数, 满足等式
Q
(
x
)
=
1
2
e
r
f
c
(
x
2
)
Q\left( x \right) =\frac{1}{2}erfc\left( \frac{x}{\sqrt{2}} \right)
Q(x)=21erfc(2x)
符号的平均能量, 也就是星座图的平均功率Es
E
s
=
1
2
(
(
d
2
)
2
+
(
d
2
)
2
)
=
d
2
4
E_s=\frac{1}{2}((\frac{d}{2})^2+(\frac{d}{2})^2)=\frac{d^2}{4}
Es=21((2d)2+(2d)2)=4d2
推得
d
=
2
E
s
d=2\sqrt{E_s}
d=2Es
用概率权重求整体误符号率Ps
P
S
=
1
2
P
S
0
+
1
2
P
S
1
=
Q
(
d
2
σ
)
P_S=\frac{1}{2}P_{S0}+\frac{1}{2}P_{S1}=Q\left( \frac{d}{2\sigma} \right)
PS=21PS0+21PS1=Q(2σd)
BPSK一个符号对应一个Bit,所以
P
b
=
P
S
=
1
2
e
r
f
c
E
b
N
0
P_b=P_S=\frac{1}{2}erfc\sqrt{\frac{E_b}{N_0}}
Pb=PS=21erfcN0Eb
2.2 QPSK的公式推导
Fig.4. QPSK 星座图
与BPSK类似
P
S
i
i
∈
{
0
,
1
,
2
,
3
}
=
2
P
(
n
≥
d
/
2
)
−
P
2
(
n
≥
d
/
2
)
=
2
Q
(
d
2
σ
)
−
Q
2
(
d
2
σ
)
\underset{i\in \left\{ 0,1,2,3 \right\}}{P_{S_i}}=2P(n\ge d/2)-P^2(n\ge d/2)=2Q(\frac{d}{2\sigma})-Q^2(\frac{d}{2\sigma})
i∈{0,1,2,3}PSi=2P(n≥d/2)−P2(n≥d/2)=2Q(2σd)−Q2(2σd)
E
s
=
1
4
×
4
×
(
2
d
2
)
2
=
d
2
2
E_s=\frac{1}{4}\times 4\times \left( \frac{\sqrt{2}d}{2} \right) ^2=\frac{d^2}{2}
Es=41×4×(22d)2=2d2
d
=
2
E
s
d=\sqrt{2E_s}
d=2Es
P
S
=
2
Q
(
d
2
σ
)
−
Q
2
(
d
2
σ
)
P_S=2Q(\frac{d}{2\sigma})-Q^2(\frac{d}{2\sigma})
PS=2Q(2σd)−Q2(2σd)
P
S
=
e
r
f
c
E
b
N
0
−
1
4
e
r
f
c
2
E
b
N
0
P_S=erfc\sqrt{\frac{E_b}{N_0}}-\frac{1}{4}erfc^2\sqrt{\frac{E_b}{N_0}}
PS=erfcN0Eb−41erfc2N0Eb
到这里,前面都与BPSK类似,但是对于二维的信号,Ps与Pb满足下式,该式其实是定义是,是最准确的公式
P
s
=
1
−
(
1
−
P
b
)
N
P_s=1-(1-P_b)^N
Ps=1−(1−Pb)N
其中
N
=
log
2
M
N=\log _2M
N=log2M
该式泰勒展开,在Pb足够小时,展开到一次项,得到近似关系
P
s
=
P
b
log
2
M
P_s=P_b\log _2M
Ps=Pblog2M
于是QPSK的误码率可以推到
P
b
=
1
2
e
r
f
c
E
b
N
0
−
1
8
e
r
f
c
2
E
b
N
0
P_b=\frac{1}{2}erfc\sqrt{\frac{E_b}{N_0}}-\frac{1}{8}erfc^2\sqrt{\frac{E_b}{N_0}}
Pb=21erfcN0Eb−81erfc2N0Eb
2.3 几种推导方式的关系论述
首先从前面的定义式反推出
P
b
=
1
−
1
−
P
s
N
P_b=1-\sqrt[N]{1-P_s}
Pb=1−N1−Ps
这是最准确的关系式,如果在仿真中使用足够长的序列,最后的性能曲线会趋近于该式算出的结果。下表是前面提到的3种理论BER计算方式,Sim代表定义式,也就是仿真所趋近的实际值,Theory-1是2.1节提出的近似式,Theory-2是在2.2节推导出的式子,16QAM不做详细推导,具体可以参考: M-QAM的SER/BER/误码率计算
三个方式的关系为,Sim是最准确的公式表达,Theory-1是通过积分推导得到的近似公式,Theory-2是泰勒展开得到,但弊端是在高信噪比的时候才更加准确,否则需要展开出更多项来逼近真实值。
三. 仿真结果
仿真代码链接:https://download.youkuaiyun.com/download/qq_26157161/88886758