《电子技术应用》

基于DDS技术的杂散抑制和正弦信号源的实现

2017年电子技术应用第12期 作者:亢 凯,阎渊海,胡泽民,施洪生
2017/12/14 13:10:00

亢  凯,阎渊海,胡泽民,施洪生

(北京交通大学 国家能源主动配电网技术研发中心,北京100044)


    摘  要: 依据直接数字频率合成技术(DDS)工作原理,在simulink软件搭建系统仿真模型输出正弦信号,在此基础上实现了两种压缩ROM查询表数据量的方法来抑制杂散波,并把这两种压缩方法相结合使得压缩比达到了1:42.67,有效减少了查询表的规模,降低了对DDS资源的占用。另一方面提出了一种基于DDS芯片AD9851和AT89S52单片机的正弦信号源设计方案,给出了该方案的相关硬件接口和软件程序,经过对实际PCB板的测试,实现了1 Hz~50 MHz的正弦信号输出,该正弦信号源可应用在不同的高频领域。

    关键词: 直接数字频率合成;simulink仿真杂散抑制;AD9851

    中图分类号: TN742.1

    文献标识码: A

    DOI:10.16157/j.issn.0258-7998.171974


    中文引用格式: 亢凯,阎渊海,胡泽民,等. 基于DDS技术的杂散抑制和正弦信号源的实现[J].电子技术应用,2017,43(12):9-12.

    英文引用格式: Kang Kai,Yan Yuanhai,Hu Zemin,et al. Spurious suppression and realization of sine signal source based on DDS technology[J].Application of Electronic Technique,2017,43(12):9-12.

0 引言

    在设备检测和电子测量技术中,常常需要一个高精度、频率可变的信号源,信号源的稳定往往关系到这些系统工作的性能。如在磨粒检测传感器中,需要对激励线圈施加以高频正弦信号,据理论分析和仿真验证,在一定的频率下,检测灵敏度随激励频率的增大而增大[1]。相比较其他信号合成技术,直接数字频率合成(Direct Digital frequency Synthesis,DDS)具有频率转换时间短,频率分辨率高,可编程和全数字化[2]

    文献[3]基于simulink软件搭建了DDS仿真模型,对DDS理想数学模型和有相位截断误差模型进行了分析,但文中并没有提出方法减少杂散分量。文献[4]通过AVR单片机和芯片AD9835设计出了一种高精度高频率的正弦波交流电源,但其变频范围太窄,仅为100 kHz~300 kHz,不能够满足对兆赫兹频率源的需求。

    为弥补上述不足,论文首先通过simulink软件搭建DDS仿真系统模型,通过压缩ROM查询表的数据量用以增加其位数,减少DDS杂散信号的输出。然后利用DDS芯片AD9851和微处理AT89S52设计出一种正弦信号源,实现了1 Hz~50 MHz的正弦波输出。

1 DDS工作原理

    DDS是一种将数字处理方法引入频率合成的新技术,把一系列数字量信号通过数/模转换成模拟量信号。基本原理框图如图1(a)所示,主要由相位累加器、ROM查询表、D/A转换器和低通滤波器构成。

    在参考时钟Fclk的作用下,N位累加器每接收到一次时钟脉冲对频率控制字M进行一次累加,把累加后的结果送至ROM查询表中,查询表事先存入了2N个相位-幅度转换数据。不同的频率控制字M会引起累加器相位增量的不同,这样通过查询表就得到不同频率的数字正弦序列,经过D/A转换器后,输出阶梯型正弦信号,最后经过滤波器模块滤除高频分量并进行平滑后,得到模拟的正弦波信号[5]。其中各个模块的输出波形如图1(b)所示。

wdz1-t1.gif

    据上述工作原理和DDS系统的几项参数,可以得到输出信号的频率和频率分辨率分别为:

     wdz1-gs1.gif

2 DDS仿真模型的建立

    DDS仿真模型的搭建是在软件simulink中完成的,它可以提供一个动态系统建模、仿真和综合分析的集成环境[6]。据上述对DDS基本工作原理的分析,利用simulink中已有或自定义的功能模块来搭建DDS的仿真模型。

2.1 DDS仿真模型图

    DDS仿真模型框架如图2所示,其中参考时钟由Pulse Generator提供,频率控制字由Constant模块给出。N位累加器由Triggered Subsystem模块和内部相关程序构成。ROM查询表模块由Look-up table模块构成,里面存储了正弦相位值到幅度值之间的转换表。由于查询表模块已经集成了D/A转换器,因此该模块输出的信号就是模拟量。低通滤波器由Analog filter design构成,对上一级的输出信号进行平滑处理和滤波。余下模块是一些信号显示和信号处理模块。

wdz1-t2.gif

    图3是DDS仿真模型各个节点的输出波形,它与原理框图各个节点的输出波形一致。此模型中,时钟参考频率为400 kHz,累加器的位数为16位,频率控制字给定的是3 277,则根据式(1)计算理论输出的正弦信号频率为20 kHz。图3中实际输出频率为1/(0.5×10-4 s)=20 kHz,从而验证了该模型的正确性,修改相应的频率控制字实现指定频率信号的输出。

wdz1-t3.gif

2.2 基于对称性的压缩方法

    由DDS原理可知,ROM查询表存储的数据越详细,输出的数字正弦序列越精确,从而得到的正弦信号杂散越小[7],但这会使存储表的数据量过多。既要减少查询表对DDS资源的占用同时尽量避免影响正弦序列输出的精度,对查询表存储数据量进行压缩的方法就显得尤为重要。而每当ROM查询表的数据被压缩一倍,就相当于减少了一位截断位数,杂散抑制便可得到6 dB的提高[8]

    利用正弦波的对称性将一个周期(0,2π)的波形由1/4周期(0,π/2)的波形变换得到,将ROM查询表的数据量可以缩减至1/4。图4(a)中的1/4 压缩模块就是根据正弦波的对称性进行数据压缩。

    可以从图4(b)中看出经过压缩模块后,其输出波形的精度并没有受到影响。原先ROM查询表存储了216个数据,经过该模块后,只需存储214个数据就可以达到相同的结果。因此原先的16位累加器便可以等效存储218个数据。

wdz1-t4.gif

2.3 基于Sunderland算法的压缩方法

    D.A.Sunderland提出的粗细分割算法原理是基于三角函数的近似算法,把DDS中相位累加器的输出分为三部分(X,Y和Z),利用三角函数展开可得:

wdz1-gs2-3.gif

    用查询表分别存储sin(X+Y)和cosXsinZ的值,然后将两个查询表的结果相加,得到的值就是近似相位累加器值所对应的正弦信号幅度。

    图5中的Sunderland压缩模块为该数据压缩方法的具体实现框图,原先ROM查询表存储数据量为216,压缩后数据量为26×24+26×26=5 120,其压缩比为1:12.8。通过仿真分析对比,存储数据量的减少,并没有影响到输出正弦信号的精度。

wdz1-t5.gif

2.4 两种压缩方法相结合

    把上述两种压缩方法结合起来。首先由正弦信号对称性,将16位的ROM查询表的位数压缩至14位,然后由Sunderland算法采用(5,4,5)的分割形式,查询表数据量为25×24+25×25=1 536,压缩比为1:42.67。图6为1/4压缩模块和Sunderland压缩模块相结合的DDS仿真模型图。

wdz1-t6.gif

    经过压缩后,相同的数据量降低了所占用的查询表位数,使得相同位的查询表可以存储更多的数据,而数据量越详细,杂散信号越可以得到有效抑制。

3 正弦信号源的实现

    系统主要由微处理器AT89S52和DDS集成芯片AD9851构成,其中AT89S52输出相应的端口初始化和控制字,AD9851根据工作时序图接收相应的控制字,输出正弦信号。

3.1 AD9851芯片介绍

    AD9851芯片采用先进的DDS技术,可以实现全数字编程的频率合成,可接收32位的频率控制字输入,其内部含有一个6倍频的REFCLK倍频器[9]

3.2 系统硬件设计模块

    产生指定频率的正弦信号,需要通过微处理器向DDS芯片输入相应的频率控制字,并需要对其端口进行初始化。其硬件设计框图如图7所示,其中AT89S52的P2.5控制频率更新控制信号(FQ-UD),P2.6控制写装入信号(W-CLK),P2.7控制复位信号(RESET)。将微处理的引脚P0.0~P0.7作为频率、相位控制字和工作方式控制字的输入口,连接到AD9851的D0~D7。在AD9851外接30 MHz有源晶振产生180 MHz内部基准时钟。

wdz1-t7.gif

    DDS信号的合成是数字量化产生的阶梯型正弦波,杂散寄生分量大部分集中在高频段,因此合成的信号在输出之前需要通过低通滤波器。考虑到设计的频率源有一定的带载能力,采用巴氏有源低通滤波器,滤波之后进行功率放大。

3.3 系统软件设计模块

    AD9851接收数据的方式有并行和串行两种方式。并行比串行传输的速度要快,设计中选用并行工作方式,其工作时序图如图8所示。

wdz1-t8.gif

    由AD9851的并行工作时序图,在微处理器中相关程序的实现如下:

    M=frequence*x;

    w=w0;//写w0数据

    P0=w;    

    ad9851_w_clk=1;

    ad9851_w_clk=0; 

    w=(M>>=0); //写w4数据

    ad9851_fq_up=1;//移入使能

    ad9851_fq_up=0;

    调用程序如下,只需在程序中写入需要输出的频率,程序会自动计算出相应的控制字,按照并行时序图依次将频率控制字M送入到AD9851的D0~D7。

    ad9851_wr_parrel(0x01,100);

    其中0x01含有8位数据,5位相位控制字、6倍频使能控制、电源休眠和逻辑0。设计中需用到六倍频模式,其他位选择默认即可,故将此八位设置为0x01,送入到w0中。程序中100为输出100 Hz的正弦信号,进行相关计算后得到一个32位的频率控制字,依次送入到w1、w2、w3和w4中。

3.4 系统测试结果

    利用altium designer软件设计相应的电路板如图9所示,主要由微处理器模块、DDS模块、滤波模块和功率放大模块构成。

wdz1-t9.gif

    图10为输出频率为2 MHz的信号波形,其波形比较精确和稳定,频谱图也比较干净,在指定频率处频谱增益最大,在其他频率处有不同程度的衰减。

wdz1-t10.gif

    经过对PCB板的测试,可以输出1 Hz~50 MHz的正弦信号,当频率大于50 MHz时,波形已有明显的失真,频谱的各次谐波逐渐增多。

4 结论

    通过在simulink中搭建DDS仿真模型,对DDS的工作原理进行验证,仿真与理论分析的结果相一致,修改频率控制字,可以得到指定频率的正弦信号。为了降低DDS的杂散,分别利用正弦波的对称性和Sunderland结合算法对ROM查询表进行压缩,最终压缩比为1:46.67,使得同样的查询表可以存储更多的数据,间接提高了查询表的位数,有效地抑制了DDS杂散信号的输出。

    基于微处理器AT89S52和DDS芯片AD9851设计出了一种实现高频正弦信号的方法。在相关软件中绘制原理图和PCB图,制成实际PCB板,通过测试实现了1 Hz~50 MHz的正弦信号输出,其频率稳定性较高,并且该系统的电路结构简单,控制方便。可用做于模拟传感器线圈的激励部分,同时也能够在不同的领域用作高频信号源。

参考文献

[1] 刘晓琳.金属磨粒检测电磁场仿真研究[D].北京:北京交通大学,2015:56-59.

[2] 万天才.频率合成器技术发展动态[J].微电子学,2004,34(4):336-370.

[3] 许小俊,谢克明,闫高伟.DDS在SIMULINK中的仿真设计[J].太原理工大学学报,2006,37(2):155-157.

[4] 邱忠义,赵宏,高增雪.一种中小功率高精度高频正弦波交流电源[J].工业计量,2014,24(1):20-23.

[5] 王水鱼,刘域.在LabView平台下的任意波信号发生器设计[J].微型机与应用,2015,34(21):27-29.

[6] 李颖,朱伯立,张威.simulink动态系统建模与仿真基础[M].西安:西安电子科技大学出版社,2004.

[7] 王晓音.基于软件无线电的直接数字频率合成[D].哈尔滨:哈尔滨工程大学,2003:47-59.

[8] 王硕,马永奎,高玉龙,等.基于FPGA的改进结构的DDS设计与实现[J].电子技术应用,2016,42(3):28-30,34.

[9] Analog Device.AD9851 prclimimary technical data[M].[S.l.]:Analog Device,2004.

继续阅读>>