MAGAZINE ARTICLES
このページをホームページに登録FPGAで作る
任意波形発生器
[2008年07月号]
分解能とダイナミックレンジ
続いて、出力周波数の分解能はどうなるのか考えてみる。すなわち、所望の周波数にどこまで一致させられるのかということだ。
まず、2種類のカウント値ΔN1とΔN2を考える。これらの値によって、2種類の周波数f1とf2が次の2つの式のように決定される。
まず、2種類のカウント値ΔN1とΔN2を考える。これらの値によって、2種類の周波数f1とf2が次の2つの式のように決定される。
ΔN1とΔN2の値の差は最小で1である。この差に対応するf1とf2の差は上の2つの式から次のように計算できる。
これは以下のように変形できる。
これらの式から、周波数の分解能は、入力クロックの周波数と位相アキュムレータのビット長によって決まることがわかる。
それでは、周波数のダイナミックレンジ(周波数が変化する範囲)はどうなるだろうか。これについては、ΔNが取り得る値の範囲、すなわち1から2k-1の範囲がダイナミックレンジを決める。
以上をまとめると、上に挙げた例で言えば、0.596Hzから10MHzまでの範囲の周波数を分解能0.596Hzで生成できるということである。
それでは、周波数のダイナミックレンジ(周波数が変化する範囲)はどうなるだろうか。これについては、ΔNが取り得る値の範囲、すなわち1から2k-1の範囲がダイナミックレンジを決める。
以上をまとめると、上に挙げた例で言えば、0.596Hzから10MHzまでの範囲の周波数を分解能0.596Hzで生成できるということである。
任意波形の生成
ここまでで、任意の周波数(クロック)を得る方法はわかった。続いては、これを利用して、任意の波形を生成する方法について考えてみる。ここでは、心電図(ECG:electrocardiogram)シミュレーションに用いるような任意周波数発生器を例にとる。
図2に示したのが、図1の任意周波数発生器を利用して構成した任意波形発生器である。このシステムでは、生成すべき目標波形の1周期分のデータをメモリーに格納しておく。この状態で、任意周波数発生器からのサンプリングクロックによって循環カウンタ(circular counter)が動作し、その出力によってメモリーアドレスが呼び出される。その結果、メモリーから各クロックごとに新しいデータがD-Aコンバータに送られ、アナログ出力電圧が更新されることで任意波形を得る仕組みである。
図2に示したのが、図1の任意周波数発生器を利用して構成した任意波形発生器である。このシステムでは、生成すべき目標波形の1周期分のデータをメモリーに格納しておく。この状態で、任意周波数発生器からのサンプリングクロックによって循環カウンタ(circular counter)が動作し、その出力によってメモリーアドレスが呼び出される。その結果、メモリーから各クロックごとに新しいデータがD-Aコンバータに送られ、アナログ出力電圧が更新されることで任意波形を得る仕組みである。
Sponsor Links
Partner Solutions
Event
-
品質向上セミナー
『開発上流で品質を確保する手法と事例』
2008年12月11日ー2008年12月11日
UDX GALLERY -
第1回 アナログセミナー
『アナログICを選ぶ、使う』
2008年12月03日ー2008年12月03日
東京コンファレンスセンター・品川












