所有DAC都会表现出一定程度的谐波失真,谐波失真是用来衡量当DAC输入端采用一个理想的均匀采样正弦波的数值序列驱动时,其输出端能在多大程度上再现这个理想的正弦波。由于DAC的瞬态和静态特性并不理想,因此输出频谱将会包含谐波成分。DAC的瞬态输出特性包括压摆率限制、非对称上升和下降时间、有限建立时间。静态特性与传递函数偏离直线的程度有关。本文将重点讨论静态特性,并阐述一种由输出频谱中观察到的谐波成分导出DAC传递函数的方法。分析中假设,传递函数而非瞬态输出特性是所观察到的谐波失真的主要来源。此假设在低频时成立。
DAC传递函数
图1显示一个理想的DAC传递函数,它是一条斜线,y=mx+b。数字输入位于x轴,模拟输出位于y轴。
图1. 理想的DAC传递函数
x轴上的目标范围是从左边的最小码(A)到右边的最大码(B)。y轴上的目标范围是从底部的最小输出值(C)到接近顶部的最大输出值(D)。定义理想传递函数的斜率(m)和y轴截距(b)的方程式用边界值A、B、C、D表示。信号g(t)代表一个无失真的正弦波,由A至B范围内的数字输入组成,时间轴向下。信号u(t)代表模拟输出,其值在C至D范围内,时间轴向右。输出信号是通过传递函数反射的输入信号。请注意,输出信号是将g(t)上各点链接到u(t)上相应点的结果。图1显示在特定时间点t=tk的传递 *** 作例子,该时间点确定输入信号上的点g(tk)。传递函数进而将g(tk)链接到输出信号上的相应点u(tk)。对于理想的线性传递函数,u(t)与g(t)成比例关系。请注意,g(tk)对应于x轴上的点xk,它通过传递函数反射至y轴上的点yk。借助关于耦合点集(g(tn),u(tn))的已有知识,可以确定传递函数上的相关点(xn,yn)。因此,通过输入信号g(t)上的点与输出信号u(t)上的点之间的关系,完全可定义传递函数。
对于N位DAC,边界值A和B取特定值,即A=0且B=2N–1。而为了方便起见,指定边界值C和D为C=A且D=B。这样意味实际DAC输出信号的比例和偏移,因而其峰峰值范围为0至2N-1。利用A、B、C、D的这些值,因为斜率m=1且截距b=0,所以理想传递函数可简化为y=x。
到目前为止,讨论的重点还是理想的DAC传递函数,但现在我们有了可以处理失真DAC传递函数f(x)的工具,如图2所示。需要注意的主要特点是:传递函数不再是直线y=x,而是一个形状函数f(x);图中随意以平滑弧形来表示。f(x)对输出函数u(t)的影响也同样重要。理想输入g(t)通过传递函数f(x)反射,产生失真输出u(t)。与现成DAC的传递函数相比,图中所示的弧形传递函数较为夸张,仅为加强说明效果而已。现代DAC的传递函数与理想的直线几乎没有偏差,但即使最微小的偏差也会导致输出频谱中出现谐波杂散。
图2. 失真的DAC传递函数
能否成功重构DAC传递函数,取决于是否能通过已知的g(t)和u(t)确定各点(xk,f(xk))。这一过程分为两步:首先采用一个代表理想采样正弦波的数值序列驱动DAC输入,利用频谱分析仪测量DAC输出,并记录基波信号和尽可能多谐波成分的幅值;然后将测得的谐波幅值转换为特定形状的传递函数。如果 *** 作得当,将g(t)代入f(x)仿真u(t)将产生与测量结果相同的谐波失真值。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)