ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

comm.gpu.AWGNChannel System object

パッケージ: comm

GPU を使用した入力信号へのホワイト ガウス ノイズの付加

説明

GPU AWGNChannel オブジェクトは、GPU (グラフィックス プロセシング ユニット) を使用して、入力信号にホワイト ガウス ノイズを付加します。

    メモ:   このオブジェクトを使用するには、Parallel Computing Toolbox™ のライセンスをインストールして対象 GPU へのアクセス権を入手しなければなりません。詳細は、『Parallel Computing Toolbox』ドキュメンテーションの 「GPU 計算」 を参照してください。

ホワイト ガウス ノイズを入力信号に付加するには、以下の手順に従います。

  1. 加法性ホワイト ガウス ノイズ チャネル オブジェクトを定義および設定します。構築を参照してください。

  2. step を呼び出して、comm.gpu.AWGNChannel のプロパティに従い、ホワイト ガウス ノイズを入力信号に付加します。step の動作は、ツールボックスの各オブジェクト固有のものです。

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

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

  • 入力信号が gpuArray の場合は、出力信号も gpuArray です。この場合、データは GPU に残ります。そのため、このオブジェクトが gpuArray に渡されると、計算がすべて GPU 上で実行され、データ転送は発生しません。gpuArray 引数を使用して step メソッドを呼び出すと、シミュレーション時間が短縮されてパフォーマンスが向上します。詳細は、Parallel Computing Toolbox ドキュメンテーションの「GPU での配列の確立」を参照してください。

構築

H = comm.gpu.AWGNChannel は、GPU ベースの加法的ホワイト ガウス ノイズ (AWGN) チャネル System object H を作成します。このオブジェクトは、実数または複素数入力信号にホワイト ガウス ノイズを付加します。

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

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

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

  • 入力信号が gpuArray の場合は、出力信号も gpuArray です。この場合、データは GPU に残ります。そのため、このオブジェクトが gpuArray に渡されると、計算がすべて GPU 上で実行され、データ転送は発生しません。gpuArray 引数を使用して step メソッドを呼び出すと、シミュレーション時間が短縮されてパフォーマンスが向上します。詳細は、Parallel Computing Toolbox ドキュメンテーションの「GPU での配列の確立」を参照してください。

プロパティ

NoiseMethod

ノイズ レベルの指定方法

ノイズ レベルの指定方法を Signal to noise ratio (Eb/No)Signal to noise ratio (Es/No)Signal to noise ratio (SNR) または Variance のいずれかとして選択します。既定の設定は Signal to noise ratio (Eb/No) です。

EbNo

ビットあたりのエネルギー対ノイズのパワー スペクトル密度比 (Eb/No)

Eb/No 率をデシベル単位で指定します。このプロパティを、長さがチャネル数と同じ数値、実数スカラー、または行ベクトルに設定できます。このプロパティは、NoiseMethod プロパティを Signal to noise ratio (Eb/No) に設定した場合に適用されます。既定の設定は 10 です。このプロパティは調整可能です。

EsNo

シンボルあたりのエネルギー対ノイズのパワー スペクトル密度比 (Es/No)

Es/No 率をデシベル単位で指定します。このプロパティを、長さがチャネル数と同じ数値、実数スカラー、または行ベクトルに設定できます。このプロパティは、NoiseMethod プロパティを Signal to noise ratio (Es/No) に設定した場合に適用されます。既定の設定は 10 です。このプロパティは調整可能です。

SNR

S/N 比 (SNR)

デシベル単位で SNR 値を指定します。このプロパティを、長さがチャネル数と同じ数値、実数スカラー、または行ベクトルに設定できます。このプロパティは、NoiseMethod プロパティを Signal to noise ratio (SNR) に設定した場合に適用されます。既定の設定は 10 です。このプロパティは調整可能です。

BitsPerSymbol

シンボルあたりのビット数

各入力シンボルあたりのビット数を指定します。このプロパティを、チャネル数と同じ長さの数値、正の整数スカラー、または行ベクトルに設定できます。このプロパティは、NoiseMethod プロパティを Signal to noise ratio (Eb/No) に設定した場合に適用されます。既定の設定は 1 です。

SignalPower

ワット単位の入力信号強度

ワット単位の入力信号の平均二乗強度を指定します。このプロパティを、長さがチャネル数と同じ正の数値、実数スカラー、または行ベクトルに設定できます。このプロパティは、NoiseMethod プロパティを Signal to noise ratio (Eb/No)Signal to noise ratio (Es/No)、または Signal to noise ratio (SNR) に設定した場合に適用されます。既定の設定は 1 ワットです。オブジェクトは、公称インピーダンスを 1 オームと想定します。このプロパティは調整可能です。

SamplesPerSymbol

シンボルあたりのサンプル数

シンボルごとのサンプル数を指定します。このプロパティを、長さがチャネル数と同じ正の数値、整数スカラー、または行ベクトルに設定できます。このプロパティは、NoiseMethod プロパティを Signal to noise ratio (Eb/No) または Signal to noise ratio (Es/No) に設定した場合に適用されます。既定の設定は 1 サンプルです。

VarianceSource

ノイズ分散のソース

ノイズ分散のソースを、Property または Input port のいずれかとして指定します。既定の設定は Property です。VarianceSourceInput port に設定する場合は、step メソッドへの入力を経由してノイズ分散値を指定します。VarianceSourceProperty に設定する場合は、Variance プロパティを使用してノイズ分散値を指定します。このプロパティは、NoiseMethod のプロパティが Variance に設定されている場合に適用されます。

Variance

ノイズ分散

ホワイト ガウス ノイズの分散を指定します。このプロパティを、チャネル数と同じ長さの数値、正の実数スカラー、または行ベクトルに設定できます。このプロパティは、NoiseMethod プロパティを Variance に、VarianceSource プロパティを Property に設定した場合に適用されます。既定の設定は 1 です。このプロパティは調整可能です。

RandomStream

乱数ストリームのソース

乱数ストリームのソースを指定します。このプロパティで有効な設定は Global stream のみです。オブジェクトは現在のグローバル乱数ストリームから正規分布乱数を生成します。

Seed

mt19937ar 乱数ストリームの初期シード

AWGN チャネル System object の GPU バージョンではこのプロパティは使用されません。

メソッド

clone同一プロパティ値をもつ AWGN チャネルオブジェクトの作成
isLocked入力属性と調整不可能なプロパティのロック状態
releaseプロパティ値と入力特性の変更の許可
step ホワイト ガウス ノイズの入力信号への付加

アルゴリズム

このオブジェクトは、comm.AWGNChannel System object と同じアルゴリズムを使用します。詳細は、comm.AWGNChannel ヘルプ ページの「アルゴリズム」を参照してください。オブジェクトのプロパティは、関連するブロック パラメーターに対応しています。ただし、以下の場合は除きます。

  • GPU が使用する 1 つまたは複数の乱数ストリームのプロパティを制御するインターフェイスを提供するため、このオブジェクトは parallel.gpu.RandStream を使用します。使用方法は RandStream と同じですが、以下の点が異なります。

    • combRecursive (MRG32K3A) ジェネレーターのみサポートします。

    • Inversion の正規変換のみサポートします。

    • substream プロパティは設定できません。

詳細については、MATLAB コマンド ラインで help parallel.gpu.RandStream と入力してください。

AWGN を 8-PSK 信号に追加します。

hMod = comm.PSKModulator; 
modData = step(hMod,randi([0 hMod.ModulationOrder-1],1000,1));
hAWGN = comm.gpu.AWGNChannel('EbNo',15, 'BitsPerSymbol', ...
                log2(hMod.ModulationOrder));
channelOutput = step(hAWGN, modData);
% Visualize the noiseless and noisy data in scatter plots
scatterplot(modData)
scatterplot(channelOutput)

この情報は役に立ちましたか?