Main Content

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

M-FSK Demodulator Baseband

FSK 変調データの復調

ライブラリ

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

  • M-FSK Demodulator Baseband block

説明

M-FSK Demodulator Baseband ブロックは、M-ary 周波数偏移変調法を使用して変調された信号を復調します。入力は、変調信号のベースバンド表現です。このブロックの入力と出力はともに離散時間信号です。このブロックは、single または double のスカラー値または列ベクトルの入力信号を受け入れます。各ブロック端子でサポートされるデータ型については、サポートされているデータ型を参照してください。

[M-ary number] パラメーター M は、変調された信号の周波数の数です。[Frequency separation] パラメーターは、変調された信号の隣接する周波数間の距離を Hz 単位で示したものです。

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

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

[Output type] パラメーターを [Integer] に設定すると、ブロックは 0 ~ M-1 の整数値を出力します。M は [M-ary number] ブロック パラメーターを表します。

[Output type] パラメーターが [Bit] に設定されている場合、ブロックは整数を示すバイナリ値信号を出力します。ブロックによる各整数の表現には、K をシンボルあたりのビット数として、K = log2(M) のグループが使用されます。出力ベクトルの長さは K の整数倍でなければなりません。

[Symbol set ordering] パラメーターは、ブロックがシンボルを K 出力ビットのグループにマップする方法を指定します。このパラメーターを [Binary] に設定した場合、ブロックは整数 I を [u(1) u(2) ... u(K)] ビットにマップします。ここで、各 u(i) は次式で与えられるものとします。

I=i=1Ku(i)2Ki

u(1) は最上位ビットです。

たとえば、M = 8 で、[Symbol set ordering][Binary] に設定されている場合は、復調された整数シンボル値は 6 となり、バイナリ出力ワードは [1 1 0] となります。

[Symbol set ordering][Gray] の場合、ブロックによるビット出力の割り当てには、事前定義されたグレイ符号化された信号コンスタレーションのポイントが使用されます。定義済みの M-ary グレイ符号化された信号コンスタレーションは、ビット行列 b の p 番目の行のビット表現を p 番目の整数に割り当てます。ここで、左端のビットが最上位ビット (MSB) です。

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

次の表は、M = 8 とした典型的なバイナリからグレイへのマッピングを示します。

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

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

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

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

出力が、整数あるいは整数のバイナリ表現のいずれであっても、ブロックは最高周波数を整数 0 にマップし、最低周波数を整数 M-1 にマップします。ベースバンド シミュレーションでは、最も低い周波数は絶対値が最大の負の周波数です。

シングルレート処理

シングルレート処理モードの場合、入力信号および出力信号における端子のサンプル時間は同じになります。ブロックは、入力と比較する際に出力でのサイズ変更を行うことによってレート変更を暗黙的に実装します。入力幅は [Samples per symbol] パラメーター値の整数倍でなければならず、入力は列ベクトルとすることができます。

  • [Output type][Bit] に設定した場合、出力幅は入力シンボルの数の K 倍となります。また、[M-ary number] の値は 2 のべき乗でなければなりません。

  • [Output type][Integer] に設定した場合、出力幅は入力シンボルの数と一致します。

マルチレート処理

マルチレート処理モードでは、入力信号と出力信号の端子サンプル時間は異なっています。入力はスカラーでなければなりません。出力のサンプル時間は、入力のサンプル時間と [Samples per symbol] パラメーターの値の積になります。

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

  • [Output type][Integer] に設定した場合、出力幅はスカラー値となります。

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

パラメーター

M-ary number

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

Output type

出力が整数で構成されるか、ビットのグループで構成されるかを決めます。このパラメーターを [Bit] に設定した場合、[M-ary number] パラメーターは 2 のべき乗でなければなりません。

Symbol set ordering

ブロックが各整数を出力ビットのグループに割り当てる方法を決めます。

メモ

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

Frequency separation (Hz)

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

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

変調された各シンボルを表す入力サンプルの数。

Rate options

ブロックのレート処理方法を選択します。

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

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

詳細については、このページの「シングルレート処理」および「マルチレート処理」を参照してください。

Output data type

ブロックの出力タイプはここで、[boolean][int8][uint8][int16][uint16][int32][uint32] または [double] として指定できます。既定の設定では、ブロックはこれを [double] に設定します。

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

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

入力

  • 倍精度浮動小数点

  • 単精度浮動小数点

出力

  • 倍精度浮動小数点

  • boolean

  • 8、16、32 ビット符号付き整数

  • 8、16、32 ビット符号なし整数

ペア ブロック

M-FSK Modulator Baseband

参照

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

拡張機能

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

バージョン履歴

R2006a より前に導入