数値制御発振器のソースを表示
←
数値制御発振器
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
<span>'''数値制御発振器 '''(すうちせいぎょはっしんき、Numerically controlled oscillator、</span>'''NCO''') は波形(通常は[[正弦波]])の[[クロック同期設計|同期]](すなわちクロックされた)離散時間離散値表現を生成する[[デジタルシグナルプロセッサ]](DSP)<ref name="IEEE">{{cite book|last=Radatz|first=J.|title=The IEEE Standard Dictionary of Electrical and Electronics Terms|year=1997|publisher=IEEE Standards Office|isbn=|location=New York, NY}}</ref>。[[ダイレクト・デジタル・シンセサイザ]](DDS)を作る際に出力で[[デジタル-アナログ変換回路]](DAC)と組み合わせて使われることが多い{{#tag:ref|While some authors use the terms DDS and NCO interchangeably,<ref name="latticeSC" /> by convention an NCO refers to the digital (i.e. the discrete-time, discrete amplitude) portion of a DDS<ref name="IEEE"/>}}。 他のタイプの発振器に比べ、機敏性、精度、安定性、信頼性の点で利点を持つ<ref name="latticeSC">{{cite web|url=http://www.latticesemi.com/Products/DesignSoftwareAndIP/IntellectualProperty/IPCore/IPCores02/NumericallyControlledOscillator.aspx|title=Numerically Controlled Oscillator|year=2009|publisher=Lattice Semiconductor Corporation|accessdate=2018年6月}}</ref>。3G無線およびソフトウェアラジオシステムで使用されるデジタルアップダウン変換器、デジタルPLL、レーダーシステム、光・音響伝送ドライバ、マルチレベル[[デジタル変調|FSK]]/[[位相偏移変調|PSK]]変調器/復調器など多くの通信システムに使われている。 == 動作 == NCOは一般的に2つの部分からなる。 * 位相アキュムレータ(PA)。各クロックサンプルで周波数制御値を出力で保持している値に加算する。 * 位相振幅変換器(PAC)。フェーズアキュムレータの出力語(位相語)を通常、波形[[ルックアップテーブル]]として使い、対応する振幅サンプルを提供する。ルックアップテーブルとともに[[線形補間|補間]]を用い、精度を向上させ位相誤差ノイズを低減することがある。他の方法には[[べき級数]]のような数学的アルゴリズムを含む位相振幅変換もあり、特にソフトウェアの数値制御発振器で使うことができる。 クロックが入ると位相アキュムレータ(PA)は[[剰余演算|モジュロ]]-2<sup>N</sup> [[のこぎり波]]を生成し、次にこれが位相振幅変換器によりサンプリングされた正弦波に変換される。ここでのNは位相アキュムレータで運ばれるビット数である。NはNCO周波数分解能を設定し、 普通はPAC[[ルックアップテーブル]]のメモリ空間を規定するビット数よりもずっと大きい。PACの容量が 2<sup>M</sup>の場合、図1に示すようにPAの出力語をMビットにつめる必要がある。ただし切り捨てられたビットは補間に使うことができる。位相出力語の切り捨ては周波数精度に影響はなく、スプリアス産出の主な原因である時変周期的位相誤差を生成する。他のスプリアス生成機構はPAC出力(振幅)語の有限語長効果がある<ref name="kroupa">{{cite book|last=Kroupa|first=V. F.|title=Direct Digital Frequency Synthesizers|year=1999|publisher=IEEE Press|isbn=0-7803-3438-8}}</ref>。 クロック周波数に対する周波数精度は位相を計算するために使われる算術の精度によってのみ制限される<ref name="kroupa" />。NCOは位相および周波数に対し機敏であり、適切なノードを合計することで[[位相変調]]または[[周波数変調]]出力を生成するように、もしくは図に示すように直交出力を出すように簡単に修正することができる。 == 位相アキュムレータ == 2進法位相アキュムレータは図1に示すようにNビット2進[[加算器]]とレジスタにより構成されている。各クロックサイクルは所与の出力周波数に対して一定である周波数制御語(FCW)で合計されたレジスタから得られた前の出力から成る新たなNビットを出力する。結果として得られる出力波形はFCWの整数値であるステップ幅<math>\Delta F</math>の階段波形である。いくつかの構成では位相出力はレジスタの出力からとられるが、このレジスタは1クロックサイクルの[[レイテンシ]]を導入するが加算器をより高いクロックレートで動作させることができる。 加算器はそのオペランドの[[絶対値]]の合計がその容量(2<sup>N</sup>−1)を超えるとオーバーフローするように設計されている。オーバーフローのビットは破棄され、出力語幅は常に入力語幅に常に等しくなる。残差と呼ばれる剰余 <math>\phi _n</math>はレジスタに格納され、サイクルが <math>\phi _n</math> から始まる時間から繰り返される(図2参照)。位相アキュムレータは[[有限オートマトン|有限状態マシン]]であるため、最終的にいくつかのサンプルの残差Kは初期値<math>\phi _0</math>に戻らなくてはならない。区間Kはグランド繰り返し数(GRR)と呼ばれ以下の式で与えられる。 : <math>\mbox{GRR}=\frac{2^N}{\mbox{GCD}(\Delta F,2^N)}</math> GCDは[[最大公約数|最小公約数]]を求める関数である。GRRは与えられた<math>\Delta F</math> の真の周期性を表し、高分解能によりNCOが非常に長くなる可能性がある。通常、われわれは平均オーバーフロー数により決まる動作周波数に興味があり、それは<ref name="ADI">{{citation|title=All About Direct Digital Synthesis|last1=Murphy|last2=Slattery|first1=Eva|first2=Colm|date=August 2004|url=http://www.analog.com/library/analogdialogue/archives/38-08/dds.html|journal=Analog Dialogue|volume=38|publisher=Analog Devices}}</ref> : <math>F_{out} = \frac{\Delta F}{2^N}F_{clock} </math> (1) と表される。可能な限り小さい増分変化として定義される周波数分解能は : <math>F_{res} = \frac{F_{clock}}{2^N}</math> (2) で与えられる。式 (1) は位相アキュムレータが分割比 <math>\Delta F/2^N</math>のプログラム可能な非整数周波数分割器とみなせることを示している。 == 位相振幅変換機 == 位相振幅変換機はPAから受け取った打ち切り位相出力語からサンプル領域波形を生成する。PACは典型的には正弦波となる所望の出力波形の2<sup>M</sup> 個の連続サンプルを含む単純な[[読み出し専用メモリ]]である場合がある。しかし、しばしば必要なメモリの量を減らすために様々な手法が採用されている。これには様々な三角関数展開<ref>{{Cite patent|inventor-last=Miller|country-code=US|inventor-first=B. M.|title=Numerically controlled oscillator and method of operation|patent-number=7437391|issue-date=October 14, 2008}}</ref>、三角法近似<ref name="Grzeg">{{cite web|url=http://mechatronika.polsl.pl/owd/pdf2009/030.pdf|title=Low-Spur Numerically Controlled Oscillator Using Taylor Series Approximation|date=October 2009|work=XI International PhD Workshop OWD 2009|publisher=Silesian University of Technology|first1=G.|last1=Popek|first2=M.|last2=Kampik|location=Gliwice, Poland|accessdate=2018年6月}}</ref>、正弦波により示される直交対象性を利用する方法などがある<ref>{{Cite patent|inventor1-last=McCallister|country-code=US|inventor2-last=Shearer|inventor1-first=R. D.|inventor2-first=D.|title=Numerically controlled oscillator using quadrant replication and function decomposition|patent-number=4486846|publication-date=12/04/1984}}</ref>。また、PACは[[任意波形発生器]] を作るために必要に応じて満たすことができる[[Random Access Memory|ランダムアクセスメモリ]]から構成することができる。 == スプリアス産出 == [[スプリアス]]産出は、信号処理チェーンでの非線形数値効果による出力波形生成における高調波[[歪み (電子機器)|歪み]]または非高調波歪みの結果である。ここでは数値エラーのみを扱う。[[デジタル-アナログ変換回路|デジタルアナログ変換器]]で生成される他の歪みメカニズムについては[[ダイレクト・デジタル・シンセサイザ]]の記事の該当節を参照せよ。 === 位相切り捨てスプリアス === NCO (N)の位相アキュムレータビットの数は通常16と64の間である。もしPA出力語がPACルックアップテーブルを直接索引付けするのに使われた場合、ROMの記憶容量は必然的に高くなる。このようにPA出力語は合理的なメモリ空間にまたがるように切り捨てられなければならない。位相語の切り捨てにより出力正弦波の[[位相変調]]が起こり、切り捨てられたビット数に比例する非調波[[歪み (電子機器)|歪み]]が入る。この歪みにより生成されるスプリアス産出数は : <math>n_W=\frac{2^W}{\mbox{GCD}(\Delta F,2^W)}-1</math> (3) で表される。ここでWは切り捨てられたビット数 スプリアスフリーのダイナミックレンジを計算する際には、われわれはキャリア出力レベルに対して最大の振幅を有するスプリアス産出に興味があり、これは : <math>\zeta _{max}=2^{-M} \frac{\pi \mbox{GCD}(\Delta F,2^W)}{\sin \left( \pi \cdot 2^{-P}\mbox{GCD}(\Delta F,2^W) \right)}</math> と表される。PはDACのワード幅。W >4では : <math>\zeta _{max} \approx -6.02 \cdot P\;\mbox{dBc}.</math> 他の関連した擬似生成方法には上で概説したGRRによる僅かな変調がある。これらのスプリアスの振幅は大きいNに対しては低く、それらの周波数は一般的には検出するには低すぎるが、いくつかのアプリケーションでは問題を起こすこともある。 === 振幅切り捨てスプリアス === スプリアス産出の他の原因はPACルックアップテーブルに含まれるサンプリングされた波形の振幅量子化である。DACビット数がPのとき、AMスプリアスレベルはだいたい-6.02 P − 1.76 dBcと等しくなる<ref name="intersil">{{Cite web|url=http://www.intersil.com/content/dam/Intersil/documents/tb31/tb318.pdf|title=The NCO as a Stable, Accurate Synthesizer|year=1998|publisher=Intersil Corporation|accessdate=2018年6月}}</ref>。 === 軽減技術 === 位相切り捨てスプリアスは切り捨て前に[[ホワイトノイズ|白色ガウス雑音]]を導入することで実質的に軽減することができる。いわゆる[[ディザ]]ノイズはPA出力語の下位 W+1 ビットに合計され、切り捨て操作を線形化する。DACノイズフロアがシステム性能を支配する傾向があるため、しばしば不利益なしに改善を達成することができる。この方法で振幅切り捨てスプリアスを軽減することはできない。PAC ROMに保持されている静値にノイズを入れても切り捨て誤差項の周期性は取り除くことができず、よって望む効果を達成することができない。 == 関連項目 == * [[ダイレクト・デジタル・シンセサイザ]] (DDS) * [[デジタル制御発振器]] (DCO) * [[デジタル-アナログ変換回路]] (DAC) == 脚注 == {{reflist}} {{デフォルトソート:すうちせいきよはつしんき}} [[Category:デジタルエレクトロニクス]] [[Category:デジタル信号処理]] [[Category:シンセサイザー]] [[Category:発振回路]]
このページで使用されているテンプレート:
テンプレート:Citation
(
ソースを閲覧
)
テンプレート:Cite book
(
ソースを閲覧
)
テンプレート:Cite patent
(
ソースを閲覧
)
テンプレート:Cite web
(
ソースを閲覧
)
テンプレート:Reflist
(
ソースを閲覧
)
数値制御発振器
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
特別ページ
ツール
リンク元
関連ページの更新状況
ページ情報