原标题:【网安智库】基于长除法的BCH(15,7)译码算法

摘要:BCH(15,7)码可纠错2 bit错误位,是一种应用广泛的信道编码。常见的实用译码方法是查表法,其存储错误比特和校验子的对应表即错误图样,译码时根据计算的校验子查错误图样表得到错误比特。BCH(15,7)的错误图样较大,存储错误图样表占用较大内存,查找较费时,译码较慢。因此,针对BCH(15,7)快速译码问题,提出了一种新颖的基于长除法的译码算法。该算法只利用有限域 中的长除法即可快速译码,不需要存储错误图样,也不需要解BM方程。理论和仿真证明,此算法有效可行,软硬件实现简单易行,可推广到实际BCH(15,7)的译码电路,具有较大的实际应用价值。

0 引 言

BCH码是一种重要的能纠多个随机错误的循环码,编码方便,实现电路简单,在现代数字通信领域中有及极广泛的应用[1-3]。BCH译码已有多种算法,实际工程应用中主要用的是错误图样查表法。该方法需要预先存储错误图样,对码长较长、纠错能力较强的BCH码,错误图样较多,查找、匹配较费时,译码延时严重[4-5]。

BCH(15,7)码是码距d=5 的循环码,能纠正2位随机错误。本文主要讨论一种基于长除法的BCH(15,7)码译码算法,实现快速译码,且简单高效。

1 BCH(15,7)编码

BCH(15,7)的生成多项式为:

信息多项式为:

信息序列为,其中mi(i=0,1,…,6) 为伽罗瓦域GF(2) 中的0或1,则BCH(15,7)码多项式为:

例1:,,则:

2 基于长除法的BCH(15,7)译码算法

此译码算法分为以下2步:

(1)由接收到的含有错误的r(x)=c(x)+e(x) 长除 得余式,即错误多项式(余式项数必须小于等于2);

(2)错误多项式模2相加r(x) 得原码。

证明:

由于能纠正循环距离为8位的2位错误位,故只要r(x)mod(g(x)) 余式项数小于等于2必为错误多项式。

证毕。

例2:由于例1发送码是式(1),假定接收码有2位错误,当然接收端是不知道有这2位错误的。由长除法得错误多项式如图1所示,得错误多项式。由于BCH(15,7)是循环码,,故,即纠错得原码。

3 MATLAB仿真

仿真程序如下:

%BCH(15,7)decode

msg=gf(randint(1,7),1); %information code

c=bchenc(msg,15,7); %encode

e=gf([1 0 0 0 0 0 0 0 0 0 0 1 0 0 0],1);%2 bit errors

r1=c+e;% receive code

r=r1;

g=gf([1 1 1 0 1 0 0 0 1],1);%generator polynomial

m=3;n=0;k=0;

while m>2 & k<30

k=k+1;

if r(1)==1

for j=1:9

r(j)=r(j)+g(j);

end

end

m=sum(r==1);

while r(1)==0 & m>2 & k<30 %left shift

n=n+1;

for i=1:14

r(i)=r(i+1);

end

r(15)=0;

end

end

s=mod(n,15);

for k=1:s %cyclic right shift

t=r(15);

for i=0:13

r(15-i)=r(14-i);

end

r(1)=t;

end

e1=r;

m1=sum(e1==1);

if m1<3

disp('OK e(x)=r(x) mod(g(x))');

end

该MATLAB仿真程序,可验证本算法的正确性。任意改变信息多项式msg 和小于等于2位错误多项式e ,均能纠错得到正确的原码。

4 结 语

利用长除法可得到BCH(15,7)接收码的错误多项式,译码算法具有简单、快速等优点,具有极广泛的应用价值。此外,本算法也适用于纠1位错误的汉明码译码,对纠多个错误的BCH码具有参考价值。

参考文献:

[1] Sweeney P.Error Control Coding,From Theory to Practice[M].Wiley,2002:67-83.

[2] Jorge C M.Essentials of Error Control Coding[M].Wiley,2006:41-61.

[3] John G P,Masoud S.Digital Communications[M].5th Edition(McGraw-Hill),2008:400-450.

[4] REED I S,Chen X M.Error-control Coding for Data Network[C].Norwell,1999:300-380.

[5] Blahut R E.Algebraic Codes for Data Transmissions[M].Cambridge:Cambridge University Press,2003:350-400.

作者简介:

江宝安,重庆邮电大学移通学院讲师,硕士,主要研究方向为纠错编码与通信理论。

原创声明 >>>

本微信公众号刊载的原创文章,欢迎个人转发。未经授权,其他媒体、微信公众号和网站不得转载。

···························································返回搜狐,查看更多

责任编辑:

matlab实现长除法,【网安智库】基于长除法的BCH(15,7)译码算法相关推荐

  1. 全国顶尖网安创业20强诞生 锘崴科技实力上榜

    近日,2022安全创客汇复赛重庆站圆满落幕.经过50家网安创业企业长达10小时的拉力角逐,"安全创客汇年度20强"荣耀诞生,锘崴科技实力上榜. 安全创客汇20强 安全创客汇是国内首 ...

  2. 滑动差分倒谱系数 matlab,【网安学术】基于音频特征参数的多语种分类算法

    原标题:[网安学术]基于音频特征参数的多语种分类算法 摘要:伴随着国际化的趋势,音频语种识别问题越来越受到重视.但是,现有的语种识别系统不能满足现代化日益增长的需求.处理小语种和混淆度高的语种分类时, ...

  3. matlab中dcsk,【网安学术】煤矿井下MIMO-CD-FM-DCSK通信性能的分析

    原标题:[网安学术]煤矿井下MIMO-CD-FM-DCSK通信性能的分析 摘要:针对煤矿井下无线通信环境的复杂性和特殊性,将MIMO技术与CD-FM-DCSK混沌键控通信系统相结合进行可行性研究.以2 ...

  4. 起伏地表matlab,【网安学术】短波通信中地表反射损耗的分析和建模

    原标题:[网安学术]短波通信中地表反射损耗的分析和建模 摘要:在短波通信过程中,地表的物质组成不同和地形起伏会导致电磁波在地表反射时产生损耗,同时反射角度发生巨大变化.针对地形变化的不同情况,建立基本 ...

  5. rrpp协议如何修改_【网安学术】基于NQA策略的RRPP优化机制

    原标题:[网安学术]基于NQA策略的RRPP优化机制 摘要:作为以太网的一种环网保护协议,RRPP能有效检测网络故障并迅速收敛路由,降低故障对整个网络的影响,但协议本身还存在着关键性缺陷.对于部分极端 ...

  6. 安信可分享 | 分享一个基于airkiss协议的配网小程序,实现小程序一键配网安信可ESP32C3\ESP8266\ESP32\ESP32S2系列的模组。(附带源码)

    文章目录 一.关于 WeChatAirkiss 1.1 应用场景 二.airkiss 简介 三.开始使用 四.API说明 五.FAQ 六.开源微信物联网控制一览表 联系我们 一.关于 WeChatAi ...

  7. 赛宁网安助力中国移动打造国内领先云安全能力

    中国移动云能力中心 -全面推进网络安全能力建设- 一.背景 01."网络安全与信息化"国家战略 党的十九届五中全会明确指出:"坚持总体国家安全观,实施国家安全战略,维护和 ...

  8. 开源网安实现高效、高精度的静态应用安全检测 -CodeSec

    来自安全牛的推荐SAST工具 随着科技的飞速发展,网络空间的主权完整和安全也成为影响国际关系的重要因素,国家之间的竞争也在由物理空间逐渐转向网络空间,国内的网络安全也面临着越来越多的风险和挑战. 根据 ...

  9. 践行网安,普惠河南——景安网络重磅网安公益项目加速推进中

    日前,郑州市景安网络科技股份有限公司(以下称"景安网络")联合河南省互联网协会,及河南云计算大数据产业联盟,全面启动"铸网安·御未来"网络安全专项公益项目,定于 ...

  10. 网安技术与应用(4)——配置iptables防御常见攻击

    一 实验目的 掌握如何设计防火墙的高级过滤策略以抵御各种类型的攻击. 二 实验内容 防止端口扫描: 防止 ping 攻击: 防止 ip 碎片攻击: 丢弃坏的 TCP包: 防止 SYN攻击. 三 实验原 ...

最新文章

  1. PyTorch: 序列到序列模型(Seq2Seq)实现机器翻译实战
  2. 小白的AFNetWorking之路
  3. mnist 数据集的识别源码解析
  4. 银行现在都很缺钱吗,为什么给的利息比以前高了?
  5. 在Mysql中显示所有用户的操作教程(Linux环境下)
  6. 一起学习C语言:结构体(一)
  7. Android深度探索第五章总结
  8. Linux磁盘、内存、CPU、进程
  9. 【记录】JS回调函数(小例子)
  10. CABasicAnimation animationWithKeyPath Types
  11. linux服务器打印400错误,Nginx过一段时间出现400 Bad Request 错误解决方法
  12. 《Go语言实战》学习笔记——包
  13. OpenWrt/Wifidog本地化解决方案
  14. 江苏科技大学计算机学院院长高尚,江苏科技大学计算机科学与工程学院导师介绍...
  15. Linux下Makefile的automake生成全攻略[zz]
  16. 计算机和电脑键盘进水怎么办,电脑键盘进水怎么办 电脑键盘进水解决方法
  17. 设计模式中的七大原则(代码 + 图解)
  18. 手机拍照技巧(一:校园拍摄)
  19. 【三维重建】之 matlab读取 .wrl 三维图像文件
  20. AirDisk产品S系列产品体验

热门文章

  1. Matlab取整函数
  2. CenterPoint的环境配置error大全【已全部解决】
  3. Ubuntu 14.04下360/小米/百度等随身Wifi驱动安装方法
  4. LitePal使用详解
  5. 嵌入式软件测试参考书籍
  6. 如何用CMD查看本机的IP地址
  7. Web服务器性能压力测试工具
  8. DuFile网赚网盘
  9. 数学建模——01规划 / 线性规划 (工具:matlab + lingo,算法:Folyd)
  10. linux下scrt依赖包libssl1.0.0解决方法