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

comm.gpu.AWGNChannel

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

説明

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

メモ

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

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

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

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

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

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

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

メモ

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

構築

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 配列またはオブジェクトを受け入れます。GPU ベースの System object は、倍精度または単精度データ型の入力信号をサポートします。出力信号のデータ型は、入力信号から継承されます。

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

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

プロパティ

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 バージョンではこのプロパティは使用されません。

メソッド

stepホワイト ガウス ノイズの入力信号への付加
すべての System object に共通
release

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

アルゴリズム

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

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

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

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

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

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

すべて折りたたむ

変調次数を指定して、PSK 変調されたランダム データを生成します。

M = 8;
modData = pskmod(randi([0 M-1],1000,1),M,pi/M);

GPU を使用する AWGN チャネル オブジェクトを作成します。変調データをチャネルを介して渡します。

gpuChannel = comm.gpu.AWGNChannel('EbNo',15,'BitsPerSymbol', ...
                log2(M));
channelOutput = gpuChannel(modData);

ノイズのないデータとノイズのあるデータを散布図で表示します。

scatterplot(modData)
scatterplot(channelOutput)

拡張機能

R2012a で導入