基于MATLAB的伪随机序列发生器的设计

合集下载

基于Matlab的m序列发生器的设计

基于Matlab的m序列发生器的设计

软件工程实践报告题名称目:基于Matlab的m序列发生器的设计姓名:郭新潮专业:电子信息工程班级学号:088205115摘要伪随机信号既有随机信号所具有的优良的相关性,又有随机信号所不具备的规律性. 因此,伪随机信号既易于从干扰信号中被识别和分离出来,又可以方便地产生和重复,其相关函数接近白噪声的相关函数,有随机噪声的优点,又避免了随机噪声的缺点. m序列是伪随机序列中最重要的序列中的一种伪随机序列具有可确定性、可重复性,易于实现相关接受或匹配接受,故有很好的抗干扰性能. 因此伪随机序列在相关辩识、伪码测距、导航、遥控遥测、扩频通信、多址通信、分离多径、误码测试、线形系统测量、数据加扰、信号同步等方面均有广泛的应用. m 序列是一类重要的伪随机序列,最早应用于扩频通信.可以通过移位寄存器,利用MATLAB编程产生m序列。

关键词: 伪随机序m 序列移位寄存器仿真目录第一章设计内容及要求 (1)第二章m序列设计方案选择2.1 方案一 (3)2.2 方案二 (3)第三章m序列产生和性质3.1 m 序列的原理、结构及产生 (4)3.2 m序列的基本性质 (5)第四章m序列的程序代码及运行结果4.1 m序列程序 (6)4.2 输入本原多项式产生m序列 (6)4.3 GUI界面及其代码设计 (7)第五章程序调试及运行结果分析 (16)结论 (16)参考文献 (17)第一章 设计内容及要求基于Matlab 的m 序列发生器的设计:基于Matlab 语言编程,生成m 序列,并利用Matlab GUI 工具设计图形界面显示结果,具体要求如下:1、m 序列的本原多项式为:52()1A x x x =++ 2、采用伽罗瓦型移位寄存器结构3、界面设计要有按钮控件以及一、二级菜单第二章m序列设计方案选择2.1 方案一编程实现m 序列MATLAB编程非常简单,无需进行变量声明,可以很方便的实现m序列。

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

伪随机序列发生器

伪随机序列发生器

伪随机序列发生器一、实验目的:理解伪随机序列发生器的工作原理以及实现方法,掌握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论文

matlab论文
4
本原多项式
初始值
取样时间
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软件包建模实现伪随机码的调相信号框 图上各个组成部分的含义以及形成过程如下:

基于Matable的扩频通信m伪随机序列的产生_图文.

基于Matable的扩频通信m伪随机序列的产生_图文.

*******************实践教学*******************兰州理工大学计算机与通信学院2010年秋季学期移动通信课程设计题目:基于Matable 的扩频通信m伪随机序列的产生专业班级:通信四班姓名:学号: 07250435指导教师:成绩:中文摘要伪随机信号既有优良的相关性,又有随机信号所不具备的规律性,因此,伪随机信号既易于从干扰信号中识别和分离出来,又可以方便的产生和重复,其相关函数接近于白噪声的相关函数,既有随机噪声的优点,又避免了随机噪声的缺点。

m 序列是伪随机序列中最重要的序列之一。

其具有的尖锐的自相关特性;尽可能小的互相关值;足够多的序列数;序列均衡性好;工程上易实现等的要求,使得它在扩频通信系统中得都了广泛的应用。

它可以通过移位寄存器实现,本文利用MATABLE 编码实现了m 序列的生成,通过仿真对m 序列的自相关特性及功率谱密度函数进行了分析和验证。

关键字:扩频通信;伪随机序列;m 序列;MATABLE 编码前言扩频通信因其具有抗干扰、抗多径衰落、抗侦察等优点在通信领域中得到广泛应用。

扩频序列的设计和选择是扩频通信的关键技术,扩频序列性能的优劣在很大程度上决定了通信系统的多址干扰和符号间干扰的大小,从而直接影响到系统的性能。

因此,深入研究扩频序列的性质.构造设计具有良好相关性的扩频序列,来满足扩频系统的要求,是直接序列扩频系统的核心课题。

白噪声是一种随机过程.它有极其优良的相关特性。

但至今无法实现白噪声的放大、调制、检测、同步及控制等.而只能用类似于白噪声统计特性的伪随机序列来逼近它,并作为扩频系统的扩频码。

随机码具有某种随机序列的随机特性,因为同样具有随机特性,无法从一个已经产生的序列中判断是随机序列还是伪随机序列,只能根据序列的产生办法来判断。

伪随机序列具有良好的随机性和接近白噪声的相关函数,并且有预先的可确定性和可重复性。

而这些特性正好满足了扩频通信中对扩频序列尖锐的自相关特性;尽可能小的互相关值;足够多的序列数;序列均衡性好;工程上易实现等的要求。

基于matlab的伪随机序列实现

基于matlab的伪随机序列实现

衡量一个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

基于matlab的伪随机序列生成及相关函数仿真实验

基于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的互相关函数并画出曲线。

伪随机序列发生器设计

伪随机序列发生器设计

伪随机序列发生器设计伪随机序列发生器(PRNG)是一种通过算法生成的看似随机的数字序列。

与真随机序列不同,伪随机序列是在一定条件下按照确定性算法生成的。

在计算机系统中,PRNG具有广泛的应用,包括密码学、模拟、游戏等领域。

本文将讨论如何设计一个伪随机序列发生器。

1.随机性的度量:在设计PRNG之前,我们需要了解随机性的度量。

一个好的伪随机序列发生器应该具有高周期性(周期长度大),均匀性(数字出现的频率相似)和不相关性(序列中的数字之间没有明显的关联)。

周期指的是序列重复之前所产生的数字数量。

均匀性可以通过观察数字出现的频率和统计分析来评估。

不相关性指的是序列中的任意两个数字之间没有明显的关联。

2.线性反馈移位寄存器(LFSR):LFSR是一种常见的PRNG设计方法。

它由一个位寄存器和一些异或门组成。

位寄存器中的每个位都线性地与寄存器中的其他位进行异或运算,并且每次循环位寄存器向右移位。

输入位是通过将一些位与1或0常量进行异或来确定的。

3.LFSR的优化:为了改善LFSR的性能,在设计中可以考虑一些优化措施。

一种常见的优化措施是增加反馈函数的复杂性。

通过使用非线性函数,可以在相同的位数下获得更长的周期。

另一个优化措施是根据需要选取适当的位数。

位数越大,周期越长,但计算成本也增加。

4.添加非线性元素:为了进一步提高伪随机序列的质量,我们可以添加一些非线性元素。

一种方法是使用置换函数。

置换函数将输入映射到不同的输出,从而增加了数字之间的不相关性。

另一种方法是使用哈希函数。

哈希函数将输入的随机性扩展到更大的空间中,并通过混淆输入来减少数字之间的关联。

5.分析和测试:设计一个PRNG后,我们需要对其进行分析和测试。

常用的测试方法包括统计测试、重复序列测试和关联测试。

统计测试可以用于检查输出数字的频率。

重复序列测试可以用于验证序列中是否存在重复数字。

关联测试则是用于检查序列中数字之间的关联性。

总结:设计一个高质量的伪随机序列发生器需要考虑随机性度量、LFSR和优化、非线性元素的添加以及分析和测试的步骤。

MATLAB实现伪随机码的生成及相关函数的计算详解

MATLAB实现伪随机码的生成及相关函数的计算详解

伪随机码的生成及相关函数的计算院系:信息学院专业:通信工程姓名:2013117100 王卓2013117101 席倩2013117103 薛珈萍(1)函数ms_generator(registers,connections)是m序列的生成函数,其中参数registers给出了移位寄存器的初始状态,connections给出了m序列的发生器代码: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:2;registers(k)=registers(k-1);endregisters(1)=sum;seq(i)=registers(n-1);end调用程序:function seq=ms_generator(registers,connections)clcclearregisters=[0 0 0 0 1];connections=[1 0 0 1 0 1];seq=ms_generator(registers,connections)结果:seq =1 0 0 0 0 1 0 0 1 0 1 1 00 1 1 1 1 1 0 0 0 1 1 0 11 1 0 1 0ans =1 0 0 0 0 1 0 0 1 0 1 1 00 1 1 1 1 1 0 0 0 1 1 0 11 1 0 1 0(2)auto_corr( )代码:function 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);结果:auto_correlation =31 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1ans =31 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1(3)cross_corr( )代码:function cross_correlation=cross_corr(seq1,seq2) registers1=[0 0 0 0 1];%设置初始状态connections1=[1 0 0 1 0 1];%设置反馈逻辑seq1=ms_generator(registers1,connections1);seq1=-1*(seq1*2-1);%负逻辑映射registers2=[1 1 1 1 1];%设置初始状态connections2=[1 1 1 1 0 1];%设置反馈逻辑seq2=ms_generator(registers2,connections2);seq2=-1*(seq2*2-1);%负逻辑映射temp=[seq2 seq2];len=length(seq2);for i=0:len-1cross_correlation(i+1)=seq1*(temp(i+1:i+len))';endauto_correlation=auto_corr(seq1)plot(0:len-1,auto_correlation,'-.',0:len-1,cross_correlation); 结果:(4)GOLD码代码function gold=gold()registers1=[1 0 0 0 0 0];connections1=[1 1 0 0 0 0 1];seq1=ms_generator (registers1,connections1);registers2=[1 0 0 0 0 0];connections2=[1 1 1 0 0 1 1];seq2=ms_generator(regerters2,connections2);temp=[seq2 seq2];len=length(seq2);for i=1:lengold(i,:)=mod(seq1+temp(i:i+len-1),2);endgold(len+1,:)=seq1;gold(len+2,:)=seq2;plot(0:len-1,auto_corr(gold(1,:)),'-',0:len-1,cross_corr(gold(1.:),gold(2,:)),'-.'); 结果:相关特性:(5)Walsh 函数:代码:function walsh = walsh(L)L=64n=log2(L);temp=[0];temp2=zeros(4,4);for i=1:ntemp2=zeros(2.^n,2.^n);temp1=inverse(temp);temp2=[temp temp;temp temp1];temp=zeros(2.^n,2.^n);temp=temp2;temp1=zeros(2.^n,2.^n);endwalsh=temp2;correlation=(walsh*2-1)*(walsh*2-1)' function result=inverse(temp)len=size(temp);for i=1:lenfor j=1:len;if(temp(i,j)==0)temp(i,j)=1;elsetemp(i,j)=0;endendendresult=temp;结果:因篇幅受限只截取其中一部分。

MATLAB伪随机数发生器

MATLAB伪随机数发生器
0.9087 0.5629 0.6166
See Also
haltonset | qrand | reset | sobolset
类别:默认分类 | | 添加到搜藏 | 分享到i贴吧 | 浏览(274) | 评论 (0)
上一篇:zz关于交叉验证
最近读者:
q = qrandstream(p)
Description
q = qrandstream(type,d) constructs a d-dimensional quasi-random number stream q of the qrandstream class, of type specified by the string type. type is either 'halton' or 'sobol', and q is based on a point set from either the haltonset class or sobolset class, respectively, with default property settings.
q = qrandstream(p) constructs a stream based on the specified point set p. p must be a point set from either the haltonset class or sobolset class.
(2) 逆转法(Inversion Method),假设U服从[0,1]区间上的均匀分布,令X=F-1(U),则X的累计分布函数(CDF)为F。该方法原理简单、编程方便、适用性广。
(3)接受拒绝法(Acceptance-Rejection Method):假设希望生成的随机数的概率密度函数(PDF)为f,则首先找到一个PDF为g的随机数发生器与常数c,使得f(x)≤cg(x),然后根据接收拒绝算法求解。由于算法平均运算c次才能得到一个希望生成的随机数,因此c的取值必须尽可能小。显然,该算法的缺点是较难确定g与c。

伪随机序列的产生与仿真

伪随机序列的产生与仿真

基于MATLAB 的伪随机序列的产生及相关特性的仿真一、相关概念:平稳随机过程的各态历经性, 随机信号的频谱特性, 自相关函数, 互相关函数二、工程背景与理论基础根据香农的理论,在高斯白噪声干扰情况下,在平均功率受限的信道上,实现有效和可靠通信的最佳信号是具有白噪声统计特性的信号。

扩频通信正是由此而来的,在扩频通信最大的优点就是具有强大的抗噪声性能,使有用信号几乎可以淹没在噪声传播。

故扩频通信对扩频序列一般有如下要求:(1)尖锐的自相关特性(2)尽可能小的互相关值(3)足够多的序列数,具有良好的伪随机性(4)序列均衡性好,0、1等概(5)工程上易于实现伪随机序列具有以上所以有点,故在CDMA 扩频通信系统中,伪随机序列被作为扩频码之一。

下面在理论上阐述下伪随机序列(即m 序列)的产生原理及其所具有的相关数学性质。

然后在用MATLAB 语言实现m 序列的产生,并就其相关特性进行仿真,仿真结果结果表明该方法是可行的。

1、 m 序列简单介绍m 序列是最长线性反馈移位寄存器序列的简称,是由带线性反馈的移位寄存器的周期最长的序列。

它是周期为rN=2-1的伪随机序列,r 是移位寄存器的阶数。

下面是IS-95CDMA 系统中I 信道引导PN 序列的生成多项式和线性反馈移位寄存器的框图。

I 支路生成表达式:15139875()1I P x x x x x x x =++++++ 123456789101112131415输出图1-1 I 路信号产生器m 序列具有以下基本性质:(1)均衡性:在m 序列的一个周期中,“1”的个数之比“0”的个数多一个。

这表明序列平均性很好,即“1”和“0”几乎就是随机出现的,具有较好的随机性。

(2)具有尖锐的自相关特性,相互不同码字之间几乎是完成正交的。

周期函数的自相关函数定义为:/2/201R()()()T s s T T s t s t dt ττ-=+⎰,式中0T 是s()t 的周期。

基于MATLAB的伪随机序列性能分析毕业论文

基于MATLAB的伪随机序列性能分析毕业论文

基于MATLAB的伪随机序列性能分析伪随机序列在现代工程中有广泛的应用,信号的加密及扩频都离不开伪随机序列,因而对伪随机序列的产生及特性的研究变的越来越深入。

而在扩频通信系统中,伪随机序列的抗噪性等优良性能十分显著,故而广泛应用于通信系统当中。

本文用MATLAB对m序列等常用的伪随机序列进行建模和设计,计算伪随机序列的相关系数,并以MATLAB为基础对为随即序列进行仿真,为便于观察,我们要用MATLAB拟合出相关的曲线图,把不同伪随机序列的相关性作比较,得出其各自相关性的特点。

关键词伪随机序列;m序列;相关性;MATLABAbstractPseudo random sequence has a wide range of applications in modern works, spread-spectrum and signal encryption cannot be separated from pseudo random sequence, so study on pseudo-random sequence generation and property became more and more deeply. In spread-spectrum communication system, excellent noise immunity performance of pseudo-random sequence is notable and therefore widely used in communication systems.This article model and design pseudo random sequence, such as m sequences commonly, by MATLAB, calculating of pseudo random sequence correlation coefficient and simulating based on MATLAB for sequence immediately, for the purpose of observation, we have relating to the fitting out of Matlab graph and compare different pseudo random sequence correlation, inorder to get correlation of their respective features.Key wordsPseudo random sequence; m sequence; relationship; MATLAB毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

m序列伪随机码产生及应用仿真matlab

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方式产生伪随机m序列

单片机matlab方式产生伪随机m序列

信息科学与技术学院通信原理课程设计课题名称:伪随机m序列发生器的设计学生姓名:张昕灏2018508087学院:信息科学与技术学院专业年级:电子信息项目2018级指导教师:田敏副教授完成日期:二○一三年七月十二日目录前言1第一章设计内容及要求21.1设计内容21.2设计要求21.3方案选择2第二章 m序列的特性分析42.1 m序列的原理42.2均衡特性52.3游程分布52.4线性叠加性62.5自相关特性6第三章 m序列设计83.1设计流程图83.2特征多项式确定83.3本原多项式确定103.4 m序列的最终产生<以五阶移位寄存器举例)11第四章设计成果分析及总结134.1仿真结果分析134.2设计总结14心得体会15参考文献16附录matlab程序17附录51单片机实现方法18电路图18设计说明18结果验证18C51 代码及与对应matlab代码20数模转换输出代码:20反馈链接状态及波形输出控制代码22使用器件23前言扩展频谱通信是一种不同于常规通信系统的新调制理论和技术,简称扩频通信[1]。

其设计思想是将待传输的信息信号用特定的扩频码扩展频谱后成为宽带信号进行传输,接收时再采用相应的技术手段将频谱压缩,恢复原来待传信息信号的带宽,从而实现通信。

扩频通信具有两个特点:传输信号的带宽远大于原始信息信号的带宽;传输信号的带宽主要有扩频码决定,此扩频码通常是伪随机码。

伪随机码(pseudo randomcode>简称PN码,可以人为产生与复制,具有类似白噪声的性质,相关函数具有尖锐的特性,功率谱占据很宽的频带,易于从其他信号或干扰中分离出来,具有优良的抗干扰特性,其特点是:具有尖锐的自相关函数;互相关函数值应足够小;有足够长的码周期,以确保抗侦破与抗干扰的要求;码的数量足够多,以实现码分多址的要求;平衡性好,以满足抗干扰的要求;项目上易于产生、加工、复制与控制[2]。

扩频通信的优势主要来自于伪随机码具有白噪声的统计特性。

基于MATLAB的伪随机序列的产生和分析

基于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伪随机数发生器.txt生活是过出来的,不是想出来的。

放得下的是曾经,放不下的是记忆。

无论我在哪里,我离你都只有一转身的距离。

均匀性较好的随机数生成zz from /lanmuyd.asp?id=3379随机数生成算法[1]是一类重要的算法,广泛应用于仿真技术等场合。

然而,目前的伪随机数生成器(Pseudo-random number generator, PRNG)[2]存在一个重要缺陷,即样本分布与真实分布不一致,这主要发生在以下两种情况:①抽样代价过高,样本数目较少;②空间维数较高[3]。

因此,有必要寻找一类新的随机数发生器。

准随机数发生器(Quasi-random number generator,QRNG)[4]能够生成稳定、低差异性的(low-discrepancy)样本,而与样本数目或空间维数无关[5]。

故针对蒙特卡罗积分结果不稳定的情况,提出一种基于QRNG的蒙特卡罗积分,发现比传统方法性能有所提升。

伪随机数介绍伪随机数是由确定的算法生成的,其分布函数与相关性均能通过统计测试。

与真实随机数的差别在于,它们是由算法产生的,而不是一个真实的随机过程。

一般地,伪随机数的生成方法主要有以下3种[6]:(1)直接法(Direct Method),根据分布函数的物理意义生成。

缺点是仅适用于某些具有特殊分布的随机数,如二项式分布、泊松分布。

(2)逆转法(Inversion Method),假设U服从[0,1]区间上的均匀分布,令X=F-1(U),则X的累计分布函数(CDF)为F。

该方法原理简单、编程方便、适用性广。

(3)接受拒绝法(Acceptance-Rejection Method):假设希望生成的随机数的概率密度函数(PDF)为f,则首先找到一个PDF为g的随机数发生器与常数c,使得f(x)≤cg(x),然后根据接收拒绝算法求解。

由于算法平均运算c次才能得到一个希望生成的随机数,因此c的取值必须尽可能小。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

通信工程专业计算机课程设计题目基于MATLAB的伪随机序列发生器的设计学生姓名学号所在院(系) 专业班级指导教师完成地点2013年 11 月 12 日计算机课程设计任务书院(系) 专业班级学生姓名一、课程设计题目基于matlab的伪随机序列发生器的设计二、课程设计工作自 2013 年 10 月 27 日起至 2013 年 11 月 22 日止三、课程设计进行地点:四、课程设计的内容要求:1、要求完成七级m 序列发生器的设计(本原多项式自定);2、要求完成五级gold 序列发生器的设计(本原多项式自定);3、采用matlab实现,并对其进行调试运行;4、要求能清楚观察到稳定的序列。

指导教师系(教研室) 通信工程系接受任务开始执行日期 2013年10月27日学生签名基于matlab的伪随机序列发生器的设计[摘要]伪随机序列码越来越受到人们的重视,被广泛用于导弹、卫星、飞船轨道测量和跟踪、雷达、导航、移动通信、保密通信和通信系统性能的测量以及数字信息处理系统中。

本文主是对基于matlab的伪随机序列发生器的设计,及其利用matlab软件对其进行仿真和利用simulink对其仿真性能的研究,主要阐述了扩频系统中m序列和gold序列的产生。

在第一部分中介绍了课题研究的背景,第二部分中介绍了扩频系统的相关知识,第三部分介绍了m序列和Gold序列产生的原理和方法,第四部分利用matlab和simulink对其进行仿真。

[关键词]伪随机序列 m序列移位寄存器Design of the pseudo-random sequencegenerator based on matlab[Abstract]pseudo-random sequence code more and more get people's attention, is widely used in missiles, satellites, spacecraft orbit measurement and tracking, radar, navigation, mobile communications, and the measurement of the performance of the communication security and communication system of digital information processing system. In this paper, the main is to the design ofpseudo-random sequence generator based on matlab, and the use of matlab simulation and the use of simulink software to the study of the simulation performance, mainly expounds the m sequence and gold sequence in spread spectrum system. In the first part introduces the research background, the second part introduces the related knowledge of spread spectrum system, in the third part introduces the m sequence and Gold sequence principle and method of the fourth part carries on the simulation using matlab and simulink.[key words]pseudo random sequence m sequence shift register目录1.引言 (5)1.1研究的背景及意义 (5)2.扩频通信系统简介 (7)2.1扩频通信的基本概念及相关模型 (7)2.1.1基本概念 (7)2.1.2 数学模型 (10)2.2扩频通信系统的主要特点 (12)2.3扩频通信系统分类 (14)2.4伪随机序列在扩频通信中的应用 (14)3.m序列 (15)3.1m序列的定义 (15)3.2m序列的原理 (16)3.3m序列的性质 (19)4.Gold序列 (21)4.1 Gold序列的产生原理 (21)4.2 Gold序列的性质 (21)5.MATLAB仿真实现 (22)5.1 MATLAB软件介绍 (22)5.2 m序列的仿真及分析 (24)5.2.1程序分析 (24)5.2.2 simulink分析 (26)5.3 Gold的仿真及分析 (27)5.3.1程序分析 (27)5.3.2 simulink分析 (27)6.致谢 (28)7.参考文献 (29)附录 (30)附录A (30)附录B (32)1.引言1.1研究的背景及意义移动通信由于具有时实性、机动性、具有不受时空限制等特点,己经成为一种深受人们欢迎的通信方式,并融入了现代生活当中。

自美国Qualcomm公司提出在蜂窝移动通信系统中应用码分多址(Code Division Multiple Access,简称CDMA)技术的系统实现方案至今,CDMA通信系统相对于其它无线通信系统在客户容量和高质量的优势越来越显现出来。

在短短的二、三十年中,移动通信系统已从第一代的模拟蜂窝系统发展到第二代全球数字移动电话蜂窝系统(2G),目前己经开始向第三代宽带多媒体蜂窝系统(3G)发展,并且处于第二代和第三代之间的2.5G已经趋于成熟。

虽然第二代移动通信系统中,GSM系统仍占有很大的市场份额。

但是,因为具有伪随机编码调制和信号相关处理两大特点而使CDMA通信方式具有抗干扰、抗噪音、抗多径衰落、能在低功率谱密度下工作、有保密性、可多址复用和任意选址、可高精度测量等优点,使CDMA技术成为第三代移动通信和个人通信系统的核心技术,以扩频理论为基础的CDMA技术已成为当前移动通信领域的研究热点。

在CDMA系统的众多用户都工作在同一时间同一频段内,系统给各个用户分配一个唯一的扩频码来进行频谱的扩展,在发送和接收时,系统更是利用各地址码之间的互相关特性值来区分不同的用户。

因此,扩频码的特性直接影响到CDMA系统的捕获同步性能、抗干扰性能和多址能力。

从理论上说,独立、均匀分布的随机序列是扩频码的理想模型,然而它由于不易产生、无法时实分发等缺陷而被认为难以在实际的CDMA系统中应用。

CDMA自其理论提出到投入商业营运、直至称为第三代移动通信系统的核心技术,一直是通信领域的关注热点。

作为CDMA的基础技术之一的PN码的选择和产生也是倍受业内人士关注的,如何找到易生成且相关特性好的PN码成为研究人员追求的目标之一。

为此,人们设计了各种确定性的伪随机序列来代替随机序列作为扩频码。

迄今为止,世界各国的学者在伪随机序列的设计与选择方面己做了大量的工作,例如,由m序列优选对生成的Gold序列己被用作第三代移动通信系统中WCDMA的扩频码;以及通过对m序列添加一个全“0”状态得到的M序列和m序列也已被用作第三代移动通信系统中CDMA2000的扩频码。

m序列、Gold序列等线性序列多由线性移位寄存器所产生,有易于实现、具备较好的相关特性等优点。

实际应用的CDMA通信系统采用复合扩频技术,即用正交码(Walsh函数序列,OVSF码族)作为信道化码来区分小区、用Gold 序列或M序列作为扰码来区分用户。

因此,本文所研究的m序列和Gold序列,在扩频通信系统中发挥着重要的作用,通过Matlab仿真,对其自相关性能进行分析,能够更好的理解CDMA系统的通信原理。

2.扩频通信系统简介2.1扩频通信的基本概念及相关模型2.1.1基本概念通信理论和通信技术的研究,是围绕着通信系统的有效性和可靠性这两个基本问题展开的,所以信息传输的有效性和可靠性是设计和评价一个通信系统性能的主要指标。

通信系统的有效性,是指通信系统传输信息速率的高低。

这个问题是讨论怎样以最合理、最经济的方法传输最大数量的信息。

在模拟通信系统中,多路复用技术可提高系统的有效性。

显然,信道复用程度越高,系统传输信息的有效性就越好。

在数字通信系统中,由于传输的是数字信号,因此传输的有效性是用传输速率来衡量的。

可靠性,是指通信系统可靠地传输信息。

由于信息在传输过程中受到干扰,收到的与发出的信息并不完全相同。

可靠性就是用来衡量收到信息与发出信息的符合程度。

因此,可靠性决定于系统抵抗干扰的性能,也就是说,决定于通信系统的抗干扰性。

在模拟通信系统中,传输可靠性是用整个系统的输出信噪比来衡量的。

在数字通信系统中,传输可靠性是用差错率来衡量的[2]。

扩展频谱通信由于具有很强的抗干扰能力,首先在军用通信系统中得到了应用。

近年来,扩展频谱通信技术的理论和应用发展非常迅速。

扩频通信是扩展频谱通信的简称。

我们知道,频谱是电信号的频域描述。

承载各种信息(如语音、图象、数据等)的信号一般都是以时域来表示的,即表示为一个时间的函数)(t f 。

信号的时域表示式)(t f 可以用傅立叶变换得到其频域表示式)(f F 。

频域和时域的关系由(1-1)确定:⎰∞∞--=dt e t f f F ft j π2)()(⎰∞∞-=df e f F t f ft j π2)()( (1-1) 函数)(t f 的傅立叶变换存在的充分条件是)(t f 满足狄里赫莱(Dirichlet)条件,或在区间(-∞,+∞)绝对可积,即dt t f ⎰∞∞-)(必须为有限值。

扩展频谱通信系统是指待传输信息的频谱用某个特定的扩频函数(与待传输的信息码无关)扩展后成为宽频带信号,送入信道中传输,再利用相应的手段将其压缩,从而获取传输信息的通信系统。

也就是说在传输同样信息时所需要的射频带宽,远远超过被传输信息所必需的最小的带宽。

扩频后射频信号的带宽至少是信息带宽的几十倍、几百倍甚至几万倍。

信息已不再是决定射频信号带宽的一个重要因素,射频信号的带宽主要由扩频函数来决定。

由上述可见,扩频通信系统有以下两个特点:(1) 传输信号的带宽远远大于被传输的原始信息信号的带宽;(2) 传输信号的带宽主要由扩频函数决定,此扩频函数通常是伪随机(伪噪声)编码信号。

以上两个特点有时也称为判断扩频通信系统的准则。

扩频通信系统最大的特点是其具有很强的抗人为干扰、抗窄带干扰、抗多径干扰的能力。

这里我们先定性地说明一下扩频通信系统具有抗干扰能力的理论依据。

扩频通信的基本理论根据是信息理论中的山农(C ·E ·Shannon )信道容量公式: )1(log 2N S W C += (1-2)式中C 为信道容量(bit/s),W 为信道带宽(Hz),S 为信号功率(W),N 为噪声功率(W)。

相关文档
最新文档