(57)【要約】【課題】波形メモリのサイズを比較的小さくでき、近似式によらない厳密式に基づく演算結果で動作するＤＤＳ信号発生装置を提供すること。【解決手段】波形演算式の三角関数をテーブル化して格納する波形メモリと、この波形メモリから所望の三角関数を読み出すためのアドレスとして位相データを出力する位相演算器と、前記波形メモリから読み出された三角関数を用いて前記波形演算式に基づく演算を行う波形演算部と、この波形演算部の演算出力をアナログ波形信号に変換するＤ／Ａ変換器とで構成されたことを特徴とするもの。【選択図】        図２
2004363981.tif 000002
【特許請求の範囲】
【請求項１】
波形演算式の三角関数をテーブル化して格納する波形メモリと、
この波形メモリから所望の三角関数を読み出すためのアドレスとして位相データを出力する位相演算器と、
前記波形メモリから読み出された三角関数を用いて前記波形演算式に基づく演算を行う波形演算部と、
この波形演算部の演算出力をアナログ波形信号に変換するＤ／Ａ変換器、
とで構成されたことを特徴とするＤＤＳ信号発生装置。
【請求項２】
前記波形演算式は、
ｓｉｎ（Ｘ＋Ｙ）＝ｓｉｎＸ＊ｃｏｓＹ＋ｃｏｓＸ＊ｓｉｎＹ
であることを特徴とする請求項１記載のＤＤＳ信号発生装置。
【請求項３】
前記波形メモリは、位相データＸをアドレスとしてｓｉｎＸとｃｏｓＸを格納する第１の領域と、位相データＹをアドレスとしてｓｉｎＹとｃｏｓＹを格納する第２の領域とを有することを特徴とする請求項２記載のＤＤＳ信号発生装置。
【請求項４】
前記波形演算部は、
波形メモリの第１の領域から読み出されるｓｉｎＸと波形メモリの第２の領域から読み出されるｃｏｓＹを乗算する第１の乗算器と、
波形メモリの第１の領域から読み出されるｃｏｓＸと波形メモリの第２の領域から読み出されるｓｉｎＹを乗算する第２の乗算器と、
これら第１の乗算器の出力と第２の乗算器の出力を加算してＤ／Ａ変換器に出力する加算器、
を有することを特徴とする請求項２に記載のＤＤＳ信号発生装置。
【請求項５】
前記波形演算式は、
ｓｉｎ（Ｘ＋Ｙ）＝ｓｉｎＸ＋ｓｉｎＸ＊（ｃｏｓＹ−１）＋ｃｏｓＸ＊ｓｉｎＹ
であることを特徴とする請求項１記載のＤＤＳ信号発生装置。
【請求項６】
前記波形メモリは、位相データＸをアドレスとしてｓｉｎＸとｃｏｓＸを格納する第１の領域と、位相データＹをアドレスとしてｓｉｎＹと（ｃｏｓＹ−１）を格納する第２の領域とを有することを特徴とする請求項５記載のＤＤＳ信号発生装置。
【請求項７】
前記波形演算部は、
波形メモリの第１の領域から読み出されるｓｉｎＸと波形メモリの第２の領域から読み出される（ｃｏｓＹ−１）を乗算する第１の乗算器と、
波形メモリの第１の領域から読み出されるｃｏｓＸと波形メモリの第２の領域から読み出されるｓｉｎＹを乗算する第２の乗算器と、
これら波形メモリの第１の領域から読み出されるｓｉｎＸと第１の乗算器の出力と第２の乗算器の出力を加算してＤ／Ａ変換器に出力する加算器、
を有することを特徴とする請求項５に記載のＤＤＳ信号発生装置。
【請求項８】
前記波形演算式は、
ｓｉｎ（Ｘ＋Ｙ）≒ｓｉｎＸ＋ｃｏｓＸ＊ｓｉｎＹ
であることを特徴とする請求項１記載のＤＤＳ信号発生装置。
【請求項９】
前記波形メモリは、位相データＸをアドレスとしてｓｉｎＸとｃｏｓＸを格納する第１の領域と、位相データＹをアドレスとしてｓｉｎＹを格納する第２の領域とを有することを特徴とする請求項８記載のＤＤＳ信号発生装置。
【請求項１０】
前記波形演算部は、
波形メモリの第１の領域から読み出されるｃｏｓＸと波形メモリの第２の領域から読み出されるｓｉｎＹを乗算する乗算器と、
これら波形メモリの第１の領域から読み出されるｓｉｎＸと乗算器の出力を加算してＤ／Ａ変換器に出力する加算器、
を有することを特徴とする請求項８に記載のＤＤＳ信号発生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ダイレクトデジタルシンセサイズ（ＤＤＳ）方式を用いたＤＤＳ信号発生装置に関し、詳しくは、位相を振幅に変換する回路の改善に関するものである。
【０００２】
【従来の技術】
ＤＤＳ信号発生装置は、メモリに格納されている波形データをアドレスを指定して逐次読み出し、読み出された波形データをＤ／Ａ変換器でアナログ波形に変換するように構成されたものである。このＤＤＳ信号発生装置は、任意の波形を高精度で発生させることができるので、各種の信号発生装置として広く用いられている。
【０００３】
図５は、従来のＤＤＳ信号発生装置の一例を示すブロック図である。図５において、位相演算器１０は加算器１１とレジスタ１２とで構成されている。加算器の一方の入力端子には位相増加分を表す周波数データが入力され、他方の入力端子にはレジスタ１２の出力位相データが入力される。レジスタ１２には基準クロック発生器２０からクロックが入力される。レジスタ１２の出力位相データは、波形メモリ３０にアドレスデータとして入力される。
【０００４】
波形メモリ３０には、波形データが、位相データをアドレスにして例えば正弦波の振幅に変換する形態で予め計算されて格納されている。レジスタ１２から入力されるアドレスデータに基づいて波形メモリ３０から読み出される波形データは、Ｄ／Ａ変換器４０に入力されてアナログ波形信号として変換出力される。なお、Ｄ／Ａ変換器４０にも基準クロック発生器２０からクロックが入力される。Ｄ／Ａ変換器４０から変換出力されるアナログ波形信号は、ローパスフィルタ５０を介して図示しない外部装置に出力される。
【０００５】
ここで、波形メモリ３０に格納するのにあたり、全ての位相に対応する振幅データを格納しようとすると、データサイズが膨大になってしまう。具体的には、例えば位相を表すビット数が１２ビットのとき、直接テーブルを作成するためには１２ビットのアドレスサイズが必要になってテーブルサイズは４０９６になる。
【０００６】
そこで、例えば以下のようなサンダーランド法（Ｓｕｎｄｅｒｌａｎｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）に基づく近似演算を行い、それらの演算結果を格納するようにすることでメモリのデータサイズを小さくすることが行われている。
2004363981.tif 000003
【０００７】
図６は（１）式を実現するための具体的なブロック例図である。レジスタ１２は位相データＸ，Ｙ，Ｚをラッチする。波形メモリ３０は、ｓｉｎ（Ｘ＋Ｙ）のデータを格納する粗データ部３１と、ｃｏｓＸ＊ｓｉｎＺのデータを格納する密データ部３２に分割されている。粗データ部３１にはレジスタ１２から位相データＸ，Ｙがアドレスとして入力され、密データ部３２にはレジスタ１２から位相データＸ，Ｚがアドレスとして入力される。これら粗データ部３１の出力データと密データ部３２の出力データは加算器３３で加算されてＤ／Ａ変換器に入力される。
【０００８】
このようなサンダーランド法によれば、例えば位相を表すビット数が１２ビットのとき、８ビットのアドレスサイズのテーブルが２個必要になってテーブルサイズは５１２になる。
【０００９】
【特許文献１】
特開平８−３３０９１４
【００１０】
特許文献１にはＤＤＳ方式を用いた波形発生器の発明が開示されているが、本発明が目的とする波形メモリのサイズを比較的小さくでき、近似式によらない厳密式に基づく演算結果で動作するＤＤＳ信号発生装置を示唆する記載はない。
【００１１】
【発明が解決しようとする課題】
しかし、図６の構成回路では、位相を表すビット数が増えると、実現に必要なテーブルのアドレスビットが増えることになり、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等への実装が難しくなるという欠点がある。
また、図６の構成回路では、近似式による演算結果をメモリに格納しているので、波形メモリ３０からＤ／Ａ変換器４０に読み出される波形データも近似データになってしまう。
【００１２】
本発明は、これらの問題点を解決するものであり、波形メモリのサイズを比較的小さくでき、近似式によらない厳密式に基づく演算結果で動作するＤＤＳ信号発生装置を提供することを目的とする。
【００１３】
【課題を解決するための手段】
上記の目的を達成する請求項１の発明は、
波形演算式の三角関数をテーブル化して格納する波形メモリと、
この波形メモリから所望の三角関数を読み出すためのアドレスとして位相データを出力する位相演算器と、
前記波形メモリから読み出された三角関数を用いて前記波形演算式に基づく演算を行う波形演算部と、
この波形演算部の演算出力をアナログ波形信号に変換するＤ／Ａ変換器、
とで構成されたことを特徴とするＤＤＳ信号発生装置である。
【００１４】
請求項２の発明は、請求項１記載のＤＤＳ信号発生装置において、
前記波形演算式は、
ｓｉｎ（Ｘ＋Ｙ）＝ｓｉｎＸ＊ｃｏｓＹ＋ｃｏｓＸ＊ｓｉｎＹ
であることを特徴とする。
【００１５】
請求項３の発明は、請求項２記載のＤＤＳ信号発生装置において、
前記波形メモリは、位相データＸをアドレスとしてｓｉｎＸとｃｏｓＸを格納する第１の領域と、位相データＹをアドレスとしてｓｉｎＹとｃｏｓＹを格納する第２の領域とを有することを特徴とする。
【００１６】
請求項４の発明は、請求項２記載のＤＤＳ信号発生装置において、
前記波形演算部は、
波形メモリの第１の領域から読み出されるｓｉｎＸと波形メモリの第２の領域から読み出されるｃｏｓＹを乗算する第１の乗算器と、
波形メモリの第１の領域から読み出されるｃｏｓＸと波形メモリの第２の領域から読み出されるｓｉｎＹを乗算する第２の乗算器と、
これら第１の乗算器の出力と第２の乗算器の出力を加算してＤ／Ａ変換器に出力する加算器、
を有することを特徴とする。
【００１７】
これらにより、波形メモリのサイズを比較的小さくでき、近似式によらない厳密式に基づく演算結果で動作するＤＤＳ信号発生装置が実現できる。
【００１８】
請求項５の発明は、請求項１記載のＤＤＳ信号発生装置において、
前記波形演算式は
ｓｉｎ（Ｘ＋Ｙ）＝ｓｉｎＸ＋ｓｉｎＸ＊（ｃｏｓＹ−１）＋ｃｏｓＸ＊ｓｉｎＹ
であることを特徴とする。
【００１９】
請求項６の発明は、請求項５記載のＤＤＳ信号発生装置において、
前記波形メモリは、位相データＸをアドレスとしてｓｉｎＸとｃｏｓＸを格納する第１の領域と、位相データＹをアドレスとしてｓｉｎＹと（ｃｏｓＹ−１）を格納する第２の領域とを有することを特徴とする。
【００２０】
請求項７の発明は、請求項５記載のＤＤＳ信号発生装置において、
前記波形演算部は、
波形メモリの第１の領域から読み出されるｓｉｎＸと波形メモリの第２の領域から読み出される（ｃｏｓＹ−１）を乗算する第１の乗算器と、
波形メモリの第１の領域から読み出されるｃｏｓＸと波形メモリの第２の領域から読み出されるｓｉｎＹを乗算する第２の乗算器と、
これら波形メモリの第１の領域から読み出されるｓｉｎＸと第１の乗算器の出力と第２の乗算器の出力を加算してＤ／Ａ変換器に出力する加算器、
を有することを特徴とする。
【００２１】
これらにより、ｓｉｎＹ≪１、｜ｃｏｓＹ−１｜≪１であることから、波形メモリの第２の領域のデータ幅を小さくでき、乗算器の規模を小さくできる。
【００２２】
請求項８の発明は、請求項１記載のＤＤＳ信号発生装置において、
前記波形演算式は
ｓｉｎ（Ｘ＋Ｙ）≒ｓｉｎＸ＋ｃｏｓＸ＊ｓｉｎＹ
であることを特徴とする。
【００２３】
請求項９の発明は、請求項８記載のＤＤＳ信号発生装置において、
前記波形メモリは、位相データＸをアドレスとしてｓｉｎＸとｃｏｓＸを格納する第１の領域と、位相データＹをアドレスとしてｓｉｎＹを格納する第２の領域とを有することを特徴とする。
【００２４】
請求項１０の発明は、請求項８記載のＤＤＳ信号発生装置において、
前記波形演算部は、
波形メモリの第１の領域から読み出されるｃｏｓＸと波形メモリの第２の領域から読み出されるｓｉｎＹを乗算する乗算器と、
これら波形メモリの第１の領域から読み出されるｓｉｎＸと乗算器の出力を加算してＤ／Ａ変換器に出力する加算器、
を有することを特徴とする。
【００２５】
これらにより、さらに波形メモリの第２の領域のデータ幅を小さくでき、波形演算部の規模を小さくできる。
【００２６】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。図１は本発明の原理ブロック図であり、図５と共通する部分には同一の符号を付けている。図５と図１の異なる点は、波形メモリ３０に格納する波形データの形態と、波形メモリ３０とＤ／Ａ変換器４０の間に波形演算部６０を設けていることである。
【００２７】
図２は図１の原理に基づく本発明の実施の形態例を示すＤＤＳ信号発生装置のブロック図である。図２において、レジスタ１２は位相データＸ，Ｙをラッチする。波形メモリ３０は波形演算式の三角関数をテーブル化して格納するものであり、レジスタ１２から位相データＸがアドレスとして入力される第１の領域３４とレジスタ１２から位相データＹがアドレスとして入力される第２の領域３５に分割されている。図２では、波形演算式は（２）式で表されるものとし、
ｓｉｎ（Ｘ＋Ｙ）＝ｓｉｎＸ＊ｃｏｓＹ＋ｃｏｓＸ＊ｓｉｎＹ        （２）
第１の領域３４には三角関数ｓｉｎＸとｃｏｓＸが所望の角度分解能でテーブル化して格納され、第２の領域３５には三角関数ｓｉｎＹとｃｏｓＹが所望の角度分解能でテーブル化して格納される。
【００２８】
波形演算部６０には、レジスタ１２からの位相データＸをアドレスとして第１の領域３４から出力されるｓｉｎＸとレジスタ１２からの位相データＹをアドレスとして第２の領域３５から出力されるｃｏｓＹを乗算する乗算器６１と、レジスタ１２からの位相データＸをアドレスとして第１の領域３４から出力されるｃｏｓＸとレジスタ１２からの位相データＹをアドレスとして第２の領域３５から出力されるｓｉｎＹを乗算する乗算器６２と、これら乗算器６１，６２の出力を加算する加算器６３が設けられている。
【００２９】
これにより、加算器６３は、上記（２）式の右辺で表される厳密式の演算結果を、Ｄ／Ａ変換器４０に出力する。すなわち、図２によれば、近似式によらない厳密式に基づく演算結果で動作するＤＤＳ信号発生装置が実現できる。
【００３０】
ここで、波形メモリ３０には波形演算式の三角関数ｓｉｎＸ，ｃｏｓＹ，ｃｏｓＸ，ｓｉｎＹをテーブル化して格納するので、図６に比べて波形メモリ３０のサイズを比較的小さくできる。具体的には、例えば位相を表すビット数が図６の場合と同様に１２ビットのとき、図２の場合には６ビットのアドレスサイズのテーブルが２個必要であるが、テーブルサイズ１２８で実現できる。そして、ｓｉｎとｃｏｓを別テーブルとしても２５６のサイズで実現できる。このようなテーブルサイズ小型化の効果は、位相を表すビット数がより大きくなるのに応じてより大きくなる。
【００３１】
最近のＦＰＧＡは４ｋｂｉｔ程度のサイズのメモリブロックを複数個内蔵しているものが主流であり、容易に入手できる。しかし、この種のメモリブロックは、アドレス幅とデータ幅をある程度自由に変更できるのでデータ幅を大きくすることは容易であるが、アドレス幅を一定以上に大きくすることは困難という制限がある。
これに対し、本発明はアドレス幅を最小にできるため、ＦＰＧＡ等に実装するのに適した構成となっている。
【００３２】
図３は本発明の他の実施の形態例を示すＤＤＳ信号発生装置の主要部のブロック図である。図３では、ｃｏｓＹの代わりに（ｃｏｓＹ−１）を用いる。ここで、ｓｉｎＹ  ＜＜  １，  ｜ｃｏｓＹ−１｜＜＜１  であるため、波形メモリ３０の第２の領域３５のデータ幅を小さくでき、必要なメモリ容量の削減と乗算器６１の規模縮小が行える。
なお、図３の構成における演算式は（３）式になる。
2004363981.tif 000004
【００３３】
図４も本発明の他の実施の形態例を示すＤＤＳ信号発生装置の主要部の主要部ブロック図である。図４では、Ｘ部分のビット数をある程度大きして、（ｃｏｓＹ−１）の成分を０と見なしている。具体的には、例えばＸの部分を１０ビットとすると、ｍａｘ（｜ｃｏｓＹ−１｜）＝２−１６程度になり、０とみなしてもほとんど影響がなくなる。これにより、乗算器６１は不要になり、波形メモリ３０の第２の領域３５のデータ幅をさらに小さくできて必要なメモリ容量を削減できる。
なお、図４の構成における演算式は（４）式になる。
2004363981.tif 000005
【００３４】
【発明の効果】
以上説明したように、本発明によれば、位相をアドレスとして利用できるＸ，Ｙ２つの部分に分解し、波形演算式の三角関数を位相データＸ，Ｙを読み出しアドレスとする波形データテーブルとして波形メモリに格納し、波形メモリから読み出される三角関数の性質を利用して波形演算部で振幅値を合成するための演算処理を行うので、テーブルの実現に必要なアドレスビットを最小にできるＤＤＳ信号発生装置を提供することができ、デジタル通信測定器をはじめとする各種の測定器のＤＤＳ信号発生装置として好適である。
【図面の簡単な説明】
【図１】本発明の原理ブロック図である。
【図２】図１の原理に基づく本発明の実施の形態例を示すＤＤＳ信号発生装置のブロック図である。
【図３】本発明の他の実施の形態例を示すＤＤＳ信号発生装置の主要部のブロック図である。
【図４】本発明の他の実施の形態例を示すＤＤＳ信号発生装置の主要部の主要部ブロック図である。
【図５】従来のＤＤＳ信号発生装置の一例を示すブロック図である。
【図６】（１）式を実現するための具体的なブロック例図である。
【符号の説明】
１０  位相演算器
１１  加算器
１２  レジスタ
２０  基準クロック発生器
３０  波形メモリ
４０  Ｄ／Ａ変換器
５０  ローパスフィルタ
６０  波形演算部
６１，６２  乗算器
６３  加算器
【図１】
2004363981.tif 000006
【図２】
2004363981.tif 000007
【図３】
2004363981.tif 000008
【図４】
2004363981.tif 000009
【図５】
2004363981.tif 000010
【図６】
2004363981.tif 000011