RSS订阅 | 匿名投稿
您的位置:网站首页 > 相关知识 > 正文

FTW - 计算特定相位截断杂散的频率和幅度的方法

作者:habao 来源: 日期:2018/2/16 20:09:22 人气: 标签:相关指数r2公式

  现代直接数字频率合成器(DDS)通常利用累加器和数字频率调谐字(FTW)在累加器输出端产生周期性的N位数字斜坡(见图1)。此数字斜坡可依据公式1定义DDS的输出频率(fO),其中fS为DDS采样速率(或系统时钟频率)。DDS给定时,组成FTW的位数(N)定义了fO的最小可能变化,这发生在FTW值仅更改最低有效位(LSB)时。也就是说,FTW中的1 LSB变化定义了DDS的调谐分辨率。例如,N = 32的DDS的调谐分辨率高于N = 24的DDS。为了DDS的极佳调谐能力,以AD9912为例,N = 48产生的调谐分辨率为1/248(即1/281,474,976,710,656)。事实上,fS= 1 GHz时,AD9912产生的频率调谐分辨率约为3.6 µHz(0.0000036 Hz)。若DDS的FTW为N位,细看图1可知,累加器输出端的位数(N)和角度转幅度模块输入端的位数(P)之间存在明显的差异,即P ≤ N。这种差异会导致DDS输出频谱中出现相位截断杂散。

  FTW中的L位取决于FTW的特定值(,FTW的值依据所需DDS输出频率而变化,详见公式1)。这种依赖性非常大,因为任意给定FTW的L位决定相位截断杂散在DDS输出频谱中的分配方式。

  对于任意给定FTW,图3演示了如何找到L的值。首先,将FTW转换为二进制。然后,将指数值分配给FTW位,MSB的起始指数值为1。图3为一个32位FTW的示例;因此,指数范围为1至32。L值是值为1的最后一位的指数(从MSB向LSB读)。图3中的FTW值为0x0036e580(十六进制),因此,采用本协议时,此特定FTW的L的值为25。

  给定FTW的L的值最为重要。首先,L决定相位截断杂散是否出现在DDS输出频谱中。若L P,则没有相位截断杂散。若L P,则包括PPT杂散在内的相位截断杂散出现在DDS输出频谱中。其次,L和P的值可确定PPT杂散的幅度和频率(假定L P)。

  请注意,公式2中的两个正弦函数的参数以弧度为单位。例如,假设DDS的P = 19,FTW如图3所示,则使用公式2得到的PPT杂散幅度为114.38789 dBc。

  需要多个步骤才能确定这两个PPT频率。第一步,得出K的值,FTW的十进制值截断为L位。要得到K,在FTW为二进制形式的情况下,消除尾随0并将得到的L位FTW转换为相应的十进制值。例如,图3中的FTW可得到K = 28,107(通过将二进制数字0111001011转换为相应的十进制数字得出)。

  根据下面的公式5和公式6,使用R1和R2确定DDS输出频谱中的两个PPT频率(fPPT1和fPPT2)。

  例如,若fS = 250 MHz,FTW如图3所示,且R1和R2的值已在前面的例子中计算出,则两个PPT杂散频率如下:

  为了解释这些计算中较大整数引起的问题,试重新考虑AD9912,其中N = 48,P = 19。假定FTW为0x1(十六进制),即70,368,744,177,665(十进制)。在此例中,L = 48;因此,K的值与FTW相同。

  事实上,不仅大部分软件工具无法处理极大整数,而且大部分计算机内部的处理器芯片也无法处理极大整数。例如,一台带64位处理器的计算机无法处理94位整数。这个问题至关重要,因为计算R1和R2值需要极大整数计算,这超出了大部分计算机的能力。

  除了正确表示公式3和公式4中括号内的数字,还需要计算括号内数字的2L模数。在前面的例子中,L = 48,这意味着模数达48位。大部分计算机不支持超过32位的模数计算。

  总而言之,公式3和公式4产生的难题在使用软件工具实现PPT杂散计算时需要特别注意。用户必须将括号内的数字作为一个整数进行正确计算(无截断或四舍五入),并且应在不损失精度的情况下正确处理模数计算。

  尽管大部分软件工具和处理器无法直接处理极大整数,但也有例外。例如,软件工具Python本身支持极大整数计算。尽管MATLAB®本身无法处理极大整数,但支持极大整数计算的可变精度整数(VPI)工具箱可在MATLAB Central的Math Works网站上免费下载。

  

读完这篇文章后,您心情如何?
0
0
0
0
0
0
0
0
本文网址: