Main Content

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

comm.gpu.PSKModulator

GPU を使用した M-ary PSK 法による変調

説明

GPU PSKModulator オブジェクトは、グラフィックス処理装置 (GPU) に実装された M-ary 位相シフト キーイング法を用いて変調します。入力は、変調信号のベースバンド表現です。このオブジェクトの入力と出力はともに離散時間信号です。このオブジェクトは、スカラー値または列ベクトルの入力信号を受け入れます。

メモ

このオブジェクトを使用するには、Parallel Computing Toolbox™ のライセンスをインストールして対象 GPU へのアクセス権を入手しなければなりません。GPU の詳細は、GPU 計算 (Parallel Computing Toolbox)を参照してください。

GPU ベースの System object™ は、gpuArray クラスを使用して作成された一般的な MATLAB® 配列またはオブジェクトを受け入れます。GPU ベースの System object は、倍精度または単精度データ型の入力信号をサポートします。出力信号のデータ型は、入力信号から継承されます。

  • 入力信号が MATLAB 配列の場合、System object は CPU と GPU の間のデータ転送を処理します。出力信号は MATLAB 配列です。

  • 入力信号が gpuArray の場合、データは GPU に残ります。出力信号は gpuArray です。オブジェクトに gpuArray が渡されると、計算がすべて GPU 上で実行され、データ転送は発生しません。gpuArray 引数を渡すことにより、シミュレーション時間が短縮されてパフォーマンスが向上します。詳細については、GPU での配列の確立 (Parallel Computing Toolbox)を参照してください。

位相シフト キーイングを使用して信号を変調するには、以下の手順に従います。

  1. PSK 変調器オブジェクトを定義および設定します。構築を参照してください。

  2. step を呼び出して、comm.gpu.PSKModulator のプロパティに従い、信号を変調します。step の動作は、ツールボックスの各オブジェクト固有のものです。

メモ

R2016b 以降では、step メソッドを使用して、System object によって定義された演算を実行する代わりに、引数を関数であるかのように使ってオブジェクトを呼び出すことができます。たとえば、y = step(obj,x)y = obj(x) は同等の演算を実行します。

構築

H = comm.gpu.PSKModulator は、GPU ベース復調器 System object H を作成します。このオブジェクトは、近似対数尤度比を使用した軟判定とともに、M-ary 位相シフト キーイング (M-PSK) 法を使用して入力信号を変調します。

H = comm.gpu.PSKModulator(Name,Value) は、指定されたプロパティ名を指定された値に設定して、GPU ベース M-PSK 変調器オブジェクト H, を作成します。追加の名前と値のペアの引数を、(Name1,Value1,...,NameN,ValueN) のように、任意の順番で指定できます。

H = comm.gpu.PSKModulator(M,PHASE,Name,Value) は、ModulationOrder プロパティを M に、PhaseOffset プロパティを PHASE に、その他の指定されたプロパティ名を指定された値に設定して、GPU ベース M-PSK 変調器オブジェクト H を作成します。M と PHASE は値のみの引数です。値のみの引数を指定するには、先行するすべての値のみの引数も指定しなければなりません。名前と値のペアの引数を任意の順番で指定できます。

プロパティ

ModulationOrder

コンスタレーション点の数

コンスタレーション点の数を正の整数スカラーで指定します。既定の設定は 8 です。

PhaseOffset

コンスタレーションの 0 番目の点の位相

0 番目のコンスタレーションの点の位相オフセット (ラジアン) を実数のスカラーとして指定します。既定の設定は π/8 です。

BitInput

ビット入力を想定する

入力がビットか整数かを指定します。既定値は偽です。このプロパティを true に設定すると、step メソッド入力は、長さが log2(ModulationOrder) の整数倍のビット値の列ベクトルにならなければなりません。このベクトルには、0 と ModulationOrder -1 の間の整数のビット表現が含まれます。入力データ型は数値型または論理型です。BitInput プロパティを false に設定した場合、step メソッド入力は、0 から ModulationOrder -1 までの整数シンボル値の列ベクトルでなければなりません。入力のデータ型は数値型です。

SymbolMapping

コンスタレーション符号化

オブジェクトが整数または log2(ModulationOrder) ビットのグループを対応するシンボルにマップする方法を BinaryGray または Custom の 1 つとして指定します。既定の設定は Gray です。このプロパティを Gray に設定すると、オブジェクトはグレイ符号コンスタレーションを使用します。このプロパティを Binary に設定した場合、整数 m (0 ≤ m ≤ ModulationOrder-1) は複素数値 exp(j*PhaseOffset + j*2*pi*m/ModulationOrder) にマップされます。このプロパティを Custom に設定すると、オブジェクトは CustomSymbolMapping で定義されたコンスタレーションを使用します。

CustomSymbolMapping

カスタム コンスタレーションの符号化

カスタム コンスタレーション シンボル マッピング ベクトルを指定します。このプロパティは、範囲 [0, ModulationOrder-1] の固有の整数値をもつ、サイズ ModulationOrder の行または列ベクトルでなければなりません。これらの値のデータ型は double でなければなりません。このベクトルの最初の要素は 0 + PhaseOffset の角度にあるコンスタレーション点に対応し、続く要素は反時計回りに実行されます。最後の要素は、角度 –2π/ModulationOrder + PhaseOffset のコンスタレーション点に対応します。このプロパティは、SymbolMapping プロパティが [カスタム] に設定されている場合に適用されます。既定の設定は 0:7 です。

OutputDataType

出力のデータ型

出力データ型を double または single のいずれかとして指定します。既定の設定は double です。

メソッド

constellation理想的なコンスタレーションの計算またはプロット
stepGPU を使用した M-ary PSK 法による変調
すべての System object に共通
release

System object のプロパティ値の変更の許可

アルゴリズム

GPU PSK Modulator System object は、浮動小数点および整数入力データ型をサポートします。このオブジェクトは、comm.PSKModulator System object と同じアルゴリズムを使用します。詳細は、comm.PSKModulator ヘルプ ページの「アルゴリズム」を参照してください。

すべて折りたたむ

100 個の 4 ビット シンボルのバイナリ データを作成する

data = randi([0 1],400,1);

ビットを入力とする 16-PSK 変調器 System object およびグレイ符号コンスタレーションを作成します。位相オフセットを $\pi/16$ に変更します。

gpuMod = comm.gpu.PSKModulator(16,'BitInput',true);
gpuMod.PhaseOffset = pi/16;

データを変調してプロットする

modData = gpuMod(data);
scatterplot(modData)

拡張機能

R2012a で導入