一种基于直接数字频率合成器的波形发生器的制作方法

文档序号:6573982阅读:198来源:国知局

专利名称::一种基于直接数字频率合成器的波形发生器的制作方法
技术领域
:本发明涉及测试领域,尤其是涉及一种基于直接数字频率合成器的波形发生器。
背景技术
:在信号测试过程时,常常需要用到不同频率的波形信号。比如,当我们测试一个低通滤波器的频率响应是否合乎要求时,需要向这个低通滤波器输入许多频率各不相同的波形,然后根据输出的响应判断低通滤波器是否合乎要求。为了得到不同频率的波形信号,直接数字频率合成技术近年来得到迅速地发展,该技术具有频率转换速度快、波形分辨率高、相位连续以及可灵活产生不同频率的波形等优点,得到广泛地应用。目前常用的使用直接数字频率合成技术的波形发生器,其结构如图2所示。该波形发生器由相位累加器、寄存器、相位幅度转换单元、数模转换器以及低通滤波器等主要部分组成,其中相位幅度转换单元采用ROM查表的方法。其中,K是频率控制字,N是相位累加器的位数,/dk是时钟频率,M为相位累加器对ROM的寻址位数,L为二进制表示的ROM输出的幅度位数,/。ut是输出频率。由频率的公式可知/=co/27i=Ae/(2"At),A0是一个采样周期At之间的相位增量,At=l//,Ae=K,27t/2N。所以,K和时钟频率/dk共同决定着直接数字频率合成器输出信号的频率/。ut,它们之间的关系满足/。ut=(K/2N)/dk。假设时钟频率为70MHz,累加器位数为16位,K=4096,则/cik=70MHz,216二65536,则/0lrt=(K/2N)/clk=(4096/65536)*70=4.375MHz。由上式可知通过设定相位累加器位数N,频率控制字K和时钟频率/dk的值,可以产生任一频率的输出。生成波形的分辨率为/min-/clk/2。由于时钟频率一般固定,因此波形的分辨率由相位累加器的位数决定。位数越高,分辨率越高。为了得到高分辨率的波形输出,往往需要一个极大的存储器。因此,从经济、功耗和性能等方面考虑,使用ROM查表进行相位幅度转换是不可取的。在波形发生器中相位幅度转换部分是关键,传统ROM査表法由于受到ROM容量的限制,其性能的提高是很有限的;随着电路集成水平的提高,实时计算速度也在不断地提高,采用ROM査表的方法不能满足对速度和精度的要求。传统的测试方法,采用每次向被测试仪器输入单一频率的波形,如此反复多次输入,以达到对不同频率波形的响应特性进行测试,这种方法效率比较低,如果使用包含多个频率信息的一个波形进行测试将可以提供工作效率。
发明内容本发明所要解决的技术问题是提供一种应用在测试领域中的波形发生器,该波形发生器的输出波形含有多个频率信息、并且所述波形具有较高的精度和较快的生成速度。为了解决上述技术问题,本发明提出了一种基于直接数字频率合成器的波形发生器。该波形发生器首先生成多个幅值相同、具有单一频率的波形,更准确地说是波形的离散值,然后将所述波形信号进行叠加,得到一个具有多个波形信息的一系列离散值,然后对这些离散值进行数模转换得到合成波形,该合成波形含有多个频率信息;其中的相位幅度转换单元采用CORDIC(CoordinateRotationDigitalComputer,坐标旋转数字式计算机)算法、替代传统的大容量的ROM存储,采用CORDIC算法可以在存储相当少的常系数的情况下,实现相位幅度的转换。具体地,本发明采用的技术方案是一种基于直接数字频率合成器的波形发生器,该波形发生器包括依次相连接的直接数字频率合成器,数模转化与合成单元、和滤波器,其中直接数字频率合成器包括相连接的相位累加器单元、相位幅度转换单元,所述相位累加单元包括相连接的相位累加器和寄存器,所述相位幅度转换单元为CORDIC运算模块。优选地,在累加器单元和CORDIC运算模块之间连接有输入缓冲模块。优选地,所述数模转化与合成单元包括依次相连的输出缓冲单元和数模转换器,所述CORDIC运算模块的输出信号输入到输出缓冲单元、输出缓存单元将输入的离散信号进行合成、合成后的输出信号输到导数模转换器。优选地,所述CORDIC运算模块至少为一个。优选地,所述CORDIC运算模块包括移位相加的流水线结构。优选地,所述流水线结构包括至少一级流水线结构。优选地,每级流水线结构包括3个加法器、2个移位寄存器和1个系统存储器,所述移位寄存器和系统存储器各对应一个加法器,移位寄存器和系统存储器的输出信号输入到加法器的输入端。CORDIC运算模块采用CORDIC算法对输入的相位进行计算,得到与相位对应的幅度值。CORDIC算法的基本思想是通过矢量旋转的迭代,实现三角函数的计算,在迭代过程中只涉及到加法和移位运算。采用CORDIC算法可以方便硬件实现,每次旋转的角度符合如下原贝U:旋转角度6i的正切值和2的倍数有如下关系ei=tan"(2"),其中tan"(2—1)是需要预先计算并存储的值,与所旋转的计算字长有关,字长越长,迭代计算得到的数据和理论数据越接近。计算正弦余弦函数的CORDIC算法迭代公式为rXi+i=Xj—yiXdiX2國1;l_Zi+^Zi—diXarctan2隱1其中,d,二l或_1,表示旋转的方向,由Zi的符号决定,如果zp-O,则4=1,表示需要逆时针旋转;否则,di=—1,表示需要顺时针旋转。当i-XJO时,上述表达式可以转化为<formula>formulaseeoriginaldocumentpage5</formula>其中,比例因子《=1^>/17^=1.646760...,用来保持相量的模恒定。例如要计算一个角度a的正弦和余弦值,可以选取x。=l/K=0.607252...,yo二0和Z()-a。经过一系列的迭代后,就有<formula>formulaseeoriginaldocumentpage5</formula><formula>formulaseeoriginaldocumentpage6</formula>假设从X正轴开始旋转,通过一系列逐次减小的角度旋转后,只要迭代的次数足够多,就可以实现一n/2n/2内任意角度的旋转,并且通过加法和移位运算得到目标角度的横坐标和纵坐标。本发明的有益效果通过向相位累加器单元输入不同的频率控制字可以得到具有不同频率值的波形,具有较好的控制性。通过使用CORDIC运算模块实现了相位到幅度的转换,进而生成与频率控制字相对应的正弦波的离散值,通过数模转化与合成单元将前述生成的单频率的波形的离散值进行叠加并转换、得到具有多个频率信息的波形;滤波器可以去除输出信号中的高频干扰。同时,使用CORDIC模块代替传统的ROM,减小了硬件的代价;通过使用反复迭代和流水线技术可以加快波形生成的速度,由于输出波形中含有多个频率信息,这样,在测试时,避免了为测试不同频率波形的输出响应需要多次输入单一频率波形的繁琐工作,提高了工作效率。图1是基于直接数字频率合成器的波形发生器的结构示意图2是采用ROM査表法的波形发生器的结构示意图3是本发明具体实施方式中的部分结构示意;图4是本发明中CORDIC运算模块的移位相加流水线结构示意图5是本发明具体实施方式中每个频率控制字对应的波形仿真图6是本发明具体实施方式生成的波形叠加后时域示意图7是本发明具体实施方式生成的波形叠加后频域示意图。具体实施例方式请参见图3所示,该图是波形发生器由频率控制字输入到合成后波形的离散值输出的部分的示意图,主要包括依次连接的累加器单元、输入缓冲单元、CORDIC运算模块单元、输出缓冲单元,所述累加器单元包括相位累加器和寄存器;输出缓冲单元的输出信号输入数模转换器,输出的模拟值经过低通滤波器输出。CORDIC算法通过反复迭代,由初始值逼近最终值,它通过移位加的方法来实现乘法。由CORDIC迭代算法的公式可知,这种方法需要进行多次运算、完成一次运算需要多个步骤,并且相互关联,它们之间的关系为使用流水线技术提供了可能。如图4所示,每级流水线结构包括3个加法器、2个移位寄存器和1个系统存储器。如果需要提高精度,只需要简单地增加流水线单元即可,因此具有较好的扩展性,这种流水线结构在工作时,一个时钟周期就可以输出一个数据,实现了高速实时处理,非常适合应用在直接数字频率合成器中。旋转的角度依次为arctan2",(i二0、1、2、3......),具体地,对应的角度依次为arctan(2。)=45。、arctan(2")=26.5651。、arctan(2-2)=14.0362。、arctan(2—3)=7.1250。、arctan(2-4)=3.5763。、arctan(2隱5)4.7899。.…、arctan(2'1G)=0.1°...;旋转的次数越多其精度越好,但是硬件的代价越大,速度也越慢。如果旋转的次数较多,其它方面就会成为限制精度的主要因素,这将导致这里实现高精度没有意义,所以,综合考虑各个限制精度的因素,选择旋转10次。当我们希望得到包含多个频率信息的测试用正弦波时,首先需要产生多条具有单一频率的正弦波,产生每条正弦波需要很多的数值,这些数值需要经过相位到幅度的转化。其工作量很大,通过并行使用多块CORDIC模块和在CORDIC模块内使用流水线技术可以减轻计算压力。利用图3所示的结构,可以生成包含多个频率信息的离散值,所述离散值由外部的频率控制字来控制。频率控制字输入累加器单元,经累加器单元处理后输出相位值,相位值输入到相位到幅度转换器(CORDIC运算模块),输出幅度值,最后,经过输出缓冲单元合成、并输出波形的离散值。所述离散值经过数模转换器转换输出一个具有多个频率特性的波形,输出的波形经低通滤波器处理,去除输出信号的高频干扰。如图5所示,该具体实施方式中仿真了与10个频率控制字相对应的IO个单频波形的输出,其中每个频率控制字对应一个波形,各个波形的相关信息参见表1所示<table>tableseeoriginaldocumentpage8</column></row><table>表l频率控制字的数值和对应的频率所述10个波形输出后叠加得到如图6和图7所示的信号,其中,图6为该直接数字频率合成器输出波形的时域图;图7为直接数字频率合成器输出波形的频域图。因为输出的波形中既包含低频又包含高频的信息,所以使用该波形进行信号检测时可以替代多次输入不同频率的波形,提高了效率。以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。比如,一个CORDIC模块能同时实现多个正弦波形,但是这些正弦波形的最高频率和这个模块产生正弦波形的数量呈反比。为了产生频率较高的波形,CORDIC最好产生一个波形,所以,为了实现波形数量和波形频率的折中,我们可以同时并行使用多个CORDIC模块,且波形的数量在各个CORDIC模块之间是不均匀分布的,产生较高频率的模块,产生波形的数量少;产生较低频率的模块,产生的波形数量多。此外,对于本发明所属
技术领域
的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。权利要求1、一种基于直接数字频率合成器的波形发生器,该波形发生器包括依次相连接的直接数字频率合成器,数模转化与合成单元、和滤波器,其中直接数字频率合成器包括相连接的相位累加器单元、相位幅度转换单元,所述相位累加单元包括相连接的相位累加器和寄存器,其特征是所述相位幅度转换单元为CORDIC运算模块。2、根据权利要求1所述的波形发生器,其特征是:在累加器单元和CORDIC运算模块之间连接有输入缓冲模块。3、根据权利要求1或2所述的波形发生器,其特征是所述数模转化与合成单元包括依次相连的输出缓冲单元和数模转换器,所述CORDIC运算模块的输出信号输入到输出缓冲单元,输出缓存单元将输入的离散信号进行合成、合成后的输出信号输到导数模转换器。4、根据权利要求3所述的波形发生器,其特征是所述CORDIC运算模块至少为一个。5、根据权利要求4所述的波形发生器,其特征是所述CORDIC运算模块包括移位相加的流水线结构。6、根据权利要求5所述的波形发生器,其特征是所述流水线结构包括至少一级流水线结构。7、根据权利要求6所述的波形发生器,其特征是每级流水线结构包括三个加法器、两个移位寄存器和一个系统存储器,所述移位寄存器和系统存储器各对应一个加法器,移位寄存器和系统存储器的输出信号输入到加法器的输入端。全文摘要本发明公开了一种基于直接数字频率合成器的波形发生器,该波形发生器包括依次相连接的直接数字频率合成器,数模转化与合成单元、和滤波器,其中直接数字频率合成器包括相连接的相位累加器单元、相位幅度转换单元,所述相位累加单元包括相连接的相位累加器和寄存器,所述相位幅度转换单元为CORDIC运算模块。采用本发明所述的技术方案,其有益效果是可以生成一种应用在测试领域中的复杂波形,这种波形含有多个频率;并且这些频率是可以通过输入到相位累加器的频率控制字来控制,使用CORDIC模块代替传统的ROM查表法,减小了硬件的代价;进一步地,通过使用CORDIC算法中的反复迭代方法和流水线技术加快了波形生成的速度。文档编号G06F7/544GK101109973SQ20071007586公开日2008年1月23日申请日期2007年7月11日优先权日2007年7月11日发明者李崇仁,王新安,胡伟波申请人:北京大学深圳研究生院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1