AM波の周波数スペクトルを描く

 

(プログラム)

n=1024*64;
dt=0.0001;
t=0:dt:(n-1)*dt;
fc=100;
fs=20;
Ec=1;
m=0.4;
y=Ec*(1+m*sin(2*pi*fs*t)).*sin(2*pi*fc*t);
plot(t,y);
input (“Enter key:”);
spectrum=fft(y,n);
df=1/dt/n;i=1:n/64;data = [20*log(abs(spectrum(i)))];
plot (df*i,data);
データ数.FFTするので,2のべき乗とした.
計算する時間間隔.サンプリング時間である.
0秒から(n-1)t秒まで計算.
搬送波周波数 100Hz
信号波周波数 20Hz
搬送波振幅 1V
変調指数 0.4
AM波の計算
AM波のグラフ表示
Enterキーの入力待ち(実は何のキーでも良い).
FFTして,周波数成分に変換
周波数間隔(分解能)を求める.サンプリング時間/データ数である.
FFT後のデータはn個で,左右対称である.全部表示すると,データが多いので,最初のn/64個だけ取り出す.
対数にして出力.結果は複素数なので,絶対値を取る.
周波数スペクトルの表示.

(応用)
(1) 対数ではなくそのまま表示したらどうなるだろう.  → 縦軸が線形目盛りになるので,グラフの差が大きくなる.
(2) 途中で,周波数分解能を見てみよう.   → df=1/dt/n; の最後の;を取るとよい.
(3) データ数を減らしてみよう.         → 周波数分解能が粗くなるはず.
(4) 変調指数を変えて,周波数スペクトルの変化を見てみよう.
→ 搬送波(中心のもの)と側帯波(両側のもの)を比べてみよう.