メインコンテンツ

M-FSK Demodulator Baseband

FSK 変調データの復調

  • M-FSK Demodulator Baseband block

ライブラリ:
Communications Toolbox / Modulation / Digital Baseband Modulation / FM

説明

M-FSK Demodulator Baseband ブロックは、M-ary 周波数偏移変調 (M-FSK) 手法を使用して変調された信号を復調します。入力と出力は離散時間信号です。

すべて展開する

加法性ホワイト ガウス ノイズ (AWGN) チャネル経由で 2-FSK 変調信号を渡します。受信信号を復調し、シンボル エラー レート (SER) を計算します。

cm_2fsk_mod_demod モデルは、ランダムなバイナリ信号を 2-FSK 変調し、AWGN を適用してから、信号を 2-FSK 復調します。Error Rate Calculationブロックは SER を計算します。Error Rate Calculation ブロックでは、1 サンプルの遅延を考慮するため、[受信遅延] パラメーターを 1 に設定します。

model = 'cm_2fsk_mod_demod';
open_system(model);
chan = [model,'/AWGN Channel'];

Es/N0 を 10 に設定して、計算された SER を表示します。Scope (Simulink)ブロックは、時間領域の入力信号と復調信号、および 2 つの信号が等しくない場合を示す信号をプロットします。

set_param(chan,'esno','10');
sim(model);
fprintf('With EsN0 set to 10, SER = %7.6f\n',ErrorVec(1));
With EsN0 set to 10, SER = 0.004889

入力の整数データとバイナリ データを M-FSK で変調および復調します。各整数または "log2(M)" ビットの各グループは、1 つのシンボルに対応します。ここで、M[M-ary 数] パラメーターの値を表します。入力信号と出力信号の予想される信号長を計算します。入力信号と出力信号の予想される長さおよび結果として得られた長さを表示します。

cm_fsk_mod_demod_bin_int モデルには、入力データを変調および復調する 2 つの並列処理のパスがあります。

変調器と復調器のペアは、変調次数 8 値、周波数間隔 100 Hz、フレームあたり 21 サンプル、シンボルあたり 10 サンプルで構成されています。このモデルは、PreLoadFcn コールバック関数を使用して、ブロック パラメーターを構成する変数を初期化します。詳細については、モデル コールバック (Simulink)を参照してください。

  • 上側のパスでは、整数データを受け取るように構成された 8-FSK Modulator ブロックを使用してデータを変調した後、別々の 8-FSK Demodulator ブロックでそのデータを復調してそれぞれバイナリ データと整数データを出力します。

  • 下側のパスでは、バイナリ データを受け取るように構成された 8-FSK Modulator ブロックを使用してデータを変調した後、同じように別々の 8-FSK Demodulator ブロックでそのデータを復調してそれぞれバイナリ データと整数データを出力します。

モデルを実行し、予想される入出力信号長、および結果として得られた入出力信号長を計算します。信号の長さを表示して、結果と予想される長さが一致することを確認します。

バイナリ入力信号について、予想される入出力長を表示します。

Nbit  Nsym  Nbout  Niout 
 693   2310   693   231

バイナリ入力信号について、結果として得られた入出力長を表示します。

 bit   sym   bout   iout
 693   2310   693   231

整数入力信号について、予想される入出力長を表示します。

Nint  Nsym  Nibout  Niiout 
 231   2310   693   231

整数入力信号について、結果として得られた入出力長を表示します。

 bit   sym   bout   iout
 231   2310   693   231

端子

入力

すべて展開する

入力信号。スカラーとして指定します。入力は、変調信号のベースバンド表現です。

この端子はブロックで名前なしになります。

データ型: double

出力

すべて展開する

復調された出力信号。スカラーまたは列ベクトルとして返されます。詳細については、シングルレート処理およびマルチレート処理を参照してください。[出力タイプ] パラメーターは、ブロックが整数を出力するかビットのグループを出力するかを指定します。

この端子はブロックで名前なしになります。

パラメーター

すべて展開する

ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。

変調信号の周波数の数。2 以上の正の整数として指定します。

ブロックが整数を出力するかビットのグループを出力するかを示します。[整数] または [ビット] として指定します。

このパラメーターを [ビット] に設定した場合、[M-ary 数] パラメーターはある正の整数 K に対して 2K でなければなりません。

出力シンボルのシンボル マッピング。[バイナリ] または [グレイ] として指定します。

  • このパラメーターを [バイナリ] に設定すると、バイナリ符号の順序を使用してシンボルがマッピングされます。

  • このパラメーターを [Gray] に設定すると、グレイ符号の順序を使用してシンボルがマッピングされます。グレイ符号の順序の場合、[M-ary 数] の値は 2 のべき乗でなければなりません。

詳細については、整数値信号とバイナリ値信号を参照してください。

周波数間隔 (Hz)。変調された信号における隣接する周波数間の距離を表す正のスカラーとして指定します。

シンボル サンプル レート。変調される各シンボルを表す入力サンプルの数を示す正の整数として指定します。

詳細については、信号のアップサンプリングとレート変更を参照してください。

ブロック処理レート。以下のいずれかのオプションを指定します。

  • Enforce single-rate processing — 入力信号と出力信号の端子サンプル時間は同じです。ブロックは、出力のサイズを入力と比較して変更することによって、レートを変更します。出力幅はシンボルの数と一致します ([Output type] パラメーターが [Integer] の場合は、入力長を [Samples per symbol] パラメーター値で割った値 )。

  • Allow multirate processing — 入力信号と出力信号の端子サンプル時間は異なります。出力期間はシンボル区間と等しく、入力期間と [Samples per symbol] パラメーターの値の積になります。

出力データ型。double[boolean][int8][uint8][int16][uint16][int32]、または [uint32] として指定します。

ブロックの特性

データ型

Boolean | double | integer | single

多次元信号

いいえ

可変サイズの信号

いいえ

詳細

すべて展開する

ヒント

  • M-FSK Demodulator Baseband ブロックは、非コヒーレントのエネルギー検出器を実装しています。コヒーレントな FSK 復調と同等の BER のパフォーマンスを得るには、CPFSK Demodulator Baseband ブロックを使用してください。

アルゴリズム

M-FSK で変調された信号は、非コヒーレントな検出を使用して復調されます。これは、位相の測定値を利用しないエネルギー検出器を構成します。復調器は、M 個の波形が送信される可能性があることを知っており、各持続期間 T においてどの波形が受信されたかを判定しなければなりません。

Sklar [1] で説明されているように、M-FSK 変調の一般的な解析的表現は次のようになります。

si(t)=2ETcos(ωit+ϕ)0tTi=1,...,M

  • E はシンボルのエネルギーです。

  • T はシンボルの持続時間です。

  • ωi は離散値 M をもつ周波数項です。

  • M は変調次数で、波形の数を規定します。

  • ϕ は位相オフセットです。

M-FSK 復調器の非コヒーレントなエネルギー検出器は、どの判定領域が最大出力を生成するかに基づいて、各 ωi の波形の判定領域を選択します。

詳細については、Sklar [1] の "Noncoherent Detection of FSK" のセクションを参照してください。

参照

[1] Sklar, Bernard. Digital Communications: Fundamentals and Applications. 2nd ed. Upper Saddle River, NJ: Prentice-Hall PTR, 2001.

拡張機能

すべて展開する

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006a より前に導入