基于matlab的伪随机序列实现
随机信号分析实验报告(基于MATLAB语言)

随机信号分析实验报告——基于MATLAB语言姓名:_班级:_学号:专业:目录实验一随机序列的产生及数字特征估计 (2)实验目的 (2)实验原理 (2)实验内容及实验结果 (3)实验小结 (6)实验二随机过程的模拟与数字特征 (7)实验目的 (7)实验原理 (7)实验内容及实验结果 (8)实验小结 (11)实验三随机过程通过线性系统的分析 (12)实验目的 (12)实验原理 (12)实验内容及实验结果 (13)实验小结 (17)实验四窄带随机过程的产生及其性能测试 (18)实验目的 (18)实验原理 (18)实验内容及实验结果 (18)实验小结 (23)实验总结 (23)实验一随机序列的产生及数字特征估计实验目的1.学习和掌握随机数的产生方法。
2.实现随机序列的数字特征估计。
实验原理1.随机数的产生随机数指的是各种不同分布随机变量的抽样序列(样本值序列)。
进行随机信号仿真分析时,需要模拟产生各种分布的随机数。
在计算机仿真时,通常利用数学方法产生随机数,这种随机数称为伪随机数。
伪随机数是按照一定的计算公式产生的,这个公式称为随机数发生器。
伪随机数本质上不是随机的,而且存在周期性,但是如果计算公式选择适当,所产生的数据看似随机的,与真正的随机数具有相近的统计特性,可以作为随机数使用。
(0,1)均匀分布随机数是最最基本、最简单的随机数。
(0,1)均匀分布指的是在[0,1]区间上的均匀分布, U(0,1)。
即实际应用中有许多现成的随机数发生器可以用于产生(0,1)均匀分布随机数,通常采用的方法为线性同余法,公式如下:,序列为产生的(0,1)均匀分布随机数。
定理1.1若随机变量X 具有连续分布函数,而R 为(0,1)均匀分布随机变量,则有2.MATLAB中产生随机序列的函数(1)(0,1)均匀分布的随机序列函数:rand用法:x = rand(m,n)功能:产生m×n 的均匀分布随机数矩阵。
(2)正态分布的随机序列函数:randn用法:x = randn(m,n)功能:产生m×n 的标准正态分布随机数矩阵。
伪随机序列发生器

伪随机序列发生器一、实验目的:理解伪随机序列发生器的工作原理以及实现方法,掌握MATLAB\DSP BUILDER设计的基本步骤和方法。
二、实验条件:1. 安装WindowsXP系统的PC机;2. 安装QuartusII6.0 EDA软件;的序列发生器,并通⒈ ⒉ ⒊⒋⒌⒍⒎⒏⒐ ⒑ ⒒⒓⒔⒕⒖⒗四、实验原理:对于数字信号传输系统,传送的数字基带信号(一般是一个数字序列),由于载有信息,在时间上往往是不平均的(比如数字化的语音信号),对应的数字序列编码的特性,不利于数字信号的传输。
对此,可以通过对数字基带信号预先进行“随机化”(加扰)处理,使得信号频谱在通带内平均化,改善数字信号的传输;然后在接受端进行解扰操作,恢复到原来的信号。
伪随机序列广泛应用与这类加扰与解扰操作中。
我们下面用DSP BUILDER来构建一中伪随机序列发生器——m序列发生器,这是一种很常见的伪随机序列发生器,可以由线性反馈器件来产生,如下图:其特征多项式为:()∑==ni i i x C x F 0注:其中的乘法和加法运算都是模二运算,即逻辑与和逻辑或。
可以证明,对于一个n 次多项式,与其对应的随机序列的周期为。
12−n 接下来我们以为例,利用DSP BUILDER 构建这样一个伪随机序列发生器。
125++x x开Simulink 浏览器。
Simulink我们可以看到在Simulink 工作库中所安装的Altera DSP Builder 库。
2. 点击Simulink 的菜单File\New\Model 菜单项,新建一个空的模型文件。
3. 按照下图在Model编辑器的工作区中放置如下的模型:其中Logical Bit Operator模块在Gate & Control库中,把它拖到工作区中后双击打开参数设置对话框,设置成2输入异或门。
为了能够在Matlab中获得仿真结果,可以给输出再添加一个示波器Scope,这个模型在Simulink标准库的Sources库中。
Matlab实现M序列的产生和自相关序列

电子信息工程专业课程设计任务书1 需求分析伪随机信号既有随机信号所具有的优良的相关性,又有随机信号所不具备的规律性. 因此,伪随机信号既易于从干扰信号中被识别和分离出来,又可以方便地产生和重复,其相关函数接近白噪声的相关函数, 有随机噪声的优点,又避免了随机噪声的缺点. 伪随机序列具有可确定性、可重复性,易于实现相关接受或匹配接受,故有很好的抗干扰性能. 因此伪随机序列在相关辩识、伪码测距、导航、遥控遥测、扩频通信、多址通信、分离多径、误码测试、线形系统测量、数据加扰、信号同步等方面均有广泛的应用. m 序列是伪随机序列中最重要的一种,是最长线性移位寄存器序列,m 序列易于实现,具有优良的自相关特性,在直扩通信系统中用于扩展要传递的信号。
可以通过移位寄存器,利用MATLAB 编程产生m 序列。
2 概要设计m 序列是最长线性反馈移位寄存器序列的简称,m 序列是由带线性反馈的移位寄存器产生的.由n 级串联的移位寄存器和和反馈逻辑线路可组成动态移位寄存器,如果反馈逻辑线路只由模2和构成,则称为线性反馈移位寄存器。
带线性反馈逻辑的移位寄存器设定初始状态后,在时钟触发下,每次移位后各级寄存器会发生变化。
其中任何一级寄存器的输出,随着时钟节拍的推移都会产生一个序列,该序列称为移位寄存器序列。
n 级线性移位寄存器的如图1所示:图1 n 级线性移位寄存器图中i C 表示反馈线的两种可能连接方式,i C =1表示连线接通,第n-i 级输出加入反馈中;i C =0表示连接线断开,第n-i 级输出未参加反馈。
因此,一般形式的线性反馈逻辑表达式为112201(mod 2)n n n n n i n i i a C a C a C a C a ---==⊕⊕⊕=∑L将等式左面的n a 移至右面,并将00(1)n n a C a C ==代入上式,则上式可改写为100n i n i C a -==∑定义一个与上式相对应的多项式()ni i i F x C x ==∑其中x 的幂次表示元素的相应位置。
matlab论文

本原多项式
初始值
取样时间
3-2 伪随机码产生器模块参数窗口
1
0 .8
0 .6
0 .4
0 .2
幅 度 /v
0
-0 .2
-0 .4
-0 .6
-0 .8
-1
• 图3-3 伪随机码产生器输出的15位序列波形 • (载波频率为 1GH ,码元宽度 T 100 ns ,序列长度15位) • 由上图3-3可以写成15位伪随机序列: • ={ 1 1 1 -1 1 1 -1 -1 1 -1 1 1 1 1 1 } • 3.2 单极性伪码转换成双极性伪码模块 以上伪随机码产生模块形成的伪随机序列是单极性码,不过调制系统需要的是双 极性码,为此必须采用电平转换模块把单极性码变成双极性码。
0.8
幅度 ( V )
0.6
0.4
0.2
X: 9.83e-005 Y: -0.069 X: 9.85e-005 Y: -0.063 X: 9.98e-005 Y: -0.067 X: 0.0001 Y: -0.068 X: 0.0001013 Y: -0.063 X: 0.0001015 Y: -0.071
• • • • • • • •
clear all; load simout1.mat; load simout2.mat; PN1=simout1; PN2=simout2; R=xcorr_tu (PN1,PN2); plot(R) 以上程序生成的自相关函数波形如下图3-9所示:
1
X: 9.84e-005 Y: 0.987 X: 9.99e-005 Y: 1 X: 0.0001014 Y: 0.987
图3-1 伪码调相过程原理框图 按照原理图可以用MATLAB/Simulink软件包建模实现伪随机码的调相信号框 图上各个组成部分的含义以及形成过程如下:
GPS载波、伪码的matlab实现与分析

GPS 载波、伪码的matlab 实现与分析一、伪码生成及分析1、1 生成M 序列和Gold 码序列① 由于本原多项式分别为[2 0 1 1]和[2 4 1 1] (八进制)。
从而知道两M 序列的生成多项式为1031X X ++和10832X X X X 1++++。
此部分的程序设计思路为:先为两个十位移位寄存器赋初值(全1);后利用循环,每次把寄存器的输出放到M 序列储存器中,从而获得M 序列。
② 第一个Gold 码,使用第一个移位寄存器的第十级输出和第二个寄存器的第2级、第6级作为抽头的输出进行异或,异或的过程也在上部的循环中完成,每次异或的结果存于Gold 寄存器。
第二个Gold 码的生成与第一个类似,只是改为第二个寄存器的第3级、第7级作为抽头.1、2 对生成的伪随机码进行分析① 利用xcorr 函数对以上生成的两个M 序列分别进行自相关和互相关运算,其中需要将两M 序列进行双极性变换(xcorr 函数的要求)。
并画出自相关、互相关函数图像。
② 后利用FFT 函数,求取以上自相关函数的功率谱,并画出图像。
图像如下:图1③图像分析:由上图可验证,M序列作为近似白噪声的伪随机序列,其自相关函数近于冲击函数;互相关函数幅值近于0;功率谱密度函数是自相关函数的傅里叶变换,所以幅值近于常数1。
但在图像中有较多毛刺,与理想的图像有较大差别,可能是由于xcorr函数造成。
④利用xcorr函数对以上生成的两个Gold码序列分别进行自相关和互相关运算,其中需要将两Gold码序列进行双极性变换(xcorr 函数的要求)。
并画出自相关、互相关函数图像。
图像如下:图2图像分析:由上图可验证,Gold 码序列作为近似白噪声的伪随机序列,其自相关函数近于冲击函数;互相关函数幅值近于0。
但在图像中有较多毛刺,与理想的图像有较大差别,可能是由于xcorr 函数造成。
二、生成混沌序列并得到跳频序列2、1 生成混沌序列的原始序列① 采用Logistic (2n 1n X 2-1X ⨯=+)映射,设定初值为0.121381和0.121380,分别迭代50次,从而获得两个混沌序列。
m伪随机序列Matlab源代码

m伪随机序列Matlab源代码%5阶m序列% 在MATLAB命令窗口输入以下:% fbconnection=[0 1 0 0 1];% mseq=m_sequence(fbconnection);% mseqfunction[mseq]=m_sequence(fbconnection)n=length(fbconnection);N=2^n-1;register=[zeros(1,n-1) 1]; %移位寄存器的初始状态mseq(1)=register(n); %m序列的第一个输出码元for i=2:Nnewregister(1)=mod(sum(fbconnection.*register),2);for j=2:n,newregister(j)=register(j-1);end;register=newregister;mseq(i)=register(n);end有关m序列的有一个作业要做一个和m序列相关的,先是形成自相关m序列,然后生成其自相关序列,两个都要产生图像。
这些我都完成了。
后面要用matlab图像处理,作出一个类似于示波器的调节旋钮的东西,点击一下就对自相关序列的延迟进行一些调节,调节至m序列和其自相关函数一样。
各位牛人看看,给些指点,做了3天了,怎么都做不出来。
代码如下:%m序列发生器及其自相关和功率谱密度clear all; close all;g = 19; % G = 10011state = 8;% state=1000L = 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 -0.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');。
基于matlab的移位寄存器法m序列的产生

基于matlab的移位寄存器法m序列的产生【摘要】扩频通信是在民用和军用都有广泛应用的一种通信技术,自从其诞生就受到了广泛关注。
扩频通信中频谱的扩展是通过一个独立的伪随机序列来完成的。
其中m序列是最常用的一种伪随机码,本文在matlab平台上通过仿真,来研究如何用移位寄存器产生m序列,虽然matlab中有现成的m序列产生模块,但是它的相位是不可以调节的,而本文产生的m序列相位可以调节。
详细讲解了m序列的产生原理,和matlab仿真过程,最后给出了仿真结果,结果表明该方法是可行的。
【关键词】移位寄存器;扩频;m序列;Design of m-sequence Generator Based on Shift Register with MatlabLIUYan-hua(Yancheng Institute of Technology, School of Information Engineering, Yancheng Jiangsu,224051)【Abstract】Spread spectrum communication is widely used in both civilian and military communications, It is potential and promising which attracts wide attention since its emergence. The spectrum expansion of spread spectrum communication is through of an independent pseudo-random sequence to complete. m-sequence is one of the most common sequence of pseudo-random code, this paper is in matlab platform to study how to use shift registers to generate m-sequence, although there is ready-made matlab m-sequence generation module, but its phase is not regulation, and phase of m-sequence generated by this paper can be adjusted. Explain in detail the principles of the m sequence generation, and the matlab simulation process, the final simulation results, the results show that the simulation is feasible.【Key words】Shift register;Spread spectrum;m-sequence0 引言所谓扩频,是扩展频谱的简称。
基于matlab的伪随机序列生成及相关函数仿真实验

武夷学院实验报告课程名称:_扩频通信技术及应用_ 项目名称:基于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序列幅值

1.用下式产生伪随机数:clc;clear;p=35;M=2^p;n=7;A=2^n+1;c=1;length=1000for i=2:length;x(1)=3;x(i)=mod(A*x(i-1)+c,M);endy=x/M;plot([1:length],y,'.')这种产生随机数的方法为混合同余法,当M=2^35,n=21,c=1时,相关系数接近于零。
但当n取值过大时,占用机器时间增加。
Coveyou给出的一组参数M=2^35,n=7,c=1,虽n取值不大,却能有效的减小序列的相关系数,且不占用过多的机器时间。
2.①用给出的等式产生M序列clc;clear;x(1)=0;x(2)=1;x(3)=0;x(4)=1;x(5)=0;x(6)=1;x(7)=0;x(8)=1;x(9)=0;length=500for i=10:500;x(i)=xor(x(i-4),x(i-9));endplot(x)分析:首先对x(1)到x(9)随即赋值,系数都为1,随后的变量由等式计算出来,由图可知,该序列的循环周期很长,0和1出现的概率基本相同。
②以此序列为基础产生逆序列clc;clear;x(1)=0;x(2)=1;x(3)=0;x(4)=1;x(5)=0;x(6)=1;x(7)=0;x(8)=1;x(9)=0;length=500for i=10:500;x(i)=xor(x(i-4),x(i-9));endy(i)=mod(i,2)for i=1:500z(i)=xor(x(i),y(i))endplot(z)逆M序列是M序列和方波序列复合结果,也是周期较长的随机序列,0和1出现概率相同。
③并将逆序M的幅值变为-a和+aclc;clear;x(1)=0;x(2)=1;x(3)=0;x(4)=1;x(5)=0;x(6)=1;x(7)=0;x(8)=1;x(9)=0;length=500for i=10:500;x(i)=xor(x(i-4),x(i-9));endy(i)=mod(i,2)for i=1:500z(i)=xor(x(i),y(i))enda=2for i=1:500b(i)=a*(1-2*z(i))endplot(b)分析:取a=2,幅值变为-2和+2。
用Matlab产生伪随机序列,实现扰码

中北大学课程设计任务书2014/2015 学年第二学期学院:信息与通信工程学院专业:电子信息科学与技术学生姓名:学号:课程设计题目:用Matlab产生伪随机序列,实现扰码解扰起迄日期:6月29日~7月10日课程设计地点:指导教师:程耀瑜、李永红学科部主任:程耀瑜下达任务书日期: 2015 年 6 月 29日课程设计任务书1.设计目的:通过本课程设计, 主要训练和培养学生综合应用所学过的信号及信息处理等课程的相关知识,独立完成信号仿真以及信号处理的能力。
包括:查阅资料、合理性的设计、分析和解决实际问题的能力,数学仿真软件Matlab和C语言程序设计的学习与应用,培养规范化书写说明书的能力。
2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等):用Matlab产生伪随机序列,实现扰码和解扰(1)利用周期为255的m序列发生器;(2)利用周期为127的m序列发生器;(3)利用周期为63的m序列发生器;3.设计工作任务及工作量的要求〔包括课程设计计算说明书(论文)、图纸、实物样品等〕:课程设计说明书仿真结果课程设计任务书4.主要参考文献:要求按国标GB 7714—87《文后参考文献著录规则》书写,例:1 傅承义,陈运泰,祁贵中.地球物理学基础.北京:科学出版社,1985(5篇以上)5.设计成果形式及要求:课程设计说明书仿真结果6.工作计划及进度:2015年6 月29 日~ 7月3 日了解设计题目及熟悉资料;7月4日~ 7月5日确定各题目要求计算相关参数;7月6日~ 7月7 日结合各题目确定具体设计方案;7月8日~ 7月9日结合要求具体设计并仿真、整理报告;7月10日答辩。
学科主任审查意见:签字:年月日。
基于Matlab的m序列发生器的设计1

引言伪随机噪声具有类似于随机噪声的某些统计特性,同时又能够重复产生。
由于它具有随机噪声的优点,又避免了随机噪声的缺点,因此获得了日益广泛的实际实用。
这种周期性数字序列称为随机序列,有时又称为随机信号和伪随机码。
m序列是伪随机序列中最重要的序列中的一种,它不但具有易于产生的特点,还具有良好的自相关特性,在扩频通信中得到了广泛的应用。
1. m序列设计方案选择1.1 方案一编程实现m 序列:MA TLAB编程非常简单,无需进行变量声明,可以很方便的实现m序列。
1.2方案二图1.1 Simulink 实现m 序列Simulink 实现m 序列(如图1.1所示) 。
Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。
在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。
Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。
通过比较方案一和方案二,发现方案一的优点具有通用性,其中mserises.m相当于一个通项,根据具体的本原多项式调用它即可,而方案二利用MATLAB的simulink直接搭建模块,在移位寄存器较少时利用此方法极为简单,可是当移位寄存器的数量增多时,要搭建那么多的模块就显得很繁琐,缺乏通用性。
2.Simulink工具介绍2.1 Simulink简介Simulink是MATLAB软件最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。
在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可以构造出复杂的系统。
Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用与控制理论和数字信号处理的复杂仿真和设计。
同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。
m序列伪随机码产生及应用仿真matlab

序列伪随机码产生及应用仿真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个伪随机码的输出。
matlab伪随机数生成算法

matlab伪随机数生成算法
Matlab中的伪随机数生成算法是基于梅森旋转算法(Mersenne Twister)的。
梅森旋转算法是一种高质量的伪随机数生成器,具有较长的周期和良好的统计性质。
在Matlab中,可以使用rand函数生成伪随机数。
该函数返回一个0到1之间的均匀分布的伪随机数。
具体来说,Matlab使用了叫做梅森旋转算法的算法来生成这些伪随机数。
梅森旋转算法是一种递归算法,它使用一个624维的状态向量来生成伪随机数。
每次调用rand函数时,梅森旋转算法会根据状态向量中的值计算出一个新的伪随机数,并更新状态向量的值。
当状态向量的值用尽后,梅森旋转算法会重新计算一组新的状态向量。
由于梅森旋转算法具有较长的周期,因此在Matlab中生成的伪随机数具有较好的随机性和统计性质。
但需要注意的是,由于是伪随机数生成算法,因此生成的随机数序列是确定性的,即给定相同的种子,生成的随机数序列是相同的。
如果需要更高质量的伪随机数生成算法,可以使用Matlab中的randn函数生成服从标准正态分布的伪随机数,或使用其他高级随机数生成函数如randperm、randi等。
基于MATLAB的伪随机序列的产生和分析

收稿日期: !""# $ %! $ %&
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
第 !! 卷
&’(’)*+,-( *(. "(*/01,1 -2 34 5’67’(8’ %*1’. -( !"#$"%
89:; 9<= $ 43>? ,/@ 93>?
( 8344A?A 3B :4ACDE3>=C <>5 @>B3E1<D=3> , ;3EDFGAHDAE> 634IDACF>=C<4 J>=KAEH=DI, L=’ <> MF<>N= +%""+!, 8F=><) "%5#9":#: ,-./-0 H3BDG<EA F<H OAA> PHA5 ANDA>H=KA4I => 1<>I A>?=>AAE=>? B=A45H 5PA D3 =DH HDE3>? 3QAE<D=3> B<>CD=3>7 .3 ANQ<>5=>? 3E C31QEAHH=>? DFA H=?><4 HQACDEP1 => HQEA<5 HQACDEP1 HIHDA1,DFA H=?><4 =H ?A>AE<44I 1P4D=Q4A5 OI < HQEA<5 HQACDEP1 HARPA>CA7 .FA CF<E<CDAE 3B HQEA<5 HQACDEP1 HARPA>CA H=?>=B=C<>D4I <BBACDH DFA C311P>=C<D=3> RP<4=DI7 @> <44 6; HAS RPA>CAH,1 $ HARPA>CA <>5 2345 $ HARPA>CA <EA 3BDA> PHA5 <H HQEA<5 HQACDEP1 HARPA>CA7 @> DF=H Q<QAE,DFA OE=AB =>DE35PCS D=3> 3B DFA DFA3EI,QE3QAEDI <>5 C3>HDEPCD=>? 1A<>H 3B DFA DG3 HARPA>CAH <EA ?=KA> B=EHD, <>5 DFA ?A>AE<D=3> <>5 <><4IH=H 3B DFA1 OI QE3?E<11=>? G=DF , 4<>?P<?A => ,-./-0 <EA ?=KA> 4<DAE7 .FA H=1P4<D=3> EAHP4DH HF3G DFA C3EEACD>AHH <>5 BA<H=O=4=S DI 3B DF=H 1ADF357 .FA H=1Q4A <>5 =>DP=D=KA 1ADF35 =H C3>KA>=A>D B3E DFA A>?=>AAE=>? QAEH3>>A47 ;<=>?9@5: 6; HARPA>CA;MARPA>CA;MQEA<5 HQACDEP1 HARPA>CA
基于MATLAB的跳频通信系统的实现一

基于MATLAB的跳频通信系统的实现摘要跳频通信系统的安全性、稳定性和抗干扰能力是现代通信系统所必需的,跳频通信信息传输系统,有利于提高系统的抗干扰性能,改善信噪比,是扩频通信中的重点技术,研究实现跳频通信系统具有重要意义。
本文从跳频系统的组成,数学模型等方面概述跳频通信基本原理。
整个设计包括了信源产生部分、发送部分、跳频调制部分、信道部分、接收部分和结果分析部分共六个模块,利用该MATLAB软件SIMULINK库建立了跳频通信系统的仿真模型,分析了跳频通信系统中的多径干扰,噪声等因素影响,并进行了测试性能和评估,根据仿真结果,对跳频通信系统的性能进行了分析和总结。
关键词:跳频通信,扩频通信,MATLAB Simulink第一章绪论1.1研究背景及意义近年来,随着无线通信技术的快速发展,跳频通信系统在军事、航空、卫星通信等领域中得到了广泛应用。
在跳频通信系统中,频率是在发射端和接收端之间频繁地跳变,以防止信号被敌方干扰和窃听。
跳频通信系统的安全性、稳定性和抗干扰能力是现代通信系统所必需的,因此研究跳频通信系统的相关技术具有重要的理论和应用价值。
MATLAB是一种广泛应用于科学计算、数据分析、算法开发和可视化的强大工具。
它为工程师和科学家提供了一种高效的方式来处理数据和进行算法设计。
在跳频通信系统中,MATLAB可以用来建立系统模型、仿真、分析和优化跳频通信系统。
因此,研究基于MATLAB的跳频通信系统具有实际意义和研究价值。
本文旨在探究基于MATLAB的跳频通信系统,研究其信号处理、频谱分析和抗干扰等相关技术,为跳频通信系统的进一步发展提供理论和实践基础。
现代军事化进程快速发展,未来战争会是以电子战,信息战的对抗为主,跳频通信技术的研究也成为了世界各国关注的焦点。
此外,跳频通信还具有很强的抗干扰性,当某一频率点受到干扰时,其它频率点仍然可以正常传输。
随着现代信息对抗的加剧,跳频通信技术得到了快速的发展。
matlab实验之求均值-方差

实验一 随机信号的数字特征分析一、 实验目的1.了解随机信号自身的特性,包括均值(数学期望)、方差、均方值等;2. 掌握随机信号的分析方法;二、实验原理1.均值测量方法均值ˆx m表示集合平均值或数学期望值。
基于随机过程的各态历经性,最常用的方法是取N 个样本数据并简单地进行平均,即101ˆ[]N x d i m X i N-==∑ 其中,样本信号的采样数据记为[](,)d X i X iT ξ=,s T 为采样间隔。
2.均方误差的测量方法随机序列的均方误差定义为: 2211()lim ()N i N i E X x n N →∞==∑ 3.方差测量方法如果信号的均值是已知的,则其方差估计设计为12201ˆ([])N x X d i X i m N σ-==-∑ 它是无偏的与渐进一致的。
三、实验内容利用MATLAB 中的伪随机序列产生函数randn()产生多段1000点的序列,编制一个程序,计算随机信号的数字特征,包括均值、方差、均方值、最后把计算结果平均,绘制数字特征图形。
源程序如下:clear all;clc;%产生50个1000以内点的伪随机序列x=randn(50,1000);%计算随机产生的50个点序列的均值,方差,均方average=zeros(1,50);variance=zeros(1,50);square=zeros(1,50);%计算均值for i=1:50for j=1:1000average(i)=average(i)+x(i,j);endaverage(i)=average(i)/1000;end%计算方差for i=1:50for j=1:1000variance(i)=variance(i)+(x(i,j)-average(i)).^2; endvariance(i)=variance(i)/1000;end%计算均方值for i=1:50for j=1:1000square(i)=square(i)+x(i,j).^2;endsquare(i)=square(i)/1000;endEX=sum(average)/50;DX=sum(variance)/50;RMS=sum(square)/50;plot(average);title('50个随机序列的均值');figure;plot(variance);title('50个随机序列的方差');figure;plot(square);title('50个随机序列的均方值');四、实验结果及分析由上结果可知:将图中的计算结果平均后,得到的结果为:产生的50个点的随机序列均值的平均值为:EX=0.0090197;产生的50个点的随机序列方差的平均值为DX=1.0078;产生的50个点的随机序列均方值的平均值为RMS=1.0087。
常用伪随机码序列的相关性分析与MATLAB仿真

- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
衡量一个m序列与它的j次移位序列之间的相关 程度,并把它叫做m序列( a1 , a2 , a3 ,, a p)的自相关函 数。记作 R( j ) a a ,当采用二进制数字0和1 A 代表码元的可能取值时,R( j) A D A D D p (其中A表示 a a 0的数目,D表示 ai ai j 1的数目) 由m序列的均衡性和移位相加特性可知: j0 1 R( j ) 1 / p j 1,2,,( p 1)
由上图可以看出,寄存器状态满足: y1(i)=y1(i-1) y4(i-1); y2(i)=y1(i-1); y3(i)=y2(i-1); y4(i)=y3(i-1); 给寄存器组赋予一个非全零的初始状态,y4的输 出即可作为码周期为15的一个m序列。输入 mseq=mseries([1 0 0 1]) 可得 mseq = Columns 1 through 10 0 0 0 1 1 1 1 0 1 0 Columns 11 through 15 1 1 0 0 1
p i 1 i j i
三、伪随机序列的自相关性
i
i j
自相关程序:
a=[ 0 0 0 1 1 1 1 0 1 0 1 1 0 0 1]; b=a; m=length(b); N=100; x=1:N; for k=1:N c=xor(a,b); D=sum(c); A=m-D; R(k)=(A-D)/(A+D); plot(k,R(k),'ro') b=[b(m),b(1:m-1)]; 从图中可以看出在15、30、45、60、75、 hold on 90处得到了最大的相关特性,其他值处自 end 相关值接近于零,此仿真验证了m序列具 plot(x,R,'b') 有良好的自相关特性。 grid on
伪随机码生成函数mseries.m
function[mseq]=mseries(fbconnection) n=length(fbconnection);% 所需要的移位寄存器的长度 N=2^n-1; % 伪随机码的周期 register=[zeros(1,n-1) 1]; % 初始化寄存器的状态 for i=1:N newregister(1)=mod(sum(fbconnection.*register),2) for j=2:n newregister(j)=register(j-1); end register=newregister; mseq(i)=register(n); end
输入primpoly(4,’all’)能得到4阶移位寄存器所 对应的所有的本原多项式。输出结果为: Primitive polynomial(s) = D^4+D^1+1 D^4+D^3+1 以多项式f ( x) 1 x x 4 为例:(下图为对应的移位 寄存器反馈连线图)
y1 y2 y3 y4
二、伪随机序列产生的原理
m序列是最长线性反馈移位寄存器序列的简 称,它是由带线性反馈的移位寄存器产生的周 期最长的一种序列。m序列的生成可用移位寄存 器序列发生器的本原多项式来确定,一个本原 多项式对应一个最大长度序列,即对应一个m序 列。 本原多项式可在matlab中生成,打开Matlab 程序,输入primpoly(n,’all’)能得到n阶移位寄存 器所对应的所有的本原多项式。
基于MATLAB的伪随机序列实现
一、伪随机序列简介
如果一个序列,一方面它是可以预先确定的, 并且是可我们便称这种序列为伪随机序列。 伪随机序列具有良好的随机性和接近于白噪 声的相关函数,并且有预先的可确定性和可重 复性。这些特性使得伪随机序列在通信加密、 雷达信号设计、通信系统中得到了广泛的应用。