Main Content

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

comm.FSKDemodulator

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

説明

FSKDemodulator オブジェクトは、M-ary 周波数シフト キーイング メソッドを使用して変調された信号を復調します。入力は、変調信号のベースバンド表現です。このオブジェクトの入力と出力はともに離散時間信号です。

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

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

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

メモ

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

構築

H = comm.FSKDemodulator は復調器 System object H を作成します。このオブジェクトは、非コヒーレント エネルギー検出器を使用して M-ary 周波数シフトキーイング (M-FSK) 信号を復調します。

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

H = comm.FSKDemodulator(M,FREQSEP,RS,Name,Value) は、M-FSK 復調器オブジェクト H を作成します。このオブジェクトは、ModulationOrder プロパティを M に設定し、FrequencySeparation プロパティを FREQSEP に、SymbolRate プロパティを RS に設定して、他の指定のプロパティを指定の値に設定しています。

プロパティ

ModulationOrder

変調した信号の周波数の数

変調した信号の周波数の数を、2 のべき乗である数値、正の整数のスカラー値として指定します。既定の設定は 8 です。

BitOutput

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

出力がビットのグループまたは整数値であるかどうかを指定します。既定の設定は false です。

このプロパティを false に設定すると、step メソッドは N/SamplesPerSymbol に等しい長さの列ベクトルを出力します。N は step メソッドへの入力データ ベクトルの長さです。出力ベクトルの要素は、0 から ModulationOrder–1 までの整数です。このプロパティを true に設定すると、step メソッドは log2(ModulationOrder)×(N/SamplesPerSymbol) に等しい長さの列ベクトルを出力します。プロパティの要素は、0 から ModulationOrder–1 までの整数のビット表現です。

SymbolMapping

シンボルの符号化

オブジェクトが、整数または log2(ModulationOrder) ビットのグループを、対応するシンボルの Binary または Gray のいずれか 1 つとしてマップする方法を指定します。既定の設定は Gray です。

このプロパティを Gray に設定すると、オブジェクトはグレイ符号順を使用します。

このプロパティを Binary に設定すると、オブジェクトは通常の 2 値符号の順序を使用します。

どちらのタイプのマッピングに対しても、オブジェクトは整数 0 に最も低い周波数をマップし、整数 M–1 に最も高い周波数をマップします。ベースバンド シミュレーションでは、最も低い周波数は絶対値が最大の負の周波数です。

FrequencySeparation

連続トーン間の周波数分離

変調した信号の連続するシンボル間の周波数分離を、正の実数スカラー値で Hz 単位で指定します。既定の設定は 6 Hz です。

SamplesPerSymbol

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

入力シンボルあたりのサンプル数を正の整数スカラー値で指定します。既定の設定は 17 です。

SymbolRate

シンボル区間

シンボル レートを、毎秒あたりのシンボル数として、正の倍精度、実数スカラー値で指定します。既定の設定は 100 です。出力信号のエイリアシングを回避するために、出力サンプリング レート Fs = SamplesPerSymbol×SymbolRate を指定します。これは、ModulationOrder × FrequencySeparation よりも大きな値です。シンボル区間は、入力がビットか整数かにかかわりなく同一です。

OutputDataType

出力のデータ型

出力データ型を logicalint8uint8int16uint16int32uint32 または double のいずれかに指定します。既定の設定は double です。logical 型は、BitOutput プロパティを false に、ModulationOrder プロパティを 2 に設定するときにだけ有効です。BitOutput プロパティを true に設定すると、出力データは logical または double データ型である必要があります。

メソッド

stepM-ary FSK 手法を使用した復調
すべての System object に共通
release

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

reset

System object の内部状態をリセットします。

すべて折りたたむ

周波数分離が 100 Hz の 8-FSK 変調を使用して信号を変調および復調します。

変調次数と周波数分離パラメーターを設定します。

M = 8;
freqSep = 100;

変調次数 8、100 Hz の周波数分離で FSK 変調および復調 System object™ を作成します。

fskMod = comm.FSKModulator(M,freqSep);
fskDemod = comm.FSKDemodulator(M,freqSep);

ノイズが S/N 比で指定される加法性ホワイト ガウス ノイズ チャネルを作成します。

ch = comm.AWGNChannel('NoiseMethod', ...
    'Signal to noise ratio (SNR)','SNR',-2);

誤り率計算機オブジェクトを作成します。

err = comm.ErrorRate;

AWGN チャネルで 8-FSK を使用して、50 シンボル フレームを 100 個送信します。

for counter = 1:100
    data = randi([0 M-1],50,1);
    modSignal = step(fskMod,data);
    noisySignal = step(ch,modSignal);
    receivedData = step(fskDemod,noisySignal);
    errorStats = step(err,data,receivedData);
end

誤りの統計を表示します。

es = 'Error rate = %4.2e\nNumber of errors = %d\nNumber of symbols = %d\n';
fprintf(es,errorStats)
Error rate = 1.40e-02
Number of errors = 70
Number of symbols = 5000

アルゴリズム

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

  • [Symbol set ordering] パラメーターは、SymbolMapping プロパティに対応します。

  • SymbolRate プロパティは、ブロック サンプルレート容量を置き換えます。

拡張機能

R2012a で導入