伪随机序列matlab仿真
基于Matlab的m序列的仿真与实现

a=[1101010001110111110010011000010]; b=a; Nb=length(b); N=120; x=[1:N]; for k=1:N c=xor(a,b); D=sum(c); A=Nb-D; % R(k)=(A-D)/(A+D); b=[b(Nb),b(1:Nb-1)]; plot(k,R(k),'ro'); hold on end plot(x,R,'g'); grid 运行结果:
-5
图二 5 级线性反馈移位寄存器产生 m 序列的仿真系统 (2)利用 Simulinkm观测 m 序列时频域特性
图三 5 级线性反馈移位寄存器产生 m 序列的时域波形
图四 5 级线性反馈移位寄存器产生 m 序列的频域波形 ToWorkspace的wr5就是所得m序列,我们取它一个完整
的周期,其周期是 31,序列如下: 1101010001110111110010011000010 2.3 利用 Matlab 编程环境求 m 序列的自相关特性 程序: clear
F(x)=C +C x1+C x2+…=
01
2
(2)
(3)生成函数(亦称序列多项式)可以表示为如下形式
G(x)=a +a x1+a x2+…=
01
2
当初始状态为
a =1,a =a =…=a =0
-m
-m+1 -r+2
-1
联立式(1)、(2)、(3)可得
(3) (4)
国防工业工业出版社,2006,5. [4]查光明,熊贤祚.扩频通信[M].西安:西安电子科技
大学出版社,2002. [5]曾兴雯,刘乃安,孙献璞.扩展频谱通信及其多址技术
[M].北京:高等教育出版社,2004. [6]樊昌信,张甫翊,吴成柯.现代通信[M].北京:高等
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软件包建模实现伪随机码的调相信号框 图上各个组成部分的含义以及形成过程如下:
基于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
m序列产生和性能的MATLAB仿真

电厂检修业务的进入战略 就进入新业务战略而言,业务拓展可以分为由
点到线、由线到网的进入策略,存在着购并外部现有 企业、从头开始自创新企业以及与外部业务结盟开 展新业务3种作法,简称购并、自创、结盟。作为电 厂检修业务,浙江火电有着很强的技术基础,人员可 通过短期培训获得,且具备一定的资金实力和融资 能力,自创新企业不存在障碍,但考虑市场资源的获 得,可以考虑与拥有检修市场的单位进行结盟,提高 市场竞争能力,扩大市场规模。因此,最好的进人方 式就是以自主创新为主,以结盟为辅。
尺m)。fⅣ
’
【一1
m=壳Ⅳ_j}=o,±l,±2,…。。
。
其他m
2
MA吼AB仿真
为在MATLAB中对m序列发生器和序列性能
进行仿真,可傲絮下定义,将移位寄存器状态设置成 向量mregister=[al,a2,03,…,aN],将连接向量设 为向量g=[g,,92,93,…,gN],由图l可得模2加法 器的输进等于反馈量back,也帮是a,的下一个德,
m=zeros(1,31);
mregister=minitial; n=0:k=0:
万 方数据
水利电力机械
2007年12月
5火电施工企业业务组合和选择发展战略
从上述分析中可以看出,浙江火电宜以火电施 工业为基础,大力发展钢结构加工业和电厂检修业 务,退出物流行业。
5.1
警誉芋磊薯君翥望盏霎{娄馨等嚣喾需嚣嘉兰主
n2=[0:n一1];
subplot(2,1,1) stem(nl,m) ylabel(’m sequence') subplot(2,1,2) plot(n2,rE) ylabel(’R(m)0
基于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序列

信息科学与技术学院通信原理课程设计课题名称:伪随机m序列发生器的设计学生姓名:张昕灏2018508087学信息科学与技术学院院:专业年级:电子信息项目2018级指导教师:田敏副教授二O—三年七月十二日完成日期:目录前言1第一章设计内容及要求21.1设计内容21.2设计要求21.3方案选择2第二章m序列的特性分析42.1m序列的原理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 使用器件、八、-前言扩展频谱通信是一种不同于常规通信系统的新调制理论和技术,简称扩频通信[1]。
其设计思想是将待传输的信息信号用特定的扩频码扩展频谱后成为宽带信号进行传输,接收时再采用相应的技术手段将频谱压缩,恢复原来待传信息信号的带宽,从而实现通信。
扩频通信具有两个特点:传输信号的带宽远大于原始信息信号的带宽;传输信号的带宽主要有扩频码决定,此扩频码通常是伪随机码。
伪随机码(pseudo randomcode> 简称PN 码,可以人为产生与复制,具有类似白噪声的性质,相关函数具有尖锐的特性,功率谱占据很宽的频带,易于从其他信号或干扰中分离出来,具有优良的抗干扰特性,其特点是:具有尖锐的自相关函数;互相关函数值应足够小;有足够长的码周期,以确保抗侦破与抗干扰的要求;码的数量足够多,以实现码分多址的要求;平衡性好,以满足抗干扰的要求;项目上易于产生、加工、复制与控制[2]。
扩频通信的优势主要来自于伪随机码具有白噪声的统计特性。
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 的伪随机序列的产生及相关特性的仿真一、相关概念:平稳随机过程的各态历经性, 随机信号的频谱特性, 自相关函数, 互相关函数二、工程背景与理论基础根据香农的理论,在高斯白噪声干扰情况下,在平均功率受限的信道上,实现有效和可靠通信的最佳信号是具有白噪声统计特性的信号。
扩频通信正是由此而来的,在扩频通信最大的优点就是具有强大的抗噪声性能,使有用信号几乎可以淹没在噪声传播。
故扩频通信对扩频序列一般有如下要求:(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 的周期。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB实验报告
姓名:***
学号:********
班级:14184111
实验七伪随机序列的产生与相关特性分析
一、实验目的
1、了解伪随机序列的相关知识。
2、了解m 序列的相关知识,了解其相关性质。
3、学会用matlab 实现方框图描述的系统,并由此产生m 序列。
二、相关理论知识
(1)伪随机序列
伪随机序列, 又称伪随机码, 是一种可以预先确定并可以重复地产生和复制, 又具有随机统计特性的二进制码序列。
在现代工程实践中, 伪随机信号在移动通信、导航、雷达和保密通信、通信系统性能的测量等领域中有着广泛的应用。
例如,在连续波雷达中可用作测距信号, 在遥控系统中可用作遥控信号, 在多址通信中可用作地址信号, 在数字通信中可用作群同步信号, 还可用作噪声源以及在保密通信中的加密作用等。
伪随机发生器在测距、通信等领域的应用日益受到人们重视。
伪随机信号与随机信号的区别在于: 随机信号是不可预测的, 它在将来时刻的取值只能从统计意义上去描述;伪随机序列实质上不是随机的, 而是收发双方都知道的确定性周期信号。
之所以称其为伪随机序列, 是因为它表现出白噪声采样序列的统计特性, 在不知其生成方法的侦听者看来像真的随机序列一样。
m 序列作为一种基本的PN 序列,具有很强的系统性、规律性和相关性。
(2)m 序列的产生
①线性反馈移位寄存器
m 序列发生器的系统框图如图。
其中加法器为“模2 相加”运算,寄存器与反馈的每一位只有1、0 两种状态。
由于带有反馈,因此在移位脉冲作用下,移位寄存器各级的状态将不断变化,通常移位寄存器的最后一级做输出,输出序列为
输出序列是一个周期序列。
其特性由移位寄存器的级数、初始状态、反馈逻辑以及时钟速率(决定着输出码元的宽度)所决定。
当移位寄存器的级数及时钟一定时,输出序列就由移位寄存器的初始状态及反馈逻辑完全确定。
当初始状态为全零状态时,移位寄存器输出全0序列。
为了避免这种情况,需设置全0 排除电路。
三、实验任务
编写程序利用5级移位寄存器产生m序列,初始状态全1,抽头系数[1 0 0 1 1 1]。
四.我自己的实验代码
clear all
close all
solve=0;
zk=0
a=[1,1,1,1,1]%an
c=[1,1,1,0,1,1]
lena=length(a)
lenb=length(c)
newc=fliplr(c)
shuchu=zeros(1,lena)
for zk=1:2^(lena+1)
for k=1:lena
zhong(k)=a(k)*newc(k);
lenz=length(zhong)
%solve=0;
end%%%%得到每个被加数
for t=1:lenz
solve=solve+zhong(lenz-t+1)
if solve>=2
solve=0
end
end%%%%得到最后一个加数
shuchu(zk)=a(1)
for i=2:lena
a(i-1)=a(i)
end
a(lena)=solve
%a(lena)=solve
solve=0;
end
stem(solve)
五.实验心得:
通过此次实验我学到了如何使用matlab产生伪随机序列,深刻体会了产生伪随机序列的原理,此次实验较之前的小实验较为综合复杂,同时也是对之前所学内容的回顾与巩固,在编写程序时也发现了自己之前一些表达方式掌握不够,将在接下来的实验中进一步巩固。