Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

demod

通信シミュレーションのための復調

説明

x = demod(y,fc,fs,method) は、method で指定されるメソッドを使用して、搬送周波数 fc およびサンプル レート fs をもつ実数搬送信号 y を復調します。

x = demod(y,fc,fs,method,opt) は、opt で指定される追加オプションを使用して、実数搬送信号 y を復調します。

すべて折りたたむ

8 kHz で 1 秒間サンプリングされた 150 Hz 正弦波を生成します。分散 0.1² のホワイト ガウス ノイズに変調信号を組み込みます。

fs = 8e3;

t = 0:1/fs:1-1/fs;
s = cos(2*pi*150*t) + randn(size(t))/10;

変調定数を 0.1 として 3 kHz の搬送周波数で信号を周波数変調します。

fc = 3e3;
rx = modulate(s,fc,fs,'fm',0.1);

同じ搬送周波数および変調定数を使用して信号を周波数復調します。送信信号、受信信号、および復調信号についてのパワー スペクトル推定を計算してプロットします。

y = demod(rx,fc,fs,'fm',0.1);

pspectrum([s;rx;y]',fs,'Leakage',0.85)

legend('Transmitted signal','Received signal','Demodulated signal','Location','best')

Figure contains an axes object. The axes object with title Fres = 7.8144 Hz, xlabel Frequency (kHz), ylabel Power Spectrum (dB) contains 3 objects of type line. These objects represent Transmitted signal, Received signal, Demodulated signal.

入力引数

すべて折りたたむ

変調されたメッセージ信号。実数ベクトルまたは行列として指定します。メソッド pwmppm を除いて、yx と同じサイズになります。

メッセージ信号を変調するために使用される搬送周波数。実数の正のスカラーとして指定します。

サンプル レート。実数の正のスカラーとして指定します。

使用された変調の方法。次のいずれかとして指定します。

  • am または amdsb-sc — 振幅復調、両側波帯、抑圧搬送波。y を周波数 fc の正弦波で乗算し、filtfilt を使用して 5 次バタワース ローパス フィルターを適用します。

    x = y.*cos(2*pi*fc*t);
    [b,a] = butter(5,fc*2/fs);
    x = filtfilt(b,a,x);
  • amdsb-tc — 振幅復調、両側波帯、伝送搬送波。y を周波数 fc の正弦波で乗算し、filtfilt を使用して 5 次バタワース ローパス フィルターを適用します。

    x = y.*cos(2*pi*fc*t);
    [b,a] = butter(5,fc*2/fs);
    x = filtfilt(b,a,x);

    opt を指定した場合、demodx からスカラー opt の値が差し引かれます。opt の既定値は 0 です。

  • amssb — 振幅復調、片側波帯。y を周波数 fc の正弦波で乗算し、filtfilt を使用して 5 次バタワース ローパス フィルターを適用します。

    x = y.*cos(2*pi*fc*t);
    [b,a] = butter(5,fc*2/fs);
    x = filtfilt(b,a,x);
  • fm — 周波数復調。周波数 -fc Hz の複素指数によって y のヒルベルト変換を変調することにより、周波数変調 (FM) 波形を復調し、結果として瞬時周波数を取得します。

    y=cos(2*pi*fc*t + opt*cumsum(x))

    cumsumx の積分の四角形近似です。modulateでは、周波数変調の定数として opt が使用されます。opt パラメーターを指定しない場合、modulate では、既定として opt = (fc/fs)*2*pi/(max(max(x))) が使用されます。このとき、fc からの最大周波数偏差は fc Hz となります。

  • pm — 位相復調。周波数 -fc Hz の複素指数によって y のヒルベルト変換を変調することにより、位相変調 (PM) 波形を復調し、結果として瞬間位相を取得します。

    y=cos(2*pi*fc*t + opt*x)

    modulateでは、位相変調の定数として、opt が使用されます。opt パラメーターを指定しない場合、modulate では、既定として opt = pi/(max(max(x))) が使用されます。このとき、最大位相偏位は π ラジアンです。

  • pwm — パルス幅復調。パルス幅変調されている信号 y のパルス幅を求めます。demod では、各パルス幅の周期の割合を要素とするベクトル x が返されます。y のパルスは、各搬送波の周期の開始点で始まらなければなりません。つまり、左に位置合わせされていなければなりません。modulate(x,fc,fs,'pwm','centered') では、パルスの中心が各周期の開始点に揃えられます。y の長さは length(x)*fs/fc です。

  • ppm — パルス位置復調。パルス位置変調された信号 y のパルス位置を求めます。復調を正しく行うために、パルスのオーバーラップはできません。x は、長さ length(t)*fc/fs です。

  • qam — 直交振幅復調。[x1,x2] = demod(y,fc,fs,'qam') では、y が周波数 fc の余弦および正弦で乗算され、filtfilt を使用して 5 次バタワース ローパス フィルターが適用されます。

    x1 = y.*cos(2*pi*fc*t);
    x2 = y.*sin(2*pi*fc*t);
    [b,a] = butter(5,fc*2/fs);
    x1 = filtfilt(b,a,x1);
    x2 = filtfilt(b,a,x2);

    入力引数 opt は、y と同じサイズでなければなりません。

オプションの入力。一部のメソッドで指定します。opt を使用する方法の詳細については、method を参照してください。

出力引数

すべて折りたたむ

復調されたメッセージ信号。実数ベクトルまたは行列として返されます。

バージョン履歴

R2006a より前に導入

参考

| | (Communications Toolbox) | (Communications Toolbox) | (Communications Toolbox) | (Communications Toolbox) | (Communications Toolbox) | (Communications Toolbox)