来了来了,我的第三篇。如果断更超过两个月那估计已经辞职或者转行了。
(不会写的严谨详细,只是有针对性的写自己的理解。才疏学浅肯定会犯错,若有原则性错误欢迎大佬指正,希望大家自行判断)
最近在学习做电子抗干扰攻击的东西,所以可能这一篇后面要一个月再写。
学通信的对这个词绝对熟悉的不能再熟悉,通信万物的基石,公式背的溜溜的,那它是怎么来的?它的单位是什么(包括一些相关信息论要素的单位)?它具体表述了什么东西?其实很多人都不会特别在意,仅仅知道这个公式,这一篇将带你从数学角度,深入了解。
信道容量是什么
直白一些,表示在给定信道条件下,单位时间内能够可靠传输信息的最大速率。
换句话讲就是,直接决定了信息传输速率的上限。信道容量就是基于平均交互信息量!!!
香农理论:如果信息速率 (最大信道容量),一定存在一种编码技术,使得信息可以通过信道以任意小的错误概率传输;如果不符合,则无法实现无差错传输。(香农:通信理论的神)
也就是说当今的编码等手段,都是为了无限逼近理论的最大信道容量。而当下的一些技术已经极其接近(如 迭代的Turbo检测 , LDPC码,后续也会出相关文章)
信息论相关知识
那先简要介绍一下必备知识
1. 信息量
信息量的本质就是概率问题。概率越大,所含信息量越少;概率越小,所含信息量越大。
根据生活经验也很好理解
比如说,判断明天是否下雨。突然有人告诉你“明天要下雨了!”,你会很震惊,心想:“啥?真的假的?”这个消息的信息量就很大,因为它太出乎意料了。
但如果每天都下雨(概率很大,比如90%),有人说“明天要下雨”,你会觉得“哦,又下雨,没啥特别的”,这个消息的信息量就很小,因为你早就习惯了。当第二天发现下雨了,那这个信息量为0,结果十分确定不包含其他信息。
那我们怎么量化呢,香农(神!)给出通信的信息量公式
p(x)是事件概率。那么结合上述,也很容易理解。在通信中,单位是 bits
为什么是bits呢??? 因为以2为底数,只有0或1,直接从底层定义了(神)
2. 熵
定义为:描述系统整体不确定性的指标(平均信息量)
还是下雨,当有人说明天要下雨,你也可以认为明天会下雪,会晴天,会多云,会下刀子.....它是所有可能事件的信息量的加权平均。通俗来说,熵告诉你一个系统有多“乱”或“不好预测”。结果概率差不多(比如晴天、多云、下雨、下雪差不多可能),熵就很高,因为你完全猜不到会发生啥。
那么在无记忆的信源下(前后信息独立,这个前提非常重要)
码元m在N个码元组成的信源中,出现的概率为p,即出现 p*N 次,那么一共是
码元m可以看作一个总类,实际上码元m可以看作不同类型的信息,那么假设有q个类型
那么
(bits/symbol)
熵的单位是 bits/symbol,也就是一个码元内的所含信息位数。
若无记忆信源传输速率是 R ,则信息速率为
3.平均交互信息量
这里直接给出公式
自己可以慢慢凑。注意 这里是平均交互信息量,不要和上述信息量搞混虽然都是 I
信道容量推导
假设我们在 高斯分布 下,(因为高斯分布具有最大信息熵的存在)
信道 n (就是高斯噪声):高斯分布,方差(即噪声能量)
输入x:高斯分布,方差(即信号能量)
输出y:高斯分布 , 方差(即接收信号能量)
均值为0 ;
那么 输出信号的PDF为
由此算到接收信号的熵
继续计算 H(y|x),这里要注意,在已知x条件下算y,y由x和n组成,但是n与x无关,那么
最终
(bits/symbol)
若有采样速率 f = 2B(symbol/sec),那么高斯模型下,信道容量C为
(bits/sec)
注意: 采样速率 f 即符号速率,Np = N0 * B,B 是信道带宽(即通带RF带宽)
或者 除以 B , 得到
(bits / Hz)
以上就是香农公式的由来,它根据模型特点,定义了理论的界限。
从SISO到MIMO (注水算法)
由上文,我们可以直接得知,单进单出SISO的信道容量为
(bits / Hz)
那么引伸到MIMO信道呢????先介绍一下MIMO(懒得打了从我硕士论文里面截的)
同样的,要求信道容量从源头平均交互信息量开始:
一样的计算熵
,
, , 考虑能量限制
最后得到 (省略一些无关项)
其实你仔细看,只不过写成了矩阵形势,运用到矩阵和标量的东西。
看公式,为了求得最大信道容量,不光和信道有关,也和发射信号矩阵(分配)息息相关。
那么接下来,我们讨论 CSI/CSI模式 即收发方都已知信道状态信息。(高性能)
引出主角,赫赫有名的 注水算法
(当然还有 CDI/CSI 模式,即发方只知道信道的模型分布信息(大致),收方知道信道状态信息(具体真实),不过这次暂时不讲,以后有时间详细说明)
为了更好的分解MIMO信道,运用到一个非常非常非常关键的方法,奇异值分解
H 是信道矩阵,U和V是酉矩阵, 是对角矩阵(信道H的奇异值)
酉矩阵 这个概念在MIMO优化中也常出现,不了解的查一下。
那么我收发端都已知 H,那么换一种思维,发端做 预编码 V,收端做 后处理 U^H
那么我们信号 从 变成了 , 将代入
这不就把MIMO信道等效成多个独立的SISO信道吗???那么假设有 r 个独立的SISO(当然看具体信道矩阵,现在只是假设),第 i 个信道的信道容量
(bits/Hz)
S是发射信号的功率 E(|x|^2) , N 为噪声功率 , 为信道增益。
那我现在有个非常重要的限制条件,发射功率是有限的 即 , 对应一开始的 。为了方便 设作 ,
那么有限制条件,有信道容量表达式,求最大值?? 拉格朗日乘数法
对Si求导 , 并整理,(注意常数因子可以被 常数 吸收)
整理得到
表示都为正数。
看这个公式的意思,不就是,信道增益值越大,该信道发射信号的功率也分配越多。
图来自《MIMO--OFDM Wireless Communications with MATLAB》
通过一些额外的限定,对公式做了简化。
在这个条件下,得到最大的信道容量。所以注水算法本质上是资源分配算法。
结语
后面估计要过几周才开始写,接下来打算写几篇OFDM(真的是变革性的波形设计),从连续,离散,到傅里叶变换,再到OFDM设计体系,还是一样的,会从数学角度分析优越性和合理性,传统通信比现在的AI智能通信优越的就是可解释性和时效性,脱离数学解释的文章,一般不会写。
平时也偶尔看一些AI通信的文章,说实话,个人认为大部分没有营养。不过思考了一下AI,我估计对于传统通信模块还是不会应用AI,通信本身就对实时性要求是非常高的。况且AI也是基于大型真实数据,传统通信也是基于各种随机模型,可能AI可以拟合的更好吧,得找到合适的应用场景。想要革命突破通用场景,个人拙见可能要用一种方式颠覆传统信息论,或者设计出革命性的波形。很期待那一天。
最近还是决定学一点FPGA的东西,有点烦,感觉要学的东西还是好多。也挺有意思的,不出来工作确实看不到这个行业的真实情况,可能还沉浸在学生的理想主义中。