01实验一 伪随机码发生器实验
伪随机码发生器研究与设计
伪随机码发生器的研究与设计Pseudo-random code generator Research and Design摘要伪随机序列产生技术是集数学、计算机科学、电子与通信等诸多学科于一身的技术,其产生技术自上世纪末至今一直是国内外的研究热点并取得了不少的成果。
伪随机码越来越受到人们的重视,被广泛应用于导弹、卫星、飞船轨道测量和跟踪、雷达、导航、移动通信、保密通信和通信系统性能的测量以及数字信息处理系统中。
目前国内外均有项目研究提高伪随机序列发生器可靠性、状态利用率等问题。
本课题介绍了伪随机码的应用和研究概况,研究了伪随机码的产生方式和产生原理,并以此为基础阐述了一种基于移位寄存器的m序列伪随机码发生器的设计与实现的方法。
最终在使用集成电路的前提下,先分析由移位寄存器电路构成的伪随机序列发生器的设计方法,分步设计了移位寄存器电路和同步复位信号发生电路;再通过一系列的误差和可靠性调整设计,最终用小规模集成电路和外加时钟信号设计实现了线性反馈移位寄存器产生周期P=15的m序列,并且给出了完整的实现电路和时序分析结果。
关键词:伪随机码,绕码,m序列,移位寄存器ABSTRACTPseudo-random sequence generation technique is a mathematics, computer science, electronics and communication, and many other subjects in one of the technology, its production technology since the end of the century has been the research focus at home and abroad and made a lot of results.Pseudo-random code more and more attention, is widely used in missiles, satellites, spacecraft orbit measurement and tracking, radar, navigation, mobile communications, secure communications and communication system performance measurement and digital information processing system. Research projects at home and abroad are pseudo-random sequence generator to improve reliability, availability status and other issues.This topic describes the application of pseudo-random code and research overview of the pseudo-random code generation means and generating principle, and described as the basis for an m-sequence shift register based pseudo-random code generator of the design and implementation Approach. Final premise in the use of integrated circuits, the first shift register circuits of the pseudo-random sequence generator design, step by step design of the shift register circuit and the synchronous reset signal circuit; then through a series of errors and reliable Adjustment design, end-users and small-scale integrated circuit design of the clock signal applied to achieve a linear feedback shift register generating cycle P = 15 m-sequence and provides a complete implementation of the circuit and timing analysis. Key words:Pseudo-random code,Around the code, m sequence,Shift register目录摘要 (Ⅰ)ABSTRACT (Ⅱ)目录 (Ⅲ)1 绪论 (1)1.1 伪随机序列的研究概况 (1)1.2 伪随机序列的应用领域及其意义 (1)1.3 课题研究内容与难点 (2)2 伪随机序列发生器 (3)2.1 伪随机序列的定义及其特点 (3)2.2 伪随机序列的产生 (3)2.3 伪随机序列反馈函数 (4)3伪随机码发生器电路设计 (7)3.1 移位寄存器电路设计 (7)3.2置数功能电路设计 (7)3.3可靠性附加电路设计 (8)3.4元器件选型 (10)3.5整体电路图 (10)4电路时序分析 (12)4.1移位寄存器电路时序分析 (12)4.2完整电路时序分析 (12)结束语 (14)参考文献 (15)附录芯片逻辑引脚图及各型号性能对比 (16)致谢 (17)1 绪论1.1 伪随机码的研究概况伪随机码又称伪随机序列或伪噪声序列。
伪随机码生成器
M序列发生器M序列是最常用的一种伪随机序列,是一种线性反馈移位寄存器序列的简称。
带线性反馈逻辑的移位寄存器设定各级寄存器的初试状态后,在时钟的触发下,每次移位后各级寄存器状态都会发生变化。
其中一级寄存器(通常为末级)的输出,随着移位寄存器时钟节拍的推移会产生下一个序列,称为移位寄存器序列。
他是一种周期序列,周期与移位寄存器的级数和反馈逻辑有关。
以4级移位寄存器为例,线性反馈结构如下图:4级以为寄存器反馈图其中a4=a1+a0信号a4:a0禁止出现全0,否则将会出现全0,序列不变化。
实验仿真Code:library IEEE;use IEEE.STD_LOGIC_1164.ALL;-- Uncomment the following library declaration if using-- arithmetic functions with Signed or Unsigned values--use IEEE.NUMERIC_STD.ALL;-- Uncomment the following library declaration if instantiating -- any Xilinx primitives in this code.--library UNISIM;--use UNISIM.VComponents.all;entity random_4 isPort ( clk : in STD_LOGIC;reset : in STD_LOGIC;din : in STD_LOGIC_VECTOR (3 downto 0);dout : out STD_LOGIC_VECTOR (3 downto 0);load : in STD_LOGIC);end random_4;architecture Behavioral of random_4 issignal rfsr :std_logic_vector(3 downto 0);--signal temp:std_logic;beginprocess(clk,reset,load,din)beginif (reset ='1') thenrfsr <=(others =>'0');elsif (clk' event and clk='1') thenif(load ='1') then ----load =1rfsr<= din;elserfsr(3) <= rfsr(0) xor rfsr(1);rfsr(2 downto 0) <= rfsr(3 downto 1);end if;end if;end process;------signal rename----dout <= rfsr;end Behavioral;testbench:LIBRARY ieee;USE ieee.std_logic_1164.ALL;-- Uncomment the following library declaration if using-- arithmetic functions with Signed or Unsigned values--USE ieee.numeric_std.ALL;ENTITY random_testbench ISEND random_testbench;ARCHITECTURE behavior OF random_testbench IS-- Component Declaration for the Unit Under Test (UUT)COMPONENT random_4PORT(clk : IN std_logic;reset : IN std_logic;din : IN std_logic_vector(3 downto 0);dout : OUT std_logic_vector(3 downto 0);load : IN std_logic);END COMPONENT;--Inputssignal clk : std_logic := '0';signal reset : std_logic := '0';signal din : std_logic_vector(3 downto 0) := (others => '0'); signal load : std_logic := '0';--Outputssignal dout : std_logic_vector(3 downto 0);-- Clock period definitionsconstant clk_period : time := 10 ns;---variablesignal cnt: integer :=0;BEGIN-- Instantiate the Unit Under Test (UUT)uut: random_4 PORT MAP (clk => clk,reset => reset,din => din,dout => dout,load => load);-- Clock process definitionsclk_process :processbeginclk <= '0';wait for clk_period/2;clk <= '1';wait for clk_period/2;end process;-- Stimulus processstim_proc: process(clk)begin-- hold reset state for 100 ns. if(cnt = 0) then--initializationreset <= '1' after 100 ps;load <= '1' after 100 ps;din <="0001";cnt <= cnt +1;---elsif(cnt =1) thenreset <= '0' after 100 ps;load <= '1' after 100 ps;din <="0001";cnt <= cnt +1;elsif(clk' event and clk ='1') then reset <= '0' after 100 ps;load <= '0' after 100 ps;din <="0001";---executuecnt <= cnt +1;if(cnt = 100) thencnt <= 2;end if;end if;end process;END;。
伪随机码产生器实验
实验八伪随机码产生器实验一、实验实训目的1.了解扩频通信的原理2.掌握伪随机序列——m序列产生器的结构二、实验原理与说明信号的频带宽度与其脉冲宽度近似成反比。
很窄的脉冲序列的带宽很宽,因此如果用很窄的脉冲序列对所传信息进行调制,则可产生很宽频带的信号。
CDMA 蜂窝网移动通信系统就是采用这种方式获得扩频信号的。
所用的这种很窄的脉冲码序列称为扩频码序列。
用很窄的脉冲序列对所传信息进行调制的一种方式就是直接序列扩频。
直接序列扩频系统采用的很窄的脉冲序列——伪随机码在发端对要发送的信息码进行频谱展宽——扩频,在收端用相同的伪随机码序列进行解扩,然后将展宽的扩频信号还原成原始信息。
作为扩频码的伪随机码具有类似白噪声的特性,可以用一种周期性的脉冲信号来近似随机噪声的性能,称之为伪随机码或PN码。
用于扩频码的伪随机码常用的m序列。
m序列容易产生、规律性强等优良特性,目前的CDMA系统就是采用这种PN 序列---m序列来进行扩频通信的。
m序列是最长线性移位寄存器的简称,m序列具有与伪随机噪声类似的尖锐自相关特性,但它不是真正随机的,而是按照一定规律周期性变化,它的周期P=2n-1。
n称之为m序列的阶数,也是构成m序列产程器所用移位寄存器的级数。
可以用硬件电路来实现一个m序列。
以最简单的n=3的三级移位寄存器构成的m序列发生器如图1所示。
移位寄存器是D触发器(如74163),在时钟脉冲CP上升沿到来时,输出Q等于输入D。
中间第二、三级移位寄存器的输出Q2和Q3经模2加(异或)电路后反馈到第一级移位寄存器的输入D1端,构成反馈电路。
当初始状态Q1Q2Q3为111时,在时钟脉冲的控制下,各输出端的输出数据如表1所示,得到输出周期为P=23-1=7的码序列1110010。
在输出一个周期的序列后,Q1Q2Q3又回到111状态。
在时钟的控制下,输出序列做周期性的重复。
1110010就是一个周期是7的m序列。
产生周期为P=2n-1的m序列的方法类似。
通信原理试验一 李马元
电子信息工程系实验报告课程名称:现代通信原理成绩:实验项目名称:实验一 HDB3码型变换实验实验时间:2012.5.14指导教师(签名):班级:电信092 姓名:李马元学号:910706203一、实验目的:1、理解二进制单极性码变换为AMI码的编码规则,掌握它的工作原理和实现方法;2、理解二进制单极性码变换为HDB3码的编码规则,掌握它的工作原理和实现方法。
二、实验环境:HDB3码型变换实验模块;伪随机码发生器及误码仪;直流稳压电源 JWY-30-4;双踪同步示波器SR8;高频Q表;频谱分析仪;三、实验原理:1、传输码型在传输线路上通常采用AMI码和HDB3码。
1)、AMI码我们用“0”和“1”代表传号和空号。
AMI码的编码规则是“0”码不变,“1”码则交替地转换为+1和-1。
当码序列是1 0 0 1 0 0 0 1 1 1 0 1时,AMI码就变为:+1 0 0 -1 0 0 0 +1 -1 +1 0 -1。
这种码型交替出现正、负极脉冲,所以没直流分量,低频分量也很少。
这种码的反变换也很容易,在再生信码时,只要将信号整流,即可将“-1”翻转为“+1”,恢复成单极性码。
这种码未能解决信码中经常出现的长连“0”的问题。
2)、HDB3码这是一种4连0取代码。
当没有4个以上连“0”码时,按AMI规则编码,当出现4个连“0”码时,以码型取代节“0 0 0 V”或“B 0 0 V”代替4连“0”码。
选用取代节的原则是:用B脉冲来保证任意两个相邻取代节的V脉冲间隔“1”的个数为奇数。
当相邻V 脉冲间“1”码数为奇数时,则用“0 0 0 V”取代,为偶数个数时就用“B 0 0 V”取代。
在V脉冲后面的“1”码和“B”码都依V脉冲的极性而正负交替改变。
为了讨论方便,我们不管“0”码,而把相邻的“1”码和取代节中的B码用B1 B2……Bn表示,Bn后面为V,选取“0 0 0 V”或“B 0 0 V”来满足Bn的n 为奇数。
专业实验类:伪随机信号发生器
H a r b i n I n s t i t u t e o f T e c h n o l o g yEDA技术高级应用实验报告姓名:禾小鬼同组人:学号:16S班级:信息2班指导教师:xxx院系:电信学院实验二伪随机信号发生器一、实验原理实验要求设计一个伪随机信号发生器,什么是伪随机信号发生器?如果一个序列,一方面它是可以预先确定的,并且是可以重复地生产和复制的;一方面它又具有某种随机序列的随机特性(即统计特性),我们便称这种序列为伪随机序列。
因此可以说,伪随机序列是具有某种随机特性的确定的序列。
它们是由移位寄存器产生确定序列,然而他们却具有某种随机序列的随机特性。
因为同样具有随机特性,无法从一个已经产生的序列的特性中判断是真随机序列还是伪随机序列,只能根据序列的产生办法来判断。
伪随机序列系列具有良好的随机性和接近于白噪声的相关函数,并且有预先的可确定性和可重复性。
这些特性使得伪随机序列得到了广泛的应用,特别是在CDMA系统中作为扩频码已成为CDMA技术中的关键问题。
特性为序列中两种元素出现的个数大致相等;如果把n个元素连续出现叫做一个长度为n的元素游程,则序列中长度为n的元素游程比长度为n+1的元素游程多一倍;序列有类似白噪声的自相关函数。
实验指导书上已经给出一个4位伪随机信号发生器的原理图,如图1所示,一个4位的移位寄存器,第1级和第4级的输出信号通过一个异或门反馈到第1级的输入。
随着连续的时钟周期信号,可以生成15个不同的测试向量。
图1 伪随机二进制序列产生器在开始之前,首先要明确设计目的,我们的想要用电路图方法实现设计一个“伪随机信号发生器”。
首先设计一个4位伪随机信号发生器,按照图1所示连接电路即可。
然后,扩展到多位。
二实验过程和结果1.第一步:建立一个新的工程新建工程的过程中,最重要的是设置器件,不同的器件的,设计之间并不兼容。
会有一个综合的信息框,注明了我所做的设置,看看没问题就可以了。
参数化伪随机序列发生器
WENKU DESIGN
2023-2026
END
THANKS
感谢观看
KEEP VIEW
WENKU DESIGN
WENKU DESIGN
WENKU
REPORTING
https://
WENKU DESIGN
WENKU DESIGN
2023-2026
ONE
KEEP VIEW
参数化伪随机序列发 生器
WENKU DESIGN
WENKU DESIGN
WENKU
REPORTING
https://
CATALOGUE
目 录
• 引言 • 参数化伪随机序列发生器的原理 • 参数化伪随机序列发生器的实现 • 参数化伪随机序列发生器的性能分析 • 参数化伪随机序列发生器的应用实例 • 结论与展望
PART 06
结论与展望
结论
1
参数化伪随机序列发生器是一种高效、灵活的随 机数生成方法,适用于各种应用场景,如密码学、 统计学、计算机模拟等。
2
通过调整参数,可以控制随机数的分布、周期、 质量等特性,以满足不同需求。
3
与传统伪随机数生成器相比,参数化伪随机序列 发生器具有更好的随机性和更快的生成速度。
实际线性复杂度
实际应用中,伪随机序列发生器的线性复杂度受到多种因 素的影响,如算法设计、初始状态等。
PART 05
参数化伪随机序列发生器 的应用实例
加密通信
01
02
03
加密算法
数据完整性
网络通信安全
伪随机序列发生器用于生成加密 算法所需的密钥,确保通信安全。
通过使用伪随机数生成器,可以 创建消息的数字签名,验证数据 的完整性和真实性。
伪随机序列发生器
伪随机序列发生器一、实验目的:理解伪随机序列发生器的工作原理以及实现方法,掌握MATLAB\DSP BUILDER设计的基本步骤和方法。
二、实验条件:1. 安装WindowsXP系统的PC机;2. 安装QuartusII6.0 EDA软件;的序列发生器,并通⒈ ⒉ ⒊⒋⒌⒍⒎⒏⒐ ⒑ ⒒⒓⒔⒕⒖⒗四、实验原理:对于数字信号传输系统,传送的数字基带信号(一般是一个数字序列),由于载有信息,在时间上往往是不平均的(比如数字化的语音信号),对应的数字序列编码的特性,不利于数字信号的传输。
对此,可以通过对数字基带信号预先进行“随机化”(加扰)处理,使得信号频谱在通带内平均化,改善数字信号的传输;然后在接受端进行解扰操作,恢复到原来的信号。
伪随机序列广泛应用与这类加扰与解扰操作中。
我们下面用DSP BUILDER来构建一中伪随机序列发生器——m序列发生器,这是一种很常见的伪随机序列发生器,可以由线性反馈器件来产生,如下图:其特征多项式为:()∑==ni i i x C x F 0注:其中的乘法和加法运算都是模二运算,即逻辑与和逻辑或。
可以证明,对于一个n 次多项式,与其对应的随机序列的周期为。
12−n 接下来我们以为例,利用DSP BUILDER 构建这样一个伪随机序列发生器。
125++x x开Simulink 浏览器。
Simulink我们可以看到在Simulink 工作库中所安装的Altera DSP Builder 库。
2. 点击Simulink 的菜单File\New\Model 菜单项,新建一个空的模型文件。
3. 按照下图在Model编辑器的工作区中放置如下的模型:其中Logical Bit Operator模块在Gate & Control库中,把它拖到工作区中后双击打开参数设置对话框,设置成2输入异或门。
为了能够在Matlab中获得仿真结果,可以给输出再添加一个示波器Scope,这个模型在Simulink标准库的Sources库中。
实验一伪随机码发生器实验
实验一 伪随机码发生器实验一、实验目的1、 掌握伪随机码的特性。
2、 掌握不同周期伪随机码设计。
3、 用基本元件库和74LS系列元件库设计伪随机码。
4、 了解ALTERA公司大规模可编程逻辑器件EPM7128SLC84内部结构和应用。
5、 学习FPGA开发软件MAXPLUSⅡ,学习开发系统软件中的各种元件库应用。
6、 熟悉通信原理实验板的结构。
二、实验仪器1、 计算机 一台2、 通信基础实验箱 一台3、 100MHz 示波器 一台三、实验原理伪随机码是数字通信中重要信码之一,常作为数字通信中的基带信号源;扰码;误码测试;扩频通信;保密通信等领域。
伪随机码的特性包括四个方面:1、 由n 级移位寄存器产生的伪随机序列,其周期为-1; n 22、 信码中“0”、“1” 出现次数大致相等,“1”码只比“0”码多一个;3、 在周期内共有-1游程,长度为 i 的游程出现次数比长度为 i+1的 游程出现次数多一倍;n 24、 具有类似白噪声的自相关函数,其自相关函数为:()()⎩⎨⎧−≤≤=−−=221012/11n nτττρ其中n 是伪随机序列的寄存器级数。
例如:四级伪码产生的本原多项式为X 4+X 3+1。
利用这个本原多项式构成的4级伪随机序列发生器产生的序列为:1 1 1 1 0 0 0 1 0 0 1 1 0 1 0相应的波形图如图1-1所示:图1-1 四级伪随机序列波形图用4个D 触发器和一个异或门构成的伪码发生器具有以下特性: 1、 周期为24-1=15;2、 在周期内“0”出现24 -1-1=7次,“1”出现24 -1=8次;3、 周期内共有24 -1 =8个游程;4、 具有双值自相关特性,其自相关系数为:⎩⎨⎧−≤≤−−==221)12(10144τ / τ ρ(τ)四、实验内容及步骤1、在MAXPLUSⅡ设计平台下进行电路设计 1.1 四级伪随机码发生器电路设计电路原理图如图1-2所示。
图1-2 四级伪随机码电路原理图在MAXPLUS II 环境下输入上述电路,其中: dff ------ 单D触发器 xor ------ 二输入异或门 nor4 ------ 四输入或非门 not ------ 反相器clk ------ 时钟输入引脚(16M时钟输入) 8M ------ 二分频输出测试点引脚 nrz ------ 伪随机码输出引脚 1.2 实验电路编译及FPGA 引脚定义完成原理图输入后按以下步骤进行编译:(1) 在Assign Device 菜单选择器件MAX7128SLC84。
伪随机m序列发生器的产生设计
信息科学与技术学院通信原理课程设计课题名称:伪随机M序列发生器设计学生姓名:许奎英2008082491学院:信息科学与技术学院专业年级:电子信息工程2008级指导教师:邓红涛完成日期:二○一一年七月十二日目录前言 (3)摘要 (4)理论基础知识 (5)伪随机序列 (6)伪随机序列定义及应用. (7)m序列产生器 (7)芯片介绍 (8)移位寄存器74LS164 (9)D/A转换器IDAC (9)EWB软件介绍 (10)设计方案 (10)EWB仿真 (11)电路的调试 (13)参考文献 (13)实验心得 (14)附录 (15)前言题目:伪随机序列的产生及应用设计初始条件:具备通信课程的理论知识;具备模拟与数字电路基本电路的设计能力;掌握通信电路的设计知识,掌握通信电路的基本调试方法;自选相关电子器件;可以使用实验室仪器调试。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、设计伪随机码电路:产生八位伪随机序列(如M序列);2、了解D/A的工作原理及使用方法,将伪随机序列输入D/A中(如DAC0808),观察其模拟信号的特性;3、分析信号源的特点,使用EWB软件进行仿真;4、进行系统仿真,调试并完成符合要求的课程设计说明书。
摘要伪随机序列具有良好的随机性和接近于白噪声的相关函数,使其易于从信号或干扰中分离出来。
伪随机序列的可确定性和可重复性,使其易于实现相关接收或匹配接收,因此有良好的抗干扰性能。
伪随机序列的这些特性使得它在伪码测距、导航、遥控遥测、扩频通信、多址通信、分离多径、数据加扰、信号同步、误码测试、线性系统、各种噪声源等方面得到了广泛的应用,特别是作为扩频码在CDMA系统中的应用已成为其中的关键问题。
此次课设根据m序列的产生原理,利用74LS164加少量门电路方法设计了8位m序列发生器。
关键词:伪随机序列m序列移位寄存器D/A转换EWB仿真1理论基础知识1.1伪随机序列1.1.1伪随机序列定义及应用如果一个序列,一方面它是可以预先确定的,并且是可以重复地生产和复制的;一方面它又具有某种随机序列的随机特性(即统计特性),我们便称这种序列为伪随机序列。
PN(伪随机码)码发生器的设计(精品文档)
通信系统专业课程设计一.课题名称:PN(伪随机码)码发生器的设计二.设计目的:1、巩固加深对电子线路的基本知识,提高综合运用专业知识的能力;2、培养学生查阅参考文献,独立思考、设计、钻研专业知识相关问题的能力;3、通过实际制作安装电子线路,学会单元电路以及整机电路的调试与分析方法;4、掌握相关电子线路工程技术规范以及常规电子元器件的性能技术指标;5、了解电气图国家标准以及电气制图国家标准,并利用电子CAD正确绘制电路图;6、培养严肃认真的工作作风与科学态度,建立严谨的工程技术观念;7、培养工程实践能力、创新能力和综合设计能力。
三.设计要求:1、通信系统的原理框图,说明系统中各主要组成部分的功能;2、根据选用的软件编好用于系统仿真的测试文件;3、拟采用的实验芯片的型号可选89c51、TSC 5402、5416、2407及ALTERA的EPM7128CPLD或EP1K30进行硬件验证;4、独立完成课程设计报告,严禁报告内容雷同;5、电路图中的图形符号必须符合国家或国际标准。
四.所用仪器设备:Altera的MAX 7000S系列芯片;方正文祥电脑。
五.设计内容:1、伪随机序列产生原理及作用:随着通信理论的发展,早在20世纪40年代,香农就曾指出,在某些情况下,为了实现最有效的通信,应采用具有白噪声的统计特性的信号。
另外,为了实现高可靠的保密通信,也希望利用随机噪声。
然而,利用随机噪声最大困难是它难以重复产生和处理。
直到60年代,伪随机噪声的出现才使这一难题得到解决。
伪随机噪声具有类似于随机噪声的一些统计特性,同时又便于重复产生和处理。
由于它具有随机噪声的优点,又避免了它的缺点,因此获得了日益广泛的应用。
目前广泛应用的伪随机序列都是由数字电路产生的周期序列得到的,我们称这种周期序列为伪随机序列。
对与伪随机序列有如下几点要求:①应具有良好的伪随机性,即应具有和随机序列类似的随机性;②应具有良好的自相关、互相关和部分相关特性,即要求自相关峰值尖锐,而互相关和部分相关值接近于零。
伪随机数发生器
伪随机数发生器程序说明文档——《密码编码学与网络安全》实验六一、基本变量、数据结构、函数说明:注意:基本变量、数据结构、函数说明和实验二DES算法是一样的。
没有任何变化。
1.基本变量定义部分:flag:boolean型变量,用于标识是解密还是加密过程。
2.数据结构定义部分:DT64:int型一维数组,64位的随机时间串。
V64: int型一维数组,64位的种子值。
sum64:int型一维数组,用于存储模二加的中间结果。
R64:int型一维数组,用于存储64位伪随机数。
bytekey:byte型一维数组,用于存储密钥及其子密钥字节流信息。
IP:int型一维数组,静态,用于存储初始置换矩阵。
IP_1:int型一维数组,静态,用于存储初始置换矩阵的逆矩阵。
PC_1:int型一维数组,静态,用于存储置换选择矩阵1。
PC_2:int型一维数组,静态,用于存储置换选择矩阵2。
E:int型一维数组,静态,用于存储扩充置换矩阵。
P:int型一维数组,静态,用于置换函数矩阵。
S_Box:int型三维数组,静态,用于SBox矩阵设置。
LeftMove:int型一维数组,静态,用于设置左移位置列表。
keydata:int型一维数组,用于存储二进制加密密钥。
encryptdata:int型一维数组,用于存储二进制加密数据。
EncryptCode:byte型一维数组,用于存储加密操作完成后的字节数组。
KeyArray:int型二维数组,用于存储密钥初试化后的二维数组。
3.基本函数定义:UnitDes:初始化函数,用于将密钥初始化成字节型数组密钥。
KeyInitialize:用于初始化密钥,生成每一轮的子密钥。
Encrypt:每一轮的加密函数。
ReadDataToBirnaryIntArray:将数据转换为二进制数,存储到数组。
LeftBitMove:循环移位操作函数。
LoopF:落实到每一轮的具体操作函数。
GetEncryptResultOfByteArray:将存储64位二进制数据的数组中的数据转换为八个整数(byte)。
伪随机数发生器
伪随机数发生器作者:孙福玉曹万苍来源:《赤峰学院学报·自然科学版》 2013年第24期孙福玉,曹万苍(赤峰学院,内蒙古赤峰 024000)摘要:文章分析了555电路、74HC160计数器、CD4511译码器等器件的基本工作原理,用555电路产生高频脉冲信号,用74HC160计数,通过CD4511译码后送入数码管显示一个随机数.关键词:随机数;伪随机数;发生器中图分类号:TP212 文献标识码:A 文章编号:1673-260X(2013)12-0030-021 引言随机数在我们的生活中随处可见,例如掷一枚色子所得到的点数、任何一个班级的学生数、某一路段的车流量或者是迎面行驶而来的车辆的车牌号等等.伴随随机事件而产生的随机的数字称为随机数.因为随机数的不可预知性,单一或者小规模的试验是不能正确的估算出随机数的规律的,试验次数越多,则得到的结果越接近真正的答案.本文利用555电路产生脉冲信号,用74HC160计数,通过CD4511译码后送入数码管显示一个随机数.2 基本器件介绍2.1 CD4511的功能介绍首先,我们介绍一下支持数字输出的7段译码器CD4511.图1为七段显示译码器的管脚图.4管脚BI管脚为消隐输入控制端子,如果BI为0,不论其它管脚输入什么值,七段显示数码管处于熄灭状态,也称为消隐状态,七段显示数码不显示数字.如果BI为1,各笔段均正常显示.3管脚LT管脚为测试输入端子,当BI为1,LT为0时,译码输出全为高电平,不论输入端子输入何值,七段显示译码器均工作,从而显示数字8.各笔段均被点亮,以检查显示是否有故障发生.5管脚LE管脚为锁定控制端,CD4511中的译码器的锁存电路由传输门和反相器组成,传输门的导通或截止由控制端LE的电平状态.当LE=0时,允许译码输出.LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值.A1、A2、A3、A4为译码器输入端.a、b、c、d、e、f、g为译码输出端,用于驱动共阴极数码管工作,输出为高电平1时有效.另外,译码器在显示数“6”时,a段消隐;显示数“9”时,d、段消隐,所以显示6、9这两个数时,字形不太美观.所谓共阴LED数码管是指7段LED的阴极是连在一起的,在应用中应接地.限流电阻要根据电源电压来选取,电源电压5V时可使用300欧姆的限流电阻.由以上关于CD4511的介绍可知,它能够根据外部信号使LED点亮或者熄灭,从而达到译码输出的功能.2.2 74HC160的功能介绍74HC160是74系列的4位同步式十进制计数器,74HC160管脚图如图2所示.74HC160的具体功能如下:CLK:时钟脉冲输入端.引入外部时钟控制脉冲的输入端,无时钟脉冲输入时,无法使用计数功能.74HC160接入电路后与译码器等电路元件共用同一时钟脉冲.CLR:复位端,低电平有效,当CLR=0时,输出端异步归零.ENP:禁止计数端,低电平有效,当ENP=0时,计数器失去计数功能.ENT:计数和RC禁止端,低电平有效,当ENT=0时,计数器失去计数和RC功能.同时,ENP失去作用.也就是说,当ENT为低电平时,无论ENP是高电平还是低电平,都无法实现计数功能.LOAD:寄存/计数端,低电平寄存,高电平计数,即当LOAD=0时,计数器处于寄存状态,存储的是前一时钟周期的状态,当LOAD=1时,计数器处于计数状态.由以上有关于74HC160功能的介绍,我们可以了解到:使用两个74HC160级联可以达到我们要求的37进制计数器,还要利用LOAD端的寄存/计数功能来设计数字显示的伪随机数发生器的复位功能.2.3 555定时器的功能介绍在通常的集成电路中,要使电路的各个元件良好地工作在同一状态下,必须对其时钟控制电路进行设计和改善.在本电路中,我们使用555定时器产生时钟脉冲.接下来,我们对NE555作一介绍.NE555管脚图如图3所示:555定时器的各个引脚功能如下:管脚1为接地端.管脚8为外接电源VCC端子,一般用5V电源.管脚3为输出端子.管脚2为低触发端.管脚6为高触发端子.管脚4为直接清零端.当该端子接低电平0时,时基电路不工作,这时不论TH处于何电平,时基电路输出均为0,该端不用时应接高电平1.管脚5为控制电压端子.若此管脚外接电压,则可改变内部两个比较器的基准电压,当不用该管脚时,应将该管脚串入一只电容接地,以避免外部干扰.管脚7为放电端子.该管脚与放电三极管集电极相连,用做定时器时电容的放电.555定时器在本电路设计中,应使4、8脚接VCC,1脚接地,5脚加电容接地以防外部干扰,7、8脚、6、7脚间加滑动变阻器以改变输出时钟脉冲的频率,以达到产生时钟脉冲的作用.时钟脉冲的频率如下式所示,通过调节R1,R2,C1可以得到不同频率的时钟.3 用数字显示的伪随机数发生器电路的分析图4是伪随机数发生器的电路图.由于只是使用计数器,所以并不复杂.在此电路的设计过程中,首先由555定时器产生控制74HC160计数的时钟脉冲.因此,在具体电路的制作与焊接过程中,可以在555定时器与计数器的连接线上加一开关.开关按下,则开始计数,开关松开,则停止计数并显示上一状态的数字.同时,可以通过调节其外接电容来控制其输出时钟脉冲的高低.在具体电路的制作过程中,作者使用的是0—10K的滑动变阻器,在安装焊接前,调节电阻到5K,可以正常显示数字.然后,由两个74HC160构成该电路的计数器.注意,由于我们只要求计数到36,所以在设计时,由两个74HC160的LOAD端接出一个74HC30(八输入与非门)来进行置位,设计我们对计数的要求,我们可以把个位的DB、DC端,十位的DA、DB端接入74HC30的输入端,其余输入端口则全部接VCC,则可以达到异步置位的功能.接下来,要将74HC160的输入端接入CD4511的输入端,把四位二进制数译码为供数字显示的7位数据.在数字显示器和CD4511间,要加入能使数字显示器正常发光的电阻,在具体电路的测试中可知,使用475欧姆的电阻可以使数字显示器正常发光.这种设计方案所制作出的伪随机数发生器的使用方法很简单.按下接通电源的启动开关后,LED就显示各种数字.计数器的内容从0开始按序号变化,不是随机的.所以可以使用稍快的时钟脉冲.在按下停止开关后的一段时间内,计数器照样工作,然后停止在某一数字上.这个数字就是得中的数字.4 结束语文章分析了555电路、74HC160计数器、CD4511译码器等器件的基本工作原理,用555电路产生高频脉冲信号,用74HC160计数,通过CD4511译码后送入数码管显示一个随机数.参考文献:〔1〕汤山俊夫.数字电路设计与制作[M].北京:科学出版社,2009.〔2〕黄智伟.电子电路计算机仿真设计与分析[M].北京:电子工业出版社,2009.〔3〕孙余凯.传感器应用电路300例[M].北京:电子工业出版社,2008.〔4〕张庆双.LED应用电路精选[M].北京:机械工业出版社,2010.。
伪随机码脉冲信号发生器电路设计
伪随机码脉冲信号发生器电路设计摘要由于伪随机码在CDMA(Code Division Multiple Access)技术中得到了广泛的应用,为更好的利用CDMA技术,需了解伪随机码脉冲信号。
本课题主要是应用CPLD技术,设计一个伪随机码脉冲信号发生器电路,所用到的主要元器件有74LS74、EPM7128SLC84—15 MAX 7000可编程逻辑器件及一些门电路等,并利用MAX+PLUS Ⅱ软件来观察电路波形及CPLD综合实验板来检测电路的功能是否达到设计要求。
关键词伪随机码 CPLD 74LS74 EPM7128SLC-15ABSTRACTPseudorandom code is wide use in CDMA (Code Division Multiple Access)technology, to make use of CDMA technology,we should know Pseudorandom code Pulses. My design is based on CPLD technology ,and design a circuit to produce pseudorandom code. Device I used as follows:74LS74、EPM7128SLC84-15 MAX 7000 progranmable logic device 、some gate circuit and so on .At last ,we can use MAX+PLUSⅡsoftware and the board of CPLD which is comprehensive to inspect the application of this circuit is right or wrong.Keywords pseudorandom code;CPLD;74LS74;EPM7128SLC84-15 MAX 7000 progranmable logic device第1章绪论 (4)1.1伪随机序列的概念 (4)1.2伪随机序列的产生 (4)1..3几种伪随机序列的比较 (4)1.3.1 m序列 (4)1.3.2 M序列 (4)第2章主要元器件说明 (6)2.1 核心模块EPM7128SLC84-15 (6)2.1.1开关模块 (7)2.1.2 LED显示模块 (8)2.1.3 相关资源分配为: (9)2.2 74LS74 (10)2.2.1 74LS74引脚图 (10)2.2.2 74LS74功能表 (10)第3章原理图及逻辑示意图 (11)3.1原理框图 (11)3.1.1四级移位寄存器构成的m序列: (11)3.1.2四级移位寄存器构成的M序列: (11)3.2电路图 (12)3.2.1 四级移位寄存器构成的m序列: (12)3.2.2 四级移位寄存器构成的M序列: (13)第4章电路的时序波形及功能验证 (14)4.1 四级m序列: (14)4.2 四级M序列: (16)4.3 使用CPLD实验板检测电路功能是否达到实验要求: (18)第5章总结 (19)感谢辞 (20)参考文献 (21)第1章绪论在通信系统中,对误码率的测量、通信加密、数据序列的扰码和解码、扩频通信等方面均要用到伪随机序列,伪随机序列的特性对系统的性能有重要的影响,因此有必要了解和掌握伪随机序列的的概念和特性。
浅谈伪随机数发生器
附录:
平方取中.c #include<stdio.h> int main() { unsigned int seed=0,temp; int i,j,first,number1[5000][100] = {0}; FILE *fp; fp=fopen("d:\\a.txt","w"); for(j=0;j<5000;j++) { if(j==0){printf("Enter the seed:");
结论二:除退化为零外,随机数序列还出现随机数序列循环和收敛的情况。
还是以 m=4 为例,三种收敛的情况,分别为: 1、100→100→100→100→100 2、2500→2500→2500→2500→2500 3、7600→7600→7600→7600→7600 首先, 讨论收敛的情况, 通过用 C 语言编程计算可以得到属于这三种收敛的种子个数以 及数值。(具体数据见附录) 还会出现三种循环的情况,分别为: 1、2100→4100→8100→6100→2100 2、1600→5600→3600→9600→1600 3、0540→2916→5030→3009→0540 然后,由于循环出现的几率比较大,计算机计算比较麻烦,所以观察大量数据寻找这三 种循环的出现规律,有初步发现:
使用了 srand()提供的种子以及线性同余算法,具体通过代码验证了,见附录。Java Random 类被封装 无法看 nextInt() nextFloat()源代码,但是估计也是使用了线性同余。
四、梅森旋转算法(Mersenne twister) 梅森旋转算法是 Makoto Matsumoto (松本)和 Takuji Nishimura (西村)于 1997 年开发 的伪随机数产生器, 基于有限二进制字段上的矩阵线性再生。 可以快速产生高质量的伪随机 数,修正了古老随机数产生算法的很多缺陷。常见的有两个变种 Mersenne Twister MT19937 和 Mersenne Twister MT19937-64。 说到梅森旋转算法, 不得不提一下线性反馈移位寄存器 (LFSR) , 线性反馈移位寄存器 (linear feedback shift register, LFSR)是指,给定前一状态的输出,将该输出的线性函数再用 作输入的移位寄存器。 异或运算是最常见的单比特线性函数: 对寄存器的某些位进行异或操 作后作为输入,再对寄存器中的各比特进行整体移位。 首先,移位寄存器包括两个部分
伪随机码发生器设计
伪随机码发生器设计伪随机码发生器设计1 引言随着科学技术的进步,现代战争样式向信息战形式发展。
现代战争胜负对于信息获取的依赖程度前所未有的提高。
在现代战争中,若己方的通讯交流方式早敌军破获,则地方将获取己方部队动向或实施信息干扰。
将会使部队陷入极其危险地境地中。
因此,信息战对通讯加密手段的要求极高。
伪随机序列(Pseudonoise Sequence)又称伪噪声或伪随机码,具有类似随机信号的一些统计特性,但又是有规律的,容易产生和复制的。
最大长度线性移位寄存器序列(m序列)是保密通信中非常重要的一种伪随机序列,它具有随机性、规律性及较好的自相关和互相关性,而且密钥量很大。
利用m序列加密数字信号,使加密后的信号在携带原始信息的同时具有伪噪声的特点,以达到在信号传输的过程中隐藏信息的目的;在信号接收端,再次利用m序列加以解密,恢复出原始信号。
这样,通过对m序列的应用,将大大的提高通讯的保密程度和防窃取能力。
这样的通讯手段被称为扩展频谱通信扩展频谱通信(Spread Spectrum Communication)是将待传送的信息数据被伪随机编码也就是扩频序列调制,实现频谱扩展以后再在信道中传输,接收端则采用与发送端完全相同的编码进行解调和相关处理,从而恢复出原始的信息数据。
在这其中,伪随机码发生器是十分重要的一环,是对信息加密的核心器件。
m序列伪随机码发生器即使通过m序列的方式对信息数据编码。
本系统所设计的伪随机码发生器,产生m序列伪随机码。
系统采用AT89S51单片机作为控制芯片,控制使用LCD12864显示处理器产生的m序列伪随机码,并且可通过按键对参数修改,设置初始码及m 序列长度。
单片机根据设定的初始码及m序列长度,按照约定的逻辑运算关系,循环往复的产生0或者1。
2 发生器系统设计2.1总体设计系统分为信息处理、实时显示和按键修改共五大模块。
系统总体结构框图如图1所示:图1 系统总体结构框图如图所示,MCU 对信号进行处理,将所得数据送液晶屏显示。
伪随机序列发生器的研究与实现
第22卷第3期 吉林大学学报(信息科学版) V o l122 N o13 2004年5月 Journal of J ilin U n iversity(Info r m ati on Science Editi on) M ay2004 文章编号:167125896(2004)0320185204伪随机序列发生器的研究与实现α孙淑琴1,林 君1,张秉仁2,罗 军2(11吉林大学地球信息探测仪器教育部重点实验室,吉林长春130026;21吉林大学电子科学与工程学院,吉林长春130026)摘要:研究了伪随机序列的随机特征,推导出M序列具备伪随机序列的特征,给出M序列的反馈逻辑函数,设计了M序列发生器;分析了测试电路产生的n阶伪随机序列的波形图。
通过对测试结果的分析、比较发现,关于反馈移位寄存器的阶数与序列长度关系、码元的游程(该序列的伪随机性)等方面的分析是正确的,验证了该设计的可行性。
关键词:伪随机序列;反馈逻辑函数;频率域中图分类号:TN79 文献标识码:AInvestigati on and realigati on of p seudo2random sequence generato rSUN Shu2qin1,L I N Jun1,ZHAN G B ing2ren2,LUO Jun2(11Key laboratory of Earth Infor m ati on Exp l orati on Instrum entati on of M inistry of Educati on,J ilin U niversity,Changchun130026,China;21College of E lectron Science and Engineering,J ilin U niversity,Changchun130026,China)Abstract:T he random characteristics of p seudo2random sequence has been investigated,and the characteristics of M sequence has been educed,the feedback l ogic functi on of M sequence has been deduced,the M Sequence occur has been designed,the w avefo r m of p seudo2random sequence w as tested, the testing result has been analyzed and compared the relati on sh i p about the step s of feedback sh ift register,sequence length and travel of code(p seudo2random characteristic of the sequence)are co rrect. the feasibility of design w as validated.Key words:p seudo2random sequence;feedback l ogic functi on;frequency dom ain step s引 言伪随机序列具有良好的随机性,它的相关函数接近白噪声的相关函数(∆函数),即有窄的高峰或宽的功率谱密度,使它易于从其他信号或干扰中分离出来。
伪随机码产生
南昌大学实验报告
学生姓名:刘旷也学号:6100212213 专业班级:中兴121班
实验类型:□验证■综合□设计□创新实验日期:实验成绩:
伪随机码发生器
一、技术要求
设计一个7位伪随机码发生器。
二、设计思路
1.7位伪随机码发生器
可以用硬件电路来实现一个m序列,以最简单的n=3的三级移位寄
存器构成的m序列发生器如图所示。
移位寄存器是D触发器,在时钟脉冲CP上升沿来时,输出Q等于输入D。
中
间第二、三级移位寄存器的输出Q2和Q3经模二加电路后反馈到第一级移位
寄存器的输入D1端,构成反馈电路。
当初始状态Q1Q2Q3位111时,在时钟
脉冲控制下,各输出端的输出数据如表所示。
得到输出周期为P=23-1=7的码序列1110010。
在输出一个周期的序列后
Q1Q2Q3又回到111状态。
在时钟的控制下,输出序列做周期性的重复。
三、实验结果
得到的multism电路图如图所示
图1 7位伪随机码产生电路
图2 7位伪随机码:1011100。
伪随机码
码
(code)
码是组合设计的一个重要概念。
它是为达到信息传递的可靠性和安全性等目的而对信息所做的某种变换。在无线电通信中需要有克服天电干 扰的措施,特别在宇航通信中更为突出,纠错码主要用于抗干扰的要求;另一方面,在军事、外交及商业方面, 要求信息传递过程中的保密性,这类码就是密码。分组码是一类重要的纠错码。
伪随机码
有某种随机序列和特性的序列码
01 简介
03 处理方法 05 实例
目录
02 特性 04 应用 06 码
结构可以预先确定,可重复产生和复制,具有某种随机产生,该络由R级串联双态器件移位脉冲产生器和模二加法器组成。该络可以产生码长为15的伪随 机码。在计算机、通信系统中我们采用的随机数、随机码均为伪随机数、伪随机码。所谓“随机码”,就是无论 这个码有多长都不会出现循环的现象,而“伪随机码”在码长达到一定程度时会从其第一位开始循环,由于出现 的循环长度相当大,例如CDMA采用42的伪随机码,重复的可能性为4.4万亿分之一,所以可以当成随机码使用。
设 Q为 q元集,为笛卡儿积集合。的一个非空真子集C称为一个q元分组码,简称码。当时,称这个码是平凡 的。称 Q为字母表,而称的元为字或向量,称C的元为码字,n为字长。当时,称 C为 q元(n.M)码。
伪随机序列发生器设计
第1章 基于伪随机序列的传输处理综合设计1.1 伪随机序列伪随机序列包括m 序列、Gold 序列、M 序列和组合序列等,其中最常用到的是m 序列[5,6]。
本文根据m 序列完成了传输处理系统的综合设计。
1.1.1 m 序列的生成m 序列是线性反馈移位寄存器的最大长度序列。
它的生成可用移位寄存器序列发生器的特征多项式来确定,其特征多项式()F x 可以定义为:20120()...ni n i n i F x C x C C x C x C x ===++++∑ (2-1) 其中x 的幂次表示元素相应的位置。
根据代数理论的严格证明,当特征多项式()F x 满足以下3个条件时就一定能够产生m 序列:(1)()F x 是不可约的,即不能再分解因式; (2)()F x 可整除1p x +,这里21n p =-; (3)()F x 不能整除1q x +,这里q p <;目前广泛应用的m 序列都是由移位寄存器构成的。
如图2-1所示,m 序列发生器由n 个二元存储器和模2开关网络组成。
二元存储器通常是一种双稳态触发器,它的两种状态记为0和l ,其状态取决于时钟控制下输入的信息(0或1),例如第i 级移位寄存器的状态取决于时钟脉冲后的第i 一1级移位寄存器的状态。
图中C i 表示为反馈线的两种可能连接状态:C i =1表示连接线连通,即第n -i 级输出加入到反馈中;C i =0表示连接线断开,即第n -i 级输出未参加到反馈中。
图2-1由于移位寄存器的初始状态是随机的,它可能是1,也可能是0。
如果各级移位寄存器的初始状态都为0时,则模2加法器的输出将始终为0,这样就不能产生任何序列。
为了防止这种情况发生,在图2-1中往往还需要增加必要的检测电路。
1.1.2 m 序列的特性分析m 序列由n 级移位寄存器产生的m 序列,其周期为21n -。
m 序列具有如下的一些特性:1) 随机性:在m 序列的一个周期中,0和1出现概率大致相同,0码只比1码多一个,且1的个数为121n --,0的个数为12n -。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一 伪随机码发生器实验
一、实验目的
1、 掌握伪随机码的特性。
2、 掌握不同周期伪随机码设计。
3、 用基本元件库和74LS系列元件库设计伪随机码。
4、 了解ALTERA公司大规模可编程逻辑器件EPM7128SLC84内部结构和应用。
5、 学习FPGA开发软件MAXPLUSⅡ,学习开发系统软件中的各种元件库应用。
6、 熟悉通信原理实验板的结构。
二、实验仪器
1、 计算机 一台
2、 通信基础实验箱 一台
3、 100MHz 示波器 一台
三、实验原理
伪随机码是数字通信中重要信码之一,常作为数字通信中的基带信号源;扰码;误码测试;扩频通信;保密通信等领域。
伪随机码的特性包括四个方面:
1、 由n 级移位寄存器产生的伪随机序列,其周期为-1; n 2
2、 信码中“0”、“1” 出现次数大致相等,“1”码只比“0”码多一个;
3、 在周期内共有-1游程,长度为 i 的游程出现次数比长度为 i+1的 游程出现
次数多一倍;
n 24、 具有类似白噪声的自相关函数,其自相关函数为:
()()
⎩⎨
⎧
−≤≤=−−=2
210
12/11n n
τττρ
其中n 是伪随机序列的寄存器级数。
例如:四级伪码产生的本原多项式为X 4+X 3+1。
利用这个本原多项式构成的4级伪随机序列发生器产生的序列为:
1 1 1 1 0 0 0 1 0 0 1 1 0 1 0
相应的波形图如图1-1所示:
图1-1 四级伪随机序列波形图
用4个D 触发器和一个异或门构成的伪码发生器具有以下特性: 1、 周期为24-1=15;
2、 在周期内“0”出现24 -1-1=7次,“1”出现24 -1=8次;
3、 周期内共有24 -1 =8个游程;
4、 具有双值自相关特性,其自相关系数为:
⎩⎨⎧−≤≤−−==2
21)12(10
14
4τ / τ ρ(τ)
四、实验内容及步骤
1、在MAXPLUSⅡ设计平台下进行电路设计 1.1 四级伪随机码发生器电路设计
电路原理图如图1-2所示。
图1-2 四级伪随机码电路原理图
在MAXPLUS II 环境下输入上述电路,其中: dff ------ 单D触发器 xor ------ 二输入异或门 nor4 ------ 四输入或非门 not ------ 反相器
clk ------ 时钟输入引脚(16M时钟输入) 8M ------ 二分频输出测试点引脚 nrz ------ 伪随机码输出引脚 1.2 实验电路编译及FPGA 引脚定义
完成原理图输入后按以下步骤进行编译:
(1) 在Assign Device 菜单选择器件MAX7128SLC84。
(2)在Assign/Globl project device option菜单中选择 Enable JTAG
Support。
(3)第一次编译时一般采用让MaxplusII自动进行引脚分配。
注意,编译前
一定要确保所编译的文件是一个工程。
具体做法是:在菜单
File/Project下点击Set Project to Current File。
(4)编译后进行引脚回注,在Assign/Back-Annotate Projetc菜单中选择
Chip,Pin&Device,经过引脚回注后电路图上会显示自动分配的引脚
号。
(5)按照实验板所要求的输入时钟引脚和输出测试引脚号,进行引脚修
改,修改后必须编译,所做的修改才会生效。
引脚修改方法如下:双
击clk时钟输入引脚元件中的回注引脚号,MAXPLUS II会弹出一对话
框,可方便进行修改。
如图1-3所示。
图1-3 引脚修改界面
将电路图中所有引脚修改成实验板要求的引脚,然后再次进行编译。
要求的引脚配置如下:
CLK 83 脚 (CLK输入频率为16.9M,或经过2分频率后为8.46M)
8M 37 脚 (8M时钟输出)
NRZ 39 脚 (NRZ称不归零码,这时码率为8.46Mb/s)
NNRZ 40 脚 (反相输出)
1.3 在MAXPLUSⅡ环境下完成电路的仿真
(1)在MAX+plu sⅡ菜单下选择Waveform Editor,出现一波形编辑窗口。
波形编辑窗
口
(2)在Node菜单下选择Enter nodes from SNF,点击List,加入要仿真的所
有节点。
加入仿真节点
(3)加入时钟激励:在Option菜单下选Grid Size,出现对话框后键入相应
的纳秒(ns)数,例如10ns(对应周期为20ns,即50M)。
在File菜单下选End Time,键入仿真时间,例如10us。
选择输入时
钟信号clk 选择此图标
给时钟赋值
(4)在MUXPLU SⅡ菜单下选Simulator,出现仿真对话框后,点击
Start,开始仿真。
注意:进行仿真前一定要先保存。
得到的仿真波形和理论结果是一致的。
2、实验板设置
在进行不同实验时,首先要对实验板上硬件进行简单设置,以符合各种信号输入和各种实验结果测试要求。
(见跳线和开关设置表)
硬件实验步骤为:接通晶体振荡器电源----》将16.9M时钟连接到FPGA全局时钟脚----》将实验电路配置到FPGA芯片中----》进行实验测量。
实验原理图如图1-4所示:
FPGA内部T16 T17 T15
T8
FPGA83脚
图1-4 实验原理图
(1)接通SW_6(用短路块),晶体振荡器X1产生16.9344M时钟信号,T8为
该时钟频率的测试点。
(2)将拨动开关“K2”的“1”脚置“ON”,将16.9344Mc时钟信号送到了
FPGA第83脚(全局时钟脚)。
(3)将8.5V直流电源插入实验板PJ1接口,打开总开关K1,检查指示灯P1、
P2、P3是否亮,即电源工作正常。
实验板跳线和开关设置表:
3、将实验电路nrz.pof文件配置到FPGA芯片
(1) 将BYTBLASTER一端连接到计算机并行口,另一端连接到实验板BYTBLASTER口。
(2) 打开电源开关K1,注意SW_13为FPGA电源跳线,应接通。
(3) 在MAXPLUSⅡ菜单下选Programmer然后按Program开始下载。
4、实验测试
下载成功后,可用示波器测试各点波形(见照片)。
NRZ码实验测试点表
测试点名称测试点波形说 明
T8 16.9MC 晶体振荡器输出
T5 16.9MC 时钟选择开关输出
T15 8.45MC 二分频输出时钟信号
T16 NRZ码
T17 反相NRZ码
(1)先用示波器测T8(或T5)为 16.9M晶体振荡器输出时钟。
用20M示波器测试T8波形
(2)用示波器测T15为 8.4M输出时钟信号。
8M 时钟波形(用20M示波器测试T15)
(3)用示波器测T16为 NRZ输出信号
8Mb/S NRZ 码输出波形
注意:一般示波器只能观察到4级或5级伪随机码,对于更多级伪随机码由于普通示波器较难同步,很难看到完整信码序列,这时可以用MAXPLUSⅡ仿真器观察仿真波形 ,或用数字示波器观察伪随机码波形。
当伪码长度很长时示波器不能完全同步
五、实验报告内容要求
1、实验原理叙述
2、画出实验电路图
3、电路仿真结果记录和分析
4、实际测量数据记录,并结合理论进行分析
附录:
1、各级伪随机码(M序列)发生器反馈逻辑表
表1-1各种伪随机码发生器的反馈逻辑表
2、各级伪随机码发生器实验电路图
4级伪随机码电路
5级伪随机码电路
6级伪随机码电路
15级伪随机码电路
23级伪随机码电路。