Main Content

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

AWGN チャネルにおける一般的な QAM 変調

ガウス ノイズが存在する場合は非矩形の 16 配列コンスタレーションを使用してデータの送受信を行います。ノイズの多いコンスタレーションの散布図を示し、2 つの異なる S/N 比のシンボル誤り率 (SER) を見積もります。

電話回線モデムに対し、V.29 規格に基づいて 16-QAM コンスタレーションを作成します。

c = [-5 -5i 5 5i -3 -3-3i -3i 3-3i 3 3+3i 3i -3+3i -1 -1i 1 1i];
M = length(c);

ランダムなシンボルを生成します。

data = randi([0 M-1],2000,1);

関数 genqammod を使用してデータを変調します。カスタム コンスタレーションは矩形ではないため、一般的な QAM 変調が必要です。

modData = genqammod(data,c);

S/N 比 (SNR) が 20 dB の AWGN チャネル経由で信号を渡します。

rxSig = awgn(modData,20,'measured');

受信信号と基準コンスタレーション c の散布図を表示します。

h = scatterplot(rxSig);
hold on
scatterplot(c,[],[],'r*',h)
grid
hold off

Figure Scatter Plot contains an axes. The axes with title Scatter plot contains 2 objects of type line. This object represents Channel 1.

関数 genqamdemod を使用して、受信した信号を復調します。シンボル誤り数とシンボル誤り率を求めます。

demodData = genqamdemod(rxSig,c);
[numErrors,ser] = symerr(data,demodData)
numErrors = 1
ser = 5.0000e-04

SNR が 10 dB の AWGN チャネル経由で送信と復調の処理を繰り返します。低減された SNR についてシンボル誤り率を判別します。予想どおり、SNR が低下するとパフォーマンスも低下します。

rxSig = awgn(modData,10,'measured');
demodData = genqamdemod(rxSig,c);
[numErrors,ser] = symerr(data,demodData)
numErrors = 462
ser = 0.2310