← 研究ノート一覧へ
三角関数(数学II)

ビブラートの正体

〜sin波をさらに揺らすと〜

このノートで考えること

サインカーブ y=Asin(Bx+C)+Dy = A\sin(Bx + C) + D の,AABB時間とともに揺らしてみたら,どんな音になるでしょうか。そして,それと同じことを電波でやると何が起きるでしょうか。

音はサインカーブ

声や楽器の音を波形で見ると,なめらかに上下するサインカーブになっている。

サインカーブと,振幅・周期
体験音階の波形を見て,鳴らしてみる
音を選ぶと波形が出ます

音の高さと周波数の対応は次のとおり(中央のドから1オクターブ)。

ファ
周波数 (Hz)261.6261.6293.7293.7329.6329.6349.2349.2392.0392.0440.0440.0493.9493.9523.3523.3
寄り道

1オクターブ上は,ぴったり2倍

表の左端のド 261.6261.6 Hz に対し,右端のドは 523.3523.3 Hz でちょうど2倍。オクターブとは周波数が2倍になる幅のこと。その間を12等分するのが平均律で,半音1つ上がるごとに周波数は 2121.0595\sqrt[12]{2} \fallingdotseq 1.0595 倍される。12回かけると (212)12=2(\sqrt[12]{2})^{12} = 2 に戻る仕組みになっている。

もう少し詳しく

実際の楽器の音は,サイン波ではない

ピアノの「ド」の波形を見ると,きれいなサインカーブではなく少し尖った形をしている。これは基音(f0f_0)に加えて,その整数倍の周波数(倍音)が混ざっているためである。中央のド(261.6 Hz)なら,2倍の 523.3 Hz は1オクターブ上のド,3倍の 784.9 Hz はさらにその上のソ。メインのドに,高いドやソがうっすら重なって鳴っている。

基音のドに,1オクターブ上のドとソを足すと,とがった波になる

式で書くと次のようになる。

y(x)=n=1NAnsin(2πnf0x+ϕn)y(x) = \sum_{n=1}^{N} A_n \sin\bigl(2\pi n f_0 x + \phi_n\bigr)

ϕn\phi_n は各倍音の位相(横方向のずれ)で,次の節で見る「つまみ CC」が倍音ごとに付いたものにあたる。倍音どうしの位相のずれは波形の見た目を変えるが,耳はほとんど聞き分けられない。音色を決めるのは係数 AnA_n の配分である。同じ「ド」でもピアノとバイオリンで違って聞こえるのはこのため。

4つのつまみ

サイン波は式で書くと

y=Asin(Bx+C)+Dy = A\sin(Bx + C) + D

と表せる。4つの文字は,波の形を決める4つの「つまみ」にあたる。

つまみ役割波の形は
AA振幅(縦の大きさ)変わる
BB周波数(横の細かさ)変わる
CC左右のずれ(位相)変わらない
DD上下のずれ変わらない
4つのつまみと,それぞれを動かしたときの波形
シミュレーター4つのつまみを回す
もう少し詳しく

CCDD が「形を変えない」とはどういうことか

DD を変えても波の上下の幅(振幅)も繰り返しの幅(周期)も変わらない。グラフ全体が上下に平行移動するだけである。音としては,空気の圧力の基準がずれるだけなので,人間の耳には何も変わらない

CC も同じで,波の始まる位置(位相)がずれるだけ。ただし位相は「聞こえない」わけではない。2つの音を重ねたときには位相のずれが打ち消し合いを生む。ノイズキャンセリングは,外の音とちょうど逆位相(CC を半周期ずらした波)をぶつけて音を消す技術である。

つまみを時間で動かしてみる

ここからが本題。「AABB の数値を揺らしてみたら,どんな音になるだろう?」

振幅 AA を揺らす ── トレモロ

AA を一定ではなく,ゆっくり上下させてみる。

y(x)=(1+msin2πfmx)揺れる振幅sin2πfcxy(x) = \underbrace{\bigl(1 + m\sin 2\pi f_m x\bigr)}_{\text{揺れる振幅}} \sin 2\pi f_c x

波形の外形(包絡線)が波打ち,音量が周期的に大きくなったり小さくなったりする。これがトレモロである。

単音の波とトレモロの波
体験トレモロを聴く

もとの単音と,振幅を揺らした音を聴き比べます。揺れの速さ fmf_m と揺れの深さ mm をつまみで変えられるので,どのくらいから「トレモロらしく」聞こえるかを探せます。

周波数 BB を揺らす ── ビブラート

今度は BB のほうを揺らす。波の山と山の間隔が伸び縮みして,音程が揺れて聞こえる。これがビブラートである。

単音の波とビブラートの波
体験ビブラートを聴く

こちらも,もとの単音と聴き比べます。揺れ幅を大きくしていくと,歌手のビブラートから,サイレンのような音まで変わっていきます。波形の「詰まり具合」が場所によって変わる様子も同時に見えます。

もう少し詳しく

「周波数を揺らす」を式で書くには

ビブラートの波は,sin\sin の中身に sin\sin を足した形で書ける。

y(x)=Asin(2πfcx+βsin2πfmx)y(x) = A\sin\bigl(2\pi f_c x + \beta \sin 2\pi f_m x\bigr)

これがビブラートの式である。振幅のときのように文字を置き換えるのではなく(sin(2πf(x)x)\sin(2\pi f(x)\, x) と書くと意図しない揺れ方をしてしまう),sin\sin の中身=位相のほうに揺れを入れる。

本当に「周波数が揺れている」ことは,位相が進む速さで確かめられる。これを瞬時周波数という。y(x)=Asinϕ(x)y(x) = A\sin\phi(x) と書けるとき

finst(x):=12πdϕdxf_{\mathrm{inst}}(x) := \frac{1}{2\pi}\frac{d\phi}{dx}

上の式では ϕ(x)=2πfcx+βsin2πfmx\phi(x) = 2\pi f_c x + \beta \sin 2\pi f_m x なので

finst(x)=fc+βfmcos2πfmxf_{\mathrm{inst}}(x) = f_c + \beta f_m \cos 2\pi f_m x

となり,周波数はたしかに中心 fcf_c のまわりを ±βfm\pm \beta f_m の幅で揺れている。

AMラジオとFMラジオ

ラジオの AM と FM は

AM=Amplitude Modulation=振幅変調FM=Frequency Modulation=周波数変調\text{AM} = \text{Amplitude Modulation} = \text{振幅変調} \qquad \text{FM} = \text{Frequency Modulation} = \text{周波数変調}

の略である。

ラジオは,音声をそのまま電波にして飛ばすわけではない。音声を,高周波の波 sinωt\sin\omega t搬送波)に乗せて運ぶ。AM と FM の違いは,この乗せ方にある。式で見ると,音声 m(t)m(t)

AM:y=(1+m(t))sinωt\text{AM}: \quad y = \bigl(1 + m(t)\bigr)\sin\omega tFM:y=sin(ωt+m(t))\text{FM}: \quad y = \sin\bigl(\omega t + m(t)\bigr)

のどちらに入れるか,という違いになる。つまりトレモロとビブラートを電波でやったものが AM と FM である。AM は外形が音の形,FM は詰まり具合が音の形になる。

音声,AM,FMの波形
シミュレーター声をAMとFMに乗せて聴き比べる
「サンプル音声」か「録音」で声を用意してください。
声の大きさの起伏
① 声を乗せ換えて聴く
AM|振幅に乗せる
声の大きさがブザーの音量になる
FM|周波数に乗せる
声の大きさがブザーの音程になる

同じ声なのに,AM は音量が,FM は音程が動きます。波形も,AM は外形が声の形に,FM は詰まり具合が声の形になっています。
※実際の電波は,人間の耳には聞こえないくらい高い周波数の波に乗っています。ここでは聴けるように,低い周波数に落として鳴らしています。

② 嵐(雑音)の中で聴き比べる

今度は声そのものを高周波の搬送波に乗せ,途中で雑音を加えてから,受信機で元の声に復元します。

AM で送って復元
FM で送って復元

雑音を強くしていくと,AM は雑音が振幅(=声の情報)に残るので,復元した声がガサガサに崩れます。FM は受信機が振幅方向の変動を捨てるので,声が粘ります。

録音した自分の声(またはサンプル)を,可聴ブザーに乗せ換えて鳴らします。同じ声でも AM は音量が,FM は音程が 声の起伏どおりに動きます。さらに雑音を足すと,AM はガサガサに崩れ,FM は粘る様子が聴き取れます。

寄り道

AMは kHz,FMは MHz

日本の AM ラジオは 531〜1602 kHz(中波),FM ラジオは 76.1〜94.9 MHz(超短波)の電波を使っている。ラジオの周波数表示が AM だけ kHz なのはこのため。たとえば NHK AM(東京)は 594 kHz,TOKYO FM は 80.0 MHz——FM の搬送波は AM の 100 倍以上速く揺れている。

ちなみに,乗せ方と周波数帯は本来別の話で,組み合わせは自由である。実際,飛行機の無線は FM 放送より高い周波数帯で AM を使っている。FM 放送が高い周波数帯にいるのは,周波数を大きく揺らすぶん 1 局あたり広い幅(約 200 kHz)が要り,中波帯(全体で約 1 MHz)では数局しか入らないからである。

もう少し詳しく

なぜ,音をそのまま飛ばさないのか

(1) アンテナが長くなりすぎる。 電波を効率よく出すには,アンテナの長さが波長 λ\lambda と同程度(実用上は λ/4\lambda/4 程度)必要になる。波長とは電波が 1 回振動する間に進む距離のことで,電波の速さ cc(光の速さと同じ)を周波数 ff で割って求まる。

λ=cf,c=3.0×108m/s\lambda = \frac{c}{f}, \qquad c = 3.0\times 10^{8}\,\mathrm{m/s}

なので,人の声の中心 f=1kHzf = 1\,\mathrm{kHz} をそのまま電波にすると

λ=3.0×1081.0×103=300km\lambda = \frac{3.0\times 10^{8}}{1.0\times 10^{3}} = 300\,\mathrm{km}

λ/4\lambda/4 でも 7575 km のアンテナが要る。一方 AM ラジオの 11 MHz なら λ=300\lambda = 300 m,FM の 8080 MHz なら λ3.75\lambda \fallingdotseq 3.75 m で,λ/4\lambda/4 は 1 m 弱。手に持てるサイズになる。

(2) 全員の声が重なってしまう。 音をそのまま飛ばすと,どの局も同じ周波数帯を使うことになり,受信側で分けられない。局ごとに違う高さの電波に乗せておけば,周波数の違いで選び分けられる。これが選局(チューニング)である。

そして現代の通信へ

AM は振幅に,FM は周波数(位相)に音を乗せた。スマホや Wi-Fi など現代の通信は,両方に同時に乗せる。AM のつまみと FM のつまみを,一度に両方回すのである。

ここで扱う波は,音声そのものではなく,データを運ぶための電波である。送る電波は振幅 AA と位相 φ\varphi の 2 つで決まり,y=Acos(ωt+φ)y = A\cos(\omega t + \varphi) と書ける。これを加法定理で開くと

y(t)=Acos(ωt+φ)=AcosφIcosωtAsinφQsinωt=IcosωtQsinωty(t) = A\cos(\omega t + \varphi) = \underbrace{A\cos\varphi}_{I}\,\cos\omega t - \underbrace{A\sin\varphi}_{Q}\,\sin\omega t = I\cos\omega t - Q\sin\omega t

となる。周波数 ω\omega は固定したまま,90°ずれた 2 本の波 cosωt\cos\omega tsinωt\sin\omega t に,それぞれ振幅 IIQQ を与えて足した形である。つまり,振幅と位相の組 (A,φ)(A, \varphi) を決めることは,数のペア (I,Q)(I, Q)——平面上の 1 点——を決めることと同じ。波を 1 つ選ぶことは,平面の点を 1 つ選ぶことにあたる。

なお,周波数 ω\omega は選択の対象ではなく,通信のあいだ固定されている。ω\omega が決めるのは,どの周波数帯(チャンネル)を使うかである。ラジオの選局と同じ役割で,Wi-Fi なら 2.4 GHz 帯や 5 GHz 帯がこれにあたる。情報を運ぶのは IIQQ のほうである。

平面の1点と,対応する1本の波。点が変われば波が変わる

もう一つ,ラジオと現代の通信では乗せるものが違う。ラジオが乗せた声は,なめらかに変わり続ける量(アナログ)だった。現代の通信が送るのは写真やメッセージなどのデータ,つまり 0 と 1 の列(デジタル)である。0/1 を伝えるだけなら,波を連続的に揺らす必要はない。決まった波を使い分ければ足りる。

そこで,振幅と位相の組合せを変えた波をあらかじめ有限個用意しておき,一定時間ごとに 1 つずつ選んで送る。どの波がどの 0/1 に対応するかは,送り手と受け手で先に取り決めておく。たとえば 4 種類なら——大きい振幅でそのままの位相の波なら「00」,大きい振幅で反転した位相なら「01」,小さい振幅でそのままなら「10」,小さい振幅で反転なら「11」。受信側は届いた波がどれかを見分けて,取り決めどおりに 0/1 へ戻す。1 回の選択で 4 通り=2 ビット,16 種類なら 4 ビットが伝わる。この方式を QAM(Quadrature Amplitude Modulation,直交振幅変調)という——90°ずれた 2 本の搬送波それぞれに振幅を乗せる,という名前である。Wi-Fi 6 と呼ばれる規格では 1024 種類の波が使われる。それぞれの波に 10 桁の 0/1(0000000000〜1111111111 の 210=10242^{10} = 1024 通り)が割り当てられているので,波が 1 つ届くたびに「1011101110」のような 10 桁ぶん=10 ビットが読み取れる。

用意した4種類の波と,送りたいデータに合わせて選んで並べた波形

トレモロとビブラートから始まった「つまみを揺らす」話は,いまもスマホの中で絶え間なく続いている。