(57)【特許請求の範囲】
【請求項１】
外部位相入力信号に同期した波形を発生する波形発生方法であって、
前記外部位相入力信号のゼロクロス、ピーク又は所定のしきい値の通過を検出することにより、発生する波形の位相情報をリセットすべきリセットタイミングを検出するステップ、
前記外部位相入力信号を微分することにより該外部位相入力信号に対応する周波数情報を算出するステップ、
前記外部位相入力信号に対応する周波数情報、前記外部位相入力信号および発生する波形の基本波周波数情報に基づいて、前記リセットタイミングにおけるリセット位相を算出するステップ、
前記リセットタイミングにおいて前記発生する波形の位相情報を前記リセット位相に設定するステップ、
前記波形の位相情報に基づいて波形を生成するステップ、
前記外部位相入力信号および前記外部位相入力信号に対応する周波数情報に基づいて、前記リセットタイミングに対応して窓関数を読み出す読出し信号を作成するステップ、及び、
前記読出し信号により窓関数を読み出して、前記生成された波形に乗算するステップ
を有することを特徴とする波形発生方法。
【請求項２】
外部位相入力信号に同期した波形を発生する波形発生方法であって、
前記外部位相入力信号のゼロクロス、ピーク又は所定のしきい値の通過を検出することにより、発生する波形の位相情報をリセットすべきリセットタイミングを検出するステップ、
前記外部位相入力信号を微分することにより該外部位相入力信号に対応する周波数情報を算出するステップ、
前記外部位相入力信号に対応する周波数情報、前記外部位相入力信号および発生する波形の基本波周波数情報に基づいて、前記リセットタイミングにおけるリセット位相を算出するステップ、
前記リセットタイミングにおいて前記発生する波形の位相情報を前記リセット位相に設定するステップ、
前記波形の位相情報に基づいて波形を生成するステップ、
前記外部位相入力信号および前記外部位相入力信号に対応する周波数情報に基づいて、前記リセットタイミングに対応して窓関数を読み出す第１の読出し信号を作成するステップ、
前記発生される波形の不連続部分に対応して窓関数を読み出す第２の読出し信号を作成するステップ、及び、
前記両読出し信号を総合した読出し信号に基づいて窓関数を読み出し、前記生成された波形に乗算するステップ
を有することを特徴とする波形発生方法。
【請求項３】
前記外部位相入力信号に対応する周波数情報を算出するステップは、前記外部位相入力信号のサンプリング周期ごとの増分を算出するステップであることを特徴とする前記請求項１又は２に記載の波形発生方法。
【請求項４】
外部位相入力信号に同期した波形を発生する波形発生装置であって、
前記外部位相入力信号のゼロクロス、ピーク又は所定のしきい値の通過を検出することにより、発生する波形の位相情報をリセットすべきリセットタイミングを検出するリセットタイミング検出手段と、
前記外部位相入力信号を微分することにより該外部位相入力信号に対応する周波数情報を算出する周波数情報算出手段と、
前記外部位相入力信号に対応する周波数情報、前記外部位相入力信号および発生する波形の基本周波数情報に基づいて、前記リセットタイミングにおけるリセット位相を算出するリセット位相計算手段と、
前記発生する波形の基本周波数情報に基づいて位相情報を発生するとともに、前記リセットタイミングにおいて該位相情報を前記リセット位相に設定するようになされた位相情報発生手段と、
前記位相情報発生手段により発生される位相情報に基づいて波形を生成する波形発生手段と、
前記外部位相入力信号および前記外部位相入力信号に対応する周波数情報に基づいて、前記リセットタイミングに対応して窓関数を読み出す窓関数読出し手段と、
該窓関数読出し手段により読出された窓関数を前記波形発生手段により生成された波形に乗算する乗算手段と
を有することを特徴とする波形発生装置。
【請求項５】
外部位相入力信号に同期した波形を発生する波形発生装置であって、
前記外部位相入力信号のゼロクロス、ピーク又は所定のしきい値の通過を検出することにより、発生する波形の位相情報をリセットすべきリセットタイミングを検出するリセットタイミング検出手段と、
前記外部位相入力信号を微分することにより該外部位相入力信号に対応する周波数情報を算出する周波数情報算出手段と、
前記外部位相入力信号に対応する周波数情報、前記外部位相入力信号および発生する波形の基本周波数情報に基づいて、前記リセットタイミングにおけるリセット位相を算出するリセット位相計算手段と、
前記発生する波形の基本周波数情報に基づいて位相情報を発生するとともに、前記リセットタイミングにおいて該位相情報を前記リセット位相に設定するようになされた位相情報発生手段と、
前記位相情報発生手段により発生される位相情報に基づいて波形を生成する波形発生手段と、
前記外部位相入力信号および前記外部位相入力信号に対応する周波数情報に基づいて、前記リセットタイミングに対応して窓関数を読み出す第１の読出し信号を生成する手段と、
前記発生される波形の不連続部分に対応して窓関数を読み出す第２の読出し信号を生成する手段と、
前記第１および第２の読出し信号を総合した読出し信号に基づいて窓関数を読み出す窓関数読出し手段と、
前記窓関数読出し手段により読み出された窓関数を前記波形発生手段により生成された波形に乗算する乗算手段と
を有することを特徴とする波形発生装置。
【請求項６】
前記周波数情報算出手段は、前記外部位相入力信号のサンプリング周期毎の増分を算出する手段であることを特徴とする前記請求項４又は５に記載の波形発生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、外部の発振器などから与えられた位相情報または波形に同期した波形をディジタル処理により発生する波形発生方法及び装置に関する。
【０００２】
【従来の技術】
従来より、アナログシンセサイザーにおいて、鋸歯状波やパルス波（方形波）などを基本波とする波形発生部をマスターとスレーブの２系統備え、マスター側の基本波の周期毎にスレーブ側の基本波の位相をリセットする発振器同期（オシレータシンク）機能を有するものが存在する。ここで、前記スレーブ側の発振器のリセットは、通常、マスター側の基本波の位相が０となった時点でマスター側の発振器から出力されるパルスの入力を契機に行われている。
このような発振器同期機能を有するアナログシンセサイザーによれば、マスター側の波形発生部からはマスター側の基本周波数の楽音信号が出力され、スレーブ側の波形発生部からはマスター側の基本周波数に対応したピッチを有し、スレーブ側の基本周波数を中心周波数とするスペクトル包絡形状の楽音信号が出力される。
【０００３】
一般に、アナログシンセサイザーは、アナログ動作であるためにその動作が不安定となりやすく、現在では、ほとんどのシンセサイザーがディジタル処理によるものに置き換わっている。
しかしながら、アナログシンセサイザーは特有の音質を有しており、前述の発振器同期機能のようなアナログシンセサイザーが備えている機能をディジタル処理により正確にシミュレートすることが望まれている。
【０００４】
上述した発振器同期機能を単純にディジタル化した場合には、各信号（データ）が所定のサンプリング周期ごとに出力されることとなるために理想的なリセットタイミングと実際にリセットされるタイミングとの間に時間的なずれが発生する。
図１１に示す波形の一例を参照して説明する。図１１の（ａ）は、マスター側の基本波の位相情報Ｐｍの波形を示す図であり、このマスター側の基本波位相情報Ｐｍは、図示するように、マスター側の基本周波数情報ｆｍにより決定される傾きを有し、「−１」〜「＋１」の値の範囲で鋸歯状に変化する波形となっている。すなわち、振幅の−１〜＋１が位相の−π〜＋πに対応付けられている。ここで、ディジタル的に処理するために、この位相情報Ｐｍは、実際には図中○で示したサンプリング周期Δｔ毎の値が出力される。
図１１の（ｂ）は、スレーブ側の基本波の位相情報Ｐｓの波形を示す図であり、スレーブ側の基本波周波数情報ｆｓにより決定される傾きを有し、「−１」〜「＋１」の値の範囲で鋸歯状に変化する波形となっており、この位相情報Ｐｓも同様にサンプリング周期Δｔ毎に出力される。そして、図示するように、前記マスター側の基本波位相情報Ｐｍが「＋１」から「−１」となるタイミング（ｔ０）に同期して「−１」レベルにリセットされることにより前述した発振器同期が行われる。
【０００５】
しかしながら、前記マスター側の基本波位相情報Ｐｍは、前述のようにサンプリング周期Δｔ毎に出力されるものであり、この位相情報Ｐｍが「＋１」から「−１」に立ち下がったことを認識できるのは、図中ｔ１で示すタイミングとなり、このタイミングで、前記スレーブ側の基本波位相情報Ｐｓをリセットすると図１１の（ｃ）で示すようなスレーブ側の基本波位相情報Ｐｓの出力となってしまう。すなわち、図（ｃ）中にΔｚ１（＝ｔ１−ｔ０）で示す時間ずれ（ジッタ）が発生することとなってしまう。同様に、ｔ２で示すタイミングでも同様のことが発生し、Δｚ２で示す時間ずれが発生する。
【０００６】
そこで、本発明者らは、このような時間ずれを生じることなく発振器同期機能を実現することができる楽音発生方法及び装置を提案している（特開平１０−１９８３７８号公報）。
まず、この提案されている方法の原理について説明する。
前記図１１の（ｂ）に示したように、理想的なスレーブ側の基本波位相情報Ｐｓは、ｔ１において、既に０とは異なる値「ｐｓ」を有している。そこで、実際にリセット処理が行われるｔ１のタイミングにおいて、該理想的な位相情報「ｐｓ」をスレーブ側にリセット位相としてセットすることにより、ジッタによる音質への悪影響を低減することができる。このリセット位相「ｐｓ」は、以下に説明するように、マスター側の基本波周波数情報「ｆｍ」とリセットタイミングｔ１におけるマスター側の基本波位相情報「ｐｍ」とからサンプリング周波数が無限大の場合におけるリセット時点ｔ０を推定し、このリセット時点ｔ０とスレーブ側の基本波周波数情報「ｆｓ」とから求めることができる。
【０００７】
前記リセット位相「ｐｓ」を求める過程について具体的に説明する。ただし、以下の説明において、０＜ｆｍ＜１、０＜ｆｓ＜１であるものとする。
前述のように、マスター側の基本波位相情報Ｐｍとスレーブ側の基本波位相情報Ｐｓにおける周波数の比と傾きの比は等しい。また、図１１（ｂ）において、真のリセット時点ｔ０から実際のリセットタイミングｔ１までにＰｓが増加した値ｐｓとＰｍが増加した値ｐｍ’との比ｐｓ／ｐｍ’は、Ｐｍの波形の傾きに対するＰｓの波形の傾きの比に等しい。これにより、次の（１）式が成立する。
ｐｓ／ｐｍ’＝ｆｓ／ｆｍ        …（１）
この（１）式より、（２）式が導出され、さらにｐｍ’＝ｐｍ＋１であることから、（３）式が得られる。
ｐｓ＝ｐｍ’／ｆｍ・ｆｓ        …（２）
ｐｓ＝（ｐｍ＋１）／ｆｍ・ｆｓ  …（３）
すなわち、実際のリセットタイミングｔ１における理想的なｐｓの値は、ｆｍ、ｆｓ、および実際のリセットタイミングｔ１におけるｐｍとから算出することができる。
【０００８】
図１２は、この提案されている楽音発生装置の構成例を示すブロック図である。この図において、１０１はマスター側の波形発生器、１０２はスレーブ側の波形発生器であり、これらの波形発生器１０１および１０２は、例えば、フィードバックＦＭ方式の波形発生器とされている。
１０３は演算結果が「−１」〜「＋１」の範囲を超えると超えた分を切り捨てて「＋１」から「−１」へと折り返される加算結果を出力するモジュロ型加算器、１４は前記モジュロ型加算器１３の加算結果を１サンプリング周期（Δｔ）だけ遅延する遅延回路であり、このモジュロ型加算器１３および遅延回路１０４によりマスター側の基本波の周波数を表すマスター側の基本波周波数情報ｆｍを計数し、鋸歯状のマスター側基本波位相情報Ｐｍを出力するマスター側発振器が構成されている。このマスター側発振器の出力Ｐｍは、前記図１１（ａ）に示したように、「−１」〜「＋１」の間の鋸歯状波となり、この位相情報Ｐｍは前記波形発生器１０１に入力され、前記波形発生器１０１からマスター波形が出力される。
【０００９】
また、１０５は前述したリセットタイミングを検出するリセットタイミング検出器であり、例えば、前記モジュロ型加算器１０３のオーバフローを検出するころにより前記リセットタイミングを検出する。さらに、前記マスター側位相情報Ｐｍはモジュロ型加算器１０６において定数「＋１」とモジュロ加算され、該加算結果Ｐｍ’＝（１＋Ｐｍ）が出力される。１０７は除算器であり、前記モジュロ加算器１０６からの位相情報Ｐｍ’を前記マスター側基本波周波数情報ｆｍで除算し、出力ｐ（＝ｐｍ’／ｆｍ）を出力する。
スレーブ側においてモジュロ型加算器１０９と遅延回路１１０によりスレーブ側の基本波位相情報を出力するスレーブ側発振器が構成されている。また、１１１は前記モジュロ型加算器１０９の出力と後述する乗算器１０８の出力を選択して前記スレーブ側の波形発生器１０２に供給する切替スイッチである。乗算器１０８は前記除算器１０７の演算結果ｐ（＝ｐｍ’／ｆｍ）とスレーブ側基本周波数情報ｆｓとを乗算して、前記式（３）に示されるｐｓ（＝ｆｓ・ｐｍ’／ｆｍ）を出力する。前記切替スイッチ１１１は、前記リセットタイミング検出器１０５からの出力があったタイミングだけ「１」側に切り換えられ、前記乗算器１０８の出力ｐｓを前記スレーブ側の波形発生器１０２にリセット位相として供給する。
これにより、前記図１１の（ｂ）に示すような、理想的な発振器同期をディジタル処理において実現することができる。
【００１０】
【発明が解決しようとする課題】
上述した提案されている楽音発生方法によれば、ディジタル構成の波形発生器（ＤＣＯ：Digital Controlled Oscillator）において、発振器同期を確実に行うことができる。
しかしながら、この提案されている方法においては、マスターとなるＤＣＯの位相と周波数の両方の信号が利用可能であることが要求されている。
しかし、このような発振器同期を、マスターとなる側が前述したようなアナログＶＣＯをシミュレートしたものに限らず、例えば、ＦＭ音源、ＰＣＭ音源、物理モデル音源などの各種別の音源出力、電気・電子楽器の出力、あるいはマイク入力音などをマスターとするより多くの場合においても実現したいという要求がある。
そのような場合に、マスター側で位相情報と周波数情報とを供給することができれば問題はないが、外部の音源等からの信号をマスターの位相情報と見なして用いる場合は周波数情報を持たないため、別途、位相から周波数を計算する手段を用意しなければならない。しかしながら、スレーブ側のＤＣＯで用いるマスターの周波数情報を、マスター側でいちいち計算するのは無駄であるし、マスターとスレーブとの間を位相と周波数という２つの信号で受け渡しを行うことは、レジスタの消費も増え、わずかなリソースしか持たないＤＳＰにおいては負担となる場合もある。
【００１１】
また、一方、ただの波形信号にさえＤＣＯをシンクさせたいという要求もある。例えば、Ａ／Ｄ変換された信号にＤＣＯの音を付加するような場合に、基本ピッチが合っていたほうが便利な場合が多いなどのことから、このような要求が発生している。
そこで本発明は、外部から与えられた位相情報または波形信号にＤＣＯを同期させることのできる波形発生方法および装置を提供することを目的としている。
【００１２】
【課題を解決するための手段】
上記目的を達成するために、本発明の波形発生方法は、外部位相入力信号に同期した波形を発生する波形発生方法であって、前記外部位相入力信号のゼロクロス、ピーク又は所定のしきい値の通過を検出することにより、発生する波形の位相情報をリセットすべきリセットタイミングを検出するステップ、前記外部位相入力信号を微分することにより該外部位相入力信号に対応する周波数情報を算出するステップ、前記外部位相入力信号に対応する周波数情報、前記外部位相入力信号および発生する波形の基本波周波数情報に基づいて、前記リセットタイミングにおけるリセット位相を算出するステップ、前記リセットタイミングにおいて前記発生する波形の位相情報を前記リセット位相に設定するステップ、前記波形の位相情報に基づいて波形を生成するステップ、前記外部位相入力信号および前記外部位相入力信号に対応する周波数情報に基づいて、前記リセットタイミングに対応して窓関数を読み出す読出し信号を作成するステップ、及び、前記読出し信号により窓関数を読み出して、前記生成された波形に乗算するステップを有するものである。
【００１３】
また、本発明の他の波形発生方法は、外部位相入力信号に同期した波形を発生する波形発生方法であって、前記外部位相入力信号のゼロクロス、ピーク又は所定のしきい値の通過を検出することにより、発生する波形の位相情報をリセットすべきリセットタイミングを検出するステップ、前記外部位相入力信号を微分することにより該外部位相入力信号に対応する周波数情報を算出するステップ、前記外部位相入力信号に対応する周波数情報、前記外部位相入力信号および発生する波形の基本波周波数情報に基づいて、前記リセットタイミングにおけるリセット位相を算出するステップ、前記リセットタイミングにおいて前記発生する波形の位相情報を前記リセット位相に設定するステップ、前記波形の位相情報に基づいて波形を生成するステップ、前記外部位相入力信号および前記外部位相入力信号に対応する周波数情報に基づいて、前記リセットタイミングに対応して窓関数を読み出す第１の読出し信号を作成するステップ、前記発生される波形の不連続部分に対応して窓関数を読み出す第２の読出し信号を作成するステップ、及び、前記両読出し信号を総合した読出し信号に基づいて窓関数を読み出し、前記生成された波形に乗算するステップを有するものである。
さらに、前記外部位相入力信号に対応する周波数情報を算出するステップは、前記外部位相入力信号のサンプリング周期ごとの増分を算出するステップとされているものである。
【００１４】
さらにまた、本発明の波形発生装置は、外部位相入力信号に同期した波形を発生する波形発生装置であって、前記外部位相入力信号のゼロクロス、ピーク又は所定のしきい値の通過を検出することにより、発生する波形の位相情報をリセットすべきリセットタイミングを検出するリセットタイミング検出手段と、前記外部位相入力信号を微分することにより該外部位相入力信号に対応する周波数情報を算出する周波数情報算出手段と、前記外部位相入力信号に対応する周波数情報、前記外部位相入力信号および発生する波形の基本周波数情報に基づいて、前記リセットタイミングにおけるリセット位相を算出するリセット位相計算手段と、前記発生する波形の基本周波数情報に基づいて位相情報を発生するとともに、前記リセットタイミングにおいて該位相情報を前記リセット位相に設定するようになされた位相情報発生手段と、前記位相情報発生手段により発生される位相情報に基づいて波形を生成する波形発生手段と、前記外部位相入力信号および前記外部位相入力信号に対応する周波数情報に基づいて、前記リセットタイミングに対応して窓関数を読み出す窓関数読出し手段と、該窓関数読出し手段により読出された窓関数を前記波形発生手段により生成された波形に乗算する乗算手段とを有するものである。
【００１５】
さらにまた、本発明の他の波形発生装置は、外部位相入力信号に同期した波形を発生する波形発生装置であって、前記外部位相入力信号のゼロクロス、ピーク又は所定のしきい値の通過を検出することにより、発生する波形の位相情報をリセットすべきリセットタイミングを検出するリセットタイミング検出手段と、前記外部位相入力信号を微分することにより該外部位相入力信号に対応する周波数情報を算出する周波数情報算出手段と、前記外部位相入力信号に対応する周波数情報、前記外部位相入力信号および発生する波形の基本周波数情報に基づいて、前記リセットタイミングにおけるリセット位相を算出するリセット位相計算手段と、前記発生する波形の基本周波数情報に基づいて位相情報を発生するとともに、前記リセットタイミングにおいて該位相情報を前記リセット位相に設定するようになされた位相情報発生手段と、前記位相情報発生手段により発生される位相情報に基づいて波形を生成する波形発生手段と、前記外部位相入力信号および前記外部位相入力信号に対応する周波数情報に基づいて、前記リセットタイミングに対応して窓関数を読み出す第１の読出し信号を生成する手段と、前記発生される波形の不連続部分に対応して窓関数を読み出す第２の読出し信号を生成する手段と、前記第１および第２の読出し信号を総合した読出し信号に基づいて窓関数を読み出す窓関数読出し手段と、前記窓関数読出し手段により読み出された窓関数を前記波形発生手段により生成された波形に乗算する乗算手段とを有するものである。
さらにまた、前記周波数情報算出手段は、前記外部位相入力信号のサンプリング周期毎の増分を算出する手段とされているものである。
【００１６】
【発明の実施の形態】
図１は、本発明の波形発生方法が適用された波形発生装置の参考例の構成を示すブロック図である。なお、本発明の波形発生装置はハードウエアにより実現することができるだけではなく、ＤＳＰ（Digital Signal Processor）等を用いてソフトウエアあるいはファームウエアにより実現することができるものである。
この波形発生装置は、大きく分けて、外部から入力される位相情報（外部位相入力）Ｐｘから周波数情報ｆｘを得る周波数計算手段、前記周波数計算手段のオーバーフローを検出してリセットタイミングを検出するリセットタイミング検出手段、リセット時の位相情報と周波数情報の逆数およびスレーブ側のＤＣＯの周波数情報とからスレーブ側のＤＣＯの正確なリセット位相を計算するリセット位相計算手段、リセット機構を備えた位相情報発生手段、および、位相情報から波形を発生する波形発生手段とから構成されている。
なお、本発明においては２種類の演算器が使用されている。第１の種類の演算器は、演算結果が「−１」〜「＋１」の範囲を超えると超えた分を切り捨てて「＋１」から「−１」へと折り返される演算結果を出力するモジュロ演算器（モジュロ加算器あるいはモジュロ乗算器、図中ｍｏと記載）であり、第２は、演算結果が「−１」〜「＋１」の範囲を超えてもその範囲に演算結果が制限されるオーバーフロープロテクトタイプの演算器（加算器あるいは乗算器、図中ｏｖと記載）である。なお、ｍｏおよびｏｖのいずれもが記されていない演算器は、途中結果を保存するための演算器である。
【００１７】
図１において、Ｐｘは外部位相入力であり、他の音源や他のＤＣＯなどからの出力波形、ライン入力またはマイク入力などの外部波形入力を位相情報と見なしてこの外部位相入力Ｐｘとすることができる。１は前記外部位相入力Ｐｘを微分して周波数情報ｆｘを得る周波数計算手段であり、この周波数計算手段１は、入力される位相情報Ｐｘを１サンプリング期間だけ遅延する遅延回路１１および前記位相情報Ｐｘから前記遅延回路１１の出力を減算するモジュロ加算器１２により構成されている。このモジュロ加算器１２により、位相情報Ｐｘの微分出力、すなわち周波数情報ｆｘが出力される。ここで、モジュロ加算器１２は、前述のように、演算結果が「−１」〜「＋１」の範囲を超えると超えた分を切り捨てて「＋１」から「−１」へ折り返される演算結果を出力するものであり、リセットタイミング検出手段２により、このモジュロ加算器１２のオーバーフローを検出する。このリセットタイミング検出手段２の出力は後述するリセット機構を備えた位相情報発生手段４に供給される。
【００１８】
３はリセット位相計算手段であり、ここで行われるリセット位相の計算は、基本的に、外部位相入力Ｐｘと該外部位相入力Ｐｘを微分することにより得た周波数情報ｆｘと基本波周波数情報ｆｎとを使用して、前記式（３）に基づき、リセット位相を計算するものである。
リセット位相計算手段３において、前記モジュロ加算器１２において算出された周波数情報ｆｘは絶対値回路１３に入力され、その絶対値｜ｆｘ｜が出力される。ここで、絶対値をとっているのは、外部位相入力Ｐｘを微分した周波数信号が正または負のいずれであっても対応することができるようにするためである。前記周波数の絶対値｜ｆｘ｜は逆数テーブル１４に入力され、該逆数テーブル１４から、１／（｜ｆｘ｜・Ｓ）が出力される。ここで、演算の有効桁数を確保するために逆数１／｜ｆｘ｜に１／Ｓを乗算した（Ｓに対応するビット数だけ右シフトした）値を出力している。このシフト量Ｓにより、最大発振周波数の何分の１まで正確なリセット位相を算出することができるかが決定されており、このシフト量Ｓの値は、例えば、８ビット（＝２５６）とされている。
【００１９】
一方、前記外部位相入力Ｐｘはモジュロ加算器１５に入力され、ここで定数「−１」とモジュロ加算されて、出力Ｐｘ’が出力される。この出力Ｐｘ’は、絶対値回路１６に入力され、｜Ｐｘ’｜が出力される。ここで、Ｐｘ’の絶対値をとるのは、前記逆数テーブル１４からの出力と乗算したときに正の値を得るためである。
絶対値回路１６の出力｜Ｐｘ’｜は乗算器１７に入力され、前記逆数テーブル１４から出力１／（｜ｆｘ｜・Ｓ）と乗算される。そして、該乗算結果はオーバーフロープロテクト型の乗算器１８において、シフト量Ｓと乗算され、該乗算器１８から、出力｜Ｐｘ’｜／｜ｆｘ｜が出力される。この出力は、リセットタイミングの小数部（前記図１１におけるΔｚ／Δｔ）に相当する。
【００２０】
前記乗算器１８の出力は乗算器１９に入力され、発生すべき波形信号の基本波周波数情報（周波数ナンバ）ｆｎと乗算される。これにより、前述した式（３）の演算が実行されたこととなる。該乗算結果は、モジュロ加算器２０において初期位相Ｐｉとモジュロ加算され、該モジュロ加算器２０から、（ｆｎ・｜Ｐｘ’｜／｜ｆｘ｜＋Ｐｉ）のモジュロの値、すなわち、前記外部位相入力Ｐｘのリセットタイミングにおけるスレーブ側の位相情報の値が算出されることとなる。この位相情報は、前述したリセット機構を備えた位相情報発生手段４における切替スイッチ２２の「１」側の接点に供給される。
なお、上記においては、前記モジュロ加算器２０において初期位相Ｐｉを加算するようにしていたが、必ずしもここで、初期位相を加える必要はない。また、この初期位相Ｐｉを時間的に変化させることにより、うねりのある楽音を発生させることもできる。
【００２１】
一方、前記周波数ナンバｆｎは前記位相情報発生手段４におけるモジュロ加算器２１にも入力されている。このモジュロ加算器２１の出力は切替スイッチ２２の「０」側の接点に供給されており、該切替スイッチ２２の固定接点は波形発生手段５に接続されているとともに、１サンプリング期間の遅延を行う遅延回路２３に接続されている。この遅延回路２２の出力は前記モジュロ加算器２１の他方の入力に接続されている。
【００２２】
前記切替スイッチ２２が「０」側の接点に接続されているときには、この位相情報発生手段５からは周波数ナンバｆｎに対応した傾きの鋸歯状波形状の位相情報が出力される。そして、前記モジュロ加算器１２のオーバーフローなどによりリセットタイミング検出手段２からリセットタイミング信号が出力されたときには、そのサンプリング期間だけ、前記切替スイッチ２２が「１」側の接点に切り換えられ、前記モジュロ加算器２０からのリセット位相情報（ｆｎ・｜Ｐｘ’｜／｜ｆｘ｜＋Ｐｉ）が選択されて、前記波形発生器５および前記遅延回路２３に供給される。そして、その次のサンプリングタイミングでは、前記切替スイッチ２２は再び「０」側の接点に接続される。これにより、前記外部位相入力Ｐｘに完全に同期した位相情報を前記波形発生器５に供給することができ、該波形発生器５から前記外部位相入力Ｐｘに同期した楽音が発生されることとなる。
なお、上述においては、前記周波数計算手段１におけるモジュロ加算器１２のオーバーフローを検出することにより前記外部位相入力Ｐｘの零クロス点を検出して、それをリセットタイミングとしていたが、これに限られることはなく、外部位相入力Ｐｘの波形の周期を検出したり、その振幅のピーク値や所定のしきい値を通過する点などの特異点を検出することによりリセットタイミングを検出するようにしてもよい。
このように、この波形発生装置によれば、任意の外部入力信号を位相情報と見なして、該外部入力信号に同期した波形データを発生させることができる。
【００２３】
ところで、上述した参考例によれば、正確なリセット位相を実現することができるために、発生される楽音のエリアジング（折返し歪み）をある程度少なくすることができるが、これだけでは十分ではない場合がある。そこで、エリアジングの発生をより抑えるため、前記リセット部分に窓関数を掛けるようにした、本発明の波形発生方法が適用された波形発生装置の第１の実施の形態について説明する。図２は、この実施の形態の構成例を示すブロック図である。この実施の形態では、窓関数を位相と周波数の逆関数とから求めた波形をアドレスとしてアクセスする窓関数テーブルより求めるようにしている。
【００２４】
図２において、前記図１と同一の構成要素には同一の番号を付し、説明を省略する。この実施の形態においては、前記リセット部分に窓関数を乗算する窓関数乗算手段６が設けられている点で前記図１に示した波形発生装置と相違している。
すなわち、この実施の形態においては、前記リセット位相計算手段３中の乗算器１７の出力が分岐されて、窓関数乗算手段６におけるオーバーフロープロテクト型乗算器２４に入力され、ここで、窓関数の巾を決定する係数Ｓｗと乗算される。この出力は、窓関数テーブル２５にアドレスとして入力され、該窓関数テーブル２５からの窓関数出力が前記波形発生器５からの波形出力にオーバーフロープロテクト型乗算器２６で乗算される。
【００２５】
図３は、前記図２における要部の波形の一例を示す図である。図３の（ａ）は前記外部位相入力Ｐｘの一例を示しており、前記モジュロ加算器１５により図３の（ｂ）に示すような、位相が１８０°ずれた出力Ｐｘ’となる。これにより、前記波形Ｐｘにおける零クロス点が波形Ｐｘ’における不連続点に変換される。この出力Ｐｘ’は絶対値回路１６を介して図３の（ｃ）に示す出力※１となる。図から明らかなように、この出力※１は、前記図（ａ）に示した外部位相入力Ｐｘのリセットタイミングで「０」となる波形である。
この絶対値回路１６の出力｜Ｐｘ’｜は、前述のように前記逆数テーブル１４からの出力（１／（｜ｆｘ｜・Ｓ））と乗算器１７において乗算され、該出力は分岐されて、窓関数乗算手段６に供給される。窓関数乗算手段６において、前記乗算器１７の出力は、窓関数の巾を決定するための係数Ｓｗと乗算される。図３の（ｄ）は、該乗算器２４の出力※３の例を示している。ここで、出力※３の傾斜部の傾きは前記係数Ｓｗにより決定されており、前記係数Ｓｗの値を変更することにより、窓関数の巾を変更することができる。この出力※３をアドレスとして、図中に示したような入出力特性を有する窓関数テーブル２５を読み出すことにより、図３の（ｅ）に示すような、窓関数出力が得られる。この窓関数出力をオーバーフロープロテクト型の乗算器２６において前記波形発生器５の波形出力と乗算することにより、前記リセット部分に窓関数が乗算された波形出力を得ることができる。
【００２６】
なお、上述においては、前記周波数ｆｘの逆数を乗算する乗算器１７の出力※２を前記窓関数乗算部６の乗算器２４に供給していた。したがって、窓関数の巾は、周波数ｆｘの大きさによらず一定幅となっていたが、前記絶対値回路１６の出力※１を前記乗算器２４に入力する場合には、図３の（ｆ）に示すように、周波数ｆｘの逆数に比例した幅の窓関数を得ることができる。
このようにして、前記リセット時に生じる不連続波形の帯域制限を行うことができ、リセットにより発生するエリアジングを防止することが可能となる。
また、この窓関数を積極的に利用することで、発生される楽音のスペクトル包絡あるいはフォルマントの形状を任意の形状に制御することもできる。
【００２７】
ところで、前記波形発生器５における波形発生方式としては、フィードバックＦＭ方式、ＰＣＭで帯域制限した波形を切り換えて出力する方式、帯域制限した波形を直接発生させる方式などがあるが、帯域制限した波形を直接発生させる第３の方法の場合には、エリアジングを防ぐために波形に掛ける窓関数と、前記リセット部分にかける窓関数とを共通にすることができる。
そこで、このエリアジングを防ぐために波形に掛ける窓関数とリセット部分に掛ける窓関数とを共通にした実施の形態について、図４に示すこの実施の形態の構成例を示すブロック図および図５に示す波形図を参照して説明する。この実施の形態においては、波形に対する窓関数をアクセスする波形と、リセット部分の窓関数をアクセスする波形とを組み合わせて（例えば、最小値をとるなどの方法による）、窓関数テーブルをアクセスするようにしている。これにより波形発生部分の規模を小さくすることができる。
【００２８】
図４に示すブロック図において、前記図１あるいは図２に示した構成要素と同一の構成要素には同一の番号を付して説明を省略する。この図から明らかなように、この実施の形態においても、前述したリセットタイミング検出手段２、リセット位相計算手段３および位相情報発生手段４は前述した実施の形態と同様に構成されている。また、この図に示した実施の形態は、前述のように、帯域制限した波形を直接発生させるものであるため、前述した波形発生器５は設けられていない。
なお、図４には、周波数情報ｆｘを作成する前記周波数計算手段１および外部位相入力Ｐｘに「−１」をモジュロ加算してＰｘ’を出力するモジュロ加算器１５については記載されていないが、これらは、前述した図１あるいは図２に示したものと同様の構成としてもよいし、あるいは、マスター側として周波数情報および位相情報を含むＶＣＯあるいはＤＣＯが用いられている場合には、その周波数情報および位相情報を直接用いるようにしてもよい。
【００２９】
図４において、周波数ナンバｆｎは絶対値回路３１にも入力され、その絶対値｜ｆｘ｜が逆数テーブル３２にアドレスとして供給され、該逆数テーブル３２から１／（｜ｆｎ｜・Ｓ）が出力される。ここで、Ｓは前述したものと同様のシフト量である。また、前記位相情報発生手段４の出力はモジュロ加算器３３とオーバーフロープロテクト型の乗算器３９に供給されている。
モジュロ加算器３３に入力された位相情報発生手段４の出力（※１、図５の（ｂ））は、モジュロ加算器３３において定数「−１」とモジュロ加算され、その位相が１８０°シフトされる。該位相が１８０°シフトされた位相情報発生手段４の出力は、絶対値回路３４に供給され、該絶対値回路３４の出力は、オーバーフロープロテクト型乗算器３５において、前記逆数テーブル３２の出力と乗算される。図５の（ｄ）はこの乗算器３５の出力※３を示している。なお、この出力※３の傾きは、周波数情報ｆｎの逆数を乗算しているため、前記オーバフロープロテクト型乗算器１７からの出力※２と同一の傾きとなっている。
【００３０】
３６は最小値選択回路であり、Ａ端子に入力される前記リセット位相計算手段３におけるオーバーフロープロテクト型乗算器１７の出力※２（図５の（ｃ））と、Ｂ端子に入力される前記乗算器３５の出力※３（図５の（ｄ））とを比較し、より小さいほうの値を出力する。これにより、前記乗算器１７からの出力※２に表れるマスターのリセットタイミングと前記乗算器３５からのスレーブのリセットタイミングの両者が得られることとなる。そして、該最小値選択回路３６の出力は、オーバーフロープロテクト型の乗算器３７において窓の幅を決定する所定の係数Ｓｗと乗算される。図５の（ｅ）は、この乗算器３７の出力※４を示している。この図から明らかなように、マスターのリセットタイミングとスレーブのリセットタイミングの両者において所定の傾きをもって０レベルとなる出力が得られる。この出力※４は、窓関数テーブル３８にアドレスとして入力される。前記窓関数テーブル３８は、図中に示したような特性の窓関数に対応する出力※５を出力し、オーバーフロープロテクト型の乗算器３９で、前記位相情報発生手段４からの鋸歯状波出力※１と乗算され、図５の（ｇ）に示すような帯域制限された鋸歯状波出力ＳＡＷが出力されることとなる。
【００３１】
このようにして、前記位相情報発生手段４から直接に鋸歯状波波形出力を生成させる場合に、該スレーブ波形自体の不連続部および前述したリセット部分の両者に単一の窓関数テーブル３８からの窓関数出力を用い、乗算することが可能となる。したがって、構成を簡易なものとすることができる。
【００３２】
上述した実施の形態は鋸歯状波を直接生成する場合であったが、この手法は、その他の波形を直接生成する場合であっても、同様に適用することができる。
パルス波形（方形波波形）を生成する場合には、所定の時間幅だけずれた２つの鋸歯状波波形の差をとることにより前記所定の時間幅に対応するパルス幅を有するパルス波形を得ることができる。図６は、パルス波形を直接生成するようにしたときに前記図４に付加すべき構成要素を示すブロック図である。
前記図４に示した実施の形態において、絶対値回路３１および３４、逆数テーブル３２、モジュロ加算器３３、オーバーフロープロテクト型乗算器３５、３７および３９、最小値選択回路３６、窓関数テーブル３８により、所定の帯域制限を掛けられたＳＡＷ波形出力※６が得られている。そして、この図６におけるモジュロ加算器４１において、前記位相情報発生回路４からの出力※１にパルス幅となる所定の係数Ｐｗをモジュロ加算し、Ｐｗに相当する分だけ位相がシフトした鋸歯状波を発生する。そして、このＰｗに相当する分だけ位相がシフトした鋸歯状波に対し、前記図４における処理と同等の処理を行い、帯域制限された鋸歯状波を生成する。すなわち、図６におけるモジュロ加算器４２および絶対値回路４３はそれぞれ前記図４におけるモジュロ加算器３３および絶対値回路３４に相当する。同様に、図６におけるオーバーフロープロテクト型乗算器４４、最小値選択回路４５、オーバーフロープロテクト型乗算器４６、窓関数テーブル４７およびオーバーフロープロテクト型乗算器４８は、それぞれ前記図４におけるオーバーフロープロテクト型乗算器３５、最小値選択回路３６、オーバーフロープロテクト型乗算器３７、窓関数テーブル３８、オーバーフロープロテクト型乗算器３９に相当する。
【００３３】
これにより、前述と同様の動作が行われ、前記オーバーフロープロテクト型乗算器４８からは前記図４のＳＡＷ波形出力※６と位相がＰｗに相当する分だけシフトした第２のＳＡＷ波形出力が得られる。この第２のＳＡＷ波形出力は乗算器４９において、パルス波形のデューティ比を決定する係数−ａと乗算され、乗算器５０において同様に係数ａと乗算された第１のＳＡＷ波形出力※６とオーバーフロープロテクト型加算器５１において加算される。これにより、この加算器５１から前記係数Ｐｗに対応する時間幅を有するパルス波形が出力される。
このようにして、マスター波形に同期するとともに帯域制限されたパルス波形を直接出力することができる。
【００３４】
さて、上述した発振器同期の方法は、より一般的な波形をマスターとして扱う場合にも適用することができる。この場合、入力波形は予めＨＰＦ（高域通過フィルタ）を通すことにより直流分をカットしたり、あるいは、ＬＰＦ（低域通過フィルタ）などで倍音成分を除去しておくなどの処理を施しておいたほうがよい場合もある。
この一般的な波形が入力され、該波形入力に同期した波形を出力する実施の形態について、図７に示すブロック図および図８の要部波形図を参照して説明する。
この実施の形態は、大略、入力波形の零クロス点や振幅のピーク点などの特異点を検出してリセットタイミングを得るリセットタイミング検出手段、入力波形を位相とみなして該波形を微分することにより増分（すなわち、前述の実施の形態でいうところの周波数情報）を得る周波数算出手段、リセット時の位相と増分（周波数）の逆数およびスレーブ側のＤＣＯの周波数情報とから、スレーブ側のＤＣＯの正確なリセット位相を計算するリセット位相計算手段、発生する波形の位相情報を発生する位相情報発生手段およびスレーブ側の位相情報から波形を形成する波形発生手段とから構成されている。
【００３５】
図７において、前述した図１と同一の構成要素には同一の番号を付し、説明の重複を避けることとする。図７に示したように、この実施の形態においても、前述した図１の波形発生装置と同様に、周波数計算手段１、リセットタイミング検出手段２、リセット位相計算手段３、位相情報発生手段４および波形発生手段５を有している。そして、前記周波数計算手段１の前段に、外部波形入力の倍音成分などを除去するためのＬＰＦ（低域通過フィルタ）６１および直流分などをカットするＨＰＦ（高域通過フィルタ）６２が必要に応じて設けられており、さらに、外部波形入力に定数「０．５」を乗算するオーバーフロープロテクト型の乗算器６３、および、該乗算結果Ｗｘの位相を１８０°シフトするために定数「−１」を加算するモジュロ加算器６４が設けられている。また、絶対値回路１６には前記オーバーフロープロテクト型乗算器６３の出力Ｗｘが入力されている。なお、ここでは、外部波形入力の振幅は、「−１」〜「＋１」に正規化されているものとして説明する。
【００３６】
図８の（ａ）は必要に応じて前記ＨＰＦ６２を介して入力される外部波形入力※１の波形の一例を示しており、この波形は、オーバーフロープロテクト型の乗算器６３において、定数「０．５」と乗算され、図８の（ｂ）に示す出力Ｗｘとなる。次に、この出力Ｗｘはモジュロ加算器６４において定数「−１」とモジュロ加算され、図８の（ｃ）に示す位相が１８０°ずれた波形に相当する出力Ｗｘ’となる。
次に、前記周波数計算手段１において、該波形Ｗｘ’の微分処理、すなわち、１サンプリング周期前からの波形の増分の算出を行い、微分結果ｄｘを求める。そして、前記リセットタイミング検出手段２において、モジュロ加算器１２における加算結果が−１より小さくなるオーバーフローを検出することにより、前記外部波形入力※１の零クロス点の検出を行う。これは、外部入力波形※１の負→正への零クロスを検出することに対応している。なお、微分値が＋１より大きくなったことを検出するようにした場合には、波形の正→負の零クロスを検出することができる。また、前記乗算器６３において定数「０．５」を乗算したのは、零クロス検出をオーバーフロー検出で行うときに、波形の変化分を所定の範囲内とするためである。
【００３７】
前記周波数計算手段１の出力ｄｘは波形の増分を表わしており、外部入力波形が位相情報であるとした場合の周波数情報（周波数ナンバ）に相当する。したがって、このｄｘを前述した実施の形態における周波数情報ｆｘと同等に取り扱うことにより、前述の各実施の形態の場合と同様にリセット位相計算部３においてリセット位相を計算することができる。なお、前記モジュロ加算器６４の出力Ｗｘ’は前述した実施の形態における外部位相入力に相当し、Ｗｘ’と位相が１８０°異なる外部波形入力Ｗｘをリセット位相計算部３の絶対値回路１６に直接に入力するようにしている。
このようにして、外部波形入力に同期した波形を発生することができる。
【００３８】
なお、負→正への零クロスが起きたときには、ｄｘ＞０、Ｗｘ≧０であるから、ｄｘの絶対値をとる絶対値回路１３およびＷｘの絶対値をとる絶対値回路１６は必ずしも設けなくともよい。
また、零クロスの検出は、上述した方法以外の方法を用いてもよい。例えば、Ｗｘの符号ビット（通常は、ＭＳＢ）が１（負）から０（正）に変化したことを検出するようにしてもよい。この方法はＤＳＰで実行せずに、ハードウエアにより実現する場合には簡単に実現することができる。
【００３９】
さて、上述のような波形入力に同期した波形を発生させる場合において、上述のように零クロスを検出することによりリセットを行うときには、通常は、上向きまたは下向きの零クロスのいずれか一方を用いている。これは、波形の１周期に一度リセットをするのが普通だからである。このような場合、リセット部分に乗算する窓関数を作るのに、波形をそのまま用いるのは困難である。なぜならば、波形を整形し窓関数テーブルを読んだ場合、上向きと下向きの零クロス付近のいずれにも窓関数が掛かってしまうからである。ちなみに、実際には波形が複雑に変化すると零クロスが１周期に何度も発生する場合があるが、このような場合であっても、ＤＣＯの倍音構造が変化するだけで、基本周期は入力信号に同期するため、さほどの問題は生じないことが多い。
【００４０】
そこで、上向きと下向きの零クロス付近のいずれにも窓関数が掛かってしまうという不都合を解消することのできる本発明のさらに他の実施の形態について、図９のブロック図および図１０の波形図を参照して説明する。図９において、前記図１および図７と同一の構成要素には同一の番号を付し、説明を省略する。
この実施の形態においては、アドレス発生器７が別途設けられており、このアドレス発生器７を用いて、窓関数テーブル７７を読み出すようにしている。また、所定数ｎの波形サンプルにのみ窓関数を乗算するようにしており、窓の幅は一定のサンプル数分とされている。
【００４１】
前記アドレス発生器７には、前記リセット位相計算手段３のオーバーフロープロテクト型乗算器１８からの出力（｜Ｗｘ｜／｜ｄｘ｜）が供給され、乗算器７１において、定数「２／ｎ」と乗算される。ここで、ｎは、窓の幅に対応するサンプル数であり、通常は２のべき乗（図示した例では、ｎ＝４）とされている。前記乗算器７１の出力は、オーバーフロープロテクト型の加算器７２において定数「−１」と加算され、前記リセットタイミング検出手段２からのリセットタイミング信号により切替制御される切替スイッチ７４の「１」側の接点に供給される。該切替スイッチ７４の固定接点には、遅延回路７５が接続されており、この遅延回路７５の出力は、オーバーフロープロテクト型の加算器７３に入力され、前記定数「２／ｎ」と加算され、該加算結果は前記切替スイッチ７４の「０」側の接点に接続されている。
【００４２】
すなわち、前記リセットタイミング検出回路２からのリセットタイミング検出出力が入力されていないときは、前記切替スイッチ７４は「０」側に接続されており、前記切替スイッチ７４の固定接点からは、各サンプリングタイミングごとに２／ｎ（図示した例においては、１／２）ずつ増加する出力が得られる。そして、前記リセットタイミング検出手段２からリセットタイミング検出信号が入力されたタイミングで前記切替スイッチ７４は「１」側の接点に切り換えられ、前記乗算器１８からのリセットタイミングの小数部に対応する出力（｜Ｗｘ｜／｜ｄｘ｜）に２／ｎ（１サンプリング周期の増分）を乗算し、さらに初期値として「−１」を加算した出力がリセット時における窓関数のアドレスの初期値として前記切替スイッチ７５の固定接点に得られる。図１０の（ｃ）は前記切替スイッチ７５の出力※２の一例を示している。このように、※２の信号は、リセットタイミングをトリガとし、２／ｎの傾きで、−１〜＋１の間をｎ点でつなぐ信号となる。
【００４３】
前記切替スイッチ７４からの出力※２は絶対値回路７６に入力され、該絶対値回路７６の出力は窓関数テーブル７７にアドレスとして印加される。これにより、窓関数テーブル７７に対し、＋１〜０〜＋１といった動きの往復読み出しが行われ、アドレスの折返しは、ｎ／２点以後に起こることとなる。したがって、図１０の（ｄ）に示す、図中に例示した窓関数特性に応じた窓関数出力※３が前記窓関数テーブル７７から読み出される。
図１０の（ｂ）は、前記波形発生器５から出力される波形の例を示しており、この例では、パルス波形が出力されている場合を示している。前述のように、このパルス波形は外部入力波形Ｗｘの零クロス点でリセットされる波形となっている。この波形は、ｎ／２段（この例においては、２段）の遅延回路７８に入力され、２サンプリング期間だけ遅延された波形出力がオーバーフロープロテクト型の乗算器７９に入力される。この乗算器７９には、前記窓関数テーブル７７の出力（※３）が供給され、乗算器７９からは、図１０の（ｅ）に示すように、リセット後のｎサンプル（この場合は、４サンプル）の期間について窓関数が乗算された波形出力※４が出力される。
このように、この実施の形態によれば、前記リセットタイミング検出手段２からのリセットタイミング出力により、リセット位相が制御されるアドレス発生手段７を設けているために、確実に窓関数を掛けることができるようになる。
【００４４】
なお、以上の実施の形態において、リセット位相を計算する場合に、逆数テーブルを用いて演算しているが、｜Ｐｘ’｜／｜ｆｘ｜あるいは｜Ｗｘ｜／｜ｄｘ｜を算出すればよいのであるから、割り算回路を用いるようにしてもよいことは当然である。
また、以上の実施の形態においては、入力波形の零クロス点に基づいてリセットタイミングを検出するようにしていたが、入力波形振幅のピーク点や所定のしきい値を越したタイミングなどに基づいてリセットタイミングを検出するようにしてもよい。
【００４５】
【発明の効果】
以上説明したように、本発明の波形生成方法および装置によれば、外部から与えられた位相情報あるいは任意の波形信号に対して完全に同期した波形を発生させることができる。
また、その場合に、窓関数が乗算された理想的な特性の波形を発生させることができる。
【図面の簡単な説明】
【図１】  本発明の波形発生方法が適用された波形発生装置の参考例の構成を示すブロック図である。
【図２】  リセット部分に窓関数を乗算するようにした、本発明の波形発生方法が適用された波形発生装置の第１の実施の形態の構成例を示すブロック図である。
【図３】  図２に示した実施の形態の動作を説明するための波形図である。
【図４】  波形とリセット部分の両者に窓関数を乗算するようにした実施の形態の構成例を示すブロック図である。
【図５】  図４に示した実施の形態の動作を説明するための波形図である。
【図６】  図４に示した実施の形態においてパルス波形を発生するようにした変形例を示す図である。
【図７】  外部入力波形に同期するようにした実施の形態の構成例を示すブロック図である。
【図８】  図７に示した実施の形態の動作を説明するための波形図である。
【図９】  図７に示した実施の形態の波形とリセット部の両者に窓関数を乗算するようにした実施の形態の構成例を示すブロック図である。
【図１０】  図９に示した実施の形態の動作を説明するための波形図である。
【図１１】  発振器同期をディジタル処理で行う場合の問題点を説明するための図である。
【図１２】  従来の波形発生装置の構成を示す図である。
【符号の説明】
１  周波数計算手段、２  リセットタイミング検出手段、３  リセット位相計算手段、４  位相情報発生手段、５  波形発生器、６  窓関数乗算手段、７  アドレス発生器、１１、２３、７５、７８  遅延回路、１２、１５、２０、２１、３３、４１、４２、５１、６４、７２、７３  加算器、１３、１６、３１、３４、４３、７６  絶対値回路、１４、３２  逆数テーブル、１７、１８、１９、２４、２６、３５、３７、３９、４４、４６、４８、４９、５０、６３、７１、７９  乗算器、２２、７４  切替スイッチ、２５、３８、４７、７７  窓関数テーブル、３６、４５  最小値選択回路、６１  ＬＰＦ、６２  ＨＰＦ
【図１】
0004095206.tif 000002
【図２】
0004095206.tif 000003
【図３】
0004095206.tif 000004
【図４】
0004095206.tif 000005
【図５】
0004095206.tif 000006
【図６】
0004095206.tif 000007
【図７】
0004095206.tif 000008
【図８】
0004095206.tif 000009
【図９】
0004095206.tif 000010
【図１０】
0004095206.tif 000011
【図１１】
0004095206.tif 000012
【図１２】
0004095206.tif 000013