你的位置:EETOP 赛灵思(Xilinx) 社区 >> >> 全部 >> 详细内容

函数发生器的实现方法

发布者:jackzhang 时间:2015-07-22 21:24:28

函数发生器的实现有2种方法  1 : 采用外部DDS时钟 + sdram+da的方法实现,这样需要PC机下载波形点数到FPGA中,然后控制DDS产生需要的时钟,它的优点是实现简单,缺点是不能快速的产生波形,同时在低频的情况下,性噪比不是特别好。
2 :采用FPGA+DA的方法实现。这个的做法复杂很多,其中安捷伦的信号源就是这样做法,在这里着重说一下这个的实现方法。
    1):正弦波可以采用FPGA内部的DDS或者cordic算法实现,这个根据需求与FPGA资源进行决定。
    2): 方法是实现第二难的部分,由于DDS的误差累计,采用简单的等于以及不等于的方法会产生很大的相位抖动,就是说的累加到倍数或者小数部分,因此需要对这部分进行算法上的处理,最简单的算法就是差值处理。
    3): 三角波/斜波 采用方波算法后,找出两个折线,就可以实现。
    4): 脉冲产生,这部分是最难的部分,它必须根据方波来拟合出公式来满足,占空比,上升沿,下降沿,脉宽等参数。
    5) :pn码,这个比较容易实现,采用m序列就可以很好的产生了。
    6) :高斯带限噪声,可以先生成一个白噪声 + 滤波器的方法,滤波器的系数采用matlab来产生,通过降低clk来降低带宽。
   7 ):任意波发生器,采用PC下载到FPGA内部的存储器的方法,采用插值算法可以实现任意码元速率的输出。


还有调制部分,这部分就不在这里讲述了
(转自: EETOP BLOG http://www.eetop.cn/blog/html/61/239461-50448.html)

最新课程

  • 深入浅出玩儿转FPGA

    本视频基于Xilinx公司的Artix-7FPGA器件以及各种丰富的入门和进阶外设,提供了一些典型的工程实例,帮助读者从FPGA基础知识、逻辑设计概念

  • 从零开始大战FPGA基础篇

    本课程为“从零开始大战FPGA”系列课程的基础篇。课程通俗易懂、逻辑性强、示例丰富,课程中尤其强调在设计过程中对“时序”和“逻辑”的把控,以及硬件描述语言与硬件电路相对应的“

  • Verilog基础及典型数字

    课程中首先会给大家讲解在企业中一般数字电路从算法到流片这整个过程中会涉及到哪些流程,都分别使用什么工具,以及其中每个流程都分别做了