メインコンテンツ

pamdemod

説明

Z = pamdemod(Y,M) は、パルス振幅変調された M 次の信号 Y にパルス振幅復調を適用し、復調された入力信号を返します。

Z = pamdemod(Y,M,initphase) は、変調された信号の初期位相をラジアン単位で指定します。

Z = pamdemod(Y,M,initphase,symorder) は、復調時のシンボル マッピングの順序を指定します。

すべて折りたたむ

ノイズを含まないパルス振幅変調された 8 次の信号を復調します。入力データ シンボルが復調されたシンボルに一致することを検証します。

ランダムな 8 値データ シンボルを生成します。

M = 8;
dataIn = randi([0 M-1],100,1);

生成されたデータにパルス振幅変調 (PAM) を適用します。

modData = pammod(dataIn,M);

変調されたデータにパルス振幅復調を適用します。

demodData = pamdemod(modData,M);

最初の 5 個のシンボルを比較します。

[dataIn(1:5) demodData(1:5)]
ans = 5×2

     6     6
     7     7
     1     1
     7     7
     5     5

復調されたデータのシンボル エラー数を求めます。

symErrors = symerr(dataIn,demodData)
symErrors = 
0

ノイズを含むパルス振幅変調された 8 次の信号を復調します。

M = 8;
dataIn = randi([0 M-1],1000,1);

生成されたデータにパルス振幅変調 (PAM) を適用します。変調時には、グレイ符号のシンボル マッピング順序を使用します。

modData = pammod(dataIn,M,0,"gray");

変調されたデータを加法性ホワイト ガウス ノイズ チャネル経由で渡します。S/N 比を 8 dB に設定します。

noisyData = awgn(modData,M);

ノイズを含む PAM コンスタレーションを表示します。

scatterplot(noisyData)

Figure Scatter Plot contains an axes object. The axes object with title Scatter plot, xlabel In-Phase, ylabel Quadrature contains a line object which displays its values using only markers. This object represents Channel 1.

ノイズを含む変調されたデータにパルス振幅復調を適用します。

demodData = pamdemod(noisyData,M,0,"gray");

復調されたデータのシンボル エラー数を求めます。

symErrors = symerr(dataIn,demodData)
symErrors = 
1

入力引数

すべて折りたたむ

パルス振幅変調された信号。スカラー、ベクトル、または行列として指定します。Y が行列の場合、関数は列を個別に処理します。

データ型: single | double
複素数のサポート: あり

変調次数。2 の正の整数乗として指定します。

データ型: single | double

変調信号の初期位相 (ラジアン単位)。スカラーとして指定します。

データ型: single | double

復調時のシンボル マッピングの順序。次のいずれかのオプションとして指定します。

  • "bin" — バイナリ符号のマッピング順序を使用します。

  • "gray" — グレイ符号のマッピング順序を使用します。

引数 symorder は、関数がバイナリ ベクトルを対応する整数にどのように割り当てるかを指定します。

データ型: char | string

出力引数

すべて折りたたむ

復調された入力信号。範囲 [0, M–1] の整数を含むスカラー、ベクトル、または行列として返されます。Z の長さは Y と同じになります。

データ型: double | single

拡張機能

すべて展開する

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006a より前に導入