直接数字频率合成信号的软件设计
2012-09-26李静徐艳
李静,徐艳
(长安大学 信息工程学院,陕西 西安 710064)
频率合成技术起源于20世纪30年代,至今已有70多年的历史。频率合成技术是将一个或若干个高稳定度和高准确度的参考频率经过各种处理技术生成具有同样稳定度和准确度的大量离散频率的技术。参考频率可由高稳定度的晶体振荡器(简称晶振)产生,处理技术包括各种数字处理技术及锁相技术,从而使合成的离散频率与参考频率有严格的比例关系,并且具有同样的稳定度和准确度[1-2]。应用这种技术合成频率的仪器或设备称为频率合成器或频率综合器。频率合成方法大致可分为直接合成法、间接合成法、直接数字合成法。文中主要讨论了直接数字频率合成技术及其应用,并且通过软件仿真的方式对直接数字频率合成技术进行了研究。
1 直接数字频率合成(DDS)技术
1.1 DDS的基本结构
直接数字频率合成器(Direct Digital Synthesizer)是从相位出发直接合成所需波形的一种频率合成技术。一个数字频率合成器包含相位累加器、波形存储器、数/模转换器和低通滤波器4个部分。在参考时钟的驱动下,相位累加器对频率控制字进行累加,得到的相位码对波形存储器寻址,波形存储器输出相应的幅度码,经数/模转换器生成阶梯波形,最后经低通滤波器滤波得到所需频率的连续波形[1]。如图1所示。
图1 DDS的原理框图Fig.1 Principle block diagram of DDS
其中K为频率控制字,fc为参考时钟频率,N为相位累加器的字长,fo为DDS输出频率。
1.2 DDS的工作原理
理想的单频信号可表示为:
只要振幅U和初始相位皖不随时间变化,它的频率就由相位惟一确定[4]:
以采样频率[1]fo(To=1/fo)对上式进行采样,则可得到相应的离散相位序列:
是连续两次采样之间的相位增量,控制Δθ可以控制合成信号的频率。
现将整个周期的相位2π分割成q等份,每一份δ=2π/q为可选择的最小相位增量。若每次的相位增量取δ,得到最低频率输出:
经滤波后得到的模拟信号为:
若每次的相位增量选择为δ的R倍,即可得到信号频率:
相应的模拟信号为
式中q、R为正整数,根据采样定理的要求,R的最大取值应小于q/2。
DDS就是利用以上原理进行频率合成的。为了说明DDS相位量化的工作原理,可将正弦波一个完整周期内的相位变化用相位圆来表示。其相位与幅度一一对应,如图2所示。一个N位的相位累加器对应相位圆上2N个相位点,最低相位分辨力为2π/2N。在图2中,N=4,共有16个相位码与16个幅度码对应。该幅度码存储在波形存储器(ROM)中。在频率控制字的作用下,相位累加器对ROM寻址,完成相位—幅度转换,经D/A转换器变成阶梯形正弦波信号,再经低通滤波器平滑,得到模拟正弦波输出[3]。
图2 相位码与幅度码的对应关系Fig.2 Corresponding relation of phase code and amplitude code
从理论上来讲,波形存储器可以存储一个或多个完整的具有周期性的任意波形数据,在实际应用中,以正弦波形最具有代表性,也应用最广[5]。
DDS输出信号的频率与参考时钟频率及控制字之间的关系为
式中:fo为DDS输出信号的频率;K为频率控制字;fc为参考时钟频率;N为相位累加器的位数。
容易看出,K越大,从2N个相位点中取样的次数就越少,相位累加周期越短,fo也就越高。
2 开发平台简介
MATLAB作为一套高性能的数值计算和可视化软件,它作为新兴的编程语言和可视化工具,有着其他高级语言(如C语言、FORTRAN语言等)所不能比拟的优势。用MATLAB制作的应用系统也和其他开发工具制作要求一样,必须有一个界面友好、操作方便的图形用户界面[4-5]。
所谓图形用户界面,简称为 GUI(Graphic User Interface),是指包含了各种图形控制对象,如图形窗口、菜单、对话框以及文本等内容的用户界面。利用这些用户界面,用户可以和计算机之间进行信息交流[6]。用户可以通过某种方式来选择或者激活这些图形对象,来运行一些特性的M文件。最常见的激活方式是利用鼠标或者其他设备来点击这些对象[6-7]。
3 基于MATLAB语言通过GUI实现DDS
3.1 仿真流程及仿真环境
频率合成采用程序控制分频,易于实现频率的更换及其频率显示的程控,促进数字化、集成化和微机控制化。设计的任务如下:
1)正弦波输出频率范围:1~100 Hz;
2)具有频率设置功能,频率分辨率:1 Hz;
3)参考频率:1 024 Hz;
4)相位累加器的位数:10;
5)输出频率:k·fc/2NHz。
图3 程序设计流程图Fig.3 Flow chat of program design
图4 建立的GUI界面Fig.4 Establishment of GUI interface
3.2 仿真结果
3.2.1 主程序
3.2.2 仿真结果
当k=5时,根据设计要求DDS输出频率为5 Hz。如图5所示,k=5时,点击时域按钮时,出现时域波形,点击频域按钮时,出现频域波形。同样当k=10时,根据设计要求DDS输出频率为10 Hz。如图6所示,k=10时,点击时域按钮时,出现时域波形,点击频域按钮时,出现频域波形。
4 结 论
图5 k=5时DDS输出频率的仿真图Fig.5 DDS output frequency simulation diagram when k=5
图6 k=10时DDS输出频率的仿真图Fig.6 DDS output frequency simulation diagram when k=10
频率合成技术是现代通信电子系统实现高性能指标的关键技术之一,很多电子设备的功能实现都直接依赖于所用频率合成器的性能,因此人们常将频率合成器比喻为众多电子系统的“心脏”,而频率合成理论也因此在20世纪得到了飞跃的发展。DDS由于具有极高的频率分辨率,极快的变频速度,变频相位连续,相噪较低,易于功能扩展和全数字化,便于集成等优点。所以,研究DDS在各个领域的应用是一个非常有意义和前途的课题,有巨大的经济效益和社会效益。
本设计中DDS是通过MATLAB语言编程来实现的。经过该设计的研究工作,笔者深切地感受到软件设计这一领域要研究地内容还非常多,自己研究地内容在很多地方还需要不断改进。需要改进的地方是:本文在建立仿真模型时,主要是为了实现DDS的原理,但是频率分辨率与理论相比有点低,要想提高频率分辨率,就必须增加程序中相位累加器的位数N,但此时仿真图就不太清晰了。因此,在今后的研究和工作中,建立仿真模型时,可利用多种仿真软件,发挥各个仿真软件的特长,使得系统仿真效果更精确。
[1]宋树祥,周冬梅.高频电子线路[M].北京:京大学出版社,2007.
[2]张涛,陈亮.现代DDS的研究进展与概述[J].电子科技,2008(3):73-78.
ZHANG Tao,CHEN Liang.Research progress and overview of modern DDS[J].Electronic Science and Technology,2008(3):73-78.
[3]丁玉美.数字信号处理[M].西安:西安电子科技大学出版社,2002.
[4]王立宁.MATLAB与通信仿真[M].北京:人民邮电大学出版社,2000.
[5]刘敏.MATLAB通信仿真与应用[M].北京:国防工业出版社,2000.
[6]陈怀琛.MATLAB及在电子信息工程中的应用[M].北京:电子工业出版社,2004.
[7]王兴亮.数字通信原理与技术[M].西安:西安电子科技大学出版社,2003.
[8]张葛祥,李娜.MATLAB仿真技术与应用[M].北京:清华大学出版社,2003.