文档库 最新最全的文档下载
当前位置:文档库 › MATLAB仿真m序列和Gold序列自相关与互相关

MATLAB仿真m序列和Gold序列自相关与互相关

MATLAB仿真m序列和Gold序列自相关与互相关
MATLAB仿真m序列和Gold序列自相关与互相关

MATLAB仿真m序列和Gold序列自相关与互相关

MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。本章正是运用MATLAB来仿真m序列和Gold序列的相关特性,以及OCDMA 系统的误码率同用户数

N的关系曲线。

su

1 仿真过程

在理论分析的基础上,下面使用附录上两段程序,通过MATLAB仿真得出m

序列和Gold序列的自相关性。

这段m序列产生程序采用了8个移位寄存器,将最后两个移位寄存器的值进行异或处理反馈给第一个移位寄存器,然后向前移位,输出最后一个移位寄存器的值,Gold序列的产生只是将两个m序列中的一个进行延时移位,再进行异或,产生的主要原理和m序列并无较大差异。

在这两段程序前半部分m序列和Gold序列生成的基础上,只要将

y1=xcorr(x1)改为y1=xcorr(x1,x2)即可求出它们的互相关仿真。

2 仿真结果

在系统中采用上述序列仿真得到自相关和互相关特性曲线如图1 , 2及图3 所示。

图1 m 序列的自相关曲线

图4-2 m 序列与Gold序列的自相关曲线

图4-3 m 序列与Gold 序列的互相关曲线

附录

程序1

X1=1;X2=0;X3=1;X4=0; %移位寄存器输入Xi初T态(0101), Yi为移位寄存器各级输出

m=120; %置M序列总长度

for i=1:m %1#

Y8=X8; Y7=X7; Y6=X6; Y5=X5; Y4=X4; Y3=X3; Y2=X2; Y1=X1;

X8=Y7; X7=Y6; X6=Y5; X5=Y4; X4=Y3; X3=Y2; X2=Y1;

X1=xor(Y7,Y8); %异或运算

if Y8==0

U(i)=-1;

else

U(i)=Y8;

end

end

M=U

%绘图

i1=i

t=1:1:i1;

x1=[(2*M)-1]’;%将运行结果m序列M从单极性序列变为双极性序列y1=xcorr(x1);%求自相关性

t=1:1:i1;

plot(t,y1(1:i1));axis([1,120,-12,288])%绘出信号的相关图grid

xlabel('t')

ylabel('相关性')

title('移位寄存器产生的M序列的相关性')

程序2

function c=gold()

n=7;

a=[1 1 1 1 1 1 1 1];

co=[];

for v=1:2^n-1

co=[co,a(1)];

a(8)=mod(a(5)+a(1),2);

a(1)=a(2);

a(2)=a(3);

a(3)=a(4);

a(4)=a(5);

a(5)=a(6);

a(6)=a(7);

a(7)=a(8);

end

m1=co;

b=[1 0 1 0 0 0 0 1];

co=[];

for v=1:2^n-1

co=[co,b(1)];

m=mod(b(5)+b(1),2);

p=mod(b(6)+m,2);

b(8)=mod(b(5)+b(1),2);

b(1)=b(2);

b(2)=b(3);

b(3)=b(4);

b(4)=b(5);

b(5)=b(6);

b(6)=b(7);

b(7)=b(8);

end

m2=co;

c=xor(m1,m2);

x2=[(2*c)-1]’;%将运行结果Gold序列c从单极性序列变为双极性序列y1=xcorr(x2);%求自相关性

t=1:1:120;

plot(t,y1(1:120));axis([1,120,-12,288])%绘出信号的相关图grid

xlabel('t')

ylabel('相关性')

title('移位寄存器产生的Gold序列的相关性')

生成m序列与gold序列

一、生成m序列 function [mseq] = m_sequence(fbconnection); n = length(fbconnection); N = 2^n-1; %m序列的长度 register = [zeros(1,n - 1) 1]; %定义移位寄存器的初始状态 mseq(1)= register(n); %m序列的第一个输出码元 for i = 2:N newregister(1)= mod(sum(fbconnection.*register),2); %寄存器与反馈的模2和 for j = 2:n, newregister(j)= register(j-1); end; register = newregister; %移位后的寄存器 mseq(i) = register(n); %新的寄存器输出 end clear all; close all; clc; fbconnection=[0 0 1 0 1]; %输入本原多项式系数,从C1开始 m_sequence=m_sequence(fbconnection); stem(m_sequence); %对m序列绘图 axis([0 35 -0.2 1.2]); grid on;

二、生成gold序列 function goldseq = g_sequence(connection1,connection2); msequence1 = m_sequence(connection1); %生成第一个m序列 msequence2 = m_sequence(connection2); %生成第二个m序列 N=2^length(connection1)-1; %gold序列长度 for i = 1:N; s = mod(msequence1+msequence2,2); %两个m序列模二加产生gold序列 goldseq = s; end clear all; close all; clc; connection1=[0 0 0 0 1 1]; connection2=[1 0 0 1 1 1]; goldseq = g_sequence(connection1,connection2);

MATLAB中产生高斯白噪声

MATLAB中产生高斯白噪声,涉及到awgn和wgn函数 MATLAB中产生高斯白噪声非常方便,可以直接应用两个函数,一个是WGN,另一个是AWGN。WGN用于产生高斯白噪声,AWGN则用于在某一信号中加入高斯白噪声。 1. WGN:产生高斯白噪声 y = wgn(m,n,p) 产生一个m行n列的高斯白噪声的矩阵,p以dBW为单位指定输出噪声的强度。 y = wgn(m,n,p,imp) 以欧姆(Ohm)为单位指定负载阻抗。 y = wgn(m,n,p,imp,state) 重置RANDN的状态。 在数值变量后还可附加一些标志性参数: y = wgn(…,POWERTYPE) 指定p的单位。POWERTYPE可以是'dBW', 'dBm'或 'linear'。线性强度(linear power)以瓦特(Watt)为单位。 y = wgn(…,OUTPUTTYPE) 指定输出类型。OUTPUTTYPE可以是'real'或 'complex'。 2. AWGN:在某一信号中加入高斯白噪声 y = awgn(x,SNR) 在信号x中加入高斯白噪声。信噪比SNR以dB为单位。x的强度假定为0dBW。如果x是复数,就加入复噪声。 y = awgn(x,SNR,SIGPOWER) 如果SIGPOWER是数值,则其代表以dBW为单位的信号强度;如果SIGPOWER为'measured',则函数将在加入噪声之前测定信号强度。y = awgn(x,SNR,SIGPOWER,STATE) 重置RANDN的状态。 y = awgn(…,POWERTYPE)指定SNR和SIGPOWER的单位。POWERTYPE可以是'dB'或'linear'。如果POWERTYPE是'dB',那么SNR以dB为单位,而SIGPOWER以dBW为单位。如果POWERTYPE是'linear',那么SNR作为比值来度量,而SIGPOWER 以瓦特为单位。 注释 1. 分贝(decibel,dB):分贝(dB)是表示相对功率或幅度电平的标准单位,换句话说,就是我们用来表示两个能量之间的差别的一种表示单位,它不是一个绝对单位。例如,电子系统中将电压、电流、功率等物理量的强弱通称为电平,电平的单位通常就以分贝表示,即事先取一个电压或电流作为参考值(0dB),用待表示的量与参考值之比取对数,再乘以20作为电平的分贝数(功率的电平值改乘10)。 2. 分贝瓦(dBW, dB Watt):指以1W的输出功率为基准时,用分贝来测量的功率放大器的功率值。 3. dBm (dB-milliWatt):即与1milliWatt(毫瓦)作比较得出的数字。 0 dBm = 1 mW 10 dBm = 10 mW 20 dBm = 100 mW 也可直接用randn函数产生高斯分布序列,例如: 程序代码 y=randn(1,2500); y=y/std(y);

matlab实现:常见的离散时间信号

1. 单位抽样序列,或称为离散时间冲激,单位冲激: ? ??=01)(n δ 00≠=n n 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即: ???=-01)(k n δ 0≠=n k n 2.单位阶跃序列 ? ??01)(n u 00<≥n n 在MATLAB 中可以利用ones( )函数实现。 );,1(N ones x = 3.正弦序列 )(cos )(0φω+=n A n x 这里, ,,0ωA 和φ都是实数,它们分别称为本正弦信号)(n x 的振幅,角频率和初始相位。 πω200=f 为频率。 4.复正弦序列 n j e n x ω=)( 5.实指数序列 n A n x α=)( 6. 随机序列 长度为N 的随机序列 基本数学函数参考教材P69页以及随后的使用说明。 注意使用行向量,特别是冒号运算符。 举例,长度为N 的实指数序列在MATLAB 中实现: n a x N n .^1 :0=-= 1. 单位采样 长度为N 的单位采样序列u(n)可以通过下面的MATLAB 命令获得:

u=[1 )1,1(-N zeros ]; 延迟M 个采样点的长度为N 的单位采样序列ud(n)(M

扩频编码M序列和gold序列

M序列 由n级移位寄存器所能产生的周期最长的序列。这种序列必须由非线性移位寄存器产生,并且周期为2n(n 为移位寄存器的级数)。例如,考察图中a的非线性反馈移位寄存器,其状态转移关系如表:

状态(a k-3,a k-2,a k-1)的接续状态是(a k-2,a k-1,a k),其中a k=a k-3嘰a k-1嘰1嘰a k-2a k-1是一种非线性逻辑。从任一状态出发,例如从(000)出发,其接续状态恰好构成一个完全循环(图b),由此产生一个周期为23=8的3级序列。M序列最早是用抽象的数学方法构造的。它出现于组合数学的一些数学游戏中,例如L.欧拉关于哥尼斯堡的七桥问题等。后来发现这种序列具有某些良好的伪随机特性。例如,M序列在一个周期中,0与1的个数各占一半。同时,同样长度的0游程与1游程也各占一半。所有这些性质在数据通信、自动控制、光学技术和密码学诸领域中均有重要应用。 隐蔽通信内容的通信方式。为了使非法的截收者不能理解通信内容的含义,信息在传输前必须先进行各种形式的变化,成为加密信息,在收信端进行相应的逆变化以恢复原信息。电报通信、电话通信、图像通信和数据通信,都有相应的保密技术问题。另一方面,为了从保密通信中获得军事、政治、经济、技术等机密信息,破译技术也在发展。保密技术和破译技术是在相互对立中发展起来的。 1881年世界上出现了第一个电话保密专利。电话保密开始是采用模拟保密或置乱的方法,即把话音的频谱或时间分段打乱。置乱后的信号仍保持连续变化的性质。在第二次世界大战期间,频域和时域的置乱器在技术上已基本成熟。70年代以来,由于采用集成电路,电话保密通信得到进一步完善。但置乱器仍是有线载波和短波单边带电话保密通信的主要手段。模拟保密还可以采用加噪声掩盖、人工混响或逆向混响等方法,但因恢复后话音的质量大幅度下降或保密效果差,这些方法没有得到推广应用。数字保密是由文字密码发展起来的。数字信号(包括由模拟信号转换成的数字信号),由相同速率的密码序列加密,成为数字保密信号;保密信号传输到收信端后由同一密码序列去密,恢复原数字信号。随着集成电路的发展,数字保密通信已成为保密通信的主要发展方向。话音、图像等模拟信号都可以用数字保密方式。一般来说,数字破译要比模拟破译困难得多。数字保密的主要限制是传输数字信号所需带宽要比传输模拟信号的带宽大好多倍。 模拟保密通信话音信号置乱后的带宽基本保持不变,这是模拟保密通信的一个特点。但是,置乱后恢复的话音质量有所下降。置乱的过程越复杂,则话音质量下降的程度越大。 倒频用倒频器(图1)把话音频谱颠倒过来,使高频变为低频,低频变为高频,这是最简单的一种频域置乱方法。频域置乱器的基本电路是平衡调制器和带通滤波器。平衡调制器可以搬移和倒置频谱,而滤波器可以滤取所需要的频谱成分。输入的话音信号经过平衡调制器后输出上、下两个边带。适当地选择

常用信号的MATLAB表示

5 常用信号的MATLAB表示5.1单位冲激函数、单位冲激序列 示例7: t = -5:0.01:5; y = (t==0); subplot(121); plot(t, y, 'r'); n = -5:5; x = (n==0); subplot(122); stem(n, x); 图5 运行结果如图5所示。

程序说明: (1)由n = -5:5得到一个1×11数组n;而在x = (n==0)中,n==0是一个向量运算,即向量n中的每一个元素与0比较是否相等,其比较结果0或1放在x中。这样得到的向量x也是1×11数组,且正好就是单位冲激序列。 (2)在MATLAB中,任何向量x的下标是从1开始的,不能取零或负值,而x(n)中的时间变量n则不此受限制。因此向量x的下标与时间变量n是两个概念,如本例中向量x(n)的下标是从1到11,而时间变量n是从-5到5。所以必须用一个与向量x等长的定位时间变量n,以及向量x,才能完整地表示序列x(n)。在信号的表示和运算中,这一点请务必注意;只有当序列x(n)的时间变量正好是从1开始时,才能省去时间变量n,因为此时向量的下标与时间变量相同。 (3)单位冲激函数的实现方法实际上与单位冲激序列是完全相同的,都是用序列表示。只不过表示连续时间信号的序列中两相邻元素所对应的时间间隔更小,如本例中t的间隔为0.01,而表示离散时间信号的序列中两相邻元素所对应的时间间隔一般为1。 由于单位冲激序列在信号与系统中经常使用,我们专门编制一个函数文件delta.m,在后面的实验部分直接调用该函数即可产生需要的波形。 % delta.m function [x, n] = delta(n1,n2,k) % 产生冲激序列δ(n-k),其中n1<=n<=n 2, n1<=k<=n2

m序列和Gold序列特性研究

扩频通信实验报告 - I- Harbin Institute of Technology 扩频通信实验报告 课程名称: 扩频通信 实验题目: Gold 码特性研究 院 系: 电信学院 班 级: 通信一班 姓 名: 学 号: 指导教师: 迟永钢 时 间: 2012年5月8日 哈尔滨工业大学

第1章实验要求 1.以r=5 1 45E为基础,抽取出其他的m序列,请详细说明抽取过程; 2.画出r=5的全部m序列移位寄存器结构,并明确哪些序列彼此是互反多项式; 3.在生成的m序列集中,寻找出m序列优选对,请确定优选对的数量,并画 出它们的自相关和互相关函数图形; 4.依据所选取的m序列优选对生成所有Gold序列族,确定产生Gold序列族的 数量,标出每个Gold序列族中的所有序列,并实例验证族内序列彼此的自相关和互相关特性; 5.在生成的每个Gold序列族内,明确标出平衡序列和非平衡序列,并验证其 分布关系。 6.完整的作业提交包括:纸质打印版和电子版两部分,要求两部分内容统一, 且在作业后面附上源程序,并加必要注释。 7.要求统一采用Matlab软件中的M文件实现。

第2章 实验原理 2.1 m 序列 二元m 序列是一种伪随机序列,有优良的自相关函数,是狭义伪随机序列。m 序列易于产生于复制,在扩频技术中得到了广泛应用。 2.1.1 m 序列的定义 r 级非退化的移位寄存器的组成如图1所示,移位时钟源的频率为c R 。r 级线性移位寄存器的反馈逻辑可用二元域GF(2)上的r 次多项式表示 2012() {0,1}r r i f x c c x c x c x c =++++∈ (1) 图 2-1 r 级线性移位寄存器 式(1)称为线性移位寄存器的特征多项式,其给出的表示反馈网络的而逻辑关系式是现行的。因此成为线性移位寄存器。否则称为,非线性移位寄存器。 对于动态线性移位寄存器,其反馈逻辑也可以用线性移位寄存器的递归关系式来表示 112233 {0,1}i i i i r i r i a c a c a c a c a c ----=++++∈ (2) 特征多项式(1)与递归多项式(2)是r 级线性移位寄存器反馈逻辑的两种不同种表示法,因其应用的场合不同而采用不同的表示方法。以式(1)为特征多项式的r 级线性反馈移位寄存器所产生的序列,其周期21r N ≤-。假设以GF(2)域上r 次多项式(1)为特征多项式的r 级线性移位寄存器所产生的非零序列{}i a 的周期为21r N =-,称序列为{}i a 是最大周期的r 级线性移位寄存器序列,简称m 序列。

白噪声的测试MATLAB程序

白噪声的测试MATLAB程序 学术篇 2009-11-13 22:18:03 阅读232 评论0 字号:大中小订阅 clear; clc; %生成各种分布的随机数 x1=unifrnd(-1,1,1,1024);%生成长度为1024的均匀分布 x2=normrnd(0,1,1,1024);%生成长度为1024的正态分布 x3=exprnd(1,1,1024);%生成长度为1024的指数分布均值为零 x4=raylrnd(1,1,1024);%生成长度为1024的瑞利分布 x5=chi2rnd(1,1,1024);%生成长度为1024的kaifang分布%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %求各种分布的均值 m1=mean(x1),m2=mean(x2),m3=mean(x3),m4=mean(x4),m5=mean(x5) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %求各种分布的方差 v1=var(x1),v2=var(x2),v3=var(x3),v4=var(x4),v5=var(x5) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %求各种分布的自相关函数 figure(1);title('自相关函数图'); cor1=xcorr(x1);cor2=xcorr(x2);cor3=xcorr(x3);cor4=xcorr(x4);cor5=xcorr(x5); subplot(3,2,1),plot(1:2047,cor1);title('均匀分布自相关函数图'); subplot(3,2,2),plot(1:2047,cor2);title('正态分布'); subplot(3,2,3),plot(1:2047,cor3);title('指数分布'); subplot(3,2,4),plot(1:2047,cor4);title('瑞利分布'); subplot(3,2,5),plot(1:2047,cor5);title('K方分布'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %求各种分布的概率密度函数 y1=unifpdf(x1,-1,1); y2=normpdf(x2,0,1); y3=exppdf(x3,1); y4=raylpdf(x4,1); y5=chi2pdf(x5,1); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %各种分布的频数直方图 figure(2); subplot(3,2,1),hist(x1);title('均匀分布频数直方图'); subplot(3,2,2),hist(x2,[-4:0.1:4]);title('正态分布'); subplot(3,2,3),hist(x3,[0:.1:20]);title('指数分布'); subplot(3,2,4),hist(x4,[0:0.1:4]);title('瑞利分布'); subplot(3,2,5),hist(x5,[0:0.1:10]);title('K方分布'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %各种分布的概率密度估计 figure(3);

实验1 常见离散信号的MATLAB产生和图形显示

实验1 常见离散信号的MATLAB 产生和图形显示 一、实验目的:加深对常用离散信号的理解 二、实验原理: 1.单位抽样序列:???=01)(n δ 00 ≠=n n 在MATLAB 中可以利用zeros()函数实现。 ; 1)1();,1(==x N zeros x 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n ?δ即:? ??=?01)(k n δ 0≠=n k n 2.单位阶越序列:???0 1 )(n u 00<≥n n 在MATLAB 中可以利用ones()函数实现。(1,)x ones N = 3.正弦序列:)/2sin()(?π+=Fs fn A n x 在MATLAB 中 ) /***2sin(*1 :0fai Fs n f pi A x N n +=?= 4.复正弦序列:n j e n x ?=)( 在MATLAB 中 ) **exp(1 :0n w j x N n =?= 5.指数序列:n a n x =)( 在MATLAB 中 n a x N n .^1:0=?= 三、实验内容: 1、编制程序产生上述5种信号(长度可输入确定),并绘出其图形。 2、讨论正弦序列、复指数序列的性质: (1)绘出信号()zn x n e =,当1126z j π=?+、1126z j π=+、112 z =、62πj z +=、6π j z =时 信号的实部和虚部图;当6 π j z =时信号的周期为多少?

(2)绘出信号() 1.5sin(2*0.1)x n n π=的频率是多少?周期是多少?产生一个数字频率为0.9的正弦序列,并显示该信号,说明其周期。 3、使用帮助功能学习square(方波),sawtooth(锯齿波)和sinc 函数,并绘图。 四、实验要求: 1、预先阅读MATLAB 基础; 2、讨论复指数序列的性质。

Gold序列的仿真研究

Gold序列的仿真研究 Gold序列的仿真研究 摘要: Gold序列是R·Gold提出的一种基于m序列的码序列,这种序列有较优良的自相关和互相关特性,构造简单,产生的序列数多,因而获得了广泛的应用。本文对Gold序列进行仿真研究,首先介绍了扩频通信中常用的m序列和Gold序列码产生的方法原理和性质,运用Matlab对Gold码的生成和性能进行了仿真分析。 关键词:伪随机序列;Gold序列;m序列;Matlab仿真 SIMULATION OF GOLD SEQUENCES Abstract:Gold sequences is proposed by R ? Gold which is based on m sequences. Gold sequences has good properties, such as good autocorrelation and cross-correlation, easy to construct and more sequences, etc, therefore it has wide applications. This paper investigates the Gold sequences. The principle and performance of m sequences and Gold sequences in spread spectrum communication are first introduced in the paper. Simulation by Matlab is also provided in the paper to analyze the nature of Gold sequences. Key words: Pseudo-random sequence;Gold sequence;m sequence;Matlab simulation

Gold序列与m序列仿真应用

1. 绪论 m 序列具有优良的双值自相关特性,但互相关特性不是很好。作为CDMA 通信地址码时,由于互相关特性不理想,使得系统内多址干扰影响增大,且可用地址码数量较少。在某些应用场合,利用狭义伪随机序列复合而成复合序列更为有利。这是因为通过适当方法构造的复合序列具有某些特殊性质。Gold 序列就是一种复合序列,而且具有良好的自相关与互相关特性,地址码数量远大于m 序列,且易于实现、结构简单,在工程上得到广泛应用。 表1是m 序列和Gold 序列的主要性能比较,表中max ?为m 序列的自相关峰值,(0)s ?为自相关主峰;()t n 为Gold 序列的互相关峰值,(0)g ?为其自相关主峰。从表1中可以看出:当级数n 一定时,Gold 序列中可用序列个数明显多于m 序列数,且Gold 序列的互相关峰值和主瓣与旁瓣之比都比m 序列小得多,这一特性在实现码分多址时非常有用。 表1. m 序列和Gold 序列性能比较 在引入Gold 序列概念之前先介绍一下m 序列优选对。m 序列优选对,是指在m 序列集中,其互相关函数绝对值的最大值(称为峰值互相关函数)max ()R τ最接近或达到互相关值下限(最小值)的一对m 序列。 设{a i }是对应于r 次本原多项式F 1(x )所产生的m 序列, {b i } 是另一r 次本原多项式F 2(x )产生的m 序列,峰值互相关函数满足 12 max 2 221()214r ab r r R τr ++?+?≤??+? 为奇数 为偶数但不是的整倍数 (1) 则m 序列{a i }与{b i }构成m 序列优选对。 例如:6r =的本原多项式61()1F x x x =++与6522()1F x x x x x =++++所产生的m 序列{}i a 与{}i b ,其峰值互相关函数2622 2 max ()172 12117r ab R τ++=≤+=+=。满足式(1) ,故{}i a 与{}i b 构成m 序列优选对。而本原多项式65323()1F x x x x x =++++所产生的m 序列 {}i c ,与m 序列{}i a 的峰值互相关函数max ()2317ac R τ=>,不满足上式,故{}i a 与{}i c 不 是m 序列优选对。 2. Gold 序列 1967年,R·Gold 指出:“给定移位寄存器级数r 时,总可找到一对互相关函数值是最小的码序列,采用移位相加方法构成新码组,其互相关旁瓣都很小,且自相关函数和互相关函数均有界”。这样生成的序列称为Gold 码(Gold 序列)。 Gold 序列是m 序列的复合序列,由两个码长相等、码时钟速率相同的m 序列优选对的模2

白噪声产生程序

第二章的白噪声产生程序 例2.2 用乘同余法产生(见光盘FLch2bzsheg2.m) ①编程如下: A=6; x0=1; M=255; f=2; N=100;%初始化; x0=1; M=255; for k=1: N %乘同余法递推100次; x2=A*x0; %分别用x2和x0表示x i+1和x i-1; x1=mod (x2,M); %取x2存储器的数除以M的余数放x1(x i)中; v1=x1/256; %将x1存储器中的数除以256得到小于1的随机数放v1中; )减去0.5再乘以存储器f中的系数,存放在v(:,k)=(v1-0.5 )*f; %将v1中的数( i 矩阵存储器v的第k列中,v(:,k)表示行不变、列随递推循环 次数变化; x0=x1; % x i-1= x i; v0=v1; end %递推100次结束; v2=v %该语句后无‘;’,实现矩阵存储器v中随机数放在v2中,且 可直接显示在MATLAB的window中; k1=k; %grapher %以下是绘图程序; k=1:k1; plot(k,v,k,v,'r'); xlabel('k'), ylabel('v');tktle(' (-1,+1)均匀分布的白噪声') ②程序运行结果如图2.6所示。 图2.6 采用MA TLAB产生的(-1,+1)均匀分布的白噪声序列 ③产生的(-1,1)均匀分布的白噪声序列 在程序运行结束后,产生的(-1,1)均匀分布的白噪声序列,直接从MATLAB的window 界面中copy出来如下(v2中每行存6个随机数):

v2 = -0.9531 -0.7188 0.6875 -0.8359 -0.0156 0.9219 0.5703 0.4531 -0.2500 -0.4844 0.1016 -0.3672 0.8047 -0.1328 0.2188 0.3359 -0.9531 -0.7188 0.6875 -0.8359 -0.0156 0.9219 0.5703 0.4531 -0.2500 -0.4844 0.1016 -0.3672 0.8047 -0.1328 0.2188 0.3359 -0.9531 -0.7188 0.6875 -0.8359 -0.0156 0.9219 0.5703 0.4531 -0.2500 -0.4844 0.1016 -0.3672 0.8047 -0.1328 0.2188 0.3359 -0.9531 -0.7188 0.6875 -0.8359 -0.0156 0.9219 0.5703 0.4531 -0.2500 -0.4844 0.1016 -0.3672 0.8047 -0.1328 0.2188 0.3359 -0.9531 -0.7188 0.6875 -0.8359 -0.0156 0.9219 0.5703 0.4531 -0.2500 -0.4844 0.1016 -0.3672 0.8047 -0.1328 0.2188 0.3359 -0.9531 -0.7188 0.6875 -0.8359 -0.0156 0.9219 0.5703 0.4531 -0.2500 -0.4844 0.1016 -0.3672 0.8047 -0.1328 0.2188 0.3359 -0.9531 -0.7188 0.6875 -0.8359 *另外,书中图2.3白噪声的产生如下: 显然,只要在例2.2程序的初始化部分中给N=300,f=6,运行程序就可以得到如图2.3所示的(-3,3)的白噪声过程. ①编程如下: A=6; x0=1; M=255; f=6; N=300;%初始化; x0=1; M=255; for k=1: N %乘同余法递推100次; x2=A*x0; %分别用x2和x0表示x i+1和x i-1; x1=mod (x2,M); %取x2存储器的数除以M的余数放x1(x i)中; v1=x1/256; %将x1存储器中的数除以256得到小于1的随机数放v1中; )减去0.5再乘以存储器f中的系数,存放在v(:,k)=(v1-0.5 )*f; %将v1中的数( i 矩阵存储器v的第k列中,v(:,k)表示行不变、列随递推循环 次数变化; x0=x1; % x i-1= x i; v0=v1; end %递推100次结束; v2=v %该语句后无‘;’,实现矩阵存储器v中随机数放在v2中,且 可直接显示在MATLAB的window中; k1=k; %grapher %以下是绘图程序; k=1:k1; plot(k,v,k,v,'r'); xlabel('k'), ylabel('v');tktle(' (-1,+1)均匀分布的白噪声')

Gold序列产生及其特性实验

湖南科技大学 移动通信实验报告 姓名:吴文建 学号:1208030104 专业班级:应用电子技术教育一班 实验名称:GOLD序列产生及其特性实验 实验目的:1)掌握Gold序列的特性、产生方法及应用。 2) 掌握Gold序列与m序列的区别。 实验仪器:1、pc机一台2、 实验原理: m序列虽然性能优良,但同样长度的m序列个数不多,且m序列之间的互相关函数并不理想(为多值函数)。 1.m序列优选对 m序列优选对是指在m序列集中,其互相关函数最大值的绝对值满足下式的两条n介m序列: 2.Gold序列的产生方法 Gold序列是m序列的组合序列,由同步时钟控制的两个码元不同的m序列优选对逐位模2加得到。这两个序列发生器的周期相同,速率相同,因而两者保持一定的相位关系,这样产生的组合序列与这两个自序列的周期也相同。当改变两个序列的相对位移,会得到一个新的Gold序列。Gold序列具有以下性质: (1)两个m序列优选对经不同移位相加产生的新序列都是Gold序列,两个n级移位寄存器可以产生2n+1个Gold序列,周期均为2n?1。 (2)Gold序列的周期性自相关函数是一个三值函数,与m序列相比,具有良好的互相关特性。 Gold序列的产生有两种形式:并联形式和串联形式 实验步骤: 1.预习Gold序列的产生原理及性质及独立设计Glod序列产生方法。 2.画出Gold序列仿真流程图。

3.编写MATLAB程序并上机调试。 4.比较m序列与Glod序列的异同。 5.撰写实验报告。 实验数据、结果表达及误差分析: 实验仿真图形如图所示 实验编写程序(此程序在实验五编写程序之上方可运行):function c=gold() n=7; a=[1 1 1 1 1 1 1 1]; co=[]; for v=1:2^n-1 co=[co,a(1)]; a(8)=mod(a(5)+a(1),2); a(1)=a(2); a(2)=a(3); a(3)=a(4); a(4)=a(5); a(5)=a(6); a(6)=a(7); a(7)=a(8); end m1=co; b=[1 0 1 0 0 0 0 1];

matlab 正弦波 高斯白噪声 均匀白噪声 功率谱密度 自相关函数

现代通信原理作业一 姓名:张英伟学号:8036 班级:13级理工部3班 利用matlab完成: ●产生正弦波信号、均匀白噪声以及高斯白噪声并分别将两种噪声叠加到正弦 波信号上,绘出波形。 ●分别求取均匀白噪声序列和高斯白噪声序列的自相关及功率谱密度,绘出波 形。 一、白噪声区别及产生方法 1、定义: 均匀白噪声:噪声的幅度分布服从均匀分布,功率谱密度在整个频域内均匀分布的噪声。 高斯白噪声:噪声的幅度分布服从正态分布,功率谱密度在整个频域内均匀分布的噪声。 2、matlab仿真函数: rand函数默认产生是区间在[0,1]的随机数,这里需要利用公式: z2=a+(b-(a))*rand(m,n)............(公式1) randn函数默认产生均值是0、方差是1的随机序列,所以可以用其来产生均值为0、方差为1的正态分布白噪声,即N(0,12)。利用公式: z1=a+b*randn(1,n).................(公式2) 可以产生均值为a,方差为b2 高斯白噪声,即N(a,b2)。 二、自相关函数与功率谱密度之间的关系 1、功率谱密度:每单位频率波携带的功率,这被称为信号的功率谱密度。 2、自相关函数:描述随机信号X(t)在任意两个不同时刻t1,t2的取值之间的相关程度。 3、维纳-辛钦定理: 由于平均值不为零的信号不是平方可积的,所以在这种情况下就没有傅里叶变换。幸运的是维纳-辛钦定理提供了一个简单的替换方法,如果信号可以看作是平稳随机过程,那么功率谱密度就是信号自相关函数的傅里叶变换。 4、平稳随机过程:是在固定时间和位置的概率分布与所有时间和位置的概率分布相同的随机过程。(就是指得仅一个随机过程,中途没有变成另外一个统计特性的随机过程)

GOLD 序列码产生及特性分析实验

实验二 GOLD 序列码产生及特性分析实验 一、实验目的 1. 了解Gold 码的性质和特点; 2. 熟悉Gold 码的产生方法; 二、实验内容 1. 熟悉Gold 码的的产生方法; 2. 测试Gold 码的的波形; 三、实验原理 m 序列虽然性能优良,但同样长度的m 序列个数不多,且m 序列之间的互相关函数值并不理想(为多值函数)。1967年,R .Gold 提出和讨论了一种新的序列,即Gold 码序列。这种序列有较为优良的自相关和互相关特性,构造简单,产生的序列数多,因而得到广泛的应用。 a) m 序列优选对 m 序列优选对是指在m 序列集中,其互相关函数最大值的绝对值满足下式的两条n 阶m 序列: 表2-1给出了部分m 序列优选对。 表2-1 部分优选对码表 级数 基准本原多项式 配对本原多项式 7 211 217,235,277,325,203,357,301,323 9 1021 1131,1333 10 2415 2011,3515,3177 11 4445 4005,5205,5337,5263 2.Gold 码的产生方法 Gold 码是m 序列的组合码,由同步时钟控制的两个码字不同的m 序列优选对逐位模2加得到,其原理如图2-1所示。这两个码发生器的周期相同,速率也相同,因而两者保持一整除为偶数,但不能被位奇数41212)(2/)2(2/)1(n n R n n xy ???++≤++τ

定的相位关系,这样产生的组合码与这两个子码序列的周期也相同。当改变两个m 序列的相对位移时,会得到一个新的Gold 码。Gold 码虽然是m 序列模2加得到的,但它已不再是m 序列,不过仍具有与m 序列近似的优良特性,各个码组之间的互相关特性与原来两个m 序列之间的互相关特性一样,最大的互相关值不会超过原来两个m 序列间最大互相关值。Gold 码最大的优点是具有比m 序列多得多的独立码组。 图2-1 Gold 码序列发生器 Gold 码序列具有以下性质: (1)两个m 序列优选对经不同移位相加产生的新序列都是Gold 序列,两个n 级移位寄存器可以产生2n +1个Gold 序列,周期均为2n -1。 (2)Gold 码序列的周期性自相关函数是一个三值函数,与m 序列相比,具有良好的互相关特性。 Gold 码的产生有两种形式:并联形式和串联形式。例如m 序列本原多项式为:61)(x x x f ++=和6521)(x x x x x f ++++=,构成的并联和串联形式的Gold 码发生器如2-2图所示。(a )为并联形式,(b )为串联形式。 (a )并联结构 (b )串联结构 图2-2Gold 码发生器 (a ) 并联形式(b )串联形式 为了观测方便,本实验用两个周期为31的m 序列优选对采用并联结构产生一个Gold

m序列产生及其特性

一、实验目的 通过本实验掌握m 序列的特性、产生方法及应用。 二、实验内容 1、观察m 序列,识别其特征。 2、观察m 序列的自相关特性。 三、基本原理 m 序列是有n 级线性移位寄存器产生的周期为21n -的码序列,是最长线性移位寄存器序列的简称。码分多址系统主要采用两种长度的m 序列:一种是周期为1521-的m 序列,又称短PN 序列;另一种是周期为 4221-的m 序列,又称为长PN 码序列。m 序列主要有两个功能:①扩展调制信号的带宽到更大的传输带宽, 即所谓的扩展频谱;②区分通过多址接入方式使用同一传输频带的不同用户的信号。 3、m 序列的互相关函数 两个码序列的互相关函数是两个不同码序列一致程度(相似性)的度量,它也是位移量的函数。当使 用码序列来区分地址时,必须选择码序列互相关函数值很小的码,以避免用户之间互相干扰。 研究表明,两个长度周期相同,由不同反馈系数产生的m 序列,其互相关函数(或互相关系数)与自 相关函数相比,没有尖锐的二值特性,是多值的。作为地址码而言,希望选择的互相关函数越小越好,这 样便于区分不同用户,或者说,抗干扰能力强。 在二进制情况下,假设码序列周期为P 的两个m 序列,其互相关函数R xy (τ)为 ()xy R A D τ=- (9-9) 式中,A 为两序列对应位相同的个数,即两序列模2加后“0”的个数;D 为两序列对应位不同的个数, 即两序列模2加后“1”的个数。 为了理解上述指出的互相关函数问题,在此以5n =时由不同的反馈系数产生的两个m 序列为例计算它 们的互相关系数,以进一步讲述m 序列的互相关特性。将反馈系数为8(45)和8(75)时产生的两个5级m 序 列分别记做:1m :1000010010110011111000110111010和2m :111110111000101011010000110100,序列1m 和 2m 的互相关函数如表9-3所示。 表9-3序列1m 和2m 的互相关函数表

常见连续信号的MATLAB表示

实验名称:常见连续信号的MATLAB 表示 报告人: 姓名班级学号 一、实验目的 1、熟悉常见连续时间信号的意义、特性及波形; 2、学会使用MATLAB 表示连续时间信号的方法; 3、学会使用MATLAB 绘制连续时间信号的波形。 二、实验内容及运行结果 1、运行以上5个例题的程序,保存运行结果。 2、已知信号()t f 的波形如下图所示,试用MATLAB 绘出满足下列要求的信号波形。 <1)()t f -; <2)()2-t f ; <3)()at f <其中a 的值分别为 21= a 和2=a ); <4)? ?? ??+12 1t f 。 第一题 例题1

程序如下: >> t1=-10:0.5:10。 >> f1=sin(t1>./t1。 >> figure(1> >> plot(t1,f1> >> xlabel('取样间隔p=0.5'>。 >> title('f(t>=Sa(t>=sin(t>/t'>。>> t2=-10:0.1:10。 >> f2=sin(t2>./t2。 >> figure(2> >> plot(t2,f2> >> xlabel('取样间隔p=0.1'>。 >> title('f(t>=Sa(t>=sin(t>/t'>。运行结果如下:

f(t)=Sa(t)=sin(t)/t 取样间隔p=0.5 f(t)=Sa(t)=sin(t)/t 取样间隔p=0.1例题2 程序如下: >> syms t >> f=sin(t>/t。 >> ezplot(f,[-10,10]>运行结果如下:

sin(t)/t t 例题3: 程序如下: >> t=-1:0.01:4。 >> t0=0。 >> ut=stepfun(t,t0>。>> plot(t,ut> >> axis([-1,4,-0.5,1.5]>运行结果如下:

gold序列的生成与相关特性仿真

Gold序列生成与相关性仿真 1.1 references [1] 基于Matlab的Gold码序列的仿真与实现. [2] Code Selection for CDMA Systems. 1.2 m序列的生成原理 1.2.1生成本原多项式 利用Matlab编程环境求解本原多项式,其运行结果如表1所示.选择n=7,采用7级移位寄存器,产生的序列周期是127,其程序如下所示. N=7; %以7级寄存器为例,并组其中的一组优选对:211,,217 connections=gfprimfd(N,'all'); 表(1)n=7 本原多项式 上面的多项式中,仅有9个是独立的.因为第一行和第十行,第二行和四行,第三行和第十六行,第五行和第八行,第六行和第十四行,第七行和第十三行,第九行和第十八行,第十一行和第十二行,第十五行和第十七行是两两对称的.用八进制数表示时,所选择的本原多项式为211、217、235、367、277、325、203、313和345共9条.在这9条本原多项式中,选择一个基准本原多项式,再按要求选择另一本原多项式与之配对,构成m序列优选对,对7级m序列优选对如下表:

表(2)n=7 m序列所以优选对 1.2.2构成移位寄存器 根据产生Gold码序列的方法,从上述本原多项式中选择一对m序列优选对,以211作为基准本原多项式,217作为配对本原多项式,通过并联结构形式来产生Gold序列,生成gold 序列的结构如图(6)所示: 图(6)Gold序列生成结构 1.3 自相关函数 仿真参数及初始值设定如下:

N=7; %以7级寄存器为例,并组其中的一组优选对:211,,217 connections=gfprimfd(N,'all'); f1=connections(4,:); %取一组本原多项式序列,211 f2=connections(16,:); %取另一组本原多项式序列,217 registers1=[1 0 0 0 0 0 0];%给定寄存器的初始状态 registers2=[1 0 0 0 0 0 0];%取相同的初始状态 生成的gold 序列自相关函数如图(7)、(8)所示 图(7) Gold 序列周期自相关函数 结论:自相关函数取值集合{127,15,-1,-17} 图(8)Gold 序列非周期自相关函数 020406080100120140 gold 序列周期自相关函数 020406080100120140 -40 -20 20 40 60 80 100 120 140 gold 序列非周期自相关函数

相关文档
相关文档 最新文档