基于MATLAB的循环码实验报告_第1页
基于MATLAB的循环码实验报告_第2页
基于MATLAB的循环码实验报告_第3页
基于MATLAB的循环码实验报告_第4页
基于MATLAB的循环码实验报告_第5页
免费预览已结束,剩余7页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程名称 课程名称 信息论与编码 课程设计题目 课程设计题目 循环码的编码和译码程序设计 指导教师 指导教师 系系 别 别 专专 业 业 学学 号 号 姓姓 名 名 合合 作作 者者 完成时间 完成时间 成绩 成绩 评阅人 评阅人 一 实验目的 一 实验目的 1 通过实验了解循环码的工作原理 2 深刻理解 RS 码构造 RS 编译码等相关概念和算法 二 实验原理二 实验原理 1 RS 循环码编译码原理与特点 设 C 使某线性分组码的码字集合 如果对任 它的循环 n k CcccC nn 021 移位也属于 C 则称该码为循环码 1032 1 nnn ccccC n k 该码在结构上有另外的限制 即一个码字任意循环移位的结果仍是一个有效码字 其特 点是 1 可以用反馈移位寄存器很容易实现编码和伴随式的计算 2 由于循环码 有很多固有的代数结构 从而可以找到各种简单使用的译码办法 如果一个线性码具有以下的属性 则称为循环码 如果n 元组 n k 是子空间 S 的一个码字 则经过循环移位得到的 110 n cccc 也同样是 S 中的一个码字 或者 一般来说 经过 j 次循环移位后得到的 201 1 nn cccc 也是 S 中的一个码字 11011 jnnjnjn j ccccccc RS 码的编码系统是建立在比特组基础上的 即字节 而不是单个的 0 和 1 因此它是非二进制 BCH 码 这使得它处理突发错误的能力特别强 码长 12 m n 信息段 t 为纠错符号数 tnk2 监督段 knt 2 最小码段 12 td 最小距离为 d 的本原 RS 码的生成多项式为 g x x x 2 x 3 x d 2 信息元多项式为 m x m0 m1x m2x2 mk 1xk 1 循环码特点有 1 循环码是线性分组码的一种 所以它具有线性分组的码的一般特性 且具有循环性 纠错能力强 2 循环码是一种无权码 循环码编排的特点为相邻的两个数码之间符合卡诺中的邻接条件 即相邻 数码间只有一位码元不同 因此它具有一个很好的优点是它满足邻接条件 没有瞬时错误 在数码 变换过程中 在速度上会有快有慢 中间经过其他一些数码形式 即为瞬时错误 3 码字的循环特性 循环码中任一许用码经过牡环移位后 所得到的码组仍然是许用码组 对所有的 i 0 1 2 k 1 用生成多项式 g x 除 有 n k i x 2 7 xbxgxax ii ikn 式中是余式 表示为 xbi 2 8 0 1 1 1 ii kn knii bxbxbxb 因此 是 g x 的倍式 即是码多项式 由此得到系统形式的 xbx ikn 1 xbx i kn 生成矩阵为 2 9 它是一个 k n 阶的矩阵 同样 由 G 0 可以得到系统形式的一致校验矩阵为 T H 2 10 已知 7 4 循环码的生成多项式和校验多项式分别为 1 3 xxxg 写得其生成矩阵和校验矩阵分别为 1 24 xxxxh 2 编码原理 有信息码构成信息多项式 0 1 1 mxmxm k k 其中最高幂次为 k 1 用 kn x 乘以信息多项式 m x 得到的 xmx kn 最高幂次为 n 1 该过程相当于把信息 码 1 k m 2 k m 1 m 0 m 移位到了码字德前 k 个信息位 其后是 r 个全为零 1101000 0110100 0011010 0001101 G 1011100 0101110 0010111 H 0 01 01 0 0 1 21 2 0 11 11 1 0000 010 001 bbb bbb bbb G kn xkkknk kkknk 100 010 001 0 00 20 1 1 01 21 1 1 01 21 1 bbb bbb bbb H kk kk knknkknk 的监督位 用 g x 除 xmx kn 得到余式 r x 其次数必小于 g x 的次数 即小于 n k 将此 r x 加 于信息位后做监督位 即将 r x 于 xmx kn 相加 得到的多项式必为一码多项式 1 有信息码构成信息多项式 m x mk 1xk 1 m0 其中高幂次为 k 1 2 用 xn k乘上信息多项式 m x 得最高幂次为 n 1 做移位 3 用 g x 除 xn km x 和到余式 r x 编码过程流程图 3 译码原理 1 有接收到的 y x 计算伴了随式 s x 2 根据伴随式 s x 找出对应的估值错误图样 3 计算 c x y x e x 得估计码字 若 c x c x 则译码正确 否则错误 由于 g x 的次数为 n k 次 g x 除 E x 后得余式 即伴随式 的最高次数为 n k 1 次 故 S x 共有 2n k 个可能的表达式 每一个表达式对应一个错误格式 可以知道 7 4 循环码的 S x 共有 2 7 否 4 8 个可能的表达式 可根据错误图样表来纠正 7 4 循环码中的一位错误 解码过程流程图 4 纠错能力 由于循环码是一种线性分组码 所以其纠检错能力与线性分组码相当 而线性分组码的最小距 离可用来衡量码的抗干扰能力 那么一个码的最小距离就与它的纠检错能力有关 定理 对于任一个线性分组码 若要在码字内 kn 1 检测 个错误 要求码的最小距离 e1 ed 初始化 由 R x 确定 S x S x 0 无误码误 码 由 S x 确定错误图样 E x 纠错 XRXExc 存储 c x 2 纠正 个错误 要求码的最小距离 t12 td 3 纠正 个错误同时检测个错误 则要求 te t 1 etd 循环码的译码分检错译码与纠错译码两类 在无记忆信道上 对码字 c 差错图案和接收e 向量的多项式描述为r xexcxr 定义的伴随多项式为 xr xs 1 1 2 210 mod r r xsxsxss xgxrxs 由于所以 mod0 xgxgxaxc mod xgxexs 由此可见 则一定有差错产生 或说满足的差错图样0 xs0 mod xgxe 产生 它满足 xe0 mod xgxe 循环码的检错译码即是计算并判断是否为 0 xs 三 实验分析三 实验分析 1 实验测试结果 包括译码结果 误码率与信噪比之间的关系 生成多项式 理想状态下 对信号随机的提取 编码器输入为 1000001110001000 通过 encode 函数后 因为加入了监督码 信号变得复杂密集 编码输出为 1011000101001110110001011000 通过译码输出为 1000001110001000 与编码输入一致 说明循环码的检错和纠错能力性能好 输出多项式为 g x x a x a2 x a3 a6 a5x a4x a3x2 a3x a2x x3 以 randint 函数重新做一个输入信号并进行编码 结果与上例相似 输入与输出一致 由上面所有的图可以发现 编码器输入信号并不完全相同 因为对信号的提取是随机的 所以码元 也是随机的 信号经过编码器后 因为要加入监督码 所以波形变得更加密集了 信号经过译码后 波形和编码器输入信号大致相同 说明循环码的检错和纠错能力可以 信噪比与误码率的关系比较 从图中可看出 当信噪比在 20 以内时 误码率相对比较大 最高达到 0 45 以上 而当 SNR 大于 后 信噪比保持很稳定 下面是误码率的数字显示 2 实验过程遇到的问题及解决方法 刚开始并没有注意到运用循环码时可用上简便的 Matlab 自带函数 一直苦恼怎么进行纠错编码 及解码 然后查找资料 收集了与循环码相关的函数 部分如下 1 encode 函数 功能 编码函数 语法 code encode msg N K method opt 说明 用 method 指定的方法完成纠错编码 其中 msg 代表信息码元 是一个 K 列矩阵 N 是编码 后的码字长度 K 是信息位的长度 opt 是有些编码方式需要的参数 2 decode 函数 功能 译码函数 语法 msg decode code N K method opt1 opt2 opt3 opt4 说明 这个函数对接收到的码字进行译码 恢复出原始的信息 译码参数和方式必须和编码时采用 的严格相同 它对接收到的码字 按 method 指定的方式进行译码 opt1 opt4 是可选项的参数 3 cyclpoly 函数 功能 生成循环码的生成多项式 语法 p cyclpoly N K p cyclpoly N K fd flag 说明 从 p cyclpoly N K 中可找到一个给定码长 N 和信息位长度 K 生成多项式 p 注意不是任意 给定一个多项式都可以作为生成多项式 4 randint 函数 功能 引起一致地分布的任意整数矩阵 语法 out randint m out randint m n out randint m n rg out randint m n rg state 在进行误码率与信噪比之间的关系编程后 Matlab 一直显示 其后才发现原来没有对加噪后的信号进行整形输出 于是加入 for 循环以四舍五入对信号进行 整形设定 for i 1 100 for a 1 k 1 if noisycode i a 0 5 noisycode i a 0 else noisycode i a 1 end end end 四 四 RS 码在现代通信系统中的应用码在现代通信系统中的应用 RS 编码起源于 1960 年 MIT Lincoln 实验室 经历了数十年的发展 RS 码成为了研究最详尽 分析最透彻 应用最广泛 研究成果最多的码类之一 在井下通信中的应用 由于井下空间小 供电系统布置受到很大局限 电磁干扰现象也很严重 通过选择合适的信道编码方式是抗干扰措施之一 可有效消除干扰 而由于 RSce 纠正 t 个 m 位的二 进制错误会符号 而不管这 t 个错误会符号是连续出现的还是离散出现 因此 RS 很适用于存在突发 错误信道中 如井下工作 对系统码率的降低和可靠性的提高起重要作用 井下采煤机与通信系统的硬件框图 RS 码在 PDS 水声通信技术的应用 水声通信技术信道是随机时变空变的 其多途扩展产生的码间干扰直接影响到了水声通信的质量 而 RS 是一种扩展的非二进制 BCH 码 具有与 PDS 通信相结合的优势 RS 码在无线高保真音频传输系统中的应用 在无线音频传输中 如果传输的数据出现误码 则会在播放时出现噪声或者啸叫声 所以想要确保得 到高保真的音频 控制无线传输的误码率是必须的 通常采用重传和纠错编码两种方法 重传机制对 无线信道的带宽要求更高 这里采用 RS 纠错编码的方法来控制误码率 五 实验程序五 实验程序 1 循环码编码与解码 Matlab 源程序 实验以 7 4 循环码进行分析 m 3 n 2 m 1 定义码长 k n m 信息位长 msg randint k 4 1 2 随机提取信号 引起一致地分布的任意整数矩阵 subplot 2 2 1 stem msg title 编码器输入信号 p cyclpoly n k 循环码生成多项式 n 7 k 4 code encode msg n k cyclic p 编码函数 对信号进行差错编码 subplot 2 2 2 stem code title 编码器输出信号 recode decode code n k cyclic p 对信号进行译码 对接收到的码字进行译码 恢复 出原始的信息 译码参数和方式必须和编码时采 用的严格相同 subplot 2 2 3 stem recode title 译码器输出信号 t 1 0 01 1 x recode 将 recode 赋值给 x 并进行长度与 fft 设定 N length x fx fft x df 100 N n 0 N 2 f n df subplot 2 2 4 plot f abs fx n 1 2 N grid title 频谱图 2 误码率与信噪比之间的关系程序 以 3 2 循环码进行测试 m 2 n 2 m 1 定义码长 k n m 信息位长 Fs 40 系统采样频率 Fd 1 码速率 N Fs Fd M 2 进制数 for SNRpBit 1 100 信噪比 SNR SNRpBit log2 M 制造 100 个信息组 每组 k 位 msg randint 100 k 0 1 code encode msg n k cyclic binary 加入噪声 在已调信号中加入高斯白噪声 noisycode awgn code SNR 10 log10 0 5 10 log10 N measured dB 将浮点数转化为二进制 波形整形过程 for i 1 100 for a 1 k 1 if noisycode i a 0 5 noisycode i a 0 else noisycode i a 1 end end end 译码 newmsg decode noisycode n k cyclic 计算误码率 number ratio biterr newmsg msg result SNRpBit ratio disp The bit error rate is num2str ratio end 不同信噪比下循环码经过加性高斯白噪声信道的误码率 figure 1 stem result title 循环码在不同信噪比下的误码率 legend 误码率 xlabel 信噪比 ylabel 在加性高斯白噪声下的误码率 六 实验感想六 实验感想 好像在做这个实验时 一直拖一直拖 到最后都快没时间了才查资料看例子 在这次基于 MATLAB 的通信原理课程设计中 通过查找了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论