基于Matlab的m序列发生器的1.doc
- 文档编号:1215461
- 上传时间:2023-04-30
- 格式:DOC
- 页数:14
- 大小:198.50KB
基于Matlab的m序列发生器的1.doc
《基于Matlab的m序列发生器的1.doc》由会员分享,可在线阅读,更多相关《基于Matlab的m序列发生器的1.doc(14页珍藏版)》请在冰点文库上搜索。
目录
第一章绪论 1
1.1背景及意义 1
1.2设计内容及要求 2
1.2.1设计内容 2
1.2.2设计要求 2
1.3系统框图 2
第二章m序列的分析 .......................................................................................................3
2.1m序列的原理 ...........................................................................................................32.2m序列的相关特性 ...................................................................................................4
2.2.1均衡特性(平衡性) 4
2.2.2 游程分布(游程分布的随机性) 5
2.2.3移位相加特性(线性叠加性) 5
2.2.4自相关特性 5
第三章m序列的设计............................................................................................................. 6
3.1特征多项式确定 6
3.2本原多项式的确定 7
3.3m序列的发生 ..............................................................................................8
第四章程序调试及结果分析 10
结论 12
第一章绪论
1.1背景及意义
扩展频谱通信是一种不同于常规通信系统的新调制理论和技术,简称扩频通信。
其设计思想是将待传输的信息信号用特定的扩频码扩展频谱后成为宽带信号进行传输;接收时再采用相应的技术手段将频谱压缩,恢复原来待传信息信号的带宽,从而实现通信。
扩频通信具有两个特点:
传输信号的带宽远大于原始信息信号的带宽;传输信号的带宽主要有扩频码决定,此扩频码通常是伪随机码。
伪随机码(pseudorandomcode)简称PN码,可以人为产生与复制,具有类似白噪声的性质,相关函数具有尖锐的特性,功率谱占据很宽的频带,易于从其他信号或干扰中分离出来,具有优良的抗干扰特性,其特点是:
具有尖锐的自相关函数;互相关函数值应足够小;有足够长的码周期,以确保抗侦破与抗干扰的要求;码的数量足够多,以实现码分多址的要求;平衡性好,以满足抗干扰的要求;工程上易于产生、加工、复制与控制。
扩频通信的优势主要来自于伪随机码具有白噪声的统计特性。
而随着扩频速率的不断提高,扩频码的长度急剧增加,利用计算机设计并验证扩频码的各项指标能大大提高效率。
通过对伪随机码中常用的m序列的结构和性质进行了分析,给出了基于MATLAB平台的m序列生成算法及代码伪随机序列分析.软件平台选择Matlab,Matlab是美国MathWorks公司推出的一种以矩阵为基本编程单位的高效数值计算语言。
Matlab在编程效率、可读性、可移植性与可扩充性上,远远优于其他高级编程语言,是公认的最优秀的科技应用软件。
1.2设计内容及要求
1.2.1设计内容
基于Matlab的m序列发生器的设计。
1.2.2设计要求
m序列的本原多项式为:
,移位寄存器结构为:
各寄存器初值分别为[00001]1-5,参照该移位寄存器的结构图,用Matlab语言编写程序,生成m序列。
1.3系统框图
图1-1程序框图
图1-1系统框图
第二章m序列的分析
2.1m序列的原理
伪随机信号具有类似于随机噪声的一些统计特性,同时又便于重复产生和处理。
目前广泛使用的伪随机信号都是由数字电路产生的周期序列得到的。
产生伪随机序列的电路包括线性反馈的移位寄存器:
m序列和非线性反馈移存器;M序列
m序列是最长线性反馈移位寄存器序列的简称,m序列是由带线性反馈的移位寄存器产生的.由n级串联的移位寄存器和和反馈逻辑线路可组成动态移位寄存器,如果反馈逻辑线路只由模2和构成,则称为线性反馈移位寄存器。
带线性反馈逻辑的移位寄存器设定初始状态后,在时钟触发下,每次移位后各级寄存器会发生变化。
其中任何一级寄存器的输出,随着时钟节拍的推移都会产生一个序列,该序列称为移位寄存器序列。
m序列码发生器是一种反馈移位型结构的电路,它由n位移位寄存器加异或反馈网络组成,其序列长度M=2n-1,只有一个多余状态即全0状态,所以称为最大线性序列码发生器。
由于其结构已定型,且反馈函数和连接形式都有一定的规律,因此利用查表的方式就设计出m序列码。
列出部分m序列码的反馈函数F和移存器位数n的对应关系。
如果给定一个序列信号长度M,则根据M=2n-1求出n,由n查表2-1便可以得到相应的反馈函数F。
表2-1反馈函数F
n
反馈函数F
3
7
4
15
5
31
6
63
7
127
8
255
9
511
10
1023
11
2047
12
4095
2.2m序列的相关特性
2.2.1均衡特性(平衡性)
伪随机序列的平衡性是指序列中“1”的数目只比“0”的数目多l。
码的平衡性由码序列中的直流分量决定。
平衡性好,则载波抑制度大,从而有利扩频通信的抗干扰能力以及保密和抗侦破能力。
其物理意义是不平衡码会使扩频后的信号中出现一些稳定的信号,从而易于被检测而导致保密能力的降低。
2.2.2 游程分布(游程分布的随机性)
游程是一个序列中取值(1或0)相同连在一起的元素的统称,所谓的游程长度就是一个游程中元素的个数。
而m序列的分布特性为
1.m序列的一个周期(p=2n-1)中,游程总数为2n-1。
2.当1<游程长度k≤n-1,游程数目占总数2-k
当1≤k≤n-2,连“1”和连”0“游程各占一半
2.2.3移位相加特性(线性叠加性)
m序列和其移位后的序列逐位模2相加,所得的序列还是m序列,只是相移不同而已.例如1110100与向右移3位后的序列1001110逐位模2相加后的序列为0111010,相当于原序列向右移1位后的序列,仍是m序列.
2.2.4自相关特性
周期为p的m序列的自相关函数为:
其中:
A-该序列与其j次移位序列一个周期中对应元素相同数目
D-该序列与其j次移位序列一个周期中对应元素不同目
P-序列周期
上式可改写为:
式中xi=0或1。
由移位相加特性和均衡特性,可知m序列的自相关函数为:
j=0
j=1,2,……p-1
从m序列的自相关系数可以看出,m序列是一个狭义伪随机码.知当m序列的移位值为其周期的整数倍时,其自相关值取得最大值为2n一1,移位值取其他值时,其自相关值恒为一1。
其自相关函数如图2-1所示。
图2-1m序列的自相关函数
第三章m序列的设计
3.1特征多项式确定
n级线性移位寄存器的如图3-1所示:
图3-1n级线性移位寄存器
图中表示反馈线的两种可能连接方式,=1表示连线接通,第n-i级输出加入反馈中;=0表示连接线断开,第n-i级输出未参加反馈。
因此,一般形式的线性反馈逻辑表达式为:
将上式左面的移至右面,并将代入上式,则上式可改写为
定义一个与上式相对应的多项式
根据上式可以确定m序列的特征多项式:
f(x)的次数n表示移存器的级数。
Ci取值(1或0)确定反馈线连接状态。
线性移位寄存器的相继状态具有周期性,周期p≤2n-1。
用多项式f(x)来描述线性反馈移位寄存器的反馈连接状态。
其中x的幂次表示元素的相应位置。
上式称为线性反馈移位寄存器的特征多项式。
3.2本原多项式的确定
特征多项式与输出序列的周期有密切关系.当F(x)满足下列三个条件时,就一定能产生m序列:
(1)F(x)是不可约的,即不能再分解多项式;
(2)F(x)可整除,这里;
(3)F(x)不能整除,这里q
满足上述条件的多项式称为本原多项式.这样产生m序列的充要条件就变成了如何寻找本原多项式。
寻找本原多项式是一件繁琐的工作,计算的到的结果已列表。
表2-2本原多项式系数
n
本原多项式的八进制系数表达式
代数式
2
7
3
13
4
23
5
45
6
103
7
211
8
435
9
1021
10
2011
11
4005
12
10123
表2-2给出其中部分结果,每个n只给出一个本原多项式为了使序列发生器尽量简单,常用的只有3项的本原多项式表中列出的本原多项式都是项数最少的,为了简便起见,用八进制数字记载本原多项式的系数。
由系数写出本原多项式非常方便。
本文探讨n=5时,本多项式系数的八进制表示为45,将45写为二进制码100101,从右向左第一个1对应于,按系数可写出。
从左向右的第一个1对应于,按系数可写出对应的寄存器函数[]=[00101]。
3.3m序列的发生
根据m序列的特征方程:
(1)
可知本原多项式为的5阶移位寄存器为[]=[00101],移位寄存器结构为
m序列
初始化寄存器为[]=[00001],寄存器首先左移位可知=0,这时依据
(1)式得知反馈。
由于为5阶寄存器,码长
。
故要循环31次,得到所需的m序列。
程序代码如下:
function[m]=mxu(cn)
cn=[00101]%cn为移位寄存器
an=[00001]%初始寄存器内容
len=length(an);%所需的移位寄存器的长度
L=2^len-1;%m序列的长度
an=[zeros(1,len-1),1];%初始寄存器内容
m
(1)=an
(1);%m序列的第一个输出码元
fori=2:
L
an1(1:
len-1)=an(2:
len);
an1(len)=mod(sum(cn.*an),2);%寄存器与反馈的模2和
an=an1;%移位后的寄存器
m(i)=an
(1);%新的寄存器输出
end
stairs(m);%对m序列绘图
以上可根据阶位不同而做出不同的m序列
第四章程序调试及结果分析
得到图3-1所示:
图3-1运行结果
得到m序列返回值为:
Columns1through11
00001110100
Columns12through22
11101001110
Columns23through31
100111010
通过运行结果可以看出是由0、1组成的阶梯形图形,Stairs函数功能是画阶梯形,生成一系列的m序列,成功实现了要求。
由于m序列全为01的集合,直接的stairs绘制使得0,1的位置不清楚,使用stem(mxu)重新运行得到图3-2。
图3-2新运行图形
这样就明显看到m序列的位置。
结论
本文设计的题目是m序列发生器的设计,文中介绍的扩频伪随机码m序列的Matlab生成源程序是基于线性反馈移位寄存器结构而编写的,更清楚的描述了m序列的生成过程中的数字逻辑。
本方法应用移位寄存器理论,从m序列的本原多项式出发,其算法核心是找到m序列本原多项式与线性m序列移位寄存器反馈逻辑式之间的关系,然后采用C语言编程,并借助Matlab开发平台实现序列。
m序列可以软件实现,也可以硬件实现,但是通过本次设计可以看到软件设计的许多优点。
在课程设计的过程中,查询了大量的资料,通过相关资料的查阅,还掌握了通信领域的有关知识,扩大了知识面。
附录一:
程序代码
function[m]=mxu(cn)
an=[00001];%初始寄存器的内容
cn=[00101];%cn为移位寄存器
len=length(an);%所需移位寄存器的内容
an=[zeros(1,len-1),1];
L=2^len-1;%m序列的长度
m
(1)=an
(1);%m序列的第一个输出码元
fori=2:
L
an1(1:
len-1)=an(2:
len);
an1(len)=mod(sum(cn.*an),2);%寄存器与反馈的模2和
an=an1;%移位后的寄存器
m(i)=an
(1);%新的寄存器输出
end
stairs(m)%对m序列绘图
13
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Matlab 序列 发生器
![提示](https://static.bingdoc.com/images/bang_tan.gif)