采样频率 F_s = 1000 Hz、样本数 N = 256、CZT 输出点数 M = 256 固定。输入信号:x[n] = sin(2π f_1 n/F_s) + sin(2π f_2 n/F_s)。
上图:DFT 幅度 |X[k]|(蓝色),将 0~F_s/2 等分为 N 个 bin。下图:CZT 幅度(红色),在 [f_start, f_end] 内 M 个 bin。黄色竖线 = f_1, f_2。
Chirp-Z 变换(CZT)是一种广义 DFT,它沿 Z 平面上的等比螺旋采样 M 个点:
$$X[k] = \sum_{n=0}^{N-1} x[n]\,A^{-n}\,W^{nk}, \qquad k = 0,1,\dots,M-1$$其中 $A = A_0 e^{j\theta_0}$,$W = W_0 e^{-j\phi_0}$。Zoom-DFT 取:
$$A = e^{j\,2\pi f_\text{start}/F_s}, \qquad W = e^{-j\,2\pi (f_\text{end}-f_\text{start})/(M\,F_s)}$$于是输出在 $[f_\text{start}, f_\text{end}]$ 上等分为 M 点。普通 DFT 在 $0..F_s/2$ 上分为 N 点,因此分辨率分别为:
$$\Delta f_\text{DFT} = \frac{F_s}{N}, \qquad \Delta f_\text{CZT} = \frac{f_\text{end}-f_\text{start}}{M}$$默认设置(F_s=1000、N=M=256、f_start=90、f_end=120)下,DFT 为 3.91 Hz/bin,CZT 为 0.117 Hz/bin,分辨率提升约 33 倍。