收藏 分享(赏)

m序列产生.doc

上传人:11xg27ws 文档编号:7472511 上传时间:2019-05-19 格式:DOC 页数:16 大小:194.50KB
下载 相关 举报
m序列产生.doc_第1页
第1页 / 共16页
m序列产生.doc_第2页
第2页 / 共16页
m序列产生.doc_第3页
第3页 / 共16页
m序列产生.doc_第4页
第4页 / 共16页
m序列产生.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、1设计内容及要求基于 MATLAB 产生 m 序列要求:1通过 matlab 编程产生 m 序列的产生原理及其产生方法。2对特定长度的 m 序列,分析其性质,及其用来构造其它序列的方法。第二章 m 序列设计方案的选择2.1 方案一MATLAB 编程非常简单,无需进行变量声明,可以很方便的实现 m 序列。2.2 方案二图 2.1 Simulink 实现 m 序列Simulink 是 MATLAB 最重要的组件之一,它提供了一个动态系统建模,仿真和综合分析的集成环境。在此环境中无需大量书写程序,而只需通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink 具有适应性广,结构及流程清晰及仿真

2、精细等优点,基于以上优点,Simulink 已被广泛的运用到控制理2论和数字信号处理的复杂仿真和设计。通过比较方案一和方案二,发现方案一的有点具有通用性而方案二利用MATLAB 的 Simulink 直接搭建模块,在移位寄存器较少的情况下利用此方法比较简单,可是当移位寄存器的个数增多时,要搭建那么多的模块就显的很繁琐了,缺乏通用性,因此本次实验选择方案一。第 3 章 m 序列的产生及性质3.1 m 序列的产生原理、结构及产生m 序列是最长线性反馈移位寄存器序列的简称, m 序列是由带线性反馈的移位寄存器产生的。由 n 级串联的移位寄存器和反馈逻辑线路可组成动态移位寄存器,如果反馈逻辑线路只由模

3、 2 和构成,则称为线性反馈移位寄存器。带线性反馈逻辑的移位寄存器设定初始状态后,在时钟触发下,每次移位后各级寄存器会发生变化,其中任何一级寄存器的输出,随着时钟节拍的推移都会产生一个序列,该序列称为移位寄存器序列。n 级线性移位寄存器的如图 3.1 所示: A图 3.1 n 级线性移位寄存器图中 Ci 表示反馈线的两种可能连接方式,C i=1 表示连线接通,第 n-i级输出加入反馈中;C i=0 表示连线断开,第 n-i 级输出未参加反馈。因此,一般形式的线性反馈逻辑表达式为-表达式 3.1将等式左边的 an 移至右边,并将 an=C0an(C0=1)带入上式,则上式可以写成3-表达式 3.

4、2定义一个与上式相对应的多项式-表达式 3.3其中 x 的幂次表示元素的相应位置。该式为线性反馈移位寄存器的特征多项式,特征多项式与输出序列的周期有密切关系。当 F(x)满足下列三个条件时,就一定能产生 m 序列:(1)F(x)是不可约的,即不能再分解多项式;(2)F(x)可整除 xn+1,这里 p=2n+1;(3)F(x)不能整除 xn+1,这里 qq.满足上述条件的多项式称为本原多项式,这样产生 m 序列的充要条件就变成了如何寻找本原多项式。3.2 m 序列的基本性质(1)均衡性。在 m 序列一个周期中1的个数比 0要多 1 位,这表明序列平均值很小。(2)m 序列与其移位后的序列模 2

5、相加,所得的序列还是 m 序列,只是相位不同而已。例如:1110100 与向又移 3 位的序列 1001110 相对应模二相加后的序列为 0111010,相当于原序列向右移一位后的序列,仍为 m 序列。(3)m 序列发生器中移位寄存器的各种状态,除全 0 状态外,其他状态只在 m 序列中出现一次。(4)m 序列发生器中,并不是任何抽头组合都能产生 m 序列。理论分析指出,产生的 m 序列数由下式决定:-表达式 3.4其中 (X)为欧拉数。例如 5 级移位寄存器产生 31 位 m 序列只有 6 个。(5)m 序列具有良好的自相关性,其自相关系数:4-表达式 3.5从 m 序列的自相关系数可以看出

6、 m 序列是一个狭义伪随机码。图 3.2 m 序列信号的自相关函数3.3 生成 m 序列的模块根据 m 序列的生成原理图,如图 3.1 所示,由图可知 m 序列是多级移位寄存器通过线性反馈再进行模二相加产生的,最后一位一位输出观察其波形图。程序中使用的代码如下:N=2length(reg1)-1;for k=1:Na_n=mod(sum(reg1.*coeff1(1:length(coeff1)-1),2);reg1=reg1(2:length(reg1),a_n;out1(k)=reg1(1);end其中 N 为 m 序列的长度,值为(2 6-1) 。由程序已定义了移位寄存器的初始状态和抽头

7、系数,在此基础上进行反馈,后进行模二加,所得的结果为输出的第一个值,初始状态向左移移位,而所得的输出值填补上变成新的序列,在进行第二次反馈和模二加,依次循环 N 次,产生 m 序列第四章 m 序列构造其他序列Gold 序列具有三值互相关函数,其值为:5(式 2.10)2)(1,)(rtprt这里,(式 2.11)的 倍 数为 偶 数 但 不 是, 为 奇 数 421,)(,2)(5.0)1(5.0rrtpr当 r 为奇数时,gold 序列中约有 50%的码序列归一化相关函数值为-1/p。当 r 为偶数但又不是 4 的倍数是,约有 75%的码序列归一化互相关函数值为-1/p。Gold 序列是 R

8、.Gold 于 1967 年提出来的,它由两个 m 序列按下述方法演变而来的:把 2 个码长相同的 m 序列移位并进行模 2 加,如果相加的两个 m 序列是一对优选对,则相加的结果为一个 Gold 序列。设有一对周期为 N=2r-1 的 m 序列优选对a , b ,以其中任意一个序列为基准序列,如a ,对另一个序列b进行移位 i 次,得到b的移位序列b i ,然后与序列a进行模二加得到一个新的周期为 N 的序列c ,则称新序列c为 Gold 序列,既c i=a+b i=0,1,2,,N4.1 Gold 序列的产生方框图产生 gold 序列的程序代码如下:gold=mod(out1+out2,2

9、);6第 5 章 程序调试及运行结果5.1 仿真设计流程图否 是 否是图 5.1 实验仿真流程图 仿真准备规划程序模块编写程序确认程序无 误设置仿真参数运行,调试及数据分析生成仿真图形是否达到要求结束75.2 实验的调试与运行结果程序中把移位寄存器的初始值定义全为 1,抽头系数定义为1000011和1100111,根据公式 m 序列的长度 =2n-1,可知道所得的两个 m 序列的长度都为63,所利用的移位寄存器为 6 个。代码如下:reg1=ones(1,6); %寄存器初始状态coeff1=1 0 0 0 0 1 1; %设置系数reg2=ones(1,7); %寄存器初始状态coeff2=

10、1 0 0 1 1 1 1; %设置系数程序检测无误后,运行程序,得到图形如下:图 5.2 运行后的两 m 序列波形仿真图8根据产生 Gold 序列的原理,运行程序,得到如下 Gold 序列的仿真图;图 5.3 运行后 Gold 序列的仿真图自相关性:首先将第一个 m 序列变成双极性的序列,在与本身进行移位相乘进行积分运算,代码如下:out1=2*out1-1; %变为双极性序列for j=0:N-1rho(j+1)=sum(out1.*out1(1+j:N),out1(1:j)/N;endj=-N+1:N-1;rho=fliplr(rho(2:N),rho;figure(3)plot(j,r

11、ho);axis(-10 10 -0.1 1.2);title(第一个 m 序列的自相关函数)9互相关性:第一个 m 序列的函数与第二个 m 序列函数的移位相乘进行积分运算。代码如下:for j=0:N-1R(j+1)=sum(out1.*out2(1+j:N),out2(1:j);图 5.4 m 序列自相关性仿真图10图 5.5 两 m 序列的互相关性仿真图5.3 错误排除实验过程中出了许多错误,特别是在对序列的自相关性上,缺乏了对自相关性的了解,导致出的波形错误,但在查找资料,修改自相关函数,终于得到了正确的仿真图。11结论课程设计是一个十分有价值、有意义的实践活动,把一个课题设计好不是一

12、步到位的,是经过反复修改,不断调试的过程,期间有困难也有乐趣,使对工程实践有了一个初步的认识。本次课程设计实现了设计要求,利用软件实现 m 序列的生成,通过这次实验不但加深了对 m 序列的了解,而且对 MATLAB 的编程有了很好的掌握,虽然在仿真过程中会出现一些如程序不对或出的仿真图没有达到实验要求,如 m 序列中1的个数要比0的个数多 1,而实际出的仿真图1和0的个数却是相等的,最后在调整了顶层原理图才使得仿真图正确,在不断的程序调整中提高了自己的能力。m 序列可以用软件实现,也可以用硬件实现,但是通过此次实验看出了软件的诸多优点。在课程设计的过程中,查询了大量的资料,通过相关资料的查询,

13、使我对通信领域的有关知识有了一定的了解,扩大了知识面。12参考资料1肖国镇,梁传甲.伪随机序列及其应用M.北京:国防工业出版社.19852林可祥,汪一飞.伪随机码的原理与应用M.北京:人民邮电出版社.1998.3吴先用,邹学玉.一种 m 序列伪码发生器的产生方法J.西安:西安电子科技大学出版社.200313附录clear;reg1=ones(1,7); %寄存器初始状态coeff1=1 0 0 0 0 1 1; %设置系数N=2length(reg1)-1;%产生 m 序列for k=1:Na_n=mod(sum(reg1.*coeff1(1:length(coeff1)-1),2);reg1

14、=reg1(2:length(reg1),a_n;out1(k)=reg1(1);endreg2=ones(1,7); %寄存器初始状态coeff2=1 10 0 1 1 1; %设置系数N=2length(reg2)-1;for k=1:Na_n=mod(sum(reg2.*coeff2(1:length(coeff2)-1),2); %移位,反馈reg2=reg2(2:length(reg2),a_n; %反馈out2(k)=reg2(1); %取第一个值输出end%产生 gold 序列gold=mod(out1+out2,2); c=1:N;figure(1)b1,t1=stairs(c

15、,out1);subplot(2,1,1);plot(b1,t1);axis(0 130 -0.1 1.1);title(第一个 m 序列);b2,t2=stairs(c,out2);subplot(2,1,2);plot(b2,t2);14axis(0 130 -0.1 1.1);title(第二个 m 序列);figure(2)b3,t3=stairs(c,gold);plot(b3,t3);axis(0 130 -0.1 1.1);title(gold 序列)out1=2*out1-1; %变为双极性序列out2=2*out2-1;%自相关函数for j=0:N-1rho(j+1)=su

16、m(out1.*out1(1+j:N),out1(1:j)/N;endj=-N+1:N-1;rho=fliplr(rho(2:N),rho;figure(3)plot(j,rho);axis(-10 10 -0.1 1.2);title(第一个 m 序列的自相关函数)%互相关函数for j=0:N-1R(j+1)=sum(out1.*out2(1+j:N),out2(1:j);endj=-N+1:N-1;R=fliplr(R(2:N),R;figure(4)plot(j,R);axis(-N N -20 20);title(两个 m 序列的互相关函数);15M 序列(百度百科)m 序列是目前

17、CDMA 系统中采用的最基本的 PN 序列。 是最长线性反馈移位寄存器序列的简称基本概念编辑m 序列m 序列是最长线性移位寄存器序列的简称,是一种伪随机序列、伪噪声(PN) 码或伪随机码。可以预先确定并且可以重复实现的序列称为确定序列;既不能预先确定又不能重复实现的序列称随机序列;不能预先确定但可以重复产生的序列称伪随机序列。具体解释对于一个 n 级反馈移位寄存器来说,最多可以有 2n 个状态,对于一个线性反m 序列的应用馈移位寄存器来说,全“0”状态不会转入其他状态,所以线性移位寄存器的序列的最长周期为 2n-1。当 n 级线性移位寄存器产生的序列ai的周期为 T= 2n-1 时,称ai为

18、n级 m 序列。当反馈函数 f(a1,a2,a3,an)为非线性函数时,便构成非线性移位寄存器,其输出序列为非线性序列。输出序列的周期最大可达 2n ,并称周期达到最大值的非线性移位寄存器序列为 M 序列。16M序列特性1. 均衡特性(平衡性)m 序列每一周期中 1 的个数比 0 的个数多 1 个2. 游程特性(游程分布的随机性)M 序列中,状态“0”或“1”连续出现的段称为游程。游程中“0”或“1”的个数称为游程长度。m 序列的一个周期(p=2n-1)中,游程总数为 2n-1, “0”、 “1”各占一半。3. 移位可加性2 个彼此移位等价的相异 M 序列,按模 2 相加所得的序列仍为 M 序列,并与原 M 序列等价

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报