Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

アナログ パスバンド変調

アナログ変調の機能

ほとんどの通信メディアでは、伝送のために限られた領域の周波数しか利用できません。メッセージ信号の周波数スペクトルが固定された周波数領域にあてはまらない、あるいは、チャネルに対して不適当である場合、通信を行う 1 つの方法は、メッセージ信号の情報に従って伝送可能な信号に変更することです。この変更は、"変調" と呼ばれ、伝送するのは変調信号です。その後受信側は、"復調" と呼ばれる処理を通してオリジナルの信号を復元します。この節では、ブロックを使用してアナログ信号を変調および復調する方法を説明します。

メイン Communications Toolbox™ ブロック ライブラリ内のアイコンをダブルクリックして、Modulation ライブラリを開きます。次に、Modulation ライブラリ内のアイコンをクリックして Analog Passband サブライブラリを開きます。

次の図は、Communications Toolbox でアナログ信号に対してサポートされる変調方式を示しています。図で示されているように、手法のカテゴリには名前付き特殊ケースが含まれます。

ある変調方式に対して、変調方式をシミュレートする 2 つの方法は、"ベースバンド" と "パスバンド" と呼ばれます。この製品は、アナログ変調のパスバンド シミュレーションをサポートしています。

変調と復調ブロックでは、変調信号の初期位相、および復調後のフィルター処理などの機能を制御できます。

アナログ変調の信号の表現

この製品のアナログ変調ブロックでは、サンプルベースのスカラー信号のみが処理されます。アナログ変調器および復調器の入力と出力は、すべて実信号です。

この製品のすべてのアナログ復調器は、連続時間ではなく離散時間の出力を生成します。

MATLAB を使用したアナログ信号の表現

MATLAB® を使ってアナログ信号を変調するために、実際のメッセージ信号とサンプリング レート Fs (ヘルツ) を使用します。ベクトル x を使用して信号を表します。このベクトルのエントリは、時間の増分 1/Fs で信号の値を与えます。あるいは、行列の各列が 1 つのチャネルとなるマルチチャネルの信号を表すような行列を使用できます。

たとえば、t が秒単位の時間である場合は、以下のベクトル x は 0.1 秒間における正弦波の 8000 回/秒のサンプリングの結果です。ベクトル y は、変調信号を表します。

Fs = 8000; % Sampling rate is 8000 samples per second.
Fc = 300; % Carrier frequency in Hz
t = [0:.1*Fs]'/Fs; % Sampling times for .1 second
x = sin(20*pi*t); % Representation of the signal
y = ammod(x,Fc,Fs); % Modulate x to produce y.
figure;
subplot(2,1,1); plot(t,x); % Plot x on top.
subplot(2,1,2); plot(t,y)% Plot y below.

マルチチャネルの例として、下記のコードは 2 チャネル信号を定義します。このうち、最初のチャネルは初期位相 0 をもつ正弦波であり、2 番目のチャネルは初期位相 pi/8 をもつ正弦波です。

Fs = 8000;
t = [0:.1*Fs]'/Fs;
x = [sin(20*pi*t), sin(20*pi*t+pi/8)];

MATLAB を使用した加法性ホワイト ガウス ノイズ (AWGN) でのアナログ変調

この例では、アナログ変調と復調の関数の基本的な形式を説明します。この例では位相変調を使用していますが、この例のほとんどの要素は、他のアナログ変調方式にも同様に適用されます。

この例では、アナログ信号をサンプリングし、それを変調します。次に、加法性ホワイト ガウス ノイズ (AWGN) チャネルをシミュレートし、受信信号を復調し、元の信号と復調信号をプロットします。

% Prepare to sample a signal for two seconds,
% at a rate of 100 samples per second.
Fs = 100; % Sampling rate
t = [0:2*Fs+1]'/Fs; % Time points for sampling

% Create the signal, a sum of sinusoids.
x = sin(2*pi*t) + sin(4*pi*t);

Fc = 10; % Carrier frequency in modulation
phasedev = pi/2; % Phase deviation for phase modulation

y = pmmod(x,Fc,Fs,phasedev); % Modulate.
y = awgn(y,10,'measured',103); % Add noise.
z = pmdemod(y,Fc,Fs,phasedev); % Demodulate.

% Plot the original and recovered signals.
figure; plot(t,x,'k-',t,z,'g-');
legend('Original signal','Recovered signal');

アナログ変調関数を使用するその他の例は、ammodamdemodssbdemodfmmod のリファレンス ページを参照してください。

アナログ変調でのサンプリング問題

アナログ変調を正しくシミュレートするためには、信号の帯域幅を考慮してナイキスト基準が満たされていることが必要です。

具体的には、システムのサンプルレートは、搬送周波数と信号帯域幅の合計の 2 倍の値よりも大きくなければなりません。

フィルター設計上の問題

復調後、搬送信号の除去が必要になる場合があります。buttercheby1cheby2ellip など、使用するフィルターは、復調器ブロックのマスクで選択できます。異なるフィルター方法には異なる特性があるので、複数のフィルターでアプリケーションをテストして最適なフィルターを特定することをお勧めします。

Simulink を使用したフィルターのカットオフ周波数の多様化

多くの場合、適切なカットオフ周波数は搬送周波数の半分の値です。搬送周波数はメッセージ信号の帯域幅を上回らなければならないので、この方法で選択したカットオフ周波数は不要な周波数成分を正しく除外します。カットオフ周波数が高すぎると、不要な成分が除外されない可能性があります。カットオフ周波数が低すぎると、メッセージ信号の帯域幅が狭まる可能性があります。

次の例では、ノコギリ波メッセージ信号を変調し、バタワース フィルターを使用して結果の信号を復調し、元の信号と復元された信号をプロットします。バタワース フィルターは、SSB AM Demodulator Passband ブロック内で実装されます。

このモデルを開くには、MATLAB コマンド ラインに doc_filtercutoffs と入力します。

この例は以下を出力します。

復調信号と元の受信信号の間には、常に遅延があります。フィルター次数とフィルター パラメーターはどちらもこの遅延の長さに影響します。

その他のフィルター カットオフ-  "高域" カットオフ周波数のローパス フィルターの影響を確認するには、SSB AM Demodulator Passband ブロックの [Cutoff frequency]49 に設定し、シミュレーションを再度実行します。次のような新しい結果が表示されます。高域カットオフ周波数により、搬送波信号は復調信号に干渉できます。

"低域" カットオフ周波数のローパス フィルターの影響を確認するには、SSB AM Demodulator Passband ブロックの [Cutoff frequency]4 に設定し、シミュレーションを再度実行します。以下の図に新しい結果を示します。低域カットオフ周波数により、復調信号の帯域幅が狭められます。