メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

comm.BPSKDemodulator

R2026a

(削除予定) BPSK メソッドを使って復調する

comm.BPSKDemodulator は将来のリリースで削除される予定です。代わりに pskdemod を使用してください。コードの更新の詳細については、バージョン履歴を参照してください。

説明

comm.BPSKDemodulator System object™ は、2 相位相偏移変調 メソッドを使用して変調された信号を復調します。このオブジェクトは、点 exp(jθ) または -exp(jθ) をそれぞれ 0、1 にマッピングします。PhaseOffset プロパティは θ の値を指定します (ラジアン単位)。

BPSK 変調された信号データを復調するには、次のようにします。

  1. comm.BPSKDemodulator オブジェクトを作成し、そのプロパティを設定します。

  2. 関数と同様に、引数を指定してオブジェクトを呼び出します。

System object の機能の詳細については、System object とはを参照してください。

作成

説明

bpskdemodulator = comm.BPSKDemodulator は、BPSK メソッドを使用して入力信号を復調する、復調器 System object を作成します。

例

bpskdemodulator = comm.BPSKDemodulator(Name,Value) は、指定の各プロパティが指定の値に設定された BPSK 復調器 System object を作成します。(Name1,Value1,...,NameN,ValueN) のように、追加の名前と値のペアの引数を任意の順番で指定できます。

bpskdemodulator = comm.BPSKDemodulator(phase,Name,Value) は、PhaseOffset プロパティが phase に設定され、他の指定のプロパティが指定の値に設定された BPSK 復調器 System object を作成します。

プロパティ

すべて展開する

特に指定がない限り、プロパティは "調整不可能" です。つまり、オブジェクトの呼び出し後に値を変更することはできません。オブジェクトは呼び出すとロックされ、ロックを解除するには関数 release を使用します。

プロパティが "調整可能" の場合、その値をいつでも変更できます。

プロパティ値の変更の詳細については、System object を使用した MATLAB でのシステム設計を参照してください。

コンスタレーションの 0 番目の点の位相 (ラジアン単位)。スカラーとして指定します。

データ型: double

復調判定方式。'Hard decision'、'Log-likelihood ratio'、または 'Approximate log-likelihood ratio' として指定します。

データ型: char | string

ノイズ分散のソース。'Property' または 'Input port' のいずれかで指定します。

依存関係

このプロパティを有効にするには、DecisionMethod プロパティを 'Log-likelihood ratio' または 'Approximate log-likelihood ratio' に設定します。

データ型: char | string

ノイズ分散。非ゼロのスカラーとして指定します。復調オブジェクトには複素数の入力信号が必要です。BPSK の場合、変調器は虚数部の値がゼロである複素信号を出力します。代わりに、復調器に実信号を入力する場合は、複素信号の分散値を実数値入力信号の分散の 2 倍に設定し、複素信号のノイズ パワーを実数値入力信号内で表さなければなりません。

ノイズ分散または信号強度の計算結果に極端な正または負の振幅が含まれる場合は、復調判定タイプの考慮事項について、BPSK 軟復調を参照してください。

調整可能: Yes

依存関係

このプロパティを有効にするには、VarianceSource プロパティを 'Property' に設定します。

データ型: double

出力データ型。次のいずれかのオプションを指定します。

  • このプロパティを 'Full precision' に設定すると、入力データ型が単精度または倍精度の場合、出力のデータ型は入力のデータ型と同じになります。入力データが固定小数点型である場合、出力のデータ型は、このプロパティが 'Smallest unsigned integer' に設定されているかのように動作します。

  • DecisionMethod プロパティを 'Log-liklihood ratio' または 'Approximate log-liklihood ratio に設定すると、入力データ型が単精度または倍精度の場合、出力のデータ型は入力のデータ型と同じになります。

    メモ

    入力が整数データ型の場合、このプロパティを 'Full precision' または 'Smallest unsigned integer' に設定するには Fixed-Point Designer™ ソフトウェアが必要になります。

  • 'Full precision'

  • 'Smallest unsigned integer'

  • 'double'

  • 'single'

  • 'int8'

  • 'uint8'

  • 'int16'

  • 'uint16'

  • 'int32'

  • 'uint32'

  • 'logical'

依存関係

このプロパティを有効にするには、DecisionMethod プロパティを 'Hard decision' に設定します。

データ型: char

固定小数点プロパティ

逆回転係数のデータ型。'Same word length as input' または 'Custom' のいずれかで指定します。

依存関係

このプロパティを有効にするには、DecisionMethod プロパティを 'Hard decision' に設定します。また、このオブジェクトは、固定小数点型の入力が必要であり、PhaseOffset プロパティの値が π/2 の倍数でない場合にのみ、逆回転係数を計算で使用します。

データ型: char | string

出力の固定小数点データ型。Auto の符号属性の numerictype (Fixed-Point Designer) オブジェクトとして指定します。

依存関係

このプロパティを有効にするには、OutputDataType プロパティを 'Custom' に設定します。

データ型: fi

使用法

説明

data = bpskdemodulator(waveform) は、変調された波形に BPSK 復調を適用し、復調された入力信号を返します。

data = bpskdemodulator(waveform,var) は、軟判定復調とノイズ分散 var を使用します。

入力引数

すべて展開する

BPSK 変調されたベースバンド信号。入力信号と同じサイズの列ベクトルまたは行列として指定します。出力のデータ型の詳細については、OutputDataType プロパティを参照してください。

データ型: double | single | fi
複素数のサポート: あり

ノイズ分散。非ゼロのスカラーとして指定します。

復調オブジェクトには複素数の入力信号が必要です。BPSK の場合、変調器は虚数部の値がゼロである複素信号を出力します。代わりに、復調器に実信号を入力する場合は、複素信号の分散値を実数値入力信号の分散の 2 倍に設定し、複素信号のノイズ パワーを実数値入力信号内で表さなければなりません。

ノイズ分散または信号強度の計算結果に極端な正または負の振幅が含まれる場合は、復調判定タイプの考慮事項について、BPSK 軟復調を参照してください。

依存関係

このプロパティを有効にするには、VarianceSource プロパティを 'Input port' に設定します。

データ型: double | single

出力引数

すべて展開する

出力信号のデータ。列ベクトルまたは行列として返されます。OutputDataType が、出力データのデータ型を指定します。

オブジェクト関数

オブジェクト関数を使用するには、System object を最初の入力引数として指定します。たとえば、obj という名前の System object のシステム リソースを解放するには、次の構文を使用します。

release(obj)

すべて展開する

constellation理想的な信号コンスタレーションの計算またはプロット
stepSystem object のアルゴリズムの実行
releaseリソースを解放し、System object のプロパティ値と入力特性の変更を可能にします。
resetSystem object の内部状態のリセット

例

すべて折りたたむ

BPSK 信号を生成して AWGN チャネルを経由して渡し、信号を復調して誤差の統計を計算します。

BPSK 変調器および復調器 System object を作成します。

bpskModulator = comm.BPSKModulator;
bpskDemodulator = comm.BPSKDemodulator;

エラー レート計算機 System object を作成します。

errorRate = comm.ErrorRate;

50 ビットのランダム データ フレームを作成して BPSK 変調を適用し、信号を AWGN チャネルを経由して渡して受信データを復調し、誤差の統計を解析します。

for counter = 1:100
    % Transmit a 50-symbol frame
    txData = randi([0 1],50,1);            % Generate data
    modSig = bpskModulator(txData);        % Modulate
    rxSig = awgn(modSig,5);                % Pass through AWGN
    rxData = bpskDemodulator(rxSig);       % Demodulate
    errorStats = errorRate(txData,rxData); % Collect error stats
end

累積誤差の統計を表示します。

fprintf('Error rate = %f\nNumber of errors = %d\n', ...
    errorStats(1), errorStats(2))
Error rate = 0.005600
Number of errors = 28

詳細

すべて展開する

拡張機能

すべて展開する

バージョン履歴

R2012a で導入

すべて展開する

参考

関数

ブロック