当前位置:文档之家› 基于MATLAB的循环码实验报告

基于MATLAB的循环码实验报告

基于Matlab 循环码编码方法的应用

叶俊(指导老师,刘丹平 副教授)

(重庆大学通信工程学院 中国 重庆 400000)

摘要:任何两个相邻的循环码只有一位数字不同 ,因此循环码具有可靠性高的优点,在现代通信系

统中应用广泛。本文主要介绍了循环码的编码和译码的基本编码原理,纠错能力及其在Matlab 中的实现及应用。

关键词:循环码 编码 Matlab

The Application of Cyclic Coding Method on Matlab

Ye Jun (Tutor: Liu Danping ) (College of Communication Engineering, Chongqing University China Chingqing 400000)

Abstract: Any two adjacent cyclic code only one number is different, so the cyclic code has the

advantages of high reliability, which is widely used in modern communication system. This article mainly introduced the basic coding principle of cyclic code coding and decoding, error correction ability and its implementation and application in Matlab .

Keywords : cyclic code coding Matlab

1. 循环码原理及其基本特点

循环码基本概念及其特点

设C 使

线性分组码的码字集合,如

果对任C c c c C n n ∈=--),,,(021 ,它的循环移位

),,,(1032)1(---=n n n c c c c C 也属于C ,则称

码为循环码。

该码在结构上有另外的限制,即一个码字任意循环移位的结果仍是一个有效码 字。其特点是:

1)循环码是线性分组码的一种,所以它具有线性分组的码的一般特性,且具有循环性,纠错能力强。 2)循环码是一种无权码,循环码编排的特点为相邻的两个数码之间符合卡诺中的邻接条件,即相邻数码间

只有一位码元不同,因此它具有一个很好的优点是它满足邻接条件,没有瞬时错误(在数码变换过程中,在速度上会有快有慢,中间经过其他一些数码形式,即为瞬时错误)。 3)码字的循环特性,循环码中任一许用码经过循环移位后,所得到的码组仍然是许用码组。

4)可以用反馈移位寄存器很容易实现编码和伴随式的计算。

循环码编码原理

在一个GF(2)域上的 (n, k)循环码中,一定存在唯一的一个次数最低的(n-k)次首一码多项式g(x)=xn-k+gn-k-1xn-k-1+…+g1 x+1,使所有码多项式都是g(x)的倍式,且所有小于n 次的g(x)的倍式都是码多项式。 (n ,k)循环码的生成多项式g (x )一定是(x n -1)的因式,即一定存在一个多项式h (x ),满足(x n -1)

=g (x )h (x )或 g (x )|(x n

-1)

反之,如果g(x )是(x n

-1)的(n-k )次因式,g (x )一定是某(n ,k )循环码的生成多项式。 即 C(x)=m(x)g(x)

及g(x)|C(x)

上述定理告诉了构造(n ,k)循环码的方法如下: ① 对xn-1 (在二元域中等效于对xn+1)实行因式分解, 找出其中的(n-k )次因式。

② 以找出的(n-k )次因式为循环码生成多项式g(x),与信息多项式m(x)相乘,即得码多项式:C(x)= m(x) g(x)。

编码过程流程图:

2. 译码原理及其实现:

译码原理及其步骤

1) 有接收到的y(x)计算伴了随式s(x)。 2)

根据伴随式s(x)找出对应的估值错误图样。

3) 计算c^(x)=y(x)+e^(x),得估计码字。若c^(x)=

c(x),则译码正确,否则错误。

由于g(x) 的次数为n - k 次,g(x) 除E(x) 后得余式(即伴随式)的最高次数为n-k-1次,故S(x) 共

有2n-k

个可能的表达式,每一个表达式对应一个错误

格式。可以知道(7,4)循环码的S(x) 共有2(7-4)

= 8个可能的表达式,可根据错误图样表来纠正(7,4)循

环码中的一位错误。

解码过程流程图:

纠错能力及其接收向量:

由于循环码是一种线性分组码,所以其纠检错能力与线性分组码相当。而线性分组码的最小距离可用来衡量码的抗干扰能力,那么一个码的最小距离就与它的纠检错能力有关。

定理: 对于任一个(n,k )线性分组码,若要在码字内 (1) 检测

个错误,要求码的最小距离

1+≥e d ;

(2) 纠正个错误,要求码的最小距离

12+≥t d ;

(3) 纠正个错误同时检测

个错误,则

要求1++≥e t d ;

循环码的译码分检错译码与纠错译码两类。在无记忆信道上,对码字c ,差错图案e 和接收向量r 的

多项式描述为

)()()

(x e x c x r +=

定义)(x r 的伴随多项式为)(x s

1

12210))

((mod )()(--++++==r r x s x s x s s x g x r x s

由于)),((mod 0)()()(x g x g x a x c ==所

))()(mod ()(x g x e x s =

由此可见,0)

(≠x s 则一定有差错产生,或

说满足0))()(mod (≠

x g x e 的差错图样)

(x e 产生,它满足0))()(mod (=

x g x e 。

循环码的检错译码即是计算)(x s 并判断是否为0

3. 实验分析

实验测试结果

理想状态下,对信号随机的提取,编码器输入为

1000001110001000,

通过encode 函数后,因为加入了监督码,信号变得复杂密集,编码输出为1011000101001110110001011000 通过译码输出为1000001110001000,与编码输入一致。

说明循环码的检错和纠错能力性能好。输出多项式为:g(x)=(x+a) (x+a 2) (x+a 3)=a 6+a 5x+a 4x+a 3x 2+ a 3x +a 2x+x 3

以randint 函数重新做一个输入信号并进行编码,结果与上例相似,输入与输出一致。

由上面所有的图可以发现,编码器输入信号并不完全相同,因为对信号的提取是随机的,所以码元也是随机的,信号经过编码器后,因为要加入监督码,所以波形变得更加密集了。信号经过译码后,波形和编码器输入信号大致相同,说明循环码的检错和纠错能力可以。

4. 实验程序

1、循环码编码与解码Matlab 源程序(实验以(7,4)循环码进行分析)

m = 3; n = 2^m-1; k = n-m; msg=randint(k*4,1,2); subplot(2,2,1) stem(msg)

title('编码器输入信号')

p=cyclpoly(n,k)

code=encode(msg,n,k,'cyclic',p);

subplot(2,2,2)

stem(code)

recode=decode(code,n,k,'cyclic',p)

subplot(2,2,3)

stem(recode)

title('译码器输出信号')

t=-1:0.01:1;

x=recode;

N=length(x);

fx=fft(x);

df=100/N;

n=0:N/2;

f=n*df;

subplot(2,2,4);

plot(f,abs(fx(n+1))*2/N); grid;

title('频谱图')

5.总结

我们小组在分配到循环码这个专题报告后,我们在组长的组织下大家先是自己了解相关内容,然后再聚集在一起进行讨论和对专题进行分析,确定任务后根据大家的兴趣以及现所掌握的知识进行任务的分配,我所承担的任务就是弄清楚循环码的译码和编码原理及其相关方法,最后做好PPT发给组长进行综合整理。

刘老师这种独特的教学方式把被动的课堂浇灌知识改变为让我们主动的去搜索知识,这点很重要,可以很好地培养我们的自学能力,而且还可以培养我们的合作协调意识,在这次专题报告中,我也确实学习了很多,而且印象深刻,因为是自己主动学习的。

开始并没有注意到运用循环码时可用简便的Matlab功能函数,不知道怎么进行纠错编码及解码,然后查找资料,收集了与循环码相关的函数(部分如下:)

1)encode函数

功能:编码函数

说明:用method指定的方法完成纠错编码。其中msg代表信息码元,是一个K列矩阵,N是编码后的码字长度;K是信息位的长度;opt是有些编码方式需要的参数。

2)decode函数

功能:译码函数

语法:msg=decode(code,N,K,method,opt1,opt2,opt3,opt4);

说明:这个函数对接收到的码字进行译码,恢复出原始的信息,译码参数和方式必须和编码时采用的严格相同。它对接收到的码字,按method指定的方式进行译码;opt1,…,opt4是可选项的参数。

6.参考文献

[1]徐明远,邵玉斌 MATLAB仿真在通信与电子工程中的应用.西安:西安电子科技大学学出版社,2005.6 [2]唐向宏,岳恒立,郑雪峰 MATLAB及在电子信息类课程中的应用(第二版).北京:电子工业出版社,2009.6

[3]黄爱民,安向京,骆力.数字图像处理与分析基础

[M].中国水利水电出版社,2005.6:135—196.

[4] 晏晖,姜鹏,陈贝.基于MATLAB 工具箱的数字图像

处理技术[J].《微计算机信息》(嵌入式与S O C ) 2010,26(9-2) :211—215.

相关主题
文本预览
相关文档 最新文档