伪随机序列matlab仿真
- 格式:doc
- 大小:39.00 KB
- 文档页数:4
武夷学院实验报告课程名称:_扩频通信技术及应用_ 项目名称:基于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的互相关函数并画出曲线。
信息科学与技术学院通信原理课程设计课题名称:伪随机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]。
扩频通信的优势主要来自于伪随机码具有白噪声的统计特性。
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 的周期。
序列伪随机码产生及应用仿真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个伪随机码的输出。
信息科学与技术学院通信原理课程设计课题名称:伪随机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实验报告
姓名:***
学号:********
班级: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产生伪随机序列,深刻体会了产生伪随机序列的原理,此次实验较之前的小实验较为综合复杂,同时也是对之前所学内容的回顾与巩固,在编写程序时也发现了自己之前一些表达方式掌握不够,将在接下来的实验中进一步巩固。