基于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地伪随机序列发生器地设计2

通信工程专业专业综合课程设计题目基于MATLAB的伪随机序列发生器的设计学生姓名学号所在院(系)专业班级指导教师完成地点2013年 12 月 29 日专业综合课程设计任务书院(系)专业班级学生姓名一、专业综合课程设计题目基于MATLAB的伪随机序列发生器的设计二、专业综合课程设计工作自 2013 年 12 月 20 日起至 2014 年 1 月 17 日止三、专业综合课程设计进行地点:四、专业综合课程设计的内容要求:1、要求在MATLAB软件环境下编写程序完成九级m序列反馈系数,本原多项式的求解。
2、要求完成相应的Gold序列发生器的设计;或采用软件编程来实现。
3、要求设置合适的系统参数,输出Gold序列的时域、频域波形。
指导教师系(教研室)通信工程系接受论文 (设计)任务开始执行日期2013年12月20日学生签名基于matlab的伪随机序列发生器的设计[摘要]伪随机序列码越来越受到人们的重视,被广泛用于导弹、卫星、飞船轨道测量和跟踪、雷达、导航、移动通信、保密通信和通信系统性能的测量以及数字信息处理系统中。
本文主是对基于matlab的伪随机序列发生器的设计,及其利用matlab 软件对其进行仿真和利用simulink对其仿真性能的研究,主要阐述了扩频系统中m序列和gold序列的产生。
在第一部分中介绍了课题研究的背景,第二部分中介绍了扩频系统的相关知识,第三部分介绍了m序列和Gold序列产生的原理和方法,第四部分利用matlab和simulink对其进行仿真。
[关键词]伪随机序列 m序列移位寄存器Design of the pseudo-random sequence generatorbased 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 of pseudo-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.引言 (4)1.1研究的背景及意义 (4)2.扩频通信系统简介 (5)2.1扩频通信的基本概念及相关模型 (5)2.1.1基本概念 (5)2.1.2 数学模型 (8)2.2扩频通信系统的主要特点 (10)2.3扩频通信系统分类 (11)2.4伪随机序列在扩频通信中的应用 (11)3.m序列 (11)3.1m序列的定义 (11)3.2m序列的原理 (12)3.3m序列的性质 (15)4.Gold序列 (17)4.1 Gold序列的产生原理 (17)4.2 Gold序列的性质 (18)5.MATLAB仿真实现 (18)5.1 MATLAB软件介绍 (18)5.2 m序列的仿真及分析 (19)5.2.1程序分析 (19)5.2.2 simulink分析 (20)5.3 Gold的仿真及分析 (22)5.3.1程序分析 (22)5.3.2 simulink分析 (22)6.致谢 (24)7.参考文献 (25)附录 (26)附录A (26)附录B (28)1.引言1.1研究的背景及意义移动通信由于具有时实性、机动性、具有不受时空限制等特点,己经成为一种深受人们欢迎的通信方式,并融入了现代生活当中。
随机信号分析实验报告(基于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论文

本原多项式
初始值
取样时间
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伪随机序列的产生_图文.

*******************实践教学*******************兰州理工大学计算机与通信学院2010年秋季学期移动通信课程设计题目:基于Matable 的扩频通信m伪随机序列的产生专业班级:通信四班姓名:学号: 07250435指导教师:成绩:中文摘要伪随机信号既有优良的相关性,又有随机信号所不具备的规律性,因此,伪随机信号既易于从干扰信号中识别和分离出来,又可以方便的产生和重复,其相关函数接近于白噪声的相关函数,既有随机噪声的优点,又避免了随机噪声的缺点。
m 序列是伪随机序列中最重要的序列之一。
其具有的尖锐的自相关特性;尽可能小的互相关值;足够多的序列数;序列均衡性好;工程上易实现等的要求,使得它在扩频通信系统中得都了广泛的应用。
它可以通过移位寄存器实现,本文利用MATABLE 编码实现了m 序列的生成,通过仿真对m 序列的自相关特性及功率谱密度函数进行了分析和验证。
关键字:扩频通信;伪随机序列;m 序列;MATABLE 编码前言扩频通信因其具有抗干扰、抗多径衰落、抗侦察等优点在通信领域中得到广泛应用。
扩频序列的设计和选择是扩频通信的关键技术,扩频序列性能的优劣在很大程度上决定了通信系统的多址干扰和符号间干扰的大小,从而直接影响到系统的性能。
因此,深入研究扩频序列的性质.构造设计具有良好相关性的扩频序列,来满足扩频系统的要求,是直接序列扩频系统的核心课题。
白噪声是一种随机过程.它有极其优良的相关特性。
但至今无法实现白噪声的放大、调制、检测、同步及控制等.而只能用类似于白噪声统计特性的伪随机序列来逼近它,并作为扩频系统的扩频码。
随机码具有某种随机序列的随机特性,因为同样具有随机特性,无法从一个已经产生的序列中判断是随机序列还是伪随机序列,只能根据序列的产生办法来判断。
伪随机序列具有良好的随机性和接近白噪声的相关函数,并且有预先的可确定性和可重复性。
而这些特性正好满足了扩频通信中对扩频序列尖锐的自相关特性;尽可能小的互相关值;足够多的序列数;序列均衡性好;工程上易实现等的要求。
伪随机序列仿真实验报告

伪随机序列仿真仿真实验报告报告时间:2013年5月13日姓名:刘梦曦学号:2010101012电子邮件:604417989@一、实验目的1、熟悉MATLAB 仿真的应用;2、掌握伪随机序列的原理、软件产生,并仿真分析其相关特性。
二、实验内容1、MATLAB中产生127位gold序列,并分析其自相关和互相关特性。
2、采用MATLAB的伪随机函数,生成127位二进制伪随机序列,并分析其自相关和互相关特性。
3、收集学习技术资料,列举五种以上通信系统中采用的伪随机序列。
三、实验过程记录根据搜集的资料在matlab中编写代码,然后运行,得到相应的特性图。
1、产生127位的gold序列2、gold序列的自相关性在MATLAB中编写的代码如下:close all;clear all;clc;n=7;%移位寄存器级数P=2^n-1%m列的周期%产生m1序列%c1=[1 0 1 0 0 1 1];%反馈系数==211 reg1=[zeros(1,n-1) 1];%初始化移位寄存器m1(1)=reg1(n);for i=2:P new_reg1(1)=mod(sum(c1.*reg1),2) ;for j=2:nnew_reg1(j)=reg1(j-1); endreg1=new_reg1;m1(i)=reg1(n);endsubplot(311);stairs(m1);xlabel('k');title('m1序列');%产生m2序列%c2=[1 0 1 1 0 0 1];%反馈系数==217 reg2=[zeros(1,n-1) 1];%初始化移位寄存器m2(1)=reg2(n);for i=2:Pnew_reg2(1)=mod(sum(c2.*reg2),2) ;for j=2:nnew_reg2(j)=reg2(j-1);endreg2=new_reg2;m2(i)=reg2(n);endsubplot(312);stairs(m2);xlabel('k');title('m2序列');%产生gold序列%for i=0:P-1shift_m2=[m2(i+1:P)m2(1:i)];%m2g(i+1,:)=mod(m1+shift_m2,2);%模2加endsubplot(313)stairs(g(1,:));xlabel('k');title('gold序列的第1行');%gold序列的自相关特性和互相关特性%g1=g(1,:);g2=g(2,:);%取gold序列的第2行% for i=-P+1:-1% shift=[g1(i+P+1:P) g1(1:i+P)];%r1(P+i)=sum(g1(P+i).*shift(P+i)) ;% end% for i=0:P-1% shift=[g1(i+1:P) g1(1:i)]; %r1(P+i)=sum(g1(i+1).*shift(i+1)) ;% endr1=conv(g1,g1);figure(2)subplot(211)stem(r1/P);xlabel('k');title('g1的自相关特性');% for i=-P+1:-1% shift=[g1(i+P+1:P) g1(1:i+P)];%r2(P+i)=g2(P+i).*shift(P+i);% end% for i=0:P-1% shift=[g1(i+1:P) g1(1:i)]; %r2(P+i)=g2(i+1).*shift(i+1);% endr2=conv(g1,g2);subplot(212);stem(r2/P);xlabel('k');title('g1与g2的互相关特性');(产生图形见附录)四、分析及结论由这个实验我们可以看出,Gold序列间不仅有良好的互相关性能,而且个数远比m序列多。
伪随机序列matlab仿真

MATLAB实验报告姓名:***学号:********班级:14184111实验七伪随机序列的产生与相关特性分析一、实验目的1、了解伪随机序列的相关知识。
2、了解m 序列的相关知识,了解其相关性质。
3、学会用matlab 实现方框图描述的系统,并由此产生m 序列。
二、相关理论知识(1)伪随机序列伪随机序列, 又称伪随机码, 是一种可以预先确定并可以重复地产生和复制, 又具有随机统计特性的二进制码序列。
在现代工程实践中, 伪随机信号在移动通信、导航、雷达和保密通信、通信系统性能的测量等领域中有着广泛的应用。
例如,在连续波雷达中可用作测距信号, 在遥控系统中可用作遥控信号, 在多址通信中可用作地址信号, 在数字通信中可用作群同步信号, 还可用作噪声源以及在保密通信中的加密作用等。
伪随机发生器在测距、通信等领域的应用日益受到人们重视。
伪随机信号与随机信号的区别在于: 随机信号是不可预测的, 它在将来时刻的取值只能从统计意义上去描述;伪随机序列实质上不是随机的, 而是收发双方都知道的确定性周期信号。
之所以称其为伪随机序列, 是因为它表现出白噪声采样序列的统计特性, 在不知其生成方法的侦听者看来像真的随机序列一样。
m 序列作为一种基本的PN 序列,具有很强的系统性、规律性和相关性。
(2)m 序列的产生①线性反馈移位寄存器m 序列发生器的系统框图如图。
其中加法器为“模2 相加”运算,寄存器与反馈的每一位只有1、0 两种状态。
由于带有反馈,因此在移位脉冲作用下,移位寄存器各级的状态将不断变化,通常移位寄存器的最后一级做输出,输出序列为输出序列是一个周期序列。
其特性由移位寄存器的级数、初始状态、反馈逻辑以及时钟速率(决定着输出码元的宽度)所决定。
当移位寄存器的级数及时钟一定时,输出序列就由移位寄存器的初始状态及反馈逻辑完全确定。
当初始状态为全零状态时,移位寄存器输出全0序列。
为了避免这种情况,需设置全0 排除电路。
基于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
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
武夷学院实验报告
课程名称:_扩频通信技术及应用_ 项目名称:基于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:L
sum=0;
for m=1:(n-1)
sum=mod(sum+registers(m)*connections(m+1),2);
end
for k=(n-1):-1:2
registers(k)=registers(k-1);
end
registers(1)=sum;
seq(i)=registers(n-1);
end
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-1
auto_correlation(i+1)=seq*(temp(i+1: i+len))';
end
auto_correlation
plot(0:len-1,auto_correlation);
运行的结果如下
3)函数cross_corr()计算二进制序列seq1和seq2的互相关函数
并画出曲线。
在函数内调用ms_generator(*)函数分别生成等长的
M序列seq1和seq2后在计算。
程序也画出了自相关函数。
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:L
sum=0;
for m=1:(n-1)
auto_correlation=auto_corr(seq1);
plot(0:len-1,auto_correlation,'-',0:len-1,cross_correlation); legend('自相关函数','互相关函数');
xlabel('j');
ylabel('相关函数');
运行的结果如下
4)函数gold()生成一族gold序列。
程序中首先生成一对m序列优
先对seq1和seq2,然后按照并结构生成了一族gold序列,最后画出一个gold序列的自相关函数以及族内一对gold序列的互相关函数
function seq=ms_generator(registers,connections)
%registers=[0 0 0 0 1];
%connections=[1 0 0 1 0 1];
三、实验结果与讨论:3
实验心得体会
3注:1、实验小结应包含实验所需知识点和实验方法的总结,实验心得体会等。
2、分组实验需包含同组讨论内容。
实验报告成绩(百分制)__________ 实验指导教师签字:__________。