生成M序列的一种新的算法
- 格式:pdf
- 大小:170.66 KB
- 文档页数:3
m序列快速生成算法摘要:1.m 序列的概述2.m 序列快速生成算法的原理3.m 序列快速生成算法的具体步骤4.m 序列快速生成算法的应用案例5.m 序列快速生成算法的优缺点分析正文:一、m 序列的概述m 序列,也被称为m 序列数列,是一种在数学和计算机科学中经常出现的数列。
它的定义是:从1 开始,每个数都是前两个数之和。
例如,前几个m 序列数为:1, 1, 2, 3, 5, 8, 13, 21, 34, 55,...。
m 序列具有很多有趣的性质,如斐波那契数列、卢卡斯数列等,因此在各个领域都有广泛的应用。
二、m 序列快速生成算法的原理m 序列快速生成算法是一种高效生成m 序列的方法,其原理是利用数学递推关系式,通过迭代计算来快速生成m 序列。
m 序列的递推关系式为:F(n) = F(n-1) + F(n-2),其中F(n) 表示第n 个m 序列数。
通过这个递推关系式,我们可以从已知的前两个m 序列数开始,逐步计算出后续的m 序列数。
三、m 序列快速生成算法的具体步骤1.初始化两个变量a 和b,分别表示m 序列的前两个数。
2.使用递推关系式F(n) = F(n-1) + F(n-2),计算出第n 个m 序列数。
3.将计算出的第n 个m 序列数赋值给变量a,并将变量b 的值赋给变量a。
4.重复步骤2 和3,直到计算出所需的m 序列数。
四、m 序列快速生成算法的应用案例m 序列快速生成算法在很多领域都有应用,如计算机图形学、数据压缩、金融分析等。
以计算机图形学为例,m 序列可以用来生成光滑的曲线和曲面,提高图形的质量。
在数据压缩中,m 序列可以用来压缩数据,减少存储空间。
在金融分析中,m 序列可以用来预测股票价格等。
五、m 序列快速生成算法的优缺点分析优点:1.m 序列快速生成算法计算速度快,能够高效地生成m 序列。
2.m 序列具有很多有趣的性质,因此在各个领域都有广泛的应用。
缺点:1.m 序列快速生成算法的计算过程较为复杂,需要处理递推关系式。
m-M 文档1 相关概念随机序列:可以预先确定又不能重复实现的序列 伪随机序列:具有随机特性,貌似随机序列的确定序列。
n 级线性移位寄存器,能产生的最大可能周期是21n p =-的序列,这样的序列称为m 序列。
n 级非线性移位寄存器,能产生的最大周期是2n 的序列,这样的序列称为M 序列。
图1线性移位寄存器线性移位寄存器递推公式11221101nn n n n n in ii a c a c a c a c a c a----==++++=∑线性移位寄存器的特征方程式010()nnin ii f x c c x c x c x==+++=∑ ,ci 取值为0或1定义 若一个n 次多项式f (x )满足下列条件:(1) f (x )为既约多项式(即不能分解因式的多项式); (2) f (x )可整除(x p +1), p =2n -1; (3) f (x )除不尽(x q+1), q <p 。
则称f (x )为本原多项式。
定理 线性反馈移位寄存器能产生m 序列的充要条件为:反馈移位寄存器的特征多项式为本原多项式。
2 (2)GF 上本原多项式的实现算法 2.1二元域(2)GF 上的本原多项式由于产生伪随机序列的反馈移位寄存器,其特征多项式系数C i 的取值为0或1,因此所寻找的本原多项式为(2)GF 上的多项式。
在二元域内不可以分解因式的多项式称为既约多项式,和普通代数一样,对于多项式()0f α=,则称α为多项式的根。
输出a k由抽象代数理论可以证明,若α是n 次本原多项式()f x 的根,则集合22{0,1,}nF α-= 可构成一个有限的扩域(2)n G F 。
F 中的任一元素都可表示为1110n n a a a αα--+++ ,这样n 个分量的有序序列110(,,,)n a a a - 就可表示F 中的任一元素。
若既约多项式()f x 的根能够形成扩域(2)n G F ,则该多项式是本原多项式,否则不是本原多项式。
目录前言 (1)第一章设计任务 (2)1.2设计内容 (2)1.2设计要求 (2)1.3系统框图 (2)第二章m序列的分析 (4)2.1m序列的含义 (4)2.2m序列产生的原理 (5)2.2m序列的性质 (6)2.3自相关特性 (7)第三章m序列的设计 (8)3.1特征多项式确定 (8)3.2本原多项式的确定 (9)3.3m序列的发生 (10)第四章程序调试及结果分析 (11)4.1m序列的仿真结果及分析 (12)4.2该设计的序列相关性仿真结果及分析 (13)结论 (14)参考文献 (15)附录:程序代码 (16)前言扩频通信因其具有抗干扰、抗多径衰落、抗侦察等优点在通信领域中得到广泛应用。
扩频序列的设计和选择是扩频通信的关键技术,扩频序列性能的优劣在很大程度上决定了通信系统的多址干扰和符号间干扰的大小,从而直接影响到系统的性能。
因此,深入研究扩频序列的性质,构造设计具有良好相关性的扩频序列,来满足扩频系统的要求,是直接序列扩频系统的核心课题。
白噪声是一种随机过程,它有极其优良的相关特性。
但至今无法实现白噪声的放大、调制、检测、同步及控制等,而只能用类似于白噪声统计特性的伪随机序列来逼近它,并作为扩频系统的扩频码。
常见的伪随机序列有m 序列、GOLD 序列、M 序列、Walsh 序列等。
m 序列是目前研究最为彻底的伪随机序列,m 序列容易产生,有优良的自相关和互相关特性。
序列是伪随机序列的一种情况。
他可以在很多领域中都有重要应用。
由n级移位寄存器所能产生的周期最长的序列。
这种序列必须由非线性移位寄存器产生,并且周期为2n(n为移位寄存器的级数)。
通过对伪随机码中常用的m序列的结构和性质进行了分析,本文给出了基于MATLAB平台的m序列生成算法及代码伪随机序列分析。
第一章 设计任务1.2 设计内容掌握PN 序列的相关知识,掌握m 序列的产生原理及其在matlab 中的产生方法,对特定长度的m 序列,分析其性质,及其用来构造其它序列的方法;研究伪随机序列在跳频通信中的应用方法。
M 序列的产生1. 对象或参数数学模型如下:)()2(5.0)1()2(7.0)1(5.1)(k v k u k u k z k z k z +-+-=-+--其中,)(k v 是白噪声N (0,1)(服从正态分布),输入信号采用4阶M 序列,幅度为1. 辨识模型如下:)()2()1()2()1()(2121k v k u b k b k z a k z a k z +-+-=-+--设输入信号的取值为k=1到k=16的M 序列,则待辨识参数L L L L LS z H H H ττθ1-)(=∧。
⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=∧4321a a a a LS θ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=)16(...)4()3(z z z z L ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡---=)14()15()14()15(......)2()3(z(2)-)3(-)1()2()1()2(-u u z z u u z u u z z H L 编制仿真程序,,获取输入输出数据,运用最小二乘法对系统的参数进行辨识,并将辨识结果与实际参数进行对比。
2. 程序框图3. 程序实现function [] = JM-232()%--------------------------------------------------------实验题目及初始化定义disp('最小二乘法的实现')disp(' ')disp('数学模型为:z(k)-1.5z(k-1)+0.7z(k-2)=u(k-1)+0.5u(k-2)+v(k).')disp(' 所选择的辨识模型为:z(k)+a1*z(k-1)+a2*z(k-2)=b1*u(k-1)+b2*u(k-2)+v(k).') disp(' 故实际参数a1=-1.5, a2=0.7, b1=1, b2=0.5. ')disp(' ')disp('系统输入采用4 阶M 序列且其幅度为1,输出受到白噪声序列v(k)干扰.') ds = input(' 假设白噪声序列v(k)服从正态分布,均值为0,请输入方差ds = '); disp(' ')disp(' ')a0=65539;M=2147483647;x=123456;b=10000;U=[];V=[];Z=[];T=[];P=zeros(20,4);H=zeros(14,4);LS=zeros(4,1);ZL=zeros(14,1);%------------------------------------------------产生4 阶M 序列作为输入信号u(k)fori=1:4P(1,i)=1;U(1)=-2*(P(1,4)-0.5);endfor j=2:16fori=2:4P(j,i)=P(j-1,i-1);endP(j,1)=mod(P(j-1,3)+P(j-1,4),2);U(j)=-2*(P(j,4)-0.5);enddisp('** 通过仿真获得:')disp(' ')disp(' 系统输入u(k)取k=1 到k=16 图形如figure 1 所示;')disp(' ')figure(1)plot(U);hold onaxis([0 17 -1.5 1.5])title('系统输入u(k)图形')%--------------------------------------------------产生白噪声作为干扰信号v(k)fori=1:192x=mod(a0*x+b,M);T(i)=x/M;endaT=mean(T);vT=var(T);fori=1:16tempsum=0;for j=1:12tempsum=tempsum+T(12*i-j+1);endV(i)=sqrt(ds)*(tempsum-12*aT)/sqrt(12*vT);endaV=mean(V);vV=var(V);disp(' 系统白噪声干扰v(k)取k=1 到k=16 图形如figure 2 所示;') disp([' 该系统白噪声v(k)均值为' num2str(aV)])disp([' 方差为' num2str(vV)])disp(' ')figure(2)plot(V);hold onaxis([0 17 -3 3])title('系统白噪声v(k)图形')%--------------------------------计算输出z(k),同时由系统输出构成观测矩阵ZL 与HZ(1)=0;Z(2)=0;for k=3:16Z(k)=1.5*Z(k-1)-0.7*Z(k-2)+U(k-1)+0.5*U(k-2)+V(k);ZL(k-2,1)=Z(k);endfori=1:14H(i,1)=-Z(i+1);H(i,2)=-Z(i);H(i,3)=U(i+1);H(i,4)=U(i);enddisp(' 系统输出z(k)图形如figure 3 所示;')disp(' ')figure(3)plot(Z)title('系统输出z(k)图形')%---------------------------------------------------------最小二乘法参数辨识LS=inv(H'*H)*H'*ZL;disp(' 运用最小二乘法对这一系统参数进行辨识,计算得到:')disp([' a1(实际值) = -1.5,a1(辨识值)= ' num2str(LS(1,1))])disp([' a2(实际值) = 0.7,a2(辨识值)= ' num2str(LS(2,1))])disp([' b1(实际值) = 1,b1(辨识值)= ' num2str(LS(3,1))])disp([' b2(实际值) = 0.5,b2(辨识值)= ' num2str(LS(4,1))])disp(' ')end4. 仿真结果本系统输入采用4 阶M 序列且其幅度为1,选取k=1 到k=16 数据,如图1所示系统输入图形。
合肥工业大学硕士学位论文M序列的构造原理及方法姓名:***申请学位级别:硕士专业:计算数学指导教师:***2003.4.1M序列的构造原理及方法揍要deBruijn序列是一类最长的非线性移位寄存嚣廖列,也拣它为M序列。
它在密码学、电汛学等很多领域中有着广泛的威用,因此,如何有效地生成这类序列是一个很有意义的问题。
本文觚生成橱法、剪接法、并匿法等螽度探讨了M痔剜的构造藏理与方法。
著利蹋蓑匿滋,在缝轮换移豫寄存嚣斡状态躁中,定义了圈懿“夫妻数”,势裂用·r失妻数”的特性,给出了2元M序列的一个新的生成算法。
&算法能生成2”帆”个n级械其中…““’,∞=n-21-6-MI2Tg(n216-腊11乒25““”个n级序列,其中≤s≤,,s)兰二型.=旦I4关键溺:垒畿掰,、并蕊,、获态窝,、稀获态ThePrinciplesandMethodsofConstructingMSequencesAbstractdeBmijnsequences,ie.Msequences,atethelongestnonlinearshiftregistersequences.Theycanbeusedinmanyfieldssuchascryptography、telecommunications.So,itissuchasignificationquestiontofindhowtoconstructthissequences.ThispaperstudiessomeprinciplesandmethodsofconstructingMsequences,bygeneratingspanningtrees,orusingCUt-joinmethod,orjoiningthecyclesofthefactorofG,,Furthermore,thepairsofcyclesofGaredefinedByuseofthecharacterP。
M序列什么是M序列?M序列是一种特殊的二进制序列,具有良好的相关性和平衡性。
它在通信系统、密码学和伪随机序列生成器等领域中被广泛应用。
M序列由线性移位寄存器(LSR)和反馈逻辑电路组合而成。
LSR是一种数字逻辑电路,可以实现数据在存储器中的循环移位。
反馈逻辑电路根据存储器中的数据决定输入数据的变化,从而形成M序列。
M序列的特点1.长度固定: M序列的长度是2的幂次方,通常为2^N-1。
例如,长度为7、15、31的M序列在实际应用中较为常见。
2.短周期:因为M序列的长度是有限的,所以它必定会在一定步数之后开始重复。
这使得M序列可以用于周期性信号的产生。
3.高相关性:M序列具有良好的自相关性和互相关性。
自相关性是指序列与其自身的相关性,互相关性是指序列与其他序列的相关性。
M序列在CDMA通信系统中的应用就是基于其高相关性的特点。
4.平衡性:M序列的各个周期内0和1的数量基本相等。
这一特点使得M序列在调制中不会有严重的低频分量和漂移。
M序列的应用1.伪随机序列生成器:M序列可以作为一种伪随机序列的生成器。
例如,可以用M序列生成随机的信道编码序列,用于提高通信系统的帧同步性能。
2.CDMA通信系统:CDMA是一种多用户通信技术,其中各个用户使用不同的码片(即M序列)进行编码。
接收端根据匹配滤波器对接收信号进行处理,从而实现对特定用户的信号的提取。
3.密码学:M序列可以用于加密和解密数据。
通过将明文与M序列进行异或操作,可以生成密文。
密文再与同样的M序列异或,即可还原成原始明文。
4.随机性检测:M序列可以用于随机性检测。
通过比较M序列与随机序列的相关性,可以得出序列的随机程度,从而判断其安全性。
M序列的生成算法M序列的生成算法基于反馈逻辑电路。
具体步骤如下: 1. 设置一个初始状态,初始状态可以是全0或全1。
2. 设定反馈逻辑电路,用来决定存储器中下一个数据的取值。
3. 将存储器中的数据进行移位,将最右边的数据移位到最左边,并根据反馈逻辑电路确定新的最右边的数据。
常见m序列什么是m序列?m序列(m-sequence)是一种特殊的二进制序列,也被称为最大长度线性反馈移位寄存器(maximum length linear feedback shift register, LFSR)序列。
它具有伪随机性质,广泛应用于通信、密码学、编码等领域。
m序列由一个线性反馈移位寄存器(LFSR)产生,LFSR是一种在数字电路中常见的寄存器,用于生成伪随机序列。
LFSR由一组触发器和逻辑门组成,触发器的输出通过逻辑门反馈到寄存器的输入,形成一个闭环。
m序列的长度为2^m - 1,其中m是LFSR的阶数,也是寄存器中触发器的数量。
m 序列具有良好的统计特性,其周期为2^m - 1,即在一个周期内,m序列的输出不会重复。
m序列的生成原理m序列的生成原理基于LFSR的工作原理。
LFSR由m个触发器组成,每个触发器可以存储一个二进制位。
触发器的输出通过逻辑门反馈到寄存器的输入,形成一个闭环。
LFSR的工作过程如下: 1. 初始化寄存器的状态,即给每个触发器赋初始值。
2. 在每个时钟周期内,寄存器中的位向右移动一位,最右边的位被丢弃,最左边的位由逻辑门计算得出,并存储在寄存器的最右边。
3. 重复第2步,直到寄存器的状态回到初始状态。
m序列的输出是寄存器中的位,通常取最右边的位作为序列的输出。
m序列的性质m序列具有以下性质: 1. 周期性:m序列的周期为2^m - 1,即在一个周期内,m 序列的输出不会重复。
2. 均匀性:m序列的输出0和1的个数相等,且相邻的位之间是独立的。
3. 自相关性:m序列的自相关函数在除了原点外都为0,即m序列与其自身进行位移后,相邻位之间的相关性很低。
4. 互相关性:m序列与另一个m序列进行互相关,结果为0,即不同的m序列之间没有相关性。
这些性质使得m序列在通信、密码学、编码等领域有着广泛的应用。
m序列的应用通信领域在通信领域,m序列被用于信号的调制和解调。
M序列是工程中常用的输入信号,它的性质类似于白噪声,而白噪声是理论上最好的输入信号,可见M序列的价值。
下面介绍M序列的matlab产生方法。
idinput函数产生系统辨识常用的典型信号。
格式u = idinput(N,type,band,levels)[u,freqs] = idinput(N,'sine',band,levels,sinedata)N产生的序列的长度,如果N=[N nu],则nu为输入的通道数,如果N=[P nu M],则nu指定通道数,P为周期,M*P为信号长度。
默认情况下,nu=1,M=1,即一个通道,一个周期。
Type指定产生信号的类型,可选类型如下Band指定信号的频率成分。
对于’rgs’、’rbs’、’sine’,band = [wlow, whigh]指定通带的范围,如果是白噪声信号,则band=[0, 1],这也是默认值。
指定非默认值时,相当于有色噪声。
对于’prbs’,band=[0, B],B表示信号在一个间隔1/B(时钟周期)内为恒值,默认为[0, 1]。
Levels指定输入的水平。
Levels=[minu, maxu],在type=’rbs’、’prbs’、’sine’时,表示信号u的值总是在minu和maxu之间。
对于type=’rgs’,minu指定信号的均值减标准差,maxu指定信号的均值加标准差,对于0均值、标准差为1的高斯白噪声信号,则levels=[-1, 1],这也是默认值。
说明对于PRBS信号,如果M>1,则序列的长度和PRBS周期会做调整,使PRBS的周期为对应一定阶数的最大值(即2^n-1,n为阶数);如果M=1,PRBS的周期是大于N 的相应阶数的值。
在多输入的情形时,信号被最大平移,即P/nu为此信号能被估计的模型阶次的上界。
上面的意思可如下理解:对于M=1时,ms = idinput(12, 'prbs', [0 1], [0 1]);figurestairs(ms)title('M序列')ylim([-0.5 1.5])结果如下同时,matlab给出如下警告Warning: The PRBS signal delivered is the 12 first values of a full sequence of length 15.即函数的输出为周期为15(大于12的第一个2^n-1的值)PRBS信号的前12个值组成的序列。
m序列的生成多项式m序列是一种伪随机序列,它在数字通信系统、密码学和测试领域被广泛应用。
m序列的生成多项式是生成该序列的关键,下面我们详细介绍一下m序列的生成多项式。
一、什么是m序列?m序列,即最大长度线性反馈移位寄存器序列,是由线性移位寄存器(LSR)输出的二进制序列。
m序列的长度为2的次幂。
由于其具有高周期性和伪随机性,被广泛用于数字通信、密码学等领域。
二、m序列的生成方式m序列是通过移位寄存器实现的。
移位寄存器是一种用于存储二进制数据的电路,用于在数字集成电路中实现存储器、计时器和生成特定序列等功能。
在移位寄存器中,数据是按照一定的顺序在不同的存储单元中移动的。
m序列的生成方式如下:1.初始化移位寄存器,即将寄存器的状态设置为全1或全0。
2.选取适当的线性反馈多项式,将其插入移位寄存器的反馈路径上。
3.从移位寄存器的最高位开始,按顺序输出二进制序列。
4.将输出的序列再次输入到移位寄存器中,进行下一轮的生成。
5.重复以上步骤,直至生成所需要的长度的m序列。
三、m序列的生成多项式m序列的生成多项式是指,在移位寄存器的反馈路径上选用的多项式。
常用的生成多项式有Q(x)型和M(x)型两种。
1.Q(x)型Q(x)型的生成多项式为:Q(x) = x^k + x^j + 1其中,k和j分别是移位寄存器中用于反馈的位数,且满足k > j。
例如,当k=5,j=2时,其生成多项式为Q(x)=x^5+x^2+1。
2.M(x)型M(x)型的生成多项式为:M(x) = x^k + x^j + 1 + x^i其中,k、j、i分别是移位寄存器中用于反馈的位数,且满足k > j > i。
例如,当k=7,j=5,i=3时,其生成多项式为M(x)=x^7+x^5+x^3+1。
四、总结m序列的生成多项式是m序列生成的关键。
常用的生成多项式有Q(x)型和M(x)型两种。
选用不同的生成多项式可以得到不同的m序列,这些序列在密码学、通信等领域都有广泛的应用。