文档库 最新最全的文档下载
当前位置:文档库 › 用matlab产生M序列极其逆M序列

用matlab产生M序列极其逆M序列

用matlab产生M序列极其逆M序列
用matlab产生M序列极其逆M序列

①用产生M序列,②以此M序列为基础产生逆M序列,③并将逆M序列的复制变为-a和+a。

解:(1)产生M序列,用一个4级移位寄存器生成M序列。

程序及结果如下(可执行文件xiti3见文件夹中):

%产生M序列

x=[0 1 0 1 1 0 1 1 1];%给移位寄存器初始化

N=50;%N为脉冲数目

M=[];%存放M序列

for i=1:N

a=xor(x(4),x(9));%x(4)与x(9)取异或赋值给a

M(i)=x(9);%把x(9)里的值赋给M[]产生M序列

for j=9:-1:2

x(j)=x(j-1);%实现移位寄存器的循环移位

end

x(1)=a;%把x(4)与x(9)取异值a给x(1)

end

figure(1)%创建图形1

stairs(1:N,M)%把M序列以阶梯图形显示

hold on

axis([0,N,0,1.2])%图形横轴从0到N,纵轴从0到1.2

title('M序列');%图形标题为‘M序列’

xlabel('时序脉冲');%横轴为‘时序脉冲’

(2)用0、1方波序列与M序列取异或得逆M序列。

程序及结果如下(可执行文件xiti3见文件夹中):

%产生逆M序列

f=zeros(1,length(M));%f为方波序列

f(1)=1;

for i=2:N

f(i)=f(i-1);

end

NM=xor(M,f);%M序列与方波异或赋值给NM

figure(2)

stairs(1:N,NM)

hold on

axis([0,N,0,1.2])

title('逆M序列');

xlabel('时序脉冲');

(3)将逆M序列的复制变为-a和+a,程序及结果如下(可执行文件xiti3见文件夹中):

%将逆M序列的幅值变为a和-a

a=5;%a为指定的幅值

A=NM.*a*2;

A=A-a;

figure(3)

stairs(1:N,A);

axis([0,N,-a-1,a+1]);

hold on

title('幅值为a的逆M序列');

xlabel('时序脉冲');

生成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);

扩频编码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)把话音频谱颠倒过来,使高频变为低频,低频变为高频,这是最简单的一种频域置乱方法。频域置乱器的基本电路是平衡调制器和带通滤波器。平衡调制器可以搬移和倒置频谱,而滤波器可以滤取所需要的频谱成分。输入的话音信号经过平衡调制器后输出上、下两个边带。适当地选择

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);

基于MATLAB的m序列产生

第一章设计内容及要求 基于MATLAB产生m序列 要求: 1.通过matlab编程产生m序列的产生原理及其产生方法。 2.对特定长度的m序列,分析其性质,及其用来构造其它序列的方法。

第二章m序列设计方案的选择 2.1 方案一 MATLAB编程非常简单,无需进行变量声明,可以很方便的实现m序列。 2.2 方案二 图2.1 Simulink实现m序列 Simulink是MATLAB最重要的组件之一,它提供了一个动态系统建模,仿真和综合分析的集成环境。在此环境中无需大量书写程序,而只需通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应性广,结构及流程清晰及仿真精细等优点,基于以上优点,Simulink已被广泛的运用到控制理论和数字信号处理的复杂仿真和设计。 通过比较方案一和方案二,发现方案一的有点具有通用性而方案二利用MATLAB的Simulink直接搭建模块,在移位寄存器较少的情况下利用此方法比较简单,可是当移位寄存器的个数增多时,要搭建那么多的模块就显的很繁琐了,缺乏通用性,因此本次实验选择方案一。

第三章m序列的产生及性质 3.1 m序列的产生原理、结构及产生 m序列是最长线性反馈移位寄存器序列的简称,m序列是由带线性反馈的移位寄存器产生的。 由n级串联的移位寄存器和反馈逻辑线路可组成动态移位寄存器,如果反馈逻辑线路只由模2和构成,则称为线性反馈移位寄存器。 带线性反馈逻辑的移位寄存器设定初始状态后,在时钟触发下,每次移位后各级寄存器会发生变化,其中任何一级寄存器的输出,随着时钟节拍的推移都会产生一个序列,该序列称为移位寄存器序列。 n级线性移位寄存器的如图3.1所示: ◇A 图3.1 n级线性移位寄存器 图中C i表示反馈线的两种可能连接方式,C i=1表示连线接通,第n-i 级输出加入反馈中;C i=0表示连线断开,第n-i级输出未参加反馈。 因此,一般形式的线性反馈逻辑表达式为 ------表达式3.1将等式左边的a n移至右边,并将a n=C0a n(C0=1)带入上式,则上式可以 写成 -------表达式3.2 定义一个与上式相对应的多项式 --------表达式3.3 其中x的幂次表示元素的相应位置。该式为线性反馈移位寄存器的特征

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

基于m序列的直接序列扩频

扩频通信实验 实验名称:基于m序列的直接序列扩频 专业班级:通信111501班 学生姓名:穆琦沈傲立孙琳王瑞学熊晓倩

学号:201115040111 13 16 20 27 指导教师:郑秀萍 时间:2014.10.29 1 需求分析 在通信发射端将载波信号展宽到较宽的频段上;在接收端,用同样的扩频码序列进行解扩和解调,把展宽的信号还原成原始信息.通过扩展频谱的相关处理,大大降低了频谱的平均能量密度,可在负信噪比条件下工作,获得了高处理增益,从而降低了被截获和检测的概率,避免了干扰影响.通过仿真模型结果分析抗噪声性能结果。 2 概要设计 扩频通信系统分为直接序列扩频系统、跳频扩频系统、跳时扩频系统和混合式扩频系统。直接序列扩频系统,又称“平均”系统或伪噪声系统,就是采用高码率的扩频码序列PN 码(伪随机码),在发送端与编码数据信号进行模2 加,产生一扩频序列,这一码序列由于码元很窄,占用了很宽的频带,达到扩频的目的,然后用扩频序列去调制载波并予以传输。在接收端接收到的扩频信号经高频放大混频之后,用与发端相同且同步的伪随机码对扩频信号进行相关解扩,由于收发端伪随机码的相关系数为1,故可以完全恢复所传的信息,而干扰和噪声由于与接收机伪

随机码不相关,在相关解调时大大降低进入信号通频带内的干扰。它是目前应用较广泛的一种扩展频谱系统。在国外已获得成功的空间探测器“喷气推进实验室(JPL)测距技术”就是一种直接序列调制,TATS-1 军用卫星中的扩展频谱多址(SSMA)系统等都使用DSSS。 直接序列扩频系统的接收一般采用相关接收,并分成两步,即解扩和解调。在接收端,接收信号经过数控振荡器放大混频后,用与发射端相同且同步的由M 序列发生器产生的伪随机码对中频信号进行相关解扩,把扩频信号恢复成窄带信号,然后再由基带滤波器进行解调,最后恢复出原始信息序列。扩频与解扩过程中,利用PN序列生成器模块( PN Sequence Generator ) ,产生6级、传输速率500b/s的PN伪随机序列来达到扩频和多址接入效果,这里扩频增益为50倍.扩频的运算是信息流与PN码相乘或模二加的过程.解扩的过程与扩频过程完全相同,即将接收的信号用PN码进行第二次扩频处理.要求使用的PN码与发送端扩频用PN码不仅码字相同,而且相位相同.否则会使有用信号自身相互抵消.解扩处理将信号压缩到信号频带内,由宽带信号恢复为窄带信号.同时将干扰信号扩展,降低干扰信号的谱密度,使之进入到信息频带内的功率下降,从而使系统获得处理增益,提高系统的抗干扰能力.调制与解调使用二相相移键控PSK方式. 为了方便分析, 我们可对系统作如下假设: 系统各用户同步;系统各用户功率相同;仅考虑系统MAI和白噪声干扰引起的误码, 忽略信号传输、调制解调过程中的误码。 3 开发工具和编程语言 开发工具:

白噪声产生程序

第二章的白噪声产生程序 例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)均匀分布的白噪声')

基于FPGA的VHDL语言m序列生成详解+源码

说明 可控m序列产生器我分成四个小模块来做,M,M1,M2,M3分别对应为:m序列产生器、控制器、码长选择器、码速率选择器。 一、M: m序列产生器 这是该设计的核心部分,原理就是设计一个通用m序列产生子单元,然后由外部选择器来写入码型,码长等参数,加以循环可连接成任意长度的m序列产生器,其子单元结构如下: 如上图,若N=15,就有15个这样的子单元首尾相接。注意:开头和结尾的两个子单元会有所不同,因为首单元需要输入初值,尾单元要进行直通反馈,在程序里请多留意。 图中,主要部件是一个D触发器,Q(N+1)为上一级输出;Q(N)既是本级输出;CP为选择后的时钟脉冲;B(N)为本级参数选择控制;A(N)受控于B(N),决定本级输出Q(N)是否反馈(B(N)为1时反馈);C(N)为本级反馈;C(N-1)为下一级反馈。具体原理参看m序列组成结构。 此外,本程序还加入了EN(发送控制)、RN(首单元置数)、SEL1(码长选择,即N的选择,N=2-15)、SEL2(码型选择,即正逆码选择)四个控制端,可满足设计要求。OP为码输出端。 二、M1:控制器

控制器主要是将外部的序列发送控制信号STA转换为EN和RN 两个控制信号。其中,EN与STA的波形基本一致,只是它与CP进行了同步处理;RN在EN为‘1’的头一个脉冲周期里置高电平,以达到为序列发生器的首端置数的目的。如果不清楚的话可以看一下它的模拟波形。(注意:STA要采用自锁定开关,高电平有效) 三、M2:码长选择 序列的码长选择既是N值的选择,码长=2**N-1。核心就是一个计数器,可从2计到15。按一次PUSH就可以自动加一(注意:按键建议采用自弹跳按键,如过需要软件清除按键震颤的话,我再做发给你),没有0,1两个状态。如果需要的话还可以扩展7段数码管的接口,以显示N值。 四、M3:码速率选择器 码的传输速率是靠CP来控制的,CP的频率就等于码元速率。这段程序包含一个倍频器,一个5分频的分频器,可把5MHZ的脉冲源CLK扩展成1MHZ和10MHZ。FSEL1、FSLE2、FSEL3分别在选择1、5、10MHZ时为高电平,其余两个为低,建议采用3选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];

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 正弦波 高斯白噪声 均匀白噪声 功率谱密度 自相关函数

现代通信原理作业一 姓名:张英伟学号: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、平稳随机过程:是在固定时间和位置的概率分布与所有时间和位置的概率分布相同的随机过程。(就是指得仅一个随机过程,中途没有变成另外一个统计特性的随机过程)

M序列的matlab产生方法

M序列是工程中常用的输入信号,它的性质类似于白噪声,而白噪声是理论上最好的输入信号,可见M序列的价值。下面介绍M序列的matlab产生方法。 idinput函数 产生系统辨识常用的典型信号。 格式 u = idinput(N,type,band,levels) [u,freqs] = idinput(N,'sine',band,levels,sinedata) N 产生的序列的长度,如果N=[N nu],则nu为输入的通道数,如果N=[P nu M],则nu指定通道数,P为周期,M*P为信号长度。默认情况下,nu=1,M=1,即一个通道,一个周期。 Type 指定产生信号的类型,可选类型如下 Band 指定信号的频率成分。对于’rgs’、’rbs’、’sine’,band = [wlow, whigh]指定通带的范围,如果是白噪声信号,则band=[0, 1],这也是默认值。指定非默认值时,相当于有色噪声。 对于’prbs’,band=[0, B],B表示信号在一个间隔1/B(时钟周期)内为恒值,默认为[0, 1]。 Levels 指定输入的水平。Levels=[minu, maxu],在type=’rbs’、’prbs’、’sine’时,表示信号u的值总是在minu和maxu之间。对于type=’rgs’,minu指定信号的均值减标准差,maxu指定信号的均值加标准差,对于0均值、标准差为1的高斯白噪声信号,则levels=[-1, 1],这也是默认值。 说明 对于PRBS信号,如果M>1,则序列的长度和PRBS周期会做调整,使PRBS的周期为对应一定阶数的最大值(即2^n-1,n为阶数);如果M=1,PRBS的周期是大于N的相应阶数的值。在多输入的情形时,信号被最大平移,即P/nu为此信号能被估计的模型阶次的上界。 上面的意思可如下理解:对于M=1时, ms = idinput(12, 'prbs', [0 1], [0 1]); figure stairs(ms) title('M序列')

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 序列非周期自相关函数

M序列的产生和性能分析

M序列的产生和性能分析 摘要 在扩频函数中,伪随机信号不但要求具有尖锐的互相关函数,互相关函数应接近于零,而且具有足够长的码周期,以确保抗侦破、抗干扰的要求;由足够多的独立地址数,以实现码分多址的要求。M序列是伪随机序列的一种,可由m序列添加全0状态而得到。m序列与M序列对比得出在同级移位寄存器下M序列的数量远远大于m序列数量,其可供选择序列数多,在作跳频和加密码具有极强的抗侦破能力。 本文在matlab中的Simulink下用移位寄存器建立了4级、5级、6级M 序列的仿真模型,进行了仿真,画出其时域图、频谱图、互相关性图。通过时域图和频域图可看出,经过扩频后的信号频带明显的被扩展;由M序列互相关性图,得出M序列有较小的互相关性,较强的自相关性,但相关性略差于m序列。最后,本文又将M序列应用于CDMA扩频通信仿真系统中,得到下列结论:当使用与扩频时相同的M序列做解扩操作与用其他序列做解扩的输出有巨大的差别。使用相同的序列进行解扩时系统输出值很大,而使用其他序列解扩时输出值在零附近变化。这就是扩频通信的基础。 关键词:伪随机编码, 扩频通信自相关函数,互相关函数

M SEQUENCE GENERATION AND PERFORMANCE ANALYSIS ABSTRACT In spread-spectrum communication, pseudo-random sequence must have high autocorrelation value, low cross correlation, long code period and lots of dependent address to satisfy code division multiple access(CDMA). M sequence is one kind of the pseudo-random sequences. It can be may obtained through adding entire 0 states to m sequence. The number of M sequence is greater than the m-sequence under the same level shift register. It may supply the more choice. The M-sequence is often applied to the frequency hopping and adds the password to have greatly strengthened anti- solves the ability. At first, M sequences which has n=4、5、7 levels of shift registers are produced under Simulink of Matlab. The time domain chart, the spectrograph, the mutual correlation chart are plotted. Through the time domain chart and the spectrograph, we could see how the bandwidth of the information signal is expanded. The pseudo-random symbol speed rate higher noise signal frequency spectrum is proliferated widely, the output power spectrum scope is lower. This can explain the spread-spectrum communication system principle from the frequency range. Through the M sequence’s auto correlation chart we can see that the auto correlation of M-sequence is quite good but is inferior to the m sequence. Finally, the M sequence is applied to the code division multiple access (CDMA) communication system. This is the spread-spectrum communication foundation. KEY WORDS:Pseudo-random code, auto-correlation, cross-correlation

相关文档