Signal Processing Toolbox | ![]() ![]() |
通信アプリケーション
ツールボックスには、通信シミュレーションのための3つの関数が用意されています。
演算 |
関数 |
変調 |
|
復調 |
|
電圧制御オシレーション |
|
"変調"は、メッセージ信号を基に搬送波信号の振幅、位相、または周波数を変化させます。関数modulate
は、設定された変調法を用いてメッセージ信号を変調します。
y = modulate(x,fc,fs,'method
',opt)
x
は、メッセージ信号fc
は、搬送波周波数fs
は、サンプリング周波数method
は、希望する変調法用のフラグopt
は、設定した方法が必要とする付加的な引数(すべての変調法がオプションの引数を必要とするわけではありません)
以下の表は、用意されている変調法を要約したものです。それぞれの詳細については、第6章を参照してください。
手法 |
詳細 |
|
振幅変調、両側波帯抑制搬送波 |
|
振幅変調、両側波帯伝送搬送波 |
|
振幅変調、単側波帯 |
|
周波数変調 |
|
位相変調 |
|
パルス時間変調 |
|
パルス幅変調 |
|
直交振幅変調 |
.
入力x
がベクトルでなく配列の場合、modulate
は、配列の各列単位に変調します。
modulate
が変調する信号を計算するのに用いる時間ベクトルを得るには、つぎのように2つの出力引数を設定します。
[y,t] = modulate(x,fc,fs,'method
',opt)
関数demod
は復調を行います。すなわち、変調された信号からオリジナルのメッセージ信号を取り出します。
x = demod(y, fc,fs,'method
',opt)
demod
は、modulate
に示した任意の手法を使用しますが、直交振幅復調の構文については、つぎのように2つの出力引数が必要です。
[X1,X2] = demod(y,fc,fs,'qam')
つぎに、信号の変調と復調を行なってみましょう。1000Hzでサンプリングした50Hzの正弦波は、つぎのようになります。
t = (0:1/1000:2); x = sin(2*
pi*
50*
t);
200Hzの搬送周波数を使って、この信号を変調し、復調します。
y = modulate(x,200,1000,'am'); z = demod(y,200,1000,'am');
オリジナルの信号、変調された信号、および復調された信号の一部をプロットするには、つぎのようにします。
figure; plot(t(1:150),x(1:150)); title('Original Signal'); figure; plot(t(1:150),y(1:150)); title('Modulated Signal'); figure; plot(t(1:150),z(1:150)); title('Demodulated Signal');
電圧制御オシレータ関数vco
は、入力ベクトルによって決定された周波数で振動する信号を作成します。vco
の基本構文は、つぎのとおりです。
y = vco(x,fc,fs)
y = vco(x,[Fmin Fmax],fs)
この場合、vco
は、区間[-1 1]
にあるx
の値が、[Fmin
Fmax]
にある周波数の振動にマッピングされるように周波数変調範囲をスケーリングします。
入力x
が配列の場合、vco
はx
の列に基づいて振動する配列を作成します。
関数vco
の使用例については、"時間依存フーリエ変換とスペクトログラム"を参照してください。
![]() |
メディアンフィルタ | デコンボリューション | ![]() |