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

简介
现代直接数字频率合成器(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输出频谱中出现相位截断杂散。
知道给定dds的p值对预测相位截断杂散非常重要。本应用笔记介绍了一种用于计算特定相位截断杂散的频率和幅度的方法,尤其适合给定ftw的主相位截断(ppt)。
图1. dds功能框图
相位截断 累加器和ftw组成dds的频率控制元件。但是,除了频率控制元件外,dds还具有将n位累加器输出从相位值转换为幅度值的角度转幅度模块。角度转幅度模块占据了dds数字电路的很大一部分。因此,通过增大n来提高dds的调谐分辨率会大幅增加角度转幅度模块所需的电路数。同样,将所有n位相位信息转换为幅度不太实际。如图1所示,实际dds使用累加器位的子集进行相位幅度转换,即p最高有效位(msb)。这种位截断会大幅减少角度转幅度模块所需的电路数。但代价是需要在dds输出端引入可能的频谱伪像(具体而言就是相位截断杂散)。
相位截断杂散 根据定义,按p = n设计的dds没有相位截断。因此,其输出频谱中没有相位截断杂散。但是在实际dds中,p p,则包括ppt杂散在内的相位截断杂散出现在dds输出频谱中。其次,l和p的值可确定ppt杂散的幅度和频率(假定l > p)。
ppt幅度 两个ppt杂散具有相同的幅度(见公式2)。 若已知特定ftw的值和给定dds设计的p值,两个ppt杂散的幅度为:
其中,ppt幅度的值以dbc为单位: 与频率为fo时主dds输出信号的幅度相关的分贝。
请注意,公式2中的两个正弦函数的参数以弧度为单位。例如,假设dds的p = 19,ftw如图3所示,则使用公式2得到的ppt杂散幅度为−114.38789 dbc。
ppt频率 需要多个步骤才能确定这两个ppt频率。第一步,得出k的值,ftw的十进制值截断为l位。要得到k,在ftw为二进制形式的情况下,消除尾随0并将得到的l位ftw转换为相应的十进制值。例如,图3中的ftw可得到k = 28,107(通过将二进制数字0000000000110110111001011转换为相应的十进制数字得出)。
使用k计算两个ppt杂散的频谱指数位置(r1和r2),如下面的公式3和公式4所示:
例如,在dds的p = 19且ftw如图3所示的情况下,公式3中括号内的数字为14,736,134,709,公式4中括号内的数字为928,378,285,515。将2 25 模数应用于这些值可得到
根据下面的公式5和公式6,使用r1和r2确定dds输出频谱中的两个ppt频率位置(fppt1和fppt2)。
例如,若fs = 250 mhz,ftw如图3所示,且r1和r2的值已在前面的例子中计算出,则两个ppt杂散频率如下:
图3. ftw的l位
结论 尽管本应用笔记介绍了一种相对简单的方式来预测两个ppt杂散的频率和幅度,但公式3和公式4可能引起计算问题。具体而言,括号内的数字由一个整数定义,可能非常大。
为了解释这些计算中较大整数引起的问题,试重新考虑ad9912,其中n = 48,p = 19。假定ftw为0x400000000001(十六进制),即70,368,744,177,665(十进制)。在此例中,l = 48;因此,k的值与ftw相同。
现在考虑公式4中括号内的数字。2l – 2p+ 1可得到以下值:
248 – 219 + 1 = 281,474,976,186,369
因此,由公式4中括号内的数字可得到
k × (2l – 2p+ 1) = 70,368,744,177,665 × 281,474,976,186,369
= 19,807,040,591,672,948,094,687,248,385
以二进制形式表示此整数需要94位。大部分计算软件工具无法精确表示这种大小的整数。例如,在64位机器上运行的matlab将k × (2 l– 2p + 1)表示为浮点数:1.980704059167295 × 1028。对应的整为19,807,040,591,672,950,000,000,000,000。此值与真实值偏差较大,因此得到的r2并不正确。
事实上,不仅大部分软件工具无法处理极大整数,而且大部分计算机内部的处理器芯片也无法处理极大整数。例如,一台带64位处理器的计算机无法处理94位整数。这个问题至关重要,因为计算r1和r2值需要极大整数计算,这超出了大部分计算机的能力。
除了正确表示公式3和公式4中括号内的数字,还需要计算括号内数字的2l模数。在前面的例子中,l = 48,这意味着模数达48位。大部分计算机不支持超过32位的模数计算。
总而言之,公式3和公式4产生的难题在使用软件工具实现ppt杂散计算时需要特别注意。用户必须将括号内的数字作为一个整数进行正确计算(无截断或四舍五入),并且应在不损失精度的情况下正确处理模数计算。
尽管大部分软件工具和处理器无法直接处理极大整数,但也有例外。例如,软件工具python本身支持极大整数计算。尽管matlab®本身无法处理极大整数,但支持极大整数计算的可变精度整数(vpi)工具箱可在matlab central的math works网站上免费下载。

联发科联手联咏科技 抢攻大陆山寨机市场
天津飞腾举办第一届生态伙伴大会 国产处理器面向新时代
如何制作最简单的Mos电路感应加热器
EMC滤波器是什么?有什么作用?
中国物联网计算设备定制领导者——芯树智连参展CITE2023
计算特定相位截断杂散的频率和幅度的方法
4月汽车工业产销大数据新鲜出炉!新能源汽车势不可挡!
一起探索Wi-SUN无线传输技术的适用场景吧!
国家重大科学研究“十二五”规划公示
Twido PLC在多功能混凝土砌块成型机的应用
利用简单的熔盐处理改善石榴石的空气稳定性和界面兼容性
英伟达 Game Ready 驱动正式支持 Vulkan 光线追踪
LTC2311特性及演示板2425A主要特性
4.5μm铜箔成为铜箔企业的重点布局的拳头产品
MH32F103AVET6具有哪些基本特征呢
95后成都女孩“教”人工智能产品学说四川话
企业范围智能自动化时代已来临
小米新机汇总:红米5A、红米Pro2、蓝米X1、小米6plus、红米Note5,你最期待哪部?
华为完成5G设备安全测试,100%符合5G安全试验系列规范
***平行光源应用及性能参数