文档库 最新最全的文档下载
当前位置:文档库 › 基于Matlab的m序列发生器的设计

基于Matlab的m序列发生器的设计

基于Matlab的m序列发生器的设计
基于Matlab的m序列发生器的设计

软件工程实践报告题名称目:基于Matlab的m序列发生器的设计

姓名:郭新潮

专业:电子信息工程

班级学号:088205115

摘要

伪随机信号既有随机信号所具有的优良的相关性,又有随机信号所不具备的规律性. 因此,伪随机信号既易于从干扰信号中被识别和分离出来,又可以方便地产生和重复,其相关函数接近白噪声的相关函数,有随机噪声的优点,又避免了随机噪声的缺点. m序列是伪随机序列中最重要的序列中的一种伪随机序列具有可确定性、可重复性,易于实现相关接受或匹配接受,故有很好的抗干扰性能. 因此伪随机序列在相关辩识、伪码测距、导航、遥控遥测、扩频通信、多址通信、分离多径、误码测试、线形系统测量、数据加扰、信号同步等方面均有广泛的应用. m 序列是一类重要的伪随机序列,最早应用于扩频通信.可以通过移位寄存器,利用MATLAB编程产生m序列。

关键词: 伪随机序m 序列移位寄存器仿真

目录

第一章设计内容及要求 (1)

第二章m序列设计方案选择

2.1 方案一 (3)

2.2 方案二 (3)

第三章m序列产生和性质

3.1 m 序列的原理、结构及产生 (4)

3.2 m序列的基本性质 (5)

第四章m序列的程序代码及运行结果

4.1 m序列程序 (6)

4.2 输入本原多项式产生m序列 (6)

4.3 GUI界面及其代码设计 (7)

第五章程序调试及运行结果分析 (16)

结论 (16)

参考文献 (17)

第一章 设计内容及要求

基于Matlab 的m 序列发生器的设计:

基于Matlab 语言编程,生成m 序列,并利用Matlab GUI 工具设计图形界面显示结果,具体要求如下:

1、m 序列的本原多项式为:

52

()1A x x x =++ 2、采用伽罗瓦型移位寄存器结构

3、界面设计要有按钮控件以及一、二级菜单

第二章m序列设计方案选择

2.1 方案一

编程实现m 序列

MATLAB编程非常简单,无需进行变量声明,可以很方便的实现m序列。2.2方案二

图2.2 Simulink 实现m 序列

Simulink 实现m 序列(如图2.2所示)

Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。

通过比较方案一和方案二,发现方案一的优点具有通用性,其中mserises.m相当于一个通项,根据具体的本原多项式调用它即可,而方案二利用MATLAB的simulink

直接搭建模块,在移位寄存器较少时利用此方法极为简单,可是当移位寄存器的数量增多时,要搭建那么多的模块就显得很繁琐,缺乏通用性,因此本次课程设计选择方案一.

第三章 m 序列产生和性质

3.1 m 序列的原理、结构及产生

m 序列是最长线性反馈移位寄存器序列的简称,m 序列是由带线性反馈的移位寄存器产生的.

由n 级串联的移位寄存器和和反馈逻辑线路可组成动态移位寄存器,如果反馈逻辑线路只由模2和构成,则称为线性反馈移位寄存器。

带线性反馈逻辑的移位寄存器设定初始状态后,在时钟触发下,每次移位后各级寄存器会发生变化。其中任何一级寄存器的输出,随着时钟节拍的推移都会产生一个序列,该序列称为移位寄存器序列。

n 级线性移位寄存器的如图3.1所示:

图3.1 n 级线性移位寄存器

图中i C 表示反馈线的两种可能连接方式,i C =1表示连线接通,第n-i 级输出加入反馈中;i C =0表示连接线断开,第n-i 级输出未参加反馈。

因此,一般形式的线性反馈逻辑表达式为

112201

(mod 2)n

n n n n i n i i a C a C a C a C a ---==⊕⊕

⊕=∑

将等式左面的n a 移至右面,并将00(1)n n a C a C ==代入上式,则上式可改写为

10

0n

i n i C a -==∑

定义一个与上式相对应的多项式

()n

i i i F x C x ==∑

其中x 的幂次表示元素的相应位置。式称为线性反馈移位寄存器的特征多项式,特征多项式与输出序列的周期有密切关系.当F(x)满足下列三个条件时,就一定能产生m 序列:

(1) F(x)是不可约的,即不能再分解多项式; (2) F(x)可整除1p x +,这里21n p =-;

(3) F(x)不能整除1q x +,这里q

满足上述条件的多项式称为本原多项式.这样产生m 序列的充要条件就变成了如何寻找本原多项式.

3.2 m 序列的基本性质

1) 均衡性. 在m 序列中一个周期内“1”的数目比“0”的数目多l 位,这表明,序列平均值很小.

2) m 序列和其移位后的序列逐位模2 相加,所得的序列还是m 序列,只是相移不同而已. 例如1110100与向右移 3 位后的序列1001110逐位模2相加后的序列为0111010 ,相当于原序列向右移1位后的序列,仍是m 序列.

3) m 序列发生器中移位寄存器的各种状态,除全0 状态外,其他状态只在m 序列中出现1 次.如7 位m 序列中顺序出现的状态为111 ,110 ,101 ,010 ,100 ,001 和011 ,然后再回到初始状态111.

4) m 序列发生器中,并不是任何抽头组合都能产生m 序列. 理论分析指出,产生的m 序列数由下式决定:

Φ(2 n - 1) / n

其中Φ( X) 为欧拉数(即包括1 在内的小于X 并与它互质的正整数的个数) . 例如5 级移位寄存器产生的31 位m 序列只有6 个. 5) m 序列具有良好的自相关特性,其自相关系数:

从m 序列的自相关系数可以看出,m 序列是一个狭义伪随机码.

(N-1)T c (N+1)T 10()10

j j j N ρ=??=?-≠??-NT c NT c

0 图3.7 m 序列信号的自相关函数

第四章 m 序列的程序代码及运行结果

4.1 m 序列程序

根据m 序列的特征方程:

2

0120

()n

n

i n i i f x c c x c x c x c x ==++++=∑

并根据其联接多项式编写Matlab 程序. 输入参数为由本原多项式所决定的反馈连接形式,其中用于产生m 序列的程序代码如下: function[mseq]=mseries(coefficients)

len=length(coefficients); %所需的移位寄存器的长度 L=2^len-1;

registers=[zeros(1,len-1),1];%初始寄存器内容 mseq(1)=registers(1); %m 序列的第一个输出码元 for i=2:L

newregisters(1:len-1)=registers(2:len);

newregisters(len)=mod(sum(coefficients.*registers),2); registers=newregisters; mseq(i)=registers(1); end

将以上代码命名为mseries.m

4.2 输入本原多项式产生m 序列

以5 阶移位寄存器为例来产生m 序列,由文献可知其特征多项式52()1f x x x =++为本原多项式,亦及其反馈连接形式为[1C 2C 3C 4C 5C ]=[0 0 1 0 1]; 移位寄存器结构为

程序代码为:

clear

clc

pntaps=[0 0 1 1 ];

N=length(pntaps)

pninitial=[0 0 0 1];

pndata=zeros(1,2^N-1);

pnregister=pninitial;

n=0;kk=0;

while kk==0

n=n+1;

pndata(1,n)=pnregister(1,1);

feedback=rem((pnregister*pntaps'),2);

pnregister=[feedback,pnregister(1,1:N-1)];

if pnregister==pninitial;

kk=1;

end

end

pndata=2*pndata-1;

Rm(1)=sum(pndata.*pndata)/n

for k=1:n-1

Rm(k+1)=sum(pndata.*circshift(pndata,[0,k]))/n

end

subplot(2,1,1);x=[0:n-1];stem(x,pndata);

title('m序列发生器的输出');

axis([0 30 -1.5 1.5]);

subplot(2,1,2);plot(x,Rm);

title('m序列的自相关函数')

axis([0 30 0 1.5]);

第五章程序调试及运行结果分析

通过运行结果可以看出是由0、1组成的阶梯形图形,Stairs函数功能是画阶

梯形,生成一系列的m序列,成功实现了要求。

在调试过程中遇到一些错误,例如:

???Subscript indices must either be real positive integers or logicals.

经过认真分析,解决了错误。

结论

课程设计是一个十分有价值,有意义的实践活动,把一个课题设计好不是一步到位的,是经过反复修改,不断调试的过程,其间有困难也有乐趣,使人对工程实践有一个初步的认识。

本次课程设计完全实现了设计要求,利用软件实现m序列的生成,通过这次实践不但加深了对m序列的了解,而且对MATLAB编程有了很好的掌握,在不断的程序调错中提高了自己寻错的能力。

m序列可以软件实现,也可以硬件实现,但是通过本次设计可以看到软件设计的许多优点。

在课程设计的过程中,查询了大量的资料,通过相关资料的查阅,还掌握了通信领域的有关知识,扩大了知识面。

参考文献:

【1】张卫钢.通信原理与通信技术.西安 .西安电子科技大学出版社

【2】李建新等.现代通信系统与仿真——MATLAB通信工具箱.西安.西安电子科技

大学出版社.2007

【3】樊昌信.通信原理.北京.国防工业出版社

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的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的幂次表示元素的相应位置。该式为线性反馈移位寄存器的特征

序列信号发生器分析

华南师范大学实验报告 学生姓名林竞浩李瑜贤学号20102804016 专业多媒体与网络技术年级、班级2010级4班 课程名称模拟电路与数字电路实验项目555定时器的应用 实验类型□验证□设计□综合实验时间2011年月日 实验指导老师实验评分 一、实验目的 1 学会构建序列发生器的基本方法 2掌握对序列信号发生器序列信号的测试分析方法。 二、实验仪器 安装有Multisim10软件的个人电脑 三、实验原理 序列信号器产生序列信号,有多种方法。本实验采用计数器和数据选择器构成发生。图一中四位二进制同步计数器74S163状态输出端QC,QB,QA输出的数据,送入8选1数据选择器74S151的地址输入端ABC,需要获取产生的序列信号接至数据选择器74S151数据输入端D0-D7,数据从Y或W端输出,实验电路原理图如下

四、实验步骤 1设定产生周期为00010111序列信号。 2打开电脑Multisim10操作平台,从TTL元件库中取出74S163,74S151,显示器件库中取下带译码器的数码管及探针等器件,以及逻辑分析仪,按实验电路图连接好。 3设定时钟信号发生器V1的频率为100HZ .调整好实验电路后,数码管有0-7计数显示,探针有闪动。 4双击打开逻辑分析仪工作界面,以备测试波形。调整逻辑分析仪时钟源为外同步。正常后,观察数码管,探针,逻辑分析仪波形的变化,把相关数据填入表1中 输入时钟脉冲计数器输出逻辑指示灯数码管显示 QC QB QA Y 0 0 0 0 N 0 1 0 0 1 N 1 2 0 1 0 N 2 3 0 1 1 Y 3 4 1 0 0 N 4 5 1 0 1 Y 5

白噪声的测试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序列发生器的仿真实现

编号: 审定成绩: 重庆邮电大学移通学院 毕业设计(论文) 设计(论文)题目:m序列发生器的仿真实现 单位(系别):电子信息工程系 学生姓名: 专业: 班级: 学号:

指导教师: 答辩组负责人: 填表时间:2012 年 5 月 重庆邮电大学移通学院教务处制

重庆邮电大学移通学院毕业设计(论文)任务书 设计(论文)题目 m序列发生器的仿真实现 学生姓名系别专业班级 指导教师职称联系电话 教师单位重庆邮电大学下任务日期__ 2012__年_03_月_ _日 主 要研究内容、方法和要求 1、掌握扩频通信的基本概念,了解m序列在扩频通信中的作用 2、了解m序列的性质和特点 3、掌握m序列发生器的结构,能够实现不同PN序列周期的m序列 4、掌握matlab仿真软件的应用 5、利用matlab仿真工具来实现不同周期的m序列 进度计划第3-5周:查阅资料,了解m序列在扩频通信中的作用第6-8周:了解m序列的随机性质以及m序列产生原理第9-11周:用matlab仿真工具实现不同周期的m序列第12-13周:撰写论文初稿,给出论文目录 第14-15周:撰写并修改论文

第16周:准备毕业答辩 主要参考文献1、啜钢,移动通信原理与系统,北京邮电大学出版社,2005.9. 2、田日才,扩频通信,清华大学出版社,2007.4. 3、王立宁,matlab与通信仿真,人民邮电出版社,2000.1. 4、吴海红,CDMA扩频通信中m序列与Gold序列的比较及应用, 喀什师范学院学报,2010.3. 指导教师签字:年月日 教研室主任签字:年月日 备注:此任务书由指导教师填写,并于毕业设计(论文)开始前下达给学生。

功率谱和功率谱密度的区别

谱让人联想到的Fourier变换,是一个时间平均(time average)概念,对能量就是能量谱,对功率就是功率谱。 功率谱的概念是针对功率有限信号的,所表现的是单位频带内信号功率随频率的变化情况。保留了频谱的幅度信息,但是丢掉了相位信息,所以频谱不同的信号其功率谱是可能相同的。 有两点需要注意: 1. 功率谱是随机过程的统计平均概念,平稳随机过程的功率谱是一个确定函数;而频谱是随机过程样本的Fourier变换,对于一个随机过程而言,频谱也是一个“随机过程”。(随机的频域序列) 2. 功率概念和幅度概念的差别。此外,只能对宽平稳的各态历经的二阶矩过程谈功率谱,其存在性取决于二阶矩是否存在并且二阶矩的Fourier变换收敛;而频谱的存在性仅仅取决于该随机过程的该样本的Fourier变换是否收敛。 频谱分析: 对动态信号在频率域内进行分析,分析的结果是以频率为坐标的各种物理量的谱线和曲线,可得到各种幅值以频率为变量的频谱函数F(ω)。频谱分析中可求得幅值谱、相位谱、功率谱和各种谱密度等等。频谱分析过程较为复杂,它是以傅里叶级数和傅里叶积分为基础的。 功率谱密度: 功率谱密度(PSD),它定义了信号或者时间序列的功率如何随频率分布。这里功率可能是实际物理上的功率,或者更经常便于表示抽象的信号被定义为信号数值的平方,也就是当信号的负载为1欧姆(ohm)时的实际功率。

由于平均值不为零的信号不是平方可积的,所以在这种情况下就没有傅里叶变换。维纳-辛钦定理(Wiener-Khinchin theorem)提供了一个简单的替换方法,如果信号可以看作是平稳随机过程,那么功率谱密度就是信号自相关函数的傅里叶变换。 信号的功率谱密度当且仅当信号是广义的平稳过程的时候才存在。如果信号不是平稳过程,那么自相关函数一定是两个变量的函数,这样就不存在功率谱密度,但是可以使用类似的技术估计时变谱密度。 随机信号是时域无限信号,不具备可积分条件,因此不能直接进行傅氏变换。一般用具有统计特性的功率谱来作为谱分析的依据。 功率谱与自相关函数是一个傅氏变换对。 功率谱具有单位频率的平均功率量纲。所以标准叫法是功率谱密度。从名字分解来看就是说,观察对象是功率,观察域是谱域。 通过功率谱密度函数,可以看出随机信号的能量随着频率的分布情况。像白噪声就是平行于一条直线。 一般我们讲的功率谱密度都是针对平稳随机过程的,由于平稳随机过程的样本函数一般不是绝对可积的,因此不能直接对它进行傅立叶分析。可以有三种办法来重新定义谱密度,来克服上述困难。 1. 用相关函数的傅立叶变换来定义谱密度; 2. 用随机过程的有限时间傅立叶变换来定义谱密度; 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)均匀分布的白噪声')

4级m序列发生器设计参考

3级m序列发生器设计方案 图2.2 七位反馈移位移存器 方案一: 根据图2.2的结构模型,对于级数为n=3的m序列,可设置四个寄存器,将寄存器0和寄存器1进行异或运算,把结果赋给寄存器3。然后将寄存器2,1,0右移一位。再将寄存器3赋给寄存器2。这样就不会产生数据覆盖。最后把寄存器0输出。同理可得15位m序列,级数n=4的verilog建模思路。 方案二: 由于7位m序列1110010可用三位二进制7种状态表示,因此可用Moore有限状态机的行为进行建模方法。Moore有限状态机,其输出值只取决于当前状态,与输入值无关。可以通过在always语句块内使用case语句来实现,在每个case分支都应当有输出值及状态转换。设状态A=3'b111,B=3'b011,C=3'b001,D=3'b100,E=3'b010,F=3'b101,G=3'b110;它们的转换关系图如图2.3: 图 2.3 m序列发生器的状态转移图 方案一的程序比方案二简洁,方案二的思路比方案一更明白。二者的各有千秋。

4级m序列及其Manchester编码 module manchester_encodingnew(enc_data,m_test,clk); parameter BYTE_WIDTH=8; input clk; output enc_data; output m_test; reg phase; reg busy; wire clkr; wire enc_data; reg [2:0] bit_count; reg reg_data; reg Data_CLKT,Buff; reg [3:0]m_Buff; assign clkr=clk; initial begin Data_CLKT=0; busy=0; phase=0; bit_count=0; end always@(posedge clkr) begin Data_CLKT=~Data_CLKT; end always@ (posedge clkr) begin phase=~phase; end always@ (posedge clkr) begin if((bit_count==BYTE_WIDTH-1)&&phase) busy=0;

三位二进制加法计数器、序列信号发生器的设计、用集成芯片设计一个256进制加法计数器

目录 1课程设计的目的与作用 (1) 2设计任务 (1) 2.1同步计数器 (1) 2.2序列信号发生器 (1) 3设计原理 (1) 3.1同步计数器 (1) 3.1.1加法计数器 (2) 3.1.2减法计数器 (2) 3.1.3用集成芯片设计一个256进制的加法器 (2) 3.2序列信号发生器 (3) 4实验步骤 (3) 4.1同步计数器 (3) 4.1.1加法计数器 (4) 4.1.2减法计数器 (7) 4.1.3用集成芯片设计一个256进制的加法器 (10) 4.2序列信号发生器 (11) 5设计总结与体会 (14) 6参考文献 (15)

1课程设计的目的与作用 1.了解同步计数器及序列信号发生器工作原理; 2.掌握计数器电路的分析,设计方法及应用; 3.掌握序列信号发生器的分析,设计方法及应用; 2设计任务 2.1同步计数器 1.使用设计一个循环型3位2进制加法计数器,其中无效状态为(001,010),组合电路 选用与门和与非门等。 2.根据自己的设计接线。 3.检查无误后,测试其功能。 2.2序列信号发生器 1.使用设计一个能循环产生给定序列的序列信号发生器,其中发生序列(1000001),组 合电路选用与门和与非门等。 根据自己的设计接线。 2.检查无误后,测试其功能。 3设计原理 3.1同步计数器 (1)计数器是用来统计输入脉冲个数电路,是组成数字电路和计算机电路的基本时序逻辑部件。计数器按长度可分为:二进制,十进制和任意进制计数器。计数器不仅有加法计数器,也有减法计数器。如果一个计数器既能完成累加技术功能,也能完成递减功能,则称其为可逆计数器。在同步计数器中,个触发器共用同一个时钟信号。 (2)时序电路的分析过程:根据给定的时序电路,写出各触发器的驱动方程,输出方程,

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、平稳随机过程:是在固定时间和位置的概率分布与所有时间和位置的概率分布相同的随机过程。(就是指得仅一个随机过程,中途没有变成另外一个统计特性的随机过程)

基于Matlab的m序列发生器的

目录 第一章绪论..................................................................................................................1 1.1背景及意义 ....................................................................................................1 1.2设计内容及要求...............................................................................................1 1.2.1 设计内容................................................................................................1 1.2.2 设计要求................................................................................................2 1.3系统框图..........................................................................................................2第二章 m序列的分析.......................................................................................................3 2.1 m序列的原理...........................................................................................................3 2.2 m序列的相关特性 ...................................................................................................4 2.2.1均衡特性(平衡性) ...............................................................................4 2.2.2游程分布(游程分布的随机性) ...............................................................4 2.2.3移位相加特性(线性叠加性) ..................................................................4 2.2.4自相关特性.............................................................................................5第三章 m序列的设计............................................................................................................. 6 3.1特征多项式确定..............................................................................................6 3.2本原多项式的确定...........................................................................................7 3.3 m序列的发生..............................................................................................8第四章程序调试及结果分析..................................................................................10结论............................................................................................................................12参考文献....................................................................................................................13附录一:程序代码....................................................................................................14

序列信号发生器和序列信号检测器

南昌大学实验报告 学生姓名:学号:专业班级: 实验类型:□验证□综合□设计□创新实验日期:实验成绩: 实验三序列信号检测器设计 (一)实验目的 1.进一步熟悉PH-1V型实验装置和QuartusⅡ软件的使用方法; 2.学习有限状态机法进行数字系统设计; 3.学习使用原理图输入法进行设计。 (二)设计要求 完成设计、仿真、调试、下载、硬件测试等环节,在PH-1V型EDA实验装置上实现一个串行序列信号发生器和一个序列信号检测器的功能,具体要求如下: 1.先用原理图输入法设计0111010011011010序列信号发生器; 2.其最后8BIT数据用LED显示出来; 3.再设计一个序列信号检测器,检测上述序列信号,若检测到串行序列 “11010”则输出为“1”,否则输出为“0”; (三)主要仪器设备 1.微机 1台 2.QuartusII集成开发软件1套 3.PH-1V型EDA实验装置1套 (四)实验总体设计 本实验要求先设计一个信号发生器,采用原理图设计方法,要求产生 0111010011011010序列,16位,便可采用74161计数器和74151选择器,161计数输出QD,QC,QB,QA从0000计至1111,然后将161计数输出低三位QC,QB,QA分别接到151的C,B,A端,高位QD用来控制151两片的片选,即两片151分别实现序列的高八位和低八位的输出。最后将二片151的输出相或便可得到最后要产生的序列。 序列检测器即为一个状态机,首先画出状态转移图,根据状态转移图设计 出序列检测器,当检测到预置的序列,则RESULT输出1,否则输出0 (五)实验重难点设计 1. 用原理输入法设计序列信号发生器 (1)打开Quartus II软件,进入编辑环境。 (2)创建新的原理图BDF文件,命名为FASHENGQI,根据其总体设计思路设计 出如下原理图:

功率谱密度

功率谱密度 不同形式的数字基带信号具有不同的频谱结构,分析数字基带信号的频谱特性,以便合理地设计数字基带信号,使得消息代码变换为适合于给定信道传输特性的结构,是数字基带传输必须考虑的问题。 在通信中,除特殊情况(如测试信号)外,数字基带信号通常都是随机脉冲序列。因为,如果在数字通信系统中所传输的数字序列是确知的,则消息就不携带任何信息,通信也就失去了意义。故我们面临的是一个随机序列的谱分析问题。 考察一个二进制随机脉冲序列。设脉冲、分别表示二进制码“0”和“1”, 为 码元的间隔,在任一码元时间内,和出现的概率分别为p和1-p。 则随机脉冲序列x(t)可表示成: 其中 研究由上面二式所确定的随机脉冲序列的功率谱密度,要用到概率论与随机过程的有关知识。可以证明,随机脉冲序列x(t)的双边功率谱公式(1): 其中、分别为、的傅氏变换,。 可以得出如下结论: (1)随机脉冲序列功率谱包括两部分:连续谱(第一项)和离散谱(第二项)。对于连续谱而言,由于代表数字信息的及不能完全相同,故,因此,连 续谱总是存在;而对于离散谱而言,则在一些情况下不存在,如及是双极性的脉冲,且出现概率相同时。 (2)当、、p及给定后,随机脉冲序列功率谱就确定了。 上式的结果是非常有意义的,它一方面能使我们了解随机脉冲序列频谱的特点,以及如何去具体地计算它的功率谱密度;另一方面根据它的离散谱是否存在这一特点,将使我们明确能否从脉冲序列中直接提取离散分量,以及采取怎样的方法可以从基带脉冲序列中获得所需的离散分量。这一点,在研究位同步、载波同步等问题时,将是十分重要的;再一方面,根据它的连续谱可以确定序列的带宽(通常以谱的第一个零点作为序列的带宽)。 下面,以矩形脉冲构成的基带信号为例,通过几个有代表性的特例对功率谱密度公式的应用及意义做进一步的说明,其结果对后续问题的研究具有实用意义。

实验九 m序列产生及其特性实验

实验九 m 序列产生及其特性实验 一、实验目的 通过本实验掌握m 序列的特性、产生方法及应用。 二、实验内容 1、观察m 序列,识别其特征。 2、观察m 序列的自相关特性。 三、基本原理 m 序列是有n 级线性移位寄存器产生的周期为21n -的码序列,是最长线性移位寄存器序列的简称。码分多址系统主要采用两种长度的m 序列:一种是周期为1521-的m 序列,又称短PN 序列;另一种是周期为4221-的m 序列,又称为长PN 码序列。m 序列主要有两个功能:①扩展调制信号的带宽到更大的传输带宽,即所谓的扩展频谱;②区分通过多址接入方式使用同一传输频带的不同用户的信号。 1、产生原理 图9-1示出的是由n 级移位寄存器构成的码序列发生器。寄存器的状态决定于时钟控制下输入的信息(“0”或“1”),例如第I 级移位寄存器状态决定于前一时钟脉冲后的第i -1级移位寄存器的状态。 图中C 0,C 1,…,C n 均为反馈线,其中C 0=C n =1,表示反馈连接。因为m 序列是由循环序列发生器产生的,因此C 0和C n 肯定为1,即参与反馈。而反馈系数C 1,C 2,…,C n -1 若为1,参与反馈;若为0,则表示断开反馈线,即开路,无反馈连线。 D 1 输出 C 0=1 C 1 C 2 C n-1 C n =1 D 2 D 3 D n 图9-1 n 级循环序列发生器的模型 一个线性反馈移动寄存器能否产生m 序列,决定于它的反馈系数(0,1,2,,)i c i n = ,下表中列出了部分m 序列的反馈系数i c ,按照下表中的系数来构造移位寄存器,就能产生相应的m 序列。 表9-1 部分m 序列的反馈系数表 级数n 周期P 反馈系数i C (采用八进制) 3 7 13 4 1 5 23 5 31 45,67,75 6 63 103,147,155 7 127 203,211,217,235,277,313,325,345,367 8 255 435,453,537,543,545,551,703,747

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序列') ylim([-0.5 1.5])

m序列发生器设计实现

河南师范大学设计性实验报告 学期:2014-2015学年第 1 学期 m序列发生器设计实现_实验 实验小组成员: 班级:2013级网络工程班 学院:计算机与信息工程学院 填表日期: 2014年 11月 29 日

实验项目简介: 1 问题描述 通常产生伪随机序列的数字电路为一反馈移位寄存器。根据其构成结构,它又分为线性反馈移位寄存器和非线性反馈移位寄存器两类,由线性反馈移位寄存器产生的周期最长的二进制数字序列称为最大长度线性反馈移位寄存器序列,简称m序列。 2.实验原理: 此实验是用4位移位寄存器实现可控乘/除法2到8步长为2n电路通过分析不难看出本次实验的乘除法运算中一个只出现三个数字2、4、8写成二进制为0010、0100、1000可以发现每一次乘法都只是将1向左移一个位每一次除法则是向右移一位,那么就可以使用74194双向移位寄存器。首先要了解4位移位寄存器。工作原理:74194是一个4位双向移位寄存器。它具有左移、右移、并行输入数据、保持以及清除等五种功能: 当~R=1MA MB=00 MA MB=01 MA MB=10 MA MB=11 3.一个完整的系统应具有以下功能: 1)控制信号的移动方向,通过改变S1S0的编码状态,使移位器左移、右移、保持等。 2)可以得到m序列的周期,通过观察示波器中CLK与Sl或者Sr的波形,可以得出m序列的周期。 4.实验目的: 1、掌握M序列信号产生的基本方法 2、利用EWB产生M序列信号,设计电路做成M序列信号发 5.实验条件:学院提供公共机房,1台/学生微型计算机。

实验总结: 1.在实验的过程中,小组成员积极准备。通过实验加深了对74194芯片性能的 了解,提高了各个成员的动手能力。 2.但是由于知识掌握不够全面准确的原因,实验过程中多次出现问题,小组成 员积极思考,最终解决了问题。 3.在观察m序列周期的过程中,出现了周期同预期不符合的情况,最终发现 是输入脉冲时出现了问题。

设计序列信号发生器

数码电子学实验 设计序列信号发生器 报告人:XXX 一.具体要求 要求用D触发器和门电路设计一个产生1101001序列(序列左边先输出)的序列发生器。

二.实验目的 1.熟悉原理图输出法; 2.了解可编程器件的实际应用。 三.实验准备 1.详解D 触发器 ①电路组成 为了避免同步RS 触发器同时出现R 和S 都为1的情况,可在R 和S 之间接入非门G1,如图1所示,这种单输入的触发器称为D 触发器。图2为其逻辑符号。D 为信号输入端。 图1:D 触发器逻辑图 图2:D 触发器逻辑符号 ②逻辑功能 在CP=0时,G2,G3被封锁,都输出1,触发器保持原状态不变,不受D 端输入信号的控制。 在CP=1时,G2,G3解除封锁,可接收D 端输入的信号。如1=D 时,0=D ,触发器翻到1状态,即Q n+1=1,如0=D 时,1=D ,触发器翻到0状态,即Q n+1=0,由此可列出表1所示同步D 触发器的特性表。 表1:同步D 触发器特性表 D Q n Q n+1 说明 0 0 0 输出状态和D 相同 0 1 0 输出状态和D 相同 1 0 1 输出状态和D 相同 1 1 1 输出状态和D 相同 由上述分析可知,同步D 触发器的逻辑功能如下: 当CP 由0变为1后,触发器的状态翻到和D 的状态相同; 当CP 由1变为0后,触发器保持原状态不变。 ③D 触发器的名词来源 D 触发器不会发生RS 触发器不确定的情形(S=1,R=1),也不会发生JK 触发器的追跑情况(J=1,K=1),那么为什么成为D 触发器呢?因为输出Q 等于输入D ,但是要经过一个CLOCK

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