(57)【要約】【課題】基準となる第１のクロックと、周波数が第１のクロックより高い第２のクロックとがどのような周波数の組み合わせとなる場合でも、処理を実行する。【解決手段】クロックclk-xtalより高い周波数のクロックclk-pllをカウントし、そのカウント値に応じてΔΣ演算が実行中であるか否かを判別し、制御信号syncの受信時に、ΔΣ演算が実行中ではないと判別した場合に、入力されるデジタルデータ毎にクロックclk-pllに基づいてΔΣ演算を開始するΔΣ演算部15Ｂと、ΔΣ演算が実行中であると判別した場合に、入力されるデジタルデータに対するΔΣ演算を開始しないように制御する制御部(61)と、ＰＷＭ信号の整数倍の周期に応じたタイミングで、クロックclk-xtalに従って制御信号syncを発信し、ΔΣ演算部15Ｂでの演算結果をＰＷＭ信号に変換して出力する出力部15Ｃとを備える。【選択図】      図４
2019057889.tif 000002
【特許請求の範囲】
【請求項１】
第１のクロック信号の整数倍の周期毎に制御信号を出力する信号出力処理と、
クロック周波数が前記第１のクロック信号より高い第２のクロック信号をカウントし、そのカウント値に応じてΔΣ演算が実行中であるか否かを判別する判別処理と、
前記信号出力処理により前記制御信号が出力された際に、前記判別処理により前記ΔΣ演算が実行中ではないと判別された場合、入力されるデジタルデータに対して、前記第２のクロック信号に基づく前記ΔΣ演算を開始するΔΣ演算処理と、
前記判別処理で前記ΔΣ演算が実行中であると判別された場合に、入力されるデジタルデータに対して、前記第２のクロック信号に基づく前記ΔΣ演算を開始しないように制御する制御処理と、
前記ΔΣ演算処理での演算結果をＰＷＭ信号に変換して出力する出力処理と、
を実行するＤ／Ａ変換装置。
【請求項２】
前記第１のクロック信号から前記第２のクロック信号を発生する、スペクトラム拡散クロック発振器を用いた位相同期処理をさらに実行する、請求項１記載のＤ／Ａ変換装置。
【請求項３】
前記出力処理で出力したＰＷＭ信号から得たアナログ連続量を差動増幅する増幅処理をさらに実行する、請求項１または２記載のＤ／Ａ変換装置。
【請求項４】
前記請求項１乃至３いずれか記載のＤ／Ａ変換装置を用いた音源部を備える電子楽器。
【請求項５】
前記請求項１乃至３いずれか記載のＤ／Ａ変換装置を用いた音源部を備える情報処理装置。
【請求項６】
第１のクロック信号の整数倍の周期毎に制御信号を出力する信号出力工程と、
クロック周波数が前記第１のクロック信号より高い第２のクロック信号をカウントし、そのカウント値に応じてΔΣ演算が実行中であるか否かを判別する判別工程と、
前記信号出力工程により前記制御信号が出力された際に、前記判別工程により前記ΔΣ演算が実行中ではないと判別された場合、入力されるデジタルデータに対して、前記第２のクロック信号に基づく前記ΔΣ演算を開始するΔΣ演算工程と、
前記判別工程で前記ΔΣ演算が実行中であると判別された場合に、入力されるデジタルデータに対して、前記第２のクロック信号に基づく前記ΔΣ演算を開始しないように制御する制御工程と、
前記ΔΣ演算工程での演算結果をＰＷＭ信号に変換して出力する出力工程と、
を有するＤ／Ａ変換方法。
【請求項７】
コンピュータに実行させるプログラムであって、前記コンピュータに、
第１のクロック信号の整数倍の周期毎に制御信号を出力する信号出力処理と、
クロック周波数が前記第１のクロック信号より高い第２のクロック信号をカウントし、そのカウント値に応じてΔΣ演算が実行中であるか否かを判別する判別処理と、
前記信号出力処理により前記制御信号が出力された際に、前記判別処理により前記ΔΣ演算が実行中ではないと判別された場合、入力されるデジタルデータに対して、前記第２のクロック信号に基づく前記ΔΣ演算を開始するΔΣ演算処理と、
前記判別処理で前記ΔΣ演算が実行中であると判別された場合に、入力されるデジタルデータに対して、前記第２のクロック信号に基づく前記ΔΣ演算を開始しないように制御する制御処理と、
前記ΔΣ演算処理での演算結果をＰＷＭ信号に変換して出力する出力処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｄ／Ａ変換装置、電子楽器、情報処理装置、Ｄ／Ａ変換方法及びプログラムに関する。
【背景技術】
【０００２】
上位システムに容易に搭載でき、しかも装置構成の複雑化を招致せずにジッタの影響を回避するＤ／Ａ変換装置に関する技術が提案されている。（例えば、特許文献１）
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２３９７００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
前記特許文献１に記載された技術も含めて、ＳＳＣＧ（スペクトラム拡散クロック発振器）を用いたＰＬＬ（位相同期回路）のクロックをベースとするΔΣ装置からの信号は、常に信号の変化点が変動しているので、定常的な周期信号である水晶発振器の高い精度の信号に基づいて、そのままラッチし、あるいは論理ゲートを通過させることができない。
【０００５】
また、ＳＳＣＧのクロックの周期変動によるデジタルオーディオデータの揺らぎを、ＦＩＦＯメモリ等で吸収する方法も考えられるが、ＳＳＣＧ付きのＰＬＬで発生する中心クロック周波数と、水晶発振器のクロック周波数の関係が整数倍となっている場合でないと、ＦＩＦＯでデータ溢れやデータの欠損等が発生する虞がある。
【０００６】
さらに、ＳＳＣＧにおけるモジュレーションタイプで、最高周波数を中心とするダウンスプレッドタイプのＳＳＣＧ付きのＰＬＬの場合、ＰＬＬクロックの中心周波数を水晶発振器の周波数の整数倍に調整することは難しく、モジュレーションの深さと高精度な逓倍数となることが求められている。
【０００７】
本発明はこののような実情に鑑みてなされたもので、その目的とするところは、基準となる第１のクロックと、周波数が前記第１のクロックより高い第２のクロックとがどのような周波数の組み合わせとなる場合でも、処理を実行することが可能なＤ／Ａ変換装置、電子楽器、情報処理装置、Ｄ／Ａ変換方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一態様は、第１のクロック信号の整数倍の周期毎に制御信号を出力する信号出力処理と、クロック周波数が前記第１のクロック信号より高い第２のクロック信号をカウントし、そのカウント値に応じてΔΣ演算が実行中であるか否かを判別する判別処理と、前記信号出力処理により前記制御信号が出力された際に、前記判別処理により前記ΔΣ演算が実行中ではないと判別された場合、入力されるデジタルデータに対して、前記第２のクロック信号に基づく前記ΔΣ演算を開始するΔΣ演算処理と、前記判別処理で前記ΔΣ演算が実行中であると判別された場合に、入力されるデジタルデータに対して、前記第２のクロック信号に基づく前記ΔΣ演算を開始しないように制御する制御処理と、前記ΔΣ演算処理での演算結果をＰＷＭ信号に変換して出力する出力処理と、を実行する。
【発明の効果】
【０００９】
本発明によれば、基準となる第１のクロックと、周波数が前記第１のクロックより高い第２のクロックとがどのような周波数の組み合わせとなる場合でも、処理を実行することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係るＤ／Ａ変換装置を用いた電子楽器全体の構成を示すブロック図。
【図２】同実施形態に係るＤ／Ａ変換装置を用いた他の装置の構成を示す変形例のブロック図。
【図３】同実施形態に係る各クロックとＰＷＭ信号の波形例を示すタイミングチャート。
【図４】同実施形態に係る主としてΔΣモジュレータの構成を示すブロック図。
【図５】同実施形態に係るΔΣ演算部及び出力部に設けられる、各種タイミング信号を発生するための回路構成を示す図。
【図６】同実施形態に係るΔΣ演算部の回路構成を示す図。
【図７】同実施形態に係るノイズシェーピング周波数特性を示す図。
【図８】同実施形態に係るΔΣ演算部の具体的な演算処理を実行するハードウェア回路の構成を示すブロック図。
【図９】同実施形態に係る図８のハードウェア回路で実行される演算処理を示す図。
【図１０】同実施形態に係る出力（ＰＷＭ）部の具体的な演算処理を実行するハードウェア回路の構成を示すブロック図。
【図１１】同実施形態に係る平衡型のＰＷＭ信号をアナログ信号化するアナログ化回路の構成を示す図。
【図１２】同実施形態に係るＰＷＭ信号の周期に対応する区間が比較的長い場合の主としてΔΣ演算部内の動作タイミングを例示するタイミングチャート。
【図１３】同実施形態に係るＰＷＭ信号の周期に対応する区間が比較的長い場合の主としてΔΣ演算部内の動作タイミングを例示するタイミングチャート。
【図１４】同実施形態に係るΔΣ演算からＰＷＭ信号の出力に至る連続した動作タイミングを示すタイミングチャート。
【図１５】同実施形態に係るΔΣモジュレータ前段の音源部が出力するデジタル音声データの１サンプリング周期Ｆsdが変動する場合を示すタイミングチャート。
【発明を実施するための形態】
【００１１】
以下、本発明の一実施形態を図面を参照して詳細に説明する。  
図１は、本実施形態に係るＤ／Ａ変換装置（ＤＡＣ）を用いた電子楽器全体の構成を示すブロック図である。同図において、例えば鍵盤等で構成される操作部１１での操作信号が、ＬＳＩチップＣＨ１のＣＰＵ１２に入力される。前記ＣＰＵ１２は、ＬＳＩチップＣＨ１内でバスＢ１を介して、この電子楽器用の動作プログラムや定型データ等を記憶したＲＯＭ１３、操作された内容に対応したデジタル音声データを発生する音源部１４、及びΔΣモジュレータ１５と接続される。
【００１２】
さらにＬＳＩチップＣＨ１内には、水晶発振器（Ｘｔａｌ）１６及びＰＬＬ１７が設けられる。水晶発振器１６は、ＬＳＩチップＣＨ１に外付けされた水晶振動子ＣＵ１に一定の電圧を印加して、基準となる第１のクロックであるクロックclk-xtalを発振し、前記ＬＳＩチップＣＨ１内の各回路及びＰＬＬ１７へ供給する。
【００１３】
ＰＬＬ１７は、前記クロックclk-xtalを受けて、より高い周波数の第２のクロックであるクロックclk-pllを発振し、前記ＬＳＩチップＣＨ１内の各回路へ供給する。
【００１４】
ＣＰＵ１２は、操作部１１から受けた操作信号に応じて音源部１４に音程、音量などのパラメータを送信する。これを受けた音源部１４が、対応するデジタル音声データをΔΣモジュレータ１５へ出力する。
【００１５】
ΔΣモジュレータ１５は、本実施形態のＤ／Ａ変換装置（ＤＡＣ）の主体となる回路であり、音源部１４から入力されたデジタル音声データに応じたＰＷＭ信号を発生し、ＬＳＩチップＣＨ１外部のローパスフィルタ１８へ出力する。  
例えば音源部１４から入力されたデジタル音声データが３２ビットであった場合、ΔΣモジュレータ１５では５段階のＰＷＭ信号を出力するべく、３ビットのデジタルデータに変換するΔΣ演算処理を実行するものであり、そのためには前記第２のクロックであるクロックclk-pllの１５周期分（１５ステップ）が必要となる。
【００１６】
ローパスフィルタ１８は、例えば図示する如く直列ＲＣ回路を用い、与えられたＰＷＭ信号をアナログ音声信号に変換してアンプ（ａｍｐ）１９へ出力する。前記アンプ１９は、後述するように、差動アンプを用いることが望ましい。
【００１７】
前記アンプ１９で適宜増幅率により増幅されたアナログ音声信号により、スピーカ２０が拡声駆動されて、放音される。
【００１８】
図２は、前記図１の電子楽器に代えて、本発明のＤ／Ａ変換装置を用いた他の装置の構成を示す変形例のブロック図である。ここでは、例えば標準的なＩ２Ｓ（Ｉｎｔｅｒ−ＩＣ  Ｓｏｕｎｄ）規格に則った、シリアル音声データＤＡＴＡと、音声信号のＬチャンネルとＲチャンネルを区別するためのクロックＬＲＣＫ、及びビットクロックＢＣＫが、ＬＳＩチップＣＨ２内のシフトレジスタ（ＳＦＲ）２１に与えられる。前記シフトレジスタ２１に保持された音声データは、前記クロックに応じてパラレルデータとしてΔΣモジュレータ２２に読出される。
【００１９】
さらにＬＳＩチップＣＨ２内には、水晶発振器（Ｘｔａｌ）２３及びＰＬＬ２４が設けられる。水晶発振器１６は、ＬＳＩチップＣＨ２に外付けされた水晶振動子ＣＵ２に一定の電圧を印加して、基準となる第１のクロックであるクロックclk-xtalを発振し、前記ＬＳＩチップＣＨ２内の各回路及びＰＬＬ２４へ供給する。
【００２０】
ＰＬＬ２４は、前記クロックclk-xtalを受けて、より高い周波数の第２のクロックであるクロックclk-pllを発振し、前記ΔΣモジュレータ２２へ供給する。
【００２１】
ΔΣモジュレータ２２は、本実施形態のＤ／Ａ変換装置（ＤＡＣ）の主体となる回路であり、シフトレジスタ２１から読出されてきたデジタル音声データに応じたＰＷＭ信号を発生し、ＬＳＩチップＣＨ２外部のローパスフィルタ２５へ出力する。
【００２２】
ローパスフィルタ２５は、例えば図示する如く直列ＲＣ回路を用い、与えられたＰＷＭ信号をアナログ音声信号に変換してアンプ（ａｍｐ）２６へ出力する。前記アンプ２６は、後述するように、差動アンプを用いることが望ましい。
【００２３】
前記アンプ２６で適宜増幅率により増幅されたアナログ音声信号により、スピーカ２７が拡声駆動されて、放音される。
【００２４】
図３は、前記水晶発振器１６（２３）が発振する、基準となる第１のクロックであるクロックclk-xtal（図３（Ｂ））と、ＰＬＬ１７（２４）が発振する、第２のクロックであるクロックclk-pll（図３（Ａ））、及びΔΣモジュレータ１５（２２）で作成されるＰＷＭ信号の関係を例示する図である。
【００２５】
同図では、クロックclk-xtalに比してクロックclk-pllが４倍の周波数に対応するものとなっている。
【００２６】
クロックclk-pllを用いてΔΣモジュレータ１５（２２）でΔΣ演算を行なって得られるＰＷＭ信号を、クロックclk-xtalに基づいてラッチする場合、クロックclk-pllの周波数は、クロックclk-xtalの周波数の整数倍である必要がある。
【００２７】
前記ΔΣモジュレータ１５（２２）が発生するＰＷＭ信号を図３（Ｃ）〜図３（Ｅ）に例示している。
【００２８】
図３（Ｃ）は、ＰＷＭ信号の“Ｈ”区間が、クロックclk-xtalの８周期分の時間幅を有する場合を示している。
【００２９】
同様に、図３（Ｄ）、図３（Ｅ）は、ＰＷＭ信号の“Ｈ”区間が、クロックclk-xtalの６周期分、４周期分の時間幅を有する場合を示している。
【００３０】
これらに示すように、ＰＷＭ信号の最小変化幅は、そのタッチ上がりタイミング、立下りタイミング共にクロックclk-xtalの１周期分を単位として出力されるものとする。
【００３１】
図４により、主として前記ΔΣモジュレータ１５の構成を示すブロック図について説明する。
【００３２】
音源部１４の出力するデジタル音声データ（オーディオデータ）は、ΔΣモジュレータ１５のローパスフィルタ（ＬＰＦ）１５Ａに入力される。前記ローパスフィルタ１５Ａは、サンプルレートコンバータ（ＳＲＣ）を用い、ＰＬＬ１７からのクロックclk-pllに基づいて、入力されるデジタル音声データの周波数ＦｓｄのＭ倍（Ｍ：整数）の周波数で動作して、ΔΣ演算部１５Ｂへ出力する。
【００３３】
ΔΣ演算部１５Ｂは、後述する出力部１５Ｃから入力される、ＰＷＭ信号の周期に同期した信号ｓｙｎｃのタイミングに従って、前記周波数ＦｓｄのＮ倍（Ｎ：任意の数、ダイナミックに変動）の周波数でローパスフィルタ１５Ａの出力をサンプリングする。
【００３４】
前記Ｎの値は動的に整数でない値で変化させても良く、前記ＰＬＬ１７で用いるスペクトラム拡散クロック発振器（ＳＳＣＧ）のクロックで駆動するものとしてもよい。但し、ノイズシェーピングの性能や必要な周波数帯域に応じておおよその範囲で設定されるべきものであり、通常は１６以上の値が選定される。
【００３５】
ΔΣ演算部１５Ｂは、クロックclk-pllに基づいて、前記クロックclk-xtalに従った周期Ｆｓｐで高速にΔΣ演算を実行して、デジタル音声データに対応した量子化値の信号を出力部１５Ｃへ出力する。
【００３６】
出力部１５Ｃは、前記水晶発振器１６から与えられるクロックclk-xtalに従った周期Ｆｓｐで、ΔΣ演算部１５Ｂからの量子化信号に応じたＰＷＭ信号を発生して、次段のローパスフィルタ１８へ出力する一方で、前記ΔΣ演算部１５Ｂに対して入力タイミングを制御するための信号ｓｙｎｃを出力する。
【００３７】
図５は、前記ΔΣ演算部１５Ｂ及び出力部１５Ｃに設けられる、各種タイミング信号を発生するための回路を示す図である。出力部１５Ｃは、カウンタ３１及び多入力アンド回路３２を有する。カウンタ３１は、前記クロックclk-xtalをカウントするもので、そのカウント値の各ビットが“Ｈ”レベルとなった場合、すなわち１サンプル当たりの処理期間の開始タイミング毎に、多入力アンド回路３２の出力として前記信号ｓｙｎｃを出力する。
【００３８】
ΔΣ演算部１５Ｂは、２段のフリップフロップ（ＦＦ）３３，３４及びアンド回路３５を有し、前記出力部１５Ｃからの信号ｓｙｎｃが１段目のフリップフロップ３３に入力される。フリップフロップ３３，３４はいずれも前記クロックclk-pllにより動作し、１段目のフリップフロップ３３のシフト出力ｆｆ１が、２段目のフリップフロップ３４に入力されると共に、反転されて前記アンド回路３５に入力される。
【００３９】
２段目のフリップフロップ３４のシフト出力である信号ｃｌｒ＿ｅｎが、アンド回路３５に入力される。そして、アンド回路３５の論理和出力が、後述するΔΣ演算の実行を開始するためのタイミング信号ｓｇ＿ｓｔａｒｔとして使用される。
【００４０】
図６は、前記ΔΣ演算部１５Ｂでの具体的な演算回路の構成を示す図である。同図でΔΣ演算部１５Ｂは、減算器（−）４１、加算器（＋）４２，４４，４６，４７，５１、遅延器（Ｚ-1）４３，４８，５２，５４、乗算器４５，４９，５０、及び量子化器５３を含む。
【００４１】
前段のローパスフィルタ１５Ａから入力されるデジタル音声データは、減算器４１で量子化器５３の出力を遅延する遅延器５４の出力分だけ減算されて、その差分が加算器４２へ出力される。加算器４２は、自身の出力を遅延させる遅延器４３の出力ｚ0を加算して、その和を同遅延器４３、加算器４４、及び乗算器４５へ出力する。
【００４２】
乗算器４５は、加算器４２の出力を係数ｋ0と乗算してその積を加算器４６へ出力する。加算器４６は、乗算器４５の出力と乗算器４９の出力とを加算して、その和を加算器４７へ出力する。
【００４３】
加算器４７は、加算器４６の出力と、自身の出力を遅延させる遅延器４８の出力ｚ１とを加算し、その和を同遅延器４８、前記加算器４４、及び乗算器５０へ出力する。乗算器５０は、加算器４７の出力を係数ｋ1と乗算してその積を加算器５１へ出力する。
【００４４】
加算器５１は、乗算器５０の出力と、自身の出力を遅延させる遅延器５２の出力ｚ２とを加算し、その和を同遅延器５２、前記加算器４４、及び前記乗算器４９へ出力する。乗算器４９は、加算器５１の出力を係数ａ0と乗算してその積を加算器５１へ出力する。
【００４５】
前記加算器４４は、加算器４２，４７，５１の各出力を加算し、その和を量子化器５３へ出力して、量子化させる。そして、量子化器５３の出力が、前記ΔΣ演算部１５Ｂの出力として次段の出力部１５Ｃへ出力されると共に、前記遅延器５４へ出力される。遅延器５４は、量子化器５３の出力を遅延してその出力ｚ３を前記減算器４１に減数として与えることで、入力に対するネガティブフィードバックをかける。
【００４６】
ｅを量子化ノイズとした場合、量子化器５３の出力ｙにおける量子化ｅの特性は以下の式に示すようになる。
【００４７】
【数１】
2019057889.tif 000003
【００４８】
図７は、前記式のｅ（ノイズ）をグラフ化したノイズシェーピング周波数特性を示す図である。同図では横軸が角速度、縦軸がノイズの信号レベル（Ｑｕａｎｔｉｚａｔｉｏｎ  Ｎｏｉｓｅ）［ｄＢ］である。同図中、必要なノイズシェーピング量を−１００［ｄＢ］とした場合、可聴帯域は角速度０．０６（＝１／１６）程度の範囲となる。
【００４９】
すなわち、デジタル音声データのサンプリング周波数Ｆｓｄに対し、ノイズシェーパーのサンプリングレートＦｓｐは約１６倍程度必要となる。
【００５０】
図８は、前記図６で示した演算処理を、具体的なハードウェア回路で実行する場合を例示するブロック図である。
【００５１】
前記図４、図５で示した信号ｓｙｎｃ及びクロックclk-pllが制御部６１に入力される。前記制御部６１は、内部にクロックclk-pllをカウントするためのｍカウンタ（ｍｃｎｔ）６１Ａを備えており、以下の各回路の制御、具体的にはレジスタのラッチイネーブル、セレクタの選択、パラメータの選択を行なう。
【００５２】
ｍカウンタ６１Ａのカウント値は、前記信号ｓｙｎｃを内部で遅延させて発生させた信号ｃｌｒ＿ｅｎによりリセットされて、クロックclk-pllをカウントする。
【００５３】
ΔΣ演算部１５Ｂは、前記制御部６１の他に、レジスタ６２，６３、セレクタ６４〜６６、乗算器（ＭＵＬ）６７、加算器（ＡＤＤ）６８、パラメータ定数発生器６９、量子化器７０、及び遅延用のレジスタ７１Ａ〜７１Ｄを有している。
【００５４】
前段のローパスフィルタ１５Ａの出力であるデジタル音声データが、セレクタ６６に入力される。前記セレクタ６６にはまた、セレクタ６５、乗算器６７の各出力が入力され、前記制御部６１に従って選択した１つの値を加算器６８へ出力する。
【００５５】
加算器６８にはまた、レジスタ（ＡＣ）６２の保持値が入力され、制御部６１に従って加算した和を、前記図６の遅延器４３，４８，５２，５４で用いるレジスタ（ｚ０〜ｚ３）７１Ａ〜７１Ｄ、及びセレクタ６４へ出力する。
【００５６】
レジスタ７１Ａ〜７１Ｄの保持値はセレクタ６５に入力される。セレクタ６５は、レジスタ７１Ａ〜７１Ｄの各保持値中から一つを制御部６１に従って選択し、選択した値をセレクタ６６及び乗算器６７へ出力する。
【００５７】
乗算器６７は、セレクタ６５の出力と、パラメータ定数発生器６９から与えられる、パラメータ定数ｋ0，ｋ1，ａ0のいずれかを乗算し、その積を前記セレクタ６６へ出力する。
【００５８】
前記セレクタ６４は、加算器６８の出力と量子化器７０（５３）の出力の一方を、制御部６１に従って選択し、レジスタ（ＡＣ）６２に保持させる。前記レジスタ６２の保持値は、前記量子化器７０及び加算器６８に読出される。
【００５９】
そして、量子化器７０の出力する、前記ΔΣ演算部１５Ｂの演算結果が、前記セレクタ６４へ送られる一方で、レジスタ（ＤＲ）６３に保持され、その保持値が読出されて次段の出力部１５Ｃへ出力される。
【００６０】
図９は、このように図８のハードウェア回路で実行される演算処理の内容を、制御部６１のｍカウンタ６１Ａのカウント値と対応付けて示す。ｍカウンタ６１ＡはΔΣ演算部１５Ｂの動作を制御する基本カウンタであり、「０」〜「１６」のカウント値を採り得る。
【００６１】
すなわち、ｍカウンタ６１Ａは、前記出力部１５Ｃからの信号ｓｙｎｃによりリセットされて「０」となり、以後クロックclk-pllにより「＋１」ずつカウントアップして、最上値「１６」となった後は、リセットされるまでの間、カウント値「１６」を保持する。  
前記ｍカウンタ６１Ａのカウント値が「１６」である間は、前記信号ｓｙｎｃによるリセット動作の待機状態となる。
【００６２】
簡単に、ｍカウンタ６１Ａのカウント値「０」〜「１５」に対応した、ΔΣ演算部１５Ｂ内での制御部６１による演算内容を説明する。
【００６３】
０：信号ｓｙｎｃによりｍカウンタ６１Ａをリセットして「０」とすると、レジスタ７１Ｄの保持する遅延値ｚ３をセレクタ６５で選択させ、前記セレクタ６５の選択結果とローパスフィルタ１５Ａからの入力データとを順次セレクタ６６で選択させる。各選択結果を加算器６８で加算させ、その和出力をセレクタ６４で選択させて、レジスタ６２に保持させる。
【００６４】
１：レジスタ７１Ａの保持する遅延値ｚ0をセレクタ６５で選択させ、前記セレクタ６５の選択結果をセレクタ６６で選択させる。加算器６８でセレクタ６６の選択結果とレジスタ６２の保持値を加算させ、その和出力を前記レジスタ７１Ａに保持させる。
【００６５】
２：レジスタ７１Ｃの保持する遅延値ｚ2をセレクタ６５で選択させると共に、パラメータ定数発生器６９にパラメータ定数ａ0を出力させて、それら２つの値を乗算器６７で乗算させる。得られる積をセレクタ６６、加算器６８、セレクタ６４を介して前記レジスタ６２に保持させる。
【００６６】
３：レジスタ７１Ａの保持する遅延値ｚ0をセレクタ６５で選択させると共に、パラメータ定数発生器６９にパラメータ定数ｋ0を出力させて、それら２つの値を乗算器６７で乗算させる。得られる積をセレクタ６６で選択させると共に、レジスタ６２の保持値を読出して加算器６８へ出力させる。加算器６８でこれら２つの値を加算させ、その和をセレクタ６４を介してあらためて前記レジスタ６２に保持させる。
【００６７】
４：レジスタ７１Ｂの保持する遅延値ｚ1をセレクタ６５，６６で選択させて加算器６８へ出力させると共に、レジスタ６２の保持値を読出して加算器６８へ出力させる。加算器６８でこれら２つの値を加算させ、その和をあらためてレジスタ７１Ｂに保持させる。
【００６８】
５：レジスタ７１Ｂの保持する遅延値ｚ1をセレクタ６５で選択させると共に、パラメータ定数発生器６９にパラメータ定数ｋ1を出力させて、それら２つの値を乗算器６７で乗算させる。得られる積をセレクタ６６、加算器６８、セレクタ６４を介して前記レジスタ６２に保持させる。
【００６９】
６：レジスタ７１Ｃの保持する遅延値ｚ2をセレクタ６５，６６で選択させて加算器６８へ出力させると共に、レジスタ６２の保持値を読出して加算器６８へ出力させる。加算器６８でこれら２つの値を加算させ、その和をあらためてレジスタ７１Ｃに保持させる。
【００７０】
７：レジスタ７１Ａ〜７１Ｃの保持する遅延値ｚ0〜ｚ2を順次セレクタ６５，６６で選択させて、シリアルに加算器６８へ出力させる。加算器６８でこれら３つの値を加算させ、その和をセレクタ６４を介してレジスタ６２に保持させる。
【００７１】
８：レジスタ６２の保持値を読出して量子化器７０へ出力して量子化処理させ、その出力をレジスタ６３を介して次段の出力部１５Ｃへ出力させる。
【００７２】
９：量子化器７０の出力を、セレクタ６４、レジスタ６２、加算器６８を介してレジスタ７１Ｄに保持させる。  
１０〜１５：何もせずに待期する。
【００７３】
このように、ＰＷＭ周期（Ｆｓｐ）毎に発生される信号ｓｙｎｃに同期し、クロックclk-pllによりカウント動作する前記ｍカウンタ６１Ａのカウント値ｍｃｎｔに応じて、上述したようにΔΣ演算処理が実行される。
【００７４】
次に図１０により、ΔΣ演算部１５Ｂの後段に位置する出力（ＰＷＭ）部１５Ｃの具体的なハードウェア回路の構成を説明する。  
出力部１５Ｃは、クロックclk-xtalによりカウント動作するｎカウンタ８１、前記ｎカウンタ８１のカウント値をデコードするデコーダ８２，８３，８５Ａ〜８５Ｅと、レジスタ（ＰＲ）８４、セレクタ８６、及びフリップフロップ（ＤＦＦ）８７，８８を用いる。
【００７５】
デコーダ８２は、ｎカウンタ８１の値が「０」である状態を検知して、前記信号ｓｙｎｃを発生させる。またデコーダ８３は、ｎカウンタ８１の値が「１５」である状態を検知して、レジスタ８４にラッチイネーブル信号ＬＥを出力する。
【００７６】
レジスタ８４は、デコーダ８３からのラッチイネーブル信号ＬＥに応じて、前段の前記ΔΣ演算部１５Ｂのレジスタ（ＤＲ）６３から出力される、量子化された結果をラッチし、その値をセレクタ８６へ出力する。
【００７７】
デコーダ８５Ａ〜８５Ｅは、ｎカウンタ８１のカウント値に基づいてそれぞれパルス幅が０［％］、２５［％］、５０［％］、７５［％］、１００［％］のパルス信号をセレクタ８６に出力する。
【００７８】
セレクタ８６は、レジスタ８４から得られる量子化信号に応じて前記デコーダ８５Ａ〜８５Ｅの出力するパルス信号のいずれかを選択し、その正転信号をフリップフロップ８７に、反転信号をフリップフロップ８８に出力する。
【００７９】
フリップフロップ８７，８８は、平衡型の出力を得るべく２段化されたものであり、共に前記クロックclk-xtalでセレクタ８６の出力をラッチし、正極信号及び負極信号として出力する。
【００８０】
図１１は、前記図１０に示すような平衡型のＰＷＭ信号をアナログ信号化するアナログ化回路９０を例示する図である。前記図１のローパスフィルタ１８及びアンプ１９に相当する。
【００８１】
同図で、前記フリップフロップ８７の出力する正極信号は、抵抗Ｒ１１及びコンデンサＣ１１による直列ＲＣ回路を介して差動アンプ（ｏｐ．ａｍｐ．）９１の＋入力に与えられる。
【００８２】
一方、前記フリップフロップ８８の出力する負極信号は、抵抗Ｒ１２及びコンデンサＣ１２による直列ＲＣ回路を介して前記差動アンプ９１の−入力に与えられる。
【００８３】
差動アンプ９１の出力及び＋入力間に抵抗Ｒ１３が接続されることで、正帰還がかけられている。そして、差動アンプ９１の出力がアナログ化された音声信号として、前記図１のスピーカ２０等で放音される。
【００８４】
次に前記実施形態の動作について説明する。  
図１２は、比較的ＰＷＭ信号の周期に対応する区間が長い場合の、主としてΔΣ演算部１５Ｂ内の動作タイミングを例示するタイミングチャートである。
【００８５】
図１２（Ｂ）に示す信号ｓｙｎｃは、前記図５、図１０でも説明したように、図１２（Ａ）に示すクロックclk-xtalの整数倍周期毎に発生される。ＰＷＭ周期も同様であり、クロックclk-xtalの整数倍周期となる。
【００８６】
前記信号ｓｙｎｃは、ΔΣ演算部１５Ｂでの演算の開始を支持する信号となっている。ΔΣ演算部１５Ｂが実行するΔΣ演算自体は、クロックclk-xtalより高速、且つクロックclk-xtalとは非同期の、図１２（Ｆ）に示すクロックclk-pllを基準として実行するものとしている。
【００８７】
信号ｓｙｎｃを受信したΔΣ演算部１５Ｂでは、シンクロナイザ動作を実現するため、２段化したフリップフロップ３３，３４により、図１２（Ｃ）に示す遅延信号ｆｆ１、及びさらに遅延した信号ｃｌｒ＿ｅｎを発生している。
【００８８】
前記信号ｃｌｒ＿ｅｎにより、ΔΣ演算の基本動作カウンタである、図１２（Ｇ）にカウント値を示すｍカウンタ６１Ａのクリアイネーブル信号として、図中のタイミングｔ14で「０」にリセットさせ、以後ΔΣ演算を開始して、前記図８、図９で説明した如くΔΣ演算を実行させる。図１２（Ｈ）が前記ΔΣ演算の実行帰還を示している。
【００８９】
さらに図１２（Ｉ）に示すように、ΔΣ演算部１５Ｂの出力段に設けたレジスタ（ＤＲ）６３での記憶期間が設定されており、その間に次のΔΣ演算を開始するべく演算回路側が待期状態となっている。
【００９０】
この間、出力部１５Ｃ側のレジスタ（ＰＲ）８４で演算結果を受け取る期間となって、セットアップ時間Ｔｓ、及びホールド時間Ｔｈが十分にあるため、非同期の受け渡しであるにも拘わらず、シンクロナイザ無しでのデータの受け渡しが可能となる。
【００９１】
また前記時間Ｔｓ，Ｔｈは、クロックclk-xtalとクロックclk-pllとの周波数の関係により定まるが、演算結果を保持するレジスタ（ＤＲ）６３の保持時間が比較的長く、前記時間Ｔｓ，Ｔｈが補償される範囲内で、クロックclk-xtalとクロックclk-pllの周波数を広い範囲内で選択することが可能となる。
【００９２】
図１３は、比較的ＰＷＭ信号の周期に対応する区間が短い場合の、主としてΔΣ演算部１５Ｂ内の動作タイミングを例示するタイミングチャートである。ここでは、クロックclk-pllに対して、相対的にクロックclk-xtalの周期が短くなり、結果としてΔΣ演算中にも拘わらず、図１３（Ｂ）に示すように続く信号ｓｙｎｃが発生している。
【００９３】
しかしながら、ΔΣ演算の実行中で、ｍカウンタ６１Ａのカウント値が「０」〜「１５」である間は、信号ｓｙｎｃの受信を受付けないようにしているため、ΔΣ演算を中断せずに続行するものとしている。
【００９４】
前記ΔΣ演算による結果は図１３（Ｉ）に示すようにレジスタ（ＤＲ）６３に保持されるが、ここでも周期Ｆｓｐが短いため、出力（ＰＷＭ）部１５Ｃでは、短周期で入力される信号ｓｙｎｃに応じて、レジスタ（ＰＲ）８４が２度続けて同じ演算結果を読出して保持し、同じＰＷＭ信号が発生されることもあり得るが、性能上は問題を生じない。
【００９５】
すなわち、セットアップ時間Ｔｓ、及びホールド時間Ｔｈが共に極端に短い時間とクロックclk-xtalとクロックclk-pllの周波数の倍率以外では、クロックclk-xtalとクロックclk-pllの周波数の比率は広い範囲で選択することができ、また連続的なモジュレーションに対しても対応することが可能となる。
【００９６】
図１４は、前記図１２、図１３に対応した、ΔΣ演算部１５ＢでのΔΣ演算と、ΔΣ演算部１５Ｂ及び出力部１５Ｃ間での演算結果の送受、及び出力部１５ＣでのＰＷＭ信号の出力タイミングを示すタイミングチャートである。
【００９７】
図１４（Ａ）に示すように、ΔΣ演算部１５Ｂでは、信号ｓｙｎｃのタイミングｔ31から信号ｃｌｒ＿ｅｎ間での第１待期時間ａを空けて第１のΔΣ演算がタイミングｔ32となるまで実行される。
【００９８】
前記タイミングｔ32から、次の信号ｓｙｎｃによるタイミングｔ33間での第１待期時間ｂと、前記タイミングｔ33から次のΔΣ演算が開始されるまでの時間の遅延分とを含んで、第２のΔΣ演算が実行される間も、図１４（Ｂ）に示すようにΔΣ演算部１５Ｂの出力側のレジスタ（ＤＲ）６３には十分な時間幅でΔΣ演算の演算結果が保持される。
【００９９】
したがって、図１４（Ｃ）に示すように出力部１５Ｃでは、ＰＷＭ周期を有効に使用して、十分余裕を持って対応する周期中、ＰＷＭ信号を出力し、後段のローパスフィルタでアナログ化して出力させることが可能となる。
【０１００】
図１５は、ΔΣモジュレータ１５の前段の音源部１４が出力するデジタル音声データの１サンプリング周期Ｆsdが、変動する場合を示している。
【０１０１】
例えばＰＬＬ１７のＳＳＣＧやジッタ等に起因して、デジタル音声データの１サンプリング周期Ｆsdが長い場合（図１５（Ａ））、標準の場合（図１５（Ｂ））、短い場（図１５（Ｃ））のように、図中で示すような揺らぎＦを発生している場合を考える。
【０１０２】
図１５（Ｄ）に示すΔΣ演算の周期、すなわちΔΣモジュレータ１５のΔΣ演算部１５Ｂ及び出力部１５Ｃの処理は、周期が変化しないクロックclk-xtalをベースとしたＰＷＭ周期で動作しているが、上述した如くΔΣ演算部１５Ｂ、及び出力部１５Ｃ間でのΔΣ演算の送受により、前記揺らぎＦによる変動分を吸収して、出力精度を悪化させることなく、Ｄ／Ａ変換を実行することが可能となる。
【０１０３】
以上詳述した如く本実施形態によれば、基準となる水晶発振の第１のクロックと、周波数が前記第１のクロックより高いＰＬＬによる第２のクロックとがどのような周波数の組み合わせとなる場合でも、処理を実行することが可能となる。
【０１０４】
また、前記実施形態では、ＰＬＬ１７がＳＳＣＧ（スペクトラム拡散クロック発振器）を用いるものとしたので、放射電磁ノイズを大幅に削減することができる。
【０１０５】
さらに前記実施形態では、出力段でＰＷＭ信号から得たアナログ信号を差動増幅器により増幅するものとしたので、一般のデジタル処理や配線伝送路で発生する双極性のノイズを除去して、さらにノイズを低減させることができる。
【０１０６】
上述したようなＤ／Ａ変換回路を用いる音源を各種電子楽器やパーソナルコンピュータ等の情報処理装置に内蔵するものとすれば、広いダイナミックレンジと低いノイズ性を両立した高音質の音声出力を実現できる。
【０１０７】
その他、本発明は、前記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、前記実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【０１０８】
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。  
［請求項１］  
第１のクロック信号の整数倍の周期毎に制御信号を出力する信号出力処理と、  
クロック周波数が前記第１のクロック信号より高い第２のクロック信号をカウントし、そのカウント値に応じてΔΣ演算が実行中であるか否かを判別する判別処理と、  
前記信号出力処理により前記制御信号が出力された際に、前記判別処理により前記ΔΣ演算が実行中ではないと判別された場合、入力されるデジタルデータに対して、前記第２のクロック信号に基づく前記ΔΣ演算を開始するΔΣ演算処理と、  
前記判別処理で前記ΔΣ演算が実行中であると判別された場合に、入力されるデジタルデータに対して、前記第２のクロック信号に基づく前記ΔΣ演算を開始しないように制御する制御処理と、  
前記ΔΣ演算処理での演算結果をＰＷＭ信号に変換して出力する出力処理と、  
を実行するＤ／Ａ変換装置。  
［請求項２］  
前記第１のクロック信号から前記第２のクロック信号を発生する、スペクトラム拡散クロック発振器を用いた位相同期処理をさらに実行する、請求項１記載のＤ／Ａ変換装置。  
［請求項３］  
前記出力処理で出力したＰＷＭ信号から得たアナログ連続量を差動増幅する増幅処理をさらに実行する、請求項１または２記載のＤ／Ａ変換装置。  
［請求項４］  
前記請求項１乃至３いずれか記載のＤ／Ａ変換装置を用いた音源部を備える電子楽器。  
［請求項５］  
前記請求項１乃至３いずれか記載のＤ／Ａ変換装置を用いた音源部を備える情報処理装置。  
［請求項６］  
第１のクロック信号の整数倍の周期毎に制御信号を出力する信号出力工程と、  
クロック周波数が前記第１のクロック信号より高い第２のクロック信号をカウントし、そのカウント値に応じてΔΣ演算が実行中であるか否かを判別する判別工程と、  
前記信号出力工程により前記制御信号が出力された際に、前記判別工程により前記ΔΣ演算が実行中ではないと判別された場合、入力されるデジタルデータに対して、前記第２のクロック信号に基づく前記ΔΣ演算を開始するΔΣ演算工程と、  
前記判別工程で前記ΔΣ演算が実行中であると判別された場合に、入力されるデジタルデータに対して、前記第２のクロック信号に基づく前記ΔΣ演算を開始しないように制御する制御工程と、  
前記ΔΣ演算工程での演算結果をＰＷＭ信号に変換して出力する出力工程と、  
を有するＤ／Ａ変換方法。  
［請求項７］  
コンピュータに実行させるプログラムであって、前記コンピュータに、  
第１のクロック信号の整数倍の周期毎に制御信号を出力する信号出力処理と、  
クロック周波数が前記第１のクロック信号より高い第２のクロック信号をカウントし、そのカウント値に応じてΔΣ演算が実行中であるか否かを判別する判別処理と、  
前記信号出力処理により前記制御信号が出力された際に、前記判別処理により前記ΔΣ演算が実行中ではないと判別された場合、入力されるデジタルデータに対して、前記第２のクロック信号に基づく前記ΔΣ演算を開始するΔΣ演算処理と、  
前記判別処理で前記ΔΣ演算が実行中であると判別された場合に、入力されるデジタルデータに対して、前記第２のクロック信号に基づく前記ΔΣ演算を開始しないように制御する制御処理と、  
前記ΔΣ演算処理での演算結果をＰＷＭ信号に変換して出力する出力処理と、  
を実行させるプログラム。
【符号の説明】
【０１０９】
１１…操作部
１２…ＣＰＵ
１３…ＲＯＭ
１４…音源部
１５…ΔΣモジュレータ（ＤＡＣ）
１５Ａ…ローパスフィルタ（ＬＰＦ）（ＳＲＣ）
１５Ｂ…ΔΣ演算部
１５Ｃ…出力部（ＰＷＭ）
１６…水晶発振器
１７…ＰＬＬ
１８…ローパスフィルタ
１９…アンプ（ａｍｐ．）
２０…スピーカ
２１…シフトレジスタ（ＳＦＲ）
２２…ΔΣモジュレータ（ＤＡＣ）
２３…水晶発振器
２４…ＰＬＬ
２５…ローパスフィルタ
２６…アンプ（ａｍｐ．）
３１…カウンタ
３２…多入力アンド回路
３３，３４…フリップフロップ（ＦＦ）
３５…アンド回路
４１…減算器
４２…加算器
４３…遅延器
４４…加算器
４５…乗算器
４６，４７…加算器
４８…遅延器
４９，５０…乗算器
５１…加算器
５２…遅延器
５３…量子化器
５４…遅延器
６１…制御部
６１Ａ…ｍカウンタ（ｍｃｎｔ）
６２…レジスタ（ＡＣ）
６３…レジスタ（ＤＲ）
６４〜６６…セレクタ
６７…乗算器
６８…加算器
６９…パラメータ定数発生器
７０…量子化器
８１…ｎカウンタ（ｎｃｎｔ）
８２，８３…デコーダ
８４…レジスタ（ＰＲ）
８５Ａ〜８５Ｅ…（パルス）デコーダ
８６…セレクタ
８７，８８…フリップフロップ（ＤＦＦ）
９０…アナログ化回路
９１…差動アンプ（ｏｐ．ａｍｐ．）
【図１】
2019057889.tif 000004
【図２】
2019057889.tif 000005
【図３】
2019057889.tif 000006
【図４】
2019057889.tif 000007
【図５】
2019057889.tif 000008
【図６】
2019057889.tif 000009
【図７】
2019057889.tif 000010
【図８】
2019057889.tif 000011
【図９】
2019057889.tif 000012
【図１０】
2019057889.tif 000013
【図１１】
2019057889.tif 000014
【図１２】
2019057889.tif 000015
【図１３】
2019057889.tif 000016
【図１４】
2019057889.tif 000017
【図１５】
2019057889.tif 000018