ドキュメンテーション

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

comm.PSKDemodulator System object

パッケージ: comm

M-ary PSK 手法を使用した復調

説明

PSKDemodulator オブジェクトは、M-ary 位相シフト キーイング (M-PSK) メソッドを使用して入力信号を復調します。

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

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

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

構築

H = comm.PSKDemodulator は復調器 System object™ H を作成します。このオブジェクトは、M-ary 位相シフト キーイング (M-PSK) メソッドを使用して、入力信号を復調します。

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

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

プロパティ

ModulationOrder

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

コンスタレーションのポイント数を正の整数スカラー値として指定します。既定の設定は 8 です。

PhaseOffset

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

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

BitOutput

ビットとしての出力データ

出力がビットのグループまたは整数シンボル値で構成されているかどうかを指定します。既定の設定は false です。このプロパティを true に設定すると、step メソッドはビット値の列ベクトルを出力します。このベクトルの長さは、復調されたシンボルの数の log2(ModulationOrder) 倍に等しくなります。このプロパティを false に設定すると、step メソッドは入力データ ベクトルと長さが等しい列ベクトルを出力します。このベクトルには、0ModulationOrder-1 の間の整数シンボル値が含まれます。

SymbolMapping

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

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

CustomSymbolMapping

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

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

DecisionMethod

復調判定メソッド

オブジェクトが使用する判定メソッドを Hard decisionLog-likelihood ratio または Approximate log-likelihood ratio として指定します。既定の設定は Hard decision です。BitOutput プロパティを false に設定すると、このオブジェクトは常に硬判定復調を実行します。このプロパティは、BitOutput プロパティを true に設定した場合に適用されます。

VarianceSource

ノイズ分散のソース

ノイズ分散のソースを、Property または Input port のいずれかとして指定します。既定の設定は Property です。このプロパティは、BitOutput プロパティを true に設定し、DecisionMethod プロパティを Log-likelihood ratio または Approximate log-likelihood ratio に設定した場合に適用されます。

Variance

ノイズ分散

ノイズの分散を正の実数スカラー値として指定します。既定の設定は 1 です。この値が非常に小さい (つまり、SNR が非常に高い) 場合、対数尤度比 (LLR) 計算は Inf または -Inf を生成することがあります。これは、LLR アルゴリズムによって非常に大きい数または非常に小さい数の指数計算に有限精度演算が使用されるためです。このような場合は、そのオプションのアルゴリズムで指数が計算されないため、近似 LLR を使用します。BitOutput プロパティを true に設定し、DecisionMethod プロパティを Log-likelihood ratio または Approximate log-likelihood ratioVarianceSource プロパティを Property に設定した場合に、このプロパティが適用されます。このプロパティは調整可能です。

OutputDataType

出力のデータ型

出力データ型を Full precisionSmallest unsigned integerdoublesingleint8uint8int16uint16int32 または uint32 として指定します。既定の設定は Full precision です。このプロパティは、BitOutput プロパティを false に設定した場合に適用されます。また、BitOutput プロパティを true に設定し、DecisionMethod プロパティを Hard decision に設定した場合に適用されます。この 2 番目の場合、OutputDataType プロパティを Full precision に設定すると、入力データ型は単精度または倍精度になり、出力データは入力と同じデータ型になります。入力データが固定小数点データ型の場合、出力データ型は OutputDataType プロパティを Smallest unsigned integer に設定したかのように動作します。

BitOutputtrue に設定し、DecisionMethod プロパティを Hard Decision に設定すると、logical データ型が有効なオプションになります。BitOutput プロパティを true に設定し、DecisionMethod プロパティを Log-likelihood ratio または Approximate log-likelihood ratio に設定した場合、出力データは入力と同じデータ型になります。この場合、データ型は単精度または倍精度でなければなりません。

 固定小数点プロパティ

メソッド

clone同じプロパティ値で PSK 復調器オブジェクトを作成する
constellation理想的なコンスタレーションの計算またはプロット
getNumInputsstep メソッドへの予想される入力数
getNumOutputsstep メソッドからの出力数
isLocked入力属性と調整不可能なプロパティのロック状態
releaseプロパティ値と入力特性の変更を許可する
stepM-ary PSK 手法を使用した復調

16-PSK 変調方式を使用して、信号を変調および復調します。

 hMod = comm.PSKModulator(16, 'PhaseOffset',pi/16);
    hAWGN = comm.AWGNChannel('NoiseMethod', ...
          'Signal to noise ratio (SNR)','SNR',15);
    hDemod = comm.PSKDemodulator(16, 'PhaseOffset',pi/16);
    %Create an error rate calculator
    hError = comm.ErrorRate;
    for counter = 1:100
        % Transmit a 50-symbol frame
        data = randi([0 hMod.ModulationOrder-1],50,1);
        modSignal = step(hMod, data);
        noisySignal = step(hAWGN, modSignal);
        receivedData = step(hDemod, noisySignal);
        errorStats = step(hError, data, receivedData);
    end
    fprintf('Error rate = %f\nNumber of errors = %d\n', ...
          errorStats(1), errorStats(2))

アルゴリズム

このオブジェクトは、M-PSK Demodulator Baseband ブロックのリファレンス ページで説明されているアルゴリズム、入力、および出力を実装しています。オブジェクト プロパティはブロック パラメーターに対応します。

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