实验一伪随机码发生器实验

合集下载

伪随机码发生器研究与设计

伪随机码发生器研究与设计

伪随机码发生器的研究与设计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;。

通信原理实验一

通信原理实验一

实验一:信号源实验第一部分 CPLD可编程逻辑器件实验一、实验目的1.了解ALTERA公司的CPLD可编程器件EPM240;2.了解本模块在实验系统中的作用及使用方法;3.掌握本模块中数字信号的产生方法。

二、实验仪器1.时钟与基带数据发生模块,位号:G2.示波器1台三、实验原理CPLD可编程模块(时钟与基带数据发生模块,芯片位号:4U01)用来产生实验系统所需要的各种时钟信号和数字信号。

它由CPLD可编程器件ALTERA公司的EPM240、下载接口电路(4J03)和一块晶振(4JZ01)组成。

晶振用来产生16.384MHz系统内的主时钟,送给CPLD芯片生成各种时钟和数字信号。

本实验要求实验者了解这些信号的产生方法、工作原理以及测量方法,理论联系实践,提高实际操作能力。

m序列是最被广泛采用伪随机序列之一,除此之外,还用到其它伪随机码,如Gold序列等,本模块采用m序列码作为系统的数字基带信号源使用,在示波器上可形成稳定的波形,方便学生观测分析。

下面介绍的m序列原理示意图和仿真波形图都是在MAX+PLUS II软件环境下完成。

其中,RD输入低电平脉冲,防止伪随机码发生器出现连0死锁,其对应仿真波形的低电平脉冲。

CLK为时钟脉冲输入端。

OUT为m序列伪随机码输出。

下图3-1、图3-2为三级m序列发生器原理图和其仿真波形图。

在实验模块中的clk为2KHZ时钟,输出测试点为4P02,m序列输出测试点为4P01。

图3-1 三级m序列发生器原理图(M=7)图3-2 三级m序列仿真波形图下图3-3、图3-4为四级m序列发生器原理图和其仿真波形图。

图3-3 四级m序列发生器原理图(M=15)下图3-5、图3-6为五级m序列发生器原理图和其仿真波形图。

图3-5 五级伪随机码发生器原理图图3-6 五级伪随机码仿真波形图图3-7中介绍是异步四级2分频电路,其特点是电路简单,但由于其后级触发器的触发脉冲要待前级触发器的状态翻转之后才能产生,因此其工作速率较低。

伪随机码产生器实验

伪随机码产生器实验

实验八伪随机码产生器实验一、实验实训目的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.第一步:建立一个新的工程新建工程的过程中,最重要的是设置器件,不同的器件的,设计之间并不兼容。

会有一个综合的信息框,注明了我所做的设置,看看没问题就可以了。

伪随机序列发生器

伪随机序列发生器

伪随机序列发生器一、实验目的:理解伪随机序列发生器的工作原理以及实现方法,掌握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库中。

17伪随机数发生器的设计

17伪随机数发生器的设计
利用 CA 设计的伪随机数发生器产生的伪随机数过程如下:第一步给出一个 规定长度的初始数(在测试时一般取经验值),即通常所说的伪随机数种子。第二 步按照相应的规则查找表(或等价的逻辑函数)产生下一代伪随机数。第三步把产 生的伪随机数作为下一代伪随机数种子 (即作为父代),重复第二步。
119
原胞自动机伪随机数发生器同样是通过寄存器的延时来实现。每当一个时钟 脉冲到来时,每一级存储器 Qi 的值根据 CA 规则来决定,CA90 和 CA150(即 CA01011010B 和 CA10010110B)算法规则的规则查找表分别如表 1,2 所示,其中相 邻单元的值为η,输出值为 Q=f(η)。CA90 算法规则等价的逻辑函数是由当前单 元的相邻左右单元的状态值相异或,而 CA150 算法规则等价的逻辑函数是由相邻 当前单元和左右单元的状态值相异或。下面分别给出它们的逻辑函数表达式。
3.原胞自动机 一个原胞自动机(Cellular Automata,CA)是一种有限状态机,有 n 个离散
的单元,每个单元以离散的节拍进化,其中每个单元的下一个状态值由该单元的 当前状态值和其相邻的当前状态值通过查找表(Look-UpTable,LUT)(或等价的逻 辑函数)来决定,而相邻单元的状态值是独立的。
Cn
Cn-1
Cn-2
C1
C0=1
图 1 传统多级线性移位寄存器结构
3.m 序列 m 序列(maximum-length)是一类最大长度线性移位寄存器序列的简称。 m
序列是目前广泛应用的一种伪随机序列,其在通信领域有着广泛的应用,如扩频 通信,卫星通信的码分多址,数字数据中的加密、加扰、同步、误码率测量等领 域。
表 1 CA90 规则查找表
η 111 110 101 100 011 010 001 000

伪随机m序列发生器的产生设计

伪随机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(伪随机码)码发生器的设计(精品文档)

通信系统专业课程设计一.课题名称: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)。

基于matlab的伪随机序列生成及相关函数仿真实验

基于matlab的伪随机序列生成及相关函数仿真实验

武夷学院实验报告课程名称:_扩频通信技术及应用_ 项目名称:基于matlab的伪随机序列生成及相关函数仿真实验姓名:翁开传__专业:__通信工程___ 班级:__2__学号:_40__同组成员_无___1注:1、实验预习部分包括实验环境准备和实验所需知识点准备。

2、若是单人单组实验,同组成员填无。

2注:实验过程记录要包含实验目的、实验原理、实验步骤,页码不够可自行添加。

2)函数auto_corr()计算二进制序列seq的自相关函数,并画出函数曲线。

在函数内调用了生成m序列的函数ms_generator(*)生成的m序列seq,然后在计算。

function seq=ms_generator(registers,connections)registers=[0 0 0 0 1];connections=[1 0 0 1 0 1];n=length(connections);L=2^(n-1)-1;seq(1)=registers(n-1);for i=2:Lsum=0;for m=1:(n-1)sum=mod(sum+registers(m)*connections(m+1),2);endfor k=(n-1):-1:2registers(k)=registers(k-1);endregisters(1)=sum;seq(i)=registers(n-1);endfunction auto_correlation=auto_corr(seq)registers=[1 0 0 0 0 ];%设置初始状态connections=[1 0 1 0 0 1];%设置反馈逻辑seq=ms_generator(registers,connections);seq=-1*(seq*2-1);%负逻辑映射len=length(seq);temp=[seq seq];for i=0:len-1auto_correlation(i+1)=seq*(temp(i+1: i+len))';endauto_correlationplot(0:len-1,auto_correlation);运行的结果如下3)函数cross_corr()计算二进制序列seq1和seq2的互相关函数并画出曲线。

伪随机数发生器的FPGA实现与研究

伪随机数发生器的FPGA实现与研究

第 8 卷 第 3 期2003 年 6 月电路与系统学报 JOURNAL OF CIRCUITS AND SYSTEMS Vol. 8 No.3 June , 2003文章编号:1007 -0249 (200 3) 0 3 -0 121 -0 4 伪随机数发生器的 FPGA 实现与研究*束礼宝, 宋克柱, 王砚方(中国科学技术大学 快电子学实验室,安徽 合肥 230027 ) 摘要:在很多实际应用中,直接利用 FPGA 产生伪随机序列的方法可以为系统设计或测试带来极大的便利。

本文 给出了基于线性反馈移位寄存器电路,并结合 FPGA 的特有结构,设计了一种简捷而又高效的伪随机序列产生方法。

最后通过统计对比,说明了这种方法所产生的随机序列不仅可具有极长的周期,而且还具有良好的随机特性。

关键词:伪随机数发生器;线性反馈移位寄存器;FPGA中图分类号:TN918;TN710.9 文献标识码:A1 引言随机数是虽然具有一定的统计学规律,但它是抽样值不能事先确定的数。

实际中产生的随机数不 是绝对随机数,是相对的,称为“伪随机数”。

伪随机数发生器(Pseudo random Number Generator ) 在扩频通信、信息加密和系统测试等领域中有着广泛的应用。

在软件中一般都采用含有大数乘法的递推公式所计算出的一组数值来产生伪随机数列。

当数列足够长时,这组数值就是近似满足均匀分布的伪随机数列。

如在 C 语言下:程序初始化时调用一次 srand( ) 函数设置好随机数“种子”,然后就可以通过调用 rand( )函数来产生随机数了。

随着可编程逻辑器件(FPGA )在电子领域越来越广泛的应用,在很多高速设计和高速测试的场合下,我们希望能够在 FPGA 中直接实现伪随机序列发生器。

传统的大数乘法产生伪随机数的方法不但 时钟频率不能太高,并且需要消耗 FPGA 内大量的逻辑资源。

本文将给出在 FPGA 内利用线性反馈移 位寄存器( Linear Feedback Shift Registers )结构实现伪随机数发生器的方法;这种方法不仅结构简单, 易于实现,而且所产生的伪随机序列具有周期长,随机特性好的特点。

伪随机码脉冲信号发生器电路设计

伪随机码脉冲信号发生器电路设计

伪随机码脉冲信号发生器电路设计摘要由于伪随机码在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章绪论在通信系统中,对误码率的测量、通信加密、数据序列的扰码和解码、扩频通信等方面均要用到伪随机序列,伪随机序列的特性对系统的性能有重要的影响,因此有必要了解和掌握伪随机序列的的概念和特性。

伪随机码发生器设计

伪随机码发生器设计

伪随机码发生器设计伪随机码发生器设计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。

伪随机序列发生器设计

伪随机序列发生器设计

第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 -。

基于QuartusⅡ的伪随机m序列发生器的设计

基于QuartusⅡ的伪随机m序列发生器的设计

通信系统课程设计报告设计题目: 伪随机m序列发生器的设计班级: 13物联网1*名:***学号: **********指导教师:程钦、任艳玲课程地点: 60-507江苏理工学院电气信息工程学院日年 9 月 82106目 录序言............................................................................................................1 第1章 Quartus QuartusⅡ软件介绍Ⅱ软件介绍... (22)1.1 Quartus 1.1 QuartusⅡ简介Ⅱ简介 (22)第2章 基于Quartus QuartusⅡ的伪随机Ⅱ的伪随机m 序列发生器的设计 (3)3 2.1伪随机m 序列发生器的设计要求 (33)2.2伪随机m 序列发生器的设计 (33)2.3伪随机m 序列发生器的实现 ..........................................................................................................................................55 2.3.1原理图输入法实现与仿真结果分析原理图输入法实现与仿真结果分析 ............................................................................................................55 2.3.2 VHDL 语言实现与仿真结果分析语言实现与仿真结果分析 (7)2.4 设计分析与总结... (99)2.4.1故障分析..........................................................................................................................................................................................99 2.4.2功能分析..........................................................................................................................................................................................99 参考文献 .................. ....................................................................................................................................................................................1010 体会与建议............ ....................................................................................................................................................................................1111 附录... (1212)序 言随机噪声降低了通信系统的可靠性,限制信道容量但又可以用于测试通信系统性能和提高保密通信,所以就有伪随机序列的产生。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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级伪随机码电路。

相关文档
最新文档