analog Linear FM
1: FM基本原理
2: analog FM
3: FMとPhaseModulation
4: FMと倍音
5: Linear FMとEXP FM
6: FMとphase modulationの違い


Digital音源ではおなじみのFM変調も analog synthで実現できます。 VCOをaudio帯域の正弦波で変調すればFM変調になるわけですが、単純に oct/Vの VCOを変調した場合はexponentialな FM変調になりこれは analog synthでは X- mod.などと呼ばれ ring modulator的な効果を作り出す場合に使用されます。

exponential FM変調は変調波で変調をかけると元のピッチが変化してしまう ので、ピッチを変化させないで音色のみ変化させたい場合は linear FM変調という方法を用います。 これは VCOの Hz/V入力に変調波を入力することで実現でき、基本的には Digital 音源の FMと同じ原理で動作します。 すなわち変調波で変調をかけてもピッチを変化させず波形を変化させることが可能です。

変調をかければVCOのピッチが動くのがあたりまえで変化しないのはへんと思われるかも知れません。  その原理は後で説明するとして、いわんとしていることは変調される側の発振器(キャリア)と変調用の発振器(モジュレータ)の発振周波数を同じ(か整数倍)にして、両者の発振器には周波数の初期設定用 CVの他に Key CVをつなぎます。 そして変調用の発振器でキャリアに対して変調をかけます。

この場合 key CVで音程情報を両発振器に与えてもちゃんと両発振器はトラッキングして動くということです。 変調が原因で両者のピッチがずれると言うことは基本的にありません。 但しこのように動作させるためには特定条件が満足されなければなりません。

特定条件とは 変調波がキャリアの整数倍にあって変調波の振幅変化(波形振幅の微分値)の+と- の和が0であればキャリアピッチは変化しません。

これは通常の搬送波に変調信号を重畳させ信号伝達させるというFM変調の本来の使い方からすれば特異な使用方なのですが 音源としてのFMでは基本的な使い方です。

本格的なFM変調の音源としてはやはりdigital方式に軍配があがるのは当然なのですが、analog方式のFMというのは波形、倍音、周波数、発振といったいろいろな基本テーマを含んでいるので取り上げて見ました。

FM音源関係の情報は多々あると思いますが意外というか、大前提である項目、たとえば FM とphase modulationの違い、exponential FMと linear FMの違いとか、FMでは変調波でキャリアを変調してもピッチが変動しない使用法ができること等の項目に対して、納得できる原理説明がなかなか見つけられなかったのもここでこのテーマを取り上げたきっかけです。

そもそもこのpageを書くきっかけになったのはどうして analog FM変調においては self feedbackを行うとpitchが変動してしまうのかという疑問点でした。



いくつかの実例波形



* キャリア/モジュレータ周波数比 1:1 変調深度小


* キャリア/モジュレータ周波数比 1:1 変調深度大


* キャリア/モジュレータ周波数比 1:2


* キャリア/モジュレータ周波数比 1:3

上記の波形は analog modeling synth IONでののLinear FM modeでの波形ですがanalog synthをシミュレートしているのでphase modulationではなくFMなのでキャリア、モジュレータの周波数、位相を合わせるのがなかなか大変です。




まずはFM変調の式ですが,(式の生成過程は別記)

FM変調の式とanalog VCOの対応

 E(t)=SIN{ 2πFcl*t + (ΔF/fm)*SIN(2πfm*t) }

 * fm ......モジュレータVCOの発振周波数。
 * Fcl .....キャリアVCO発振周波数。
 * ΔF .......無変調時のキャリアVCOと変調時の最大(最小)発振周波数の差
 * ΔF/fm = m ..... modulation INDEX


ΔFについて
-----------------
一般的なFMやsynthにおいてLFOなどで変調した場合では出力波は変調波によってピッチ変動をうけるわけでその際、変調波の+振幅のピーク値で最大発振周波数になり、−振幅のピーク値で最小発振周波数に、0でキャリア周波数になるわけです。 最大発振周波数ーキャリア周波数もしくは、キャリア周波数ー最小発振周波数がΔFです。  最大周波数偏差などと呼ばれます。

出力の発振周波数は FM音源の場合、モジュレータの周波数がキャリア周波数の整数倍にある時(かつ変調波振幅の微分値の+,-の和が0の時) はキャリアの発振周波数と同じになってしまうのでちょっとこの表現はおかしいともとれますがこの式はFM変調の一般式なのでこう表現されます。 結局モジュレータの振幅(p-p)の 1/2の直流電圧でどのくらいキャリアVCOの発振周波数が変化するかという値と考えていいのではないかと思います。 要はモジュレータのアマウントレベルに相当するわけですが、上記の式は analog synthのFMの式というわけでなくFM変調の一般式なのでこのレベルを変調振幅でどのくらい周波数が変化するかという値(周波数偏差)として定義しています。

またΔF/fmをmodulation INDEX と呼び後の方で示すベッセル関数を使った倍音の強度を計算するための値となります。

1/fmはモジュレータ(変調波)の積分要素によって出現する項でFM変調がモジュレータの周波数でアマウントレベルが変化してしまうことなどを示していますが詳細は後で示します。


SIN{ }の意味
----------------------
SIN{ }の括弧の中の値は角度です。 この場合括弧内の(計算結果/360) に対してのあまり(剰余)が { } 内の値つまり角度と解釈されそのSINが振幅となります。

2π(ラジアン)は360度で 円周一周だからそれに周波数と時間をかけた値はやはり角度となります。 つまり経過時間tの角度の累積値で上記のように円周は360度なのでそれで割ったあまりがその時間の円周1周に対する位相角になります。

キャリアのみで変調がかかっていない場合は単純な等速円運動なのでSIN{ 2πFcl*t}ですがSIN波で変調をかければ等速ではなくなるのでいわばSIN波形のテーブルの読み出しに周期的な進み、遅れが出、それの原因を変調波側のSIN波がになっている。

キャリアに対して周波数の大変低い変調波であればビブラートとなりこの場合、周期的な進み遅れが長時間続く形となるのでそれがはっきりとした音程の変化として表れますが上記のようにモジュレータの周波数もAUDIO帯域の場合はキャリアの1周期の間での位相の進み、遅れとなるため波形の変形として現れる。


(ΔF/fm)*SIN(2πfm*t)の項
-------------------------------------
(ΔF/fm)*SIN(2πfm*t) の意味はSIN( )の範囲が +/-1なので 最大 +/-(ΔF/fm)  ラジアン オリジナルの周期に対してこの値 (角度)が加算されるということです。

たとえば この項が 0.5であれば (0.5/2π)*360度=29度で無変調時のリニアな位相進行時間に対してリニアに位相角が増加に対して最大 位相角が29度進むということです。

それの意味するところは角速度が上がることと同じなので同じ時間経過でもその時の振幅は位相が進んだ位置の振幅を反映することになります。

逆に位相が最大-29度遅れる期間では角速度が下がることになるので同じ経過時点で前にある位相位置の振幅が反映されます。

ここで重要なのはこのプラスマイナスされる位相分は一定値ではなく時間的に変化していることです。 一定値であれば単に進行波形に対してオフセットがつくだけで大元の波形進行そのものはオリジナルと変化しません。

時間的に変化しているので進んだり、遅れたりが生じてそれが時間軸が圧縮、伸長したと同じ効果を与えています。

さらにこの変化量が 1周期の範囲では+/- =0になる場合は 1周期を通せばピッチの変化はないのです。


fm が Fcl の整数倍にあれば Fclの1周期内で位相が進んでもあとで位相が遅れるので+,- = 0で全体では Fcl の周波数変動はなしです。

これが整数倍でない時の使用法が本来のFM変調、つまり搬送波に変調波としての audio信号を重畳する使いかたなんでしょうが、FM音源ではそれは非整数倍音を発生させる時の使い方となります。

また 変調波がキャリアの1/2であったような場合 Fcl の 1サイクルでつじつまあわせが完結しなくなるため Fcl の 1サイクルより多い時間つまり fmのもう一サイクルで +,- = 0の動作が完結することになります。 この場合整数倍ではないですが比例関係にはあるため一応 ピッチはキャリアの周波数で聞こえます。(詳細は後述)


(ΔF/fm)*SIN(2πfm*t)のΔF=0の場合はこの項は意味がなくなります。つまり modulation amount が 0ということです。 fmが0である場合はどうでしょう。 やはり SIN( )の項が0となるので意味がなくなります。

fmに関してはanalog synthとの対応ではちょっと釈然としませんが 直流であれば0Hzなのでこの式上では 0 だけれども直流要素は単にキャリアVCOの発振周波数を決める要素になってしまうのでこの式とは関係ない要素なのでしょうか。 analog synthにおける直流CVは一定値であってもそれが積分される形で発振周波数に影響するわけですがここではそれはキャリアを発振させるためのパラメータになってしまうと言うことでしょうか。

0Hzにはならないが低速なLFOの場合は有効でFclよりfmがはるかに小さければキャリアの1周期に対してある瞬間は変調波はある振幅で止まっているようなものなのでその振幅分がキャリアの読み出し角に追加されてキャリアの周波数が変化することになるのでしょう。



(等速円運動)位相の進行と変調波の関係


時間進行に対する無変調の位相の進行具合は一定なのでその累算値としての時間軸に対する位相進行は一定値を積分して直線上昇です。

それに対して正弦波の変調波を加えると 0..90度の範囲では上昇角がおおむねあがり、90度で無変調と同じ、90度..270度間では傾きが下がっています。 270度..360度間になると再び角度が上がるような進行になります。

ですから大枠0..90度間は位相角の進行が早くに進みキャリア正弦波の0,..90度分よりもあとの角度位置に対応する振幅が生じ、90..180度間は位相角の進行が遅くなってキャリア正弦波ののこりの角度に対する振幅が発生することになります。

正弦波で変調をかけることは単純に考えれば変化量は +, +, - , -のような気もしますが位相の進行度は正弦波そのままの +, +, -, -,つまり 0..180度までは無変調時にくらべてトータルでは進んでいて 180度で同じになり 180..360度まではトータルでは遅れていて360度で同じになる。

進行具合の速さの変化は COS波の変化で+,-,-,+となります。 つまり上記の変調がかかった直線の傾きと同じになりそれは変調SIN波を微分した形ということです。 

図からキャリアの1周期内で、変調波の変化が早い(周波数が高い)方が変調波の上昇、下降に際して傾きが大きくなることがわかります。 すなわち変調度が高いということです。 直流の場合は傾きがキャリアの傾きと同じになるので変調度は0ということになります。


下図に変調波の微分変化に対するキャリアの変形の様子を示します。

変調波の微分波形が0度から90度までの範囲では位相が進みますがその変化は一定値に近い値から序所に落ちてきて直線下降に近くなるのでキャリアの波形もそれに応じた変化をして、始めは進行が早いがだんだん進行が落ちてきます。

変調波の微分波形が90度から180度までの範囲ではこんどは位相が遅れ、それに対するキャリア波形の読み出し位置は140度前後の所にきているので元々が直線下降の波形になっているので変調波で変調を受けた波形は変調波の微分波形の形を受けついた形に変化しています。

変調波の微分波形が180度にきたところで、キャリアの進みも遅れもなくなります。


* ANALOG FM

analog linear FMの動作からFMの式を導きます。

analog FMでのVCOの 周波数とCVの対応は、

Vcv = Vcl + Vm* cos(2πfm*t)

     Vcl: キャリア周波数に対するCV値
     Vm: 変調波振幅 (変調CV)
     Vcv: VCOに印加される全電圧

Fvco =
 K*Vcv = K*Vcl + K*Vm* cos(2πfm*t)
    = Fcl +僥*cos(2π*fm*t)
    = (1/2π) * dA(t)/dt

     Fvco: VCO発振周波数
     K: CVと発振周波数との間の係数
     僥: 変調波変調度(振幅)
     A(t): 円運動の位相角(積算値)


A(t) = 2π∫{Fcl +僥*cos(2π*fmt')}dt'
     =2πFCl +僥*fm*sin(2π*fm*t)

     ∫: 0から時間t までの積分
     A(t): 位相進行の積算値


E(t) = sin{2π*Fcl + (僥/fm)* sin(2π*fm*t)}

     E(t): FM出力の振幅電圧の時間変化
     A(t)のSIN成分(Y軸との投影)


となり 変調波が大元のSINからCOSになる以外は始めに示したFMの式と同じになります。

変調波が直流の場合は始めの段階で
K( Vcl + Vm) ---> Fcl+Vm --> 2π(Fcl+fm) --> SIN(2π(Fcl+fm)*t))となり、上記式のようにキャリアの項と変調波の項は分離できない。

ここで ΔF = k*Vm なので変調波 CV電圧を適当なアマウントレベルで印加させれば(ΔF/fm)* cos(2πfm*t) の項が得られるという対応になります。 ですからCVの印加電圧が何Vの時に周波数が何Hz変化するかという関係がわかれば上記式を活用できるわけです。

上記の式生成の流れで変調波をCOSとしているのは以下に示す理由によるためです。

通常の analog VCOは直流電圧もしくはLFOなどの低速の CVを与えて動作させるようになっています。 これに対して FM変調では audio帯域で変調用VCOを使用します。 VCOは通常 CVを電流に変換して その電流で capacitorを充電させ、あるタイミングで放電させるという動作を繰り返して発振器として機能しています。

この為 capacitorの反応は積分器となるので 直流電圧(電流)を加えるとピッチが変化するわけですがaudio帯域の CVに対してもCVを電流変換した変調波を積分したものが capacitorの充電電圧になる為両者の間で位相が90度変化します。 よって 変調波が SIN波であった場合、充電電圧は -COS波になりますので、上記の説明で使ったようにキャリアのSIN波に対してSIN波で変調をかけた結果の波形が得たい場合は、あらかじめ変調波がCOS波 になるように両者の位相をロックしなければなりません。

さらに積分器を通った変調波の振幅変化を微分したものがキャリア波形の進行に影響を与えるので

変調波形 ---> 積分 ---> 微分 --> という関係になります。

たとえば変調波がCOS波なら
COS --> 積分 --> SIN --> 微分 --> COS 
という関係になり、 SIN波なら
SIN --> 積分 --> -COS --> 微分 --> SIN になります。

上記の例で微分結果がSIN波の場合たとえばキャリア、モジュレータ周波数が同じ時、変調結果の波形は時間方向に非対称なゆがんだ波形になります。 COS波時は鋸波のような時間軸方向に対称な波形です。


analog のFMに限らず、FMはキャリアの位相進行に際して、単純な等速円運動をする一定値の位相角変化に加えて変調波の振幅変化を加算した累算値が位相の進行となるため積分要素を含んでいます。

これに対して以下に示すPhase Modulationは変調波の加算に対しては積分要素がなく積分要素はキャリアの位相進行に際しての等速円運動要素のみに積分要素が生じます。



Frequency modulation と phase modulationの違い


digital VCO

digital FMでは発振器に相等する部分に VCOをシミュレートした構成のものと、単純に始めに示した 直線上昇のグラフに変調波をプラスするような構成にしたもの(いわゆる phase modulation)とが考えられます。

digital VCOの構成例を以下に示します。  これは最終的には ROM メモリーに格納された SIN波データをφで読み出す構成のVCOですが、この場合 位相の進行は Z^-1の digital遅延素子と加算器と帰還ループで構成された積分器です。これが  phase accumulator として機能します。

変調波CVもキャリア CVと同じ加算器を利用しているため、この積分器の影響を analog VCOと同様に受 けてしまいます。

この digital VCOで 自分の出力で変調をかける self modulationをかけたときの出力波形と、積分作用を受けたあとの変調波の一例を示します。


イメージ図

出力波形は時間軸方向に非対称な正弦波?といった感じの波形でかつ周期が大元のキャリア信号に対して のびています。 つまりピッチが下がっています。

また積分器 通過後の変調波形(交流成分のみ)は-COS波の間延びした波形になっています。 これを 微分した波形がキャリアVCO(この場合はキャリア、モジュレータが同一だが) に作用するわけですがこの波形は 出力波形と同じ形になるわけです。(当然振幅は小さいです)

この為 正弦波の+振幅部分では位相が早く進み、-振幅部分では位相が遅く進むのでこのような出力波形が生成 されるわけです。

では残りの周期が伸びて、ピッチが下がる原因はどうしてかということでこんだは積分器通過後の全部の CV情報(キャリアの初期発振周波数設定用直流CVを含む)の変化を以下に示します。

傾きの大きい方の直線上昇は変調をかけていない時の変化、 傾きの小さい方は変調をかけた時の変化です。  後者の場合は直線上昇(直流CV)に上記の変調波が重畳された形になっていてかつ直線の傾きが低下しています。  すなわちこれがピッチ低下の原因というわけです。(マイナス DC成分が積分されてオリジナルの積分増加を 押さえる)

上記の非対称変調波(出力波形)ではマイナス部分の面積の方が大きいので +, -がバランスする ためには(ACカップリングするには)マイナスの直流分がなくなればいいのでそれがキャリアの直流CV に加算され結果が上記の直線上昇の角度に反映されるわけです。

< 積分について >
+振幅とー振幅の面積が同じ周期波形を積分すれば、結果は周期波形になります。  しかし+振幅とー振幅の面積が同じでない周期波形を積分すれば+かーどちらの方向に発散してしまいます。  この発散原因が直流オフセット成分です。

つまり直流成分と周期波形成分が独立に積分された結果を足したものが最終結果となるわけです。  上記の例では変調波が単独で積分されれば、周期運動をしながらマイナス方向に発散するわけです。



phase modulation

これに対して キャリアCV入力と変調CV入力が別系統で入力される構成にすれば、変調波は積分器の影 響を受けなくなります。 もう少し正確に言うと上記の phase accumulator部分にはキャリアCVのみ をいれることにして以下のようにすると言うことです。

こうすることにより変調波は積分の影響を受けません。 つまり基本的にはピッチを生み出す要素は キャリアCV+phase accumulator部分なのです。 変調入力に直流を加えた場合を考えるとこの場合は 上記のVCOの場合と異なり積分されないので値は一定値を保つので単に初期位相がずれるという意味 合いになって直流でピッチが変化することはなくなります。

つまり、この章の一番初めの位相進行の直線上昇の図で直流信号に相等する変調波や、+と-で面積の異 なる変調波を重畳した場合と同じになるわけであり、 E(t)=SIN{ 2πFcl*t + (ΔF/fm)*SIN(2πfm*t) } この式と変調入力の加算方法が同じというわけです。

上記FMの積分要素をなくした方式が phase modulationといわれるようです。  つまり E(t)=SIN{ 2πFcl*t + a*SIN(2πfm*t) } ということです(aは定数(変調の深さ))。

単純にモジュレータの変調を加算した形。



FMと PMについてもう少し考えてみます。

FM変調でキャリアとモジュレータの周波数を同じくして、両者の周波数をシンクロさせながら周波数を 落としていくと周波数が低いほど変調度が増して複雑な波形になります。

積分経路を通った変調波は周波数が下がれば単位時間あたり充電される時間が増えるので振幅が増える ことになります。(周期が止まってしまえば直流になるわけですね。)  ですから変調度は上がるわけです。

これはこの章の始めの方で疑問点としてあげた
E(t)=SIN{ 2πFcl*t + (ΔF/fm)*SIN(2πfm*t) }  の式の直流に対する対応とかとからんでくるわけですが、純粋 FM変調ではSIN(2πfm*t)が積分されるわけですから結局 (1/fm)* cos(2πfm*t)となるわけでこの 1/fmによって変調波の周波数がさがれば積分後の振幅は上がることになります。

FM変調の動作が上記の式に変換できるということですね。  よく見ればこの式は  FMとは変調入力の加算位置がことなる異なる phase modulationの動作をそのまま具象化した式であるわけです。

つまり変調波の変調度パラメータとしての(ΔF/fm)を取り去るというか定数にすれば上式は phase modulationそのままの動作になり 1/fm で変調波の周波数で変調度をスケーリング することで FM変調と等価になるということです。


  * FM変調の式   E(t)=SIN{ 2πFcl*t + (ΔF/fm)* cos(2πfm*t) }
  * phase modulationの式   E(t)=SIN{ 2πFcl*t + a*sin(2πfm*t) }

ここで a:=ΔF/fmを代入すると上記式は FMと同じになります。  但しこれらの式はfm=0となる直流の場合については動作をうまく表現できませんということです。

上記のように FMとPMでは 変調波が COSと SINと異なっています。  よって PMで生成されるキャリア と FMで生成されるキャリアを同じ波形にしたい場合は FMの場合 COSで変調する必要があります。

以下に FMで COSと SINで変調した場合の波形の違いを示します。



* FM音源と倍音

E(t)=SIN{ 2πFcl*t + (ΔF/fm)*SIN(2πfm*t) } の式から生成波形のキャリア周波数を基音とした場合の倍音構成を表す式を導きだすことができます。 この式を side band(側波帯)の各項の展開式として表すと

E(t)= J0(m)*sin(2πFcl*t)
    + J1(m){ sin[2π(Fcl+ fm)]t - sin[2π(Fcl- fm)]t }
    + J2(m){ sin[2π(Fcl+2fm)]t + sin[2π(Fcl-2fm)]t }
    + J3(m){ sin[2π(Fcl+3fm)]t - sin[2π(Fcl-3fm)]t }
    + ................

  * Jn(m) ... ベッセル関数。
  * m ....... modulation INDEX m=ΔF/fm

となります。(式の生成過程) 


* side band のイメージ


大原則として side band は キャリア周波数を中心として Fcl+fm , Fcl+2fm .... Fcl-fm , Fcl-2fm....と両者の和、差成分の集まりとなります。 4象現のAM変調では side bandは Fcl+fm, Fcl-fmの 2っで終了ですが FM変調では 差、和とも有限個ではありますが続きます。
各倍音構成要素(partial)の間隔は変調波の周波数が高いほど広くなります。


* ベッセル関数


*ベッセル関数表(Indexは0.25単位としている場合の表)


side bandの構成要素の各項(partial)の振幅は上図のベッセル関数によって求めます。 たとえば J1(m)の partialではそれに相等するベッセル関数を選んで、ΔF/fmで求めたmの値に 該当するX軸の値から対応するy軸の値を求めそれを振幅の係数とします。

上図からわかるようにΔF/fmの値が大きいほど m は大きくなりますので基音に対する倍音の 含み方の割合が増えますし、それが進行していけば倍音群の振幅の和の方が基音より大きく なるので結果周波数は基音のピッチを保てなくなります。

これはキャリアの周波数と変調波の周波数が整数倍の関係にあってもmがおおきければピッチ は変化するということです。  これだとちょっと話が矛盾してしまいますね。 そのような状態になっている時は変調波の マイナス側の振幅がピークになる以前で Fcl-fmがマイナスになる、つまり変調波のマイナス成分 と同じ振幅のマイナスの直流をかけた結果が 0Hz以下になってしまうような状態で結局、変調波形 が振幅方向に非対称になっていると考えればつじつまが合うように思います。



いくつかの例を考えます。

キャリアと変調波の周波数が同じ時たとえば 440Hzの時。
キャリアより大きい周波数のside bandに対して上記式の各項の周波数にだけ注目すると。 ( Fcl+ fm) ....(Fcl+2fm).......の項)

* 440+440=880 ............ 440*2
* 440+880=1320 .......... 440*3
* 440+1320=1760 ........ 440*4
* .....

( Fcl- fm) ....(Fcl-2fm).......の項)

* 440-440=0 ................... 440*0
* 440-880=-440=440 ......440*1
* 440-1320=-880=880 .... 440*2
* .....

となってキャリア周波数に対して 2,3,4,5.....倍音のならびになります。 キャリアより小さい周波数のside band項( Fcl- fm) ....(Fcl-2fm).......の項) も存在しているので 各倍音に見立てた要素を足した結果プラス、この小さい周波数の要素を足した結果が合成波形です。 ( 0Hzよりマイナス側に周波数がきた場合はプラス位置の要素と加算します。

ΔF/fmのΔFの項を440Hzとした時のside band の各項 ( partial )の振幅をベッセル関数から求めた表を 以下に示します。

* Fcl= 440Hz
* fm = 440Hz
* m=ΔF/fm= 440Hz/440Hz=1
* キャリア(基音) .....0.77 *(440Hz)
* 第2倍音  0.44* ((440+440=880) -(440-440)=0 )
* 第3倍音  0.11 *((440+880=1320) +(440-880)=-440..基音 )
* 第4倍音  0.02 *((440+1320=1760) -(440-1320)=880)
* .....


* シミュレーション波形

* 再合成波形(上記構成で)

上図は E(t)=SIN{ 2πFcl*t + (ΔF/fm)*SIN(2πfm*t) } の式に値をいれて波形を表示した例と、ベッセル関数から求めた振幅で、倍音加算によって再構築した波形です。 倍音の数を限定していますので完全に同じ波形にはなっていませんが、大体同じ波形であることから上記の計算、解釈が間違っていないことになります。


この状態は式を使わなくとも感覚的に理解できます。 変調波の微分波形から、キャリア波の1/2周期タイミングで進みと遅れが無くなるのでこのタイミングで無変調のキャリア波形と変調時のキャリア波形の振幅は同じになりまた変調波の1/4周期のタイミングで変調度=0になるのでそのタイミングでの変調されたキャリア波と無変調キャリア波の傾きは同じになることがわかります。

上図において変調波微分波形の0から90度区間では無変調キャリアに対相手変調されたキャリアは傾き(変化)が急 になり90度から180までは逆に変調されたキャリアの方が傾きは緩やかになり180度で変化=0になり180度から360までは逆の反応になります。

すなわち変調されたキャリア波は90度を中心とした時、左右で非対称な波形になっており半周期において波形は非対称で鋸波に近いランプ波上の波形になることは感覚的にも明白にわかるでしょう。

上記の例では発振周波数と僥が同じ値なので最大で880Hz時の傾きが得られるポイントがあり最小で0Hzの傾きになっています。 では僥がそれ以上大きい場合がどうなるのでしょうか?。



変調度を倍にした場合

* Fcl= 440Hz
* fm = 440Hz
* m=ΔF/fm= 880Hz/440Hz=2
* キャリア(基音) .....0.2 *(440Hz)
* 第2倍音  0.59* ((440+440=880) -(440-440)=0 )
* 第3倍音  0.37 *((440+880=1320) +(440-880)=-440基音 )
* 第4倍音  0.15 *((440+1320=1760) -(440-1320)=880 )
* .....


* シミュレーション波形

* 再合成波形(上記構成で)

この場合は変調波のマイナス部分で過変調になっているような状態でしょうか。  結果変調波が上下対称にならず DCオフセットがプラスになりピッチはキャリア周波数を保っていない。

でも生成されるキャリア波形は元のキャリア波形の整数倍になっていますね。 なにか秘密がありそうです。

* 過変調時の波形について



キャリアの周波数 440Hzで変調波の周波数が880Hzの時は、キャリアより大きい周波数の side bandに対して

* 440+880=1320 ....... 440*3
* 440+1760=2200 ....... 440*5
* 440+2640=3080 ....... 440*7
* .....

* 440-880=-440=440 ...... 440*1
* 440-1760=-1320=1320 ... 440*3
* 440-2640=-2200 ........ 440*5
* .....

となってキャリア周波数に対して 3,5,7,.....の奇数倍音の並びになります。 同様に( Fcl- fm) ....(Fcl-2fm).......の項)の項を足しますが、値が -440Hz, -1320Hz, -2200となるので符号反転してやるとやはり奇数倍音のならびになります。

* Fcl= 440Hz
* fm = 880Hz
* m=ΔF/fm= 440Hz/880Hz=0.5
* キャリア(基音) .....0.94*(440Hz)
* 第3倍音  0.24* ((440+880=1320) -(440-880)=440 )
* 第5倍音  0.03 *((440+1760=2200) +(440-1760)=-1320 )
* .....


* シミュレーション波形

* 再合成波形(上記構成で)

再合成時の倍音数が少ないのでシミュレーション波形と全く同じにはなっていません。
奇数倍音のみの構成なので矩形波に近い形の波形が生成されています。 ΔFを下げれば対称歪み波形と なります。



* 2倍の周波数の変調波の微分値(COS)と出力波形の関係

キャリアと変調波の周波数が同じ場合と異なり上記の場合はキャリアの半周期に対して変調されたキャリア波は左右対称になります。 これは変調波の微分波形を見ればわかりますがキャリアの1/4周期で変調波の進み、遅れの積算値は0になりこの時点で変調波の微分のマイナス振幅はMAXになるので無変調キャリアの振幅と変調キャリア波の振幅が同じでかつキャリア波の傾きは0となりそこから1/2周期までは逆変化となるのでキャリアの90度を中心として左右対称波が出現する。

また変調波の90度のタイミング(キャリアの45度)で変調波の振幅=0になっているのでこのタイミングでの変調されたキャリア波の振幅と同じ振幅位置にある無変調キャリア波の傾きは同じになることが理解できるでしょう。

当然、変調波の0から90度までのタイミングでは進み、90度から180度のタイミングでは遅れを反映して変調されたキャリア波の形ができあがっています。上図は少しわかりにくいのですが再合成時の図を見ればてキャリアの45度より前と後では変化具合が大幅に異なっているのが変調波の振幅=0のタイミングを反映していることが明白にわかると思います。

すなわち変調されたキャリアの45度位置の振幅からピーク振幅まではわずかな値でありそれに対してそこからは変調波の進行が遅くなるフェーズになるためさらに変調されたキャリアの傾きはゆるやかになり、90度位置で変化が無くなります。

僥がより大きくなれば波形の立ち上がりはより鋭くなり矩形波に近づきますが過変調になるためキャリアの45度、135度付近がへこんだ形になります。


* 僥を大きくしていった場合


上記の例から倍音の基本構成はキャリアと変調波の周波数差できまり、( side bandの幅も)各倍音の振幅レベルは参照するベッセル関数の位置で決まるつまりΔF/fmできまります。ΔFはつまるとこと変調波のアマウントレベルなのでそれによって音色、ピッチが変化するということになります。



変調波がキャリアの周波数の 1/2の場合はどうでしょうか。  キャリア440Hz、変調波 220Hzの場合を考えると Fcl+fm=660Hz, Fcl-fm=220Hzになります。  たとえば変調度 ΔF=220Hzとした場合、

* Fcl= 440Hz
* fm = 220Hz
* m=ΔF/fm= 220Hz/220Hz=1
* キャリア(基音) .....0.77*(440Hz)
* 第1.5/0.5倍音  0.44* ((440+220=660) -(440-220=220))
* 第2.0倍音     0.11 *((440+440=880) + (440-440=0))
* .....


図から一応ピッチ440Hzになっているのがわかります。  但し波形には変調がかかっている形になって基音の2周期で同じ波形が繰り替えす形になっています。  変調によって周波数が変わればまさに本来のFM変調なのですがこの場合周波数は変わらずPWMのように位相 が変化していますので位相変調というのでしょうか。

では660Hzと220Hzの要素はどこに消えたかということで上記の要素からまず 440Hzと660Hzを加えた時の グラフを以下に示します。

両者が整数倍の関係にないので基音の2周期で同じ波形が出現する形となりまた位相変調と振幅変調が かかっていますが周波数は440Hzです。  440Hzと220Hzの場合はどうでしょうか以下にそのようすを示します。

この場合も同様に周波数は440Hzですが振幅変調と位相変調がかかっています。  結局両波形の周波数関係が割り切れる値にある時は合成結果は振幅の大きい方の周波数になるようです。


よって全 partialを足した波形も基音に相等する440Hzの信号として認識されることになりますが、 660Hzと220Hzの partial の影響は位相変調と振幅変調になって表れています。  変調波とキャリアの差がもっと増えればビブラートのような波形になるのでしょう。


参考:

E(t) = SIN{ 2π*Fcl*t + (僥/fm)* SIN( 2π*fm*t) }
ここで僥/fm = m  modulation Index

加法定理から
SIN(X + Y ) = SIN(X)*COS(Y) + COS(X)*SIN(Y)

よって
E(t) = { SIN(2πFcl*t) * COS( m * SIN(2πfm*t) } +
   { COS(2πFcl*t) * SIN( m * SIN(2πfm*t) }

ここで
COS { m * SIN(X) } = J0(m) + 2[J2(m)COS(2X) + J4(m)COS(4X) + ........... ]
SIN { m * SIN(X) } =2[J1(m)SIN(X) + J3(m)SIN(3X) + J5(m)SIN(5X).........]
という第1種ベッセル関数との対応が取れる。

また
SIN(x)*COS(x) = (1/2){SIN(X+Y) + SYN(X-Y)]
COS(X)*SIN(Y) = (1/2)[SIN(X+Y) - SIN(X-Y)]

よって以下の展開式を得る。

E(t)= J0(m)*sin(2πFcl*t)
    + J1(m){ sin[2π(Fcl+ fm)]t - sin[2π(Fcl- fm)]t }
    + J2(m){ sin[2π(Fcl+2fm)]t + sin[2π(Fcl-2fm)]t }
    + J3(m){ sin[2π(Fcl+3fm)]t - sin[2π(Fcl-3fm)]t }
    + ................



Linear FM と exponential FM


analog FMに戻って、linear FMでは変調波がキャリアの整数倍にあって変調波の振幅変化の + と - の和が0であればキャリアのピッチは変化しません。 これは上記の説明からも明らかですが 1周期内で位相の進み遅れが相殺されるので部分的に波形が変形しても1周期でもとにもどるというわけです。

一方 exponential FM つまり多くの analog synthで標準的に使われている oct/V の CV 仕様では、 oct/V のキャリア発振器を変調する場合、キャリアとモジュレータの発振周波数が整数倍の関係があってもピッチは変調波で変調した時とする前では変化してしまいます。

これは結局上記の条件中の振幅変化の微分波形の + と - の和が0にならないからです。 つまり oct/VのCV入力に入れる前までは +,-の振幅波形が同じ変調波であっても antilog ampを通せば、リニアな変化が音階の変化に追従させるべく等比の関係に変換されるわけなので +, - 1Vの変調波が たとえば -1V時 220Hz, 0Vで 440Hz, 2Vで880Hzというピッチ変化をもたらすわけで入力された変調波の微分波形の+ , -の面積が異なることになってしまうのでピッチが変化してしまうわけです。


* antilog 通過後の変調波の例

これは別の角度からみるとこの非対称正弦波のDC分をとりのぞくべくオフセットが発生してその結果直流レベルが変動してその直流がキャリアVCOの CVに加算されピッチが変わるともいえるでしょう。

要は周波数のリニアな変化に対して音階は等比変化なわけであって、それ発生させるための oct/V VCOはリニアな変化ではないという理由であるわけです。


* linear FM ... FM変調しても基音(上図のいちばん大きい山)は動かない。


Expo FM ...FM変調すると基音(上図のいちばん大きい山)のピッチが上昇してしまう

Analog VCOのHz/V入力を使うとDigitalのFMに近い動作ができるわけですがこれだけでは動作は不完全です。すなわち上記の過変調動作を実現するためには発振方向を逆回転する必要があります。 このような逆回転動作が可能なVCOをThru ZERO VCOと呼びます。



FMとphase modulationの違い

次に再度、 side band(側波帯)の各項の展開式に注目してみます。


* ベッセル関数

E(t)= J0(m)*sin(2πFcl*t)
    + J1(m){ sin[2π(Fcl+ fm)]t - sin[2π(Fcl- fm)]t }
    + J2(m){ sin[2π(Fcl+2fm)]t + sin[2π(Fcl-2fm)]t }
    + J3(m){ sin[2π(Fcl+3fm)]t - sin[2π(Fcl-3fm)]t }
    + ................

上式から 変調波fmの周波数が0になれば倍音の発生する項がなくなり、またΔF/fmの項が∞になるのでm が∞になり各paratialの振幅は0になる為、無変調になります。 phase modulationで直流ではピッチ 変化がないということの理由にもなるわけです。

一方、純粋FMの場合もこの式から倍音はないわけですが、FMは変調にかかわる要素が積分要素を通過するの で変調波が直流になれば位相角の進行は2π(Fcl+fm)*t となり、変調波が周期をもつ場合はそれが積分され るのでたとえばCOS波を入れればSIN波になるわけでこれが両者の違いです。


もう一点重要なことは、 上記の展開式から、各partialの振幅にかかわるわかる要素 Jn(m)の mを変調波周波数にかかわらず一定値に した場合が phase modulationの本来の式になります。 よって、


*1: キャリア周波数と変調波の周波数比を同じに保ったまま周波数を変化させた場合。

* phase modulation ---> 各倍音のレベルは変わらない。
* FM           ---> 周波数に各倍音のレベルが変化。


という結果を得ます。 この場合 side bandの構成が変わらないので mの値が変調波の周波数で変化しない phase modulationは周波数が変化するという以外には本質的な変化がありません。

FMの場合は 1/fmの項が mに作用するのでそれに対応したベッセル関数の値が変化するので、 各partialに対する振幅は変化します。  おおむね mが2以下の範囲では周波数が低いほど倍音の振幅は高くなります。

音源としてではなくて本来のFM変調ではこのような使い方はしないのだと思いますが、音源としての使用では、 スペクトルの時間変化のない固定波形として使う用途ではないかと思われます。 この場合FMでは変調周波数で スケーリングされてしまうので波形を一定に保ちたい場合は、アマウントレベルを Key CVでトラッキングする 必要があります。

これがHz/V analog syth CS30のLinear FM機能においてmodulator levelに対してVCAを介してKey CVによる Key trackingをしている理由かと思われます。


これに対して、

*2: キャリア周波数固定で変調波の周波数を変化させた場合は、

* phase modulation ---> 各partialの振幅を合計した値は変わらない。
* FM    ---> 各partialの振幅を合計した値は変調周波数を高くした方が低い。


* 上記のようにside bandの各partialの振幅値を合計した値( sideband power distribution というみたい ですが )が FMでは変調波の周波数が高くなると小さくなります。 要は前の結果と同じというわけです。

これは別の見方では side bandの幅というか広がり (total bandwidth... これを変調度という?) が FMでは大幅には変化しないが phase modulationでは変調波の周波数が低くなると狭まるということです。

ですから phase modulationでは 変調周波数が0つまり直流の時 side bandの幅は0で 振幅は有限値 ( 時間に関係なく一定値 )なので直流では変調されないのであり、FMの場合は side bandの幅が狭まる につれて各 partialの値が上がるのでside bandの広がりはあまり変化しない。  変調周波数が0になれば振幅値は最大( 時間∞で振幅も∞ )になるのです。

つまり直流が意味を持って発振に関与してしまうということです..... 積分器の発散だから  filterのpoleと本質的な意味は同じですね。

加えて当然ながら変調波の周波数が変化すると(Fcl+fm)の値が変化するので各partialの幅が変化して キャリアを基音にみたてた場合の倍音の構成が変化します。


この章の始めの方で示した E(t)=SIN{ 2πFcl*t + (ΔF/fm)*SIN(2πfm*t) } という一つの式が 非常に多くの要素を含んでいるということがおぼろげながらわかったような気がします。



結局の所Analog VCOは必然的に積分要素を 内抱 しているので phase madulationは原理的にできずanalog( Linear)FMのみが可能となります。またphase modulationにおいては変調の深さのパラメータを僥/fmに置き換えることでFM変調と同じ式になるので波形の変形という意味ではピッチ変動の元の直流要素が発生しないまた変調波をCOS波にする必要の無いphase modulationの方が扱いやすいということなのでしょうか。



<2019/08/11 rev0.2>
<2018/12/03 rev0.1>
<2003/11/30 rev0.0>