位相同期ループ(PLL)は、入力信号の位相に対して位相が固定された出力信号を生成する制御システムです。入力と出力の位相を同期させることで、入力周波数と出力周波数の間に一定の関係が保たれます。分周器を組み込むことで、PLLは入力周波数の倍数となる安定した周波数を生成できます。
これらの特性は、クロック同期、復調、周波数合成、クロック乗算器、およびノイズの多い通信チャネルからの信号回復に使用されます。1969年以来、単一の集積回路で完全なPLL構成要素を提供できるようになり、現在では数ヘルツから数ギガヘルツまでの出力周波数を実現しています。そのため、PLLは無線、電気通信、コンピュータ(例えば、マイクロプロセッサで正確なタイミングのクロック信号を分配するため)、グリッドタイインバータ(太陽光発電やバッテリーなどの直流再生可能エネルギー源や蓄電要素を電力網に統合するために使用される電子電力変換器)、およびその他の電子機器に広く使用されています。

シンプルなアナログPLLは、可変周波数発振器と位相検出器がフィードバックループで構成された電子回路です(図1)。発振器は、印加電圧に比例した周波数の周期信号V oを生成するため、電圧制御発振器(VCO)と呼ばれます。位相検出器は、VCOの出力信号の位相を周期的な入力基準信号V iの位相と比較し、発振器の周波数を調整してV oの位相をV iの位相に一致させるための電圧(フィルタで安定化)を出力します。
位相は時間に比例する可能性がある[ a ]ので、位相差は時間差に対応する可能性がある。
放置しておくと、異なる時計はそれぞれわずかに異なる速度で時を刻みます。例えば、機械式時計は、基準となる原子時計( NIST-F2など)と比べて、1時間に数秒進んだり遅れたりすることがあります。この時間の差は、時間が経つにつれて大きくなります。そこで、所有者は、基準時計に位相を合わせて同期させることで、機械式時計を(精度は様々ですが)同期させることができます。非効率的な同期方法としては、所有者が毎週、より精度の高い基準時計の時刻に合わせて時計をリセットするという方法があります。しかし、そのまま放置しておくと、時計は基準時計から1時間に数秒ずつずれていきます。
より効率的な同期方法(図1の単純なPLLに類似)は、一部のクロックに搭載されている高速/低速タイミング調整制御(VCOの周波数調整に類似)を利用します。位相比較器と同様に、所有者はクロックのずれに気づき、タイミング調整をわずかに比例して回すことで、クロックの周波数を少し遅く(クロックが速すぎる場合)、または速く(クロックが遅すぎる場合)することができます。過剰補正を行わなければ、クロックの精度は以前よりも向上します。このような調整を毎週繰り返すことで、クロックの秒の概念は基準クロックと十分に一致するようになり、周波数と位相の両方でロックされた状態になります。
位相同期ループの初期の電気機械式バージョンは、1921年にショート・シンクロノーム時計で使用された。
弱く結合した振り子時計の自発的な同期は、1673年にはすでにオランダの物理学者クリスティアーン・ホイヘンスによって指摘されていた。 [ 1 ] 19世紀初頭頃、レイリー卿は弱く結合したオルガンパイプと音叉の同期を観察した。[ 2 ] 1919年、WH エクルズとJH ヴィンセントは、わずかに異なる周波数で振動するように調整された2つの電子発振器が共振回路に結合されると、すぐに同じ周波数で振動することを発見した。[ 3 ]電子発振器の自動同期は、1923年にエドワード・ビクター・アップルトンによって記述された。[ 4 ]
1923年、ハリー・ナイキストは発振器としてモータージェネレーターを用いたPLLの特許を取得した。[ 5 ]
1925年、ブリストル大学初の電気工学教授であるデイビッド・ロバートソンは、新設されたウィルズ記念館の鐘「グレート・ジョージ」の打鐘を制御するために、時計の設計に位相同期(PLL)を導入した。ロバートソンの時計は、振り子の振動速度を変化させることができる電気機械装置を組み込んでおり、毎朝午前10時(グリニッジ標準時)にグリニッジ天文台から送られてくる電信パルスと振り子の位相を比較する回路から補正信号を生成していた。現代の電子式PLLのあらゆる要素に相当するものを備えていたロバートソンのシステムは、位相検出器が1970年代まで見られなかった位相/周波数検出器用のトランジスタ回路をリレー論理で実装していた点で、当時としては非常に先進的だった。
ロバートソンの研究は、後に位相同期ループと呼ばれるようになるものの研究に先立つもので、1932年にイギリスの研究者たちがエドウィン・アームストロングのスーパーヘテロダイン受信機の代替としてホモダイン受信機または直接変換受信機を開発した。ホモダインまたはシンクロダインシステムでは、局部発振器を目的の入力周波数に同調させ、入力信号と乗算した。結果として得られる出力信号には、元の変調情報が含まれていた。その目的は、スーパーヘテロダイン受信機よりも同調回路が少ない代替受信回路を開発することであった。局部発振器の周波数は急速にドリフトするため、発振器に自動補正信号を適用して、目的の信号と同じ位相と周波数に維持した。この技術は、1932年にアンリ・ド・ベレシズがフランスの雑誌『L'Onde Électrique 』に発表した論文で説明されている。[ 6 ] [ 7 ] [ 8 ]
少なくとも1930年代後半以降のアナログテレビ受信機では、位相同期ループ水平および垂直掃引回路が放送信号の同期パルスに同期している。[ 9 ]

1969年、Signetics社はバイポーラトランジスタを使用したNE565などの低コストのモノリシック集積回路シリーズを発表しました。これはチップ上に完全な位相同期ループシステムを備えており[ 10 ]、この技術の応用が拡大しました。数年後、RCA社はCMOSを使用したCD4046マイクロパワー位相同期ループを発表しました。これも人気の集積回路構成要素となりました。
位相同期ループ機構は、アナログ回路またはデジタル回路のいずれでも実装できる。どちらの実装方法も、基本的な構造は同じである。
アナログPLL回路は、以下の4つの基本要素から構成されます。
PLLにはいくつかのバリエーションがあります。使用される用語には、「アナログ位相同期ループ」(APLL)(線形位相同期ループ(LPLL)とも呼ばれる)、「デジタル位相同期ループ」(DPLL)、「オールデジタル位相同期ループ」(ADPLL)、および「ソフトウェア位相同期ループ」(SPLL)などがあります。[ 11 ]
位相同期ループは、同期目的で広く使用されています。宇宙通信では、コヒーレント復調と閾値拡張、ビット同期、シンボル同期などに使用されています。位相同期ループは、周波数変調信号の復調 にも使用できます。無線送信機では、PLLは基準周波数と同じ安定性を持つ、基準周波数の倍数である新しい周波数を合成するために使用されます。[ 14 ]
その他の用途としては、以下のようなものがあります。
データストリームの中には、特に高速シリアルデータストリーム(ディスクドライブの磁気ヘッドからの生データストリームなど)のように、クロック信号を伴わずに送信されるものがあります。受信側では、おおよその周波数基準からクロック信号を生成し、PLLを使用してデータストリームの信号エッジに位相を合わせます。このプロセスはクロックリカバリと呼ばれます。この方式が機能するためには、データストリームにPLL発振器のドリフトを補正するのに十分な頻度でエッジが存在する必要があります。そのため、エッジ間の最大時間に厳密な上限を持つラインコード(例えば8b/10bエンコーディング)が、データのエンコードに一般的に使用されます。
クロックがデータと並列に送信される場合、そのクロックを使用してデータをサンプリングできます。クロックは、データをサンプリングするフリップフロップを駆動する前に受信および増幅される必要があるため、検出されたクロックエッジと受信データウィンドウの間には、有限で、プロセス、温度、および電圧に依存する遅延が発生します。この遅延により、データを送信できる周波数が制限されます。この遅延を解消する1つの方法は、受信側にデスクウPLLを含めることで、各データフリップフロップのクロックが受信クロックと位相整合するようにすることです。この種のアプリケーションでは、遅延ロックループ(DLL)と呼ばれる特殊なPLLがよく使用されます。[ 15 ]
多くの電子システムには、水晶発振器の実用的な周波数をはるかに超える、数百メガヘルツからギガヘルツの周波数で動作する様々な種類のプロセッサが搭載されています。通常、これらのプロセッサに供給されるクロックは、クロックジェネレータPLLによって生成されます。PLLは、低周波数の基準クロック(通常50MHzまたは100MHz )をプロセッサの動作周波数まで逓倍します。動作周波数が数ギガヘルツで、基準水晶発振器の周波数がわずか数十メガヘルツまたは数百メガヘルツの場合、逓倍係数は非常に大きくなる可能性があります。
すべての電子システムは、不要な無線周波数エネルギーを放出します。米国ではFCCなどの各種規制機関が、放出されるエネルギーとそれによって引き起こされる干渉に制限を設けています。放出されるノイズは一般的に、鋭いスペクトルピーク(通常はデバイスの動作周波数とそのいくつかの高調波)に現れます。システム設計者は、スペクトラム拡散PLLを使用して、エネルギーをより広いスペクトル領域に分散させることで、高Q受信機との干渉を低減できます。例えば、数百メガヘルツで動作するデバイスの動作周波数をわずかに(約1%)上下させることで、干渉を数メガヘルツのスペクトルに均等に分散させることができ、帯域幅が数十キロヘルツのFMラジオ放送チャンネルで発生するノイズを大幅に低減できます。

通常、基準クロックはチップに入力され、PLLを駆動し、PLLはシステムのクロック分配を駆動します。クロック分配は通常、すべてのエンドポイントにクロックが同時に到達するようにバランスが取られています。これらのエンドポイントの1つがPLLのフィードバック入力です。PLLの機能は、分配クロックを入力基準クロックと比較し、基準クロックとフィードバッククロックの位相と周波数が一致するまで、出力の位相と周波数を変化させることです。
PLLは至るところで使われており、数フィートにも及ぶシステム全体のクロック調整から、個々のチップの小さな部分のクロック調整まで幅広く利用されています。基準クロックは、必ずしも純粋なクロックではなく、PLLがそこから規則的なクロックを復元できるだけの遷移数を持つデータストリームである場合もあります。基準クロックの周波数が、クロック分配回路を通して駆動されるクロックの周波数と同じ場合もあれば、分配クロックの周波数が基準クロックの有理数倍である場合もあります。
PLLは、振幅変調(AM)信号を同期復調するために使用できます。PLLは、入力AM信号の搬送波の位相と周波数を復元します。VCOで復元された位相は搬送波の位相と90°異なるため、位相を合わせて一致させ、乗算器に入力します。乗算器の出力には和周波数信号と差周波数信号の両方が含まれており、復調出力はローパスフィルタリングによって得られます。PLLはVCO出力に非常に近い搬送波周波数にのみ応答するため、PLL AM検出器は、従来のピーク型AM復調器では不可能な高い選択性とノイズ耐性を示します。ただし、AM信号の変調深度が100%の場合、ループはロックを失う可能性があります。[ 16 ]
PLLに共通する望ましい特性の一つは、基準クロックとフィードバッククロックのエッジが非常に近い位置に同期することです。PLLがロック状態に達したときの2つの信号の位相間の平均時間差は、静的位相オフセット(定常状態位相誤差とも呼ばれる)と呼ばれます。これらの位相間のばらつきは、トラッキングジッタと呼ばれます。理想的には、静的位相オフセットはゼロであり、トラッキングジッタはできるだけ低いことが望ましいです。
位相ノイズは、PLLで観測されるもう1つのタイプのジッタであり、発振器自体と発振器の周波数制御回路で使用される要素によって引き起こされます。この点に関して、一部の技術は他の技術よりも優れた性能を発揮することが知られています。最高のデジタルPLLは、高消費電力という代償を伴うものの、エミッタ結合ロジック(ECL )要素で構成されています。PLL回路の位相ノイズを低く抑えるには、トランジスタ・トランジスタ・ロジック( TTL)やCMOSなどの飽和ロジックファミリを避けるのが最善です。[ 17 ]
PLLに共通するもう一つの望ましい特性は、生成されるクロックの位相と周波数が、電源線や接地線の電圧の急激な変化、およびPLL回路が作製される基板の電圧の影響を受けないことです。これは基板および電源ノイズ除去と呼ばれます。ノイズ除去性能が高いほど、性能は優れています。
出力の位相ノイズをさらに改善するために、PLL内のVCOの後に注入同期発振器を用いることができる。
デジタル無線通信システム(GSM、CDMAなど)では、PLL(位相同期ループ)は、送信時の局部発振器のアップコンバージョンと受信時のダウンコンバージョンを行うために使用されます。ほとんどの携帯電話端末では、コストとサイズを削減するために、この機能は単一の集積回路にほぼ統合されています。しかし、基地局端末には高い性能が求められるため、必要な性能レベルを達成するために、送信回路と受信回路は個別の部品で構成されています。GSM局部発振器モジュールは通常、周波数シンセサイザ集積回路と個別の共振器VCOで構成されています。
電圧源インバータに基づく系統連系インバータは、 PLLを用いて測定される系統電圧の位相角に対する、生成電圧の位相角に応じて、交流電力系統に実効電力を供給または吸収します。太陽光発電用途では、生成される正弦波が系統電圧波より位相が進んでいるほど、系統に注入される電力が多くなります。バッテリー用途では、生成される正弦波が系統電圧波より位相が遅れているほど、バッテリーは系統からより多く充電され、生成される正弦波が系統電圧波より位相が進んでいるほど、バッテリーは系統へより多く放電されます。

図に示すブロック図は、出力F Oを生成するために使用される入力信号F Iを示しています。入力信号は、参照信号(F REFとも略される)と呼ばれることがよくあります。[ 18 ]
入力側では、位相検出器(図中の位相周波数検出器ブロックとチャージポンプブロックとして示されている)が2つの入力信号を比較し、それらの位相差に比例する誤差信号を生成します。この誤差信号はローパスフィルタでフィルタリングされ、VCOを駆動して出力位相を生成します。出力はオプションの分周器を通してシステムの入力に戻され、負帰還ループを形成します。出力位相がドリフトすると、誤差信号が増加し、誤差を低減するためにVCOの位相が逆方向に駆動されます。このようにして、出力位相は入力位相にロックされます。
アナログ位相同期ループは、一般的にアナログ位相検出器、ローパスフィルタ、およびVCOを負帰還構成で配置して構築されます。デジタル位相同期ループはデジタル位相検出器を使用します。また、PLLの出力信号周波数を基準周波数の有理数倍にするために、フィードバック経路または基準経路、あるいはその両方に分周器を設ける場合もあります。フィードバック経路の単純なN分周カウンタをプログラマブルパルススワローイングカウンタに置き換えることで、基準周波数の非整数倍を生成することもできます。この手法は通常、分数Nシンセサイザまたは分数N PLLと呼ばれます。
発振器は周期的な出力信号を生成します。初期状態では、発振器の周波数は基準信号とほぼ同じであると仮定します。発振器の位相が基準信号の位相より遅れると、位相検出器は発振器の制御電圧を変更して発振速度を上げます。同様に、位相が基準信号より進むと、位相検出器は制御電圧を変更して発振器の速度を下げます。初期状態では発振器の周波数が基準周波数から大きく離れている可能性があるため、実際の位相検出器は周波数差にも反応し、ロックイン可能な入力範囲を広げることができます。アプリケーションに応じて、制御対象の発振器の出力、または発振器への制御信号のいずれかが、PLLシステムの有用な出力となります。
位相検出器(PD)は、2つの信号間の位相差を表す電圧を生成します。PLLでは、位相検出器の2つの入力は、基準入力とVCOからのフィードバックです。PDの出力電圧は、2つの入力間の位相差が一定に保たれるようにVCOを制御するために使用され、負帰還システムとなります。 [ 19 ]
位相検出器の種類によって、性能特性は異なります。
例えば、周波数ミキサーは高調波を生成するため、VCO信号のスペクトル純度が重要なアプリケーションでは複雑さが増します。結果として生じる不要な(スプリアス)サイドバンド、いわゆる「基準スプリアス」は、フィルタの要件を支配し、捕捉範囲を要件を大幅に下回ったり、ロック時間を要件以上に長くしたりする可能性があります。このようなアプリケーションでは、出力に基準スプリアス成分がそれほど大きくない、より複雑なデジタル位相検出器が使用されます。また、このタイプの位相検出器を使用した場合、ロック状態では入力における定常状態の位相差は90度近くになります。
PLLアプリケーションでは、ループがロック状態から外れたタイミングを知ることが頻繁に求められます。より高度なデジタル位相周波数検出器は通常、ロック状態から外れた状態を確実に示す出力を備えています。
XORゲートは、デジタルPLLにおいて効果的かつシンプルな位相検出器としてよく用いられる。回路をわずかに変更するだけで、アナログ回路としても使用可能である。
一般的にPLLループフィルタ(通常はローパスフィルタ)と呼ばれるブロックは、通常2つの異なる機能を持っています。
主な機能は、ループのダイナミクス、つまり安定性を決定することです。これは、基準周波数の変化、フィードバック分周器の変化、起動時などの外乱に対してループがどのように応答するかを示します。一般的な考慮事項としては、ループがロック状態を達成できる範囲(プルイン範囲、ロック範囲、またはキャプチャ範囲)、ループがロック状態を達成する速度(ロック時間、ロックアップ時間、または整定時間)、および減衰特性があります。アプリケーションによっては、単純な比例(ゲインまたは減衰)、積分(ローパスフィルタ)、または微分(ハイパスフィルタ)の1つ以上が必要になる場合があります。このために一般的に調べられるループパラメータは、ループのゲイン余裕と位相余裕です。この機能を設計するために、 PIDコントローラを含む制御理論の一般的な概念が使用されます。
2つ目の一般的な考慮事項は、位相検出器の出力に現れる基準周波数エネルギー(リップル)の量を制限することです。このリップルはVCOの制御入力に印加されます。この周波数はVCOを変調し、一般に「基準スプリアス」と呼ばれるFMサイドバンドを生成します。
このブロックの設計は、これらの考慮事項のいずれかによって支配される場合もあれば、両者の相互作用を調整する複雑なプロセスとなる場合もある。帯域幅を広げる際の典型的なトレードオフは、安定性の低下である。逆に、安定性を向上させるための追加の減衰のトレードオフは、速度の低下と整定時間の増加である。多くの場合、位相ノイズも影響を受ける。[ 14 ]
すべての位相同期ループは、可変周波数機能を備えた発振器素子を使用します。これは、APLL の場合はアナログ回路で駆動されるアナログ VCO であり、一部の DPLL 設計の場合はデジタル - アナログ コンバータを使用してデジタルで駆動されます。 [ 20 ]リング発振器は、低面積アプリケーション用のCMOS テクノロジーで一般的に使用されますが、クロスカップル LC 発振器は、低位相ノイズアプリケーションで好まれます。[ 21 ] 数値制御発振器などの純粋なデジタル発振器は、ADPLL で使用されます。

PLLには、発振器と位相検出器へのフィードバック入力の間に分周器を設けて周波数シンセサイザを生成するものが含まれる。プログラマブル分周器は、無線送信機やコンピュータのクロック回路において特に有用である。なぜなら、単一の安定かつ高精度な水晶発振器(商業規模の水熱合成法によって安価な合成水晶が供給されるようになる以前は高価であった)から、多数の周波数を生成できるからである。
一部のPLLには、基準クロックと位相検出器への基準入力の間に分周器も含まれています。フィードバックパス内の分周器が参照入力除算器はこれにより、PLLは基準周波数を乗算することができます。PLLに低い周波数を入力する方が簡単そうに見えるかもしれませんが、場合によっては基準周波数が他の問題によって制約されることがあり、その場合は基準分周器が役立ちます。
周波数逓倍は、VCO 出力を基準信号のN次高調波にロックすることによっても実現できます。単純な位相検出器の代わりに、この設計では高調波ミキサー(サンプリングミキサー)を使用します。高調波ミキサーは、基準信号を高調波が豊富なインパルス列に変換します。 [ b ] VCO 出力は、これらの高調波のいずれかに近くなるように粗調整されます。その結果、目的の高調波ミキサー出力( N 次高調波と VCO 出力の差を表す)は、ループフィルタの通過帯域内に収まります。
フィードバックは分周器に限らない点にも留意すべきである。この要素は、周波数逓倍器やミキサーなど、他の要素であってもよい。逓倍器は、VCO出力を基準周波数の倍数ではなく、分数にする。ミキサーは、VCO周波数を一定のオフセットで変換することができる。また、これらの組み合わせであってもよい。例えば、ミキサーの後に分周器を配置することで、ループゲインを損なうことなく、分周器をVCOよりもはるかに低い周波数で動作させることができる。
位相検出器としてアナログ乗算器、線形フィルタを備えた位相同期ループを支配する方程式は、次のように導出できます。位相検出器への入力を次のようにします。VCOの出力は段階的にそして機能そして信号の波形を記述します。次に、位相検出器の出力は
VCO周波数は通常、VCO入力の関数として扱われる。 として
どこはVCOの 感度であり、Hz / Vで表されます。これはVCOの自由発振周波数です。
ループフィルタは、線形微分方程式系によって記述できる。
どこはフィルターの入力であり、 これはフィルターの出力です。は -による-マトリックス、 。はフィルタの初期状態を表します。星印は共役転置です。
したがって、以下のシステムはPLLを説明する。
どここれは初期位相シフトである。
PLLの入力について考えてみましょうおよびVCO出力 は高周波信号です。すると、任意の区分的に微分可能な周期関数 そして関数があります出力がフィルターの
位相領域では漸近的に等しい(差(周波数に対して小さい)時間領域モデルにおけるフィルタの出力。 [ 22 ] [ 23 ] ここで関数これは位相検出器の特性です。
で表す位相差
次に、以下の動的システムがPLLの動作を記述する。
ここ;は基準発振器の周波数です((定数)
正弦波信号について考えてみましょう
そして、フィルタとして単純な1極RC回路を用いる。時間領域モデルは次の形式をとる。
これらの信号のPD特性は[ 24 ]に等しい。
したがって、位相領域モデルは次の形式をとる。
この方程式系は、数学的振り子の方程式と同等である。
位相同期ループは、ラプラス変換を適用することで制御システムとして解析することもできます。ループ応答は次のように記述できます。
どこ
ループ特性は、さまざまな種類のループフィルタを挿入することで制御できます。最も単純なフィルタは、1極RC回路です。この場合のループ伝達関数は次のようになります。
ループ応答は次のようになります。
これは古典的な調和振動子の形式です。分母は2次系の分母と関連付けることができます。
どこは減衰係数であり、これはループの固有振動数です。
1極RCフィルタの場合、
ループの固有振動数はループの応答時間の尺度であり、減衰係数はオーバーシュートとリンギングの尺度です。理想的には、固有振動数は高く、減衰係数は0.707(臨界減衰)に近い値であるべきです。単極フィルタでは、ループ周波数と減衰係数を独立して制御することはできません。臨界減衰の場合、
わずかに効果的なフィルタであるラグリードフィルタは、1つの極と1つの零点を持つ。これは2つの抵抗と1つのコンデンサで実現できる。このフィルタの伝達関数は次のようになる。
このフィルターには2つの時定数があります
上記を代入すると、次の固有振動数と減衰係数が得られる。
ループフィルタの構成要素は、与えられた固有振動数と減衰係数に対して個別に計算できる。
実際のループフィルタ設計は、例えば、高次フィルタを用いて様々な種類や発生源の位相ノイズを低減するなど、はるかに複雑になる場合がある。(下記のD・バネルジーの参考文献を参照)
デジタル位相同期ループは、CMOS 4046などの集積回路を使用してハードウェアで実装できます。しかし、マイクロコントローラの高速化に伴い、モータ速度の精密制御など、MHz帯域以上の信号に同期する必要のないアプリケーションでは、位相同期ループをソフトウェアで実装する方が理にかなっている場合があります。ソフトウェア実装には、追跡対象信号と出力発振器間の乗算比や除算比を変更するなど、フィードバックループを簡単にカスタマイズできるなど、いくつかの利点があります。さらに、ソフトウェア実装は理解しやすく、実験にも役立ちます。以下に、位相周波数検出器を使用して実装された位相同期ループの例をMATLABで示します。このタイプの位相検出器は堅牢で実装が容易です。
% この例はMATLABで記述されています% 変数を初期化しますvcofreq = zeros ( 1 , numiterations ); ervec = zeros ( 1 , numiterations ); % 参照信号、信号、および誤差信号の最後の状態を追跡しますqsig = 0 ; qref = 0 ; lref = 0 ; lsig = 0 ; lersig = 0 ; phs = 0 ; freq = 0 ;% ループフィルタ定数 (比例および微分) % 現在はシフトによる乗算を容易にするために 2 のべき乗prop = 1 / 128 ; deriv = 64 ;for it = 1 : numiterations % 16 ビットカウンタを使用してローカルオシレータをシミュレートしますphs = mod ( phs + floor ( freq / 2 ^ 16 ), 2 ^ 16 ); ref = phs < 32768 ; % 追跡する信号の次のデジタル値 (0 または 1) を取得しますsig = tracksig ( it ); % 位相周波数検出器を実装しますrst = ~ ( qsig & qref ); %信号と基準の両方がハイのときに位相周波数検出器の「フリップフロップ」をリセットしますqsig = ( qsig | ( sig & ~ lsig )) & rst ; % 信号のフリップフロップと信号の立ち上がりエッジをトリガーしますqref = ( qref | ( ref & ~ lref )) & rst ; % 基準の立ち上がりエッジで基準フリップフロップをトリガーしますlref = ref ; lsig = sig ; % 次の反復のためにこれらの値を保存します (エッジ検出用) ersig = qref - qsig ; % エラー信号 (周波数が増加するか減少するか) を計算します% エラー信号は、いずれかのフリップフロップ信号によって与えられます% 周波数への比例および微分入力によって極零フィルタを実装しますfiltered_ersig = ersig + ( ersig - lersig ) * deriv ; % 比例出力のためにエラー信号を保持しますlersig = ersig ; % エラー信号を使用して VCO 周波数を積分しますfreq = freq - 2 ^ 16 * filtered_ersig * prop ; % 周波数は固定小数点バイナリ小数として追跡されます% 現在の VCO 周波数を保存しますvcofreq ( 1 , it ) = freq / 2 ^ 16 ;% 信号と参照信号のどちらが高周波かを示すために誤差信号を保存しますervec ( 1 , it ) = ersig ; endこの例では、アレイにはtracksig追跡対象の基準信号が含まれていると想定しています。発振器はカウンタによって実装され、カウンタの最上位ビットが発振器のオン/オフ状態を示します。このコードは、位相周波数比較器を構成する 2 つの D 型フリップフロップをシミュレートします。基準信号または信号のいずれかに正のエッジがあると、対応するフリップフロップがハイに切り替わります。基準信号と信号の両方がハイになると、両方のフリップフロップがリセットされます。どちらのフリップフロップがハイであるかによって、その瞬間に基準信号と信号のどちらが先行しているかが決まります。誤差信号は、これら 2 つのフリップフロップ値の差です。極零フィルタは、誤差信号とその微分をフィルタ処理された誤差信号に加えることによって実装されます。これを積分して発振器の周波数を求めます。
実際には、この位相同期ループのフィードバックに他の演算を挿入することが一般的でしょう。例えば、位相同期ループが周波数逓倍器を実装する場合、発振器信号を基準信号と比較する前に周波数分周することができます。
{{cite journal}}: CS1 maint: 複数の名前: 著者リスト (リンク){{cite book}}: CS1 maint: 複数の名前: 著者リスト (リンク)