高精度的信号源是各种测试和实验过程中不可缺少的工具,在通信、雷达、测量、控制、教学等领域应用十分广泛。传统的频率合成方法设计的信号源在功能、精度、成本等方面均存在缺陷和不足,不能满足电子技术的发展要求,直接数字合成(Direct Digital Synthesis)DDS技术可以提供高性能、高频高精度的信号源,方便地获得分辨率高且相位连续的信号,基于FPGA的DDS技术提供了升级方便并且成本低廉的解决方案。 本文对DDS的基本原理和输出频谱特性进行理论分析,总结出杂散分布规律。同时以DDS的频谱分析为基础,给出了几种改善杂散的方法。本文结合相关文献资料采用傅立叶变换的方法对相位截断时DDS杂散信号的频谱特性进行了研究,得到了杂散分布的规律性结论,并应用在程序设计程中;DDS技术的实现依赖于高速、高性能的数字器件,本文将FPGA器件和DDS技术相结合,确定了FPGA器件的整体设计方案,详细说明了各个模块的功能和设计方法,并对其关键部分进行了优化设计,从而实现了波形发生器数字电路部分的功能。软件部分采用模块设计方法,十分方便调试。为了得到满足设计要求的模拟波形,本文还设计了幅度调节、D/A转换和低通滤波等外围硬件电路。 实验结果表明,本文设计的基于DDS技术的多波形信号源基本能够满足普通学生实验室的要求。
上传时间: 2013-06-11
上传用户:woshiayin
为了实现把软件仿真的数据通过PCI总线DMA传输、处理后转换成高速视频串行数据流(LVDS数据流),设计出了基于PCI9054的数据转换模块。通过介绍PCI总线接口协议芯片PCI9054的性能、特点,分析了windows的WDM驱动程序的特点,在软硬件设计中采用把数据缓存器设置为两组SRAM的结构,两组SRAM交替进行数据存取的方式,有效克服了数据流不连续的现象,解决了形成不间断数据流和两次DMA传输之间的数据间断问题。应用结果表明,该设计可满足数字视频带宽20 MHz以内的LVDS数据流的转换与传输。
上传时间: 2014-12-26
上传用户:jisujeke
为实现基于PCI总线的运动控制,设计了一款以国产芯片CH365为核心的运动控制卡,给出设计原理图,开发基于DOS的开源驱动函数库和基于Windows的驱动程序及动态链接库,并对运动控制卡驱动程序的编写做了详细的介绍,对中断服务程序的工作流程也做了完整的说明,通过这些函数库及驱动程序,可方便地对伺服电机进行步进式及脉冲式控制,实现各种方向连续的曲线加工和速度控制。经测试,设计的运动控制卡在实时性、可靠性、插补速度和加工精度方面都有较大的优势,具有较好的应用前景。
上传时间: 2013-11-09
上传用户:yeling1919
针对目前架空输电线路巡线机器人连续巡线能力低、对大型障碍物越障适应能力弱的问题,提出基于仿生学原理的巡线机器人越障模型。设计两吊臂式巡线机器人,建立机器人的动力学模型,通过调整机器人两个手臂的相对角度和轮爪与障碍物的相对位置,求解模型的周期跨越动作,通过连续的两次摆动,完成了巡线机器人在输电线路上的越障过程。结果表明,当θ1为2.41(rad)时,巡线机器人以静止状态开始摆动,完成了周期的越障的运动过程。文中为巡线机器人的越障问题提供了新的思路和设计方法。
上传时间: 2013-10-11
上传用户:zhuyibin
开关磁阻电机调速系统的主要研究 “开关磁阻电机(Switched reluctance motor简称SR电动机)”一词源见于美国学者S.A.Nasar1969年所撰论文,它描述了这种电机的两个基本特征:1开关性——电机必须工作在一种连续的开关模式,这是为什么在各种新型半导体器件获得后才得以发展得主要原因;2磁阻性——它是真正的磁阻电机,定、转子具有可变磁阻回路。
标签: reluctance Switched Nasar motor
上传时间: 2013-12-17
上传用户:ynsnjs
本程序模拟100块球场的资源分配,足球场代号0~99,可以申请和释放足球场的场地,,申请和释放必须是连续的场地,申请过的人或者公司以名字为标记,可以随时查看场地的占用情况(程序有显示)。
上传时间: 2014-12-01
上传用户:cx111111
如果您用的是51等慢速的单片机可能没什么事情,当用ARM等快速的处理器作大量数据传输时可能会出现丢包的现象。在MCU连续的给主机发包的过程中,主机还没有将上一个包的数据从D12读走(就是D12的缓冲区处于满的情况),MCU又将另一个包写进去时会覆盖掉以前的。因此在每写入一个包时必须先判断D12有没有空的缓冲区,
标签: 单片机
上传时间: 2015-08-30
上传用户:xzt
用verilog设计密勒解码器 一、题目: 设计一个密勒解码器电路 二、输入信号: 1. DIN:输入数据 2. CLK:频率为2MHz的方波,占空比为50% 3. RESET:复位信号,低有效 三、输入信号说明: 输入数据为串行改进密勒码,每个码元持续时间为8μs,即16个CLK时钟;数据流是由A、B、C三种信号组成; A:前8个时钟保持“1”,接着5个时钟变为“0”,最后3个时钟为“1”。 B:在整个码元持续时间内都没有出现“0”,即连续16个时钟保持“1”。 C:前5个时钟保持“0”,后面11个时钟保持“1”。 改进密勒码编码规则如下: 如果码元为逻辑“1”,用A信号表示。 如果码元为逻辑“0”,用B信号表示,但以下两种特例除外:如果出现两个以上连“0”,则从第二个“0”起用C信号表示;如果在“通信起始位”之后第一位就是“0”,则用C信号表示,以下类推; “通信起始位”,用C信号表示; “通信结束位”,用“0”及紧随其后的B信号表示。 “无数据”,用连续的B信号表示。
上传时间: 2013-12-02
上传用户:wang0123456789
将运算的结果(浮点数)存入eeprom中。我们知道,浮点数在c语言中是以ieee格式存储 的,一个浮点数占用四个字节,例如浮点数34.526存为(160,26,10,66)这四个数。要 将一个浮点数存入eeprom,实际上就是要存这四个数。那么如何在程序中得到一个浮点数的 组成数呢? 浮点数在存储时,是存储连续的字节中的,只要设法找到存储位置,就可以得到这些数了。 可以定义一个void的指针,将此指针指向需要存储的浮点数,然后将此指针强制转化为char型,这样,利用指针就可以得到组成该浮点数的各个字节的值了!
上传时间: 2014-01-21
上传用户:a673761058
计算机对数据的处理都是以二进制数的形式来完成的,因此计算机处理的信号数值上和时间上都不是连续的,而是离散的
上传时间: 2014-01-24
上传用户:zhangyigenius