基于Matlab的m序列生成及性能仿真
- 格式:pdf
- 大小:164.65 KB
- 文档页数:2
目录一、背景 (4)二、基本要求 (4)三、设计概述 (4)四、Matlab设计流程图 (5)五、Matlab程序及仿真结果图 (6)1、生成m序列及m序列性质 (6)2、生成50位随机待发送二进制比特序列,并进行扩频编码 (7)3、对扩频前后信号进行BPSK调制,观察其时域波形 (9)4、计算并观察扩频前后BPSK调制信号的频谱 (10)5、仿真经awgn信道传输后,扩频前后信号时域及频域的变化 (11)6、对比经信道前后两种信号的频谱变化 (12)7、接收机与本地恢复载波相乘,观察仿真时域波形 (14)8、与恢复载波相乘后,观察其频谱变化 (15)9、仿真观察信号经凯萨尔窗低通滤波后的频谱 (16)10、观察经过低通滤波器后无扩频与扩频系统的时域波形 (17)11、对扩频系统进行解扩,观察其时域频域 (18)12、比较扩频系统解扩前后信号带宽 (19)13、比较解扩前后信号功率谱密度 (20)14、对解扩信号进行采样、判决 (21)15、在信道中加入2040~2050Hz窄带强干扰并乘以恢复载波 (24)16、对加窄带干扰的信号进行低通滤波并解扩 (25)17、比较解扩后信号与窄带强干扰的功率谱 (27)六、误码率simulink仿真 (28)1、直接扩频系统信道模型 (28)2、加窄带干扰的直扩系统建模 (29)3、用示波器观察发送码字及解扩后码字 (30)4、直接扩频系统与无扩频系统的误码率比较 (31)5、不同扩频序列长度下的误码率比较 (32)6、扩频序列长度N=7时,不同强度窄带干扰下的误码率比较 (33)七、利用Walsh码实现码分多址技术 (34)1、产生改善的walsh码 (35)2、产生两路不同的信息序列 (36)3、用两个沃尔什码分别调制两路信号 (38)4、两路信号相加,并进行BPSK调制 (39)5、观察调制信号频谱,并经awgn信道加高斯白噪和窄带强干扰 (40)6、接收机信号乘以恢复载波,观察时域和频域 (42)7、信号经凯萨尔窗低通滤波器 (43)8、对滤波后信号分别用m1和m2进行解扩 (44)9、对两路信号分别采样,判决 (45)八、产生随机序列Gold码和正交Gold码 (47)1、产生Gold码并仿真其自相关函数 (48)2、产生正交Gold码并仿真其互相关函数 (50)九、实验心得体会 (51)直接序列扩频系统仿真一、背景直接序列扩频通信系统(DSSS)是目前应用最为广泛的系统。
*******************实践教学*******************兰州理工大学计算机与通信学院2010年秋季学期移动通信课程设计题目:基于Matable 的扩频通信m伪随机序列的产生专业班级:通信四班姓名:学号: 07250435指导教师:成绩:中文摘要伪随机信号既有优良的相关性,又有随机信号所不具备的规律性,因此,伪随机信号既易于从干扰信号中识别和分离出来,又可以方便的产生和重复,其相关函数接近于白噪声的相关函数,既有随机噪声的优点,又避免了随机噪声的缺点。
m 序列是伪随机序列中最重要的序列之一。
其具有的尖锐的自相关特性;尽可能小的互相关值;足够多的序列数;序列均衡性好;工程上易实现等的要求,使得它在扩频通信系统中得都了广泛的应用。
它可以通过移位寄存器实现,本文利用MATABLE 编码实现了m 序列的生成,通过仿真对m 序列的自相关特性及功率谱密度函数进行了分析和验证。
关键字:扩频通信;伪随机序列;m 序列;MATABLE 编码前言扩频通信因其具有抗干扰、抗多径衰落、抗侦察等优点在通信领域中得到广泛应用。
扩频序列的设计和选择是扩频通信的关键技术,扩频序列性能的优劣在很大程度上决定了通信系统的多址干扰和符号间干扰的大小,从而直接影响到系统的性能。
因此,深入研究扩频序列的性质.构造设计具有良好相关性的扩频序列,来满足扩频系统的要求,是直接序列扩频系统的核心课题。
白噪声是一种随机过程.它有极其优良的相关特性。
但至今无法实现白噪声的放大、调制、检测、同步及控制等.而只能用类似于白噪声统计特性的伪随机序列来逼近它,并作为扩频系统的扩频码。
随机码具有某种随机序列的随机特性,因为同样具有随机特性,无法从一个已经产生的序列中判断是随机序列还是伪随机序列,只能根据序列的产生办法来判断。
伪随机序列具有良好的随机性和接近白噪声的相关函数,并且有预先的可确定性和可重复性。
而这些特性正好满足了扩频通信中对扩频序列尖锐的自相关特性;尽可能小的互相关值;足够多的序列数;序列均衡性好;工程上易实现等的要求。
电子信息科学与技术专业课程设计题单班级0982081学生课程名称专业课程设计课题基于Matlab的m序列相关特性的仿真设计要求基于Matlab语言编程,对m序列相关特性进行仿真,并用Matlab GUI工具设计图形界面显示结果,具体要求如下:1、给定m序列S1、S2,码长为10232、计算m序列S1的自相关函数3、计算m序列对S1、S2的互相关函数4、界面设计要有按钮控件以及一、二级菜单课题发给日期2012.07.04课程设计完成日期2012.07.29指导教师评语:评分:摘要m 序列是最长线性反馈移存器序列的简称,它是由带线性反馈的移存器产生的周期最长的一种序列。
本文主要是介绍MATLAB 在m 序列的产生及其相关特性分析方面的应用,研究了关于matlab完成m序列simulink 硬件仿真方法,并且利用MATLAB 对不同长度的几种m 序列进行相关特性的分析。
对m序列的原理、结构、性质进行了分析,在matlab中采用编程和simulink动态仿真功能2种方式实现m序列,仿真实验表明,这两种方法简单,易于实现,可移植性较强,具有可行性和设计的合理性。
[关键词]m 序列;simulink 硬件仿真;自相关目录第一章设计内容及要求第二章m序列设计方案的选择第三章m序列的产生及性质3.1 m序列的产生原理、结构及产生3.2 m序列的基本性质3.3 生成m序列的模块第四章 m序列构造其他序列第五章程序调试及运结果5.1仿真设计流程图5.2实验的调试与运行结果5.3 错误排除第六章结论参考文献附录第一章设计内容及要求基于MATLAB产生m序列要求:1.通过matlab编程产生m序列的产生原理及其产生方法。
2.对特定长度的m序列,分析其性质,及其用来构造其它序列的方法。
第二章m序列设计方案的选择2.1 方案一MATLAB编程非常简单,无需进行变量声明,可以很方便的实现m 序列。
2.2 方案二图2.1 Simulink实现m序列Simulink是MATLAB最重要的组件之一,它提供了一个动态系统建模,仿真和综合分析的集成环境。
********************实践教学********************兰州理工大学计算机与通信学院2010年秋季学期移动通信课程设计题目:基于MATLAB的扩频通信m伪随机序列产生专业班级:通信工程07级(1)班姓名:周超学号: 07250115指导教师:贾科军成绩:目录摘要 (3)前言 (4)第一章基本原理 (5)1.1扩频调制 (5)1.2直接序列扩频(DS)原理 (8)1.3伪随机(PN)序列 (9)第二章 m序列发生器的系统分析 (12)2.1 m序列的产生 (12)2.2 m序列的反馈系数 (15)2.3 m序列发生器结构 (16)2.4 m序列的基本性质 (17)2.5 m序列的相关性 (17)第三章详细设计 (19)3.1 十阶m序列的设计框图 (19)3.2工作流程图 (20)第四章仿真测试及结论 (22)4.1 十阶m序列的仿真结果及分析 (22)4.2该设计的序列相关性仿真结果及分析 (27)参考文献 (28)总结 (29)所谓扩频通信,是扩展频谱通信技术的简称。
它是指用来传输信息的射频带宽远大于信息本身带宽的一种通信方式,扩频通信系统的出现,被誉为是通信技术的一次重大突破。
伪随机序列是具有某种随机特性的确定的序列。
它们是由移位寄存器产生确定序列,然而它们却具有某种随机序列的随机持性。
因为同样具有随机特性,无法从一个已经产生的序列的特性中判断是真随机序列,只能根据序列的产生办法来判断。
本设计运用MATLAB实现产生扩频通信中的m序列,并分析了相关性能。
关键词:扩频通信;随机序列;m序列随着社会,经济的发展,移动通信得到了越来越广泛的应用,在我国,移动通信发展的起步晚,但发展极其迅速。
移动通信的发展日新月异,从1978年第一代模拟蜂窝网电话系统的诞生至今,不过10多年,第二代全数字蜂窝网电话系统就已问世,第三代的个人通信系统的方案和实验均已开始。
在这种情况下,相应的扩频编码技术也随之诞生了。
XUEBAO 2009.10.20*[收稿日期]2009-07-28[作者简介]刘新永(1975-,男,解放军蚌埠坦克学院教育技术中心,讲师,研究方向:通信与网络技术。
蔡凤丽(1978-,女,安徽电子信息职业技术学院,讲师,研究方向:通信与信息系统。
裴晓根(1975-,男,解放军蚌埠坦克学院信息指挥教研室,助讲,研究方向:军事通信。
No.52009General No.44Vol.82009年第5期第8卷(总第44期安徽电子信息职业技术学院学报JOURNALOF ANHUI VOCATIONAL COLLEGE OF ELECTRONICS&INFORMATION TECHNOLOGY[文章编号]1671-802X(200905-0014-03基于MATLAB 的m 序列的产生及相关特性仿真刘新永1,蔡凤丽2,裴晓根3(1、3.解放军蚌埠坦克学院,安徽蚌埠233050;2.安徽电子信息职业技术学院,安徽蚌埠233060[摘要]本文主要是介绍MATLAB 在m 序列的产生及其相关特性分析方面的应用,研究了基于MATLAB 完成m序列simulink 硬件仿真方法,并且利用MATLAB 对不同长度的几种m 序列进行相关特性的分析。
[关键词]m 序列;simulink 硬件仿真;自相关[中图分类号]TN95[文献标识码]B一、m 序列的产生原理m 序列是最长线性反馈移存器序列的简称,它是由带线性反馈的移存器产生的周期最长的一种序列。
如图1所示为n 级移位寄存器,其中有若干级经模2加法器反馈到第1级。
不难看出,在任何一个时刻去观察移位寄存器的状态,必然是2n 个状态之一,其中每一状态代表一个n 位的二进制数字;但是,必须把全0排斥在外,因为一旦出现全0状态,则以后的序列将恒为0,所以,寄存器的起始状态可以是非全0的2n -1状态之一。
这个电路的输出序列是从寄存器移出的,尽管移位寄存器的状态每一移位节拍改变一次,但无疑是循环的。
目录前言 (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 序列,分析其性质,及其用来构造其它序列的方法;研究伪随机序列在跳频通信中的应用方法。
西 安 邮 电 大 学实验名称:基于Matlab 直接序列扩频系统性能仿真一、 实验目的通过仿真,进一步掌握m 序列产生方法及其性能,重点掌握直接序列扩频通信系统原理及性能。
二、 实验环境Win10 Matlab2015b三、 实验内容● 产生n=7时203对应的m 序列,并给出其NRZ 波形的自相关函数;● 选用相位差16个码片的两条序列兼做地址和扩频码,构造码分系统,仿真其通信原理;●仿真AWGN 和单频干扰下系统的BER 性能。
四、 实验原理扩频通信的可行性是从香农公式引申而来2log (1+S/N)C W其中,C 为系统信道容量(bit/s );W 为系统信道带宽;N 为噪声功率S 为信号功率。
由上式可以看出,可以从两种途径提高信道容量C ,即加大带宽W 或提高信噪比S/N 。
也就是说当信道容量C 一定时,信道带宽W 和信噪比S/N 是可以互换的,增加带宽可以降低对信噪比的要求,可以使有用信号的功率接近甚至湮没在噪声功率之下。
扩频通信就是通过增加带宽来换取较低的信噪比,这就是扩频通信的基本思想和理论依据。
当信噪比无法提高时,可以加大带宽,达到提高信道容量的目的。
直接序列扩频的原理是,在发射端把有用信号与伪随机序列相乘(或者模二加),使信号的频谱展宽到一个很宽的范围,然后用扩展后的序列去调制载波。
在接收端,把接收到的信号用相同的伪随机序列相乘,有用信号与伪随机码相关,相乘后恢复为扩频前的信号。
输入的数据信息为d(t)(设基带带宽为B 1),由伪随机编码(如m 序列)调制成基带带宽为B 2的宽带信号,由于扩频信号带宽大于数据信号带宽,所以信号扩展的带宽由伪随机码控制,而与数据信号无关。
经扩频调制的信号再经射频调制后即可发送。
直扩系统的原理框图接收端收到发送来的信号,经混频得到中频信号后,首先通过同步电路捕捉并跟踪发端伪码的准确相位,由此产生与发端伪码相位完全一致的伪随机码作为扩频解扩的本地扩频码,再与中频信号进行相关解扩,恢复出扩频前的窄带信号,而在解扩处理中,干扰和噪声与伪随机码不相关故被扩展,通过滤波使之受到抑制,这样就可在较高的解扩输出信噪比条件下进行信息解调解码,最终获得信息数据。
武夷学院实验报告课程名称:_扩频通信技术及应用_ 项目名称:基于matlab的伪随机序列生成及相关函数仿真实验姓名:翁开传__专业:__通信工程___ 班级:__2__学号:_40__同组成员_无___1注:1、实验预习部分包括实验环境准备和实验所需知识点准备。
2、若是单人单组实验,同组成员填无。
2注:实验过程记录要包含实验目的、实验原理、实验步骤,页码不够可自行添加。
2)函数auto_corr()计算二进制序列seq的自相关函数,并画出函数曲线。
在函数内调用了生成m序列的函数ms_generator(*)生成的m序列seq,然后在计算。
function seq=ms_generator(registers,connections)registers=[0 0 0 0 1];connections=[1 0 0 1 0 1];n=length(connections);L=2^(n-1)-1;seq(1)=registers(n-1);for i=2:Lsum=0;for m=1:(n-1)sum=mod(sum+registers(m)*connections(m+1),2);endfor k=(n-1):-1:2registers(k)=registers(k-1);endregisters(1)=sum;seq(i)=registers(n-1);endfunction auto_correlation=auto_corr(seq)registers=[1 0 0 0 0 ];%设置初始状态connections=[1 0 1 0 0 1];%设置反馈逻辑seq=ms_generator(registers,connections);seq=-1*(seq*2-1);%负逻辑映射len=length(seq);temp=[seq seq];for i=0:len-1auto_correlation(i+1)=seq*(temp(i+1: i+len))';endauto_correlationplot(0:len-1,auto_correlation);运行的结果如下3)函数cross_corr()计算二进制序列seq1和seq2的互相关函数并画出曲线。
《移动通信》课程项目报告题目:基于MATLAB的m序列仿真专业班级电子信息0121208班组长周易德组员叶子源组员胡楗指导教师李兆玉提交日期 2015年6月15日成绩课程设计任务分配表目录一、设计目的 0二、设计要求和设计指标 0三、设计内容 03.1 伪随机码 03.2 m序列的定义 (1)3.3 m序列的生产 (2)3.4 m序列的性质 (3)3.4.1平衡性 (3)3.4.2游程特性 (3)3.4.3自相关特性 (4)3.4.4功率谱与噪声类似 (5)3.4.5 互相关特性 (6)3.5 m序列的应用 (7)3.5.1 CDMA IS-95的前向信道 (9)3.5.1 CDMA IS-95的反向信道 (9)四、本设计改进建议 (9)五、总结 (9)六、主要参考文献 (10)附录1程序清单 (11)附录2 m序列本原多项式表 (16)一、设计目的我们想通过本次课程设计提高自己对移动通信的认识,熟练Matlab软件的使用,锻炼发现问题解决问题的能力,最终提示我们的自学能力。
具体来讲,本次课程设计将通过Matlab对m序列的生产方法和性质进行深刻的讨论,需要我们去了解m序列的生产和性质。
二、设计要求和设计指标设计要求:1.了解m序列的定义和其背后的意义2.通过Matlab生产m序列3.验证m序列主要性质4.讨论m序列的主要性质在扩频中的作用设计指标:1.能通过Matlab生产任意长度的m序列2.讨论任意长度m序列的均衡性、游程性、自相关特性、互相关特性等主要性质三、设计内容3.1 伪随机码伪随机(或伪噪声,Pseudorandom Noise,PN)码序列是一种常用的地址码,它具有与白噪声类似的自相关性质的0和1所构成的编码序列。
伪随机码序列具有类似于随机序列的基本特性,是一种貌似随机但实际上是有规律的周期性二进制序列。
如果发送数据序列经过完全随机性的加扰,接收机就无法恢复原始序列。
在实际系统中使用的是一个足够随机的序列,一方面这个随机序列对非目标接收机是不可识别的,另一方面目标接收机能够识别并且很容易同步地产生这个随机序列。
序列伪随机码产生及应用仿真matlab一、概述随机序列是一种具有随机性质的数字序列,可用于信息传输、通信系统、密码学、雷达等领域。
伪随机序列是一种经过数学算法产生的序列,其具有类似与随机序列的统计特性,但实际上是确定性的。
在通信系统中,伪随机序列广泛应用于码分多址技术、扩频通信、混沌通信等领域。
本文将介绍伪随机码的产生原理,并使用matlab进行仿真实现,以加深对该技术的理解。
二、伪随机码的产生原理伪随机码的产生主要包括线性反馈移位寄存器(LFSR)、加法(XOR)运算和乘法(AND)运算等步骤。
下面以LFSR为例,介绍伪随机码的产生原理。
1. LFSR原理LFSR是一种利用移位寄存器和反馈逻辑电路构成的伪随机码产生器。
在LFSR中,存在一个移位寄存器和一个反馈逻辑电路。
移位寄存器中存储了若干比特的信息,经过时钟信号的控制完成信息的移位操作。
而反馈逻辑电路则根据寄存器中的信息产生反馈信号,从而实现伪随机序列的产生。
2. 伪随机码的产生过程(1)初始化LFSR。
将移位寄存器中的初始状态设置为一个非零的值。
(2)循环移位寄存器。
根据时钟信号的控制,移位寄存器中的信息进行移位操作。
(3)根据反馈逻辑电路的输出,生成伪随机序列。
通过反馈逻辑电路生成的反馈信号,即为伪随机序列的一部分。
三、matlab仿真实现matlab是一种功能强大的科学计算软件,具有丰富的绘图和仿真功能。
下面将使用matlab进行伪随机码的产生和仿真实现。
1. 产生伪随机码在matlab中,可以使用shiftregister函数实现LFSR的移位寄存器功能。
结合matlab的位运算功能,可以方便地实现伪随机码的产生。
以下是一个简单的matlab代码示例:```matlab定义LFSR的初始状态state = [1 0 1 0 1];定义LFSR的反馈多项式polynomial = [5 2];产生伪随机码for i = 1:10获取LFSR的输出output = state(end);计算新的状态new_state = mod(sum(state(polynomial)), 2);更新状态state = [new_state, state(1:end-1)];显示输出disp(output);end```上述代码中,通过定义LFSR的初始状态和反馈多项式,使用循环产生了10个伪随机码的输出。
M序列的生成原理与仿真1.1 m序列的生成r 级非退化的移位寄存器的组成如图1 所示,移位时钟源的频率为Rc。
r 级线性移位寄存器的反馈逻辑可用二元域GF(2)上的r 次多项式表示(1)图(1)r 级线性移位寄存器式(1)称为线性移位寄存器的特征多项式,其给出的表示反馈网络的而逻辑关系式是现行的。
因此成为线性移位寄存器。
对于动态线性移位寄存器,其反馈逻辑也可以用线性移位寄存器的递归关系式来表示(2)以式(1)为特征多项式的r 级线性反馈移位寄存器所产生的序列,其周期N≤2r−1。
假设以GF(2)域上r次多项式(1)为特征多项式的r级线性移位寄存器所产生的非零序列{ a i }的周期为N =2r−1,称序列为{ a i }是最大周期的r 级线性移位寄存器序列,简称m序列。
构造一个产生m 序列的线性移位寄存器,首先要确定本原多项式。
本原多项式确定后,根据本原多项式可构造出m 序列移位寄存器的结构逻辑图。
仿真时以n=6的6级移位寄存器为例,产生本源多项式的方法:n=6; %以6级寄存器为例,connections=gfprimfd(n,'all');f1=connections(4,:); %取一组本原多项式序列根据本院多项式确定的反馈系数做出反馈移位寄存器如图(2)所示图(2)m 序列发生器1.2 m 序列自相关函数1.2.1周期自相关函数编写周期自相关函数和非周期自相关函数,实验结果如下图(2)和(3)所示:图(2)m 序列周期自相关函数结论:周期自相关函数R (k )={63 k =0−1 otℎersm 序列周期自相关函数1.2.2非周期自相关函数图(3) m 序列非周期自相关函数1.3 m 序列的互相关函数选用的两个m 序列为一对优选对,以211作为基准本原多项式(反馈系数10001001),217作为配对本原多项式(反馈系数10001111),生成两个m 序列,求出互相关函数如图(4)和(5):、图(4)m 序列互相关函数结论:互相关函数的取值{-1,-17,15}m 序列非周期自相关函数m 序列周期互相关函数m序列非周期互相关函数图(5)m序列非周期互相关函数1.4 附:matlab代码clear;clc;%%------生成m序列-----%%n=6; %以6级寄存器为例,connections=gfprimfd(n,'all');f1=connections(4,:); %取一组本原多项式序列registers1=[1 0 0 0 0 0 ];%给定寄存器的初始状态L=2^n-1; %周期长度sum1=0;for k=1:Lseq(k)=registers1(n); %m序列for j=1:n %进行模2加sum1=sum1+f1(j+1)*registers1(j); %各级寄存器送参与模2加的值sum1=mod(sum1,2);endfor t=n:-1:2 %寄存器移位registers1(t)=registers1(t-1);endregisters1(1)=sum1;sum1=0;end% %%----------------------自相关函数-------------------------%%% %-------非周期自相关函数--------%%a=1-2*seq;b=a;for i=1:LR(i)=sum(a.*b)b=[0 b(1:62)]endplot(R)title('m序列非周期自相关函数');% %-------周期自相关函数------%%% a=1-2*seq;% b=a;% for i=1:L% R(i)=sum(a.*b)% b=[b(63) b(1:62)]% end% plot(R);% title('m序列周期自相关函数');%%-------利用公式编写自相关函数验证---------------%% % a=seq1;% b=[a(1,63),a(1,1:62)];% L=length(b);% n=400;% x=1:n;% for k=1:n% c=xor(a,b);% D=sum(c);% A=L-D;% R(k)=(A-D)/(A+D);% b=[b(L),b(1:L-1)];% end% plot(x,R);% title('gold序列的自相关函数');% xlabel('τ');% ylabel('R(τ)');% grid;。
m序列的仿真验证一:实验目的:利用matlab验证m序列的产生方法及其自相关特性二:实验要求:设m序列的生成多项式为g(x)=1+x3+ x4,求(1)m序列的输出及其自相关序列;(2)设脉冲成形为p(t)= 1 0<t<T s0 其他画出其m序列信号的自相关函数;(3)设脉冲波形为升余弦成形(α=0),画出其m序列信号的自相关函数。
三:实验原理:m序列即为maximal length linear feedback shift register sequence 它具有类似与随机噪声的某些统计特性,有是可以重复产生的。
四:实验源码:clear all;close all;g=19;state=8;L=1000;%m序列产生N=15;mq=mgen(g,state,L);%求序列自相关ms=conv(1-2*mq,1-2*mq(15:-1:1))/N;figure(1)subplot(222)stem(ms(15:end));axis([0 63 -0.3 1.2]);title('m序列自相关')%m序列构成的信号(矩形脉冲)N_sample=8;Tc=1;dt=Tc/N_sample;t=0:dt:Tc*L-dt;gt=ones(1,N_sample);mt=sigexpand(1-2*mq,N_sample);mt=conv(mt,gt);figure(1)subplot(221);plot(t,mt(1:length(t)));axis([0 63 -1.2 1.2]);title('m序列矩形形成信号')st=sigexpand(1-2*mq(1:15),N_sample);s=conv(st,gt);st=s(1:length(st));rt1=conv(mt,st(end:-1:1))/(N*N_sample);subplot(223);plot(t,rt1(length(st):length(st)+length(t)-1));axis([0 63 -1.2 1.2]);title('m序列矩形形成信号的自相关');xlabel('t');%sinc脉冲Tc=1;dt=Tc/N_sample;t=-20:dt:20;gt=sinc(t/Tc);mt=sigexpand(1-2*mq,N_sample);mt=conv(mt,gt);st2=sigexpand(1-2*mq(1:15),N_sample);s2=conv(st2,gt);st2=s2;rt2=conv(mt,st2(end:-1:1))/(N*N_sample);subplot(224);t1=-55+dt:dt:Tc*L-dt;%plot(t,mt(1:length(t)));plot(t1,rt2(1:length(t1)));axis([0 63 -0.5 1.2]);title('m序列sinc形成信号的自相关');xlabel('t');调用函数:sigexpand(d,M)function[out]=sigexpand(d,M)N=length(d);out=zeros(M,N);out(1,:)=d;out=reshape(out,1,M*N);五:实验结果及分析:m序列的输出波形在每次运行程序后不尽相同,这是由m序列特性决定的,它是一种伪随机序列。