(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022100436
(43)【公開日】2022-07-06
(54)【発明の名称】波形生成回路
(51)【国際特許分類】
H03B 28/00 20060101AFI20220629BHJP
G01R 13/20 20060101ALI20220629BHJP
【FI】
H03B28/00 A
G01R13/20 R
G01R13/20 M
G01R13/20 N
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2020214396
(22)【出願日】2020-12-24
(71)【出願人】
【識別番号】000128094
【氏名又は名称】株式会社エヌエフホールディングス
(74)【代理人】
【識別番号】110003063
【氏名又は名称】特許業務法人牛木国際特許事務所
(72)【発明者】
【氏名】中島 武
(57)【要約】
【課題】任意の波形生成に対して低ジッタの効果を有し、また、より高速で安価な波形生成回路を提供する。
【解決手段】本発明の波形生成回路10は、クロックごとに位相加算値を加算して出力するアキュムレータ11と、数値化された波形出力の波形データを記憶する波形メモリ12と、波形メモリ12からクロックごとに波形データを読み出し、読み出された波形データをもとに、波形データの急変箇所で補間された波形処理データを出力するデータ処理部13と、波形処理データをアナログ信号に変換するDA変換器14と、DA変換器14からのアナログ信号を滑らかにして出力するローパスフィルタ15と、を備える。波形データの補間は、波形データの急変箇所の連続する2点のデータとアキュムレータ11の端数と位相加算値に応じて行われる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
クロックごとに位相加算値を加算して出力するアキュムレータと、
数値化された波形出力の波形データを記憶する波形メモリと、
前記波形メモリから前記クロックごとに波形データを読み出し、読み出された波形データをもとに、波形データの急変箇所で補間された波形処理データを出力するデータ処理部と、
前記波形処理データをアナログ信号に変換するDA変換器と、
前記DA変換器からのアナログ信号を滑らかにして出力するローパスフィルタと、
を備えたことを特徴とする波形生成回路。
【請求項2】
前記波形メモリに書き込む波形データとして、前記位相加算値が1以下となるようなデータ点数に制限した波形データを含むことを特徴とする請求項1記載の波形生成回路。
【請求項3】
前記波形メモリからの波形データの読み込みを、前記アキュムレータからの出力整数部の加算に応じて生成した波形メモリ用クロックで行うように、前記データ処理部を構成したことを特徴とする請求項1または2記載の波形生成回路。
【請求項4】
前記波形メモリから読み出される波形データに補正要否情報を付加し、
前記補正要否情報に基づき、波形データの補間を行うか否かを判定するように、前記データ処理部を構成したことを特徴とする請求項1~3の何れか一つに記載の波形生成回路。
【請求項5】
補間を行う必要のない波形データには、前記補正要否情報のデータ部分にも波形出力の数値化情報が書き込まれていることを特徴とする請求項4記載の波形生成回路。
【請求項6】
補間を行う必要のある波形データには、前後の波形データにおける波形出力の数値化情報間の時間位置を指定する情報が、前記補正要否情報以外のデータ部分に書き込まれていることを特徴とする請求項4または5記載の波形生成回路。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、波形生成回路、さらに詳細には、任意波形を出力する波形生成回路に関するものである。
【背景技術】
【0002】
任意波形を発生可能な波形生成回路として、ディジタル直接合成(Digital Direct Synthesis、以下DDSと略す。)方式による波形生成回路が知られている。このような波形生成回路は、例えば1周期分の波形データを波形メモリに保持しておき、あるクロック周期ごとに波形データを順次読み出すとともに、その読み出されたデータに基づいてDA変換器によりアナログ信号として出力するという形で、所望の波形を有する周期信号を出力することができる。
【0003】
このような信号発生器に関して、例えば特許文献1に開示されているシンセサイザでは、合成クロック信号の周波数よりも非常に高い周波数のシステム・クロックを必要とせずに、正確で高分解能のエッジ配置を行うことができるシンセサイザを実現している。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来のDDS方式の波形生成回路では、出力周波数の変更を位相加算器による1クロックごとの増分の設定により行う。しかし、例えば矩形波のような信号の大きさが急変する部分を持つ波形の場合、出力周波数により波形の急変箇所でジッタが発生することが避けられない。そのような従来の波形生成回路が持つ課題に対し、特許文献1による発明では、クロックに代表される矩形波のような信号を発生する際に、例えばバンドパスフィルタを通した正弦波に対しコンパレータを用いることでジッタの低減をはかっている。しかし、このような手法で得られる低ジッタの出力波形は、矩形波のような特定の波形に限られ、任意の形状の波形に対して効果が得られない、という課題がある。
【0006】
本発明は、任意の波形生成に対して低ジッタの効果を有し、より高速で安価な波形生成回路を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明の波形生成回路は、クロックごとに位相加算値を加算して出力するアキュムレータと、数値化された波形出力の波形データを記憶する波形メモリと、前記波形メモリから前記クロックごとに波形データを読み出し、読み出された波形データをもとに、波形データの急変箇所で補間された波形処理データを出力するデータ処理部と、前記波形処理データをアナログ信号に変換するDA変換器と、前記DA変換器からのアナログ信号を滑らかにして出力するローパスフィルタと、を備えたことを特徴とする。
【0008】
上記構成において、前記波形メモリに書き込む波形データとして、前記位相加算値が1以下となるようなデータ点数に制限した波形データを含むことが好ましい。
【0009】
上記構成において、前記波形メモリからの波形データの読み込みを、前記アキュムレータからの出力整数部の加算に応じて生成した波形メモリ用クロックで行うように、前記データ処理部を構成するのが好ましい。
【0010】
上記構成において、前記波形メモリから読み出される波形データに補正要否情報を付加し、前記補正要否情報に基づき、波形データの補間を行うか否かを判定するように、前記データ処理部を構成するのが好ましい。
【0011】
上記構成では、補間を行う必要のない波形データには、前記補正要否情報のデータ部分にも波形出力の数値化情報が書き込まれていることが好ましい。
【0012】
さらに、補間を行う必要のある波形データには、前後の波形データにおける波形出力の数値化情報間の時間位置を指定する情報が、前記補正要否情報以外のデータ部分に書き込まれていることが好ましい。
【発明の効果】
【0013】
本発明によれば、従来の波形生成回路に対し、ジッタを低減し、またより高速で安価な波形生成回路とすることができる。
【図面の簡単な説明】
【0014】
【
図1】第1の実施の形態にかかる波形生成回路の構成例を示す図である。
【
図3】ローパスフィルタの入出力信号の例を示す図である。
【
図7】第3の実施の形態にかかる波形生成回路の構成例を示す図である。
【
図8】第4の実施の形態にかかる補正判定部の構成例を示す図である。
【
図9】第5の実施の形態にかかる補正判定部の構成例を示す図である。
【発明を実施するための形態】
【0015】
以下で、本発明の実施の形態等について説明する。ただし、本発明は、以下の記載に限定されるものではなく、特許請求の範囲に記載され、または発明を実施するための形態に開示された発明の要旨に基づき、当業者において様々な変形や変更が可能である。そのような変形や変更もまた、本発明の範囲に含まれる。
【0016】
〔第1の実施の形態〕
第1の実施の形態は、基本的な構成に基づく波形生成回路の一例である。
図1から
図6に、第1の実施の形態にかかる例を示す。
図1は、第1の実施の形態にかかる波形生成回路の構成例を示す図である。
図2は、アキュムレータ出力の例を示す図である。
図3は、ローパスフィルタの入出力信号の例を示す図である。
図4は、データ処理部の構成例を示す図である。
図5は、データ生成部の構成例を示す図である。
図6は、矩形波出力の例を示す図である。
【0017】
図1は、第1の実施の形態にかかる波形生成回路10の構成の一例である。波形生成回路10は、アキュムレータ11と、波形メモリ12と、データ処理部13と、DA変換器14と、ローパスフィルタ15と、を備える。
【0018】
アキュムレータ11は、出力信号の周期TO(=周波数fOの逆数)に基づく周期設定に応じて、1クロックごとに出力信号の周期TOに対応する位相加算値Δθを加算して出力する部位である。
【0019】
位相加算値Δθは、出力信号の周期TO、アキュムレータ11のレジスタをDビット、アキュムレータ11のクロックの周期をTACLK(その逆数を周波数fACLKとする。)とすると、以下の(式1-1)で与えられる。
【0020】
【0021】
Dビットのアキュムレータ11は、アキュムレータ11のクロック周期TACLKごとにΔθずつ加算し、2D-1を超えると2Dの位への桁上がりは無視する形で順次演算を繰り返す。
【0022】
波形メモリ12は、例えば、正弦波、矩形波や三角波などの代表的な形状を持つ周期波形のみならず、その他の任意の形状を有する波形1周期分を、数値化された波形データとして記憶しておくための記憶媒体である。波形メモリ12は、例えばROM(Read Only Memory)、RAM(Random Access Memory)やシーケンシャルメモリのようなディジタルメモリである。波形メモリ12のクロックごとに波形データを順次出力する。出力されるデータは、波形メモリ12がランダムアクセス可能なメモリであれば、波形メモリ12内に書き込まれた波形データの中から、アキュムレータ11の出力により指定されたアドレスのデータとなる。波形メモリ12がシーケンシャルメモリであれば、出力されるデータは、波形メモリ12のクロック入力ごとに波形メモリ12にあらかじめ書き込まれている波形データを先頭のデータから順番に、最後のデータの次は先頭のデータに戻る、という動作を繰り返しながら順次出力される。
【0023】
データ処理部13は、波形メモリ12からの入力とアキュムレータ11からの入力に応じた各種処理を行い、波形処理データを生成して出力をする。このデータ処理部13での処理の詳細は後述する。
【0024】
DA変換器14は、データ処理部13の出力を波形処理データ入力とし、DA変換器14のクロックごとに数値データである波形処理データをアナログ信号に変換した信号を出力する。
【0025】
このような動作を各部がクロック入力ごとに繰り返すことで、周波数がfOで、波形メモリ12に書き込まれた波形を持つアナログの周期信号が出力信号として得られる。このDA変換器14の出力信号であるアナログ信号は、クロックの周期TACLKごとに平坦部を持つ階段状の波形となる。
【0026】
ローパスフィルタ15は、DA変換器14からの出力信号である階段状の波形を滑らかにするために配置される。ローパスフィルタ15の特性は、クロックの周波数fACLKに対して減衰量を有するカットオフ周波数のローパスフィルタとすればよい。
【0027】
図2は、アキュムレータ11の出力値を、横軸を時刻に、縦軸をアキュムレータ11の出力値として示した図である。時間の経過とともに、アキュムレータ11の出力値は、0から2
D-1の間の値を周波数f
O(T
O=1/f
Oの周期)で繰り返す鋸歯状波のようにふるまう。
【0028】
このアキュムレータ11が出力値として取れる2D通りの値は、波形1周期の位相に対応する値である。例えば、周期信号1周期の横軸を360degの位相であらわした場合に、位相0degが0、位相180degが2D-1、位相360degの直前が2D-1である。そして、アキュムレータ11の出力の上位D1ビット(D1は、D以下の正の整数である。)を、波形メモリ12のアドレスバスに入力する。
【0029】
図3(A)は、ローパスフィルタ15の入力信号と出力信号の例である。横方向が時刻、縦方向が信号の大きさをあらわす。そして、DA変換器14から出力された階段状の波形を実線で、ローパスフィルタ15により滑らかになった波形を点線で示している。階段状の波形を入力したローパスフィルタ15の出力は、そのローパスフィルタ15の時定数などに応じて、点線で示したような過渡応答を示す。この過渡応答は、時間の経過とともに次のステップの出力値に単調に増加または減少する波形となる。以降では簡潔な説明のため、特に断りを入れない場合において、
図3(B)に示すようにサンプリング点間を直線で結んだ形で記載して説明する。
【0030】
図4は、データ処理部13の構成の一例である。データ処理部13は、データ生成部21と、補正判定部22とを備える。データ処理部13には波形メモリ12の出力である波形データが、データ生成部21と補正判定部22にそれぞれ入力される。
【0031】
補正判定部22は、入力された波形データに基づき、DA変換器14に対して出力する波形処理データに補正処理を行うかどうかの判定を行い、補正が必要と判定した際には補正指令信号をデータ生成部21に対して出力する。この判定は、例えば波形データのフルレンジに対して10%以上の変化が隣り合う波形データ同士の間であった場合、というように、あるしきい値と、隣り合う波形データ同士の差の絶対値との比較で行えばよい。この例での条件を具体的に式であらわすと、あるしきい値をAth、時刻TXにおける波形データをDa(TX)、その一つ手前のサンプリング時刻における波形データをDa(TX-TACLK)としたとき、以下の(式1-2)が、補正指令信号を出力する条件となる。
【0032】
【0033】
なお、しきい値Athを、波形データのフルレンジに対して任意に設定してよく、フルレンジの30%や50%などとしてもよいし、常時補正が働く0%相当の動作とすることも可能である。
【0034】
データ生成部21は、補正判定部22からの補正指令信号の有無に応じて、以下のような処理を行う。
(1)補正指令信号なしの場合
入力された波形データを、入力された順番に波形処理データとして出力する。
(2)補正指令信号有りの場合
入力された直接の波形データAと、後述する遅延部31を介した過去の波形データにより、しきい値Ath以上の変化があった波形データの部分では、(1)で出力されるデータの代わりに補正された波形処理データを出力する。
【0035】
図5は、データ生成部21の構成の一例である。データ生成部21は、遅延部31と、減算部32と、乗算部33と、加算部34とを備える。データ生成部21では、ある時刻T
Xに入力された波形データDa(T
X)と、遅延部31を介した一つ手前のクロック時に入力された波形データDa(T
X-T
ACLK)との差を減算部32で求め、その結果に補正判定部22からの補正係数kを乗算部33で乗算する。その乗算された値と遅延部31の出力である波形データDa(T
X-T
ACLK)との和を加算部34で求め、その結果を出力する。このような内部演算により、データ生成部21から出力されるデータは、以下の(式1-3)のようになる。
【0036】
【0037】
補正係数kは0≦k≦1の範囲とする。(式1-3)よりデータ生成部21の出力は、k=0の場合、Da(TX-TACLK)となり、k=1の場合、Da(TX)となる。そして0<k<1の場合は、入力信号Da(TX)と、一つ手前のサンプリング時刻TX-TACLKにおける入力信号Da(TX-TACLK)との補正係数kによる加重平均が得られる。
【0038】
補正係数kの値は、例えば以下のように決める。
(1)補正指令信号なしの場合、k=0とする。このとき、データ生成部21の出力は、Da(TX-TACLK)となる。
(2)補正指令信号有りの場合、kは、アキュムレータ11の下位D2ビットのデータを小数点以下の数値に置き換えた値である端数DUおよび位相加算値Δθの値をもとに、以下の(式1-4)で算出した値を用いる。
【0039】
【0040】
この補正係数kの値の算出は、補正判定部22で行うようにすればよい。また、補正指令信号として別に信号を用意するまでもなく、補正係数kが0であれば上記記載の補正指令信号なしの場合と同等の動作となり、補正係数kをk>0とすることで補正指令信号有りの場合と同等の動作となる。補正判定部22としては、そのような構成であってもよい。
【0041】
図6は、矩形波出力の例を示す図である。第1の実施の形態の例による具体的な動作の例を、波形メモリ12のアドレス長を8ビットと簡略化したモデルで、波形を矩形波とした例で説明する。また、アキュムレータ11の出力は、説明の簡略化のため、波形メモリ12のアドレス長に対応する部分である上位D1ビット部分を整数部に対応させ、アキュムレータ11の下位D2ビット部分の端数D
Uに当たる数値を小数点以下として、10進数で表記した形での説明を行う。あらわした位相の例に対応させると、アドレス0が位相0deg、アドレス128(=2
7)が位相180deg、アドレス255(=2
8-1)が位相360degの直前に対応する。そして波形メモリ12の波形データを、
図6(A)に示すような矩形波の最大値をA
MAX、最小値をA
MINとして、波形メモリ12のアドレス0から127(=2
7-1)までにA
MAX、アドレス128(=2
7)から255(=2
8-1)までにA
MINが書き込まれているとする。ただし、波形メモリ12のアドレス長を8ビットに限定するものではなく、さらに波形メモリ12のアドレス数を2
n(nは、正の整数とする。)に限定するものでもない。
【0042】
ここで、クロックの周期TACLKを1ns(周波数fACLK=1GHz)、波形生成回路10の出力信号の周波数fOが3MHzとなるように、アキュムレータ11の周期設定を行うとする。この周期設定は、言い換えると1μs(=1000ns、クロック1000波分)間にちょうど3波の矩形波が出力される周期である。
【0043】
このとき、位相加算値Δθは、
【0044】
【0045】
アキュムレータ11の初期値を0とし、この時刻を時刻0とする。クロックの1入力ごとにアキュムレータ11の値は位相加算値Δθずつ加算されるので、
【0046】
【数6】
より、334クロックの入力後、すなわち334ns後に位相0の出力に戻る。
また、
【0047】
【数7】
より、時刻0から数えて667クロックの入力後、すなわち667ns後に再度位相0に戻る。
そして、
【0048】
【数8】
となり、時刻0から数えて1000クロックで、ちょうど位相0となり、以降は1000クロック間に3回位相0に戻るサイクルを繰り返す。
【0049】
矩形波の1周期の長さは、時刻0から最初に位相0に戻るまでの時間は334ns、ここから2度目に位相0に戻るまでの時間は333ns、さらにここから位相0に戻るまでは333nsとなり、このサイクルが繰り返される。すなわち、出力信号の周波数f
Oが3MHzとなるようなアキュムレータ11への周期設定であっても、
図6(B)に示すように、出力信号は1周期が333nsと334nsの場合に分かれて出力される。このようにして従来のDDS方式ではジッタが発生する。立ち下がり部分でも同様である。
【0050】
図6(C)は、同様の設定条件で、補正判定部22による補正を行った場合での出力信号の立ち上がり部分を示した例である。
【0051】
位相が360degの直前(アドレス255)から位相0に戻る際、波形データの値がAMINからAMAXに急変するため、
【0052】
【数9】
を満たすしきい値A
thであれば、補正判定部22が波形データを補正するように動作する。
【0053】
通常時、データ生成部21からDA変換器14に出力される波形処理データは、1クロック分遅延後に送られる。補正判定部22が要補正の判定をした場合、1クロック分遅延した波形データと、遅延のない波形データとの間で、算出したkに基づいて補正された波形処理データを生成する。
【0054】
例えば、時刻0から333クロック目と334クロック目との間で、波形データの値がAMINからAMAXに急変してしきい値Ath以上となる。この際のkを(式1-4)に当てはめると、333クロックの入力時点でアキュムレータ11の小数点以下の数値である端数DUは、(式1-6)に示すように0.744であり、Δθ=0.768であるから、
【0055】
【数10】
を、補正した波形処理データとしてDA変換器14に出力する。補正判定部22が動作しない場合では333nsだった矩形波の1周期の時間が、この補正により1クロックの1/3程度遅くなる方向にずれることがわかる。
【0056】
同様に、時刻0から666クロック目と667クロック目との間で波形データの値が、AMINからAMAXに急変する。
【0057】
この際のkを(式1-4)に基づき求めると、666クロックの入力時点でアキュムレータ11の端数DUは、(式1-7)に示すように0.488であるから、
【0058】
【0059】
このことから、この補正により矩形波の1周期区間の終了部分が1クロックの2/3遅くなる方向にずれることがわかる。1周期の区間の開始部分が1/3程度遅れる方向にずれているので、この区間の矩形波の1周期も全体で1クロックの1/3長くなったことになる。
【0060】
そして、3波目の矩形波の開始部分が2/3クロック分遅くなる方向にずれたことにより、1周期が334nsだった区間も約333.3nsとなる。
【0061】
このように、補正判定部22の動作により、1クロック分のジッタの発生が抑制され、1周期の各区間が略同一周期となることがわかる。
【0062】
(効果のまとめ)
第1の実施の形態にかかる例において、入力される周期設定に応じて、クロックごとに位相加算値Δθを加算して出力するアキュムレータ11と、数値化された波形出力の波形データを記憶する波形メモリ12と、波形メモリ12からクロックごとに波形データを読み出し、読み出された波形データをもとに、波形データの急変箇所で補間された波形処理データを出力するデータ処理部13と、波形処理データをアナログ信号に変換するDA変換器14と、DA変換器14からのアナログ信号を滑らかにして出力するローパスフィルタ15と、を備えた波形生成回路10とすることで、波形データの急変箇所の連続する2点のデータとアキュムレータ11の端数DUと位相加算値Δθに応じて波形データの補間を行う構成とした。このことにより、従来のDDS方式ではジッタが顕著に現れやすい波形の急変箇所であっても、ジッタを抑制するという優れた効果を発揮する。
【0063】
〔第2の実施の形態〕
第2の実施の形態は、波形メモリ12に記憶する波形データ点数を、出力周期の設定に応じた条件を満たす点数に制限した場合の例である。
【0064】
位相加算値Δθは、(式1-1)により求めることができる。ここで、第1の実施の形態による例の場合、周期設定TOが小さくなるほど、言い換えると出力波形の周波数を高くするほど、位相加算値Δθの値は大きくなり、1を超える場合が出てくる。
【0065】
このような場合、波形メモリ12に記憶された波形データは、波形メモリ12の出力として指定されるアドレスが1を超える場合がある。そのため、隣り合う波形データが順次使われず、飛び飛びのアドレスの波形データにより出力波形が生成されることになる。そのような場合であっても使用される波形データにより補正は行われ、波形出力はされるが、隣り合う波形データ同士での補正が確実に行われるようにするのが、本実施の形態の例にかかる波形生成回路10の例である。
【0066】
このことを実現するために、まず波形データ点数として、以下の(式2-1)を満たす正の整数Nをあらかじめ決めておく。
【0067】
【0068】
そして、位相加算値Δθは、以下の(式2-2)で算出する。
【0069】
【0070】
これらの演算は、既知の値により容易に求まる。波形メモリ12に書き込むデータとして、あらかじめ任意波形データとして用意されているデータに基づき、スプライン近似、直線近似、含まれる区間のデータの移動平均やその他の関数近似により生成する。
【0071】
このようにして、1周期分をN等分した際に対応するN点分の波形データを生成した波形データを、波形メモリ12に書き込んでおけばよい。位相加算値Δθが1以下になるように、波形メモリ12に書き込む波形データのデータ点数を制限しておく。そして、アキュムレータ11は、Nを超えると0に戻るように位相加算を行うようにする。このような処理により、連続した隣り合う波形データによる動作とすることができ、各周期ごとに安定した波形を得ることが可能となる。
【0072】
なお、Δθが1に近くなるようにNを選択すれば、1周期の出力波形を生成するためのデータ点数が多くなり、波形の品位が向上し、より好適なデータ点数Nの選択といえる。また、位相加算値Δθが1以下となるようなデータ点数を制限した波形データを生成して、その波形データを波形メモリ12に書き込む波形データ生成部(図示せず)は、波形生成回路10の内部または外部に備えて構成される。
【0073】
(効果のまとめ)
第2の実施の形態にかかる例において、波形メモリ12に書き込むデータとして、周期設定に応じてあらかじめ任意波形データとして用意されているデータに基づき、スプライン近似、直線近似、含まれる区間のデータの移動平均やその他の関数近似により生成する例を説明した。このような処理により、波形メモリ12に書き込む波形データとして、位相加算値Δθが1以下となるようなデータ点数に制限した波形データを含む構成とすることで、ジッタを抑制するという優れた効果に加え、連続した隣り合う波形データによる動作とすることができ、各周期ごとに安定した波形を得ることが可能となるという優れた効果を発揮する。
【0074】
〔第3の実施の形態〕
第3の実施の形態は、波形メモリ12から波形データを読み込むためのクロック信号をデータ処理部13から供給し、アキュムレータ11からのアドレスの指定を行わない形で構成した波形生成回路10の例である。
【0075】
図7に、第3の実施の形態にかかる波形生成回路10の例を示す。波形生成回路10は、アキュムレータ11と、波形メモリ12と、データ処理部13と、DA変換器14と、ローパスフィルタ15と、を備える。波形データが隣り合うデータから順次読み出される第2の実施の形態の例のような場合、波形メモリ12としては、指定されたアドレスのデータを出力するランダムアクセスが可能なメモリである必要はなく、シーケンシャルメモリでもよい。
【0076】
本実施の形態は、このような場合の構成例であり、データ処理部13が、アキュムレータ11からの出力値の整数部が増加するごとに順次波形データを出力する波形メモリ用クロック生成の処理を行う。この波形メモリ用クロックに基づいて、波形メモリ12から波形データの出力が行われる。波形データのデータ点数がN点であれば、Nを超えるタイミングでシーケンシャルメモリの読み込みを先頭から行うようにリセットする信号を付加すればよい。このようにすることで、シーケンシャルメモリは、必ずしもすべてのメモリを使用する必要はない。
【0077】
近年の処理の高速化に伴い、安価に高速な処理が可能なシーケンシャルメモリが使用可能な構成は、処理の高速化やコスト削減の効果も得られる。また、シーケンシャルメモリには、バーストアクセスにより複数ワードのデータをまとめて読み出すことで高速動作を実現しているものもある。このような動作の場合、近隣の複数の波形データがあらかじめ読み込まれるため、波形データをもとに波形処理データを生成する上で都合がよく、好適な構成例といえる。
【0078】
(効果のまとめ)
第3の実施の形態にかかる例において、波形メモリ12としては、指定されたアドレスのデータを出力するランダムアクセスが可能なメモリである必要はなく、シーケンシャルメモリでも実施可能な構成例として、波形メモリ12からの波形データの読み込みを、アキュムレータ11からの出力整数部の加算に応じて生成した波形メモリ用クロックで行うように、データ処理部13を構成した波形生成回路10を説明した。このような処理により、ジッタを抑制するという優れた効果に加え、安価に高速な処理が可能なシーケンシャルメモリが使用可能であるという処理の高速化やコスト削減の効果も得られる。
【0079】
〔第4の実施の形態〕
第4の実施の形態は、波形メモリ12に記憶する波形データの中に、出力補正の要否をあらかじめ規定した固有の情報を入れ込む実施の形態の例である。
【0080】
図8は、第4の実施の形態にかかる補正判定部22の構成例である。補正判定部22は、波形メモリ12から出力される波形データの中で、波形出力の振幅データとして使用しない要補正信号用ビットの情報に基づき、DA変換器14に出力する波形処理データに補正を行うか否かの判定を行い、補正が必要と判定した際には補正指令信号となる補正係数kを算出して、この補正係数kをデータ生成部21に出力する補正係数処理部41を備える。
【0081】
本実施の形態では、波形データとして、任意のビット、例えば最下位のビットを要補正信号用ビットとしておく。この情報は、波形出力の振幅データとしては用いず、このビットが1であれば、補正係数処理部41で算出された補正係数kに基づき、データ生成部21が波形出力の振幅データの補正を行い、0であればデータ生成部21が波形出力の振幅データをそのまま出力する、という形としておく。データ処理部13では、この情報の有無に応じて、波形の中の補正を実施する部分を指定することで、データ同士の差を求めてしきい値に対する大小判定を行うことなく、任意の波形の部位で補正をかけることが可能となる。要補正信号用ビット以外のデータを波形出力の振幅データとして、補正の有無に応じたデータの処理を行い、DA変換器14に処理後の振幅データとして出力すればよい。
【0082】
(効果のまとめ)
第4の実施の形態にかかる例において、出力補正の要否をあらかじめ規定した固有の情報を、波形データの中に入れ込む実施の形態の例として、波形メモリ12から読み出される波形データに補正要否情報となる要補正信号用ビットの情報を付加し、この要補正信号用ビットの情報に基づき、波形データの補間を行うか否かを判定するように、データ処理部13を構成する波形生成回路10を説明した。このような波形データの構成により、ジッタを抑制するという優れた効果を、意図した波形部位で確実に得ることができる。
【0083】
〔第5の実施の形態〕
第5の実施の形態は、波形メモリ12に記憶する波形データの中に、出力補正の要否をあらかじめ規定した固有の情報を入れ込む実施の形態の別の例である。
【0084】
図9は、第5の実施の形態にかかる補正判定部22の構成例である。補正判定部22は、波形メモリ12から出力される波形データの中で、波形出力の振幅データとしても使用可能な要補正信号用ビット列の情報に基づき、DA変換器14に出力する波形処理データに補正処理を行うかどうかの判定を行い、補正が必要と判定した際には補正指令信号となる補正係数kを算出して、この補正係数kをデータ生成部21に出力する補正係数処理部41を備える。
【0085】
本実施の形態では、波形データの特定のビットを要補正信号用ビットとして確保する形ではなく、例えば波形データのビット数を16ビットとして、下位6ビットの特定の値を要補正信号用ビットパターンとして定義しておく、という形である。具体的には、下位6ビットがすべて「111111」というパターンであれば、このデータ部分は補正をかける部位であると補正係数処理部41が判定をし、当該補正係数処理部41で算出された補正係数kに基づき、データ生成部21が波形出力の振幅データの補正を行い、それ以外のパターンであれば、データ生成部21が波形出力の振幅データをそのまま出力する。ここでは、上位10ビットを出力波形の振幅データとして用いているが、これらの上位や下位のビット数は任意であり、これらの値に限定するものではない。
【0086】
この実施の形態のような例では、下位の複数ビットが要補正信号用ビットパターンとして定義された値は、補正が不要な箇所の波形データでは用いないようにする必要がある。そのため、波形メモリ12に書き込む波形データを生成する際に、補正が不要な箇所でこのパターンにたまたま該当する振幅データは、定義された値に対して+1か-1の値としておくような処理をしておけばよい。
【0087】
このような形とすることで、振幅方向の分解能の低下をほぼ起こさずに補正要否の情報を包括した波形データを用いる波形生成回路10の構成が可能となる。
【0088】
(効果のまとめ)
第5の実施の形態にかかる例において、出力補正の要否をあらかじめ規定した固有の情報を、波形データの中に入れ込む別の実施の形態の例として、補間を行う必要のない波形データには、補正要否情報となる要補正信号用ビットの情報のデータ部分にも、波形出力の数値化情報となる振幅データが書き込まれている波形生成回路10を説明した。このような波形データの構成により、ジッタを抑制するという優れた効果を、意図した波形部位で確実に、かつ波形分解能をほとんど犠牲にすることなく得ることができる。
【0089】
〔第6の実施の形態〕
第6の実施の形態は、波形メモリ12に記憶する波形データの中に、出力補正の要否をあらかじめ規定した固有の情報を入れ込む実施の形態のさらに別の例である。
【0090】
第5の実施の形態の要補正信号用ビットパターンをもつ波形データに埋め込む残りのデータ部分に、振幅方向ではなく時間軸方向のデータを付加する実施の形態である。
【0091】
例えば波形データのビット数を16ビットとして、下位6ビットの特定の値を要補正信号用ビットパターンとして定義しておく、という形である。具体的には、例えば下位6ビットがすべて「111111」というパターンとした場合に、残りの10ビットに用いるデータを、例えば要補正信号を持つ前後の波形出力の振幅データの中点が通過するような、前後2つのデータ間の時間軸上の位置を指定するデータとしておくような形である。なお、中点としたのは好適な例ではあるが、2つの振幅データ間の1:2や3:1の位置など、どの位置を通過すると設定するかは任意の設計事項である。
【0092】
波形データの補正は、第1の実施の形態の例のような直線近似、スプライン近似、正弦波状の波形などの関数近似により実現できる。さらには、
図5に示すデータ生成部21の構成例において、補正係数kの値を、これらの補間や近似に基づく値が得られるように逆関数演算をして求めればよい。補正に用いる関数と、補正区間中の両端の2点、およびこの間の通過する点の時間位置を決めることにより、出力波形が更新されるクロック出力時点における補正された波形データは逆関数演算により生成可能である。
【0093】
直線近似は線形近似であり比較的簡素な演算処理でも実現できるが、このような補間も含めスプライン近似や正弦波状の波形のような関数近似の演算は、関数テーブルを用意しておき、位相加算値Δθに基づいた値により関数の値が出力される形としておいてもよい。べき乗演算や三角関数演算などの重い演算負荷がかかる処理(時間を要する処理)を直接実施しないようにすることも可能であり、好適な構成例といえる。
【0094】
(効果のまとめ)
第6の実施の形態にかかる例において、出力補正の要否をあらかじめ規定した固有の情報を、波形データの中に入れ込むさらに別の実施の形態の例として、補間を行う必要のある波形データには、その波形データを含む前後の波形データにおける波形出力の数値化情報となる振幅データ間の時間位置を指定する情報が、要補正信号用ビットの情報以外の残りのデータ部分に書き込まれている波形生成回路10を説明した。このような波形データの構成により、ジッタを抑制するという優れた効果を、意図した波形部位で確実に、かつ波形分解能の低下を伴わず得ることができる。
【0095】
(全体のまとめ)
第1の実施の形態にかかる例において、入力される周期設定に応じて、クロックごとに位相加算値Δθを加算して出力するアキュムレータ11と、数値化された波形出力の波形データを記憶する波形メモリ12と、波形メモリ12からクロックごとに波形データを読み出し、読み出された波形データをもとに、波形データの急変箇所で補間された波形データを出力するデータ処理部13と、を備えた波形生成回路10とすることで、波形データの急変箇所の連続する2点のデータとアキュムレータ11の端数DUと位相加算値Δθに応じて波形データの補間を行う構成とした。このことにより、従来のDDS方式ではジッタが顕著に現れやすい波形の急変箇所であっても、ジッタを抑制するという優れた効果を発揮する。
【0096】
第2の実施の形態にかかる例において、波形メモリ12に書き込むデータとして、周期設定に応じてあらかじめ任意波形データとして用意されているデータに基づき、スプライン近似、直線近似、含まれる区間のデータの移動平均やその他の関数近似により生成する例を説明した。このような処理により、波形メモリ12に書き込む波形データとして、位相加算値Δθが1以下となるようなデータ点数に制限した波形データを含む構成とすることで、ジッタを抑制するという優れた効果に加え、連続した隣り合う波形データによる動作とすることができ、各周期ごとに安定した波形を得ることが可能となるという優れた効果を発揮する。
【0097】
第3の実施の形態にかかる例において、波形メモリ12としては、指定されたアドレスのデータを出力するランダムアクセスが可能なメモリである必要はなく、シーケンシャルメモリでも実施可能な構成例として、波形メモリ12からの波形データの読み込みを、アキュムレータ11からの出力整数部の加算に応じて生成した波形メモリ用クロックで行うように、データ処理部13を構成した波形生成回路10を説明した。このような処理により、ジッタを抑制するという優れた効果に加え、安価に高速な処理が可能なシーケンシャルメモリが使用可能であるという処理の高速化やコスト削減の効果も得られる。
【0098】
第4の実施の形態にかかる例において、出力補正の要否をあらかじめ規定した固有の情報を、波形データの中に入れ込む実施の形態の例として、波形メモリ12から読み出される波形データに補正要否情報となる要補正信号用ビットの情報を付加し、この要補正信号用ビットの情報に基づき、波形データの補間を行うか否かを判定するように、データ処理部13を構成する波形生成回路10を説明した。このような波形データの構成により、ジッタを抑制するという優れた効果を、意図した波形部位で確実に得ることができる。
【0099】
第5の実施の形態にかかる例において、出力補正の要否をあらかじめ規定した固有の情報を、波形データの中に入れ込む別の実施の形態の例として、補間を行う必要のない波形データには、補正要否情報となる要補正信号用ビットの情報のデータ部分にも、波形出力の数値化情報となる振幅データが書き込まれている波形生成回路10を説明した。このような波形データの構成により、ジッタを抑制するという優れた効果を、意図した波形部位で確実に、かつ波形分解能をほとんど犠牲にすることなく得ることができる。
【0100】
第6の実施の形態にかかる例において、出力補正の要否をあらかじめ規定した固有の情報を、波形データの中に入れ込むさらに別の実施の形態の例として、補間を行う必要のある波形データには、その波形データを含む前後の波形データにおける波形出力の数値化情報となる振幅データ間の時間位置を指定する情報が、要補正信号用ビットの情報以外の残りのデータ部分に書き込まれている波形生成回路10を説明した。このような波形データの構成により、ジッタを抑制するという優れた効果を、意図した波形部位で確実に、かつ波形分解能の低下を伴わず得ることができる。
【0101】
これらは、本発明の従来の技術に対するジッタ低減などの優位性を示すものと言える。
【0102】
以上、本発明の最も好ましい実施の形態等について説明したが、本発明は、上記記載に限定されるものではない。特許請求の範囲に記載され、または発明を実施するための形態に開示された発明の要旨に基づき、当業者において様々な変形や変更が可能である。そのような変形や変更が、本発明の範囲に含まれる。
【産業上の利用可能性】
【0103】
本発明の波形生成回路は、例えば以下に示す用途に利用可能であり、有益である。
(1)電子回路の動作試験のためのテスト信号の生成
(2)各種規格に準拠した標準信号のシミュレーション信号源
(3)通信分野などにおける変調用信号源
【符号の説明】
【0104】
11 アキュムレータ
12 波形メモリ
13 データ処理部
14 DA変換器
15 LPF(ローパスフィルタ)
21 データ生成部
22 補正判定部
31 遅延部
32 減算部
33 乗算部
34 加算部
41 補正係数処理部