当前位置:文档之家› 一种基于FPGA的真随机数发生器设计与实现 (1)

一种基于FPGA的真随机数发生器设计与实现 (1)

一种基于FPGA的真随机数发生器设计与实现 (1)
一种基于FPGA的真随机数发生器设计与实现 (1)

一种基于FPGA的真随机数发生器设计与实现

作者:张聪, 于忠臣, ZHANG Cong, YU Zhong-chen

作者单位:北京工业大学,北京市嵌入式系统重点实验室,北京100124刊名:

电子设计工程

英文刊名:ELECTRONIC DESIGN ENGINEERING

年,卷(期):2011,19(10)

本文链接:https://www.doczj.com/doc/f817551704.html,/Periodical_dzsjgc201110052.aspx

面向高速保密通信的激光混沌物理随机数发生器研究进展_李璞

51,060002(2014) 激光与光电子学进展 Laser&Optoelectronics Progress?2014《中国激光》杂志社 面向高速保密通信的激光混沌物理随机数 发生器研究进展 李璞1,2王云才1,2 1太原理工大学新型传感器与智能控制教育部重点实验室,山西太原030024 2太原理工大学物理与光电工程学院光电工程研究所,山西太原030024 摘要物理随机数在密码学、通信及国家安全等领域具有重要应用价值。传统的物理随机数发生器受限于熵源(如热噪声等)带宽的限制,码率仅处于Mb/s量级。近年来,随着宽带光子熵源(如混沌激光、放大自发辐射噪声)的出现,研究学者提出了众多高速随机数产生方案。其中,混沌激光由于其高带宽、大幅度、易集成等特性,获得了人们的极大关注,被广泛应用于Gb/s量级物理随机数的产生。结合国内外研究现状,对基于混沌激光的物理随机数产生方案进行了综述,分析了各方案的优势及不足,归纳总结了当前混沌物理随机数发生器的研究热点,并指出了其未来可能的发展方向。 关键词混沌激光;半导体激光器;随机数发生器;保密通信 中图分类号O436文献标识码A doi:10.3788/LOP51.060002 Research Progress in Physical Random Number Generator Based on Laser Chaos for High-Speed Secure Communication Li Pu1,2Wang Yuncai1,2 1Key Laboratory of Advanced Transducers and Intelligent Control System,Ministry of Education,Taiyuan University of Technology,Taiyuan,Shanxi030024,China 2Institute of Optoelectronic Engineering,College of Physics and Optoelectronics,Taiyuan University of Technology, Taiyuan,Shanxi030024,China Abstract Physical random numbers have great application value in the fields of cryptography,communication and national security.Conventional physical random number generators are limited by the low bandwidth of applied entropy sources such as thermal noise and thus have low bit rates at Mb/s order.With the appearance of wideband photonic entropy sources(e.g.chaotic laser and amplified spontaneous noise)in recent years,lots of schemes for high-speed random number generation are proposed.Among them,chaotic laser attracted many attentions due to its merits such as high bandwidth,large amplitude fluctuation and ease of integration. According to the international research situation,physical random number generation schemes based on chaotic laser are overviewed.Through analyzing their own advantages and disadvantages,current hot spots in the studies are summarized and some possible development orientations in the future are pointed out. Key words chaotic laser;semiconductor laser;random number generator;secure communication OCIS codes190.3100;140.5960;060.4510 1引言 随机数在蒙特卡罗(Monte Carlo)模拟、统计抽样、人工神经网络等科学计算方面有着广泛应用。尤其 收稿日期:2014-01-06;收到修改稿日期:2014-02-25;网络出版日期:2014-05-16 基金项目:国家自然科学基金(60927007,61227016,61001114,61205142) 作者简介:李璞(1986—),男,博士研究生,主要从事混沌激光应用方面的研究。E-mail:lipu8603@https://www.doczj.com/doc/f817551704.html, 导师简介:王云才(1965—),男,博士,教授,主要从事混沌激光产生与应用及光通信等方面的研究。 E-mail:wangyc@https://www.doczj.com/doc/f817551704.html,(通信联系人)

真随机数产生方法

ATmega1 28单片机的真随机数发生矗时间:2009-12-16 15:39:00 来源:单片机与嵌入式系统作者:刘晓旭,曹林,董秀成西华大学 ATmega1 28单片机的真随机数发生矗时间:2009-12-16 15:39:00 来源:单片机与嵌入式系统作者:刘晓旭,曹林,董秀成西华大学 引言 随机数已广泛地应用于仿真、抽样、数值分析、计算机程序设计、决策、美学和娱乐之中。常见的随机数发生器有两种:使用数学算法的伪随机数发生器和以物理随机量作为发生源的真随机数发生器。要获取真正随机的真随机数,常使用硬件随机数发生器的方法来获取。这些真随机数都是使基于特定的真随机数发生源(如热噪声、电流噪声等),每次获取的真随机数都是不可测的,具有很好的随机性。 真随机数因其随机性强,在数据加密、信息辅助、智能决策和初始化向量方面有着广泛应用,构建一种基于硬件真随机数发生源,具有广泛的应用价值。但目前硬件真随机数发生源均较复杂,而且很少有基于单片机的真随机数发生器。本文利用RC充放电的低稳定度,根据AVR单片机的特点设计了一种性价比极高的真随机数发生器。该随机数发生器使用元件很少,稳定性高,对一些价格敏感的特殊场合,如金融、通信、娱乐设备等有较大的应用意义。 1 基本原理和方法 1.1 基本原理 串联的RC充放电电路由于受到漏电流、电阻热噪声、电阻过剩噪声、电容极化噪声等诸多不确定性因素的影响,其充放电稳定度一般只能达到10-3。利用这种RC充放电的低稳定度特性实现廉价的真随机数发生源。 Atmel公司AVR单片机ATmega 128以其速度快、功能强、性价比高等优点广泛应用于各种嵌入式计算场合。利用AVR单片机引脚配置灵活多样的特点,使用Amnega128 两个I/O口作为真随机数的电气接口。 其原理如图1所示。主要原理是利用串联RC电路的不确定性产生真随机数源,收集数据,通过AVR单片机ATmega128和主时钟电路量化RC电路的充放电时问,获得不确定的2位二进制数据,再利用程序将每4次采集的数据综合,最后产生1个8位的真随机数。

基于51单片机的波形发生器的设计讲解

目录 1 引言 (1) 1.1 题目要求及分析 (1) 1.1.1 示意图 (1) 1.2 设计要求 (1) 2 波形发生器系统设计方案 (2) 2.1 方案的设计思路 (2) 2.2 设计框图及系统介绍 (2) 2.3 选择合适的设计方案 (2) 3 主要硬件电路及器件介绍 (4) 3.1 80C51单片机 (4) 3.2 DAC0832 (5) 3.3 数码显示管 (6) 4 系统的硬件设计 (8) 4.1 硬件原理框图 (8) 4.2 89C51系统设计 (8) 4.3 时钟电路 (9) 4.4 复位电路 (9) 4.5 键盘接口电路 (10) 4.7 数模转换器 (11) 5 系统软件设计 (12) 5.1 流程图: (12) 5.2 产生波形图 (12) 5.2.1 正弦波 (12) 5.2.2 三角波 (13) 5.2.3 方波 (14) 6 结论 (16) 主要参考文献 (17) 致谢...................................................... 错误!未定义书签。

1引言 1.1题目要求及分析 题目:基于51单片机的波形发生器设计,即由51单片机控制产生正弦波、方波、三角波等的多种波形。 1.1.1示意图 图1:系统流程示意图 1.2设计要求 (1) 系统具有产生正弦波、三角波、方波三种周期性波形的功能。 (2) 用键盘控制上述三种波形(同周期)的生成,以及由基波和它的谐波(5次以下)线性组合的波形。 (3) 系统具有存储波形功能。 (4) 系统输出波形的频率范围为1Hz~1MHz,重复频率可调,频率步进间隔≤100Hz,非正弦波的频率按照10次谐波来计算。 (5) 系统输出波形幅度范围0~5V。 (6) 系统具有显示输出波形的类型、重复频率和幅度的功能。

VHDL产生伪随机数

Library IEEE ; use IEEE.std_logic_1164.all ; use IEEE.std_logic_arith.all ; entity lfsr is generic (data_width : natural := 8 ); port ( clk : in std_logic ; reset : in std_logic ; data_out : out UNSIGNED(data_width - 1 downto 0) ); end lfsr ; architecture rtl of lfsr is signal feedback : std_logic ; signal lfsr_reg : UNSIGNED(data_width - 1 downto 0) ; begin feedback <= lfsr_reg(7) xor lfsr_reg(0) ; latch_it : process(clk,reset) begin if (reset = '1') then lfsr_reg <= (others => '0') ;

elsif (clk = '1' and clk'event) then lfsr_reg <= lfsr_reg(lfsr_reg'high - 1 downto 0) & feedback ; end if; end process ; data_out <= lfsr_reg ; end RTL ; Reference URL:https://www.doczj.com/doc/f817551704.html,/eda/edasrc/6153.html

简易波形发生器设计报告

电子信息工程学院 硬件课程设计实验室课程设计报告题目:波形发生器设计 年级:13级 专业:电子信息工程学院学号:201321111126 学生姓名:覃凤素 指导教师:罗伟华 2015年11月1日

波形发生器设计 波形发生器亦称函数发生器,作为实验信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。 波形发生器一般是指能自动产生方波、三角波、正弦波等电压波形的电路。产生方波、三角波、正弦波的方案有多种,如先产生正弦波,再通过运算电路将正弦波转化为方波,经过积分电路将其转化为三角波,或者是先产生方波-三角波,再将三角波变为正弦波。本课程所设计电路采用第二种方法,利用集成运放构成的比较器和电容的充放电,实现集成运放的周期性翻转,从而在输出端产生一个方波。再经过积分电路产生三角波,最后通过正弦波转换电路形成正弦波。 一、设计要求: (1) 设计一套函数信号发生器,能自动产生方波、三角波、正弦波等电压波形; (2) 输出信号的频率要求可调; (3) 根据性能指标,计算元件参数,选好元件,设计电路并画出电路图; (4) 在面包板上搭出电路,最后在电路板上焊出来; (5) 测出静态工作点并记录; (6) 给出分析过程、电路图和记录的波形。 扩展部分: (1)产生一组锯齿波,频率范围为10Hz~100Hz , V V 8p -p =; (2)将方波—三角波发生器电路改成矩形波—锯齿波发生器,给出设计电路,并记录波形。 二、技术指标 (1) 频率范围:100Hz~1kHz,1kHz~10kHz ; (2) 输出电压:方波V V 24p -p ≤,三角波V V 6p -p =,正弦波V V 1p -p ≥; (3) 波形特性:方波s t μ30r < (1kHz ,最大输出时),三角波%2V <γ ,正弦波y~<2%。 三、选材: 元器件:ua741 2个,3DG130 4个,电阻,电容,二极管 仪器仪表: 直流稳压电源,电烙铁,万用表和双踪示波器 四、方案论证 方案一:用RC 桥式正弦波振荡器产生正弦波,经过滞回比较器输出方波,方波在经过积分器得到三角波。

多种波形发生器的设计与制作

课题三 多种波形发生器的设计与制作 方波、三角波、脉冲波、锯齿波等非正弦电振荡信号是仪器仪表、电子测量中最常用的波形,产生这些波形的方法较多。本课题要求设计的多种波形发生器是一种环形的波形发生器,方波、三角波、脉冲波、锯齿波互相依存。电路中应用到模拟电路中的积分电路、过零比较器、直流电平移位电路和锯齿波发生器等典型电路。通过对本课题的设计与制作,可进一步熟悉集成运算放大器的应用及电路的调试方法,提高对电子技术的开发应用能力。 1、 设计任务 设计并制作一个环形的多种波形发生器,能同时产生方波、三角波、脉冲波和锯齿波,它们的时序关系及幅值要求如图3-3-1所示。 图3-3-1 波形图 设计要求: ⑴ 四种波形的周期及时序关系满足图3-3-1的要求,周期误差不超过%1±。 ⑵ 四种波形的幅值要求如图3-3-1所示,幅值误差不超过%10±。 ⑶ 只允许采用通用器件,如集成运放,选用F741。

要求完成单元电路的选择及参数设计,系统调试方案的选取及综合调试。 2、设计方案的选择 由给定的四种波形的时序关系看:方波决定三角波,三角波决定脉冲波,脉冲波决定锯齿波,而锯齿波又决定方波。属于环形多种波形发生器,原理框图可用3-3-2表示。 图3-3-2 多种波形发生器的方框图 仔细研究时序图可以看出,方波的电平突变发生在锯齿波过零时刻,当锯齿波的正程过零时,方波由高电平跳变为低电平,故方波发生电路可由锯齿波经一个反相型过零比较器来实现。三角波可由方波通过积分电路来实现,选用一个积分电路来完成。图中的u B电平显然上移了+1V,故在积分电路之后应接一个直流电平移位电路,才能获得符合要求的u B波形。脉冲波的电平突变发生在三角波u B的过零时刻,三角波由高电平下降至零电位时,脉冲波由高电平实跳为低电平,故可用一个同相型过零比较器来实现。锯齿波波形仍是脉冲波波形对时间的积分,只不过正程和逆程积分时常数不同,可利用二极管作为开关,组成一个锯齿波发生电路。由上,可进一步将图3-3-2的方框图进一步具体化,如图3-3-3所示。 图3-3-3 多种波形发生器实际框图 器件选择,设计要求中规定只能选用通用器件,由于波形均有正、负电平,应选择由正、负电源供电的集成运放来完成,考虑到重复频率为100Hz(10ms),故选用通用型运放F741(F007)或四运放F324均可满足要求。本设计选用F741。其管脚排列及功能见附录三之三。

简易波形发生器的设计

目录 第一章单片机开发板 (1) 1.1 开发板制作 (1) 1.1.1 89S52单片机简介 (1) 1.1.2 开发板介绍 (2) 1.1.3 89S52的实验程序举例 (3) 1.2开发板焊接与应用 (4) 1.2.1开发板的焊接 (4) 1.2.2开发板的应用 (5) 第二章函数信号发生器 (7) 2.1电路设计 (7) 2.1.1电路原理介绍 (7) 2.1.2 DAC0832的工作方式 (9) 2.2 波形发生器电路图与程序 (10) 2.2.1应用电路图 (10) 2.2.2实验程序 (11) 2.2.3 调试结果 (15) 第三章参观体会 (16) 第四章实习体会 (17) 参考文献 (18)

第一章单片机开发板 1.1 开发板制作 1.1.1 89S52单片机简介 图1.1 89s52 引脚图 如果按功能划分,它由8个部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EP ROM)、I/O口(P0口、P1口、P2口、P3口)、串行口、定时器/计数器、中断系统及特殊功能寄存器(SF R)的集中控制方式。 各功能部件的介绍: 1)数据存储器(RAM):片内为128个字节单元,片外最多可扩展至64K字节。 2)程序存储器(ROM/EPROM):ROM为4K,片外最多可扩展至64K。 3)中断系统:具有5个中断源,2级中断优先权。 4)定时器/计数器:2个16位的定时器/计数器,具有四种工作方式。 5)串行口:1个全双工的串行口,具有四种工作方式。 6)特殊功能寄存器(SFR)共有21个,用于对片内各功能模块进行管理、监控、监视。 7)微处理器:为8位CPU,且内含一个1位CPU(位处理器),不仅可处理字节数据,还可以进行位变量的处理。 8)四个8位双向并行的I/O端口,每个端口都包括一个锁存器、一个输出驱动器和一个输入缓冲器。这四个端口的功能不完全相同。 A、P0口既可作一般I/O端口使用,又可作地址/数据总线使用; B、P1口是一个准双向并行口,作通用并行I/O口使用; C、 P2口除了可作为通用I/O使用外,还可在CPU访问外部存储器时作高八位地址线使用; D、P3口是一个多功能口除具有准双向I/O功能外,还具有第二功能。 控制引脚介绍: 1)电源:单片机使用的是5V电源,其中正极接40引脚,负极(地)接20引脚。 2)时钟引脚XTAL1、XTAL2时钟引脚外接晶体与片内反相放大器构成了振荡器,它提供单片机的时钟控制信号。时钟引脚也可外接晶体振荡器。 振蒎电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,

伪随机数列发生器-TsouShih

8位伪随机数列发生器 天津工业大学理学院 XXX XXXXXXX 2011年12月09日

背景 如果一个序列,一方面它是可以预先确定的,并且是可以重复地生产和复制的;一方面它又具有某种随机序列的随机特性(即统计特性),我们便称这种序列为伪随机序列。因此可以说,伪随机序列是具有某种随机特性的确定的序列。它们是由移位寄存器产生确定序列,然而他们却具有某种随机序列的随机特性。因为同样具有随机特性,无法从一个已经产生的序列的特性中判断是真随机序列还是伪随机序列,只能根据序列的产生办法来判断。伪随机序列系列具有良好的随机性和接近于白噪声的相关函数,并且有预先的可确定性和可重复性。这些特性使得伪随机序列得到了广泛的应用,特别是在CDMA系统中作为扩频码已成为CDMA技术中的关键问题。伪随机序列的特性对系统的性能有重要的影响,因此有必要了解和掌握伪随机序列的的概念和特性。 原理 伪随机数列的概念与特性 伪随机数列也称作PN码。它具有近似随机数列(噪声)的性质,它的相关函数接近白噪声的相关函数 (Δ函数 ),即有窄的高峰或宽的功率谱密度 ,使它易于从其他信号或干扰中分离出来。而又能按一定的规律(周期)产生和复制的序列。因为随机数列是只能产生而不能复制的,所以称其为“伪”随机数列。广泛应用于通信、雷达、导航等重要的技术领域。近年来 ,在自动控制、计算机、声学、光学测量、数字式跟踪和测距系统 ,以及数字网络系统的故障分析检测也得到广泛的应用。 伪随机数列具有这样的特点: (1)每个周期中,“1”码出现2n-1次,“0”码出现2n-1次,即0、1出现概率几乎相等。 (2)序列中连1的数目是n,连0的数目是n-1。 (3)分布无规律,具有与白噪声相似的伪随机特性。

课程设计——波形发生器

1.概述 波形发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。函数信号发生器是一种能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路。函数信号发生器在电路实验和设备检测中具有十分广泛的用途。通过对函数波形发生器的原理以及构成分析,可设计一个能变换出三角波、正弦波、方波的函数波形发生器。本课程采用采用RC正弦波振荡电路、电压比较器、积分电路共同组成的正弦波—方波—三角波函数发生器的设计方法。先通过RC正弦波振荡电路产生正弦波,再通过电压比较器产生方波,最后通过积分电路形成三角波。

2.设计方案 采用RC正弦波振荡电路、电压比较器、积分电路共同组成的正弦波—方波—三角波函数发生器的设计方法。先通过RC正弦波振荡电路产生正弦波,再通过电压比较器产生方波,最后通过积分电路形成三角波。文氏桥振荡器产生正弦波输出,其特点是采用RC串并联网络作为选频和反馈网络,其振荡频率f=1/2πRC.改变RC的值,可得到不同的频率正弦波信号输出。用集成运放构成电压比较器,将正弦波变换成方

3. 设计原理 3.1正弦波产生电路 正弦波由RC 桥式振荡电路(如图3-1所示),即文氏桥振荡电路产生。文氏桥振荡器具有电路简单、易起振、频率可调等特点而大量应用于低频振荡电路。正弦波振荡电路由一个放大器和一个带有选频功能的正反馈网络组成。其振荡平衡的条件是AF =1以及ψa+ψf=2n π。其中A 为放大电路的放大倍数,F 为反馈系数。振荡开始时,信号非常弱,为了使振荡建立起来,应该使AF 略大于1。 放大电路应具有尽可能大的输入电阻和尽可能小的输出电阻以减少放大电路对选频特性的影响,使振荡频率几乎仅决定于选频网络,因此通常选用引入电压串联负反馈的放大电路。正反馈网络的反馈电压U f 是同相比例运算电路的输入电压,因而要把同相比例运算电路作为整体看成电路放大电路,它的比例系数是电压放大倍数,根据起振条件和幅值平衡条件有 31 1≥+ =R Rf Av (Rf=R2+R1//D1//D2) 且振荡产生正弦波频率 Rc f π210= 图中D1、D2的作用是,当Vo1幅值很小时,二极管D1、D2接近开路,近似有Rf =9.1K +2.7K =11.8K ,,Av=1+Rf/R1=3.3>=3,有利于起振;反之当Vo 的幅值较大时,D1或D2导通,Rf 减小,Av 随之下降,Vo1幅值趋于稳定。

随机数生成器

湖北轻工职业技术学院 实验报告 题目:随机数生成器 专业:电子信息工程技术 姓名: 学号: 班级:10电信 指导老师: 2012年5月29日

目录 引言 (3) 一、总体方案的设计 (4) 二、单元电路的设计 (4) (一) NE555的引脚与功能 (4) (二) CD4017的引脚与功能 (5) (三)实物正反面图 (6) 三、使用元件 (7) 四、电路组装\调试过程中遇到的问题及解决办法 (7) 五、分析与心得 (8)

引言 随机数是专门的随机试验的结果。随机数最重要的特性是:它所生成的后面的那个数与前面的那个数毫无关系。首先需要声明的是,计算机不能生成绝对随机的随机数(“真随机数”),只能生成“伪随机数”。其实绝对随机的随机数只是一种理想的随机数,即使计算机怎样发展,它也不会生成一串绝对随机的随机数。计算机只能生成相对的随机数,即伪随机数。未来的量子计算机有可能生成基于自然规律的不可重现的“真随机数”。在统计学的不同技术中需要使用随机数。比如:1、在从统计总体中抽取有代表性的样本的时候2、在将实验动物分配到不同的试验组的过程中3、在进行蒙特卡罗模拟法计算的时候等等。实际生活中,这些随机数起着很大的作用,所以很多人会专门去寻找随机数生成器。比如:1、对银行来说,银行的ID和密码非常脆弱。如果有随机数表,就可以防备此类事件。随机数表是指为每个客户指定各不相同的数字列表,申请时将该随机数表分配给客户,而不是按照一定的规律给出,这就安全很多。2、要考察某公司的牛奶产品质量,想从800袋牛奶中抽取60袋,就可以在随机数表中选中一数,并用向上、下、左、右不同的读法组成60个数,并按牛奶的标号进行检测,虽然麻烦,但很常用。3、企业要调查消费者对某产品的需求量,要从很多消费者中抽选一定数量的样本调查。

一位随机数发生器

电子课程设计 ——一位随机数发生器 学院:电子信息工程学院 专业、班级:电气工程及其自动化班姓名: 学号 指导老师: 2011年12月19日

一位随机数发生器 一、设计任务与要求 设计一个一位随机数发生器,当按下开关后,它将随机产生一个一位数,由数码管显示出来。它是无法由人的主观意志来决定的数码发生器,由于它不受人控制,因此将其用于摇奖号码机是符合公平和公正的原则的。 二、总体框图及设计方案 1.课题分析 一位随机数发生器能实现的功能是在不受人的意志控制的情况下随机产生一个一位数。要实现随机,可以把0~9十个一位数以一定频率循环,按下开关后锁存住一个数并显示出来。由于人在正常的有意识的情况下反应速度应该>0.1秒,所以这个频率要>10Hz,可以取1000Hz,即每一个数字显示的时间为1毫秒,每一轮显示的时间为0.01秒,大于人的反应速度,而考虑到仿真时的具体情况,尽可能高一点,比如10MHz左右。 2. 设计方案 图1 一位随机数发生原理框图 根据课题分析,本设计要设计一个十进制计数器,并且对计数结果进行实时显示,并且要能实现对信号的控制和锁存。设计原理框图如上图1所示。图中各

部分的作用如下: (1)、脉冲信号发生电路:为计数器提供单脉冲信号。可以由非门和石英振荡器构成,可以由单稳态电路构成,可以由施密特触发器构成,也可以由555电路构成。本设计用555定时器构成。 (2)、控制电路:产生控制信号,对脉冲信号进行控制,能实现锁存功能。根据锁存器的锁存功能实现锁存,可用SR锁存器或D触发器实现。本设计用D 触发器实现。 (3)、信号处理器:对脉冲信号和控制信号进行综合,送入计数器和信号显示灯。用一个与非门实现。 (4)、计数器:对综合后的信号进行十进制循坏加计数,有直接清零功能。 (5)、消隐电路:计数过程中不使译码/显示电路显示计数结果。 (6)、译码/显示电路:对计数结果进行实时显示,应有锁存功能。 (7)、信号显示灯:提示操作者产生结果,并保持灯亮。 (8)、外部操作信号:对控制电路进行操作,能实现“开始”、“停止”、“清零重新开始”等操作。 三、器件选择 本设计用到的所有器件如下表1所示: 表1、器件列表

波形发生器课程设计

1.设计题目:波形发生电路 2.设计任务和要求: 要求:设计并用分立元件和集成运算放大器制作能产生方波和三角波波形的波形发生器。 基本指标:输出频率分别为:102H Z 、103H Z ;输出电压峰峰值V PP ≥20V 3.整体电路设计 1)信号发生器: 信号发生器又称信号源或振荡器。按信号波形可分为正弦信号、函数(波形)信号、脉冲信号和随机信号发生器等四大类。各种波形曲线均可以用三角函数方程式来表示,如三角波、锯齿波、矩形波(含方波)、正弦波。通过模拟电子技术设计的波形发生器是一个不需要外加输入信号,靠自身振荡产生信号的电路。2)电路设计: 整体电路由RC振荡电路,反相输入的滞回比较器和积分电路组成。 理由:a)矩形波电压只有两种状态,不是高电平,就是低电平,所以电压比较器是它的重要组成部分; b)产生振荡,就是要求输出的两种状态自动地相互转换,所以电路中必须引入反馈; c)输出状态应按一定的时间间隔交替变化,即产生周期性变化,所以电路中要有延迟环节来确定每种状态维持的时间。 RC振荡电路:即作为延迟环节,又作为反馈电路,通过RC充放电实现输出状态的自动转换。 反相输入的滞回比较器:矩形波产生的重要组成部分。 积分电路:将方波变为三角波。 3)整体电路框图: 为实现方波,三角波的输出,先通过 RC振荡电路,反相输入的滞回比较器得到方波,方波的输出,是三角波的输入信号。三角波进入积分电路,得出的波形为所求的三角波。其电路的整体电路框图如图1所示:

图1 4)单元电路设计及元器件选择 a ) 方波产生电路 根据本实验的设计电路产生振荡,通过RC 电路和滞回比较器时将产生幅值约为12V 的方波,因为稳压管选择1N4742A (约12V )。电压比较电路用于比较模拟输入电压与设定参考电压的大小关系,比较的结果决定输出是高电平还是低电平。滞回比较器主要用来将信号与零电位进行比较,以决定输出电压。图3为一种滞回电压比较器电路,双稳压管用于输出电压限幅,R 3起限流作用,R 2和R 1构成正反馈,运算放大器当u p >u n 时工作在正饱和区,而当u n >u p 时工作在负饱和区。从电路结构可知,当输入电压u in 小于某一负值电压时,输出电压u o = -U Z ;当输入电压u in 大于某一电压时,u o = +U Z 。运算放大器在两个饱和区翻转时u p =u n =0,由此可确定出翻转时的输入电压。u p 用u in 和u o 表示,有 2 1o 1in 22 1o 2 in 1p 111 1R R u R u R R R u R u R u ++= ++= 根据翻转条件,令上式右方为零,得此时的输入电压 th Z 2 1 o 21in U U R R u R R u ==-= U th 称为阈值电压。滞回电压比较器的直流传递特性如图4所示。设输入电压初始值小于-U th ,此时u o = -U Z ;增大u in ,当u in =U th 时,运放输出状态翻转,进入正饱和区。如果初始时刻运放工作在正饱和区,减小u in ,当u in = -U th 时,运放则开始进入负饱和区。 RC 振荡电路 积分电路 方波 三角波 反相输入的滞回比较 生成 生成 输入 积分电路 输入

波形发生器的设计全解

正 文 1 选题背景 波形发生器又名信号源,广泛应用于电子电路、自动控制和科学试验等领域。雷达、通信、宇航、遥控遥测技术和电子系统等领域都随处可见波形发生器的应用。如今作为电子系统心脏的信号源的性能很大程度上决定了电子设备和系统的性能的提高,因此随着电子技术的不断发展,现今对信号源的频率稳定度、频谱纯度和频率范围以及信号波形的形状提出越来越高的挑战。 1.1指导思想 利用NE555构成多谐振荡器产生方波,根据LM324输出的锯齿波分别通入低通滤波器和高通滤波器就可以输出正弦波Ⅰ、正弦波Ⅱ。 1.2 方案论证 方案一:使用NE555芯片构成多谐振荡器,输出方波,通过锯齿波发生电路产生锯齿波,然后通过一个KHz f H 10=的低通滤波器,通过滤波产生一次,8KHz 到10KHz 的正弦波,然后再让锯齿波通过一个24KHz~30KHz 的带通滤波器,输出三次正弦波。其中滤出三次谐波的理论依据是,由于锯齿波是一个关于t 的周期函数,并且满足狄里赫莱条件:在一个周期内具有有限个间断点,且在这些间断点上,函数是有限值;在一个周期内具有有限个极值点;绝对可积。 方案二:使用功放构成文森桥式震荡电路,产生出8KHz~10KHz 的正弦波。接着是用NE555芯片,搭建出施密特触发电路,产生脉冲波输出;将脉冲波分别输入一个KHz f H 10=的低通滤波器和24KHz~30KHz 的带通滤波器电路中,产生一次和三次正弦波。 最初方案设计的大体思路在方案一和方案二之间犹豫不决,于是将两个电路的大体电路都进行了简单的设计,发现方案二存在很多的问题很难解决。 问题一:如果使用文森桥式震荡器产生正弦波,改变震荡频率就需要改变RC 常数,要同时改变两个R (在实际电路中,同时改变两个电容的值是很复杂的,而且这样也无法得到一个8KHZ~10KHz 的连续的频率),需要双滑动变阻器并且要保证滑动变阻器改变的值完全相同,有一定困难。 问题二:NE555芯片搭建出来的是一个简单的施密特触发器,输入正弦波之后,输出的脉冲波的占空比是不可以调整的,不满足实验要求的占空比可调的条件。要是施密特触发器产生的脉冲波的占空比可调会是该电路进一步复杂化。 问题三:LM324芯片的功放不够,由于有Ω600负载电阻的限制,输出波形的峰峰值不能简单的通过电阻的分压来实现。 鉴于方案二存在的问题能以解决,我们就确定选择方案一的整体思路进行方案的设计。 1.3 基本设计任务 用555 定时器和四运放LM324 设计并制作一个频率可变的、能够同时输出脉冲波、

C语言程序设计 伪随机数的产生

4.3.1伪随机数的产生 产生伪随机数的函数是rand(),该函数可随机生成0~RAND_MAX之间的一个整数。RAND_MAX是头文件中定义的一个符号常量。ANSI规定RAND_MAX的值不小于32767。 在编写程序时经常需要各种范围的随机数,如投骰子时需要的随机数是1~6,投一枚硬币会有正反面,需要的随机数是0~1。根据公式: n=a+rand()%b 可以得到所需范围内的随机数。其中,a为位移,是所需连续整数范围的第一个数,b是比例因子,是所需连续整数范围的宽度,则希望产生1~6之间随机数的公式为:face=1+rand()%6 【例4-3】编写一个模拟投掷硬币的程序,模拟20次,统计出正面出现的次数。 问题分析:每调用一次rand()函数会产生一个随机数,循环20次可以产生20个随机数。硬币有正反两面,用1代表正面,0代表反面,产生伪随机数的公式为rand()%2。 参考程序如下: /*程序名:4_3.c*/ /*功能:模拟投掷硬币20次,打印投掷结果并统计出正面出现的次数*/ #include #include int main() { int i,face,iCount=0; for(i=1;i<=20;i++) { face=rand()%2; printf("%5d",face); if(i%10==0)printf("\n"); if(face)iCount++; } printf("正面出现次数:%d次\n",iCount); return0; } 运行程序,结果为: 1100100000 1111111010 正面出现次数:11次 如果再次运行该程序,会发现结果与上面的相同。这怎么称得上是随机数呢?实际上,每次调用rand函数产生的一系列数似乎是随机的,但每次执行程序所产生的序列则是重复的。程序调试完成后,可以使用函数srand(),通过提供不同的种子产生不同的随机数序列。

MATLAB伪随机数发生器

MATLAB伪随机数发生器.txt生活是过出来的,不是想出来的。放得下的是曾经,放不下的是记忆。无论我在哪里,我离你都只有一转身的距离。 均匀性较好的随机数生成 zz from https://www.doczj.com/doc/f817551704.html,/lanmuyd.asp?id=3379 随机数生成算法[1]是一类重要的算法,广泛应用于仿真技术等场合。然而,目前的伪随机数生成器(Pseudo-random number generator, PRNG)[2]存在一个重要缺陷,即样本分布与真实分布不一致,这主要发生在以下两种情况:①抽样代价过高,样本数目较少;②空间维数较高[3]。 因此,有必要寻找一类新的随机数发生器。准随机数发生器(Quasi-random number generator,QRNG)[4]能够生成稳定、低差异性的(low-discrepancy)样本,而与样本数目或空间维数无关[5]。故针对蒙特卡罗积分结果不稳定的情况,提出一种基于QRNG的蒙特卡罗积分,发现比传统方法性能有所提升。 伪随机数介绍 伪随机数是由确定的算法生成的,其分布函数与相关性均能通过统计测试。与真实随机数的差别在于,它们是由算法产生的,而不是一个真实的随机过程。一般地,伪随机数的生成方法主要有以下3种[6]: (1)直接法(Direct Method),根据分布函数的物理意义生成。缺点是仅适用于某些具有特殊分布的随机数,如二项式分布、泊松分布。 (2)逆转法(Inversion Method),假设U服从[0,1]区间上的均匀分布,令X=F-1(U),则X的累计分布函数(CDF)为F。该方法原理简单、编程方便、适用性广。 (3)接受拒绝法(Acceptance-Rejection Method):假设希望生成的随机数的概率密度函数(PDF)为f,则首先找到一个PDF为g的随机数发生器与常数c,使得f(x)≤cg(x),然后根据接收拒绝算法求解。由于算法平均运算c次才能得到一个希望生成的随机数,因此c的取值必须尽可能小。显然,该算法的缺点是较难确定g与c。 因此,伪随机数生成器(PRNG)一般采用逆转法,其基础是均匀分布,均匀分布PRNG 的优劣决定了整个随机数体系的优劣[7]。下文研究均匀分布的PRNG。 伪随机数生成器的缺点 重复做N=10000次试验,每次产生S=20与S=100个随机分布的样本,同时采用Kolmogorov- Smirnov假设检验(hypothesis test)来确定样本是否满足均匀分布。规定: ① 0假设(null hypothesis)为样本服从均匀分布;② 1假设(alternative hypothesis)为样本不服从均匀分布。 采用P值(∈[0, 1])衡量,P值越趋近于0,表示越有理由拒绝0假设,即样本不服从均匀分布;P值越趋近于1,表示越有理由接受0假设,即样本服从均匀分布。 如图1与图2所示:随着P值下降,样本也越来越不服从均匀分布。实践中希望P值越大越好。然而统计学的结论显示,P值一定服从均匀分布,与N、S大小无关,这表明由于随机性,总会出现某次抽样得到的样本不服从、甚至远离均匀分布。另外,样本大小的不同,造成检验标准的不同,直观上看S=100对应的均匀分布普遍比S=20对应的更均匀。因此,小样本情况下均匀分布PRNG的差异性尤为严重。

波形发生器课程设计报告

课程设计报告书 波形发生器 学院电子与信息学院 专业班级 学生姓名 学生学号 指导教师 课程编号 课程学分1 起始日期2017 波形发生器 一、选题背景 波形发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。函数信号发生器是一种能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路。函数信号发生器在电路实验和设备检测中具有十分广泛的用途。通过对函数波形发生器的原理以及构成分析,可设计一个能变换出三角波、正弦波、矩形波的函数波形发生器。 二、方案论证 1、设计题目要求 1.1、功能要求 同时三通道输出,采用正弦波、矩形波、三角波的级联结构; 电源由稳压电源供给; 1.2、指标要求: 输出电压要求正弦波Vp-p>10V、矩形波Vp-p>10V、三角波Vp-p>4V; 输出波形频率范围为100Hz—2kHz;

通带内输出电压幅度峰峰值误差不大于5%; 矩形波占空比可调整,调整范围:10%~90%; 2、总体设计方案 2.1设计思路 根据模拟电子技术基础课程,可通过RC桥式正弦波振荡电路产生正弦波,通过比较器变换成矩形波,再通过积分电路变换成三角波;或者同过滞回比较器和RC电路组成的矩形波发生电路产生矩形波,通过积分电路变换成三角波,再用滤波法变换成正弦波。 2.2设计方案 满足上述设计功能可以实施的方案很多,现提出以下几种方案: 2.2.1方案一 ①原理框图 图2.2.1方案一原理框图 ②基本原理 通过RC桥式正弦波振荡电路,产生正弦波,改变电阻R和电容C的值实现频率可调;通过单限比较器,产生矩形波,接入参考电压,通过改变与参考电压串联电阻的阻值,实现占空比可调;通过积分电路,产生三角波。 2.2.2方案二 ①原理框图

多种波形发生器的设计

《电子技术》 课程设计说明书 题目名称:多种波形发生器的设计姓名:xxx 学号:xxx 班级:xxx 指导教师:xxx 2013年 1 月 4 日

摘要 波形发生器是一种能够产生大量标准信号和用户定义信号,具有高精度、可重复性、易操作性、对频率、幅值、相移、波形进行动态及时的控制的一类新型信号源。 本设计的设计方案是把滞回比较器和积分器首尾相接组成一个正反馈闭环系统,则比较器输出的方波经过积分器可得到三角波,三角波又触发比较器自动翻转形成法波;三角波—正弦波的转换电路主要由差分放大电路来完成,差分放大电路具有工作点稳定,输入阻抗高,抗干扰能力强等优点。特别是作为直流放大器,可以有效抑制零点漂移,因此可以将频率很低的三角波变换成正弦波。波形变换的原理是利用差分放大器传输特性曲线的非线性。 关键词:信号源;滞回比较器;积分器;波形发生器 多种波形发生器的设计背景 波形发生器是随着众多领域对于复杂的、可由用户定义的测试波形的需要而形成和发展起来的,它的主要特点是可以产生任何一种特殊波形,输出信号的频率、电平以及平滑低通滤波的截至频率也可以作到程序设置,因此在机械性能分析、雷达和导航、自动测试系统等方面得到广泛的应用。而对AWG的控制、数据传输、输出信号的频率和电平设置都可以通过微机打印口在EPP工作模式下设计完成。这样不仅具有设计简单,占用微机资源较少的优点,而且操作简单,使用方便,易于硬件升级。

波形发生器是能够产生大量的标准信号和用户定义信号,具有高精度、可重复性、易操作性、连续的相位变换和频率稳定性,还可以对频率、幅值、相移、波形进行动态及时的控制。随着不断进步的计算机技术和微电子技术在测量仪器中的应用而形成和发展起来的一类新型信号源。 目录 1.摘要 (2) 1.设计目的 (4) 2.设计任务、要求及设计容 (4) 2.1任务 (4) 2.2要求 (4) 2.3设计方案 (5) 3. 多种波形发生器原理电路设计 (5) 3.1各方案原理框图及论证 (5) 3.2电路图和接线图及工作原理 (6) 3.3各部分电路设计 (8) 3.4 电路的参数选择及计算 (13)

用C语言的rand()和srand()产生伪随机数的方法总结

标准库(被包含于中)提供两个帮助生成伪随机数的函数: 函数一:int rand(void); 从srand(seed)中指定的seed开始,返回一个[seed,RAND_MAX(0x7fff))间的随机整数。 函数二:void srand(unsigned seed); 参数seed是rand()的种子,用来初始化rand()的起始值。 可以认为rand()在每次被调用的时候,它会查看: 1)如果用户在此之前调用过srand(seed),给seed指定了一个值,那么它会自动调用srand(seed)一次来初始化它的起始值。 2)如果用户在此之前没有调用过srand(seed),它会自动调用srand(1)一次。 根据上面的第一点我们可以得出: 1)如果希望rand()在每次程序运行时产生的值都不一样,必须给srand(seed)中的seed一个变值,这个变值必须在每次程序运行时都不一样(比如到目前为止流逝的时间)。 2)否则,如果给seed指定的是一个定值,那么每次程序运行时rand()产生的值都会一样,虽然这个值会是[seed,RAND_MAX(0x7fff))之间的一个随机取得的值。 3)如果在调用rand()之前没有调用过srand(seed),效果将和调用了srand(1)再调用rand()一样(1也是一个定值)。 举几个例子,假设我们要取得0~6之间的随机整数(不含6本身): 例一,不指定seed: for(int i=0;i<10;i++){ ran_num=rand()%6; cout<

相关主题
文本预览
相关文档 最新文档