4c5ca74ce82b7497c5133abab10b181b.ppt
- Количество слайдов: 18
卷积码编码及其维特比译码 的C 54 x Simulator仿真试验 郭焕丽 张旭博 王晓芬
主要内容 l 卷积码编码原理 l 维特比译码原理 l Matlab实验 l DSP仿真实验
1. 卷积码编码 l 卷积编码则把k比特信息段编成n比特的 码组,但所编的n长码组不仅同当前的k 比特信息段有关联,而且还同前面的(N 1)个信息段有关联,人们常称这N为该卷 积码的约束长度。 l 一般来说,对于卷积码,k和n是较小的 整数, 常把卷积码记作(n, k, N)卷积码,它 的编码效率为R=k/n。
1.1 卷积码的图形描述 l (2, 1, 2)卷积码编码器 路径2 + 输入 D D 输出 + 图 1 路径1
生成多项式 : 上式也可以写成二进制或八进制
1. 2 卷积码的描述 1. 树状图 树状图描述的是在任何数据序列输入时,码字所有可能 的输出。 (2, 1, 2)卷积码的编码可以画出其树状图如图 2所示。
图 2 :(2, 1, 2)卷积码的树状图
2. 网格图 格图也称网络图或篱笆图,它由状态图在时间上展开而 得到,如图 3所示。图中画出了所有可能的数据输入时, 状 态转移的全部可能轨迹,实线表示数据为 0,虚线表示数据 为 1, 线旁数字为输出码字,节点表示状态。
图 3:(2, 1, 2)卷积码的网格图
2. 卷积码的维特比译码是一种最大似然译码算法。 最大似然译码 算法的基本思路是:把接收码字与所有可能的码字比较,选 择一种码距最小的码字作为解码输出。 由于接收序列通常 很长,所以维特比译码时最大似然译码做了简化, 即它把 接收码字分段累接处理,每接收一段码字,计算、 比较一 次, 保留码距最小的路径,直至译完整个序列。
现以上述(2, 1, 2)码为例说明维特比译码过程。 设发送端的信息 数据[00000], 由编码器输出的码字A=[ 00000],接收端接收的 码序列 B=[ 010000] 有2位码元差错。下面参照图 3的格状图说明 译码过程。 如图 4所示,先选前 3 个码作为标准,对到达第 3 级的 4 个 节点的 8 条路径进行比较, 逐步算出每条路径与接收码字之间的累 计码距。累计码距分别用括号内的数字标出,对照后保留一条到达该 节点的码距较小的路径作为幸存路径。再将当前节点移到第 4 级,计 算、比较、保留幸存路径,直至最后得到到达终点的一条幸存路径, 即为解码路径,如图 4中实线所示。 根据该路径, 得到解码结果。
译码输出为: 00000 图 4: 维特比译码的网格图
3. 卷积码编译码的Matlab仿 真 1. convenc函数为:卷积码编码函数,对k 位信息比特进行卷积编码 2. poly 2 trellis函数为: 卷积码生成矩阵函 数 3. vitdec函数为译码函数
4. 卷积码编码的C 54 x Simulator仿真试验 初始化 探针从PC文件 中读取比特数 据 主程序完成 对输入比特的 卷积编码 探针将已编 码的数据写入 文件
编码结果对比 未编码 数据 MATLAB编 码后的数据 DSP编码后 的数据
Viterbi译码的C 54 x Simulator 仿真试验 初始化 探针从PC文件 中读取比特数 据 主程序完成 对输入比特的 译码 探针将已译 码的数据写入 文件
译码实验结果对比 MATLAB 译码结果 DSP译码 结果
4c5ca74ce82b7497c5133abab10b181b.ppt