序最近,由于通信工作,老师要求我们实现通道加密和信源的几种方式。 其中的HDB3编码花了我一点功夫,我会记录下来
相关的概念信道编码在移动通信中存在干扰和衰落,信号传输中会发生错误,因此对数字信号采用纠错、检错技术,也就是纠错、检错编码技术,以提高数据对信道传输时各种干扰的耐受性,从而信道上传输的数字信号的纠错、检错编码是信道编码。
源代码对源输出符号序列的统计特性寻找某些方法,将源输出符号序列转换为最短的码字序列,最大化后一个符号上的平均信息量,同时确保无失真地恢复原始符号序列。
基带传输----模拟信号-----源代码-----数字基带信号
对该信号进行编码,不进行调制而直接发送到信道,成为数字信号的基带传输。
频带传输(发送侧)数字基带信号((数字调制器调制) ) )发送并发送数字载波信号。
接收端------相应的数字解调器解调------恢复为数字基带信号。
经过这种调制和解传输数字信号的方式被称为数字信号的波段传输。
基带传输系统模型
信道编码信道编码是各种各样的,根据传输方式而不同,但一般的基带传输编码方式如下:
amicmihdb3ami : (alternativemarkinversion )信号交变代码中,'0'代码保持不变,"1"代码为交变代码,因此长连"0"时,示波器等接收个
CMI CMI (编码矩阵变换)代码是符号反转代码的简称,其编码规则是用“11”和“00”两位代码交替表示“1”代码,固定地用“01”表示“0”代码
高密度双极代码(hdb 3: )三级高密度双极代码。 Hdb3是我用这三个中最长时间写的代码,所以现在让我们重点谈谈我自己的个人理解。 Hdb3代替AMI使用,如上所述,如果AMI遇到长连“0”的情况,波型可能不会改变,因此Hdb3在长连“0”的情况下规定了以下规则。
1 .如果数字信号没有4连“0”(连续出现4个0 ),则代码与AMI相同
2 .数字信号中4连:“0”时,将最初出现4连“0”的地方: 0000设为000V。 q这里的“v”表示“1”电平,也就是我们的高电平代码。 第二次撞到0000的时候,我们在这里必须考虑两种情况。
000变为000V
如果两个“v”,即第一次出现4连“0”和第二次出现4连“0”之间有奇数个“1”代码,则此时0000为000V,其中“v”表示“1”
000变为B00V
如果两个“v”之间有偶数个“0”,则这里的“0000”为“B00V”,其中“b”和“v”的极性相同,因此这里的极性主要取决于“b”的极性。 那么,我们如何判断我们“b”的极性呢?
' b '的极性与之前相邻的“1”的极性相反。 源代码
源代码的含义是将我们的信息,即我们所说的源代码,按照一定的代码规则将信息转换为“0”和“1”序列。
常用源代码香农码费诺码wxdls码香农码:
香农代码示例:
香农编码算法示例:
费诺码:费诺码的方法在我看来是二分法,按照我们信号出现概率的大小顺序排列,等分概率的原则,分为“0”和“1”符号,循环到最后。 看图理解:
wxdls编码可能是最常见的编码。 因为数据结构中有wxdls树,所以大多数人都会记得那个规则吧。 把我们的值,从最小的开始,用两个组合做成新的值,加入这个值进行同样的操作就可以了,构成了二叉树。
看图理解:
为什么有两种呢?
wxdls编码方法获得的不是唯一的,并且每当源被缩减时,提供给源的最后两个概率最小的符号是“0”和“1”,并且因此可以获得不同的wxdls码而不影响码字的长度。 在削减源时,如果两个概率最小的符号被聚合的概率与其它源符号的概率相同,则其在削减源中概率性地重新排序,且因为其位置的排列次序是任意的,所以还得到不同的wxdls码。 (一般来说,合并概率放在上面的话,马的方差会变小。产生的wxdls树
总结:
以上是通信技术课老师主要讲的六中编码方式。 如果需要实现代码,可以访问GitHub。