缩短bch码能用matlab,BCH码编译码matlab仿真.doc

范文范例 学习指导

word 完美格式 整理

信道编码姓 名:郭宇琦 学 号:xxx2009xxx实验目的复习巩固BCH码编码译码知识。使用matlab进行实践编写BCH,了解实际应用中BCH的编码译码过程。结合实践验证所学BCH码知识。实验原理BCH 码是用于校正多个随机错误的多级、循环、错误校正、变长数字编码,是循环码的子类。本原BCH码编码原理如下:确定n、m、t.用函数构造扩域,q=2取二进制,取本原元,根据纠错能力t,确定连续根。通过逐个验证每个元素来找出每一个根的全部共轭根系。根据计算最小多项式。所有非共轭根系的最小多项式乘积得到生成多项式利用系统码编码方程,进行编码。BCH码译码方法主要有Peterson译码法和Berlekamp迭代译码法等,其中Peterson译码方法如下:1. 计算伴随式。已知接受向量,则2.求解错误位置。引入错误位置多项式,将求解错误位置的问题转化为求解线性方程组的问题 3.用Peterson译码方法译码,解出错误位置多项式系数和错误图样,得到估值码字。 (1).假设e=t,计算S行列式M的值。M=0则降阶,e=e-1,同样计算直到M≠0. (2)将上面得到的2t个连续根代入试根,求上述方程组解。取倒数即为错误位置。由此写出错误图样。 (3)求出译码。每一步具体的实现方法,详见程序源代码注释。程序框图编码框图

过信道框图

译码框图实验结果分析结果截图:上面是较高信噪比时127位BCH正确译码下面是较低信噪比时127为BCH错误译码结果框内容(加粗部分是手动输入内容,下划线是结果重点):---简易BCH编码译码系统---输入码长n=128错误:只支持本原BCH码输入码长n=127输入纠错能力t=6计算得码长 k=85自动生成随机信息序列输入1,手动键入信息序列输入0 :1随机生成的序列为 m= 0 0 1 0 1 0 1 1 0 1 0 1 0 0 0 0 0 1 1 0 0 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 0 1 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1编码后生成码序列为 0 0 1 0 1 0 1 1 0 1 0 1 0 0 0 0 0 1 1 0 0 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 0 1 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 0 1 0 1 0 1 1 1 0过高斯白信道输入1,过理想信道输入0 :1输入信道信噪比(单位分贝,15左右较合适):10接收码字为0 0 1 0 1 0 1 1 0 1 0 1 0 0 0 0 0 1 1 0 0 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 0 0 1 1 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 1 1 1 0 0 1 0 1 1 1 0 0 1 0 1 0 1 1 1 0发送码字为0 0 1 0 1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值