那个网站可以做恒指 买涨买跌如何在服务器上关闭网站
那个网站可以做恒指 买涨买跌,如何在服务器上关闭网站,建设银行公积金网站,新手织梦网建设网站这一部分#xff08;图25.20及其相关文本#xff09;是继续讨论ADC#xff08;模数转换器#xff09;实际性能的章节#xff0c;主要焦点是有效位数#xff08;ENOB#xff09;、**信噪比#xff08;SNR#xff09;与输入频率的关系#xff0c;以及无杂散动态范围图25.20及其相关文本是继续讨论ADC模数转换器实际性能的章节主要焦点是有效位数ENOB、**信噪比SNR与输入频率的关系以及无杂散动态范围SFDR**的概念。这些是评估ADC在真实应用中性能的关键指标尤其在高频信号下。既然你的信号基础不太好我会从最基础的概念开始一步步解释包括每个术语的含义、为什么会出现这些现象、相关公式以及图25.20的分析。最后我会用一些视觉图例来辅助理解。1. 基础回顾ADC的理想 vs 实际性能理想ADC一个n位ADC的理论SNR约为6.02n 1.76 dB这是量化噪声限定的。例如12位ADC的理想SNR ≈ 74 dB。实际ADC由于各种噪声和失真如热噪声、抖动、非线性失真实际SNR会低于理想值。高频信号时这些问题更严重导致ADC的“有效性能”下降。这部分文本强调ADC的输入频率必须远低于其3dB截止频率带宽上限否则SNR会急剧下降。图25.20就是展示抖动如何限制SNR的典型例子。2. 有效位数ENOB——ADC的“真实位数”什么是ENOBENOBEffective Number of Bits是衡量ADC实际分辨率的指标。它回答“这个ADC在实际条件下相当于一个理想的几位ADC” 例如一个标称12位ADC如果实际ENOB10位意味着它的噪声和失真让它只相当于理想10位ADC的性能。为什么需要ENOB因为实际ADC有多种噪声源如抖动、热噪声、非线性这些会“吃掉”部分分辨率。文本中提到由于ADC内部的噪声源如抖动实际SNR低于理想导致ENOB 标称位数。低频信号ENOB接近标称位数量化噪声主导。高频信号抖动等噪声主导ENOB下降明显。ENOB的计算公式文本中隐含标准公式这里SNR是实际测量的dB值。为什么是这个公式因为理想n位ADC的SNR 6.02n 1.76 dB反推n即ENOB就是这个。示例如果实际SNR68 dB则ENOB ≈ (68 - 1.76)/6.02 ≈ 11位标称12位ADC损失了1位。 文本中说“ENOB (SNR/6dB)”这是近似忽略1.76 dB因为它小实际精确公式如上。文本中的关键点 ENOB是小信号时的指标信号幅度小噪声主导。对于大信号非线性失真更重要这时用SFDR评估。3. 无杂散动态范围SFDR——衡量ADC的线性度什么是SFDRSFDRSpurious-Free Dynamic Range是ADC的动态性能指标定义为输入信号功率 与 最大杂散spurious信号功率 的比值dB。杂散信号ADC输出中不应出现的频率成分如谐波失真、互调失真不是噪声而是失真产物。示例输入一个纯正弦波单频f理想输出只有f但实际输出有2f、3f等谐波这些就是杂散。 SFDR越高说明ADC线性度越好能处理更大动态范围的信号而不产生明显失真。SFDR vs SNRSNR关注总噪声随机噪声如抖动、热噪声。SFDR关注特定杂散确定性失真。文本中强调典型ADC的SFDR SNR因为杂散通常比总噪声小。例如SNR70 dBSFDR可能80 dB。但在高频下抖动会让SNR下降更快而SFDR可能受非线性影响。为什么重要在通信、雷达等应用中杂散会干扰其他信号通道所以SFDR是关键规格。测量SFDR 通常输入满幅度单频信号观察FFT谱找最大杂散峰值。文本中的关键点ADC的数据手册中会给出SFDR vs 输入频率的图。SFDR比SNR高不等于说可以用SFDR代替SNR设计。如果前面提到过通过滤波或校准可以改善SFDR。在设计中要查看厂家数据手册实际测试时用比较采样技术测量抖动规模。4. 图25.20的详细分析抖动对SNR/ENOB的影响图的描述X轴输入频率MHz从1到100 MHz。Y轴左侧SNR (dB)从0到120 dB。Y轴右侧ENOB位从4到14位因为ENOB ≈ SNR/6 dB。多条曲线对应不同RMS抖动水平t_j如0.5ps、1ps、2ps、10ps、50ps、250ps、1000ps。趋势所有曲线都随频率增加而下降斜率≈-20 dB/十倍频。为什么这样回顾抖动公式 从上一节抖动限定的SNRf频率增加SNR线性下降对数轴上呈直线。t_j抖动越大曲线越低SNR越差。示例对于t_j1psf10 MHz时SNR≈100 dBENOB≈16位f100 MHz时SNR≈80 dBENOB≈13位。实际中低抖动如1ps对高频ADC如GHz采样至关重要。文本与图的联系图展示不同抖动下的SNR下降曲线证明高频时抖动是主导因素。结合ENOB右轴直接显示ENOB损失例如抖动大时高频ENOB可能降到6-8位。3dB截止输入频率应 ADC带宽否则SNR进一步下降。下面是一些类似图25.20的参考图像展示抖动对SNR的影响这些是网络搜索到的示例图帮助可视化5. 实际应用与总结设计提示从文本选择ADC时看数据手册的SNR、ENOB、SFDR vs 频率图。减小抖动用低抖动时钟、优化PCB、电源滤波。对于大信号关注SFDR失真小信号关注SNR/ENOB噪声。如果ENOB不足用过采样或多ADC并行提升但增加复杂度。为什么这段重要它解释了为什么高速ADC如用于5G、雷达的规格那么贵抖动和失真限制了高频性能。理解这些能帮你避免设计陷阱。代码实现import numpy as np import matplotlib.pyplot as plt # 参数设置与书中的图25.20一致 frequencies np.logspace(0, 2, 500) # 1 MHz 到 100 MHz对数轴 frequencies frequencies * 1e6 # 转换为 Hz # 不同的 RMS 抖动值单位秒对应书中的曲线 jitter_values_ps [0.5, 1, 2, 10, 50, 250, 1000] # ps jitter_values_s np.array(jitter_values_ps) * 1e-12 # 转换为秒 # 计算抖动限制下的 SNRdB # SNR -20 * log10(2 * π * f * t_j) snr_db [] for tj in jitter_values_s: snr -20 * np.log10(2 * np.pi * frequencies * tj) snr_db.append(snr) snr_db np.array(snr_db) # 计算对应的 ENOB有效位数 # ENOB (SNR - 1.76) / 6.02 精确公式 # 书上用近似 ENOB ≈ SNR / 6 enob_precise (snr_db - 1.76) / 6.02 enob_approx snr_db / 6.02 # 书上常用近似值略高一点 # 绘图 plt.figure(figsize(10, 7)) # 主坐标轴SNR (dB) for i, tj_ps in enumerate(jitter_values_ps): plt.plot(frequencies / 1e6, snr_db[i], labelft_j {tj_ps} ps, linewidth2) plt.xlabel(输入信号频率 (MHz), fontsize12) plt.ylabel(SNR (dB), fontsize12) plt.xscale(log) plt.grid(True, whichboth, ls--, linewidth0.5) plt.title(不同时钟抖动下的 ADC 信噪比 SNR 与输入频率的关系, fontsize14) plt.legend() plt.xlim(1, 100) plt.ylim(0, 120) # 副坐标轴ENOB位数 ax2 plt.twinx() # 这里用近似值画 ENOB与书上右轴一致 for i, tj_ps in enumerate(jitter_values_ps): ax2.plot(frequencies / 1e6, snr_db[i] / 6.02, linewidth2) # 不显示第二次避免图例重复 ax2.set_ylabel(ENOB (bits), fontsize12) ax2.set_ylim(0, 120 / 6.02) ax2.set_yticks(np.arange(4, 15, 2)) plt.tight_layout() plt.show()