校准估计与定点校正(AD13–AD16)
AD13:两点 DC 的 offset/gain 估计
讲解
已知输入±A、前端充分settling,对每lane分别求均值 μ+、μ−。模型 y=a×x+o 时,a=(μ+−μ−)/(2A)、o=(μ++μ−)/2,校正 (raw−o)/a。记录 A 的实际准确度、噪声、基准漂移、输入共模、采样配置和是否clipping。
A=512LSB,a=1.02、o=4时,浮点均值526.24、−518.24。若无噪声且量化后恒为526、−518,两点估计a=1.01953125、o=4。重复平均相同整数不能自动得到子LSB信息;dither/噪声可能提供信息,但其分布和输入准确度要进入误差预算。
256份12bit补码累加,最小−524288,最大524032,signed20足够;平均的除法/舍入应明确定义。置信区间与有效样本数依赖相关性,不能把高度相关的256次读数当作256个独立观测。
练习与验收
在浮点和整数模型分别估计,改变A、噪声和settling等待,记录估计bias与不确定度。验收包括端点不过载、每lane样本数、系数范围检查和独立验证输入。使用校准点以外的DC/正弦验证残差。
AD14:已知正弦估计相位与时间
讲解
按各lane自己的名义时间戳t,拟合 z=a sin(ωt)+b cos(ωt)+c。幅度为sqrt(a²+b²),相位φ=atan2(b,a),偏置c。先检查采样矩阵满秩和条件数,不用均匀lane数组下标冒充总流时间。
前端相位一致、同一已知信号源下,相对skew约 (φ_m−φ_ref)/ω;这里正δt对应提前看到信号未来值,因此相位增加。实际相位差按2π取模,有多个时间解,需要已知skew范围/相位展开。正弦源失真、频率误差和前端带宽差也会影响估计。
示例fin=100kHz,相位差0.003rad,对应4.77465ns;应说明参考lane及先验范围。改变输入频率,多频结果可帮助检验“纯延迟”假设,但不等于自动分离所有模拟动态误差。
练习与验收
给四lane注入已知skew,拟合后对照真值;测试DC、固定采样相位、低幅度、clipping和源频率误差。验收须报告矩阵条件、相位分支、残差和多次估计分布,不能只给一个成功数字。
AD15:定点数据通路和 timing 校正
讲解
先实现offset/gain校正,再研究timing。教学格式均用“signed位数/F小数位数”说明,不依赖有歧义的Q命名:raw是signed12/F0;offset是signed18/F4,单位ADC LSB;inverse_gain是signed18/F16,物理值≈±2范围,首版仅接受正且接近1的增益。
显式符号扩展后算 v=(raw<<4)−offset,v用signed19/F4;p=v×inverse_gain 用signed37/F20。nearest-even舍入右移16,输出signed18/F4,再饱和并携带flag。输出范围约−8192…8191.9375 ADC LSB;小数位增加不等于ADC模拟分辨率提高。
SystemVerilog表达式位宽、signed传播、移位和切片需要逐处明确。先扩宽再左移,不能让12bit raw左移后已经溢出才赋给宽寄存器。负数nearest-even不能一律加半LSB;实现可用算术floor商及非负余数,余数过半或恰半且商奇数时加1,最后检查饱和。
timing数字校正由总流重构导数:定义δτ=δt/Ts,Dhat为“每样本间隔”的导数估计,z≈delayed_y−δτ_lane×Dhat。若微分FIR延迟D,校正的是n−D,必须使用该目标样本的lane、标签和系数版本。不能用当前lane乘延迟后的导数。
最小示例 Dhat=(y[n]−y[n−2])/2,目标是n−1,D=1;其频响j sinΩ只在低归一化频率近似jΩ。微分会增强高频噪声,有限带宽/大skew要更好的重构模型。硬件时钟trim直接改变采样相位,数字插值只修正可重构样本;两者有不同限制和稳定性问题。
练习与验收
手算raw=100、offset=4、inverse_gain≈1/1.02的浮点与整数输出;测试负数半值、端点、随机系数、饱和及版本切换。timing先做浮点模型,扫频确认一阶近似的有效范围。验收要求逐级格式表、独立bit-accurate参考与延迟台账。
AD16:后台校准与收敛条件
讲解
前台校准用已知激励并占用转换时间;后台校准依赖业务信号统计、探测注入或冗余观测。首先完成可复现的前台校准,然后选择一个有明确前提的后台算法,不同时追求未知输入offset/gain/skew/bandwidth全校正。
慢速均值差可估相对offset,方差差可能用于相对gain,但有平稳/等统计的条件,并受噪声差影响。skew梯度/LMS需要定义误差函数和激励,步长同时影响收敛、噪声及跟踪速度。先用标量 e[k+1]=(1−μλ)e[k] 理解局部稳定需0<μλ<2;真实多参数问题看Hessian特征值及估计噪声。
实现需warmup、统计窗口、confidence、范围限幅、slew限制、freeze、异常恢复及系数原子提交。校准步进会调制信号/时钟并可能产生新杂散;换业务输入时不可盲目继续学习错误参数。
练习与验收
在满足前提的宽带输入上验证收敛,再用DC、lane同步包络和频率切换制造失效。验收给出可工作域、收敛时间、稳态残差、漂移跟踪和误更新检测。首版结课RTL只要求固定offset/gain校正;后台估计是独立扩展课。