m序列产生要点

合集下载

m序列快速生成算法

m序列快速生成算法

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序列原理及代码

M序列原理及代码1、m序列1.1概述1.1.1实验原理(1)m序列概念和⽤途①概念:m序列是由n级线性移位寄存器产⽣的周期为P=2^n-1的码序列,是最长线性移位寄存器序列的简称。

②⽤途:码分多址系统主要采⽤两种长度的m序列:⼀种是周期为P=2^15-1的m 序列,⼜称为短PN序列;另⼀种是周期为P=2^42-1的m序列,⼜称为长PN 序列。

(2)m序列的产⽣①4级m序列的码序列发⽣器假设初始状态为0001,在时钟作⽤下,产⽣的m序列的状态表。

4级m序列的周期P=24-1=15,相应的输出序列为:100010011010111。

②线性移位反馈移位寄存器反馈系数Ci③m序列特性均衡性:在⼀个周期中,m序列中“1”的个数⽐“0”的个数多1个。

游程特性:长度为k的游程数占游程总数的1/2^k移位相加特性:⼀个m序列与其循环移位逐位⽐较,相同码的位数与不同码的位数相差1位。

⾃相关特性:表征⼀个信号与延迟后⾃⾝信号的相似性。

④m序列的构造——反馈线性反馈移存器1.1.2实验意义m序列是⽬前⼴泛应⽤的⼀种伪随机序列,在所有的伪随机序列中,m序列是最重要、最基本的⼀种伪随机序列。

它容易产⽣,规律性强,有很好的⾃相关性和较好的互相关特性。

m序列的⽣成是接下来的实验的基础,具有指导性的意义。

1.1.3系统的主要功能设计本原多项式系数为13、23、103、203的m序列。

1.1.4使⽤⽅法输⼊m后,输出相应的m序列。

1.2程序设计1.2.1设计思想由m序列的产⽣过程,即通过带反馈的移位寄存器产⽣,容易想到EDA中的结构化的程序设计思想,即以DFF触发器作为底层⽂件,进⾏顶层⽂件设计,获得m序列。

此设计的优点是程序思路简单,结构清晰,只要做出⼀种反馈系数的m序列,容易得到其他反馈系数的m序列;但也存在缺点,那就是结构化的设计使得代码写的过长。

1.2.2软件设计流程及描述(1)流程图(2)描述clk上升沿触发程序,⽤case语句选择m为13,23,103,203中的哪种情况。

m序列产生及其特性实验

m序列产生及其特性实验

实验三m序列产生及其特性实验一、实验目的通过本实验掌握m序列的特性、产生方法及应用.二、实验内容1、观察m序列,识别其特征。

2、观察m序列的自相关特性。

三、基本原理m序列是有n级线性移位寄存器产生的周期为2n −1的码序列,是最长线性移位寄存器序列的简称。

码分多址系统主要采用两种长度的m序列:一种是周期为215 −1的m序列,又称短PN序列;另一种是周期为242 −1的m序列,又称为长PN码序列。

m序列主要有两个功能:①扩展调制信号的带宽到更大的传输带宽,即所谓的扩展频谱;②区分通过多址接入方式使用同一传输频带的不同用户的信号。

M序列特性:(1)互相关特性:两个m 序列a,b 的对应位模二加,设A 为所得结果序列中“0”的数目(对应位相同),D 为“1"的数目(对应位不同),则两m 序列的互相关系数为:A DR A D a b +.= ,(3。

1)当序列循环移动n 位时,随着n 的取值不同,此系数不断变化,上式即成为n 的函数,称为这两个m 序列a 和b 的互相关函数。

若两个序列相同a=b,则称为a 的自相关函数。

现有理论已经证明,同一周期的m 序列组,其两两m 序列对的互相关特性差别很大,有的对的互相关特性好,有的则比较差。

实际应用中,我们只取互相关特性较好的m 序列对。

这种m 序列对的互相关函数值只取3 个,分别为:式中[]表示取实数的整数部分.满足这一特性的m 序列对称为m 序列优选对.自相关特性:m 系列的自相关函数是周期的二值函数:当序列的周期很大时,m 序列的自相关函数波形变得十分的尖锐而接近冲激函数;既证明随着序列周期的增加,m 序列越是呈现随机信号的性质.四、实验步骤(说明:要详细)function [mseq] = mseries(coefficients)len =length(coefficients) ;L =2^len — 1;registers= [zeros(1 ,len - 1),1];mseq(1) =registers(1);for i = 2:Lnewregisters(1:len — 1) = registers(2:len);newregisters(len) = mod (sum (coefficients.* registers),2) ;registers=newregisters;mseq(i) =registers(1) ;end五、实验结果及分析六、心得与体会对m序列的特性、产生方法及应用有了一定的了解,对于matlab仿真软件的使用有了更高的理解。

m序列产生实验

m序列产生实验

m序列产生实验一、实验目的1、m序列产生的基本方法;2、m序列0状态消除的基本手段;二、实验仪器1、JH5001型通信原理实验箱一台;2、MaxplusII开发环境一台;3、JTAG下载电缆一根;4、CPLD下载板一块;5、微机一台;6、示波器一台;三、实验原理m序列产生电路在通信电路设计中十分重要,它广泛使用在扩频通信、信号产生、仪器仪表等等电路中。

m序列有时也称伪噪声(PN)或伪随机序列,在一段周期内其自相关性类似于随机二进制序列。

尽管伪噪声序列是确定的,但其具有很多类似随机二进制序列的性质,例如0和1的数目大致相同,将序列平移后和原序列的相关性很小。

PN序列通常由序列逻辑电路产生,一般是由一系列的两状态存储器和反馈逻辑电路构成。

二进制序列在时钟脉冲的作用下在移位寄存器中移动,不同状态的输出逻辑组合起来并反馈回第一级寄存器作为输入。

当反馈由独立的“异或”门组成(通常是这种情况),此时移位寄存器称为线性PN序列发生器。

如果线性移位寄存器在某些时刻到达零状态,它会永远保持零状态不变,因此输出相应地变为全零序列。

因为n阶反馈移位寄存器只有2n-1个非零状态,所以由n阶线性寄存器生成的PN序列不会超过2n-1个。

周期为2n-1的线性反馈寄存器产生的序列称为最大长度(ML)序列——m序列。

m 序列发生器的一般组成m 序列发生器一般组成如上图所示,它用n 级移位寄存器作为主支路,用若干级模2加法器作为各级移位寄存器的抽头形成线性反馈支路。

各抽头的系数hi 称为反馈系数,它必须按照某一个n 次本原多项式:∑==ni i i x h x h 0)(中的二进制系数来取值。

在伪序列发生模块中,可以根据本原多项式的系数,…..h 8、h 7、h 6、h 5、h 4、h 3、h 2、h 1、h 0产生m 序列,这些系数可表示8进制数(1代表相连抽头进入反馈回路,0代表该抽头不进入反馈回路),如:13、23、103、203四、 课题设计要求在输入时钟256KHz 的时钟作用下,可在外部跳线器的控制下改变产生不同的m 序列,在程序中定义的几个变量为:输入: Main_CLK :输入 256KHz 主时钟 M_Sel[1..0]:选择输出不同的m 序列当 Mode[]=0:本原多项式为13(8进制表示); 当 Mode[]=1:本原多项式为23(8进制表示); 当 Mode[]=2:本原多项式为103(8进制表示); 当 Mode[]=3:本原多项式为203(8进制表示);输出: M_Out :m 序列输出 说明:1、 M_Sel[1..0]与复接模块的m_sel0、m_sel1相连; M_Out 在测试点TPB01输出;五、 实验步骤1、将JH5001二次开发光盘内的基本程序m.tdf 及其它相关程序(在光盘的“2th\student_m ”子目录下)拷入机器内。

实验1---白噪声和M序列的产生

实验1---白噪声和M序列的产生

实验1 白噪声和M序列的产生实验报告1.实验题目:白噪声和M序列的产生.实验对象或参数、生成均匀分布随机序列1)利用混合同余法生成[0, 1]区间上符合均匀分布的随机序列,并计算该序列的均值和方差,与理论值进行对比分析。

要求序列长度为1200,推荐参数为a=655395.程序框图7.实验结果及分析1、生成均匀分布随机序列 (1)生成的0-1均布随机序列如下所示:200400600800100012000.10.20.30.40.50.60.70.80.91计算序列的均值和方差程序代码:mean_R = mean(R)var_R = var(R)均值和方差实际值:mean_R =0.4969var_R =0.0837随机变量X服从均匀分布U(a,b),则均值为(a+b)/2,方差为(b-a)先平方再除以12。

[0,1]区间均值和方差理论值:mean_R =(0+1)/2=0.5;var_R =1/12 = 0.083333。

结论:容易看到,实际值与理论值较接近。

(2)该随机序列落在10个子区间的频率曲线图如下:结论:从结果图可以容易看到,该序列的均匀性较好。

2、生成高斯白噪声生成的白噪声如下图:-2.5-2-1.5-1-0.500.511.52生成的白噪声的频率统计图如下:0510152025结论:从结果图知,生成的白噪声基本服从N(0,1)分布。

3、生成M 序列生成的M 序列如下(n = 63):010203040506070-1.5-1-0.50.511.5验证M 序列性质:均衡特性:m 序列每一周期中 1 的个数比 0 的个数多 1 个(-a 和a 的个数差1) 测试程序:number_a = sum(M_XuLie == a);number_a_c = sum(M_XuLie == -a);number_anumber_a_c 结果:number_a =31number_a_c =32结论:从测试结果看性质成立游程特性:m 序列的一个周期(p =2n -1)中,游程总数为2n -1。

M序列的产生及特性分析实验

M序列的产生及特性分析实验

M 序列的产生及特性分析实验一:实验目的1、了解m 序列的特性及产生。

二:实验模块1、 主控单元模块2、 14号 CDMA 扩频模块3、示波器三:实验原理1、14号模块的框图14号模块框图2、14号模块框图说明(m 序列)127位128位该模块提供了四路速率为512K 的m 序列,测试点分别为PN1、PN2、PN3、PN4。

其中,PN2和PN4分别由PN 序列选择开关S2、S3控制;不同的开关码值,可以设置m 序列码元的不同偏移量。

开关S6是PN 序列长度设置开关,可选127位或128位,其中127位是PN 序列原始码长,128位是在原始码元的连6个0之后增加一个0得到。

Gold 序列测试点为G1和G2,其中G1由PN1和PN2合成,G2由PN3和PN4合成。

拨码开关S1和S4是分别设置W1和W2产生不同的Walsh 序列。

实验中还可以观察不同m 序列(或Gold 序列)和Walsh 序列的合成波形。

注意,每次设置拨码开关后,必须按复位键S7。

3、实验原理框图m 序列相关性实验框图为方便序列特性观察,本实验中将Walsh 序列码型设置开关S1和S4固定设置为某一种。

4、实验框图说明 m 序列的自相关函数为()R A D τ=-式中,A 为对应位码元相同的数目;D 为对应位码元不同的数目。

自相关系数为()A D A DP A Dρτ--==+ 对于m 序列,其码长为P=2n -1, 在这里P 也等于码序列中的码元数,即“0”和“1”个数的总和。

其中“0”的个数因为去掉移位寄存器的全“0”状态,所以A 值为121n A -=-“1”的个数(即不同位)D 为12n D -=m 序列的自相关系数为1 0()1 0,1,2,p τρτττ=⎧⎪=⎨-≠=⎪⎩…,p-1cT τm 序列的自相关函数四:实验步骤(注:实验过程中,凡是涉及到测试连线改变或者模块及仪器仪表的更换时,都需先停止运行仿真,待连线调整完后,再开启仿真进行后续调节测试。

m序列原理

m序列原理

m序列原理m序列是一种特殊的伪随机序列,具有良好的随机性质和周期性,广泛应用于通信、密码学、雷达、遥感等领域。

m序列的原理是基于线性反馈移位寄存器(LFSR)的工作原理,通过适当的初值和反馈多项式,可以生成具有良好随机性质的序列。

m序列的生成原理是基于LFSR的工作原理。

LFSR是一种线性反馈移位寄存器,它由若干个存储单元和适当的反馈电路组成。

在LFSR中,存储单元中的数据按照时钟信号不断移位,同时根据反馈电路的控制,将某些位上的数据进行异或运算,得到新的输入数据,从而实现序列的生成。

通过适当选择LFSR的初值和反馈多项式,可以得到不同长度的m序列。

m序列具有良好的随机性质和周期性。

由于m序列的生成原理是基于LFSR的移位和异或运算,使得序列中的数据呈现出随机分布的特性。

同时,由于LFSR的结构和反馈多项式的选择,m序列具有很长的周期,甚至可以达到最大周期2^n-1,其中n为LFSR的位数。

这使得m序列在伪随机序列中具有较好的性能。

m序列在通信、密码学、雷达、遥感等领域有着广泛的应用。

在通信系统中,m序列可以作为扩频序列,用于码分多址(CDMA)通信系统中的信道编码和解码,提高通信系统的抗干扰能力和安全性。

在密码学中,m序列可以作为密钥序列,用于数据加密和解密,保障通信的安全性。

在雷达和遥感领域,m序列可以作为调制序列,用于信号的调制和解调,提高信号的分辨率和抗干扰能力。

总之,m序列作为一种特殊的伪随机序列,具有良好的随机性质和周期性,在通信、密码学、雷达、遥感等领域有着广泛的应用前景。

通过深入理解m序列的生成原理和特性,可以更好地应用于实际系统中,提高系统的性能和安全性。

m序列的原理及应用

m序列的原理及应用

m序列的原理及应用1. 什么是m序列?m序列,全名为最大长度线性反馈移位寄存器序列(Maximum Length Sequence),是一种特殊的二进制序列。

m序列的特点是具有最长的周期,并且波形均匀随机分布。

m序列可以通过一个线性反馈移位寄存器(LFSR)来生成。

2. m序列的生成原理m序列的生成原理基于线性反馈移位寄存器(LFSR)的运算。

LFSR是一种用于产生伪随机序列的硬件电路。

LFSR由寄存器和反馈函数组成。

寄存器是一组存储数据的单元,通常是一组触发器,每个触发器存储一个二进制位。

反馈函数根据寄存器的当前状态产生下一个状态。

反馈函数一般采用异或操作。

m序列的生成就是通过不断移位和反馈计算,使得LFSR的状态变化遍历所有可能的状态,从而生成了m序列。

3. m序列的应用m序列由于其随机性和均匀性,被广泛应用于通信、加密、导航等领域。

3.1 通信领域在通信领域中,m序列被用作伪随机序列发生器。

伪随机序列在信号传输、数据调制等方面起到关键作用。

m序列具有具有良好的互相关性和自相关性性质,能够提供伪随机的编码和解码功能。

3.2 加密领域m序列在加密领域中作为密钥序列广泛使用。

由于m序列的随机性和不可预测性,能有效地保护数据的安全性。

一种常见的应用是m序列与明文进行异或运算,生成密文,从而实现加密功能。

3.3 导航领域在导航领域中,m序列被用于全球卫星导航系统(GNSS)中的扩频码。

扩频码是通过将原始导航信号与m序列进行乘法运算而生成的。

m序列的均匀随机性使得扩频码具有良好的抗多径和抗干扰性能。

4. m序列的特点4.1 最长周期m序列具有最长的周期,周期长度为2^N-1,其中N为LFSR的位数。

这意味着m序列可以生成非常长的伪随机序列。

4.2 均匀随机性m序列的波形均匀分布,具有良好的随机性。

这个特性使得m序列在各个应用领域都能发挥重要作用。

4.3 线性可预测性m序列是由线性反馈移位寄存器生成的,其生成过程可以被完全预测。

5g m序列

5g m序列

5G M序列简介在5G通信技术中,M序列(M-sequence)是一种用于生成伪随机码(Pseudo Random Code)的序列。

M序列具有良好的随机性和周期性,并且在5G系统中具有广泛的应用。

本文将对5G M序列进行详细介绍,包括其定义、特性、生成方法以及应用场景等。

定义M序列是一种由二进制数字(0和1)组成的序列,具有良好的随机性和周期性。

M序列的长度通常为2的幂次方减1,例如15、31、63等。

M序列的生成是通过反馈移位寄存器(Feedback Shift Register,FSR)实现的,其中寄存器中的位通过特定的异或运算进行更新,从而生成下一个位的值。

特性1.随机性:M序列具有良好的随机性,其序列中的0和1的分布接近均匀分布,能够提供高度的随机性,从而增强数据的安全性和抗干扰能力。

2.周期性:M序列的周期性非常好,其周期长度为2的幂次方减1。

例如,一个15位的M序列的周期长度为2^15-1=32767,能够满足5G系统对长周期序列的需求。

3.自相关性:M序列的自相关性非常低,即序列与其自身进行互相关运算后,得到的结果接近于0。

这种特性使得M序列在通信系统中能够提供良好的互相干扰抑制能力。

生成方法M序列的生成方法基于反馈移位寄存器(FSR),其具体步骤如下:1.初始化寄存器:将FSR中的所有位初始化为非零的值,通常选择全1或全0。

2.生成序列:通过不断进行异或运算来更新FSR中的位,从而生成M序列。

具体更新方法根据FSR的结构和反馈多项式来确定。

3.输出序列:根据需要,可以选择输出M序列的全部或部分位。

如果只需要部分位,则可以通过截取序列的方式来实现。

应用场景M序列在5G系统中有许多重要的应用场景,包括:1.扩频技术:M序列被广泛用于扩频技术中,通过将原始数据序列与M序列进行异或运算,可以将信号的频带扩展,从而提高系统的抗干扰能力和容量。

2.导频序列:在5G系统中,M序列被用作导频序列,用于信道估计、频率同步等关键环节。

m序列产生原理

m序列产生原理

m序列产生原理m序列是一种特殊的伪随机数序列,具有良好的随机性质,被广泛应用于通信、加密、雷达、测距等领域。

m序列的产生原理主要基于反馈移位寄存器和模2加法器,下面我们来详细介绍一下m序列的产生原理。

首先,m序列的产生基于一个反馈移位寄存器(LFSR),它由若干个触发器和异或门组成。

反馈移位寄存器的初始状态称为种子,种子的选择对m序列的随机性质有很大影响。

在产生m序列的过程中,寄存器的状态不断变化,每次变化都会输出一个比特,这些输出的比特组成了m序列。

其次,m序列的产生还依赖于模2加法器。

反馈移位寄存器输出的比特经过模2加法器进行模2加运算,得到m序列的输出比特。

模2加法器实际上就是异或门,它将反馈移位寄存器输出的比特与特定位置上的比特进行异或运算,得到m序列的下一个比特。

最后,m序列的周期性与反馈移位寄存器的长度有关。

对于一个n级的反馈移位寄存器,其产生的m序列的周期为2^n-1,即m序列会在2^n-1个时钟周期内重复。

这也意味着m序列的长度是有限的,随着时钟周期的增加,m序列会重复出现之前的序列。

总结一下,m序列的产生原理主要包括反馈移位寄存器和模2加法器。

反馈移位寄存器通过不断变换状态产生随机比特,而模2加法器则将这些比特进行模2加运算,最终输出m序列。

m序列的周期性与反馈移位寄存器的长度有关,周期为2^n-1。

通过合理选择反馈移位寄存器的种子和长度,可以得到具有良好随机性质的m序列。

以上就是m序列的产生原理,希望能对您有所帮助。

如果您对m序列还有其他疑问,欢迎与我们进一步交流讨论。

m序列文档

m序列文档

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序列是一种随机序列,它的特点是在用相同的参数初始化m序列时,序列中出现的每一位都是确定的,而且具有高度的均匀性,被广泛用于计算机科学和信号处理领域。

m序列的产生主要是基于位移寄存器(shift-register)的运算,它们给出了一种快速、灵活的产生随机序列的方法。

m序列是典型的应用有状态机(state machine)的循环运算法则产生的。

有状态机指有一个由有限个状态组成的有限状态集合,它们可以根据输入信号从一个状态转换到另一个状态,并且每一次状态转换后,输出一位数据,而且这个数据受到了转换前的状态和输入信号的影响,我们称有状态机为有限状态机,它是一个循环的结构,在每一次的输出之后,系统会进入一个新的状态,这个状态是由输入信号和转换前的状态所决定的。

状态机的运算可以抽象地表述为如下的方程式:Si = f(Si-1, K)其中K为一个密钥,Si为状态机的状态,Si-1表示转换前的状态,f是一个函数,它使用一个密钥和转换前的状态作为输入,返回一个新的状态。

m序列生成器就是一种有状态机,它有一个状态序列Si,状态序列的长度称为m,它的状态序列Si的每一位都有一个可确定的值。

m 序列生成器的运算方程式如下:Si = f(Si-1, Si-2, Si-m+1)其中f是一个不同于上面式子中的函数。

它采用最后m位的状态作为输入,它根据某种规则,决定每一次状态转换后输出一个新的状态。

m序列生成器的输出都是独立的,且具有高度的均匀性,而且这种输出可以用来作为伪随机数据。

m序列生成器有很多种不同的实现形式,最常用的是有线m序列。

它使用一个有限的状态序列,以及一个叫做“线性函数”的运算,来生成特定的随机变量。

它的状态序列是由一系列的反馈有效比特组成的,这些反馈有效比特将决定最终输出序列的值,也就是状态序列将产生一组随机序列。

有线m序列的典型例子包括LFSR(线性反馈移位寄存器)、m暗号和BCH暗号,这些技术被广泛用于无线传输系统中,以生成高可靠性、高随机性的通信信号。

m序列产生跳频序列的原理

m序列产生跳频序列的原理

m序列跳频序列是一种常用的跳频通信中的信号形式。

m序列的产生原理基于线性反馈移位寄存器。

首先,我们需要了解m序列的概念。

在信息论中,m序列是一种长度为N的二进制序列,它具有最大的随机性。

这种序列的产生依赖于线性反馈移位寄存器。

具体来说,给定一组二进制寄存器,每个寄存器都有一个固定的位数,通过在每个时钟周期中输入数据并移动寄存器,可以生成m序列。

跳频序列的产生基于m序列。

当m序列的各个频率分量以不同的频率进行跳变时,就形成了跳频信号。

这种信号的特点是频率随时间变化,而且变化是随机的,因此具有较高的抗干扰能力。

m序列产生跳频序列的原理可以概括如下:
1. 线性反馈移位寄存器:首先,通过线性反馈移位寄存器生成m序列。

这个过程涉及到输入数据、寄存器移动和输出结果。

m序列的长度取决于寄存器的位数和输入数据。

2. 频率合成:跳频信号的频率合成基于m序列的性质。

具体来说,将m序列的各个频率分量以不同的频率进行跳变,形成跳频信号的频率成分。

这种频率合成方式需要精确控制每个频率成分的跳变时间,以确保信号的连续性和稳定性。

3. 调制和解调:跳频信号通常通过调制方式传输,例如通过将信号与载波进行混频或通过相位调制。

接收端则通过解调恢复原始信号。

在跳频通信中,解调过程需要精确地跟踪频率变化的规律,以便正确地恢复原始信号。

总之,m序列产生跳频序列的原理涉及到线性反馈移位寄存器的生成、频率合成以及调制和解调的过程。

这些过程使得跳频信号具有较高的抗干扰能力和保密性,因此在通信领域得到了广泛应用。

pn码,m序列产生原理

pn码,m序列产生原理

pn码,m序列产⽣原理m序列是最长线性移位寄存器序列的简称。

它是由多级移位寄存器或其他延迟元件通过线性反馈产⽣的最长的码序列。

由于m序列容易产⽣、规律性强、有许多优良的性能,在扩频通信中最早获得⼴泛的应⽤。

如图1所⽰,m序列可由⼆进制线性反馈移位寄存器产⽣。

它主要由n个串联的寄存器、移位脉冲产⽣器和模2加法器组成。

图中第i级移存器的状态a i表⽰,a i=0 或a i=1,i=整数。

反馈线的连接状态⽤c i表⽰,c i=1表⽰此线接通(参加反馈),c i=0表⽰此线断开。

由于反馈的存在,移存器的输⼊端受控地输⼊信号。

不难看出,若初始状态为全“0”,则移位后得到的仍为全“0”,因此应避免出现全“0”状态,⼜因为n级移存器共有2n-1种可能的不同状态,除全“0”状态外,剩下2n-1种状态可⽤。

每移位⼀次,就出现⼀种状态,在移位若⼲次后,⼀定能重复出现前某⼀状态,其后的过程便周⽽复始了。

反馈线位置不同将出现不同周期的不同序列,我们希望找到线性反馈的位置,能使移存器产⽣的序列最长,即达到周期P=2n-1。

按图中线路连接关系,可以写为:该式称为递推⽅程。

图1 线性反馈移位寄存器上⾯曾经指出,c i的取值决定了移位寄存器的反馈连接和序列的结构。

现在将它⽤下列⽅程表⽰:这⼀⽅程称为特征多项式。

式中x i仅指明其系数c i的值(1或0),x本⾝的取值并⽆实际意义,也不需要去计算x的值。

例如,若特征⽅程为f(x)=1+x+x4则它仅表⽰x0,x1和x4的系数c0=c1=c4=1,其余为零。

经严格证明:若反馈移位寄存器的特征多项式为本原多项式,则移位寄存器能产⽣m序列。

只要找到本原多项式,就可构成m系列发⽣器。

m序列的基本性质如下:(1)周期性:m序列的周期p取决于它的移位寄存器的级数, p=2n-1(2)平衡特性:m序列中0和1的个数接近相等;m序列中⼀个周期内“1”的数⽬⽐“0”的数⽬多1个。

(3)游程特性:m序列中长度为1的游程约占游程总数的1/2,长度为2的游程约占游程总数的1/22 ,长度为3的游程约占游程总数的1/23 …(4)线性叠加性:m序列和其移位后的序列逐位模2相加,所得的序列还是m序列,只是相移不同⽽已。

m序列的原理

m序列的原理

m序列的原理
M序列(Maximum Length Sequence)是一种伪随机序列生成
方法,也称为伪随机二进制序列。

它具有自相关性和互相关性很小的特点,并且具有最长周期。

M序列的生成原理基于反馈移位寄存器(Feedback Shift Register,FSR)。

FSR是由多个D触发器(D Flip-Flop)组
成的,每个D触发器的输出作为下一个D触发器的输入,并
形成移位链。

M序列的开始状态可以是任意的,并通过逻辑运算(如异或
运算)将连续的寄存器输出进行组合,生成伪随机序列。

M
序列的周期取决于FSR的长度,理论上可以达到2的n次方-1,其中n为FSR的长度。

生成M序列的特点如下:
1. 周期最长:当FSR的长度为n时,M序列的周期为2的n
次方-1。

2. 互相关性和自相关性较小:M序列具有较小的相互相关性
和自相关性,适合用于通信系统中的扩频技术。

3. 均匀性:M序列的值为+1或-1,每个值出现的概率相等,
具有较好的均匀性。

4. 硬件实现简单:使用FSR和逻辑运算可以很容易地生成M
序列,不需要复杂的计算。

M序列在通信系统中的应用广泛,主要用于扩频通信中的伪
随机序列生成、同步检测以及信号捕获等方面。

m序列快速生成算法

m序列快速生成算法

m序列快速生成算法【原创实用版】目录1.m 序列的概述2.m 序列快速生成算法的原理3.m 序列快速生成算法的具体步骤4.m 序列快速生成算法的优缺点5.m 序列快速生成算法的应用实例正文m 序列的概述:m 序列,也被称为 m 级数列,是一种在数学中经常出现的数列,其通项公式为 a_n = a_1 * q^(n-1),其中 a_1 是首项,q 是公比,n 是项数。

m 序列广泛应用于各种数学问题中,如求和、求积、级数收敛性等。

m 序列快速生成算法的原理:m 序列快速生成算法是一种基于迭代的方法,其原理是通过不断更新数列中的每一项,最终得到 m 序列。

具体来说,算法的初始值设为 a_1,然后通过不断计算 a_n = a_(n-1) * q,最终得到 m 序列。

m 序列快速生成算法的具体步骤:1.设定初始值 a_1;2.设定公比 q;3.设定项数 n;4.按照公式 a_n = a_(n-1) * q,从第一项开始,逐项计算,直到计算到第 n 项;5.得到 m 序列。

m 序列快速生成算法的优缺点:优点:算法简单,易于理解,计算速度快。

缺点:需要预先设定项数 n,如果 n 过大,计算量会增大,而且如果公比 q 不是有理数,可能会出现精度问题。

m 序列快速生成算法的应用实例:一个典型的应用实例是求解等比数列的和。

假设有一个等比数列,首项为 a_1,公比为 q,项数为 n,我们可以使用 m 序列快速生成算法来求解这个等比数列的和,即 S_n = a_1 * (1 - q^n) / (1 - q)。

通过这个算法,我们可以快速、准确地得到等比数列的和。

实验九m序列产生及其特性实验

实验九m序列产生及其特性实验

实验九 m 序列产生及其特性实验一、实验目的通过本实验掌握m 序列的特性、产生方法及应用.二、实验内容1、观察m 序列,识别其特征.2、观察m 序列的自相关特性.三、基本原理m 序列是有n 级线性移位寄存器产生的周期为21n -的码序列,是最长线性移位寄存器序列的简称。

码分多址系统主要采用两种长度的m 序列:一种是周期为1521-的m 序列,又称短PN 序列;另一种是周期为4221-的m 序列,又称为长PN 码序列。

m 序列主要有两个功能:①扩展调制信号的带宽到更大的传输带宽,即所谓的扩展频谱;②区分通过多址接入方式使用同一传输频带的不同用户的信号。

1、产生原理图9—1示出的是由n 级移位寄存器构成的码序列发生器。

寄存器的状态决定于时钟控制下输入的信息(“0”或“1”),例如第I 级移位寄存器状态决定于前一时钟脉冲后的第i -1级移位寄存器的状态。

图中C 0,C 1,…,C n 均为反馈线,其中C 0=C n =1,表示反馈连接。

因为m 序列是由循环序列发生器产生的,因此C 0和C n 肯定为1,即参与反馈。

而反馈系数C 1,C 2,…,C n -1若为1,参与反馈;若为0,则表示断开反馈线,即开路,无反馈连线。

图9-1 n 级循环序列发生器的模型一个线性反馈移动寄存器能否产生m 序列,决定于它的反馈系数(0,1,2,,)i c i n =,下表中列出了部分m 序列的反馈系数i c ,按照下表中的系数来构造移位寄存器,就能产生相应的m 序列。

表9-1 部分m 序列的反馈系数表根据表9—1中的八进制的反馈系数,可以确定m 序列发生器的结构。

以7级m 序列反馈系数8(211)i C =为例,首先将八进制的系数转化为二进制的系数即2(010001001)i C =,由此我们可以得到各级反馈系数分别为:01C =、10C =、30C =、41C =、50C =、60C =、71C =,由此就很容易地构造出相应的m 序列发生器。

m序列的原理及应用总结

m序列的原理及应用总结

m序列的原理及应用总结1. 概述m序列(maximum-length sequence),也称为伪随机噪声序列或m序列码,是一种特殊的二进制序列。

m序列具有良好的随机性和周期性,具有广泛的应用领域,例如通信系统中的扩频技术、密码学中的序列密码以及信号处理中的相关分析等。

本文将介绍m序列的原理和应用。

2. m序列的生成原理m序列是通过线性移位寄存器(LSR)和反馈逻辑实现的。

下面是m序列的生成原理:1.首先,选择一个m阶多项式,表示为G(x)=g0+g1x+g2x2+…+gm-1xm-1,其中gi ∈ {0, 1},且m大于1。

2.初始化一个m位寄存器,将其所有位都设置为1。

3.对于每个时钟周期,将寄存器的最低位输出作为m序列的输出,并根据反馈逻辑更新寄存器的状态。

4.反馈逻辑根据G(x)的系数进行计算,具体计算方式为将寄存器的值与G(x)的系数进行与运算,然后将结果进行异或操作,并将计算结果作为寄存器的新状态。

5.重复步骤3和步骤4,直到生成所需的m序列。

3. m序列的特性m序列具有以下几个特性:•最大长度:m序列的周期长度为2m-1,即n=2m-1。

•等自相关性:m序列与其自身进行互相关时,对于任意的偏移量k (0≤k≤n-1),互相关系数均为0。

•平衡性:m序列的周期内0和1的个数相等,即0和1出现的次数相差不超过1。

•异构性:m序列的任意m位子序列都是一个伪随机序列。

4. m序列的应用m序列具有良好的性质,因此在许多领域都有重要的应用。

以下是m序列的几个主要应用:4.1 扩频技术扩频技术是将原始数据序列通过与m序列进行逐位异或得到扩频序列的技术。

扩频序列具有较大的频带宽度,在通信系统中广泛应用于抗干扰、低功率传输以及多用户接入等方面。

m序列被广泛应用于扩频码的产生。

4.2 序列密码系统m序列在密码学中有重要的应用,可以用于产生密钥序列。

由于m序列具有较长的周期和良好的随机性质,能够提供较高的安全性。

m序列产生要点

m序列产生要点

设计内容及要求基于MATLAB产生m序列要求:1.通过matlab编程产生m序列的产生原理及其产生方法。

2.对特定长度的m序列,分析其性质,及其用来构造其它序列的方法。

第二章m序列设计方案的选择2.1 方案一MATLAB编程非常简单,无需进行变量声明,可以很方便的实现m序列。

2.2 方案二图2.1 Simulink实现m序列Simulink是MATLAB最重要的组件之一,它提供了一个动态系统建模,仿真和综合分析的集成环境。

在此环境中无需大量书写程序,而只需通过简单直观的鼠标操作,就可构造出复杂的系统。

Simulink具有适应性广,结构及流程清晰及仿真精细等优点,基于以上优点,Simulink已被广泛的运用到控制理论和数字信号处理的复杂仿真和设计。

通过比较方案一和方案二,发现方案一的有点具有通用性而方案二利用MATLAB的Simulink直接搭建模块,在移位寄存器较少的情况下利用此方法比较简单,可是当移位寄存器的个数增多时,要搭建那么多的模块就显的很繁琐了,缺乏通用性,因此本次实验选择方案一。

第三章m序列的产生及性质3.1 m序列的产生原理、结构及产生m序列是最长线性反馈移位寄存器序列的简称,m序列是由带线性反馈的移位寄存器产生的。

由n级串联的移位寄存器和反馈逻辑线路可组成动态移位寄存器,如果反馈逻辑线路只由模2和构成,则称为线性反馈移位寄存器。

带线性反馈逻辑的移位寄存器设定初始状态后,在时钟触发下,每次移位后各级寄存器会发生变化,其中任何一级寄存器的输出,随着时钟节拍的推移都会产生一个序列,该序列称为移位寄存器序列。

n级线性移位寄存器的如图3.1所示:◇A图3.1 n级线性移位寄存器图中C i表示反馈线的两种可能连接方式,C i=1表示连线接通,第n-i级输出加入反馈中;C i=0表示连线断开,第n-i级输出未参加反馈。

因此,一般形式的线性反馈逻辑表达式为------表达式3.1将等式左边的a n移至右边,并将a n=C0a n(C0=1)带入上式,则上式可以写成-------表达式3.2定义一个与上式相对应的多项式--------表达式3.3其中x的幂次表示元素的相应位置。

m序列产生及其特性实验m序列产生及其特性实验

m序列产生及其特性实验m序列产生及其特性实验
仿真实验结果如图所示:
编写程序如下:
clear
clc
G=63
sd1=[0 0 0 0 1];
PN1=[];
forj=1:G
PN1=[PN1 sd1(5)];
ifsd1(1)==sd1(4)
temp1=0;
elsetemp1=1;
end
sd1(1)=sd1(2);
sd1(2)=sd1(3);
sd1(3)=sd1(4);
(45)8的5级m序列表达为而机制序列可知为(100101)2,输入为[00001]、杯水风波化学教案脱离大众化学教案脱离现实化学教案难兴文艺之春试卷试题
D4+D1为输入我们可知道输出状态
状态
时钟
D1
D2
D3
D4
D5
D4+D1
输出状态
0
0
0
0
0
1
0
1
1
0
0
0
1
0
1
0
2
0
0
1
0
1
0
1
3
0
1
0
1
0
1
0
4
sd3=[0 0 0 0 1];
PN3=[];
forj=1:G
PN3=[PN3 sd3(5)];
ifsd3(1)==sd3(2)
temp1=0;
elsetemp1=1;
end
ifsd3(3)==temp1
temp2=0;
elsetemp2=1;
end
ifsd3(4)==temp2
temp3=0;
elsetemp3=1;
表1-1-1 m序列的反馈系数表
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

设计内容及要求基于MATLAB产生m序列要求:1.通过matlab编程产生m序列的产生原理及其产生方法。

2.对特定长度的m序列,分析其性质,及其用来构造其它序列的方法。

第二章m序列设计方案的选择2.1 方案一MATLAB编程非常简单,无需进行变量声明,可以很方便的实现m序列。

2.2 方案二图2.1 Simulink实现m序列Simulink是MATLAB最重要的组件之一,它提供了一个动态系统建模,仿真和综合分析的集成环境。

在此环境中无需大量书写程序,而只需通过简单直观的鼠标操作,就可构造出复杂的系统。

Simulink具有适应性广,结构及流程清晰及仿真精细等优点,基于以上优点,Simulink已被广泛的运用到控制理论和数字信号处理的复杂仿真和设计。

通过比较方案一和方案二,发现方案一的有点具有通用性而方案二利用MATLAB的Simulink直接搭建模块,在移位寄存器较少的情况下利用此方法比较简单,可是当移位寄存器的个数增多时,要搭建那么多的模块就显的很繁琐了,缺乏通用性,因此本次实验选择方案一。

第三章m序列的产生及性质3.1 m序列的产生原理、结构及产生m序列是最长线性反馈移位寄存器序列的简称,m序列是由带线性反馈的移位寄存器产生的。

由n级串联的移位寄存器和反馈逻辑线路可组成动态移位寄存器,如果反馈逻辑线路只由模2和构成,则称为线性反馈移位寄存器。

带线性反馈逻辑的移位寄存器设定初始状态后,在时钟触发下,每次移位后各级寄存器会发生变化,其中任何一级寄存器的输出,随着时钟节拍的推移都会产生一个序列,该序列称为移位寄存器序列。

n级线性移位寄存器的如图3.1所示:◇A图3.1 n级线性移位寄存器图中C i表示反馈线的两种可能连接方式,C i=1表示连线接通,第n-i级输出加入反馈中;C i=0表示连线断开,第n-i级输出未参加反馈。

因此,一般形式的线性反馈逻辑表达式为------表达式3.1将等式左边的a n移至右边,并将a n=C0a n(C0=1)带入上式,则上式可以写成-------表达式3.2定义一个与上式相对应的多项式--------表达式3.3其中x的幂次表示元素的相应位置。

该式为线性反馈移位寄存器的特征多项式,特征多项式与输出序列的周期有密切关系。

当F(x)满足下列三个条件时,就一定能产生m序列:(1)F(x)是不可约的,即不能再分解多项式;(2)F(x)可整除x n+1,这里p=2n+1;(3)F(x)不能整除x n+1,这里q<q.满足上述条件的多项式称为本原多项式,这样产生m序列的充要条件就变成了如何寻找本原多项式。

3.2 m序列的基本性质(1)均衡性。

在m序列一个周期中‘1’的个数比‘0’要多1位,这表明序列平均值很小。

(2)m序列与其移位后的序列模2相加,所得的序列还是m序列,只是相位不同而已。

例如:1110100与向又移3位的序列1001110相对应模二相加后的序列为0111010,相当于原序列向右移一位后的序列,仍为m序列。

(3)m序列发生器中移位寄存器的各种状态,除全0状态外,其他状态只在m序列中出现一次。

(4)m序列发生器中,并不是任何抽头组合都能产生m序列。

理论分析指出,产生的m序列数由下式决定:--------表达式3.4其中φ(X)为欧拉数。

例如5级移位寄存器产生31位m序列只有6个。

(5)m序列具有良好的自相关性,其自相关系数:-------表达式3.5从m序列的自相关系数可以看出m序列是一个狭义伪随机码。

图3.2 m序列信号的自相关函数3.3 生成m序列的模块根据m序列的生成原理图,如图3.1所示,由图可知m序列是多级移位寄存器通过线性反馈再进行模二相加产生的,最后一位一位输出观察其波形图。

程序中使用的代码如下:N=2^length(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序列的长度,值为(26-1)。

由程序已定义了移位寄存器的初始状态和抽头系数,在此基础上进行反馈,后进行模二加,所得的结果为输出的第一个值,初始状态向左移移位,而所得的输出值填补上变成新的序列,在进行第二次反馈和模二加,依次循环N次,产生m序列第四章 m序列构造其他序列Gold 序列具有三值互相关函数,其值为: ]2)([1,1),(1---r t p p r t p (式2.10) 这里, ⎩⎨⎧++=-=++的倍数为偶数但不是,为奇数421,21)(,12)2(5.0)1(5.0r r r t p r r r(式2.11) 当r 为奇数时,gold 序列中约有50%的码序列归一化相关函数值为-1/p 。

当r 为偶数但又不是4的倍数是,约有75%的码序列归一化互相关函数值为-1/p 。

Gold 序列是R.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);第五章 程序调试及运行结果5.1仿真设计流程图否是否是仿真准备 规划程序模块 编写程序确认程序无 误 设置仿真参数 运行,调试及数据分析 生成仿真图形 是否达到要求 结束图5.1 实验仿真流程图5.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=[1 0 0 1 1 1 1]; %设置系数程序检测无误后,运行程序,得到图形如下:图5.2 运行后的两m序列波形仿真图根据产生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,rho);axis([-10 10 -0.1 1.2]);title('第一个m序列的自相关函数')互相关性:第一个m序列的函数与第二个m序列函数的移位相乘进行积分运算。

代码如下:for j=0:N-1R(j+1)=sum(out1.*[out2(1+j:N),out2(1:j)]);图5.4 m序列自相关性仿真图图5.5 两m序列的互相关性仿真图5.3 错误排除实验过程中出了许多错误,特别是在对序列的自相关性上,缺乏了对自相关性的了解,导致出的波形错误,但在查找资料,修改自相关函数,终于得到了正确的仿真图。

结论课程设计是一个十分有价值、有意义的实践活动,把一个课题设计好不是一步到位的,是经过反复修改,不断调试的过程,期间有困难也有乐趣,使对工程实践有了一个初步的认识。

本次课程设计实现了设计要求,利用软件实现m序列的生成,通过这次实验不但加深了对m序列的了解,而且对MATLAB的编程有了很好的掌握,虽然在仿真过程中会出现一些如程序不对或出的仿真图没有达到实验要求,如m序列中‘1’的个数要比‘0’的个数多1,而实际出的仿真图‘1’和‘0’的个数却是相等的,最后在调整了顶层原理图才使得仿真图正确,在不断的程序调整中提高了自己的能力。

m序列可以用软件实现,也可以用硬件实现,但是通过此次实验看出了软件的诸多优点。

在课程设计的过程中,查询了大量的资料,通过相关资料的查询,使我对通信领域的有关知识有了一定的了解,扩大了知识面。

[1]肖国镇,梁传甲.伪随机序列及其应用[M].北京:国防工业出版社.1985[2]林可祥,汪一飞.伪随机码的原理与应用[M].北京:人民邮电出版社.1998.[3]吴先用,邹学玉.一种m序列伪码发生器的产生方法[J].西安:西安电子科技大学出版社.2003clear;reg1=ones(1,7); %寄存器初始状态coeff1=[1 0 0 0 0 1 1]; %设置系数N=2^length(reg1)-1;%产生m序列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);endreg2=ones(1,7); %寄存器初始状态coeff2=[1 10 0 1 1 1]; %设置系数N=2^length(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,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);axis([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)=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,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序列的互相关函数');。

相关文档
最新文档