閉じる


<<最初から読む

19 / 76ページ

試し読みできます

位相比較器

 

図2.4

 


試し読みできます

位相比較器

 どのような関数があるか一覧を知りたい場合は知りたい文字列に続けてTabキーを2回押す

と自分で作った関数を含めて全ての関数がリストアップ(補完)されます。

例えばcontrol-1.0.11 の場合

>>sys<TAB><TAB>

とタイプするとリスト2.2に挙げた関数が列挙されます。これらsys***.m関数はOctave特有の

関数でMATLABにはありませんでした。同じ機能で他の関数名で実現できるか演算そのものがで

きるようになっています。互換性が進んだcontrol-2.4.2ではよりMATLABに近くなりこれらの

関数が削除されたと思われます。従って今までにこれらの関数を使って書いていたプログラム、

関数は書き直しが必要となりますので注意が必要です。

 

 

【リスト2.2 ver3.6.4で削除されたsys???.m(system.m以外)】

 

sys2fir sysappend sysdimensions sysgettype sysout syssetsignals sys2ss syschnames

sysdisc sysgroup sysprune syssub sys2tf syschtsam sysdup sysidx sysreorder system

sys2zp sysconnect sysgetsignals sysmin sysrepdemo systematize sysadd syscont

sysgettsam sysmult sysscale sysupdate

 

 


試し読みできます

位相比較器

 XOR型を使う場合に留意しておかなければならないことは、PLLがロックした状態の2つの信

号の位相関係です。図2.2を見れば分かるように位相差-出力電圧の関係は0~πの位相差に対

して0~1の出力信号変化となりますので位相差π/2をセンターに±π/2の範囲で動作すること

になります。すなわちPLLがロックした状態は位相差π/2の状態となりXORの出力はデューテ

ィ50%のパルスとなります。図2-5はこれをシミュレーションした時のグラフでfigure(6)の右

端を拡大しています。PLL_mainプログラムでXORを使う場合には以下の変更をしてください。

まず位相比較器のゲインが変わりますので、PD Designの

Kpd=VCC/(4*pi);

Kpd=VCC/pi;

とします。次にLoop Filter DesignでDCゲインdcgは0dBとし、PLL Transient Simのforル

ープ内の記述

                err=VCC*(Lag-Lead)/2+VCC/2+AWGN*randn(1,1);

                err=VCC*Lag;

とします。ノイズは足さないようにしてます。

 

 

図2.5


試し読みできます

位相比較器

2.2 フリップ・フロップ型位相比較器

 XOR型の欠点である周波数の比較ができないことを補う回路が記憶素子であるフリップフロ

ップを使った位相比較器です。位相周波数比較器(PFC:Phase Frequency Comparator)とも呼ば

れています。図2.6に論理回路を示します。Octaveでモデリングするのはこの回路そのもので

す。

 

 

図2.6

 

 

 出力はLAG(遅れ)、LEAD(進み)、LOCK(同期)の3つですがプログラムではLAG

とLEADのみの出力としています。位相遅れがある場合はLAGが遅れた時間で1となりそれ以外

では0となります。LEADは位相が進んでいる時にその時間だけ1になりそれ以外は0です。従

ってLAG-LEADという信号を作れば位相差に対して-1~+1に出力が変化する位相比較器となりま

す。

 入出力特性は図2.7となり-2π~2πの位相差にに対して出力は-1~1とリニアに変化し、か

つそれ以上の位相差でも電圧の符号が違うため周波数の比較(高い、低い)が出来ます。これを

モデリングした関数をリスト2.4に示します。


試し読みできます

位相比較器

 

図2.7

 

 

 図2.7を出力するプログラムをリスト2.5に示します。このスクリプトの中で

 

%ldt1=[2:20:4*fs/f0];

 

の%を削除すれば図2.7が得られます。削除しなければ任意の位相差波形を確認してその時の

100Hzでのローパスフィルタ出力波形も確認出来ます。図2.8、2.9は位相差が-π、すなわち

πだけ比較信号がレファレンス信号に対して遅れている場合のPD出力波形とローパスフィルタ

ーの出力波形です。平均的に+0.5となっていることが分かります。

 このプログラムはちょっと時間が掛かります。私のマシンで3分くらいです。REF_pdはグロ

ーバルに宣言した記憶素子(遅延素子:DFF)です。Octaveなど数値演算プログラムで論理回路

を実現する上でこの遅延素子を使う方法は重要です。初期値など少し注意するところがあります

がほとんどの論理回路、デジタル回路をシミュレーションすることが出来ます。もともとシミュ

レーションというものがコンピュータによる数値演算であることを考えれば当たり前のことで

はありますが。。。


試し読みできます

位相比較器

 

図2.8

 

 

 

図2.9

 


試し読みできます

ループ・フィルタ

第3章

-ループ・フィルタ-

 ループ・フィルタはPLL回路の性能、特性を決定する重要なブロックです。また他の位相比較

器やVCOなどのように既存のICや部品を使うのと違って、実際に回路定数を設計するため楽し

くも難しいブロックだと思います。この章では一般によく使われるラグ・リード型のフィルタを

実現するプログラムを紹介します。

 

3.1 パッシブ・ラグ・リード・フィルタ

 ラグ・リード・フィルタは図3.1のような2次の回路とします。フィルタ定数R1~C2は設計

するPLLの位相比較器、VCO、分周器から決まるループ特性のゲイン0dB周波数flg、位相戻り

がピークの周波数におけるゲインMと、要求される位相余裕から決まります。ただしR2だけ先

に決めておく必要があります。今回は4.7kΩとしています。このフィルタはパッシブ型でDCゲ

インは0dBです(図3.2)。平滑のみで積分することが出来ませんのでPLLがロックした状態、

すなわち位相比較器の出力がLag=0、Lead=0の状態ではLag-Leadが0Vでループ・フィルタの出

力電圧も0Vとなります。このPLLのVCOの設計は0~5Vでリニアに0~32kHzで発振するように

していますので、このままではうまく動作しません。そこで位相比較器の出力を

 

VCC*(Lag-Lead)/2+VCC/2

 

としてロックした時にVCC/2となるようにしています。この時レファレンス信号と比較

信号(VCO出力信号)の位相は合っています。またこのフィルタの出力にオフセット電圧Vofst

を加えることによって任意の位相差を付けることが可能となります。このPLLの設定ではオフセ

ットが0Vで0°、1.25Vで180°(図3.3)の位相進みとなります。この時のパラメータをリスト

3.1に示します。



読者登録

ペンタさんの更新情報・新作情報をメールで受取りますか?(読者登録について