循环码仿真 通信课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文主要是利用MATLAB中的SIMULINK通信系统仿真模型库进行循环码建模仿真,其中包含有循环码的编码,译码和仿真过程中的误码率的计算和分析,并将它们显示出来,除此之外,还调用通信系统功能函数进行编程,绘制频谱及误码率关系曲线图。从而得出一条类似于抛物线的频谱与误码率关系的曲线。
针对信号与系统课程及电子信息类专业的特点, 提出将MATLAB引入到信号与系统课程的教与学中, 既能加强学生对理论知识的掌握及提高解决实际问题的能力, 又能为课堂教学及教学方法和手段的改革增添活力。
关键词:循环码;MATLAB;编码;译码;误码率
1 课程设计目的 (1)
2 课程设计要求 (1)
3 相关知识 (1)
4 课程设计分析 (5)
5 仿真 (6)
6结果分析 (9)
7 参考文献 (11)
循环码仿真
1 课程设计目的
(1)巩固并扩展通信原理课程的基本概念,基本理论,分析方法和实现方法 (2)学习和掌握MATLAB 和SIMULINK 软件的使用,并用它们进行建模,了解其设计方法;
(3)培养创新思维和设计能力
(4)增强软件编程实现能力和解决能力。
2 课程设计要求
(1)掌握循环码的编码与译码的相关知识; (2)能够设计程序并建立模型;
(3)通过程序调出并运行模型,并产生误码率与频谱的关系曲线图。
3 相关知识 3.1循环码
3.1.1 循环码多项式
为了利用代数理论研究循环码,可以将码组用代数多项是来表示,这个多项
式被称为码多项式,对于许用循环码)...0121a a a a A n n --=
(,可以将它的码多项式表示为:)......(x 012211a x a x a x a x a T i i n n n n ++++++=----)
(对于二进制码组,多项式的每个系数不是0就是1,x 仅是码元位置的标志。因此,这里并不关心x 的取值。
3.1.2. 生成多项式和生成矩阵
(全0码字除外)称为生成多项式,用g(x)表示。可以证明生成多项式g(x)具有以下特性:
(1)g(x)是一个常数项为1的r=n-k次多项式;
(2)g(x)是
1
x+n的一个因式;
(3)该循环码中其它码多项式都是g(x)的倍式。为了保证构成的生成矩阵G 的各行线性不相关,通常用g(x)来构造生成矩阵,这时,生成矩阵G可以表示为:
其中)
...
(
x
1
1a
x
a
x
a
x
g r
r
r+
+
+
+
=-
)
(,因此,一旦生成多项式g(x)确定以后,该循环码的生成矩阵就可以确定,进而该循环码的所有码字就可以确定。
例如,一种(7,3)循环码的全部码元:
码元编号
信息位
4
5
6
a
a
a
监督位
1
2
3
a
a
a码元编号
信息位
4
5
6
a
a
a
监督位
1
2
3
a
a
a
1 0000 000 5 1000 111
2 0001 011 6 1001 100
3 0010 101 7 1010 010
4 0111 000 8 1111 111
表3.1 一种(7,3)循环码的全部码元
在编码时,首先需要根据给定循环码的参数确定生成多项式g(x),也就是从1+n
x 的因子中选一个(n-k )次多项式作为g(x);然后,利用循环码的编码特点,即所有循环码多项式A(x)都可以被g(x)整除,来定义生成多项式g(x)。 根据上述原理可以得到一个较简单的系统循环码编码方法:设要产生(n,k )循环码,m(x)表示信息多项式,则其次数必小于k ,而)(*x m x k n -的次数必小于n ,用)(*x m x k n -除以g(x),可得余数r(x),r(x)的次数必小于(n-k ),将r(x)加到信息位后作监督位,就得到了系统循环码。下面就将以上各步处理加以解释。 (1) 用)(*x m x k n -。这一运算实际上是把信息码后附加上(n-k )个“0”。例如,信息码为110,它相当于x x m(x )2+=。当n-k =7-3=4时,
56)(*x x x m x k n +=-,它相当于1100000。而希望的到得系统循环码多项式应当
是)()(*x x r x m x A k n +=-)
(。 (2) 求r(x)。由于循环码多项式A(x)都可以被g(x)整除,也就是:
)
()
()()()()()()()()(x g x r x g x m x x g x r x m x x Q x g x A k n k n +•=+•==-- 因此,用)(*x m X k n -除以g(x),就得到商Q(x)和余式r(x),即
)
()
()()()(x g x r x Q x g x m x k n +
=•- 这样就得到了r(x)。
(3) 编码输出系统循环码多项式A(x)为:
)()(*x x r x m X A k
n +=-)(
例如,对于(7,3)循环码,若选用信息码110时,则:1)(24+++=x x x x g
1
1)1(1)()(2422
2
456+++++++=++++=•-x x x x x x x x x x x x g x m x k n 就相当于
10111
101
111101111100000+
= 这时的编码输出为:1100101