文档库 最新最全的文档下载
当前位置:文档库 › matlab产生m序列Gold序列 开题报告

matlab产生m序列Gold序列 开题报告

matlab产生m序列Gold序列 开题报告
matlab产生m序列Gold序列 开题报告

********学院

毕业设计(论文)开题报告

专业通信工程

学生******

学号**********

班号*******

指导教师*******

开题日期2013年9月11日

2013年 9 月 11 日

说明

一、开题报告应包括下列主要内容:

1.通过学生对课题题目和课题研究现状、选题的目的和意义论述,判断是否已充分理解毕业设计(论文)的内容和要求。

2.进度计划是否切实可行。

3.是否具备毕业设计所要求的基础条件。

4.预计研究过程中可能遇到的困难和问题,以及解决的措施。

5.主要参考文献。

二、如学生首次开题报告未通过,需在一周内再进行一次。

三、开题报告要求学生认真填写,由开题答辩组和指导教师填写意见、签字后,统

一交所在分院保存,以备检查。

指导教师评语:

指导教师:年月日

开题答辩组审查意见:

组长:组员:

年月日

一、课题题目和课题研究现状

课题题目:基于MATLAB的扩频码设计仿真及性能分析

课题研究现状:

人类社会进入到了信息社会,通信现代化是人类社会进入信息时代的重要标志。怎样在恶劣的环境条件下保证通信有效地、准确地、迅速地进行,是当今通信工作者所面临的一大课题。因此,出现了扩频通信。扩频通信作为一种新型的通信体系,是通信领域的一个重要发展方向,它与光纤通信、卫星通信一同被誉为进入信息时代的三大高技术通信传输方式。

扩频通信系统的抗干扰、保密性、多址、捕获与跟踪等性能都与扩频码的设计密切相关,因此扩频码的设计及性能分析就成为扩频系统设计的关键技术。

正是由于扩频通信技术具有上述优点,自50年代中期美国军方便开始研究,一直为军事通信所独占,广泛应用于军事通信、电子对抗以及导航、测量等各个领域。直到80年代初才被应用于民用通信领域。并且应用范围不断扩大。同时,为了满足日益增长的民用通信容量的需求和有效的利用频谱资源,各国都纷纷提出在数字蜂窝移动通信、卫星移动通信、和未来的个人通信中采用扩频技术,扩频技术已广泛应用于蜂窝电话、无绳电话、微波通信、无线数据通信、遥测、监控、报警的系统中。

二、选题的目的和意义

扩频通信具有抗干扰能力强、抗多径干扰、信息保密性好,对各种窄带通信系统的干扰性小等特点,长期以来,人们总是想法使信号所占领谱尽量的窄,以充分利用十分宝贵的频谱资源。扩频通信则符合了这一要求,提高了通信的安全。

从理论上说,用纯随机序列去扩展频谱是最理想的,例如高斯白噪声。但在工程和实践中,一般选用类似于带限白噪声统计特性的伪随机码作为扩频通信系统的扩频码。在工程中所选择的扩频码序列一般都具有以下特点:(1)具有尖锐的自相关性,而互相关特性较小,互相关函数接近0值;(2)有足够长的码周期,以确保抗侦破与抗干扰要求;(3)码的数量足够多,以实现码分多址的要求;(4)工程上易于实现。

一般地,工程中常用的扩频码有m序列和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);

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

基于5级m序列的探究及仿真

通信系统综合设计与实践 题目基于5级m序列 的反馈系数的探究 院(系)名称信息工程学院 专业名称通信工程 学生姓名金宇、张艳丽、赵春阳 学生学号090110079、090110085、090110026 指导教师赵春雨 2012年05月21日

目录 1背景及原理 (1) 1.1探究n级m序列的反馈系数背景及目的 (1) 1.2 生成m序列的原理及方法 (1) 2 确定反馈系数的方法 (3) 2.1 判断本原多项式的方法 (3) 2.2 基于5级循环序列发生器特征方程组中满足本原多项式的反馈系数的分 析 (3) 2.3 基于5级循环序列发器反馈系数的程序 (5) 3 m序列的相关性质 (8) 3.1 m序列的性质 (8) 3.2 不同反馈系数对应m序列的性质的分析 (8) 3.2.1、平衡性 (8) 3.2.2、自相关性 (9) 3.2.3 互相关性分析 (12) 4 不同反馈系数对应的m序列对扩频通信系统抗干扰性能影响 (16) 4.1 m序列在直接序列扩频通信系统应用的simulink的仿真观察 (16) 4.2 不同/相同长度的不同m序列对扩频通信系统性能影响的matlab的仿 真 (19) 总结 (22) 参考文献 (23) 附录 (24) 附录A (24) 附录B (24) 附录C (25) 附录D (26) 指导教师评语: (31)

基于5级m序列的反馈系数的探究 摘要 m序列易于从干扰信号中被识别和分离出来,又可以方便地产生和重复,有随机噪声的优点,易于实现相关接受或匹配接受, 因此伪随机序列在相关辩识、伪码测距、扩频通信、多址通信、分离多径、误码测试、数据加扰、信号同步等方面均有广泛的应用。n级循环序列生成器生成m序列和自身的反馈系数密切相关,本文我们提供了n级循环序列发生器能产生m序列的反馈系数的判断方法,及分析了不同的反馈系数对扩频通信系统性能的影响,并在matlab环境下运行了模拟仿真。 首先,我们利用本原多项式生成算法,确定一个伪随机序列的特征方程中对应的m序列,进而确定相关m序列的反馈系数。又对m序列的性质进行的相关分析,我们得出了m序列平衡性为1,m序列越尖锐自相关性越明显,且仅在k=0时出现峰值。我们又进一步利用matlab仿真并分析不同m序列在直接扩频通信系统中的仿真,我们可知在实际应用中选择自相关性大、互相关小的m序列作为扩频序列,另外m序列越长可以提高系统的抗干扰能力、降低系统的误码率及增加系统的容量,由此选择最佳的反馈系数生成最优的m序列对于提高扩频通信系统性能指标具有非常重要的意义。 关键词: 伪随机序,m序列,反馈系数,仿真

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

m序列Simulink仿真实现

m序列Simulink仿真Verilog实现1. 4阶m序列生成器

Simulink模型如下: 其中,可以在Unit Delay属性中设置初始值为1000,由于Unit Delay输出为double,所以要将其转为Boolean以便进行模二加运算,使用XOR实现。

下面分别是最后一级和所有级的输出波形,可以看出,与上面的是一致的。

Verilog实现 `timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 11:02:17 05/01/2012 // Design Name: // Module Name: PNcode // Project Name: ////////////////////////////////////////////////////////////////////////////////// module PNcode( clk, rst, PNstate, PNout

); input clk; input rst; output PNstate; output PNout; // PN code n = 4, f(x) = 1 + x + x^4 parameter order = 4; reg PNout = 0; reg [order-1 : 0] PNstate = 0; always @ (posedge clk) if(rst == 1) begin PNout <= 0; PNstate <= 4'b1000; // PN seed = b1000 end else begin PNout <= PNstate[0]; PNstate <= {PNstate[3]+PNstate[0], PNstate[3:1]}; end endmodule 测试文件: `timescale 1ns / 1ps //////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 14:37:43 05/01/2012 // Design Name: PNcode // Module Name: E:/me/CAST/Project/FPGAcomm/PNcode/PNcode_tb.v

基于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

白噪声产生程序

第二章的白噪声产生程序 例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];

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序列产生及其特性

一、实验目的 通过本实验掌握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 的互相关函数表

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)带入上式,则上式可以 写成

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

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