LoginSignup
0
0

AM変調をPythonでやってみた

Last updated at Posted at 2024-05-22

こんにちは、無名です。
今回はAM変調をするコードをPythonで作っていこうと思います。
AM変調はラジオ放送(AMラジオ)や飛行機と地上との通信に使われています。
搬送波の振幅が入力信号によって変化します。

AM変調の公式

AM変調の公式は搬送波をcos(2πfct)、入力信号をm(t)とした時、変調された信号s(t)は
$$s(t)=(Ac+m(t))⋅cos(2πfct) $$
になります。
これをPythonで書いていきます。

コード

import numpy as np 
import matplotlib.pyplot as plt 
import math

#パラメーター設定
pi = math.pi
f_s = 44100 #サンプリングレート
t_fin = 1 #終了時間(秒)
dt = 1/ f_s #サンプリング周期
N = int(f_s * t_fin) #サンプル数
t = np.arange(0, t_fin, dt)
fre1 = 100 #搬送波の周波数
fre2 = 5 #入力信号の周波数
A_s = 2 #搬送波の振幅
A_m = 1 #入力信号の振幅

搬送波の周波数を100Hz 、入力信号の周波数を5Hzとして今回は変調します。

変調

搬送波と入力信号を生成し、変調します。

#搬送波生成
carrier = A_s * np.cos(2 * pi * fre1 * t) 

#入力波生成
modulator = A_m * np.sin(2 * pi * fre2 * t)

#AM変調
am_wave = (A_s + A_m * modulator) * carrier

グラフの描画

生成したグラフを描画します。

搬送波

carrier.png

入力信号

modulator.png

AM変調波

Ammodulation.png

まとめ

今回はAM変調をやってみました。
変調波のグラフですが、本来なら振幅は搬送波と入力信号の振幅の±で表されますが、なぜか値がオーバーしています。原因はわかりません。
気が向いたらPM変調やFM変調、デジタル変調もやろうかなと思っています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0