Roland αJunoのDCO(6)

前回、αJunoのDCOでは波形をパルス波でスイッチング(あるいは、パルス波を波形で変調)した波形が特徴だと書きました。
今回はその実現方法について考えてみます。

登場する波形は、基準の周波数をfとして

・8f, 4f, 2f, f, f/2, f/4の方形波(デューティ比50%)
・2fのPWM矩形波(デューティ比0%~100%)
・fの鋸波

です。

これらを使ってサブオシレータの6つの波形を生成するには、下図ように2つの波形のANDを取れば実現できます。

aj-dco-sub.png

また、鋸波の5つの波形も、下図のようにすれば生成できます。
4つの三角で表している記号はアナログスイッチです。左右の信号の接続・切断を上部の制御端子で制御します。
どの波形も基本は鋸波で、制御端子に加えている信号だけが違います。

aj-dco-saw.png

このアナログスイッチですが、実際にはトランジスタ1個で実現できます。
下図は、Roland αJunoのDCO(4)で触れたJuno-106の波形生成部分をBSch3Vで書き直したものです。
鋸波は、「SAW on/off」信号によってオンオフすることができます。
先の図で示した5種類の波形を生成するには、制御信号を「SAW on/off」へ入力すれば実現できると思われます。

wavegenerator.png

最後に、パルス波の3つの波形は以下のようになります。PULSE3はデューティ比が50%~0%の範囲で変動します。

aj-dco-pulse.png

なお、これら3種類の波形の位相ですが、上の図のままだとサブオシレータを矩形波や鋸波と合成したときに、上りと下りが重ね合わされて波形の複雑さが失われてしまいます。たとえばSUB1とSAW1を合成すると以下のようになります。

このため、サブオシレータの波形は上の図よりも1/4波長だけずれた位相となっており、SUB1とSAW1の合成では以下のような波形になります。

上に示したように、αJunoのDCOでは様々な制御信号を生成する必要があります。
矩形波については、8fの周波数の矩形波を分周すれば4f、2f、f、f/2、f/4の矩形波が生成できます。

若干悩むのは、PWMの波形です。
周波数がfのPWM波形は鋸波から生成できますが、2fのPWM波形は生成できません。
2fの矩形波は生成されていますが、ここから鋸波を生成してさらにPWM波を生成するのは無駄が大きい気がします。αJunoでは2fの鋸波は使われておらず、2fのPWM波形だけが使われているからです。

PWM波形の生成は、プログラマブル・カウンタの値がある値以上であれば出力1、そうでなければ0、というようにデジタル処理で生成することもできます。
この場合はデューティ比を離散的にしか変更できなくなりますが、αJunoのパラメータ指定はスライダが無く、デジタルのみで行いますので、デジタル方式で良いという判断はありそうです。
この方式はPWM波形専用のカウンタが必要になるものの、鋸波を発生させたりCVをホールドする回路が不要になります。

コメント