(57)【特許請求の範囲】
【請求項１】
外部からの第１周波数データを入力とする第１加算部と、
外部からの第２周波数データを入力とする第２加算部と、
外部から入力される基準クロックに基づいて前記第１加算部及び第２加算部からの出力値を夫々ラッチし、第１位相データ及び第２位相データを出力するとともに、当該第１位相データ及び第２位相データを前記第１加算部及び第２加算部の夫々に出力するラッチ回路と、
前記第１加算部及び第２加算部からの出力値に対応する三角関数をテーブル化して格納する波形メモリと、
前記第１加算部及び第２加算部からの出力値に対応する三角関数を前記波形メモリから読み出して所定の波形演算式に基づいた演算を行う波形演算部と、
前記波形演算部による演算結果をアナログ波形信号に変換するＤ／Ａ変換器と、
を備え、
前記第１加算部は、
前記第１周波数データと前記第１位相データとを加算する第１加算器と、
一周期分の波形信号をなす最大位相積算値の第１の成分値でオーバーフローする加算器であって、前記第１加算器の出力と前記第２加算部から出力されたキャリー信号とを加算し、前記ラッチ回路に出力する第２加算器と、を有し、
前記第２加算部は、
前記第２周波数データと前記第２位相データとを加算する第３加算器と、
前記最大位相積算値の第２の成分値でオーバーフローする加算器であって、前記第３加算器からの出力に基づいて所定の周期毎にキャリー信号を出力する第４加算器と、を有することを特徴とするＤＤＳ信号発生装置。
【請求項２】
前記波形演算式は、
ｓｉｎ（Ｘ＋Ｙ）＝ｓｉｎＸ＊ｃｏｓＹ＋ｃｏｓＸ＊ｓｉｎＹ
であることを特徴とする請求項１に記載のＤＤＳ信号発生装置。
【請求項３】
前記波形メモリは、第１位相データＸをアドレスとしてｓｉｎＸとｃｏｓＸを格納する第１の記憶領域と、第２位相データＹをアドレスとしてｓｉｎＹとｃｏｓＹを格納する第２の記憶領域とを有することを特徴とする請求項２に記載のＤＤＳ信号発生装置。
【請求項４】
前記波形演算部は、
前記波形メモリの第１の記憶領域から読み出されるｓｉｎＸと第２の記憶領域から読み出されるｃｏｓＹとを乗算する第１乗算器と、
前記波形メモリの第１の記憶領域から読み出されるｃｏｓＸと第２の記憶領域から読み出されるｓｉｎＹを乗算する第２乗算器と、
これら第１乗算器の出力と第２乗算器の出力を加算してＤ／Ａ変換器に出力する第５加算器と、
を有することを特徴とする請求項２に記載のＤＤＳ信号発生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＤＳ（ダイレクト・ディジタル・シンセサイザー；ディジタル直接合成発信器）方式を用いたＤＤＳ信号発生装置に関する。
【背景技術】
【０００２】
ＤＤＳ信号発生装置は、メモリに格納された波形データのアドレスを指定して逐次読み出し、この読み出された波形データをＤ／Ａ変換器でアナログ波形に変換するように構成されたものである。このＤＤＳ信号発生装置は、任意の波形を高精度で発生させることができるので、各種信号発生装置として広く用いられている。
【０００３】
図３は、従来のＤＤＳ信号発生装置の一例を示すブロック図である。図３において位相演算器１０は加算部１１とレジスタ１３とで構成されている。加算部１１の一方の入力端子には位相増加分を表す周波数データが入力され、他方の入力端子にはレジスタ１３の出力位相データが入力される。レジスタ１３には基準クロック発生器６０からクロックが入力される。レジスタ１３の出力位相データは、波形メモリ２０にアドレスデータとして入力される。
【０００４】
波形メモリ２０には、波形データが、位相データをアドレスにして例えば正弦波の振幅に変換する形態で予め計算されて格納されている。レジスタ１３から入力されるアドレスデータに基づいて波形メモリ２０から読み出される波形データは、Ｄ／Ａ変換器４０に入力されてアナログ波形信号として変換出力される。なお、Ｄ／Ａ変換器４０にも基準クロック発生器６０からクロックが入力される。Ｄ／Ａ変換器４０から変換出力されるアナログの波形信号は、その波形信号の折り返し成分である不要部分を遮断するローパスフィルタ５０を介して図示しない外部装置に出力される。
【０００５】
ここで、波形メモリ２０に波形データを格納するのにあたり、全ての位相に対応する振幅データを格納しようとすると、データサイズが膨大になってしまうという問題がある。例えば、位相を表すビット数が１２ビットのとき、直接テーブルを作成するためには１２ビットのアドレスサイズが必要となり、テーブルサイズは２12＝４０９６（ビット）になる。
【０００６】
そのため、従来、サンダーランド法（Ｓｕｎｄｅｒｌａｎｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）に基づく近似演算や、下記式（１）に基づく演算を行い、それらの演算結果を格納するようにすることでメモリのデータサイズを小さくする技術が提案されている（例えば、特許文献１、２参照）。
ｓｉｎＸ（Ｘ＋Ｙ）＝ｓｉｎＸ＊ｃｏｓＹ＋ｃｏｓＸ＊ｓｉｎＹ    （１）
【０００７】
図４、図５は、上記（１）式を実現させるための具体的なブロック例図である。レジスタ１３は位相データＸ、Ｙをラッチする。波形メモリ２０は、ｓｉｎＸ及びｃｏｓＸのデータを格納する第１の記憶領域２１と、ｓｉｎＹ及びｃｏｓＹのデータを格納する第２の記憶領域２２に分割されている。第１の記憶領域２１にはレジスタ１３から位相データＸがアドレスとして入力され、第２の記憶領域２２にはレジスタ１３から位相データＹがアドレスとして入力される。
【０００８】
波形演算部３０には、レジスタ１３からの位相データＸをアドレスとして第１の記憶領域２１から出力されるｓｉｎＸとレジスタ１３からの位相データＹをアドレスとして第２の記憶領域２２から出力されるｃｏｓＹとを乗算する乗算器３１と、レジスタ１３からの位相データＸをアドレスとして第１の記憶領域２１から出力されるｃｏｓＹとレジスタ１３からの位相データＹをアドレスとして第２の記憶領域２２から出力されるｓｉｎＹとを乗算する乗算器３２と、これら乗算器３１、３２の出力を加算する加算器３３が設けられている。この波形演算部３０で演算されたデータは、Ｄ／Ａ変換器４０に入力され、アナログの波形信号として出力される。そして、この波形信号はローパスフィルタ５０を介して図示しない外部装置へと出力される。
【０００９】
このような構成において、加算部１１のビット数をｎビットとすると、加算部１１の出力は０〜２n−１の間の値の出力を繰り返して出力することになる。このため、波形メモリ２０に格納されている波形を繰り返し波形として出力するにあたっては、その期待される波形は２n個のデータ数（以下、最大位相積算値という）で、波形メモリ２０に格納する必要がある。
【特許文献１】特開平８−３３０９１４号公報
【特許文献２】特開２００４−３６３９８１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上記した従来の技術では、最終生成物となる波形信号の一周期分、即ち、位相データの一周期分の最大位相積算値は２nを基準として取り扱われるため、その自由度は低く、波形信号の周波数を所望する値とすることができない場合がある。一般に、基準クロックは２nに応じた１０．２４ＭＨｚ等の２進数で表現することが可能な値が用いられているが、測定器等の用途においては、基準クロックを１０ＭＨｚ等の切りのいい値を用いて、切りのいい値の周波数を有した波形信号を生成させるという要求がなされる場合がある。例えば、２n＊Ｐ（Ｐは整数）個の最大位相積算値からなる波形信号を所望した場合、上記した従来技術では、生成される波形信号の周波数を所望する値とすることができない場合がある。
【００１１】
本発明の課題は、一周期分の波形信号をなす最大位相積算値の自由度を向上させることが可能なＤＤＳ信号発生装置を提供することである。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、請求項１に記載の発明は、
外部からの第１周波数データを入力とする第１加算部と、
外部からの第２周波数データを入力とする第２加算部と、
外部から入力される基準クロックに基づいて前記第１加算部及び第２加算部からの出力値を夫々ラッチし、第１位相データ及び第２位相データを出力するとともに、当該第１位相データ及び第２位相データを前記第１加算部及び第２加算部の夫々に出力するラッチ回路と、
前記第１加算部及び第２加算部からの出力値に対応する三角関数をテーブル化して格納する波形メモリと、
前記第１加算部及び第２加算部からの出力値に対応する三角関数を前記波形メモリから読み出して所定の波形演算式に基づいた演算を行う波形演算部と、
前記波形演算部による演算結果をアナログ波形信号に変換するＤ／Ａ変換器と、
を備え、
前記第１加算部は、
前記第１周波数データと前記第１位相データとを加算する第１加算器と、
一周期分の波形信号をなす最大位相積算値の第１の成分値でオーバーフローする加算器であって、前記第１加算器の出力と前記第２加算部から出力されたキャリー信号とを加算し、前記ラッチ回路に出力する第２加算器と、を有し、
前記第２加算部は、
前記第２周波数データと前記第２位相データとを加算する第３加算器と、
前記最大位相積算値の第２の成分値でオーバーフローする加算器であって、前記第３加算器からの出力に基づいて所定の周期毎にキャリー信号を出力する第４加算器と、を有することを特徴としている。
【００１５】
更に、請求項２に記載の発明は、請求項１に記載の発明において、
前記波形演算式は、
ｓｉｎ（Ｘ＋Ｙ）＝ｓｉｎＸ＊ｃｏｓＹ＋ｃｏｓＸ＊ｓｉｎＹ
であることを特徴としている。
【００１６】
更に、請求項３に記載の発明は、請求項２に記載の発明において、
前記波形メモリは、第１位相データＸをアドレスとしてｓｉｎＸとｃｏｓＸを格納する第１の記憶領域と、第２位相データＹをアドレスとしてｓｉｎＹとｃｏｓＹを格納する第２の記憶領域とを有することを特徴としている。
【００１７】
更に、請求項４に記載の発明は、請求項２に記載の発明において、
前記波形演算部は、
前記波形メモリの第１の記憶領域から読み出されるｓｉｎＸと第２の記憶領域から読み出されるｃｏｓＹとを乗算する第１乗算器と、
前記波形メモリの第１の記憶領域から読み出されるｃｏｓＸと第２の記憶領域から読み出されるｓｉｎＹを乗算する第２乗算器と、
これら第１乗算器の出力と第２乗算器の出力を加算してＤ／Ａ変換器に出力する第５加算器と、を有することを特徴としている。
【発明の効果】
【００１８】
請求項１に記載の発明によれば、第１加算部、第２加算部の夫々により積算された積算値に応じて得られる第１位相データ、第２位相データに基づいて、波形メモリ（波形メモリ２０）から対応する三角関数を読み出し、所定の波形演算式（ｓｉｎ（Ｘ＋Ｙ））に基づいて波形信号の生成を行う。これにより、例えば、最大位相積算値が２n＊Ｐとな
る波形信号を生成することが可能となるため、一周期分の波形信号をなす最大位相積算値の自由度を向上させることができる。
また、オーバーフローの発生に伴ってキャリー信号を出力し、上位（第１加算部）のビットに加算させるため、一周期分の波形信号をなすデータのカウントを正確に行うことが可能となり、正確な波形信号を生成することができる。
【００１９】
請求項２〜４に記載の発明によれば、波形メモリのサイズを比較的小さくでき、近似式によらない厳密式に基づく演算結果で動作するＤＤＳ信号発生装置が実現できる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照して本発明を実施するための最良の形態について詳細に説明する。ただし、発明の範囲は図示例に限定されないものとする。
【００２１】
図１は、本発明の原理ブロック図を示した図である。なお、前述した図４と共通する部分については同一の符号を付与している。図１において、図４と異なる点は、位相演算器１０に加算部１２が設けられていることであって、外部から入力される二つの周波数データＭｘ、Ｍｙが夫々加算部１１、加算部１２に入力されるようになっている。ここで、周波数データＭｘ及びＭｙは、所望する波形信号の周波数に応じて予め導出された周波数データであるものとする。
【００２２】
図２は、図１の原理に基づく本発明の実施の形態例を示すＤＤＳ信号発生装置１００の主要部のブロック図である。図２に示すとおり、位相演算器１０は、加算部１１、加算部１２、レジスタ１３を有している。本実施の形態では、所望する波形信号の最大位相積算値が２n＊Ｐ（ｎ、Ｐは整数）であるものとし、この最大位相積算値をなす成分「２n」、「Ｐ」が、加算部１１、加算部１２の夫々により積算されるものとする。例えば、最大位相積算値が２6＊５6の場合には、「２6」にかかる積算が加算部１１により行われ、「５6」にかかる積算が加算部１２により行われる。
【００２３】
加算部１１は、加算器１１１と加算器１１２とを有している。加算器１１１は、外部から入力される周波数データＭｘと、レジスタ１３の出力位相データＸとを加算し、加算器１１２へと出力する。加算器１１２は、２nの値でオーバーフローするｎビットのフルアダーであって、加算器１１１からの出力と後述するモジュロ加算器１２２からの桁上がり信号（キャリー信号）とを加算し、レジスタ１３に出力する。
【００２４】
加算部１２は、加算部１２１とモジュロ加算器１２２とを有している。加算部１２１は、外部から入力される周波数データＭｙと、レジスタ１３の出力位相データＹとを加算し、モジュロ加算器１２２へと出力する。モジュロ加算器１２２は、Ｐ（Ｐは整数）の値でオーバーフローするフルアダーであって、加算部１２１からの出力をレジスタ１３に出力するとともに、オーバーフローした際には加算器１１２にキャリー信号を出力する。このように、オーバーフローに伴ってキャリー信号を出力し、上位（加算部１１）のビットに加算させるため、一周期分の波形信号をなすデータのカウントを正確に行うことが可能となり、正確な波形信号を生成することができる。
【００２５】
レジスタ１３は、加算部１１及び加算部１２からの夫々の入力に対し、位相データＸ、Ｙをラッチする。ここで、レジスタ１３は加算部１１、１２からの入力に応じた第１のレジスタ領域１３１と第２のレジスタ領域１３２とに区分けされており、各領域は加算部１１、１２から入力されるデータ量（本例では、２nとＰ）に応じた位相データ、記憶容量を有するものとする。
【００２６】
波形メモリ２０は波形演算式の三角関数をテーブル化して格納するものであり、レジスタ１３から位相データＸがアドレスとして入力される第１の記憶領域２１とレジスタ１３から位相データＹがアドレスとして入力される第２の記憶領域２２とに区分けされている。なお、本実施の形態では、波形演算式は上述した式（１）で表されるものとし、第１の記憶領域２１には三角関数ｓｉｎＸとｃｏｓＸとが所定の角度分解能でテーブル化して格納され、第２の記憶領域２２には三角関数ｓｉｎＹとｃｏｓＹが所定の角度分解能でテーブルかして格納される。そして、波形演算部３０により演算されたデータは、Ｄ／Ａ変換器４０に入力されアナログの波形信号として出力される。そして、この波形信号はローパスフィルタ５０を介して図示しない外部装置へと出力される。
【００２７】
このように、位相をアドレスとして利用できるＸ、Ｙ二つの領域に区分けし、波形演算式の三角関数を位相データＸ、Ｙを読み出しアドレスとする波形データテーブルとして波形メモリ２０に格納し、この波形メモリ２０から読み出される三角関数の性質を利用して波形演算部で振幅幅を合成するための演算処理を行うので、波形メモリのサイズを比較的小さくでき、近似式によらない厳密式に基づく演算結果で動作させることができる。
【００２８】
以上のように、本発明によれば、一の最大位相積算値を二つの成分に区分けし、各成分が加算部１１、加算部１２の夫々により積算された積算値に応じて得られる位相データＸ、位相データＹに基づいて、波形メモリ２０から対応する三角関数を読み出し、波形演算式（ｓｉｎ（Ｘ＋Ｙ））に基づいて波形信号の生成を行う。これにより、最大位相積算値が２n＊Ｐとなる波形信号を生成することが可能となるため、一周期分の波形信号をなす最大位相積算値の自由度を向上させることができる。
【００２９】
上記実施の形態におけるＤＤＳ信号発生装置１００の細部構成および詳細動作に関しては、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【図面の簡単な説明】
【００３０】
【図１】本発明のＤＤＳ信号発生装置の原理ブロック図である。
【図２】図１の原理に基づく本発明の実施の形態例を示すＤＤＳ信号発生装置の主要部のブロック図である。
【図３】従来のＤＤＳ信号発生装置の一例を示すブロック図である。
【図４】従来のＤＤＳ信号発生装置の一例を示すブロック図である。
【図５】（１）式を実現させるための具体的なブロック例図である。
【符号の説明】
【００３１】
１００  ＤＤＳ信号発生装置
１０  位相演算器
１１  加算部
１１１  加算器
１１２  加算器
１２  加算部
１２１  加算部
１２２  モジュロ加算器
１３  レジスタ
１３１  第１のレジスタ領域
１３２  第２のレジスタ領域
２０  波形メモリ
２１  第１の記憶領域
２２  第２の記憶領域
３０  波形演算部
３１  乗算器
３２  乗算器
３３  加算器
４０  Ｄ／Ａ変換器
５０  ローパスフィルタ
６０  基準クロック発生器
【図１】
0004696920.tif 000002
【図２】
0004696920.tif 000003
【図３】
0004696920.tif 000004
【図４】
0004696920.tif 000005
【図５】
0004696920.tif 000006