1、洗手 洗手 洗手 洗手 洗手 专业课程设计报告洗手 洗手 洗手 洗手 洗手 洗手 洗手 题 目 : beef 基于 Matlab的 m 序列仿真分析 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 南昌航 空大学信息工 程学院 洗手 年 6 20 14 月 25 日 洗手 洗手 洗手 专业 课程设计任务书 洗手 姓 名 : beef 专 业 : beef 洗手 通 信 工 程 班级学号 : beef 同 组 人 : beef 指导教师 : beef 20 13 20 14 学年 第 2 学期 第 16 周 19 周 注 : beef1、 beef此表一组一表二份 , 吃饭 课
2、程设计小组组长一份 ; beef任课教师授课时自带一份备查 。 洗手 洗手 2、 b eef课程设计结束后与“课程设计小结” 、 beef“学生成绩单”一并交院教务存档 。 洗手 洗手 洗手 洗手 摘要 洗手 洗手 m 序列是最长 线性 移位寄存器序列 , 吃饭 m 序列最早应用于扩频通信 , 吃饭 有着优良的自相关特性以及很强的抗干扰能力和很好的通信隐蔽性 。 洗手 洗手 题目 基于 Matlab的 m序列仿真分析 内容及要求 洗手 设计内容 : beef在 MATLAB 环境下制作一个 GUI, 吃饭 利用 Matlab 语言生成 m序列并对 m序列相关特性进行仿真 。 洗手 洗手 基本要
3、求 : beef1.根据多项式生产 m 序列 ;b eef2.分析 m 序列的相关性 ; beef3)利用 matlab GUI 显示仿真结果 。 洗手 进度安排 洗手 16 周 : beef相关资料收集 , 吃饭 方案比较与选择 。 洗手 洗手 17-18 周 : beef编写脚本 , 吃饭 建立仿真系统 , 吃饭 系统调试 。 洗手 洗手 19 周 : bef设计结果验收 , 吃饭 报告初稿的撰写 。 洗手 学生姓名 : b e ef 指导时间 周一 周三 周五 指导地点 : b eefE 楼 607 室 任务下达 20 14 年 6 月 3 日 任务完成 20 14 年 6 月 27 日
4、 考核方式 1.评阅 2.答辩 3.实际操作 4.其它 指导教师 陈光 系(部)主任 李忠民 本文首先介绍了扩频通信中 m 序列的基本性质 , 吃饭 然后再介绍 m 序列产生的原理以及自相关 、 beef互相关特性 。 洗手 通过软件 Matlab 来仿真分析产生的 m 序列及其自相关和互相关函数图形 。 洗手 最后 通过软件仿真来验证理论分析的正确性 。 洗手 洗手 洗手 关键字 : bef移位寄存器 , 吃饭 m序列 , 吃饭 Matlab 仿真分析 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 Abstract 洗手 洗手 M se
5、quence is the longest linear shift register sequences,it applied in spread-spectrum communication firstly,it has good autocorrelation pr- operties ,strong anti-interference ability and good communication conce- alment.洗手 The paper introduces the basic performance of m sequence firtly,Then introduces
6、 its generating principle,autocorrelation and cross-correlation properties. Through the Matlab to annlyze m sequences production ,the figure of its autocorrelation and cross-correlation properties. At last, the results show the correctness of the method. 洗手 洗手 Keywords: shift register, 吃饭 m sequence
7、, 吃饭 Matlab simulation and analysis 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 目 录 洗手 洗手 第一章 设计要求和引言 0 洗手 1.1 设计内容及要求 0 洗手 1.1.1 设计内容 0 洗手 1.1.2 设计要求 0 洗手 1.2 系统设计流程图 0 洗手 第二章 m序列的产生及性质 1 洗手 2.1 m序列产生原理及结构 1 洗手 2.2 m序列的基本性质 3 洗手 第三章 系统软件设计 7 洗手 3.1 系统结构功能设计 7 洗手 3.2 GUI 界面设计 7 洗手 第四章 系统调试结果分
8、析 8 洗手 4.1 调试过程 9 洗手 4.1.1 调试步骤 9 洗手 4.1.2 调试过程分析 9 洗手 4.2 调试故障分析 10 洗手 第五章 实验总结与结论 10 洗手 参考文献 11 洗手 附录 12 洗手 基于 Matlab 的 m 序列仿真分析 0 洗手 洗手 洗手 洗手 洗手 洗手 洗 手 洗手 第一章 设计要求和引言 洗手 1.1 设计内容及要求 洗手 1.1.1 设计内容 洗手 在 MATLAB 环境下制作一个 GUI, 吃饭 利用 Matlab 语言生成 m 序列并对 m 序列相关特性进行仿真 。 洗手 洗手 1.1.2 设计要求 洗手 1)根据多项式生产 m序列 ;
9、b eef洗手 2)分析 m序列的相关性 ; b eef洗手 3)利用 Matlab GUI 显示仿真结果 。 洗手 洗手 1.2 系统设计流程图 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 开始 用 Matlab 编写程序产生两个 m序列 对 m 序列进行自相关特性分析 对 m 序列进行互相关特性分析 基于 Matlab 的 m 序列仿真分析 1 洗手 洗手 洗手 洗手 洗手 第二 章 m序列的产生及性质 洗手 2.1 m序列产生原理及结构 洗手 伪随机序列有很多种 , 吃饭 其中最基本最常用的一种是最长线性反馈移位寄存器序列 , 吃饭也称作 m 序列
10、 , 吃饭 通常由 反馈移位寄存器产生 。 洗手 洗手 m 序列是最长线性移位寄存器序列的简称 。 洗手 它是由多级移位寄存器或其他延迟元件通过线性反馈产生的最长的码序列 。 洗手 由于 m 序列容易产生 、 beef规律性强 、 beef有许多优良的性能 , 吃饭 在扩频通信中最早获得广泛的应用 。 洗手 洗手 由 m 级寄存器构成的线性移位寄存器如图 2.1 所示 , 吃饭 通常把 m 称为这个移位寄存器的长度 。 洗手 每个寄存器的反馈支路都乘以 Ci。 洗手 当 Ci=0 时 , 吃饭 表示该支路断开 ; beef当 Ci=1 时 ,吃饭 表示该支路接通 。 洗手 显然 , 吃饭 长度
11、为 m 的移位寄存器有 2n种状态 , 吃饭 除了全零序列 , 吃饭 能够输出的最长序列长度为 N=2n-1。 洗手 此序列便称为最长移位寄存器序列 , 吃饭 简称 m 序列 。 洗手 洗手 m 序列每移位一次 , 吃饭 就出现一种状态 , 吃饭 在移位若干次后 , 吃饭 一定能重复出现前某一状态 , 吃饭 其后的过程便周而复始了 。 洗手 反馈线位置不同将出现不同周期的不同序列 , 吃饭 我们希望找到线性反馈的位置 , 吃饭 能使移存器产生的序列最长 , 吃饭 即达到周期 P=2n-1。 洗手 按图中线路连接关系 , 吃饭 可以写为 : beef洗手 ni ininnnnn acacacac
12、aca 10112211 . . .洗手 该式称为递推方程 。 洗手 洗手 洗手 图 2.1 m 序列发生器的结构 洗手 为了获得一个 m 序列 , 吃饭 反馈抽头是不能任意的 。 洗手 在研究长度为 m 的序列生成及其性质时 , 吃饭 常用一个 n阶多项式 f(x)描述它的反馈结构 , 吃饭 即 : beef洗手 niiinn xcxcxcxccxf02210 .)( 洗手 式中 , 吃饭 c0=1, 吃饭 cm=1。 洗手 洗手 这一方程称为特征多项式 。 洗手 式中 xi仅指明其系数 ci的值( 1 或 0) , 吃饭 x本身的取值并无实际意义 , 吃饭 也不需要去计算 x 的值 。 洗
13、手 例如 , 吃饭 若特征方程为 f(x)=1+x+x4 则它仅表示 x0,x1和 x4的系数 c0=c1=c4=1,其余为零 。 洗手 经严格证明 : beef若反馈移位寄存器的特征多用 Matlab GUI 显示仿真结果 结束 基于 Matlab 的 m 序列仿真分析 2 项式为本原多项式 , 吃饭 则移位寄存器能产生 m序列 。 洗手 洗手 特征多项式与输出序列的周期有密切关系 .当 F(x)满足下列三个条件时 , 吃饭 就一定能产生 m序列 : b eef洗手 (1) F(x)是不可约的 , 吃饭 即不能再分解多项式 ; beef洗手 (2) F(x)可整除 1px ,这里 p=2n-
14、1 洗手 (3) F(x)不能整除 1qx , 吃饭 这里 qp。 洗手 洗手 m 序列发生器中 , 吃饭 并不是任何抽头组合都能产生 m 序列 。 洗手 洗手 一个线性反馈移动寄存器能否产生 m 序列 , 吃饭 决定于它的反馈系数 ci(i=0,1,2,n) ,吃饭 表 2-1 中列出了部分 m 序列的反馈系数 ci, 吃饭 按照下表中的系数来构造移位寄存器 , 吃饭就能产生相应的 m序列 。 洗手 洗手 级数 n 周期 P 反馈系数 iC (采用八进制) 3 7 13 4 15 23 5 31 45, 吃饭 67, 吃饭 75 6 63 103, 吃饭 147, 吃饭 155 7 127
15、203, 吃饭 211, 吃饭 217, 吃饭 235, 吃饭 277, 吃饭 313, 吃饭 325, 吃饭 345, 吃饭 367 8 255 435, 吃饭 453, 吃饭 537, 吃饭 543, 吃饭 545, 吃饭 551, 吃饭 703, 吃饭 747 9 511 1021, 吃饭 1055, 吃饭 1131, 吃饭 1157, 吃饭 1167, 吃饭 1175 10 1023 2011, 吃饭 2033, 吃饭 2157, 吃饭 2443, 吃饭 2745, 吃饭 3471 11 2047 4005, 吃饭 4445, 吃饭 5023, 吃饭 5263, 吃饭 6211, 吃饭
16、 7363 12 4095 10123, 吃饭 11417, 吃饭 12515, 吃饭 13505, 吃饭 14127, 吃饭 15053 13 8191 20033, 吃饭 23261, 吃饭 24633, 吃饭 30741, 吃饭 32535, 吃饭 37505 14 16383 42103, 吃饭 51761, 吃饭 55753, 吃饭 60153, 吃饭 71147, 吃饭 67401 15 32765 100003, 吃饭 110013, 吃饭 120265, 吃饭 133663, 吃饭 142305 表 2-1 部分 m序列的反馈系数表 洗手 根据表 2-1 中的八进制的反馈系数
17、, 吃饭 可以确定 m 序列发生器的结构 。 洗手 以 7 级 m 序列反馈系数 Ci=(211)8 为例 , 吃饭 首先将八进制的系 数转 化为二 进制的 系数即Ci=(010001001)2, 吃饭 由此我们可以得到各级反馈系数分别为 : beefC0=1、 beefC1=0、 beefC2=0、 beefC3=0、基于 Matlab 的 m 序列仿真分析 3 beefC4=1、 beefC5=0、 beefC6=0、 beefC7=1, 吃饭 由此就很容易地构造出相应的 m 序列发生器 。 洗手 根据反馈系数 , 吃饭 其他级数的 m序列的构造原理与上述方法相同 。 洗手 洗手 需要说明
18、的是 , 吃饭 表 2-1 中列出的是部分 m 序列的反馈系数 , 吃饭 将表中的反馈系数进行比特反转 , 吃饭 即进行镜像 , 吃饭 即可得到相应的 m 序列 。 洗手 例如 , 吃饭 取 C4=(23)8 =(10011)2 , 吃饭进行比特反转之后为 (10011)2=(31)8, 吃饭 所以 4级的 m序列共有 2个 。 洗手 其他级数 m 序列的反馈系数也具有相同的特性 。 洗手 理论分析指出 , 吃饭 n 级移位寄存器可以产生的 m 序列个数由下式决定 : b eef洗手 (2 1)/nsNn 洗手 其中 , 吃饭 ()x 为欧拉函数 , 吃饭 其值小于等于 x , 吃饭 并与 x
19、 互质的正整数的个 数(包括 1 在内) 。 洗手 例如对于 4 级移位寄存器 , 吃饭 则小于 42 1 15 并与 15 互质的数为 1、 beef2、 beef4、 beef7、beef8、 beef11、 beef13、 beef14, 吃饭 共 8 个 , 吃饭 所以 (15) 8, 8 / 4 2sN , 吃饭 所以 4 级移位寄存器最多能产生的 m序列数为 2。 洗手 洗手 总之 , 吃饭 移位寄存器的反馈系数决定是否产生 m 序列 , 吃饭 起始状态决定序列的起始点 , 吃饭不同的反馈系数产生不同的码序列 。 洗手 洗手 在 Matlab 的 GUI 环境中 , 吃饭 程序代码
20、如下 : beef洗手 r=5;b eefN=2r-1;beef %移位寄存器的长度和序列的长度 洗手 s1(1:5)=1 0 0 0 0;b eef %initial value 1 洗手 s2(1:5)=1 0 0 0 1;b eef %initial value 1 洗手 f1=1 0 0 1 0 1;b eef %特征多项式 f x5+x2+1;b eef洗手 f2=1 1 1 1 0 1 ;b eef %特征多项式 f x5+x4+x3+x2+1;b eef洗手 for n=r+1:N %进行循环 洗手 s1(n)=mod(sum(s1(n-r:n-1).*f1(1:r),2);b
21、eef%通过模 2加产生 m1 序列 洗手 end 洗手 stem(s1);b eef %绘制生成 m 序列的图形 洗手 title(生成 m序列 )洗手 洗手 2.2 m序列的基本性质 洗手 ( 1)平衡特性 洗手 在 m 序列中一个周期 N=2n-1 内“ 1”的数目比“ 0”的数目多 l位 。 洗手 此特性保证了做平衡调制时 , 吃饭 扩展频谱具有较高的载波抑制度 。 洗手 洗手 基于 Matlab 的 m 序列仿真分析 4 (2)游程特性 洗手 在表 2 2中列出长为 15 位的游程分布 。 洗手 洗手 游程长度 (比特 ) 游程数目 所包含的比特数 “ 1”的 “ 0”的 1 2 2
22、 4 2 1 1 4 3 0 1 3 4 1 0 4 游程总数 8 合计 15 表 2 2 111101011001000 游程分布 洗手 一般说来 , 吃饭 m 序列中长为 k(1 k n 2)的游程数占游程总数的 l/2k。 洗手 仅有一个包含 n-1个“ 0”的游程 , 吃饭 也只有一个包含 n 个“ 1”的游程 洗手 ( 3) 线性叠加性 洗手 m 序列和其移位后的序列逐位模二相加 , 吃饭 所得的序列还是 m 序列 , 吃饭 只是相移不同而已 。 洗手 例如 1110100 与向右移三位后的序列 1001110 逐位模二相加后的序列为0111010, 吃饭 相当于原序列向右移一位后的
23、序列 , 吃饭 仍是 m 序列 。 洗手 洗手 ( 4) m 序列发生器中移位寄存器的各种状态 , 吃饭 除全 0 状态外 , 吃饭 其他状态只在 m 序列中出现一次 。 洗手 如 7 位 m 序列中顺序出现的状态为 111, 吃饭 110, 吃饭 101, 吃饭 010, 吃饭 100, 吃饭 00l和 011, 吃饭 然后再回到初始状态 111。 洗手 洗手 ( 5) m序列自相关特性 洗手 m 序列的自相关函数由下式计算(当 0 时) : b eef洗手 洗手 即 A 表示相同的位数 , 吃饭 D表示不同的位数(注意当 m 序列用 1 表示 , 吃饭 则 A对应“和序列”的 1, 吃饭 D对应“和序列”的 -1) 。 洗手 令 p =A + D = 2n 1 , 吃饭 则 m 序列的自相关系数为 : b eef洗手 洗手 当 =0 时 , 吃饭 m 序列的自相关函数 出现峰值 1; beef当 偏离 0 时 , 吃饭 相关函数曲线很快下降 ; beef当 1 N-1 时 , 吃饭 相关函数值为 1/N; beef当 =N 时 , 吃饭 又出现峰值 , 吃饭 如此周而复