MATLAB ヘルプ センター
このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
通信シミュレーション用の変調
y = modulate(x,fc,fs)
[y,t] = modulate(x,fc,fs)
[___] = modulate(x,fc,fs,method)
[___] = modulate(x,fc,fs,method,opt)
y = modulate(x,fc,fs) は搬送周波数 fc とサンプル レート fs をもつ実際のメッセージ信号 x を変調します。x が行列の場合、変調信号は列ごとに個別に計算され、y の対応する列に保存されます。
y
x
fc
fs
[y,t] = modulate(x,fc,fs) は、内部時間ベクトル t も返します。
t
[___] = modulate(x,fc,fs,method) は、method によって指定された変調方式を使用して実際のメッセージ信号を変調します。これらの入力は、前のいずれの出力構文でも使用できます。
method
例
[___] = modulate(x,fc,fs,method,opt) は変調法の opt で指定された追加オプションを使用します。
opt
すべて折りたたむ
200 Hz で 1 秒間サンプリングされた 10 Hz の正弦波信号を生成します。分散 0.01 のホワイト ガウス ノイズに正弦波を組み込みます。
fs = 200; t = 0:1/fs:1; x = sin(2*pi*10*t) + randn(size(t))/10;
50 Hz の搬送周波数を使用して、信号を単側波帯振幅変調します。新しいウェルチのパワー スペクトル密度推定を計算および表示します。
y = modulate(x,50,fs,'amssb'); pwelch([x;y]',hamming(100),80,1024,fs,'centered')
200 Hz のレートで 1 秒間サンプリングされた 10 Hz と 20 Hz の 2 つの正弦波信号の周波数を生成します。分散 0.01 のホワイト ガウス ノイズに正弦波を組み込みます。
fs = 200; t = 0:1/fs:1; i = sin(2*pi*10*t) + randn(size(t))/10; q = sin(2*pi*20*t) + randn(size(t))/10;
70 Hz の搬送周波数を使用して、信号 i と q から直交振幅変調された信号を作成します。元のシーケンスと変調したシーケンスのウェルチ パワー スペクトル密度推定を計算します。80 サンプルがオーバーラップする 100 サンプルのハミング ウィンドウを使用します。FFT 長に 1024 を指定します。
i
q
y = modulate(i,70,fs,'qam',q); pwelch([i;q;y]',hamming(100),80,1024,fs,'centered') legend('In-phase signal','Quadrature signal','Modulated signal')
メッセージ信号。実数ベクトルまたは行列として指定します。
例: sin(2*pi*25*[0:(1/200):1])
sin(2*pi*25*[0:(1/200):1])
メッセージ信号を変調するために使用される搬送周波数。実数の正のスカラーとして指定します。
サンプル レート。実数の正のスカラーとして指定します。
'am'
'amdsb-sc'
'amdsb-tc'
'amssb'
'fm'
'pm'
'pwm'
'ppm'
'qam'
使用される変調方式。次のいずれかとして指定します。
amdsb-sc または am — 振幅変調、両側波帯、抑圧搬送波。周波数 fc の正弦波を x で乗算します。
amdsb-sc
am
y = x.*cos(2*pi*fc*t)
amdsb-tc — 振幅変調、両側波帯、伝送搬送波。x からスカラー opt を減算し、その結果に周波数 fc の正弦波が乗算されます。
amdsb-tc
y = (x-opt).*cos(2*pi*fc*t)
opt パラメーターを指定しない場合、modulate では、メッセージ信号 (x-opt) が全体的に非負で、最小値がゼロになるように、min(min(x)) の既定値が使用されます。
modulate
(x-opt)
min(min(x))
amssb — 振幅変調、単側波帯。周波数 fc の正弦波を x で乗算し、その結果に、x のヒルベルト変換を周波数 fc の位相をシフトした正弦波で乗算したものに加算します。
amssb
y = x.*cos(2*pi*fc*t)+imag(hilbert(x)).*sin(2*pi*fc*t)
これにより、上側波帯が効率的に除去されます。
fm — 周波数変調。メッセージ信号 x と共に変化する瞬時周波数をもつ正弦波が作成されます。
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 となります。
cumsum
opt = (fc/fs)*2*pi/(max(max(x)))
pm — 位相変調。メッセージ信号 x と共に位相が変化する周波数 fc の正弦波が作成されます。
pm
y = cos(2*pi*fc*t + opt*x)
modulate では、位相変調の定数として、opt が使用されます。opt パラメーターを指定しない場合、modulate では、既定として opt = pi/(max(max(x))) が使用されます。このとき、最大位相偏位は π ラジアンです。
opt = pi/(max(max(x)))
pwm — パルス幅変調。x のパルス幅からパルス幅変調された信号が作成されます。x の要素は、0 ~ 1 の間で、各パルスの幅を周期の割合で指定しなければなりません。パルスは、各周期の開始点で始まります。つまり、左に位置合わせされます。modulate(x,fc,fs,'pwm','centered') では、パルスの中心が各周期の開始点に揃えられます。y の長さは length(x)*fs/fc です。
pwm
modulate(x,fc,fs,'pwm','centered')
length(x)*fs/fc
ppm — パルス位置変調。x のパルス幅からパルス位置変調された信号が作成されます。x の要素は、0 ~ 1 の間になければならず、1 周期の細分化切片内の各パルスの左端を指定します。opt は、0 ~ 1 の間のスカラー値で、1 周期の細分化切片内の各パルスの長さを指定します。opt の既定値は 0.1 です。y の長さは length(x)*fs/fc です。
ppm
0.1
qam — 直交振幅変調。信号 x と opt から直交振幅変調された信号が作成されます。
qam
y = x.*cos(2*pi*fc*t) + opt.*sin(2*pi*fc*t)
入力引数 opt は、x と同じサイズでなければなりません。
オプションの入力。一部のメソッドで指定します。opt を使用する方法の詳細については、method を参照してください。
データ型: single | double | char | string 複素数のサポート: あり
single
double
char
string
変調されたメッセージ信号。実数ベクトルまたは行列として返されます。メソッド pwm と ppm を除いて、y は x と同じサイズになります。
計算で modulate によって使用される内部時間配列。実数ベクトルとして指定します。
すべて展開する
関数 modulate の C および C++ コードを生成します。この機能を使用するには、MATLAB® Coder™ が必要です。
demod | vco
demod
vco
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ