技术文章
技术文章

简述函数发生器的实现方法

发布时间2019-03-05        浏览次数:1116

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