Main Content

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

MATLAB 関数による散布図とアイ ダイアグラム

この例では、アイ ダイアグラムと散布図を使用して信号の動作を可視化する方法を説明します。例では、ルート レイズド コサイン (RRC) フィルターを使用して渡される QPSK 信号を使用します。

散布図

RRC フィルター、変調方式およびプロット パラメーターを設定します。

span = 10;          % Filter span
rolloff = 0.2;      % Rolloff factor
sps = 8;            % Samples per symbol
M = 4;              % Modulation alphabet size
k = log2(M);        % Bits/symbol
phOffset = pi/4;    % Phase offset (radians)
n = 1;              % Plot every nth value of the signal
offset = 0;         % Plot every nth value of the signal, starting from offset+1

関数 rcosdesign を使用してフィルター係数を作成します。

filtCoeff = rcosdesign(rolloff,span,sps);

サイズが M のアルファベットに対しランダムなシンボルを生成します。

rng default
data = randi([0 M-1],5000,1);

QPSK 変調を適用します。

dataMod = pskmod(data,M,phOffset);

変調されたデータをフィルター処理します。

txSig = upfirdn(dataMod,filtCoeff,sps);

オーバーサンプリングされた QPSK 信号の SNR を計算します。

EbNo = 20;
snr = EbNo + 10*log10(k) - 10*log10(sps);

送信信号に AWGN を付加します。

rxSig = awgn(txSig,snr,'measured');

RRC 受信フィルターを適用します。

rxSigFilt = upfirdn(rxSig, filtCoeff,1,sps);

フィルター処理された信号を復調します。

dataOut = pskdemod(rxSigFilt,M,phOffset,'gray');

関数 scatterplot を使用して、フィルター処理の前後の信号の散布図を表示します。コンスタレーションが理想値により近づいていることから、受信フィルターによって性能が改善されていることがわかります。最初の span シンボルと最後の span シンボルは、2 つのフィルター処理操作の累積遅延を表し、散布図を生成する前に 2 つのフィルター処理された信号から削除されます。

h = scatterplot(sqrt(sps)*txSig(sps*span+1:end-sps*span),sps,offset);
hold on
scatterplot(rxSigFilt(span+1:end-span),n,offset,'bx',h)
scatterplot(dataMod,n,offset,'r+',h)
legend('Transmit Signal','Received Signal','Ideal','location','best')

Figure Scatter Plot contains an axes object. The axes object with title Scatter plot, xlabel In-Phase, ylabel Quadrature contains 3 objects of type line. One or more of the lines displays its values using only markers These objects represent Transmit Signal, Received Signal, Ideal.

アイ ダイアグラム

2 シンボル周期にわたる送信信号の 1000 点のアイ ダイアグラムを表示します。

eyediagram(txSig(sps*span+1:sps*span+1000),2*sps)

Figure Eye Diagram contains 2 axes objects. Axes object 1 with title Eye Diagram for In-Phase Signal, xlabel Time, ylabel Amplitude contains an object of type line. This object represents In-phase. Axes object 2 with title Eye Diagram for Quadrature Signal, xlabel Time, ylabel Amplitude contains an object of type line. This object represents Quadrature.

受信信号の 1000 点のアイ ダイアグラムを表示します。

eyediagram(rxSig(sps*span+1:sps*span+1000),2*sps)

Figure Eye Diagram contains 2 axes objects. Axes object 1 with title Eye Diagram for In-Phase Signal, xlabel Time, ylabel Amplitude contains an object of type line. This object represents In-phase. Axes object 2 with title Eye Diagram for Quadrature Signal, xlabel Time, ylabel Amplitude contains an object of type line. This object represents Quadrature.

AWGN が存在するため、受信アイ ダイアグラムの目が閉じはじめていることを確認します。また、フィルターの長さが有限であることも、理想的でない動作の要因となっています。

参考

|

関連するトピック