基于FPGA的m序列发生器要点

基于FPGA的m序列发生器要点
基于FPGA的m序列发生器要点

基于FPGA的m序列发生器

摘要

m序列广泛应用于密码学、通信、雷达、导航等多个领域,本文提出了一种基于FPGA的伪随机序列产生方法,应用移位寄存器理论从序列的本原多项式出发,获得产生该序列的移位寄存器反馈逻辑式,结合FPGA芯片结构特点,在序列算法实现中采用元件例化语句。算法运用VHDL语言编程,以A1tera的QuartusⅡ软件为开发平台,给出了序列的仿真波形。序列的统计特性分析表明:该方法产生的序列符合m序列的伪随机特性,验证了算法的正确性。

关键词:m序列;移位寄存器理论;VHDL语言

1 m序列

m序列是伪随机序列的一种 ,结构简单 ,实现方便。在现代工程实践中 , m 序列在通讯、导航、雷达、通信系统性能的测量等领域中有着广泛的应用。例如 , 在连续波雷达中可用作测距信号 , 在遥控系统中可用作遥控信号 , 在多址通信中可用作地址信号 , 在数字通信中可用作群同步信号 ,还可用作噪声源及在保密通信中起加密作用等。伪噪声发生器在测距、通信等领域的应用日益受到人们重视。目前,m序列产生实现方法主要有3种:

(1)门电路实现

该方法设计简单,但随移位寄存器级数的增长,电路装调困难,且占用的印制板面积较大。

(2)DSP编程实现

该方法专业性过强,不适合一般用户。

(3)VHDL与CPLD实现

由于CPLD的高集成度,而且VHDL语言编程较为方便,故可以大大减少电路的装调的困难。文章提出VHDL语言实现,,l序列电路是周期、初相位可编程变化的,其应用较为灵活,通过微处理器对其进行适当的初始化,即可产生用户所需周期、初相位的m序列输出。用软件方式构成的特点是采用灵活的数据查询方式可以获得任意级数 n 的本原多项式系数 ,从而实现 m 序列的产生 , 但速度受到单片机工作速度的限制。而 FPGA 具有硬件电路实现的优点 , 又具有设计上的灵活性 , 并且由于FPGA 便于实现大规模的数字系统。

1.1 理论基础

m 序列是最长线性反馈移位寄存器序列的简称,它是由带线性反馈的移位寄存器产生的周期最长的一种序列。。m 序列发生器的结构主要分为两类,一类称为简单型码序列发生器,另一类称为模块型码序列发生器。原理图如图 1 所示。

图1-1 m列原理图

扰码的目的是使短周期输入序列变为长周期的信道序列。从原则上看,就可以用将一个长周期序列叠加在输入序列上的方法来实现,并且叠加序列的周期越长越好。从理论上说,一个真正的随机(二进制)序列的“周期”是无限长的,但是,采用这种序列时在接收端将无法产生相同的序列与之同步。所以,人们就不得不企图用简单电路来产生尽量长的序列。同时随机噪声在通信技术中,首先是作为有损通信质量的因素受到人们重视的。信道中存在的随机噪声会使模拟信号产生失真,或使数字信号解调后出现误码;同时,它还是限制信道容量的一个重要因素。因此,最早人们是企图设计消除或减小通信系统的随机噪声,但是,有时人们也希望获得随机噪声。例如,在实验室中对通信设备或系统进行测试时,有时要故意加入一定的随机噪声,这时则需要产生它。

20世纪40年代末,随着通信理论的发展,仙农(Shannon )就曾指出,在某种情况下,为了实现最有效的通信,应采用具有白噪声的统计特性的信号。另外,为了实现高可靠的保密通信,也希望利用随机噪声。然而,利用随机噪声的最大困难是它难以产生和处理。直到60年代,伪随机噪声的出现才使上述困难得到解决。

伪随机噪声具有类是与随机噪声的一些统计特性,同时又便于重复产生和处理。由于它具有随机噪声的优点,又避免了它的缺点,因此获得了日益广泛的实际应用。目前广泛应用的伪随机噪声都是由数字电路产生的周期序列(即滤波等处理后)得到的。今后我们将这种周期序列称为伪随机序列。

通常产生伪随机序列的电路为一反馈移存器。他又可分为线性反馈移存器和非线性反馈遗存器两类。由线性反馈遗存器产生出的周期最长的二进制数字序列,称为最大长度线性反馈遗存器序列,通常简称为m 序列。由于它的理论比较成熟,实现比较简便,实际应用也比较广泛[7]。

m 序列是最长线性反馈移存器序列的简称,它是由带线性反馈的移存器产生的周期最长的一种序列 。图2-2中示出了n 级移位寄存器,其中有若干级经模2加法器反馈到第1级。不难看出,在任何一个时刻去观察移位寄存器的状态,必然是n

2个状态之一,其中每一状态代表一个n 位的二进制数字;但是,必须把全0排斥在外,因为如果一个进入全0,不论反馈线多少或在哪些级,这种状态就不会再改变。所以,寄

存器的状态可以是非全0的12 n 状态之一。这个电路的输出序列是从寄存器移出的,尽管移位寄存器的状态每一移位节拍改变一次,但无疑地是循环的。如果反馈线所分

布的级次是恰当的,那么,移位寄存器的状态必然各态历经后才会循环。这里所谓“各

态历经”就是所有12-n 个状态都经过了。由此可见,应用n 级移位寄存器所产生的

序列的周期最长是12-n 。同时由于这种序列虽然是周期的,但当n 足够大时周期可

以很长,在一个周期内0和1的排列有很多不同方式,对每一位来说是0还是1,看来好像是随机的,所以又称为伪随机码;又因为它的某一些性质和随机噪声很相似,所以又称为伪噪声码(PN 码)。

1.1.1 线性反馈移位寄存器

图1-2 线性移位寄存器

由于带有反馈,因此在移位脉冲作用下,移位寄存器各级的状态将不断变化,通常移位寄存器的最后一级做输出,输出序列为

输出序列是一个周期序列。其特性由移位寄存器的级数、初始状态、反馈逻辑以及时钟速率(决定着输出码元的宽度)所决定。当移位寄存器的级数及时钟一定时,输出序列就由移位寄存器的初始状态及反馈逻辑完全确定。当初始状态为全零状态时,移位寄存器输出全 0 序列。为了避免这种情况,需设置全 0 排除电路。

(1)线性反馈移位寄存器的递推关系式

递推关系式又称为反馈逻辑函数或递推方程。设图10-1 所示的线性反馈移位寄存器的初始状态为(a0a1…a n-2a n-1),经一次移位线性反馈,移位寄存器左端第一级的输入为

若经k次移位,则第一级的输入为

其中,l=n+k-1≥n, k=1,2,3,…

(2)

用多项式f(x)来描述线性反馈移位寄存器的反馈连接状态:

若一个n次多项式f(x)

①f(x)为既约多项式(即不能分解因式的多项式)

②f(x)可整除(x p+1), p=2n-

③f(x)除不尽(x q+1), q

则称f(x)为本原多项式。

2 m序列的性质

2.1 均衡性

在一个周期中,m 序列中“1”的个数比“0”的个数多一个。N级移位寄存器有2n状态,这些状态对应二进制有一半为偶数(即末位数为0),另一半为奇数(即末尾数为1)。m序列一个周期经历2n-1个状态,少一个全0状态(属于偶数状态),因此在一个周期中“1”的个数比“0”的个数多一个。

例如,级数n=3,码序列周期P=23-1=7时,起始状态为“111”,Ci=(13)

8=(1011)

2

,

即C0=1、C1=0、C2=1、C3=1。产生的m序列为1110010,其中码元为“1”的有4个,码元为“0”的有3个,即在一个周期中“1”的个数比“0”多一个。

2.2游程特性

长度为k的游程数占游程总数的1/2k。一个周期中长度为1的游程数占游程总数的1/2;长度为2的游程数占游程总数的1/4;其中1<=k<=n-1。

2.3 移位相加特性

一个m序列与其循环移位逐次比较,相同码的位数与不同码的位数相差1位。例如原序列{Xi}=1110010,那么右移2位的序列{Xi-2}=0011101.

2.4 自相关特性

m序列具有非常重要的自相关特性。在m序列中,常常用+1代表0,用-1代表1。此时定义:设长为p的m序列,记作

经过j次移位后,m序列为

其中a

i+p

=a i(以p 为周期),以上两序列的对应项相乘然后相加,利用所得的总和

来衡量一个m序列与它的j次移位序列之间的相关程度,并把它叫做m序列(a1,a2,a3,…,a p)的自相关函数。记作

经过j次移位后,m序列为

=a i(以p 为周期),以上两序列的对应项相乘然后相加,利用所得的总和其中a

i+p

来衡量一个m序列与它的j次移位序列之间的相关程度,并把它叫做m序列(a1,a2,a3,…,a p)的自相关函数。记作

当采用二进制数字 0 和 1 代表码元的可能取值时

由移位相加特性可知,仍是m序列中的元素,所以式(10-7)分子就等于m序列中一个周期中 0 的数目与 1 的数目之差。另外由m序列的均衡性可知,在一个周期中 0 比 1 的个数少一个,故得A-D=-1(j为非零整数时)或p(j为零时)。因此得

m序列的自相关函数只有两种取值(1和-1/p)。R(j)是一个周期函数,即

式中,k=1,2,…, p=(2n-1)为周期。而且R(j)是偶函数,即

图2-1 m序列自相关函数

2.5 伪噪声特性

如果我们对一个正态分布白噪声取样,若取样值为正,记为+1,取样值为负,记为-1,将每次取样所得极性排成序列,可以写成

…+1,-1,+1,+1,+1,-1,-1,+1,-1,…

(1) 序列中+1 和-1

2) 序列中长度为 1 的游程约占 1/2,长度为 2 的游程约占 1/4,长度为 3 的游程约占1/8, …一般地,长度为k的游程约占1/2k,而且+1, -1 游程的数目各占一

(3) 由于白噪声的功率谱为常数,因此其自相关函数为一冲击函数δ(τ)。

3 m序列的应用

3.1 扩展频谱通信

扩展频谱通信(Spread Spectrum Communication)是将待传送的信息数据被伪随机编码(扩频序列:Spread Sequence)调制,实现频谱扩展后再传输,接收端则采用同样的编码进行解调及相关处理,恢复原始信息数据。显然,这种通信方式与一般常见的窄带通信方式相反,是在扩展频谱后,宽带通信,再相关处理恢复成窄带后解调数据。扩展频谱通信方式有许多优点,如抗干扰、抗噪音、抗多径衰落、低功率谱密度下工作、有保密性、可多址复用和任意选址、高精度测量等。扩展频谱通信作为新型通信方式,特别引人注目,得到了迅速发展,如今在移动通信、卫星通信、宇宙通信、雷达、导航以及测距等领域得到越来越广泛的应用。

扩频通信的优势主要来自于伪随机码具有白噪声的统计特性。而随着扩频速率的不断提高,扩频码的长度急剧增加,利用计算机设计并验证扩频码的各项指标能大大提高效率。m序列是伪随机序列中最重要的序列中的一种,是最长的线性移位寄存器序列。既然,m序列在扩频通信中占据着极其重要的位置,而对于m序列的产生及仿真的研究,自然也就有很大的必要性。

在雷达信号设计中的应用

近年兴起的扩展频谱雷达所采用的信号是已调制的具有类似噪声性质的伪随机序列,它具有很高的距离分辨力和速度分辨力。这种雷达的接收机采用相关解调的方式工作,能够在低信噪比的条件下工作,同时具有很强的抗干扰能力。该型雷达实质上是一种连续波雷达,具有低截获概率性,是一种体制新、性能高、适应现代高技术战争需要的雷达。采用伪随机序列作为发射信号的雷达系统具有许多突出的优点。首先,它是一种连续波雷达,可以较好地利用发射机的功率。其次,它在一定的信噪比时,能够达到很好的测量精度,保证测量的单值性,比单脉冲雷达具有更高的距离分辨力和速度分辨力。最后,它具有较强的抗干扰能力,敌方要干扰这种宽带雷达信号,将比干扰普通的雷达信号困难得多。

在通信系统中的应用[1]

伪随机序列是一种貌似随机,实际上是有规律的周期性二进制序列,具有类似噪声序列的性质,在CDMA中,地址码都是从伪随机序列中选取的,在CDMA中使用一种最易实现的伪随机序列:m序列,利用m序列不同相位来区分不同用户;为了数据安

全,在CDMA的寻呼信道和正向业务信道中使用了数据掩码(即数据扰乱)技术,其方法是用长度为2的42次方减1的m序列用于对业务信道进行扰码(注意不是扩频),它在分组交织器输出的调制字符上进行,通过交织器输出字符与长码PN码片的二进制模工相加而完成。

扩展频谱技术的理论基础是山农公式。对于加性白高斯噪声的连续信道,其信道容量C与信道传输带宽B及信噪比S/N之间的关系可以用下式表示

这个公式表明,在保持信息传输速率不变的条件下,信噪比和带宽之间具有互换关系。就是说,可以用扩展信号的频谱作为代价,换取用很低信噪比传送信号,同样可以得到很低的差错率。

(1)

(2) 信号的功率谱密度很低,

(3) 有利于加密,

(4)

(5)

(6)

扩频通信系统的工作方式有:直接序列扩频、跳变频率扩频、跳变时间扩频和混合式扩频。

3.2 通信加密

图 3-1 m序列加密

m序列自相关性较好,容易产生和复制,而且具有伪随机性,利用m序列加密数字信号使加密后的信号在携带原始信息的同时具有伪噪声的特点,以达到在信号传输的过程中隐藏信息的目的;在信号接收端,再次利用m序列加以解密,恢复出原始信号。

4 开发工具简介

4.1 Quartus II简介

Quartus? II design 是最高级和复杂的,用于system-on-a-programmable-chip (SOPC)的设计环境。 QuartusII design 提供完善的 timing closure 和 LogicLock?基于块的设计流程。QuartusII design是唯一一个包括以timing closure 和基于块的设计流为基本特征的programmable logic device (PLD)的软件。 Quartus II 设计软件改进了性能、提升了功能性、解决了潜在的设计延迟等,在工业领域率先提供FPGA与mask-programmed devices开发的统一工作流程。

Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。当前官方提供下载的最新版本是v12.1。

Altera Quartus II (3.0和更高版本)设计软件是业界唯一提供FPGA和固定功能HardCopy器件统一设计流程的设计工具。工程师使用同样的低价位工具对Stratix FPGA进行功能验证和原型设计,又可以设计HardCopy Stratix器件用于批量成品。系统设计者现在能够用Quartus II软件评估HardCopy Stratix器件的性能和功耗,相应地进行最大吞吐量设计。

Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。该软件有如下几个显著的特点:1、Quartus II 的优点

该软件界面友好,使用便捷,功能强大,是一个完全集成化的可编程逻辑设计环境,是先进的EDA工具软件。该软件具有开放性、与结构无关、多平台、完全集成化、丰富的设计库、模块化工具等特点,支持原理图、VHDL、VerilogHDL以及AHDL (Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。

Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。

2、Quartus II对器件的支持

Quartus II支持Altera公司的MAX 3000A系列、MAX 7000系列、MAX 9000系列、ACEX 1K系列、APEX 20K系列、APEX II系列、FLEX 6000系列、FLEX 10K系列,支持MAX7000/MAX3000等乘积项器件。支持MAX II CPLD系列、Cyclone系列、Cyclone II、Stratix II系列、Stratix GX系列等。支持IP核,包含了LPM/MegaFunction 宏功能模块库,用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。3、Quartus II对第三方EDA工具的支持

对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三放EDA工具。

Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA 供应商的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添了FastFit 编译选项,推进了网络编辑性能,而且提升了调试能力。

4.2 数字系统开发流程

(1)设计输入:包括原理图输入、HDL文本输入、EDIF网表输入、波形输入等几种方式。

(2)编译:先根据设计要求设定编译方式和编译策略,如器件的选择、逻辑综合方式的选择等;然后根据设定的参数和策略对设计项目进行网表提取、逻辑综合、器件适配,并产生报告文件、延时信息文件及编程文件,供分析、仿真和编程使用。(3)仿真与定时分析:仿真和定时分析均属于设计校验,其作用是测试设计的逻辑功能和延时特性。仿真包括功能仿真和时序仿真。定时分析器可通过三种不同的分析模式分别对传播延时、时序逻辑性能和建立/保持时间进行分析。

(4)编程与验证:用得到的编程文件通过编程电缆配置PLD,加入实际激励,进行在线测试。

在设计过程中,如果出现错误,则需重新回到设计输入阶段,改正错误或调整电路后重新测试。

4.2 FPGA简介

FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

目前以硬件描述语言(Verilog 或 VHDL)所完成的电路设计,可以经过简

单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。FPGA 一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。另外一种方法是用CPLD(复杂可编程逻辑器件备)。

CPLD与FPGA的关系

早在1980年代中期,FPGA已经在PLD设备中扎根。CPLD和FPGA包括了一些相对大数量的可以编辑逻辑单元。CPLD逻辑门的密度在几千到几万个逻辑单元之间,而FPGA通常是在几万到几百万。CPLD和FPGA的主要区别是他们的系统结构。CPLD 是一个有点限制性的结构。这个结构由一个或者多个可编辑的结果之和的逻辑组列和一些相对少量的锁定的寄存器。这样的结果是缺乏编辑灵活性,但是却有可以预计的

延迟时间和逻辑单元对连接单元高比率的优点。而FPGA却是有很多的连接单元,这样虽然让它可以更加灵活的编辑,但是结构却复杂的多。CPLD和FPGA另外一个区别是大多数的FPGA含有高层次的内置模块(比如加法器和乘法器)和内置的记忆体。一个因此有关的重要区别是很多新的FPGA支持完全的或者部分的系统内重新配置。允许他们的设计随着系统升级或者动态重新配置而改变。一些FPGA可以让设备的一部分重新编辑而其他部分继续正常运行。

FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。

一、采用FPGA设计ASIC电路(特定用途集成电路),用户不需要投片生产,就能得到合用的芯片。二、FPGA可做其它全定制或半定制ASIC电路的中试样片。

三、FPGA内部有丰富的触发器和I/O引脚。四、FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。五、FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。 FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA 进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。

FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。如何实现快速的时序收敛、降低功耗和成本、优化时钟管理并降低FPGA与PCB并行设计的复杂性等问题,一直是采用FPGA的系统设计工程师需要考虑的关键问题。如今,随着FPGA向更高密度、更大容量、更低功耗和集成更多IP的方向发展,系统设计工程师在从这些优异性能获益的同时,不得不面对由于FPGA前所未有的性能和能力水平而带来的新的设计挑战。例如,领先FPGA厂商Xilinx最近推出的Virtex-5系列采用65nm 工艺,可提供高达33万个逻辑单元、1,200个I/O和大量硬IP块。超大容量和密度

使复杂的布线变得更加不可预测,由此带来更严重的时序收敛问题。此外,针对不同应用而集成的更多数量的逻辑功能、DSP、嵌入式处理和接口模块,也让时钟管理和电压分配问题变得更加困难。幸运地是,FPGA厂商、EDA工具供应商正在通力合作解决65nm FPGA独特的设计挑战。不久以前,Synplicity与Xilinx宣布成立超大容量时序收敛联合工作小组,旨在最大程度地帮助系统设计工程师以更快、更高效的方式应用65nm FPGA器件。设计软件供应商Magma推出的综合工具Blast FPGA能帮助建立优化的布局,加快时序的收敛。最近FPGA的配置方式已经多元化!

FPGA主要生产厂商

1、Altera

2、Xilinx

3、Actel

4、Lattice 其中Altera和Xilinx主要生产一般用途FPGA,其主要产品采用RAM工艺。Actel主要提供非易失性FPGA,产品主要基于反熔丝工艺和FLASH工艺。

FPGA设计的注意事项:

不管你是一名逻辑设计师、硬件工程师或系统工程师,甚或拥有所有这些头衔,只要你在任何一种高速和多协议的复杂系统中使用了FPGA,你就很可能需要努力解决好器件配置、电源管理、IP集成、信号完整性和其他的一些关键设计问题。不过,你不必独自面对这些挑战,因为在当前业内领先的FPGA公司里工作的应用工程师每天都会面对这些问题,而且他们已经提出了一些将令你的设计工作变得更轻松的设计指导原则和解决方案。

I/O信号分配

可提供最多的多功能引脚、I/O标准、端接方案和差分对的FPGA在信号分配方面也具有最复杂的设计指导原则。尽管Altera的FPGA器件没有设计指导原则(因为它实现起来比较容易),但赛灵思的FPGA设计指导原则却很复杂。但不管是哪一种情况,在为I/O引脚分配信号时,都有一些需要牢记的共同步骤: 1. 使用一个电子数据表列出所有计划的信号分配,以及它们的重要属性,例如I/O标准、电压、需要的端接方法和相关的时钟。 2. 检查制造商的块/区域兼容性准则。 3. 考虑使用第二个电子数据表制订FPGA的布局,以确定哪些管脚是通用的、哪些是专用的、哪些支持差分信号对和全局及局部时钟、哪些需要参考电压。 4. 利用以上两个电子数据表的信息和区域兼容性准则,先分配受限制程度最大的信号到引脚上,最后分配受限制最小的。例如,你可能需要先分配串行总线和时钟信号,因为它们通常只分配到一些特定引脚。 5. 按照受限制程度重新分配信号总线。在这个阶段,

可能需要仔细权衡同时开关输出(SSO)和不兼容I/O标准等设计问题,尤其是当你具有很多个高速输出或使用了好几个不同的I/O标准时。如果你的设计需要局部/区域时钟,你将可能需要使用高速总线附近的管脚,最好提前记住这个要求,以免最后无法为其安排最合适的引脚。如果某个特定块所选择的I/O标准需要参考电压信号,记住先不要分配这些引脚。差分信号的分配始终要先于单端信号。如果某个FPGA提供了片内端接,那么它也可能适用于其他兼容性规则。 6. 在合适的地方分配剩余的信号。在这个阶段,考虑写一个只包含端口分配的HDL文件。然后通过使用供应商提供的工具或使用一个文本编辑器手动创建一个限制文件,为I/O标准和SSO 等增加必要的支持信息。准备好这些基本文件后,你可以运行布局布线工具来确认是否忽视了一些准则或者做了一个错误的分配。这将使你在设计的初始阶段就和布局工程师一起工作,共同规划PCB的走线、冗余规划、散热问题和信号完整性。FPGA 工具可能可以在这些方面提供帮助,并协助你解决这些问题,因此你必须确保了解你的工具包的功能。你咨询一位布局专家的时间越晚,你就越有可能需要去处理一些复杂的问题和设计反复,而这些可能可以通过一些前期分析加以避免。一旦你实现了满意的信号分配,你就要用限制文件锁定它们。------------------- 基于CMOS的设计主要消耗三类功率:内部的(短路)、漏电的(静态的)以及开关的(电容)。当门电路瞬变时,VDD与地之间短路连接消耗内部功率。漏电功耗是CMOS 工艺普遍存在的寄生效应引起的。而开关功耗则是自负载电容,放电造成的。开关功耗与短路功耗合在一起称为动态功耗。下面介绍降低静态功耗和动态功耗的设计技巧。

电路设计中FPGA的应用:连接逻辑,控制逻辑是FPGA早期发挥作用比较大的领域也是FPGA应用的基石.事实上在电路设计中应用FPGA的难度还是比较大的这要求开发者要具备相应的硬件知识(电路知识)和软件应用能力(开发工具)这方面的人才总是紧缺的,往往都从事新技术,新产品的开发成功的产品将变成市场主流基础产品供产品设计者应用在不远的将来,通用和专用IP的设计将成为一个热门行业!搞电路设计的前提是必须要具备一定的硬件知识.在这个层面,干重于学,当然,快速入门是很重要的,越好的位子越不等人电路开发是黄金饭碗.

产品设计:把相对成熟的技术应用到某些特定领域如通讯,视频,信息处理等等开发出满足行业需要并能被行业客户接受的产品这方面主要是FPGA技术和专业技术的结合问题,另外还有就是与专业客户的界面问题产品设计还包括专业工具类产品及

民用产品,前者重点在性能,后者对价格敏感产品设计以实现产品功能为主要目的,FPGA技术是一个实现手段在这个领域,FPGA因为具备接口,控制,功能IP,内嵌CPU 等特点有条件实现一个构造简单,固化程度高,功能全面的系统产品设计将是FPGA 技术应用最广大的市场,具有极大的爆发性的需求空间产品设计对技术人员的要求比较高,路途也比较漫长不过现在整个行业正处在组建"首发团队"的状态,只要加入,前途光明产品设计是一种职业发展方向定位,不是简单的爱好就能做到的!产品设计领域会造就大量的企业和企业家,是一个近期的发展热点和机遇。

系统级的应用是FPGA与传统的计算机技术结合,实现一种FPGA版的计算机系统如用Xilinx V-4, V-5系列的FPGA,实现内嵌POWER PC CPU, 然后再配合各种外围功能,实现一个基本环境,在这个平台上跑LINUX等系统这个系统也就支持各种标准外设和功能接口(如图象接口)了这对于快速构成FPGA大型系统来讲是很有帮助的。这种"山寨"味很浓的系统早期优势不一定很明显,类似ARM系统的境况但若能慢慢发挥出FPGA的优势,逐渐实现一些特色系统也是一种发展方向。若在系统级应用中,开发人员不具备系统的扩充开发能力,只是搞搞编程是没什么意义的,当然设备驱动程序的开发是另一种情况,搞系统级应用看似起点高,但不具备深层开发能力,很可能会变成爱好者,就如很多人会做网页但不能称做会编程类似以上是几点个人开发,希望能帮助想学FPGA但很茫然无措的人理一理思路。这是一个不错的行业,有很好的个人成功机会。但也肯定是一个竞争很激烈的行业,关键看的就是速度和深度当然还有市场适应能力。

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

m序列产生及其特性实验

湖南科技大学 移动通信实验报告 姓 名: 吴文建 学 号: 1208030104 专业班级: 应用电子技术教育一班 实验名称: m 序列产生及其特性实验 实验目的: 掌握m 序列的特性、产生方法及其应用 实验仪器:1、pc 机一台 2、 实验原理: 1、m 序列的产生 :m 序列是由带线性反馈的移存器产生的。结构如图: a n-1 a n-r ... a n-3 a n-2 C 1 C r C 3C 2 ...C 0 输出 输出为反馈移位寄存器的结构,其中an-i 为移位寄存器中每位寄存器的状态,Ci 为第i 位寄存器的反馈系数。Ci =1表示有反馈,Ci =0表示无反馈。 一个线性反馈移位寄存器能否产生m 序列,取决于它的反馈系数Ci (例如上图的C3)。 对于m 序列,Ci 的取值必须按照一个本原多项式: ∑==n i i i x C x f 0 )(中的二进制系数来取值。 n 级移位寄存器可以产生的m 序列个数由下式决定: r N r ) 12(-Φ= 其中φ(x )为欧拉函数,表示小于等于x 并与x 互质的正整数个数(包括1在内)。 表1-1-1列出了部分m 序列的反馈系数C i ,按照下表中的系数来构造移位寄存器,就能产生相应的m 序列。

表1-1-1 m序列的反馈系数表 m序列的级数n m序列的周期P 反馈系数Ci(八机制) 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 9 511 1021,1055,1131,1157,1167,1175 10 1023 2011,2033,2157,2443,2745,3271 11 2047 4005,4445,5023,5263,6211,7363 12 4095 10123,11417,12515,13505,14127,15053 13 8192 20033,23261,24633,30741,32535,37505 14 16383 42103,51761,55753,60153,71147,67401 15 32765 100003,110013,120265,133663,142305 m序列的具有以下性质: (1)均衡性。m序列中0和1的数目基本相等 (2)游程分布 (3)移位相加性 (4)相关特性。自相关波形如图1-1-3所示 -1/p 1 P 图1-1-3 m序列的自相关波形(5)周期性 (6)伪随机性。分布无规律,具有与白噪声相似的伪随机特性 实验步骤: (1)预习m序列产生原理及其性质,独立设计m序列产生方法。 (2)画出m序列仿真流程图 (3)编写MATLAB程序并上机调试。 (4)验证m序列的相关性质。 (5)撰写实验报告。

序列信号发生器分析

华南师范大学实验报告 学生姓名林竞浩李瑜贤学号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的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的幂次表示元素的相应位置。该式为线性反馈移位寄存器的特征

三位二进制加法计数器、序列信号发生器的设计、用集成芯片设计一个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)时序电路的分析过程:根据给定的时序电路,写出各触发器的驱动方程,输出方程,

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序列产生实验

m序列产生实验 一、实验目的 1、m序列产生的基本方法; 2、m序列0状态消除的基本手段; 二、实验仪器 1、JH5001型通信原理实验箱一台; 2、MaxplusII开发环境一台; 3、JTAG下载电缆一根; 4、CPLD下载板一块; 5、微机一台; 6、示波器一台; 三、实验原理 m序列产生电路在通信电路设计中十分重要,它广泛使用在扩频通信、信号产生、仪器仪表等等电路中。 m序列有时也称伪噪声(PN)或伪随机序列,在一段周期内其自相关性类似于随机二进制序列。尽管伪噪声序列是确定的,但其具有很多类似随机二进制序列的性质,例如0和1的数目大致相同,将序列平移后和原序列的相关性很小。 PN序列通常由序列逻辑电路产生,一般是由一系列的两状态存储器和反馈逻辑电路构成。二进制序列在时钟脉冲的作用下在移位寄存器中移动,不同状态的输出逻辑组合起来并反馈回第一级寄存器作为输入。当反馈由独立的“异或”门组成(通常是这种情况),此时移位寄存器称为线性PN序列发生器。 如果线性移位寄存器在某些时刻到达零状态,它会永远保持零状态不变,因此输出相应地变为全零序列。因为n阶反馈移位寄存器只有2n-1个非零状态,所以由n阶线性寄存器生成的PN序列不会超过2n-1个。周期为2n-1的线性反馈寄存器产生的序列称为最大长度(ML)序列——m序列。

m 序列发生器的一般组成 m 序列发生器一般组成如上图所示,它用n 级移位寄存器作为主支路,用若干级模2加法器作为各级移位寄存器的抽头形成线性反馈支路。各抽头的系数hi 称为反馈系数,它必须按照某一个n 次本原多项式:∑==n i i i x h x h 0)(中的二进制 系数来取值。 在伪序列发生模块中,可以根据本原多项式的系数,…..h 8、h 7、h 6、h 5、h 4、h 3、h 2、h 1、h 0产生m 序列,这些系数可表示8进制数(1代表相连抽头进入反馈回路,0代表该抽头不进入反馈回路),如: 13、23、103、203 四、 课题设计要求 在输入时钟256KHz 的时钟作用下,可在外部跳线器的控制下改变产生不同的m 序列,在程序中定义的几个变量为: 输入: Main_CLK :输入 256KHz 主时钟 M_Sel[1..0]:选择输出不同的m 序列 当 Mode[]=0:本原多项式为13(8进制表示); 当 Mode[]=1:本原多项式为23(8进制表示); 当 Mode[]=2:本原多项式为103(8进制表示); 当 Mode[]=3:本原多项式为203(8进制表示); 输出: M_Out :m 序列输出 说明: 1、 M_Sel[1..0]与复接模块的m_sel0、m_sel1相连; M_Out 在测试点TPB01输出; 五、 实验步骤 1、将JH5001二次开发光盘内的基本程序m.tdf 及其它相关程序(在光盘的“2th\student_m ”子目录下)拷入机器内。注意:这里面有基本的程序框架(变量定义、主程序入口),在m.acf 文件中所有定义不要改动,特别是

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

南昌大学实验报告 学生姓名:学号:专业班级: 实验类型:□验证□综合□设计□创新实验日期:实验成绩: 实验三序列信号检测器设计 (一)实验目的 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,根据其总体设计思路设计 出如下原理图:

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

一、实验目的 通过本实验掌握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序列发生器设计实现

河南师范大学设计性实验报告 学期: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序列周期的过程中,出现了周期同预期不符合的情况,最终发现 是输入脉冲时出现了问题。

数电实验报告 序列信号发生器

实验报告 实验八序列信号发生器 2.8.1实验目的 (1)熟悉掌握EDA软件工具Multisim的仿真测试应用。 (2)熟悉序列信号发生器的工作原理。 (3)学习序列信号发生器的设计方法。 2.8.2实验仪器设备与主要器件 实验箱一个;双踪示波器一台;稳压电源一台。 4位十进制加法计数器74LS160;4位二进制加法计数器74LS161。 8选1数据选择器74LS251、74LS152和74LS151。 2.8.3实验原理 序列信号是按照一定规则排列的周期性串行二进制码。 1.计数型序列信号发生器 设计过程分为如下两步: ①根据数列码的长度p设计模p计数器,状态可以任意。 ②按计数器的状态转换关系和序列码的要求设计组合输出电路。由于计数器的状态设置和输出序列没有直接关系,因此这种结构对输出序列的更改比较方便,而且还能够同时产生多组序列码。 2.2.移位型序列信号发生器 移位型数字信号发生器是由移位寄存器和组合反馈电路组成的。组合电路的输出,作为移位寄存器的串行输入。由n位寄存器构成的序列信号发生器所产生的序列信号的最大长度为P=2n。 设Q3Q2Q1Q0的初始状态为1110,在CP作用下,Q3的输出为...110011110011...。在这种序列信号的每个循环周期内,代码1和0是按一定规律排列的。在每个循环周期内,包含代码的个数称为循环长度,也称序列长度,用字母P表示。因前面的序列信号110011是一个信号周期,则P=6。如果有Q2输出序列为111001,Q1输出序列为111100,Q0输出序列则为011110。显然这四个序列0和1的排列相同,初始相位不同而已。 2.8.4实验内容 (1)用计数器74LS160设计一个7位巴克码(010011)的产生电路,画出电路时序图。用示波器观察电路输出波形。 设计思路:输出序列信号与计数器的对映关系式: Y’= 0——1——0——0——1——1——1

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

设计序列信号发生器

数码电子学实验 设计序列信号发生器 报告人: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

M序列发生器

M 序列发生器 M 序列(即De Bruijn 序列)又叫做伪随机序列、伪噪声(PN)码或伪随机码。可以预先确定并且可以重复实现的序列称为确定序列;既不能预先确定又不能重复实现的序列称随机序列;不能预先确定但可以重复产生的序列称伪随机序列。 m 序列发生器是一种反馈移位型结构的电路,它由n 级移位寄存器加异或反馈网络组成,其生成序列长度p =2n -1,且只有1 个冗余状态即全0 状态,所以称为最长线性反馈移位寄存器序列。由于带有反馈,因此在移位脉冲作用下,移位寄存器各级的状态将不断变化,通常移位寄存器的最后一级做输出,输出序列为[a k ]=a 0a 1…a n -1…。其组成框图如图3.1所示。 输出序列是一个周期序列,其特性由移位寄存器的级数、初始状态、反馈逻辑以及时钟速率(决定着输出码元的宽度)所决定。当移位寄存器的级数与时钟确定时,输出序列就由移位寄存器的初始状态和反馈逻辑所完全确定。当初始状态为全零状态时,移位寄存器输出全0 序列。为了避免这种情况,需设置全0 排除电路。 数字基带信号V 1的本原多项式为84321)(x x x x x f ++++=,作为8级m 序列其最长时间周期为28-1=255,即第2,3,4,8级参与反馈经异或后送入第1 级。所设计的8级m 序列如图3.3所示。 图3.1 m 序列组成框图 a n-11a n-22a 1n-1a 0n C 1C 2C n-1C n =1C 0=1 输出{a k }

依据上图原理,设计了一种通过手动置数产生M 序列的电路,其电路设计如图3.4所示,该图由Protel SE99绘制,再根据该图搭建硬件电路,图中的单刀开关可以用拨码开关代替。 电路分析:全0状态时,采用此方法设计的m 序列发生器不具有自启动特性。为了使电路启动,可以断开开关S 1,将74LS194 的工作方式控制端S 1置高电平,这时S 1和S 0均为高电平,即S 1S 0=11,74LS194 处于置数状态,把输入端的初始状态10000000 置到输出端。然后再闭合开关S 1,使74LS194 的工作方式控制端S 1处于低电平状态。这时工作方式控制端S 1与S 0分别为低电平和高电平,即S 1S 0=01,74LS194 处于右移状态,在时钟作用下通过不断移位产生m 序列,由后级芯片的Q D 即12引脚输出。 图3.3 8级m 序列发生器原理框图 a 71a 6 2a 53a 44a 35a 26a 17a 08输出a{k}图3.4 数字基带信号发生器电路

M序列原理及代码

1、m序列 1.1概述 1.1.1实验原理 (1)m序列概念和用途 ①概念: m序列是由n级线性移位寄存器产生的周期为P=2^n-1的码序列,是最长线性移位寄存器序列的简称。 ②用途: 码分多址系统主要采用两种长度的m序列:一种是周期为P=2^15-1的m 序列,又称为短PN序列;另一种是周期为P=2^42-1的m序列,又称为长PN 序列。 (2)m序列的产生 ①4级m序列的码序列发生器 假设初始状态为0001,在时钟作用下,产生的m序列的状态表。 4级m序列的周期P=24-1=15,相应的输出序列为:100010011010111。

②线性移位反馈移位寄存器反馈系数Ci ③m序列特性 均衡性:在一个周期中,m序列中“1”的个数比“0”的个数多1个。 游程特性:长度为k的游程数占游程总数的1/2^k 移位相加特性:一个m序列与其循环移位逐位比较,相同码的位数与不同码的位数相差1位。 自相关特性:表征一个信号与延迟后自身信号的相似性。 ④m序列的构造——反馈线性反馈移存器

1.1.2实验意义 m序列是目前广泛应用的一种伪随机序列,在所有的伪随机序列中,m序列是最重要、最基本的一种伪随机序列。它容易产生,规律性强,有很好的自相关性和较好的互相关特性。m序列的生成是接下来的实验的基础,具有指导性的意义。 1.1.3系统的主要功能 设计本原多项式系数为13、23、103、203的m序列。 1.1.4使用方法 输入m后,输出相应的m序列。 1.2程序设计 1.2.1设计思想 由m序列的产生过程,即通过带反馈的移位寄存器产生,容易想到EDA中的结构化的程序设计思想,即以DFF触发器作为底层文件,进行顶层文件设计,获得m序列。此设计的优点是程序思路简单,结构清晰,只要做出一种反馈系数的m序列,容易得到其他反馈系数的m序列;但也存在缺点,那就是结构化的设计使得代码写的过长。

Proteus数电仿真序列信号发生器电路设计

(Proteus数电仿真)序列信号发生器电路设计

————————————————————————————————作者:————————————————————————————————日期:

实验8 序列信号发生器电路设计 一、实验目的: 1.熟悉序列信号发生器的工作原理。 2.学会序列信号发生器的设计方法。 3.熟悉掌握EDA软件工具Proteus 的设计仿真测试应用。 二、实验仪器设备: 仿真计算机及软件Proteus 。 74LS161、74LS194、74LS151 三、实验原理: 1、反馈移位型序列信号发生器 反馈移位型序列信号发生器的结构框图如右图 所示,它由移位寄存器和组合反馈网络组成, 从寄存器的某一输出端可以得到周期性的序列 码。设计按一下步骤进行: (1)确定位移寄存器位数n ,并确定移位 寄存器的M 个独立状态。 CP 将给定的序列码按照移位规律每 n 位一组,划分为M 个状态。若M 个状态中出 现重复现象,则应增加移位寄存器的位数。用n+1位再重复上述过程,直到划分 为M 个独立状态为止。 (2)根据M 各不同状态列出寄存器的态序表和反馈函数表,求出反馈函数F 的 表达式。 (3)检查自启动性能。 (4)画逻辑图。 2、计数型序列信号发生器 计数型序列信号发生器和组合的结构框图 如图 所示。它由计数器和组合输出网络两部分 组成,序列码从组合输出网络输出。设计 过程分为以下两步: CP (1)根据序列码的长度M 设计模M 计数器,状态可以自己定。 (2)按计数器的状态转移关系和序列码的要求组合输出网络。由于计数器的状 态设置和输出序列没有直接关系,因此这种结构对于输出序列的更改比较方便, 而且还能产生多组序列码。 四、计算机仿真实验内容及步骤、结果: 1、设计一个产生100111序列的反馈移位型序列信号发生器。 1、根据电路图在protuse 中搭建电路图 组合反Q1 Q2 Qn 组合输Q1 Q2 Qn

基于Matlab的m序列发生器的00

目录 第一章绪论..................................................................................................................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结论. (24) 参考文献 (25) 附录一:程序代码 (26)

1-m序列的产生

1 m 序列的产生 使用的本源多项式是651)(x x x F ++= ,M = 31 查表n=6,可得到相应的反馈网络的函数f 为(6,5),反馈f 表示为: 根据f 的反馈函数,假设初始状态为111000,可以写出其64-1=63长度的序列信号;具体做法为:将每一列的6和5位置的数字相异或,得到的数字放在下一行的1位置,该行的54321位置上的数字移到下一行的65432位置上,合成下一行的6位数字。 初始状态为111000,则真值表为: 6 5 4 3 2 1 1 1 1 1 0 0 0 2 1 1 0 0 0 0 3 1 0 0 0 0 0 4 0 0 0 0 0 1 5 0 0 0 0 1 0 6 0 0 0 1 0 0 7 0 0 1 0 0 0 8 0 1 0 0 0 0 9 1 0 0 0 0 1 10 0 0 0 0 1 1 11 0 0 0 1 1 0 12 0 0 1 1 0 0 13 0 1 1 0 0 0 14 1 1 0 0 0 1 15 1 0 0 0 1 0 16 0 0 0 1 0 1 17 0 0 1 0 1 0 18 0 1 0 1 0 0 19 1 0 1 0 0 1 65Q Q f ⊕=

20 0 1 0 0 1 1 21 1 0 0 1 1 1 22 0 0 1 1 1 1 23 0 1 1 1 1 0 24 1 1 1 1 0 1 25 1 1 1 0 1 0 26 1 1 0 1 0 0 27 1 0 1 0 0 0 28 0 1 0 0 0 1 29 1 0 0 0 1 1 30 0 0 0 1 1 1 31 0 0 1 1 1 0 32 0 1 1 1 0 0 33 1 1 1 0 0 1 34 1 1 0 0 1 0 35 1 0 0 1 0 0 36 0 0 1 0 0 1 37 0 1 0 0 1 0 38 1 0 0 1 0 1 39 0 0 1 0 1 1 40 0 1 0 1 1 0 41 1 0 1 1 0 1 42 0 1 1 0 1 1 43 1 1 0 1 1 1 44 1 0 1 1 1 0 45 0 1 1 1 0 1 46 1 1 1 0 1 1 47 1 1 0 1 1 0 48 1 0 1 1 0 0 49 0 1 1 0 0 1 50 1 1 0 0 1 1 51 1 0 0 1 1 0

相关文档
最新文档