Pavan《Understanding Delta-Sigma Data Converters》附录A 频谱估计 深度解析
本附录内容:系统阐述如何使用 FFT 对 ΔΣ 数据进行频谱分析。涵盖窗函数选择、缩放与噪声带宽、平均技术、完整示例和数学背景。对 ΔΣ 设计者准确评估 SNR/SNDR/SFDR 至关重要。
衔接:本书所有章节的仿真结果均依赖本附录的方法。附录 B(ΔΣ 工具箱)的 simulateDSM 和 logsmooth 等函数使用本附录的原理。
附录 A 目录结构
| 节号 | 标题 | 核心内容 |
|---|---|---|
| A.1 | 窗函数 (Windowing) | 矩形/Hann/Hann2 窗、噪声泄漏、信号泄漏、记录长度 |
| A.2 | 缩放与噪声带宽 (Scaling and NBW) | 正弦缩放 vs 噪声缩放、NBW 计算、dBFS/NBW |
| A.3 | 平均 (Averaging) | FFT 的方差、多记录平均、频域平滑、累积图 |
| A.4 | 完整示例 (Example) | MATLAB 完整代码及分析 |
| A.5 | 数学背景 (Math Background) | PSD 的正式定义、估计器偏差/方差、NBW 推导 |
核心内容深度解析
A.1 窗函数
三类窗函数(Figure A.1, Table A.1)
| 属性 | 矩形窗 | Hann 窗 | Hann² 窗 |
|---|---|---|---|
| 定义 | 1 | ||
| 非零 FFT bin 数 | 1 | 3 | 5 |
| NBW | |||
| 高频滚降 | 不滚降 | 60 dB/dec | 100 dB/dec |
噪声泄漏(Figure A.3)
本质问题:有限长数据相当于乘以矩形窗 → 频域卷积 → 窗的旁瓣将带外噪声功率泄漏到带内
关键数据:
- N=256 时,矩形窗仅能观察到 ~23 dB 的带外-带内噪声密度差
- 矩形窗每倍频程仅改善 3 dB → 要可靠观察 80 dB 差需要 点!
- Hann 窗 N=512 可分辨 80 dB 差;Hann² 窗 N=256 即可
Hann 窗通常足够:实际仿真通常数千点以上,Hann 窗即可提供充分保护
信号泄漏(Figure A.4)
相干采样 vs 非相干采样:
- 信号频率精确在 FFT bin 上 → 功率集中在少数 bin(矩形 1,Hann 3,Hann² 5)
- 非相干 → 功率涂抹到所有 bin
- 仿真中可精确控制频率,消除信号泄漏
- 频率精度要求: 中 四舍五入到 4 位小数时,Hann 窗的裙边总功率约 -84 dBc
数据记录长度
推荐 N = 64 × OSR:
- SNR 估计标准差约 1.0 dB
- N = 30 × OSR → 标准差约 1.4 dB
- N = 256 × OSR → 标准差约 0.5 dB(通常不需要)
- 信号 bin 应占带内 bin 的 < 20%(Hann 窗 3 bin → 至少 15 个带内 bin)
SFDR 观测:
- N = 64 × OSR 可观测比 SNR 高约 10 dB 的 SFDR
- 每加倍 N,可观测 SFDR 增加 3 dB
A.2 缩放与噪声带宽
正弦缩放(式 A.5)
- 满量程正弦波 → 0 dBFS 峰值
- 噪声功率随 N 变化(每倍频程 -3 dB,Figure A.5)
噪声缩放(式 A.7)
- 单位功率白噪声 → 0 dB 密度(与窗类型和长度无关)
- 但正弦波峰值依赖于窗
NBW 概念
频谱分析仪类比:解析为滤波器组,显示功率 = 噪声密度 × 滤波器噪声带宽
NBW 定义:与当前滤波器具有相同输出功率(对白噪声输入)的理想砖墙滤波器的等效带宽
NBW 计算(式 A.17-A.18):
核心用法:
- 总噪声功率 = 平均噪声密度 (dBFS/NBW) +
- 示例(Figure A.9):平均噪声密度 ≈ -100 dBFS/NBW,NBW = ,BW =
- 转换因子: dB
- 总噪声功率: dBFS
- 信号功率:-6 dBFS → SNR = -6 - (-87) = 81 dB ✓
需始终标注 NBW:纵轴应标为 “dBFS/NBW”
A.3 平均
问题:单个 FFT bin 幅度的标准差等于期望值本身!→ 谱图非常”噪”(Figure A.6-A.7)
解决方案 1:多记录平均
- 将大数据记录分割为多个(可重叠)子记录
- 各自加窗、FFT、平方幅度后平均
- 标准差降低 (K 为记录数)
- 本书中的频谱图(Figure A.3, A.7)均使用了此技术
解决方案 2:频域平滑
- 相邻 bin 功率平均 → “滤波”频谱
logsmooth函数:几何增长 bin 数 → 对数坐标均匀分布
解决方案 3:累积谱(Figure A.8)
- 绘制从 DC 到当前频率的累计功率(除以 )
- 有效平滑噪声,但可能隐藏高频杂散
A.4 完整示例(Figure A.9)
MATLAB 代码流程:
% 1. 生成调制器数据
OSR = 32; ntf0 = synthesizeNTF(5,OSR,1);
N = 64*OSR; fbin = 11; % N=2048, 相干bin
u = 0.5*sin(2*pi*fbin/N*[0:N-1]);
[v,~,~,y] = simulateDSM(u,ntf0);
% 2. 计算加窗FFT和NBW
w = hann(N); nb = 3;
w1 = norm(w,1); w2 = norm(w,2);
NBW = (w2/w1)^2; % = 1.5/N ≈ 7.3e-4
V = fft(w.*v) / (w1/2); % 正弦缩放
% 3. 计算SNR - 信号bin / 噪声bin
signal_bins = fbin + [-(nb-1)/2:(nb-1)/2];
inband_bins = 0:N/(2*OSR);
noise_bins = setdiff(inband_bins, signal_bins);
snr = dbp(sum(|V(signal_bins+1)|^2) / sum(|V(noise_bins+1)|^2));结果(Figure A.9):
- Hann 窗 SNR ≈ 81 dB(矩形窗仅 58 dB——灾难性的 23 dB 差距)
- 平滑后 PSD 与理论值高度吻合
- 图中含:理论谱
A.5 数学背景
PSD 正式定义:
- 自相关函数:
- PSD:(自相关的傅里叶变换)
- 总功率:
- 滤波性质:
PSD 估计器性质:
- 有偏估计:(与窗谱的圆周卷积)
- 功率无偏:(积分得总功率无偏)
- 大方差:(标准差 = 被估计量本身)
NBW 正式推导(式 A.17):
由 得出
量化噪声 PSD 公式(式 A.19):
前提:M 步量化器、步长 Δ=2、白噪声假设、单边谱
关键公式汇总
| 公式 | 说明 |
|---|---|
| $\hat{S}‘(f) = \frac{1}{(\text{FS}/4)W(0)^2} | \sum w[n]x[n]e^{-j2\pi fn} |
| $\hat{S}(f) = \frac{1}{|w|_2^2} | \sum w[n]x[n]e^{-j2\pi fn} |
| 噪声带宽 | |
| 从 PSD 计算 SNR | |
| $S_q(f) = (4/3M^2) | NTF(e^{j2\pi f}) |
| 单边谱功率 |
参考文献
- A. V. Oppenheim and R. W. Schafer, Discrete-Time Signal Processing, Prentice-Hall.
- A. Papoulis, Probability, Random Variables, and Stochastic Processes, McGraw-Hill.
- F. J. Harris, “On the use of windows for harmonic analysis with the discrete Fourier transform,” Proc. IEEE, vol. 66, pp. 51–83, Jan. 1978.
- A. H. Nuttall, “Some windows with very good sidelobe behavior,” IEEE Trans. ASSP, vol. 29, pp. 84–91, Feb. 1981.
补充细节:频谱估计
G38 频谱估计中 PSD 的理论下限与估计器方差:
- 周期图方差:,不随数据长度 增加而减小——这是周期图作为频谱估计器的根本缺陷。
- 方差来源:DFT 的每个频率点上,周期图等价于数据加窗后的单样本功率估计,仅 2 个自由度(实部/虚部),所以方差 = 均值的平方。
- 多记录平均法(Bartlett/Welch): 段独立记录的平均使方差降低 倍:。
- K-L 权衡:总数据长度 固定时,↑ → ↓ → 频率分辨率 ↓。最优选择是使 (保证带内有足够频率点)同时最大化 。
- Pavan 附录 A.5 扩展:对于 ΔΣ 调制器的 PSD 估计,建议使用 50% 重叠的 Welch 法, 段,Hanning 窗,以获得稳定的带内噪声 PSD 估计。