前々回のシミュレーションの結果を詳しく分析してみます。
まずブロック図を若干変更しました。波形の表示順序を変えています。細かい信号の比較をしやすくしたつもりです。見づらいと思いますのでクリックして拡大して下さい。
全体波形は以下のようになります。
左から順番に見ていきます。
全体波形の黄色の枠で囲った部分の拡大図です。

入力信号も出力信号も 32Hz の正弦波で始まりますから、位相差はゼロ。で、この PLL の場合位相比較器は乗算器なので位相差が 90 度になったところがロック点になりますから、VCO 制御信号は徐々に上がっていき位相差 90 度に向けて VCO の周波数を変化させます。
図の左端と右端で位相差が変わっていっていることが分かると思います。
次の図では、位相ロックが終了した状態です。右端の方では位相差がほぼ 90 度になっているように見えます。

次の図では、時刻 3 秒のところで周波数が 32 Hz から 32.01 Hz に変わっています。
周波数差は小さいですが、放っておくとだんだん位相差が増えていきます。

この図では、周波数としては VCO の周波数が 32.01Hz にほぼ追従できたようです。

ですが、その 0.01 Hz 上昇させるために位相差を少し残して、制御電圧としていることが分かります。
さらに進んで図です。

ここでは、位相差が元の 90 度差になっています。つまりここでようやく位相ロックも終了しているということになります。
まとめると、違う周波数が入ってくる → 位相差を発生させて周波数を一致させる=周波数ロック → 位相差を元の状態にする=位相ロック、というプロセスを踏んでいるということです。
もう一度全体波形を見てみて下さい。
周波数変更点である、時刻= 3 秒から約 1 秒強で VCO 制御信号は安定していますので周波数ロックはほぼ終了しています。しかし位相誤差信号(赤)はゼロを中心の信号になっていません。時刻= 4 秒以降徐々にゼロに向かっていきます。
なお、周波数が変わった後、位相差をゼロにして置くのは、変わった周波数の後の位相変動に対して対応できるようにするためです。
別トピックでももう少し突っ込んでみたいですが、最初の周波数ロックまでの時間は伝達関数の閉ループ特性でだいたい推定できるのですが、位相ロックまでの時間は閉ループ特性では推定できません。開ループ特性に現れるループフィルタの特性が支配的になるかと思います。
正直、この PLL 自体は応答特性は素直なのですが、実用的ではありません。周波数ロックレンジが狭いです。
一番の原因は中心周波数と応答帯域が近すぎることにあると思います。位相比較器を古典的な乗算器を使っていることも一因だと思います。
一連の経緯をご存知の方は分かると思いますが、元々通信系のシミュレーションをやるつもりではじけたので、周波数を上げるとデータ数が膨大になるため処理が大変になるからです。もっともそこは計算機のいいところで一度組んでしまえば後は実行時間だけの話なので、余裕があるときに整理したいと思います。
まずブロック図を若干変更しました。波形の表示順序を変えています。細かい信号の比較をしやすくしたつもりです。見づらいと思いますのでクリックして拡大して下さい。


全体波形の黄色の枠で囲った部分の拡大図です。

入力信号も出力信号も 32Hz の正弦波で始まりますから、位相差はゼロ。で、この PLL の場合位相比較器は乗算器なので位相差が 90 度になったところがロック点になりますから、VCO 制御信号は徐々に上がっていき位相差 90 度に向けて VCO の周波数を変化させます。
図の左端と右端で位相差が変わっていっていることが分かると思います。
次の図では、位相ロックが終了した状態です。右端の方では位相差がほぼ 90 度になっているように見えます。

次の図では、時刻 3 秒のところで周波数が 32 Hz から 32.01 Hz に変わっています。
周波数差は小さいですが、放っておくとだんだん位相差が増えていきます。

この図では、周波数としては VCO の周波数が 32.01Hz にほぼ追従できたようです。

ですが、その 0.01 Hz 上昇させるために位相差を少し残して、制御電圧としていることが分かります。
さらに進んで図です。

ここでは、位相差が元の 90 度差になっています。つまりここでようやく位相ロックも終了しているということになります。
まとめると、違う周波数が入ってくる → 位相差を発生させて周波数を一致させる=周波数ロック → 位相差を元の状態にする=位相ロック、というプロセスを踏んでいるということです。
もう一度全体波形を見てみて下さい。
周波数変更点である、時刻= 3 秒から約 1 秒強で VCO 制御信号は安定していますので周波数ロックはほぼ終了しています。しかし位相誤差信号(赤)はゼロを中心の信号になっていません。時刻= 4 秒以降徐々にゼロに向かっていきます。
なお、周波数が変わった後、位相差をゼロにして置くのは、変わった周波数の後の位相変動に対して対応できるようにするためです。
別トピックでももう少し突っ込んでみたいですが、最初の周波数ロックまでの時間は伝達関数の閉ループ特性でだいたい推定できるのですが、位相ロックまでの時間は閉ループ特性では推定できません。開ループ特性に現れるループフィルタの特性が支配的になるかと思います。
正直、この PLL 自体は応答特性は素直なのですが、実用的ではありません。周波数ロックレンジが狭いです。
一番の原因は中心周波数と応答帯域が近すぎることにあると思います。位相比較器を古典的な乗算器を使っていることも一因だと思います。
一連の経緯をご存知の方は分かると思いますが、元々通信系のシミュレーションをやるつもりではじけたので、周波数を上げるとデータ数が膨大になるため処理が大変になるからです。もっともそこは計算機のいいところで一度組んでしまえば後は実行時間だけの話なので、余裕があるときに整理したいと思います。