M-FSK Modulator Baseband
M-ary 周波数偏移変調法を用いた変調
ライブラリ:
Communications Toolbox /
Modulation /
Digital Baseband Modulation /
FM
説明
M-FSK Modulator Baseband ブロックは、M-ary 周波数偏移変調 (M-FSK) 手法を使用して信号を変調します。
出力信号のエイリアシングを防ぐには、サンプリング周波数を [M-ary 数] パラメーターと [周波数分離 (Hz)] パラメーターの値の積よりも大きい値に設定します。サンプリング周波数は、[シンボルあたりのサンプル数] パラメーターの値をモデルで定義された入力シンボル周期 (秒単位) で割った値になります。
例
加法性ホワイト ガウス ノイズ (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
端子
出力
パラメーター
ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。
変調信号の周波数の数。2 以上の正の整数として指定します。
入力が整数で構成されるか、ビットのグループで構成されるかを示します。[Integer] または [Bit] として指定します。
このパラメーターを [ビット] に設定した場合、[M-ary 数] パラメーターはある正の整数 K に対して 2K でなければなりません。
入力シンボルのシンボル マッピング。[バイナリ] または [グレイ] として指定します。
このパラメーターを
[バイナリ]に設定すると、バイナリ符号の順序を使用してシンボルがマッピングされます。このパラメーターを
[Gray]に設定すると、グレイ符号の順序を使用してシンボルがマッピングされます。グレイ符号の順序の場合、[M-ary 数] の値は 2 のべき乗でなければなりません。
詳細については、整数値信号とバイナリ値信号を参照してください。
周波数間隔 (Hz)。変調された信号における隣接する周波数間の距離を表す正のスカラーとして指定します。
位相連続性。変調された信号の位相が連続的に変化するか不連続的に変化するかを決定します。[連続] または [不連続] として指定します。
このパラメーターを
[連続]に設定すると、変調された信号はその周波数を変更する際にも位相を維持します。このパラメーターを
[不連続]に設定すると、変調された信号は、周波数の異なる M 個の正弦波の一部で構成されます。入力値の変化によって、変調された信号の位相が変化する場合があります。M は [M-ary 数] パラメーターの値です。
シンボル サンプル レート。入力内の各整数または各バイナリ ワードに対してブロックが生成する出力サンプルの数を表す正の整数として指定します。
詳細については、信号のアップサンプリングとレート変更を参照してください。
ブロック処理レート。以下のいずれかのオプションを指定します。
Enforce single-rate processing— 入力信号と出力信号のサンプル時間は同じです。ブロックは、出力のサイズを入力と比較して変更することによって、レートを変更します。出力幅は、シンボルの数と [Samples per symbol] パラメーター値の積になります。Allow multirate processing— 入力信号と出力信号のサンプル時間は異なります。出力サンプル時間は、シンボル区間を [Samples per symbol] パラメーターの値で割った値となります。
出力のデータ型。double または single を指定します。
ブロックの特性
データ型 |
|
多次元信号 |
|
可変サイズの信号 |
|
詳細
このブロックの入力信号と出力信号はともに離散時間信号です。
[入力タイプ] パラメーターを [Integer] に設定すると、ブロックでは [0, (M–1)] の範囲の整数値が受け入れられます。M は、[M-ary number] ブロック パラメーターで指定される変調次数です。
[Input type] パラメーターが [Bit] に設定されている場合、ブロックは整数を示すバイナリ値入力を受け入れます。このブロックは、バイナリ値の信号を K = log2(M) ビットのグループに集約します。ここで、K はシンボルあたりのビット数を表します。
入力ベクトルの長さは K の整数倍でなければなりません。この設定では、ブロックは K ビットのグループを受け入れ、そのグループをブロック出力でシンボルにマッピングします。ブロックは K ビットのグループごとに、[シンボルあたりのサンプル数] パラメーター値でオーバーサンプリングされた変調後のシンボルを 1 つ出力します。
[Symbol set ordering] パラメーターは、ブロックが K 入力ビットのグループを対応するシンボルにマップする方法を指定します。
[Symbol set ordering] パラメーターを
[バイナリ]に設定すると、ブロックは [u(1) u(2) … u(K)] を次の整数にマッピングします。この整数が入力値になります。u(1) は最上位ビットです。シンボル セットの順序がバイナリに設定され、[M-ary 数] パラメーターの値が
8に設定されている場合、ブロックは、[入力タイプ] パラメーターが次の場合に同じ出力を生成します。[整数]で入力が整数の 6。[ビット]でバイナリ入力ワードが [1 1 0]。
[Symbol set ordering] が
[Gray]の場合、ブロックはグレイ符号の割り当てを使用し、事前定義されグレイ符号化された信号コンスタレーションのポイントにバイナリ入力を割り当てます。定義済みの M-ary グレイ符号化された信号コンスタレーションは、ビット行列bのP番目の行のビット表現をP番目の整数に割り当てます。ここで、左端のビットが最上位ビット (MSB) です。次のサンプル コードは、M = 8 でグレイ符号化されたビット配列を定義します。例として、M = 8 の場合に、このブロックが整数をバイナリ符号化およびグレイ符号化されたビット シンボルにどのようにマッピングするかを次の表に示します。M = 8; K = log2(M); % Number of bits per symbol P = [0:M-1]; b = int2bit(bitxor(P,floor(P/2)),K) b = reshape(b,K,[])'
バイナリ符号とグレイ符号のシンボル マッピング
| バイナリ符号 | グレイ符号 | ||
|---|---|---|---|
| Integer | ビット | Integer | ビット |
| 0 | 000 | 0 | 000 |
| 1 | 001 | 1 | 001 |
| 2 | 010 | 3 | 011 |
| 3 | 011 | 2 | 010 |
| 4 | 100 | 6 | 110 |
| 5 | 101 | 7 | 111 |
| 6 | 110 | 5 | 101 |
| 7 | 111 | 4 | 100 |
シングルレート処理モードの場合、入力信号および出力信号における端子のサンプル時間は同じになります。ブロックは、入力と比較する際に出力でのサイズ変更を行うことによってレート変更を暗黙的に実装します。このモードでは、ブロックへの入力は複数のシンボルにできます。
[Input type] を
[Integer]に設定した場合、入力は列ベクトルとすることができ、その長さは入力シンボルの数と一致します。[入力タイプ] を
[ビット]に設定した場合、入力幅は、シンボルあたりのビット数 K の整数倍に一致しなければなりません。また、[M-ary 数] の値は 2 のべき乗でなければなりません。
出力幅は、入力シンボルの数と [シンボルあたりのサンプル数] パラメーターの値の積になります。
マルチレート処理モードでは、入力信号と出力信号の端子サンプル時間は異なっています。このモードでは、ブロックへの入力は 1 つのシンボルでなければなりません。
[Input type] を
[Integer]に設定した場合、入力はスカラーでなければなりません。[入力タイプ] を
[ビット]に設定した場合、入力幅はシンボルあたりのビット数 K と一致しなければなりません。また、[M-ary 数] の値は 2 のべき乗でなければなりません。
出力サンプル時間は、シンボル周期を [M-ary 数] パラメーターの値で除算したものと同じです。
M-FSK Modulator ブロックをマルチレート モードで実行するには、[各離散レートを個別のタスクとして扱う] チェック ボックス ([シミュレーション]、[コンフィギュレーション パラメーター]、[ソルバー] を選択) をオフにします。
アルゴリズム
Sklar [1] で説明されているように、M-FSK 変調の一般的な解析的表現は次のようになります。
E はシンボルのエネルギーです。
T はシンボルの持続時間です。
ωi は離散値 M をもつ周波数項です。
M は変調次数で、波形の数を規定します。
ϕ は位相オフセットです。
参照
[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 より前に導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)