本文主要参考了Matlab复现Ungerboeck的TCM经典论文
非常感谢原博主!
其中信道容量相关公式的推导稍有难度,因此记录下来,方便后续回看。
一、研究背景
无线通信系统中,信道容量是衡量信道传输性能的重要指标,它表示在给定的信道条件下,系统能够传输的最大有效信息量。
AWGN信道是一种常见的理想化信道模型,它的瞬时值服从高斯分布,功率谱密度服从均匀分布。加性高斯白噪声在理论和实际应用中都具有重要地位,因此常用于通信系统仿真。
二、研究内容
首先,根据假设的前提建立系统模型,由基本的信道容量表达式进行理论推导,得到最终可用于仿真的公式。
然后进行蒙特卡洛仿真,得到不同调制阶数下,信道容量随信噪比变化的曲线。
最后对生成的仿真结果进行对比分析。
三、研究方法设计
1.建立模型
(1)模型假设
①系统输入离散,输出连续
②采用m-PAM编码方式
③AWGN信道
④假设信道输入的离散符号等概率出现
(2)信道容量公式推导
根据建立的系统模型,有:
z n = a n + w n z_n=a_n+w_n zn=an+wn (1)
其中, z n z_n zn为接收端连续信号, a n a_n an为发送端离散信号, w n w_n wn为加性高斯白噪声。
根据信息论知识,信道容量表达式:
C = m a x { I ( Z ; A ) } = m a x { H ( Z ) − H ( Z ∣ A ) } C=max\left \{ I(Z;A) \right \}=max\left \{ H(Z)-H(Z|A) \right \} C=max{I(Z;A)}=max{H(Z)−H(Z∣A)} (2)
其中
I
(
Z
;
A
)
I(Z;A)
I(Z;A)为互信息量,
H
(
∙
)
H(\bullet )
H(∙)为信息熵。
又
H ( Z ) = − ∑ p ( z ) l o g 2 p ( z ) H(Z)=-\sum p(z)log_2p(z) H(Z)=−∑p(z)log2p(z) (3)
H ( Z ∣ A ) = − ∑ a ∑ z p ( a , z ) log p ( z ∣ a ) H(Z\mid A)=-\sum_{a}\sum_{z}p(a,z)\log p(z\mid a) H(Z∣A)=−a∑z∑p(a,z)logp(z∣a) (4)
代入(2)式,并将z推广至连续情况,则有:
C = m a x { ∑ k = 0 N − 1 ∫ − ∞ ∞ Q ( k ) p ( z ∣ a k ) log 2 p ( z ∣ a k ) d z − ∫ − ∞ ∞ p ( z ) log 2 p ( z ) d z } C=max\{\mathrm{\sum_{k=0}^{N-1}\int_{-\infty}^\infty Q(k)p(z|a^k)\log_2p(z|a^k)dz-\int_{-\infty}^\infty p(z)\log_2p(z)dz}\} C=max{k=0∑N−1∫−∞∞Q(k)p(z∣ak)log2p(z∣ak)dz−∫−∞∞p(z)log2p(z)dz}(5)
其中, N N N为离散输入符号 a 0 , a 1 … a N − 1 {{a^0,a^1…a^{N-1}}} a0,a1…aN−1的个数。 Q ( k ) Q(k) Q(k) 是符号 a k a^k ak出现的概率。
因为,
p ( z ) = ∑ k = 0 N − 1 Q ( k ) p ( z ∣ a k ) p(z)=\sum_{k=0}^{N-1 }Q(k)p(z∣a^k) p(z)=k=0∑N−1 Q(k)p(z∣ak) (6)
并且假设输入信号等概率出现,可以省略上式中 Q ( k ) Q(k) Q(k)的最大值。
因此式(5)变形可为,
∑ k = 0 N − 1 Q ( k ) ∫ − ∞ ∞ p ( z ∣ a k ) log 2 { p ( z ∣ a k ) ∑ i = 0 N − 1 Q ( i ) p ( z ∣ a i ) } d z \mathrm{\sum_{k=0}^{N-1}Q(k)\int_{-\infty}^\infty p(z|a^k)\log_2\left\{\frac{p(z|a^k)}{\sum_{i=0}^{N-1}Q(i)p(z|a^i)}\right\}dz} k=0∑N−1Q(k)∫−∞∞p(z∣ak)log2{∑i=0N−1Q(i)p(z∣ai)p(z∣ak)}dz (7)
这就是最终得到的系统信道容量的理论公式。
为了进行蒙特卡洛仿真求得最终结果,需要将其转化为能够进行随机抽样的形式。根据概率论知识,有
E [ g ( x ) ] = ∫ g ( x ) f ( x ) d x E[g(x)]=∫g(x)f(x)dx E[g(x)]=∫g(x)f(x)dx (8)
其中, f ( x ) f(x) f(x)为 x x x的概率密度函数。
在式(8)中,令 F ( x ) = g ( x ) f ( x ) F(x)=g(x)f(x) F(x)=g(x)f(x),则
∫ F ( x ) d x = E [ F ( x ) f ( x ) ] ∫F(x)dx=E[\frac{F(x)}{f(x)}] ∫F(x)dx=E[f(x)F(x)] (9)
式(9)就是通过蒙特卡洛仿真求解积分的理论依据。在实际操作中,只需要进行一系列随机抽样,得到服从 f ( x ) f(x) f(x)分布的若干样本,就可以通过求期望的方式计算出积分值。
对于上述信道容量模型,根据AWGN信道的特点,可知条件概率 p ( z ∣ a k ) p(z|a^k) p(z∣ak)就是以 a k a^k ak为均值的高斯分布。故,取
f ( z ) = p ( z ∣ a k ) = 1 2 π σ e − ∣ z − a k ∣ 2 2 σ 2 f(z)=p(z|a^k)=\frac1{\sqrt{2\pi}\sigma}e^{-\frac{\left|z-a^k\right|^2}{2\sigma^2}} f(z)=p(z∣ak)=2πσ1e−2σ2∣z−ak∣2 (10)
则式(7)变形为,
C = ∑ k = 0 N − 1 Q ( k ) ⋅ E { log 2 { p ( z ∣ a k ) ∑ i = 0 N − 1 Q ( i ) p ( z ∣ a i ) } } C=\sum_{k=0}^{N-1}Q(k)\cdot E\{\log_2\left\{\frac{p(z|a^k)}{\sum_{i=0}^{N-1}Q(i)p(z|a^i)}\right\}\} C=k=0∑N−1Q(k)⋅E{log2{∑i=0N−1Q(i)p(z∣ai)p(z∣ak)}}(11)
并且由于输入符号等概率出现,故 Q ( k ) = Q ( i ) = 1 / N Q(k)=Q(i)=1/N Q(k)=Q(i)=1/N. 再将(1)式代入,整理得:
= log 2 ( N ) − 1 N ∑ k = 0 N − 1 E { log 2 ∑ i = 0 N − 1 exp [ − ∣ a k + w − a i ∣ 2 + ∣ w ∣ 2 2 σ 2 ] } =\log_2(\mathrm{N})-\frac{1}{\mathrm{N}}\sum_{\mathrm{k}=0}^{\mathrm{N}-1}\mathrm{E}\left\{\log_2\sum_{\mathrm{i}=0}^{\mathrm{N}-1}\exp\left[\frac{-|\mathrm{a}^\mathrm{k}+\mathrm{w}-\mathrm{a}^\mathrm{i}|^2+|\mathrm{w}|^2}{2\sigma^2}\right]\right\} =log2(N)−N1k=0∑N−1E{log2i=0∑N−1exp[2σ2−∣ak+w−ai∣2+∣w∣2]} (12)
式(12)中, a a a和 w w w都可以通过抽样得到,因此可以进行蒙特卡洛仿真,求得最终结果。
2.随机抽样
(1)生成发送端离散符号𝑎
首先根据PAM的原理生成星座图。假设每个符号等概率出现,对于一共m个星座点,就可以得到它们的概率分布函数(CDF)。
然后生成服从(0-1)均匀分布的若干样本x,将x对应到CDF各个区间进行判决,映射成为星座点,也就得到了若干个𝑎值。
(2)生成噪声𝑤
星座图中距离代表信号幅度,据此可以得到输入离散信号的平均功率𝑆,假设条件中,设置信噪比范围在-15-50dB,故而可根据式(13)求得噪声功率.
σ 2 = S S N R σ^2=\frac{S}{SNR} σ2=SNRS (13)
进而得到标准差𝜎,这样就能生成服从均值为0,标准差为𝜎的高斯白噪声𝑤。
3.得到估计量
在实际程序中,设定迭代次数为 每次取 个样本点,这样根据式(12)求得的C就是系统信道容量的估计值。画出信道容量在不同调制阶数、不同信噪比下的变化曲线,就可以对仿真结果进行分析,得到最终结论。
四、仿真结果统计和分析
除了m=4, 8, 16, 32, 64的上述5条曲线,还另外绘制了根据香农公式得到的信道容量理论极限值,用于对比分析。
如图所示,可以看出,对于同一种调制方案,信道容量会随着信噪比的增加而增加,并最终趋向一个极限值;在信噪比相同的情况下,随着调制阶数m的增加,信道容量也在增加。
但无论信噪比和阶数m如何增大,最终信道容量依旧达不到香农公式所给出的理想值,这是因为对m-PAM来说,固定的符号数m限制了每个符号所能携带的最大比特数。所以尽管SNR还在继续增大,信道容量却不会无限增加,而是趋于一个极限值。
因此,在后续研究中,可以引入信道编码、采用多天线技术、复用技术等,来进一步提高信道容量,不断优化无线通信系统的性能。
相关蒙特卡洛仿真代码,可参考:
Matlab复现Ungerboeck的TCM经典论文
⋆ \star ⋆不过上述文章给出的代码中,第60行似乎应该是
inner = (Noise+a(k)-a(i));