本帖最后由 TestGuru 于 2019-4-12 13:35 编辑
四、如何避免将量化噪声误测为谐波失真
4.1 避免采样频率与信号频率之比为整数或可相约
ADC/DAC设备采集/输出正弦波过程中产生的量化噪声容易被误认为是在0~1/2采样频率之间均匀分布的白噪声。其实不一定,量化噪声的频谱与信号频率可能产生严重相关。当采样频率与信号频率之比为整数时,量化噪声会被周期化而会汇聚到信号的谐波频率上,造成测得的THD和SFDR严重超高。前面的图3显示的就是24位量化噪声聚集到各谐波频率上的情况,而其它频点处几乎看不到任何噪音。这时测得的THD就会虚假地偏高。图3的采样频率与信号频率之比为48000/1000=48(整数)。如果将信号频率改为997,则采样频率与信号频率之比变为48000/997=48.144433(非整数且48000与997不可相约),这就大大减小了量化噪声与信号频率之间的相关,很大程度上白化了量化噪音,参考下图。比较图3和图4可见,图4中的底噪抬高了,但谐波失真大幅下降,THD从图3中的0.0000055 % (-145.23 dB)降低到图4中的0.0000033 % (-149.70 dB),THD+N则从图3中的0.0000046% (-146.76 dB)降低到图4中的0.0000028% (-151.09 dB)。需要说明的是,这里的THD+N竟然比THD还小,其原因可从前述的公式解释,THD反映的是[谐波功率]/ [基波功率]之比的开方,而THD+N是[谐波功率+噪声功率]/[基波功率+谐波功率+噪声功率]之比的开方,当噪声功率极小时(不妨假设为0),按公式THD+N是有可能大于THD的,不过这种特殊情况在实际测量中由于噪声的存在而几乎不会出现。
图4 采样频率与信号频率之比不为整数(48000/997=48.144433)以白化量化噪声(24位)
如果说24位量化噪声与信号频率的相关情形还不算太严重,在实际测量中甚至可以忽略不计,那么当采样位数为16位或8位时,情况就愈加严重了。下面两图是采样位数为16位的情形,前一个图的采样频率与信号频率之比为48000/1000=48,后一个图为48000/997=48.144433。从前者到后者,THD从0.0013751 % (-97.23 dB)降低到0.0009004 % (-100.91 dB),THD+N则从0.0013751 % (-97.23 dB)略升到0.0014608 % (-96.71 dB)。
图5 采样频率与信号频率之比为整数(48k/1k=48)时量化噪声变为谐波失真(16位) 图6 采样频率与信号频率之比不为整数(48000/997=48.144433)以白化量化噪声(16位)
下面两图是采样位数为8位的情形,前一个图的采样频率与信号频率之比为48000/1000=48,后一个图为48000/997=48.144433。从前者到后者,THD从0.2767016 % (-51.16 dB)降低到0.0910077 % (-60.82 dB),THD+N则从0.2767005 % (-51.16 dB)略升到0.2918477 % (-50.70 dB)。
图7 采样频率与信号频率之比为整数(48k/1k=48)时量化噪声变为谐波失真(8位) 图8 采样频率与信号频率之比不为整数(48000/997=48.144433)以白化量化噪声(8位)
可见当采样位数低的时候,测量THD时更应该避开采样频率为信号频率整数倍或两者可相约(将在后面介绍)的情形,以避免将量化噪音误为谐波失真。这一点在实际测量中,当电路的本底噪音很低的时候尤其重要。当电路的本底噪音高于±0.5 bit的采样位数时,由于抖动(Dithering)效应,可大大降低量化噪音与输入信号相关性,对量化噪声起到白化作用。
前面只列举了采样频率与信号频率之比为整数倍时量化噪声的能量全部聚集到谐波频率处的情形,实际上它只是下面更通用的表述中的一个特例,即如果采样频率fs与信号频率f之间存在一个最大公约数fM,则量化噪声的能量将全部汇聚到fM及其谐波频率上。而且,对于单频信号,当采样频率fs与信号频率f之比为偶数时,量化噪声仅含奇次谐波;否则量化噪声含奇次和偶次谐波。fs、f、fM不一定为整数。
在前面的fs=48000Hz,f=1000Hz例子中,fs/f=48000/1000=48/1,即:fM=1000Hz,因此量化噪声的能量全部汇聚到1000Hz及其谐波上,且因为fs/f=48000/1000=48为偶数,因此仅含奇次谐波,这由前面的相关图片可以看出。
而在前面的fs=48000Hz,f=997Hz例子中,由于fs与f互质而不可约,即:不存在大于1的最大公约数,因此量化噪声的能量在频率轴上基本上是均匀分布的,不会产生完全向某些频率汇聚的现象。
下图给出一个当采样频率fs与信号频率f之比为奇数时,量化噪声含奇次和偶次谐波的例子。此例子中,fs=44100Hz,f=100Hz,fs/f=44100/100=441(奇数),因此量化噪声的能量全部汇聚到100Hz及其奇次和偶次谐波上,这由下图可以看出。
图8-1 采样频率与信号频率之比为奇数(44100/100=441)时,量化噪声能量向信号的奇次和偶次谐波汇聚
下图给出一个采样频率fs与信号频率f可以相约的例子,fs=44100Hz,f=250Hz,fs/f=44100/250=882/5,即:fM=50Hz,因此量化噪声的能量全部汇聚到50Hz及其谐波上,这由下图可以看出。注意:量化噪声频率50Hz的部分谐波频率与测试信号频率250Hz及其谐波重合。就是说有部分量化噪声能量会被测量为谐波失真。
图8-2 采样频率fs=44100Hz,信号频率f=250Hz,最大公约数:fM=50Hz,量化噪声能量向50Hz及其谐波汇聚
可见当采样频率与信号频率之间存在一个大于1的最大公约数时,量化噪声也会部分或全部汇聚到信号的谐波频率上,从而是造成THD虚高。最大公约数越大,这种情况越严重,极限情况就是采样频率与信号频率之比为整数,最大公约数等于信号频率本身。最大公约数越小,这种情况越轻微。如果采样频率和信号频率皆为整数,极限情况就是采样频率与信号频率之间不可约(互质),最大公约数等于1。
4.2 为测试信号添加抖动(Dithering)
当采样频率与信号频率之比为整数或可相约时,尤其当测试信号幅度较小因而量化噪声所占比重相对较高的情况下,可以在单频正弦测试信号上叠加峰值为±0.5~1bit的白噪声,来尽量白化量化噪声,以降低THD和SFDR。下图是一个采样位数为8的理想正弦波,与图7一样,采样频率与信号频率之比为整数48000/1000=48,不同的是下图中采用软件多音合成方式在理想正弦波的基础上添加了峰值为±1 bit的白噪声。与图7相比,THD从0.2767016 % (-51.16 dB)大幅降低到0.0753697 % (-62.46 dB),THD+N则从0.2767005 % (-51.16 dB)升到0.4113034 % (-47.72 dB)。
图9 采样频率与信号频率之比为整数(48k/1k=48)时添加抖动以白化量化噪声(8位)
|