基于MATLAB的m序列仿真
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
r=5;N=2^r-1; %移位寄存器的长度和序列的长度 s1(1:5)=[1 0 0 0 0]; s2(1:5)=[1 0 0 0 1]; f1=[1 0 0 1 0 1]; f2=[1 1 1 1 0 1 ]; for n=r+1:N %initial value 1 %initial value 1 %特征多项式f=x^5+x^2+1 %特征多项式f=x^5+x^4+x^3+x^2+1 %进行循环
3
反馈系数 Ci (采用八进制)
基于 Matlab 的 m 序列仿真分析
根据表 2-1 中的八进制的反馈系数,可以确定 m 序列发生器的结构。以 7 级 m 序 列 反 馈 系 数 Ci=(211)8 为 例 , 首 先 将 八 进 制 的 系 数 转 化 为 二 进 制 的 系 数 即 Ci=(010001001)2,由此我们可以得到各级反馈系数分别为: C0=1、C1=0、C2=0、C3=0、 C4=1、C5=0、C6=0、C7=1,由此就很容易地构造出相应的 m 序列发生器。根据反馈系 数,其他级数的 m 序列的构造原理与上述方法相同。 需要说明的是,表 2-1 中列出的是部分 m 序列的反馈系数,将表中的反馈系数 进 行 比 特 反 转 , 即 进 行 镜 像 , 即 可 得 到 相 应 的 m 序 列 。 例 如 , 取 C4=(23)8 =(10011)2 ,进行比特反转之后为(10011)2=(31)8,所以 4 级的 m 序列共有 2 个。其 他级数 m 序列的反馈系数也具有相同的特性。理论分析指出,n 级移位寄存器可以 产生的 m 序列个数由下式决定:
参考文献 ......................................................... 16 附录 ............................................................. 17
基于 Matlab 的 m 序列仿真分析
摘要
m 序列是最长线性移位寄存器序列,m 序列最早应用于扩频通信,有着优良的自 相关特性以及很强的抗干扰能力和很好的通信隐蔽性。 本文首先介绍了扩频通信中 m 序列的基本性质,然后再介绍 m 序列产生的原理 以及自相关、互相关特性。通过软件 Matlab 来仿真分析产生的 m 序列及其自相关和 互相关函数图形。最后通过软件仿真来验证理论分析的正确性。
3.1 系统结构功能设计 ......................................................................................... 9 3.2 GUI 界面设计 ................................................................................................. 9 第四章 系统调试结果分析 ......................................... 11
结束 图 1.1 系统设计流程图
1
基于 Matlab 的 m 序列仿真分析
第二章
2.1 m 序列产生原理及结构
m 序列的产生及性质
伪随机序列有很多种,其中最基本最常用的一种是最长线性反馈移位寄存器序 列,也称作 m 序列,通常由反馈移位寄存器产生。 m 序列是最长线性移位寄存器序列的简称。它是由多级移位寄存器或其他延迟 元件通过线性反馈产生的最长的码序列。由于 m 序列容易产生、规律性强、有许多 优良的性能,在扩频通信中最早获得广泛的应用。 由 m 级寄存器构成的线性移位寄存器如图 2.1 所示,通常把 m 称为这个移位寄 存器的长度。每个寄存器的反馈支路都乘以 Ci。当 Ci=0 时,表示该支路断开;当 Ci=1 时,表示该支路接通。显然,长度为 m 的移位寄存器有 2n 种状态,除了全零序 列,能够输出的最长序列长度为 N=2n-1。此序列便称为最长移位寄存器序列,简称 m 序列。 m 序列每移位一次,就出现一种状态,在移位若干次后,一定能重复出现前某 一状态,其后的过程便周而复始了。反馈线位置不同将出现不同周期的不同序列, 我们希望找到线性反馈的位置,能使移存器产生的序列最长,即达到周期 P=2n-1。 按图中线路连接关系,可以写为:
s1(n)=mod(sum(s1(n-r:n-1).*f1(1:r)),2);%通过模2加产生m1序列 end stem(s1); title('生成m序列') %绘制生成m序列的图形
4
基于 Matlab 的 m 序列仿真分析
2.2 m 序列的基本性质
1.2
系统设计流程图
本文通过软件 Matlab 编写程序,从而在 GUI 环境下看到 m 序列的产生、m 序列的自 相关和互相关函数图形,其系统设计流程图如图 1.1 所示: 开始
用 Matlab 编写程序产生两个 m 序列
对 m 序列进行自相关特性分析
对 m 序列进行互相关特性分析
用 Matlab GUI 显示仿真结果
4.1 调试过程 ....................................................................................................... 11 4.1.1 调试步骤 ............................................................................................ 11 4.1.2 调试过程分析 .................................................................................... 11 4.2 调试故障分析 ............................................................................................... 14 第五章 实验总结与结论 ........................................... 15
a n c1 a n1 c2 a n2 ... cn1 a1 cn a0 ci a ni
i 1 n
该式称为递推方程。
图 2.1 m 序列发生器的结构 为了获得一个 m 序列,反馈抽头是不能任意的。在研究长度为 m 的Hale Waihona Puke Baidu列生成及 其性质时,常用一个 n 阶多项式 f(x)描述它的反馈结构,即:
2.1 m 序列产生原理及结构 ................................................................................. 2 2.2 m 序列的基本性质 ......................................................................................... 5 第三章 系统软件设计 .............................................. 9
关键字:移位寄存器,m 序列,Matlab 仿真分析
目
第一章
录
设计要求和引言 ............................................ 1
1.1 设计内容及要求 ............................................................................................. 1 1.1.1 设计内容 .............................................................................................. 1 1.1.2 设计要求 .............................................................................................. 1 1.2 系统设计流程图 ............................................................................................ 1 第二章 m 序列的产生及性质......................................... 2
第一章
1.1 设计内容及要求
1.1.1 设计内容
设计要求和引言
在 MATLAB 环境下制作一个 GUI,利用 Matlab 语言生成 m 序列并对 m 序列相关 特性进行仿真。 1.1.2 设计要求 1)根据多项式生产 m 序列; 2)分析 m 序列的相关性; 3)利用 Matlab GUI 显示仿真结果。
Ns (2n 1) / n
其中, ( x) 为欧拉函数,其值小于等于 x ,并与 x 互质的正整数的个数(包括 1 在内)。例如对于 4 级移位寄存器,则小于 24 1 15 并与 15 互质的数为 1、2、4、 7、8、11、13、14,共 8 个,所以 (15) 8, Ns 8/ 4 2 ,所以 4 级移位寄存器最多能 产生的 m 序列数为 2。 总之,移位寄存器的反馈系数决定是否产生 m 序列,起始状态决定序列的起始 点,不同的反馈系数产生不同的码序列。 在 Matlab 的 GUI 环境中,程序代码如下:
f ( x) c0 c1 x c2 x 2 ... cn x n ci x i
i 0 n
式中,c0=1,cm=1。
2
基于 Matlab 的 m 序列仿真分析
这一方程称为特征多项式。式中 xi仅指明其系数ci的值(1或0),x本身的取值 并无实际意义,也不需要去计算 x 的值。例如,若特征方程为 f(x)=1+x+x4 则它仅表 示x0,x1和x4的系数c0=c1=c4=1,其余为零。经严格证明:若反馈移位寄存器的特征多项 式为本原多项式,则移位寄存器能产生m序列。 特征多项式与输出序列的周期有密切关系.当 f(x)满足下列三个条件时,就一 定能产生 m 序列: (1) f(x)是不可约的,即不能再分解多项式; (2) f(x)可整除 x p 1 ,这里 p=2n-1 (3) f(x)不能整除 x q 1 ,这里 q<p。 m 序列发生器中,并不是任何抽头组合都能产生 m 序列。 一个线性反馈寄存器能否产生 m 序列,决定于它的反馈系数 ci(i=0,1,2,…,n), 表 2-1 中列出了部分 m 序列的反馈系数 ci,按照下表中的系数来构造移位寄存器,就 能产生相应的 m 序列。 级数 n 3 4 5 6 7 8 9 10 11 12 13 14 15 周期 P 7 15 31 63 127 255 511 1023 2047 4095 8191 16383 32765 表 2-1 13 23 45,67,75 103,147,155 203,211,217,235,277,313,325,345,367 435,453,537,543,545,551,703,747 1021,1055,1131,1157,1167,1175 2011,2033,2157,2443,2745,3471 4005,4445,5023,5263,6211,7363 10123,11417,12515,13505,14127,15053 20033,23261,24633,30741,32535,37505 42103,51761,55753,60153,71147,67401 100003,110013,120265,133663,142305 部分 m 序列的反馈系数表
3
反馈系数 Ci (采用八进制)
基于 Matlab 的 m 序列仿真分析
根据表 2-1 中的八进制的反馈系数,可以确定 m 序列发生器的结构。以 7 级 m 序 列 反 馈 系 数 Ci=(211)8 为 例 , 首 先 将 八 进 制 的 系 数 转 化 为 二 进 制 的 系 数 即 Ci=(010001001)2,由此我们可以得到各级反馈系数分别为: C0=1、C1=0、C2=0、C3=0、 C4=1、C5=0、C6=0、C7=1,由此就很容易地构造出相应的 m 序列发生器。根据反馈系 数,其他级数的 m 序列的构造原理与上述方法相同。 需要说明的是,表 2-1 中列出的是部分 m 序列的反馈系数,将表中的反馈系数 进 行 比 特 反 转 , 即 进 行 镜 像 , 即 可 得 到 相 应 的 m 序 列 。 例 如 , 取 C4=(23)8 =(10011)2 ,进行比特反转之后为(10011)2=(31)8,所以 4 级的 m 序列共有 2 个。其 他级数 m 序列的反馈系数也具有相同的特性。理论分析指出,n 级移位寄存器可以 产生的 m 序列个数由下式决定:
参考文献 ......................................................... 16 附录 ............................................................. 17
基于 Matlab 的 m 序列仿真分析
摘要
m 序列是最长线性移位寄存器序列,m 序列最早应用于扩频通信,有着优良的自 相关特性以及很强的抗干扰能力和很好的通信隐蔽性。 本文首先介绍了扩频通信中 m 序列的基本性质,然后再介绍 m 序列产生的原理 以及自相关、互相关特性。通过软件 Matlab 来仿真分析产生的 m 序列及其自相关和 互相关函数图形。最后通过软件仿真来验证理论分析的正确性。
3.1 系统结构功能设计 ......................................................................................... 9 3.2 GUI 界面设计 ................................................................................................. 9 第四章 系统调试结果分析 ......................................... 11
结束 图 1.1 系统设计流程图
1
基于 Matlab 的 m 序列仿真分析
第二章
2.1 m 序列产生原理及结构
m 序列的产生及性质
伪随机序列有很多种,其中最基本最常用的一种是最长线性反馈移位寄存器序 列,也称作 m 序列,通常由反馈移位寄存器产生。 m 序列是最长线性移位寄存器序列的简称。它是由多级移位寄存器或其他延迟 元件通过线性反馈产生的最长的码序列。由于 m 序列容易产生、规律性强、有许多 优良的性能,在扩频通信中最早获得广泛的应用。 由 m 级寄存器构成的线性移位寄存器如图 2.1 所示,通常把 m 称为这个移位寄 存器的长度。每个寄存器的反馈支路都乘以 Ci。当 Ci=0 时,表示该支路断开;当 Ci=1 时,表示该支路接通。显然,长度为 m 的移位寄存器有 2n 种状态,除了全零序 列,能够输出的最长序列长度为 N=2n-1。此序列便称为最长移位寄存器序列,简称 m 序列。 m 序列每移位一次,就出现一种状态,在移位若干次后,一定能重复出现前某 一状态,其后的过程便周而复始了。反馈线位置不同将出现不同周期的不同序列, 我们希望找到线性反馈的位置,能使移存器产生的序列最长,即达到周期 P=2n-1。 按图中线路连接关系,可以写为:
s1(n)=mod(sum(s1(n-r:n-1).*f1(1:r)),2);%通过模2加产生m1序列 end stem(s1); title('生成m序列') %绘制生成m序列的图形
4
基于 Matlab 的 m 序列仿真分析
2.2 m 序列的基本性质
1.2
系统设计流程图
本文通过软件 Matlab 编写程序,从而在 GUI 环境下看到 m 序列的产生、m 序列的自 相关和互相关函数图形,其系统设计流程图如图 1.1 所示: 开始
用 Matlab 编写程序产生两个 m 序列
对 m 序列进行自相关特性分析
对 m 序列进行互相关特性分析
用 Matlab GUI 显示仿真结果
4.1 调试过程 ....................................................................................................... 11 4.1.1 调试步骤 ............................................................................................ 11 4.1.2 调试过程分析 .................................................................................... 11 4.2 调试故障分析 ............................................................................................... 14 第五章 实验总结与结论 ........................................... 15
a n c1 a n1 c2 a n2 ... cn1 a1 cn a0 ci a ni
i 1 n
该式称为递推方程。
图 2.1 m 序列发生器的结构 为了获得一个 m 序列,反馈抽头是不能任意的。在研究长度为 m 的Hale Waihona Puke Baidu列生成及 其性质时,常用一个 n 阶多项式 f(x)描述它的反馈结构,即:
2.1 m 序列产生原理及结构 ................................................................................. 2 2.2 m 序列的基本性质 ......................................................................................... 5 第三章 系统软件设计 .............................................. 9
关键字:移位寄存器,m 序列,Matlab 仿真分析
目
第一章
录
设计要求和引言 ............................................ 1
1.1 设计内容及要求 ............................................................................................. 1 1.1.1 设计内容 .............................................................................................. 1 1.1.2 设计要求 .............................................................................................. 1 1.2 系统设计流程图 ............................................................................................ 1 第二章 m 序列的产生及性质......................................... 2
第一章
1.1 设计内容及要求
1.1.1 设计内容
设计要求和引言
在 MATLAB 环境下制作一个 GUI,利用 Matlab 语言生成 m 序列并对 m 序列相关 特性进行仿真。 1.1.2 设计要求 1)根据多项式生产 m 序列; 2)分析 m 序列的相关性; 3)利用 Matlab GUI 显示仿真结果。
Ns (2n 1) / n
其中, ( x) 为欧拉函数,其值小于等于 x ,并与 x 互质的正整数的个数(包括 1 在内)。例如对于 4 级移位寄存器,则小于 24 1 15 并与 15 互质的数为 1、2、4、 7、8、11、13、14,共 8 个,所以 (15) 8, Ns 8/ 4 2 ,所以 4 级移位寄存器最多能 产生的 m 序列数为 2。 总之,移位寄存器的反馈系数决定是否产生 m 序列,起始状态决定序列的起始 点,不同的反馈系数产生不同的码序列。 在 Matlab 的 GUI 环境中,程序代码如下:
f ( x) c0 c1 x c2 x 2 ... cn x n ci x i
i 0 n
式中,c0=1,cm=1。
2
基于 Matlab 的 m 序列仿真分析
这一方程称为特征多项式。式中 xi仅指明其系数ci的值(1或0),x本身的取值 并无实际意义,也不需要去计算 x 的值。例如,若特征方程为 f(x)=1+x+x4 则它仅表 示x0,x1和x4的系数c0=c1=c4=1,其余为零。经严格证明:若反馈移位寄存器的特征多项 式为本原多项式,则移位寄存器能产生m序列。 特征多项式与输出序列的周期有密切关系.当 f(x)满足下列三个条件时,就一 定能产生 m 序列: (1) f(x)是不可约的,即不能再分解多项式; (2) f(x)可整除 x p 1 ,这里 p=2n-1 (3) f(x)不能整除 x q 1 ,这里 q<p。 m 序列发生器中,并不是任何抽头组合都能产生 m 序列。 一个线性反馈寄存器能否产生 m 序列,决定于它的反馈系数 ci(i=0,1,2,…,n), 表 2-1 中列出了部分 m 序列的反馈系数 ci,按照下表中的系数来构造移位寄存器,就 能产生相应的 m 序列。 级数 n 3 4 5 6 7 8 9 10 11 12 13 14 15 周期 P 7 15 31 63 127 255 511 1023 2047 4095 8191 16383 32765 表 2-1 13 23 45,67,75 103,147,155 203,211,217,235,277,313,325,345,367 435,453,537,543,545,551,703,747 1021,1055,1131,1157,1167,1175 2011,2033,2157,2443,2745,3471 4005,4445,5023,5263,6211,7363 10123,11417,12515,13505,14127,15053 20033,23261,24633,30741,32535,37505 42103,51761,55753,60153,71147,67401 100003,110013,120265,133663,142305 部分 m 序列的反馈系数表