DFT(循環畳み込み)と線形畳み込みのゼロパディングなしの畳み込みの例を次に示します。これは、長さ M=32 のシーケンスと長さ L=128 のシーケンスの畳み込みです (Numpy/Matplotlib を使用):
f = rand(32); g = rand(128)
h1 = convolve(f, g)
h2 = real(ifft(fft(f, 128)*fft(g)))
plot(h1); plot(h2,'r')
grid()
最初の M-1 ポイントが異なり、ゼロが埋め込まれていないため、M-1 ポイント分不足しています。これらの違いは、ブロック畳み込みを行う場合に問題になりますが、この問題を克服するために、オーバーラップして保存またはオーバーラップして追加するなどの手法が使用されます。そうではなく、1 回限りのフィルタリング操作を計算している場合、有効な結果はインデックス M-1 で始まり、インデックス L-1 で終わり、長さは L-M+1 になります。
引用された論文に関して、付録 A の MATLAB コードを見ました。私は、Hfinal 伝達関数を最初に共役せずに負の周波数に適用するという間違いを犯したと思います。それ以外の場合は、クロック ジッタが周期的な信号であることをグラフで確認できるため、定常状態の解析には循環畳み込みを使用しても問題ありません。
編集:伝達関数の共役に関して、PLLには実数値のインパルス応答があり、すべての実数値の信号には共役対称スペクトルがあります。コードでは、共役を取らずに Hfinal[Ni] を使用して負の周波数を取得していることがわかります。-50 MHz から 50 MHz までの伝達関数をプロットしました。
N = 150000 # number of samples. Need >50k to get a good spectrum.
res = 100e6/N # resolution of single freq point
f = res * arange(-N/2, N/2) # set the frequency sweep [-50MHz,50MHz), N points
s = 2j*pi*f # set the xfer function to complex radians
f1 = 22e6 # define 3dB corner frequency for H1
zeta1 = 0.54 # define peaking for H1
f2 = 7e6 # define 3dB corner frequency for H2
zeta2 = 0.54 # define peaking for H2
f3 = 1.0e6 # define 3dB corner frequency for H3
# w1 = natural frequency
w1 = 2*pi*f1/((1 + 2*zeta1**2 + ((1 + 2*zeta1**2)**2 + 1)**0.5)**0.5)
# H1 transfer function
H1 = ((2*zeta1*w1*s + w1**2)/(s**2 + 2*zeta1*w1*s + w1**2))
# w2 = natural frequency
w2 = 2*pi*f2/((1 + 2*zeta2**2 + ((1 + 2*zeta2**2)**2 + 1)**0.5)**0.5)
# H2 transfer function
H2 = ((2*zeta2*w2*s + w2**2)/(s**2 + 2*zeta2*w2*s + w2**2))
w3 = 2*pi*f3 # w3 = 3dB point for a single pole high pass function.
H3 = s/(s+w3) # the H3 xfer function is a high pass
Ht = 2*(H1-H2)*H3 # Final transfer based on the difference functions
subplot(311); plot(f, abs(Ht)); ylabel("abs")
subplot(312); plot(f, real(Ht)); ylabel("real")
subplot(313); plot(f, imag(Ht)); ylabel("imag")

ご覧のとおり、実数成分は偶数対称で、虚数成分は奇数対称です。彼らのコードでは、loglog プロットの正の頻度のみを計算しました (十分に合理的です)。ただし、逆変換を計算するために、彼らは Hfinal[Ni] をインデックス付けすることによって負の周波数の正の周波数の値を使用しましたが、共役するのを忘れていました。