RS码在MATLAB中的实现_第1页
RS码在MATLAB中的实现_第2页
RS码在MATLAB中的实现_第3页
RS码在MATLAB中的实现_第4页
RS码在MATLAB中的实现_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、RS码在MATLAB中的实现摘要:论文在简单介绍RS码的基础上,在Matlab环境中编写了rs_rscode或rs_rrscode函数实现了RS(7,3)码的编码解码过程;为RS码以后在DSP和FPGA中的实现打下了基础;最后有RS编解码的联合调试代码;实现其应有功能。关键词:RS码 MATLAB GF域编码的实质上是对信源的符号按一定的数学规则进行的一种变换。以便于在信道中高效的传输,解码就是编码的逆过程,一些优秀的编码能纠正传输中出现的错误;其中RS就是一种纠错能力极强的编码规则。为实现高速数字系统所要求的可靠性,几乎所有的现代通信系统都把纠错编码作为一个组成部分,RS纠错编码(Reed-

2、Solomon codes)是目前最有效,最广泛的差错编码方式之一,首先是由Irving Reed和Gus Solomon于1960年构造出来的一类多进制BCH码,它不但是 可以纠正随机错误,突发错误以及二者的结合,而且可以用来构造其他类码,因此RS码在卫星通信,数字电视传输以及磁记录系统等许多领域得到广泛的应用。RS是q进制的BCH码。RS码的每个码元取值为q元符号集0,0 ,1,q-2 ,实用通常取q为2的幂次(q=2m),使q元符号集的所有非零元素0,1,q-2是基于某个m次本原多项式的GF(2m)扩域的元素。编码时,每m个信息比特映射为一个q进制码元,q=2m 便于与具有4,8,16,

3、32点数星座的PSK或QAM调制信号集相匹配。近年来采用最多的是m=8,即q=28 =256进制的RS码,以便将整个8 bit字节为RS码的一个码元。本原RS码具有如下参数:码长n=q-1,校验位n-k=2t,最小距离dmin =n-k+1,生成多项式 g(x)=(x-)(x-2), ,(x-2t)= n-kxn-k+n-k-1xn-k-1+1x+0式中,g(x)的各次系数I (i=0n-k)0, 1,2,q-2。对照式dmin (n-k-1)可知,RS码是极大最小距离(MDC)码,从这种码的n、k值立即可断定其纠错能力t =int (dmin -1)/2 = int ( n-k)/2RS码的

4、重要分布是已知的。在码重多项式第i次项的系数(重要为i的码字个数)是Ai = (q-1)j qi-j-Dmin , idminRS码由于性能优良而得到了广泛应用。优点之一是其纠错能力已发挥到极限,与MDC码相同。优点之二是RS码存在一种有效的硬判决译码的算法,使得该码能应用于许多需要长码的场合。第三是q进制RS码的二进衍生码具有良好的抗突发差错能力。GF映射表:幂次k的多项式系数3重对应的最小多项式0123456112+12+2+12+1(001)(010)(100)(011)(110)(111)(101)x+1x3 +x+1x3 +x+1x3 +x2+1x3 +x+1x3 +x2+1x3 +

5、x2+1RS编码译码流程图:所有的信号源RS编码所有正确的编码信号随机信号RS编码得到的正确编码信号信道噪声接收到的信号RS译码输出信号计算误码率RS码编码,译码在MATLAB中的实现参考程序:(一)、所有可能的信号:function x=a_msg(x)x=0 0 0 0 0 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 0 7 0 1 0 0 1 1 0 1 2 0 1 3 0 1 4 0 1 5 0 1 6 0 1 7 0 2 0 0 2 1 0 2 2 0 2 3 0 2 4 0 2 5 0 2 6 0 2 7 0 3 0 0 3 1 0 3 2 0 3 3 0

6、3 4 0 3 5 0 3 6 0 3 7 0 4 0 0 4 1 0 4 2 0 4 3 0 4 4 0 4 5 0 4 6 0 4 7 0 5 0 0 5 1 0 5 2 0 5 3 0 5 4 0 5 5 0 5 6 0 5 7 0 6 0 0 6 1 0 6 2 0 6 3 0 6 4 0 6 5 0 6 6 0 6 7 0 7 0 0 7 1 0 7 2 0 7 3 0 7 4 0 7 5 0 7 6 0 7 7 1 0 0 1 0 1 1 0 2 1 0 3 1 0 4 1 0 5 1 0 6 1 0 7 1 1 0 1 1 1 1 1 2 1 1 3 1 1 4 1 1 5 1

7、1 6 1 1 7 1 2 0 1 2 1 1 2 2 1 2 3 1 2 4 1 2 5 1 2 6 1 2 7 1 3 0 1 3 1 1 3 2 1 3 3 1 3 4 1 3 5 1 3 6 1 3 7 1 4 0 1 4 1 1 4 2 1 4 3 1 4 4 1 4 5 1 4 6 1 4 7 1 5 0 1 5 1 1 5 2 1 5 3 1 5 4 1 5 5 1 5 6 1 5 7 1 6 0 1 6 1 1 6 2 1 6 3 1 6 4 1 6 5 1 6 6 1 6 7 1 7 0 1 7 1 1 7 2 1 7 3 1 7 4 1 7 5 1 7 6 1 7 7 2

8、0 0 2 0 1 2 0 2 2 0 3 2 0 4 2 0 5 2 0 6 2 0 7 2 1 0 2 1 1 2 1 2 2 1 3 2 1 4 2 1 5 2 1 6 2 1 7 2 2 0 2 2 1 2 2 2 2 2 3 2 2 4 2 2 5 2 2 6 2 2 7 2 3 0 2 3 1 2 3 2 2 3 3 2 3 4 2 3 5 2 3 6 2 3 7 2 4 0 2 4 1 2 4 2 2 4 3 2 4 4 2 4 5 2 4 6 2 4 7 2 5 0 2 5 1 2 5 2 2 5 3 2 5 4 2 5 5 2 5 6 2 5 7 2 6 0 2 6 1 2

9、6 2 2 6 3 2 6 4 2 6 5 2 6 6 2 6 7 2 7 0 2 7 1 2 7 2 2 7 3 2 7 4 2 7 5 2 7 6 2 7 7 3 0 0 3 0 1 3 0 2 3 0 3 3 0 4 3 0 5 3 0 6 3 0 7 3 1 0 3 1 1 3 1 2 3 1 3 3 1 4 3 1 5 3 1 6 3 1 7 3 2 0 3 2 1 3 2 2 3 2 3 3 2 4 3 2 5 3 2 6 3 2 7 3 3 0 3 3 1 3 3 2 3 3 3 3 3 4 3 3 5 3 3 6 3 3 7 3 4 0 3 4 1 3 4 2 3 4 3 3

10、4 4 3 4 5 3 4 6 3 4 7 3 5 0 3 5 1 3 5 2 3 5 3 3 5 4 3 5 5 3 5 6 3 5 7 3 6 0 3 6 1 3 6 2 3 6 3 3 6 4 3 6 5 3 6 6 3 6 7 3 7 0 3 7 1 3 7 2 3 7 3 3 7 4 3 7 5 3 7 6 3 7 7 4 0 0 4 0 1 4 0 2 4 0 3 4 0 4 4 0 5 4 0 6 4 0 7 4 1 0 4 1 1 4 1 2 4 1 3 4 1 4 4 1 5 4 1 6 4 1 7 4 2 0 4 2 1 4 2 2 4 2 3 4 2 4 4 2 5 4

11、2 6 4 2 7 4 3 0 4 3 1 4 3 2 4 3 3 4 3 4 4 3 5 4 3 6 4 3 7 4 4 0 4 4 1 4 4 2 4 4 3 4 4 4 4 4 5 4 4 6 4 4 7 4 5 0 4 5 1 4 5 2 4 5 3 4 5 4 4 5 5 4 5 6 4 5 7 4 6 0 4 6 1 4 6 2 4 6 3 4 6 4 4 6 5 4 6 6 4 6 7 4 7 0 4 7 1 4 7 2 4 7 3 4 7 4 4 7 5 4 7 6 4 7 7 5 0 0 5 0 1 5 0 2 5 0 3 5 0 4 5 0 5 5 0 6 5 0 7 5

12、1 0 5 1 1 5 1 2 5 1 3 5 1 4 5 1 5 5 1 6 5 1 7 5 2 0 5 2 1 5 2 2 5 2 3 5 2 4 5 2 5 5 2 6 5 2 7 5 3 0 5 3 1 5 3 2 5 3 3 5 3 4 5 3 5 5 3 6 5 3 7 5 4 0 5 4 1 5 4 2 5 4 3 5 4 4 5 4 5 5 4 6 5 4 7 5 5 0 5 5 1 5 5 2 5 5 3 5 5 4 5 5 5 5 5 6 5 5 7 5 6 0 5 6 1 5 6 2 5 6 3 5 6 4 5 6 5 5 6 6 5 6 7 5 7 0 5 7 1 5

13、7 2 5 7 3 5 7 4 5 7 5 5 7 6 5 7 7 6 0 0 6 0 1 6 0 2 6 0 3 6 0 4 6 0 5 6 0 6 6 0 7 6 1 0 6 1 1 6 1 2 6 1 3 6 1 4 6 1 5 6 1 6 6 1 7 6 2 0 6 2 1 6 2 2 6 2 3 6 2 4 6 2 5 6 2 6 6 2 7 6 3 0 6 3 1 6 3 2 6 3 3 6 3 4 6 3 5 6 3 6 6 3 7 6 4 0 6 4 1 6 4 2 6 4 3 6 4 4 6 4 5 6 4 6 6 4 7 6 5 0 6 5 1 6 5 2 6 5 3 6

14、5 4 6 5 5 6 5 6 6 5 7 6 6 0 6 6 1 6 6 2 6 6 3 6 6 4 6 6 5 6 6 6 6 6 7 6 7 0 6 7 1 6 7 2 6 7 3 6 7 4 6 7 5 6 7 6 6 7 7 7 0 0 7 0 1 7 0 2 7 0 3 7 0 4 7 0 5 7 0 6 7 0 7 7 1 0 7 1 1 7 1 2 7 1 3 7 1 4 7 1 5 7 1 6 7 1 7 7 2 0 7 2 1 7 2 2 7 2 3 7 2 4 7 2 5 7 2 6 7 2 7 7 3 0 7 3 1 7 3 2 7 3 3 7 3 4 7 3 5 7

15、3 6 7 3 7 7 4 0 7 4 1 7 4 2 7 4 3 7 4 4 7 4 5 7 4 6 7 4 7 7 5 0 7 5 1 7 5 2 7 5 3 7 5 4 7 5 5 7 5 6 7 5 7 7 6 0 7 6 1 7 6 2 7 6 3 7 6 4 7 6 5 7 6 6 7 6 7 7 7 0 7 7 1 7 7 2 7 7 3 7 7 4 7 7 5 7 7 6 7 7 7 ;(二)、编码部分:function code=rs_rscode(msg)g=1 0 0 3 2 1 3 0 1 0 5 5 1 40 0 1 7 6 1 6 ;g=gf(g,3);code=m

16、sg*g; (三)、译码部分:function new_msg=rs_rrscode(in_msg,all_code_msg,all_msg)new_msg=rs_interpret(in_msg,all_code_msg,all_msg);return;1、计算GF域内每个码元与“0”码字的码距,并映射在成实数子程序:function distance = gf2num(gf_a) distance = -1;if (gf_a = gf(0,3) distance = 0; endif (gf_a = gf(1,3) distance = 1; endif (gf_a = gf(2,3) d

17、istance = 2; endif (gf_a = gf(3,3) distance = 3; endif (gf_a = gf(4,3) distance = 4; endif (gf_a = gf(5,3) distance = 5; endif (gf_a = gf(6,3) distance = 6; endif (gf_a = gf(7,3) distance = 7; end2、计算GF域内两个码字的码距子程序:function ret = gf_dis(a,b)ret = 0;a_temp = de2bi(gf2num(a),3);b_temp = de2bi(gf2num(b

18、),3); temp = a_temp+b_temp;temp = mod(temp,2);ret = sum(temp);3、计算两个RS码的码距子程序:function dis = rscode_dis(code1,code2)dis = 0;for i = 1:7 temp = gf_dis(code1(i),code2(i); dis = dis+temp;end4、得到码距最短的码字:function interpret_msg=rs_interpret(in_msg,all_code_msg,all_msg)for i=1:512 rs_dis(i)=rscode_dis(in_msg,all_code_msg(i,:); endrs_dis_min =min(rs_dis);index = find(rs_dis = rs_dis_min);interpret_msg = all_msg(index(1),:); return;5、求译码正确个数:funct

温馨提示

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

评论

0/150

提交评论