雷达 · 通信 · 电子战 / 基础精学 145
时域零填充只在相同有限记录的DTFT上增加采样点,可以改善峰值读取栅格,但不提高由观测时长决定的真实分辨能力。
原记录长N,追加零到 P=LN 点,不改变原有样本或窗函数。
N:非零记录长度(sample)
P:零填充DFT长度(point)
X(ω):有限记录DTFT(幅度谱)
Δ f:频率栅格间隔(Hz)
补零后DFT为
当P=LN且k=Lr时
![X_P[Lr]=X_N[r].](http://mmo.508mallsys.com/image/loading/transparent.png)
旧频率点被原样保留。
将原N点逆DFT代回有限求和,得到
内层为Dirichlet核,表明新频点由原DFT确定,不增加独立信息。
栅格从 fs/N 变为
但矩形记录单音主瓣第一零点仍位于真实频率两侧 fs/N;补零不改变N或观测时间,因此不能把更细网格称为更窄主瓣。
零填充只是对同一有限记录的连续频率傅里叶表达式取更多样本。长度 N 的矩形窗单音,其频谱幅度含 Dirichlet 核:
最近零点位于 ω0±2π/N,由真实观测长度决定。
把 FFT 长度改为 M>N,网格间距变为
但零点位置不变。更密网格可降低直接选最大栅格点造成的读数误差,也有助于观察已有峰形;
它不等价于延长观测时间,不能保证将原先重叠的两个主瓣分开。
更多绘图点描绘同一条连续频谱曲线,能减小峰值采样误差,却无法创造未被观测到的时间信息。
对64点非整周期复单音补零到512点,验证旧频点完全一致、DTFT直接求和一致,并比较峰值读取误差。
| 量 | 数值 |
|---|---|
| 记录长度 | 64 |
| FFT 长度 | 512 |
| retained grid error | 4.4408920985e-15 |
| direct dtft error | 2.24731189975e-13 |
| coarse peak error | 0.0046875 |
| fine peak error | 0.00078125 |
| first null offset | 0.015625 |
| first null magnitude | 8.46117831115e-14 |
图 1 零填充DFT的谱插值的理论关系与固定参数验证
表中数值和图中曲线由 MATLAB 实际运行得到,随机种子为 20261064;运行版本与完整结果另存为独立文件。
RTL实现补零门控,输入a为样本、b为块内索引;仅 0≤ b<64 时输出a,其余输出0。块长度512及缓存调度由外部负责。 RTL 采用同步有效信号和异步低有效复位;
空拍保持状态且输出无效。除另有说明外,输入为16位有符号整数,结果为64位有符号整数,测试范围内不截断或饱和。输出在采样时钟上升沿更新。自检覆盖连续样本、空拍和复位;
未进行器件布局布线、时序收敛或功耗验证。
独立自检程序已在 Icarus Verilog 13.0 中实际运行并通过。该结果不包含器件综合、静态时序分析或板级测试。
零填充常用于频谱显示、单峰读取和局部频率估计的初始搜索。其收益是减小频率网格对峰值位置和幅度的采样误差。需要分辨邻近分量时,应增加有效观测时长或改变估计模型,而不是只扩大FFT数组。
频率估计仍受噪声、泄漏和多音耦合影响。
补零不能修复截断造成的泄漏。
幅度归一化应使用有效记录或窗和,而非盲用补零长度。
时域零填充只在相同有限记录的DTFT上增加采样点,可以改善峰值读取栅格,但不提高由观测时长决定的真实分辨能力。
内容依据:每日精学第 145 课《零填充DFT的谱插值》。图表沿用原课固定参数数值结果,属于数值验证,不代表设备实测。