简述简易循环码编译码器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
简述简易循环码编译码器设计
摘要通信系统可靠性要求系统可靠地传输消息,而信道编码旨在解决可靠性问题。循环码属于线性代码,具有严密的代数理论基础,具有良好的错误检测和纠正功能。循环码编译电路大多用移位寄存器和模2构成的线性时序网络来完成。基本电路简单,容易实现,但在体积和功能扩展上受到了限制而不能发挥更大的作用。本设计充分运用单片机的软件功能进行编码及译码纠错,可有效克服来自通信信道的干扰,保证数据通信的可靠及系统的稳定,使误码率大幅度的降低。只要改变软件算法,即可适用于不同微机、不同字长的需要。
关键词信道编码;循环码;单片机;编译码;可靠
前言
信息在有线或无线信道传输时,受外界干扰或信噪比恶化的影响,信息的传递容易发生错误,需要有效检测出错状况,进行纠错,保证信息传输的质量。前向纠错编码技术在发送端引入冗余可以实现检错和纠错,一种广泛应用前向纠错码循环码它是线性分组码中最重要的一种类别码,不光具备分组码的线性性质,还具有自身的循环性[1]。现阶段国内外基于循环码编译码方法的研究都取得了很大的进展,例如循环码在卫星通信与移动通信方面中起到很重要的作用。采用单片机编程的方法可以实现循环码编译码,成本小,通过软件升级可以适配多种码型。
1 循环码编译码原理
1.1 循环码特点
循环码隶属于线性代码,具有嚴密的代数理论基础,良好的错误检测和纠正功能,具有如下特点[2]:循环码具有线性码的封闭性,意味着线性码中的任何两个码组总和仍为这种码中的一个码组。两个信息码组之间的长度差一定是后一个信息码组的权重,码的最小距离等同于码的最小权重。循环码还具有循环的性质,任一码组不管是从按左到右还是从右到左方向循环移位,仍为该码中的一个码组。
1.2 编码原理
设信息元多项式表达式:
编码步骤可以归纳如下:
⑴用信息集合m(x)乘以信息集得到,这种运算操作其实就是在信息码后添加上(n-k)个“0”。
⑵然后将得到的除以g(x),得到商Q(x)和余式r(x)/ g(x),可得该余式分子r(x),又叫作校验多项式,从而得到该信息码的对应多项式表达式.
1.3 译码原理
由于可以通过多项式生成任意码组T(x),使得在接收端可以将接收码组R (x)可以用生成多项式g(x)去除。如果计算后的结果,那么在传输中没有发现错误则表示收到的码字正确;如果,则说明收到的码字出现错误[3],可得循环码的译码方法为:将接收的码字R(x)用生成多项式g(x)去除,如果r(x)为0则无错;若不为0否则有错,如果有错,则查表。
2 循环码编译码器系统硬件设计
循环码编译码器系统由单片机最小系统,外围电路包括按键输入,液晶显示组成。将原始数据输入到单片机内,通过按键将产生的循环码还原成原始数据从而实现译码的功能,在译码过程中也有纠正的功能,若不慎出现错码,将其纠正还原成原来的数据。
3 软件及仿真设计
运用C语言程序实现信息码的(7,4)循环码的编译码,先初始化输入信号码源,对其进行编码,看编码后的结果是否有错码,如果有,则先进行纠错码,没有则直接进行译码环节,将译码的结果通过1602显示屏显示出来,最终显示出循环码的生成矩阵的功能。
4 Protues实验结果
4.1 测试方案
编码:在矩阵键盘上输入4位0和1组成的信号码,由单片机编码过程生成循环码,显示在1602显示屏。
译码:编码后的信息进行译码,将其解码后的信号码源也显示在液晶显示屏上,若和原始码源相同,则译码功能实现,将编码后的循环码进行错1、2、3位的操作,通过按键输入,观察其译码后的结果。
4.2 系统设计硬件仿真
编码:当输入信息码为1100时,编码后的循环码为1100101,
译码:(1)当输入信息码为1100101时,译码出的码字为1100101
(2)随机错一位,如输入1000101,译码也为1100101
(3)随机错两位,如输入1010101,译码出的结果为1010001,错两个超过了循环码的纠错能力,译码结果和原始信息码的译码结果不同,其译码结果如图1所示:
5 结束语
本文基于Protues仿真平台,以(7,4)循环码为例按前述的原理实现编码、错误译码和错误检测的全功能。本次设计运用单片机的特点对信息码进行编译码及纠错,确保通信信息传输的可靠性以及传输系统的稳定性,这样能降低错误码出现的情况,确保编译码的正确性,能够很好地改善通信质量的问题。
参考文献
[1] 樊昌信,曹丽娜.通信原理[M].北京:国防工业出版社,2012:340-346.
[2] 刘晓丽.循环码编码及译码的分析研究[J].科学与财富,2012,(5):32-40.
[3] 廖海红.通信系统中的CRC算法的研究和工程实现[D].北京:北京邮电大学,2006.