Main Content

M-FSK Modulator Baseband

M-ary 周波数偏移変調法を用いた変調

ライブラリ

Modulation の Digital Baseband サブライブラリ内の FM

  • M-FSK Modulator Baseband block

説明

M-FSK Modulator Baseband ブロックは、M-ary 周波数偏移変調法を使用して変調します。出力は、変調信号のベースバンド表現です。各ブロック端子でサポートされるデータ型については、サポートされているデータ型を参照してください。

出力信号でのエイリアシング発生を回避するには、サンプリング周波数を M と [Frequency separation] パラメーターの積より大きい値にします。サンプリング周波数は、[Samples per symbol] を入力シンボル周期 (秒単位) で割った値になります。

整数値信号とバイナリ値信号

このブロックの入力信号と出力信号はともに離散時間信号です。

[入力タイプ] パラメーターを [Integer] に設定すると、ブロックでは [0, (M-1)] の範囲の整数値が受け入れられます。M は、[M-ary number] ブロック パラメーターで指定される変調次数です。

[Input type] パラメーターが [Bit] に設定されている場合、ブロックは整数を示すバイナリ値入力を受け入れます。ブロックは、受け取ったバイナリ値信号を、K = log2(M) ビットのグループに集約します。

ここで、

K は、シンボルあたりのビット数を表します。

入力ベクトルの長さは K の整数倍でなければなりません。この設定では、ブロックは K ビットのグループを受け入れ、そのグループをブロック出力でシンボルにマッピングします。ブロックは K ビットのグループごとに、[Samples per symbol] パラメーター値でオーバーサンプリングされた変調後のシンボルを 1 つ出力します。

[Symbol set ordering] パラメーターは、ブロックが K 入力ビットのグループを対応するシンボルにマップする方法を指定します。パラメーターを [Binary] に設定すると、ブロックは [u(1) u(2) ... u(K)] を次の整数にマッピングします。

i=1Ku(i)2Ki

この整数が入力値になります。u(1) は最上位ビットです。

M = 8、[Symbol set ordering][Binary]、バイナリ入力ワードを [1 1 0] に設定すると、ブロックは [1 1 0] を整数 6 に変換します。入力が 6 で [Input type] パラメーターが [Integer] の場合、ブロックは同じ出力を生成します。

[Symbol set ordering][Gray] の場合、ブロックはグレイ符号の割り当てを使用し、バイナリ入力を事前定義されたグレイ符号コンスタレーションのポイントに割り当てます。定義済みの M-ary グレイ符号化された信号コンスタレーションは、バイナリ表現を割り当てます。

M = 8;
k = log2(M);
P = [0:M-1];
reshape(int2bit(bitxor(P,floor(P/2)),k),k,[])'

P 番目の整数に代入します。

次の表は、M = 8 の場合のバイナリからグレイへの一般的なマッピングを示します。

ビットのバイナリから Gray へのマッピング

バイナリ符号グレイ符号
000000
001001
010011
011010
100110
101111
110101
111100

整数に対する 2 値からグレイへのマッピング

バイナリ符号グレイ符号
00
11
23
32
46
57
65
74

シングルレート処理

シングルレート処理モードの場合、入力信号および出力信号における端子のサンプル時間は同じになります。ブロックは、入力と比較する際に出力でのサイズ変更を行うことによってレート変更を暗黙的に実装します。このモードでは、ブロックへの入力は複数のシンボルにできます。

  • [Input type][Integer] に設定した場合、入力は列ベクトルとすることができ、その幅は入力シンボルの数と一致します。

  • [Input type][Bit] に設定した場合、入力幅は、シンボルあたりのビット数 K の整数倍に一致しなければなりません。また、[M-ary number] の値は 2 のべき乗でなければなりません。

出力幅は、入力シンボルの数と [Samples per symbol] パラメーターの値の積になります。

マルチレート処理

マルチレート処理モードでは、入力信号と出力信号の端子サンプル時間は異なっています。このモードでは、ブロックへの入力は 1 つのシンボルでなければなりません。

  • [Input type][Integer] に設定した場合、入力はスカラーでなければなりません。

  • [Input type][Bit] に設定した場合、入力幅はシンボルあたりのビット数と一致しなければなりません。また、[M-ary number] の値は 2 のべき乗でなければなりません。

出力サンプル時間は、シンボル区間を [Samples per symbol] パラメーターの値で割った値となります。

M-FSK Modulator ブロックをマルチレート モードで実行するには、[各離散レートを個別のタスクとして扱う] チェック ボックス ([シミュレーション]、[コンフィギュレーション パラメーター]、[ソルバー] を選択) をオフにします。

パラメーター

M-ary number

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

Input type

入力が整数で構成されるかビットのグループで構成されるかを示します。このパラメーターを [Bit] に設定した場合、[M-ary number] はある正の整数 K に対して 2K でなくてはなりません。

Symbol set ordering

ブロックが入力ビットの各グループを対応する整数にマップする方法を指定します。

メモ

[Symbol set ordering][Gray] に設定した場合、[M-ary number] の値は 2 のべき乗でなければなりません。

Frequency separation (Hz)

変調された信号における隣接する周波数間の距離です。

Phase continuity

変調された信号による位相の変更が、連続的に行われるか不連続的に行われるかを指定します。

[Phase continuity] パラメーターを [Continuous] に設定すると、変調された信号はその周波数を変更する際にも位相を維持します。[Phase continuity] パラメーターを [Discontinuous] に設定すると、変調された信号は、周波数の異なる M 個の正弦波の一部で構成されます。そのため、入力値の変化によって、変調された信号の位相が変化することもあります。

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

入力される各整数またはバイナリ ワードごとにブロックが生成する出力サンプルの数です。

Rate options

ブロックのレート処理オプションを選択します。

  • Enforce single-rate processing — このオプションを選択すると、入力信号と出力信号の端子サンプル時間が同じになります。ブロックは、出力のサイズを入力と比較して変更することによって、レートを変更します。出力幅は、シンボルの数と [Samples per symbol] パラメーター値の積になります。

  • Allow multirate processing — このオプションを選択すると、入力信号と出力信号の端子サンプル時間は異なるものになります。出力サンプル時間は、シンボル区間を [Samples per symbol] パラメーターの値で割った値となります。

Output data type

ブロックの出力タイプは、double または single を指定できます。既定では、ブロックはこの値を double に設定しています。

サポートされているデータ型

端子サポートされているデータ型

入力

  • 倍精度浮動小数点

  • Boolean (ビット入力モードのみ)

  • 8、16、32 ビット符号付き整数 (整数入力モードのみ)

  • 8、16、32 ビット符号なし整数 (整数入力モードのみ)

出力

  • 倍精度浮動小数点

  • 単精度浮動小数点

ペア ブロック

M-FSK Demodulator Baseband

参照

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

拡張機能

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

バージョン履歴

R2006a より前に導入