专利名称:一种基于二维正弦表的数控振荡器并行设计方法
技术领域:
本发明主要涉及一种数控振荡器的设计方法,尤其涉及一种基于二维正弦表的数控振荡器并行设计方法。
背景技术:
近年来,随着直接数字频率合成(DDS,Direct Digital Synthesis)技术的发展, 数控振荡器(NCO,Numberically Controlled Oscillator)作为DDS的核心部分,由于其输 出信号频率精度高、切换时间短、控制简单等优点,在雷达、通信、广播电视、仪器仪表等多 个方面得到了广泛的应用。数控振荡器主要包括相位累加器和函数发生器两大部分。相位累加器对输入的频 率控制字进行累加,得到每个时钟周期对应的数字相位,再将该数字相位输入函数发生器 中,进行查表或一系列相位_幅度变化后,就可以得到与输入相位对应的正余弦函数值。在利用硬件实现数控振荡器时,受限于硬件平台的工作时钟频率,往往需要采用 并行的结构。图1示出了现有的四路并行数控振荡器的结构框图,现有的并行数控振荡器 包括一个相位累加器101,四个相位调整器102、103、104、105,四个相同的相位截断器106、 107、108、109,以及四个相同的正弦表110、111、112、113。四个相位调整器负责调整四路并 行信号间的相位差,使最终输出的四路数字信号能够实现频率和相位的拼接,得到一路连 续的、四倍速率的正弦数字信号。这种实现结构虽然降低了时钟频率,但使数控振荡器消耗的硬件资源加倍,计算 复杂度增加,并且各路并行信号之间的严格相位关系难以保证。
发明内容
本发明提供一种一种基于二维正弦表的数控振荡器并行设计方法,可以降低并行 数控振荡器对硬件资源的消耗,提高输出数字序列的相位连续性。所述的基于二维正弦表的数控振荡器并行设计方法包括如下步骤第一步建立一组二维正弦表,包含若干行,若干列数据;每行的数据成员代表每
路并行信号在正弦波单周期内的若干采样点,每列的数据成员代表每一时刻各路并行信号
的正弦采样点,每一行相邻的两个数据成员间的相位差为,每一列相邻的两个
2n
数据成员间的相位差为 其中,是工作时钟频率,&为数控振荡器的中心频率,M为并行信号的数目,H 为二维正弦表的列数,即每个正弦波单周期内的采样点数;第二步相位累加器在工作时钟的驱动下,根据频率控制字产生数字相位累加值, 并输出给相位截断器;第三步相位截断器对数字相位累加值进行截断,将相位累加值转换为查找表地址,并输出至二维正弦表;第四步查找表地址作为列号用来查找二维正弦表,每次查找输出正弦表的一列 数据,在工作时钟驱动下,连续输出得到M路并行的数字序列,数字序列的采样率为fM,中 心频率为fQ。本发明的有益效果本发明的这种新的并行数控振荡器设计方法,较现有的并行数控振荡器时延分辨 率更高,相位连续性更好,硬件资源消耗量更少。
图1是示出现有的四路并行数控振荡器的框图;图2是示出根据本发明的示例性实施例的基于二维正弦表的四路并行数控振荡 器的框图;图3是示出根据本发明的示例性实施例的并行数控振荡器中的二维正弦表的框 具体实施例方式参照下面结合附图对示例性实施例的详细描述,本发明的优点和特点以及实现的 方法可更容易地理解。图2是根据本发明的示例性实施例的基于二维正弦表的四路并行数控振荡器的 框图。根据本发明的示例性实施例的数控振荡器包括相位累加器202、相位截断器203以 及二维正弦表204。累加器202以频率控制字fDDS为步长,在时钟的驱动下产生相位累加值$A。。,并且 将产生的相位累加值6a。。输出到相位截断器203。频率控制字fDDS可以通过下列公式来确定 其中,fCLK是工作时钟频率,f0为数控振荡器的中心频率,N为相位累加值(K。。的 二进制位数。然后,相位截断器203对产生的相位累加值(K。。进行截断,即将相位累加值(K。。 右移W个二进制位,得到正弦表的查找地址6Tab,右移位数W可以通过下列公式计算得到ff = N-log2H其中,N为相位累加值(K。。的二进制位数,H为二维正弦表204的长度,即每个正 弦波单周期内的采样点数,在本实施例中,H可以根据需要进行选取为为2的任意正整数次 幂,它只会影响数控振荡器输出序列的信噪比和杂散,不会影响数控振荡器的基本功能。图3示出根据本发明的示例性实施例的图2所示的并行数控振荡器中的二维正弦 表的框图。不同于传统正弦表的一维数组结构,二维正弦表是一种二维数组结构,共有4 行、H列。数据成员从相位的角度考虑生成每一行相邻的两个数据成员间的相位差为2;r ,每一列相邻的两个数据成员间的相位差为¥。正弦表的数据成员的数值通过如
^fdK
下式子来计算
四舍五入其中,A为正弦表的量化幅度;m为正弦表的行号,值取0,1,2,3 ;n为正弦表的列 号,值取 正弦表查找地址6Tab作为列号被用来查找二维正弦表。一次查找输出一列数 据,即四个采样点,在工作时钟驱动下,连续输出得到四路数字序列
四路数字序列
的中心频率均为&,初始相位依次为0,2f 二维正弦表可以预先在Matlab等数学软件中设计完成,Matlab中的双精度浮点 运算较硬件中的定点运算精度更高,并且利于进行四舍五入处理,减小计算误差。
权利要求
一种基于二维正弦表的数控振荡器并行设计方法,其特征在于包括如下步骤第一步建立一组二维正弦表,包含若干行,若干列数据;每行的数据成员代表每路并行信号在正弦波单周期内的若干采样点,每列的数据成员代表每一时刻各路并行信号的正弦采样点,每一行相邻的两个数据成员间的相位差为每一列相邻的两个数据成员间的相位差为其中,fCLK是工作时钟频率,f0为数控振荡器的中心频率,M为并行信号的数目,H为二维正弦表的列数,即每个正弦波单周期内的采样点数;第二步相位累加器在工作时钟的驱动下,根据频率控制字产生数字相位累加值,并输出给相位截断器;第三步相位截断器对数字相位累加值进行截断,将相位累加值转换为查找表地址,并输出至二维正弦表;第四步查找表地址作为列号用来查找二维正弦表,每次查找输出正弦表的一列数据,在工作时钟驱动下,连续输出得到M路并行的数字序列,数字序列的采样率为fCLK,中心频率为f0。F2009100812817C0000011.tif,F2009100812817C0000012.tif
全文摘要
本发明公开了一种基于二维正弦表的数控振荡器并行设计方法,第一步建立一组二维正弦表,包含若干行,若干列数据;第二步相位累加器在工作时钟的驱动下,根据频率控制字产生数字相位累加值,并输出给相位截断器;第三步相位截断器对数字相位累加值进行截断,将相位累加值转换为查找表地址,并输出至二维正弦表;第四步查找表地址作为列号用来查找二维正弦表,每次查找输出正弦表的一列数据,在工作时钟驱动下,连续输出得到M路并行的数字序列;本发明的这种新的并行数控振荡器设计方法,较现有的并行数控振荡器时延分辨率更高,相位连续性更好,硬件资源消耗量更少。
文档编号H03L7/099GK101854172SQ20091008128
公开日2010年10月6日 申请日期2009年4月1日 优先权日2009年4月1日
发明者曾大治, 曾涛, 田永华, 龙腾 申请人:北京理工大学