全数字式数控振荡器的制作方法

文档序号:7526687阅读:379来源:国知局
专利名称:全数字式数控振荡器的制作方法
技术领域
本发明属于无线通信领域,尤其是一种NCO (数控振荡器)设计实现的方法,适合于在FPGA (现场可编程门阵列)中实现。
背景技术
数控振荡器的设计技术是无线通信中的关键技术和难点。是决定通信收发信机性能的最主要因素之一,也是比较复杂的。针对NCO的设计技术和方法,在作者杨小牛的《软件无线电原理与应用》中,P123-126有详细的理论说明。但文献中的设计方法,仅仅理论可行,或应用到对性能要求不高的场合。如果对性能要求很高,比如对频率精度、正交性和频率纯度都有很高的要求,则这种设计方法并不实用,主要在于占用的存储资源太多,而一般NCO都用硬件的方式在FPGA (现场可编程门阵列)芯片内实现,目前主流FPGA (现场可编程门阵列)的存储资源都是很有限的,因此这种设计方法是相当不实用的,本发明针对高性能和占用存储资源多这一矛盾,提出了一种解决办法。

发明内容
本发明的目的是针对在FPGA中设计高性能NCO需要耗费大量存储资源的问题,提出了一种全数字式数控振荡器。本发明的技术方案是一种全数字式数控振荡器,它包括累加器、加法器、量化模块和查找表模块,所述的查找表模块的建立方法如下

步骤一、设定粗、细两级表结构,采用下述公式确定粗精度表和细精度表的地址的位数;Na+Nb=N(I)F=2~Nb+2~(Na-2)求F的极小值,来确定Na和Nb,其中Na表示粗精度表地址的位数,Nb表示细精度表地址的位数,N表示量化模块量化之后的位数,F是对所需硬件存储资源的度量函数;如果有两组Na、Nb值都满足F的极小值的条件,则选取Na大于Nb的这组结果;步骤二、采用粗精度表和细精度表代替单张表结构,建立查找表模块; cos (A+B)=cosAcosB-sinAsinBcos (A+B)+jsin(A+B) = (cosAcosB-sinAsinB)+j(sinAcosB+sinBcosA) = (cosA+jsinA)X (cosB+jsinB)(2)其中A为粗精度表所存储函数值对应的角度,B为细精度表所存储函数值对应的角度。本发明的步骤二之后还包括根据公式3判定细精度表结构是否可省略,sin A0-A0<=1/2K(3)
其中,04表示粗精度表的角度分辨率,K为波形幅度字长;当公式3成立时,细精度表可以省略,则增大细精度表的大小即增大Nb,代入公式3,进一步判定细精度表结构是否可省略,直到确定细精度表结构刚好可省略的Na和Nb的值,即直到公式3不成立,取上一步使公式3成立的Na和Nb作为细精度表结构刚好可省略的Na和Nb的临界值;当公式3不成立时,细精度表不可以省略,则增大Na的值,代入公式3,进一步判定细精度表结构是否可省略,如仍不能省略,则细精度表确实不能省略,所述的Na的值最多增加2。本发明中,针对细精度表结构,当粗精度表大小满足公式3时,用下式进一步省略细精度表sinB ^ B(4)这里ΘB表示细精度表的角度分辨率。本发明中,对粗精度表,根据公式(5)_ (11),进一步的缩减表大小,并采用一张余弦表代替两张粗、细精度表,即利用第一象限的余弦函数来得到一二三四象限的正余弦函数;三角函数的周期为2 π,其一个周期内波形完全可以由
而本发明需要的存储资源仅为210*18 = 18kbit本发明未涉及部分均与现有技术相同或可采用现有技术加以实现。
权利要求
1.一种全数字式数控振荡器,它包括累加器、加法器、量化模块和查找表模块,其特征是所述的查找表模块的建立方法如下步骤一、设定粗、细两级表结构,采用下述公式确定粗精度表和细精度表的地址的位数;Na+Nb=N(I)F=2~Nb+2~(Na-2)求F的极小值,来确定Na和Nb,其中Na表示粗精度表地址的位数,Nb表示细精度表地址的位数,N表示量化模块量化之后的位数,F是对所需硬件存储资源的度量函数;如果有两组Na、Nb值都满足F的极小值的条件,则选取Na大于Nb的这组结果;步骤二、采用粗精度表和细精度表代替单张表结构,建立查找表模块;cos (A+B)=cosAcosB_sinAsinBcos(A+B) +jsin(A+B) = (cosAcosB-sinAsinB)+j(sinAcosB+sinBcosA) = (cosA+jsinA)X (cosB+jsinB)(2)其中A为粗精度表所存储函数值对应的角度,B为细精度表所存储函数值对应的角度。
2.根据权利要求1所述的全数字式数控振荡器,其特征是步骤二之后还包括根据公式3判定细精度表结构是否可省略,sin A0-A0〈=1/2K(3)其中,Θ A表示粗精度表的角度分辨率,K为波形幅度字长;当公式3成立时,细精度表可以省略,则增大细精度表的大小即增大Nb,代入公式3,进一步判定细精度表结构是否可省略,直到确定细精度表结构刚好可省略的Na和Nb的值,即直到公式3不成立,取上一步使公式3成立的Na和Nb作为细精度表结构刚好可省略的Na和Nb的临界值;当公式3不成立时,细精度表不可以省略,则增大Na的值,代入公式3,进一步判定细精度表结构是否可省略,如仍不能省略,则细精度表确实不能省略,所述的Na的值最多增加2。
3.根据权利要求2所述的全数字式数控振荡器,其特征是针对细精度表结构,当粗精度表大小满足公式3时,用下式进一步省略细精度表sin B^B(4)这里9,表示细精度表的角度分辨率。
4.根据权利要求1-3之一所述的全数字式数控振荡器,其特征是对粗精度表,根据公式(5)- (11),进一步的缩减表大小,并采用一张余弦表代替两张粗、细精度表,即利用第一象限的余弦函数来得到一二三四象限的正余弦函数;三角函数的周期为2 π,其一个周期内波形完全可以由[0,π/2)相位内的波形加以表示,取Θ e [O, π/2),则cos ( Θ + Ji /2) =-sin ( Θ ) =-cos ( ji /2- θ )(5)cos ( θ + Ji) =-cos ( θ )(6)cos ( θ +3 ji /2) =sin ( θ ) = cos ( π /2- θ )(7)sin ( θ ) =cos ( π /2- θ )(8)sin ( θ + ji /2) =Cos ( θ )(9)sin ( Θ + ji ) =-sin ( θ ) = -cos ( π /2- θ )(10)sin ( θ +3 ji /2 ) =-cos ( θ )(Il)0
全文摘要
一种全数字式数控振荡器,它包括累加器、加法器、量化模块和查找表模块,所述的查找表模块的建立方法如下设定粗、细两级表结构,采用下述公式确定粗精度表和细精度表的地址的位数;采用粗精度表和细精度表代替单张表结构,建立查找表模块。本发明解决了传统的DDS(直接数字频率合成)设计高性能NCO时所需要的大量存储资源,将对大量存储资源的需求简化为少量的数值计算,适用于FPGA这类对存储资源少而对数值不太敏感的芯片。
文档编号H03K5/13GK103036536SQ20121051130
公开日2013年4月10日 申请日期2012年12月4日 优先权日2012年12月4日
发明者宋奇菊 申请人:南京中兴特种软件有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1