毕业设计-m序列发生器的仿真实现(含外文翻译)(5)

2019-03-29 17:55

表2-1 本原多项式

n 2 3 4 5 6 7 8 9 10 11 12 本原多项式的八进制系数表达式 代数式 7 13 23 45 103 211 435 1021 2011 4005 10123 x?x?1 x3?x?1 x4?x?1 x5?x2?1 2x6?x?1 x7?x3?1 x8?x4?x3?x?1 x?x?1 x10?x3?1 94x11?x2?1 x12?x6?x4?x?1 表2-1给出其中部分结果,每个n只给出一个本原多项式为了使序列发生器尽量简单,常用的只有3项的本原多项式表中列出的本原多项式都是项数最少的,为了简便起见,用八进制数字记载本原多项式的系数。由系数写出本原多项式非常方便。本文探讨n=5时,本多项式系数的八进制表示为45,将45写为二进制码100 101,从右向左第一个1对应于C0,按系数可写

F?x??x5?x2?1。从左向右的第一个1对应于C,按系数可写出对

0应的寄存器函数[C1 C2 C3 C4 C5]=[0 0 1 0 1]。

17

第三节 m序列的性质

(1) 均衡性

在m序列的一个周期中,―1‖和―0‖的数目基本相等。准确地说,―1‖的个数比―0‖的个数多一个。 (2) 游程分布

我们把一个序列中取值相同的那些相继的(连在一起的)元素合称为一个―游程‖。在一个游程中元素的个数称为游程长度。

一般来说,在m序列中,长度为1的游程占游程总数的1/2;长度为2的游程占游程总数的1/4;长度为3的占1/8……严格地讲,长度为k的游程数目占游程总数的2?k,其中1?k?n?1。而且在长度为k的游程中,连―1‖的游程和连―0‖的游程各占一半。 (3) 移位相加特性

m序列和它的位移序列模二相加后所得序列仍是该m序列的某个位移序列。 设

Mr是周期为p的m序列Mp r次延迟移位后的序列, 那么 Mp?Mr=Ms

其中Ms为Mp某次延迟移位后的序列。 例如,

Mp=0 0 0 1 1 1 1 0 1 0 1 1 0 0 1…Mp延迟两位后得Mr, 再模二相加

Mr=0 1 0 0 0 1 1 1 1 0 1 0 1 1 0, …?

Ms= Mp+Mr=0 1 0 1 1 0 0 1 0 0 0 1 1 1 1 , …?? 可见,Ms= Mp+Mr为m p延迟 8 位后的序列。 (4) 自相关特性

m序列具有非常重要的自相关特性。在m序列中,常常用+1代表 0,用-1代表 1。 此时定义:设长为 p的m序列, 记作 a1,a2,a3,?,ap(p?2n?1)。经过j次移位后,m序列为aj?1,aj?2,aj?3,?,aj?p,其中ai?p?ai (以 p 为周期),以上两序列 的对应项相乘然后相加, 利用所得的总和:

18

a1?aj?1?a2?aj?2?a3?aj?3??ap?aj?p??aiaj?i (2-2)

i?1p来衡量一个m序列与它的j次移位序列之间的相关程度,并把它叫做m序列(a1,a2,a3,?,ap)的自相关函数。记作

R(j)??aiaj?i (2-3)

i?1p当采用二进制数字 0 和 1 代表码元的可能取值时

R(j)?A?DA?D? (2-4) A?DpR(j)?[ai?ai?j?0的数目]?[ai?ai?j?1的数目]p (2-5)

由移位相加特性可知,ai?ai?j仍是m序列中的元素, 所以上式分子就等于m序列中一个周期中 0 的数目与 1 的数目之差。 另外由m序列的均衡性可知, 在一个周期中 0 比 1 的个数少一个, 故得A-D=-1(j为非零整数时)或p(j为零时)。 因此得

j?0?1R(j)?? (2-6)

j??1,?2,?,?(p?1)?1/p?m序列的自相关函数只有两种取值(1和-1/p)。R(j)是一个周期函数,即 p=(2n-1)为周期。 而且R(j)是偶函数, 即 R(j)?R(j?kp),式中,k=1,2,?,

R(j)?R(?j) j=整数

R j) ( 1 -P -3 -2 -1 0 1 2 3 P -1 P j

图2-4 m序列的自相关函数

由于m序列的均衡性、游程分布、自相关特性和与上述随机序列的基本性

质很相似,所以通常认为m序列属于伪噪声序列或伪随机序列[8]。

19

第三章 m序列发生器的仿真及分析

第一节 MATLAB软件介绍

MATLAB是Math Works公司开发的一种跨平台的,用于矩阵数值计算的简单高效的数学语言,与其它计算机高级语言如C, C++, Fortran, Basic, Pascal等相比,MATLAB语言编程要简洁得多,编程语句更加接近数学描述,可读性好,其强大的圆形功能和可视化数据处理能力也是其他高级语言望尘莫及的。对于具有任何一门高级语言基础的读者来说,学习MATLAB十分容易。但是,要用好MATLAB却不是在短时间就可以达到的。这并不是因为MATLAB语言复杂难懂,而是实际问题的求解往往更多的是需要使用者具备数学知识和专业知识。MATLAB使得人们摆脱了常规计算机编程的繁琐,让人们能够将大部分精力投入到研究问题的数学建模上。可以说,应用MATLAB这个数学计算和系统方针的强大工具,可以使科学研究的效率得以成百倍的提高。

目前,MATLAB已经广泛用于理工科大学从高等数学到几乎各门专业课程之中,成为这些课程进行虚拟试验的有效工具。在科研部门,MATLAB更是极为广泛地得到应用,成为全球科学家和工程师进行学术交流首选的共同语言。在国内外许多著名学术期刊上登载的论文,大部分的数值结果和图形都是借助MATLAB来完成的[9]。

以其他高级语言相比较,MATLAB具有独特的优势:

(1) MATLAB是一种跨平台的数学语言。采用MATLAB编写的程序可以在目前所有的操作系统上运行(只要这些系统上安装了MATLAB平台)。MATLAB程序不依赖于计算机类型和操作系统类型。

(2) MATLAB是一种超高级语言。MATLAB平台本身是用C语言写成的,其中汇集了当前最新的数学算法库,是许多专业数学家和工程学者多年的劳动结晶。使用MATLAB意味着站在巨人的肩膀上观察和处理问题,所以在编程效率,程序的可读性、可靠性和可以执行上远远超过了常规的高级语言。这使得MATLAB成为进行科学研究和数值计算的首选语言。

20

(3) MATLAB语法简单,编程风格接近数学语言描述,是数学算法开发和验证的最佳工具。MATLAB以复数矩阵运算为基础,其基本编程单位是矩阵,使得编程简单,而功能极为强大。对于常规语言中必须使用许多语句才能实现的功能,如矩阵分解、矩阵求逆、积分、快速傅里叶变换,甚至串口操作、声音的输入输出等,在MATLAB中用一两句指令即可实现。而且,MATLAB中的数值算法是经过千锤百炼的,比用户自己编程实现的算法的可信度和可靠性都大为提高。

(4) MATLAB计算精度很高,MATLAB中数据是一双精度存储的,一个实数采用8字节存储,而一个复数则采用16字节存储。通常矩阵运算精度高达1015以上,完全能够满足一般工程和科学计算的需要。与其它语言相比,MATLAB对计算机内存、硬盘空间的要求也是比较高的。

(5) MATLAB具有强大的绘图功能。利用MATLAB的绘图功能,可以轻易地获得高质量的曲线图。具有多种形式来表达二维、三维图形,并具有强大的动画功能,可以非常直观地表现抽象的数值结果。这也是MATLAB广为流行的重要原因之一。

(6) MATLAB具有串口操作、声音输入输出等硬件操控能力。随着版本的提高,这种能力还会不断加强,使得人们利用计算机和实际硬件相连接的半实物仿真的梦想得以轻易实现。

(7) MATLAB程序可以直接映射为DSP芯片可接受的代码,大大提高了现代电子通信设备的研发效率。

(8) MATLAB的程序执行效率比其他语言低。MATLAB程序通常是解释执行的,在执行效率和速度上低于其它高级语言,当然如果对执行效率有特别要求,可以采用C语言编制算法,然后通过MATLAB接口在MATLAB中执行。事实上,MATLAB自带的许多内部函数均是用C语言编写并编译的,因此利用MATLAB内部函数的程序部分运行速度并不比其他语言中相应函数低[10-11]。

第二节 m序列的仿真及分析

21


毕业设计-m序列发生器的仿真实现(含外文翻译)(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:在全区党群工作会议上的讲话 刘 景 新

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: