ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:173.67KB ,
资源ID:16852238      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16852238.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(循环码的性能分析Word格式文档下载.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

循环码的性能分析Word格式文档下载.docx

1、循环码是线性分组码中最重要的一种子类, 是目前研究得比较成熟的一类码。 环码具有许多特殊的代数性质, 这些性质有助于按照要求的纠错能力系统地构造 这类码,并且简化译码算法,并且目前发现的大部分线性码与循环码有密切关系。 循环码还有易于实现的特点,很容易用带反馈的移位寄存器实现其硬件。关键词: MATLAB 循环码AbstractCycle code is linear space-time block codes in the most important of a seed, is the present research more mature kind of code. Cyclic c

2、ode has manyspecial algebraic properties, these properties to help in accordance with the requirements of the error correction ability to construct the system of this kind of code, and simplified decoding algorithm, and the most of the linear code and found that there is a close relationship between

3、 cyclic code. Cyclic code and is easy to realize the characteristic, is easy to use with the feedback the shift register realize its hardware.Keywords: MATLAB cycle code1.引言MATLAB是矩阵实验室(Matrix Laboratory )的简称,是美国 MathWorks 公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算 的高级技术计算语言和交互式环境。MATLAB通信系统功能函数库由七十多个函数组成,

4、每个函数有多种选择参 数,函数功能覆盖了现代通信系统的各个方面。 这些函数包括:信号源产生函数、 信源编码/解码函数、接错控制编码/解码函数、调制/解调函数(基带和通带)、 滤波器函数、传输信道模型函数(基带和通带)、TDMA FDMA CDMA!数、同步 函数、工具函数等。以纠错控制编解码函数为例:函数库提供了线性分组码、汉 明码、循环码、BCH码、里德一索洛蒙码(REED-SOLOMON卷积码等6种纠 错控制编码,每种编码又有编码、解码、矢量输入输出、序列输入输出等四种形 式的函数表达。2.设计原理2.1循环码介绍循环码是线性分组码的一种,所以它具有线性分组码的一般特性, 此外还具 有循环

5、性。循环码的编码和解码设备都不太复杂, 且检(纠)错能力强。它不但可 以检测随机的错误,还可以检错突发的错误。 (n,k )循环码可以检测长为n-k或更短的任何突发错误,包括首尾相接突发错误。循环码是一种无权码,循环码编排的特点是相邻两个数码之间符合卡诺图 中的邻接条件,即相邻两个数码之间只有一位码元不同, 码元就是组成数码的单 元。符合这个特点的有多种方案,但循环码只能是表中的那种。循环码的优点是 没有瞬时错误,因为在数码变换过程中,在速度上会有快有慢,中间经过其它一 些数码形式,称它们为瞬时错误。这在某些数字系统中是不允许的, 为此希望相 邻两个数码之间仅有一位码元不同,即满足邻接条件,这

6、样就不会产生瞬时错误。 循环码就是这样一种编码,它可以在卡诺图中依次循环得到。 循环码又称格雷码(Grey Code )。循环码最大的特点就是码字的循环特性,所谓循环特性是指:循环码中任一 许用码组经过循环移位后,所得到的码组仍然是许用码组。若(an 1 an 2 ai a。)为一循环码组,则(a. 2 a. 3 a。a. 1 )、(an 3 an 4 an 1 an 2) 还是许用码组。也就是说,不论是左移还是右移,也不论移多少位,仍然是许用的循环码组。2.1.1循环码的多项式表示其中ai为二进制数,通常把码组中各码元当做二进制的系数, 即把上式中长为n的各个分量看做多项式:的各项系数,则码

7、字与码多项式一一对应,这种多项式中, x仅表示码元位置的标记,因此我们并不关心x的取值,这种多项式称为码多项式2.1.2(n,k) 循环码的生成多项式按模(xn 1)运算,(n,k) 循环码的生成多项式写为g(x),它是(n,k)循环码码集中唯一的,幕次 为n-k的码多项式,则xkg(x)是一个幕次为n的码多项式此时:从上式中可以看出,生成多项式 g(x)应该是xn 1的一个因式,即循环码多项式应该是xn 1的一个n-k次因式。2.1.3循环码的生成矩阵和一致校验矩阵对所有的i=0,1,2,k-1,用生成多项式g(x)除xn k i,有:xn k i ai (x)g(x) bi (x) (27

8、)式中 bi(x) 是余式,表示为:bi (x) bi,n k 1xn k 1 bi,1x bi,0 (28)因此,xn k i b(x)是g(x)的倍式,即xn k 1 bi(x)是码多项式,由此得到系统 形式的生成阵它是一个 kn阶的矩阵。1bk 1,n k 1bk 1,1bk 1,0Gbk 2,n k 1bk 2,1bk x,000b0,n k 1b0,1b0,0同样,由 G HT =0可以得到系统形式的一致校验矩阵为:H(210)bk 2,0如已知(7, 4)循环码的生成多项式和校验多项式分别为: g(x) x3 x 1,h(x) x4 x2 x 1 。写得其生成矩阵和校验矩阵分别为:

9、(211)(212)012.2循环码编码原理有信息码构成信息多项式 m(x) mk 1xk 1 m0 ,其中最高幂次为 k-1 ; 用xn k乘以信息多项式m(x),得到的xn km(x),最高幕次为n-1,该过程相当于把信息码(mk i, mk 2, , mi, m)移位到了码字德前k个信息位,其后是r个全为零的监督位;用g(x)除xn km(x)得到余式r(x),其次数必小于g(x)的次数,即小于(n-k), 将此r(x)加于信息位后做监督位,即将r(x)于xn km(x)相加,得到的多项式必 为一码多项式。根据上面的讨论,可得到在(7,4)循环码编码的程序框图如图1所示:图2.2.1 编

10、码程序框图2.3循环码的纠错原理纠错码的译码是该编码能否得到实际应用的关键所在。译码器往往比 编码较难实现,对于纠错能力强的纠错码更复杂。根据不同的纠错或检错 目的,循环码译码器可分为用于纠错目的和用于检错目的的循环码译码器。通常,将接收到的循环码组进行除法运算,如果除尽,则说明正确传 输;如果未除尽,则在寄存器中的内容就是错误图样,根据错误图样可以 确定一种逻辑,来确定差错的位置,从而达到纠错的目的。用于纠错目的 的循环码的译码算法比较复杂,感兴趣的话可以参考一些参考书。而用于 检错目的循环码,一般使用 ARC通信方式。检测过程也是将接受到的码组进行除法运算,如果除尽,则说明传输无误;如果未

11、除尽,则表明传输出 现差错,要求发送端重发。用于这种目的的循环码经常被成为循环冗余校 验码,即CRC校验码。CRC校验码由于编码电路、 检错电路简单且易于实现, 因此得到广泛的应用。在通过 MODE传输文件的协议如 ZMODEWXMODE协如果信道产生的错议中均用到了 CRC校验技术。在磁盘、光盘介质存储技术中也使用该方法当码字 c 通过噪声信道传送时, 会受到干扰而产生错误 误图样是e,译码器收到的n重接受矢量是y,则表示为:y c e ( 2 15)上式也可以写成多项式形式:y(x) c(x) e(x) (216)A译码器的任务就是从 y(x) 中得到 e(x) ,然后求的估值码字 c(x

12、) y(x) e(x) (217)并从中得到信息组 m(x)。循环码译码可按以下三个步骤进行:(1)有接收到的 y(x) 计算伴随式 s(x);(2)根据伴随式 s(x) 找出对应的估值错误图样 e(x) ;A A A(3)计算c(x) y(x)e(x),得到估计码字c(x)。若c(x) c(x),则 译码正确,否则,若c(x) c(x),则译码错误。由于 g(x) 的次数为 n - k 次, g(x) 除 E(x) 后得余式(即伴随式)的最 高次数为 n-k-1 次,故 S(x) 共有 2n-k 个可能的表达式,每一个表达式对应一个 错误格式。可以知道 (7,4 )循环码的 S(x) 共有

13、2(7-4) = 8个可能的表达式,可根据错误图样表来纠正(7,4 )循环码中的一位错误,其伴随式如表 1所示 BCH(7,4)循环码错误图样表:错误图样错误图样码字伴随式S(x)伴随式E6(X)=X 610000002 x100E5(X)=X 501000002x +x110E4(x)=x 40010000X2+X+1111E3(x)=x 30001000x+1011E2(x)=x 20000100X +1101E1(x)=x 10000010X010Eo(x)=x o0000001001E(x)=00000000000表1 BCH(7, 4)循环码错误图样表上式指出了系统循环码的译码方法:

14、 将收到的码字R(x)用g(x)去除,如果 除尽则无错;否则有错。如果有错,可由余式 S(x) 找出对应图样,然后将错误图样E(x)与R(x)模2和,即为所求码字qx),从而实现纠错目的。根据前面的讨论,可得(7, 4)循环码译码的程序框图如图2.3.1所示:6欢迎下载图2.3.1译码程序框图3 程序与仿真3.1 程序函数介绍MATLAB提供了循环码的编码和译码函数,本程序直接调用进行编程。 ( 1) encode 函数功能:编码函数语法: code=encode(msg,N,K,method,opt)说明:用method指定的方法完成纠错编码。其中 msg代表信息码元,是一 个K列矩阵,N是

15、编码后的码字长度;K是信息位的长度;opt是有些编码方式 需要的参数。(2)decode 函数译码函数 msg=decode(code, N, K, method, opt1,opt2,opt3,opt4 );这个函数对接收到的码字进行译码, 恢复出原始的信息, 译码参数和 方式必须和编码时采用的严格相同。它对接收到的码字,按 method指定的方式 进行译码;optl,opt4是可选项的参数。( 3) cycl p oly 函数生成循环码的生成多项式。 p=cyclpoly (N,K); p=cyclpoly (N,K,fd_flag );从p=cyclpoly (N,K)中可找到一个给定码

16、长 N和信息位长度K生成 多项式p,注意不是任意给定一个多项式都可以作为生成多项式。( 4) randint 函数引起一致地分布的任意整数矩阵 语法: out = randint(m)out = randint(m,n)out = randint(m,n,rg)out = randint(m,n,rg,state)(5) awgn函数在某一信号中加入高斯白噪声 y = awgn(x,SNR);信噪比SNF以dB为单位。x的强度假定为OdBW如果x是复数,就 加入复噪声。( 6) quantiz 函数产生一个量化序号和输出量化值。 index=quantiz(sig,partition);ind

17、ex ,quantiz=quantiz(sig,partition,codebook);index,quant,distor=quantiz(sig,partition,codebook);这个函数根据给定的区间参数量化信号, 间隔矢量必须按递增顺序排 列。3.2各部分程序说明1、循环码编码与解码 Matlab 源程序(实验以( 7, 4)循环码进行分析) m=3;n=2Am-1;k=n-m;fs=1OO;% 设置采样频率为 1OOHzsnr=1O;% 设置信噪比单位: dBp=cyclpoly(7,4);%(7,4) 循环码生成多项式 msg=round(rand(8*k,1);% 设置8个

18、信息组,每组k个 code=encode(msg,n,k,cyclic/binary,p);% 编码输入 code_addnoise=awgn(code,snr,measured);% 信道输出%将浮点数转化为 2进制for index=1:length(code)if(code_addnoise(index)0.5) noisecode(index)=0;elsenoisecode(index)=1;end%译码输出newmsg=decode(noisecode,n,k,%求频谱N=length(newmsg);fft_new=fftshift(fft(newmsg,N);f=-fs/2:f

19、s/N:(fs/2-fs/N);%画图输出波形figure(1);subplot(2,2,1);stem(msg);title( 编码器输入信号 subplot(2,2,2),stem(code),title( 编码器输出信号 subplot(2,2,3),stem(newmsg),title( 译码器输出信号 subplot(2,2,4),plot(f,abs(fft_new)/max(abs(fft_new);xlabel( 频率 :Hzylabel( 归一化幅度 译码器输出后频谱图 figure(2)plot(code_addnoise),title( 信道输出信号 2. 误码率m =

20、3;n = 2Am-1; % 定义码长k = n-m; % 信息位长Fs=40; %系统采样频率Fd=1; %码速率N=Fs/Fd;M=2; %进制数for SNR = 1:100;% 信噪比%制造100个信息组,每组k位msg = ran di nt(100,k,0,1);code = en code(msg, n, k,cyclic/b in ary%TO入噪声殆已调信号中加入高斯白噪声no isycode=awg n( code,SNR,dB%各浮点数转化为二进制,波形整形过程for i=1:for a=1: nif no isycode(i,a)0.5no isycode(i,a) =

21、 0;no isycode(i,a) = 1;%译码 n ewmsg = decode( no isycode ,n ,k,cyclic% 十算误码率nu mber,ratio=biterr( newmsg,msg);result(SNR)=ratio;disp(The bit error rate is, nu m2str(ratio);%不同信噪比下循环码经过加性高斯白噪声信道的误码率figure(1)stem(result); 循环码在不同信噪比下的误码率 )legend(误码率,*信噪比在加性高斯白噪声下的误码率 运行结果:F;.File Edit View Insert Tools

22、Desktop Window Help a hI ia| 国| 口循环玛在不同價噪比下的误码率I I I I I | I一0衆码率0Q 6Q-1O.114JI- -U02I S信噪比The bit error rate is0.215The bit error rate is0.1825The bit error rate is0.1325The bit error rate is0.1475The bit error rate is0.0975The bit error rate is0.0475The bit error rate is0.0175The bit error rate is

23、0.0125The bit error rate is0The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate

24、is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The bit error rate is0 The

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1