このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
demod
通信シミュレーションのための復調
説明
例
周波数の変調と復調
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')
入力引数
y
— 変調した信号
実数ベクトル | 実数行列
変調されたメッセージ信号。実数ベクトルまたは行列として指定します。メソッド pwm
と ppm
を除いて、y
は x
と同じサイズになります。
fc
— 搬送波周波数
実数の正のスカラー
メッセージ信号を変調するために使用される搬送周波数。実数の正のスカラーとして指定します。
fs
— サンプル レート
実数の正のスカラー
サンプル レート。実数の正のスカラーとして指定します。
method
— 使用された変調方法
'am'
(既定値) | 'amdsb-tc'
| 'amssb'
| 'fm'
| 'pm'
| 'pwm'
| 'ppm'
| 'qam'
使用された変調の方法。次のいずれかとして指定します。
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
を指定した場合、demod
でx
からスカラー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))
cumsum
はx
の積分の四角形近似です。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
— 一部のメソッドに対するオプションの入力
実数ベクトル
オプションの入力。一部のメソッドで指定します。opt
を使用する方法の詳細については、method
を参照してください。
出力引数
x
— 復調されたメッセージ信号
実数ベクトル | 実数行列
復調されたメッセージ信号。実数ベクトルまたは行列として返されます。
バージョン履歴
R2006a より前に導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)