基于matlab的伪随机序列实现

合集下载

随机信号分析实验报告(基于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序列的产生和自相关序列

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论文

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软件包建模实现伪随机码的调相信号框 图上各个组成部分的含义以及形成过程如下:

GPS载波、伪码的matlab实现与分析

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源代码

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序列的产生

基于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的伪随机序列生成及相关函数仿真实验

武夷学院实验报告课程名称:_扩频通信技术及应用_ 项目名称:基于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的互相关函数并画出曲线。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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的伪随机序列实现
一、伪随机序列简介
如果一个序列,一方面它是可以预先确定的, 并且是可我们便称这种序列为伪随机序列。 伪随机序列具有良好的随机性和接近于白噪 声的相关函数,并且有预先的可确定性和可重 复性。这些特性使得伪随机序列在通信加密、 雷达信号设计、通信系统中得到了广泛的应用。
相关文档
最新文档