pythonで音を扱う~ASK・FSK・PSKの波を生成~

デジタル信号を波として扱う場合、0と1のように波に複数の状態を持たせる必要がある。

sin波の定義式をみたら分かるように変数として、振幅・周波数・位相を返ることによって0と1を表現する。

planet-meron.hatenablog.com

これらの変調方式をそれぞれ振幅シフトキーイング(ASK: amplitude shift keying), 周波数シフトキーイング(FSK: Frequency shift keying), 位相シフトキーイング(PSK: Phase shift keying)と呼ぶ。

それぞれを生成するスクリプトと生成される音を下記に示します

Desktop/PPP/python/audio/Untitled.ipynb

ASK

振幅 = 音の大きさなので、音量が変わっていることがよく分かる

FSK

周波数 = 音の高さなので、01のタイミングで音階が変わっていることがわかる

PSK

位相が変わると音の連続性が失われるので「プツ, プツ」と01のタイミングで音が一瞬切れているように聞こえる