前回は、AM変調波を作るところまでやりました。
今回は、この波形をFFTで周波数成分表示をしてみます。
まずは、Xcos 上で得られた波形データをコンソール上で扱えるように出力します。

「To workspace(TOWS_c)」を追加します。パラメータは以下のようにして下さい。

1クロック=0.000625secで、これを2秒間シミュレーションしていますから、2/0.000625 クロックとなって、データサイズ=「Size of buffer」は 3200 となります。
変数名はここでは「AMmodulation」としました。
再度、シミュレーションを実行したら、コンソール上で確認してみます。
-->AMmodulation
AMmodulation =
values: [3200x1 constant]
time: [3200x1 constant]
何を表示しているのか何となく見当つきますね。ただ、変数としての正体はよく分かりませんね。これは別の機会にコメントしておきます。
今度は、SciNotes を起動します。コンソール画面で(アプリーケション)→(SciNotes)とすれば起動できます。その他の詳しい使い方は、以前に貼りましたリンクを参考にして下さい。
では、FFT表示のために以下のコードを SciNotes 上に書きます。
手順ですが、正体不明の変数「AMmodulation」の中から、データ値のみ取り出します。次に転置行列に変換します。
サンプリング周期とデータ数から周波数軸データを作成します。データ数は size コマンドで拾い、サンプル周期は最初の値と2番目の値の差分計算しています。
出力結果です。

FFT結果です。

拡大してみます。

ということで、搬送波 50Hz の前後に、信号波を含んだスペクトラム 49Hz と 51Hz があるのが確認できました。三角関数の公式は正しかったようです。(笑)
次回は、こうして得られた AM変調波を復調(再生)してみたいと思います。
今回は、この波形をFFTで周波数成分表示をしてみます。
まずは、Xcos 上で得られた波形データをコンソール上で扱えるように出力します。

「To workspace(TOWS_c)」を追加します。パラメータは以下のようにして下さい。

1クロック=0.000625secで、これを2秒間シミュレーションしていますから、2/0.000625 クロックとなって、データサイズ=「Size of buffer」は 3200 となります。
変数名はここでは「AMmodulation」としました。
再度、シミュレーションを実行したら、コンソール上で確認してみます。
-->AMmodulation
AMmodulation =
values: [3200x1 constant]
time: [3200x1 constant]
何を表示しているのか何となく見当つきますね。ただ、変数としての正体はよく分かりませんね。これは別の機会にコメントしておきます。
今度は、SciNotes を起動します。コンソール画面で(アプリーケション)→(SciNotes)とすれば起動できます。その他の詳しい使い方は、以前に貼りましたリンクを参考にして下さい。
では、FFT表示のために以下のコードを SciNotes 上に書きます。
*** ここから ***
//AM変調信号をXcosからexportしてFFT表示をする。
AMwave=getfield(3,AMmodulation)
AMwave1=AMwave'
//転置行列に変更
time_value=getfield(4,AMmodulation)
cycle=time_value(2)-time_value(1)
//サンプル間隔を検出
N=size(AMwave1,'c')
f=1/cycle*(0:(N/2))/N
//サンプリング周期とデータ数からFFTマップに対する横軸の値を算出
//1サンプル周期の逆数掛けるサンプル数で最大周波数を計算
n=size(f,'*')
scf(1);
clf(1)
plot(AMwave1)
//グラフ1に波形
scf(2);
clf(2)
AM1=fft(AMwave1)
plot2d(f,abs(AM1(1:n)))
//グラフ2にFFT結果
手順ですが、正体不明の変数「AMmodulation」の中から、データ値のみ取り出します。次に転置行列に変換します。
サンプリング周期とデータ数から周波数軸データを作成します。データ数は size コマンドで拾い、サンプル周期は最初の値と2番目の値の差分計算しています。
出力結果です。

FFT結果です。

拡大してみます。

ということで、搬送波 50Hz の前後に、信号波を含んだスペクトラム 49Hz と 51Hz があるのが確認できました。三角関数の公式は正しかったようです。(笑)
次回は、こうして得られた AM変調波を復調(再生)してみたいと思います。