このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
pskmod
M-PSK 法を使用した信号の変調
構文
説明
例
PSK 信号の変調
QPSK 信号と 16-PSK 信号を変調し、コンスタレーションをプロットします。
QPSK
変調次数を 4 に設定します。
M = 4;
ランダム データ シンボルを生成します。
data = randi([0 M-1],1000,1);
データ シンボルを変調します。
txSig = pskmod(data,M,pi/M);
ホワイト ノイズを通して信号を渡し、そのコンスタレーションをプロットします。
rxSig = awgn(txSig,20); scatterplot(rxSig)
16-PSK
変調次数を 4 から 16 に変更します。
M = 16;
ランダム データ シンボルを生成します。
data = randi([0 M-1],1000,1);
データ シンボルを変調します。
txSig = pskmod(data,M,pi/M);
ホワイト ノイズを通して信号を渡し、そのコンスタレーションをプロットします。
rxSig = awgn(txSig,20); scatterplot(rxSig)
AWGN の QPSK 信号の変調と復調
ランダムなシンボルを生成します。
dataIn = randi([0 3],1000,1);
データを QPSK 変調します。
txSig = pskmod(dataIn,4,pi/4);
AWGN チャネルを通して信号を渡します。
rxSig = awgn(txSig,10);
受信信号を復調し、シンボル誤りの数を計算します。
dataOut = pskdemod(rxSig,4,pi/4); numErrs = symerr(dataIn,dataOut)
numErrs = 2
PSK シンボル マッピング
変調次数を設定し、コンスタレーション点の完全なセットを含むデータ シーケンスを作成します。
M = 8; data = (0:M-1); phaseoffset = 0;
変調および復調されたグレイ バイナリ符号化データと通常のバイナリ符号化データに対する 8-PSK シンボル マッピングのプロット コンスタレーションを可視化します。
symgray = pskmod(data,M,phaseoffset,'gray',PlotConstellation=true, ... InputType='integer');
mapgray = pskdemod(symgray,M,phaseoffset,'gray',OutputType='integer'); symbin = pskmod(data,M,phaseoffset,'bin'); mapbin = pskdemod(symbin,M,phaseoffset,'bin',PlotConstellation=true, ... OutputType='bit');
入力引数
x
— 入力信号
スカラー | ベクトル | 行列
入力信号。正の整数のスカラー、ベクトル、または行列として指定します。x
の要素は、バイナリまたは [0, M
- 1] の範囲の整数値でなければなりません。ここで M
は変調次数です。
メモ
入力信号をバイナリの要素として処理するには、名前と値の引数 InputType
を 'bit'
に設定します。バイナリ入力の場合、行数は log2(M
) の整数倍でなければなりません。この関数は、log2(M
) ビットのグループをシンボルにマッピングします。ここで、最初のビットは MSB を表し、最後のビットは LSB を表します。
データ型: double
| single
| int8
| int16
| int32
| uint8
| uint16
| uint32
| logical
M
— 変調次数
1 より大きい整数値
変調次数。1 より大きい整数値として指定します。
データ型: double
phaseoffset
— Phase offset
0
(既定値) | スカラー
PSK コンスタレーションの位相オフセット (ラジアン単位)。スカラーとして指定します。
データ型: double
symorder
— シンボルの順序
'gray'
(既定値) | 'bin'
| ベクトル
シンボルの順序。'gray'
、'bin'
またはベクトルで指定します。この引数は、どのようにバイナリ ベクトルを対応する整数に割り当てるかを指定します。
'gray'
— グレイ符号化された順序を使用します。'bin'
— 通常のバイナリ符号の順序を使用します。ベクトル –– カスタムのシンボル順序を使用します。ベクトルの長さは
M
で、範囲 [0,M
– 1] 内の一意の値を含みます。最初の要素は、角度phaseoffset
に対応するコンスタレーション点に相関し、続く要素は反時計回りに実行されます。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name
を引用符で囲みます。
例: y = pskmod(x,M,phaseoffset,symorder,InputType='bit')
InputType
— 入力タイプ
'integer'
(既定値) | 'bit'
入力タイプ。'integer'
または 'bit'
として指定します。
'integer'
–– 入力信号が [0,M
– 1] の範囲の整数で構成されます。'bit'
–– 入力信号がバイナリ値で構成され、行数が log2(M
) の整数倍でなければなりません。
OutputDataType
— 出力データ型
'double'
(既定値) | 'single'
出力データ型。'double'
または 'single'
として指定します。
PlotConstellation
— コンスタレーションをプロットするためのオプション
false
または 0
(既定値) | true
または 1
コンスタレーションをプロットするためのオプション。logical 0
(false
) または logical 1
(true
) として指定します。PSK コンスタレーションをプロットするには、'PlotConstellation'
を true
に設定します。
出力引数
参照
[1] Proakis, John G. Digital Communications. 4th ed. New York: McGraw Hill, 2001.
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2006a より前に導入R2022a: 関数に対する新たな拡張
以下のことができるようになりました。
引数
InputType
によるバイナリ入力の指定。引数
symorder
によるカスタム シンボル マッピングの指定。既定は今後'gray'
シンボル マッピングになります。ビット単位の対数尤度アルゴリズムまたは近似対数尤度アルゴリズムを使用した軟判定復調の実行
引数
OutputDataType
によるすべての組み込み数値データ型の指定。引数
PlotConstellation
による基準コンスタレーションの可視化。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)