CPM Modulator Baseband
CPM 法を使用した信号の変調
ライブラリ:
Communications Toolbox /
Modulation /
Digital Baseband Modulation /
CPM
説明
CPM Modulator Baseband ブロックは、連続位相変調 (CPM) 方式を使用して入力信号を変調します。変調器の出力は、変調信号のベースバンド表現です。
この変調および適用されるフィルター処理の詳細については、CPM 変調およびパルス整形のフィルター処理を参照してください。
例
doc_cpm_phase_tree モデルは、アイ ダイアグラムブロックを使用して、CPM 変調信号の同相成分と直交成分、位相軌跡、位相ツリー、および瞬時周波数を表示します。
モデルの検証
ランダムな整数信号がビットに変換され、その後 CPM 変調されます。CPM 変調信号値は複素数から振幅と角度に変換され、その後位相がアンラップされます。

アイ ダイアグラムのプロット
Eye Diagram ブロックには、それぞれが表示する信号を反映した名前が付けられています。例を実行すると、次の Eye Diagram ブロックに、CPM 信号が時間の経過とともにどのように変化するかが表示されます。
Modulated Signal ブロック — 同相信号と直交信号を表示します。ブロックをダブルクリックしてスコープを開きます。変調信号は、CPM Modulator Basebandブロックの [変調指数] パラメーターが 1/2 に設定されている場合にのみ、アイ ダイアグラムで簡単に確認できます。変調指数の値が 2/3 の場合、変調はより複雑になり、変調信号の特徴を解読することが難しくなります。位相をアンラップしてプロットすることは、これらのより複雑な CPM 変調信号を図示するもう 1 つの方法です。
Phase Trajectory ブロック — CPM 位相を表示します。ブロックをダブルクリックしてスコープを開きます。Phase Trajectory ブロックを見ると、変調器へのデータ入力に応じて信号位相がドリフトするため、信号位相も表示が難しいことがわかります。
Phase Tree ブロック — 信号の位相ツリーを表示します。CPM 位相は、CPM パルスの形状をより見やすくするために、いくつかの単純なブロックによって処理されます。この処理は、シンボル間隔の開始時に位相を保持し、それを信号から減算します。このゼロ次ホールドは、3 つのシンボルごとに位相をゼロにリセットします。結果のプロットには、任意のシンボル エポックからの信号が描く可能性のある多くの位相軌跡が表示されます。
Instantaneous Frequency ブロック — 信号の瞬間周波数を表示します。CPM 位相を微分して信号の周波数偏差を生成します。CPM 周波数信号を表示すると、周波数偏差を定性的に観測できるだけでなく、ピーク周波数偏差の測定などの定量的な観測も行うことができます。
doc_cpm_phase_tree モデルを実行すると、位相ツリーと瞬間周波数アイ ダイアグラムのプロットが開き、プロットされます。




その他の調査
例の詳細を確認するには、CPM Modulator Baseband ブロックで次のパラメーターを変更してみてください。
[パルス長] を 1 ~ 6 の間の値に変更します。
[Frequency pulse shape] を、
RectangularやGaussianなどの他の設定に変更します。
これらのパラメーターを変更すると、変調信号の位相ツリーと瞬間周波数にどのような影響が及ぶかを観察できます。
端子
入力
入力信号。スカラーまたは列ベクトルとして指定します。
[Input type] パラメーターが [Integer] に設定されている場合、ブロックは範囲 [ –(M–1), (M–1)] の奇数を受け入れます。M は、[M-ary number] パラメーターで指定される変調次数です。
[Input type] パラメーターが [Bit] に設定されている場合、ブロックは整数を示すバイナリ値入力を受け入れます。ブロックは、バイナリ値信号を k = log2(M) ビットのグループに集約します。k はシンボルあたりのビット数、M は変調次数です。入力ベクトルの長さは k の整数倍でなければなりません。ブロックは、[Symbol set ordering] パラメーターで指定されているとおりに、k ビットのグループそれぞれをシンボルにマッピングします。ブロックは、k ビットのグループごとに、[Samples per symbol] パラメーター値でオーバーサンプリングされた変調後のシンボルを 1 つ出力します。
サポートされているデータ型
倍精度浮動小数点
[Input type] が
[Bit]に設定されている場合、Boolean が使用できる[Input type] が
[Integer]に設定されている場合、8、16、32 ビット符号付き整数が使用できる
データ型: double | Boolean | int8 | int16 | int32
出力
出力信号。スカラーまたは列ベクトルとして返されます。
[Input type] パラメーターが
[Integer]に設定されている場合、ブロックは、入力シンボルごとに変調後のシンボルを 1 つ出力します。[Input type] パラメーターが
[Bit]に設定されている場合、ブロックは、k ビットのグループごとに変調されたシンボルを 1 つ出力します。
どちらの場合も、変調されたシンボルは、[Samples per symbol] パラメーター値でオーバーサンプリングされます。
データ型: double | single
パラメーター
ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。
変調次数。2 のべき乗のスカラーとして指定します。変調次数 M = 2k は、信号コンスタレーション点の数を指定します。ここで、k は、シンボルごとのビット数を示す正の整数です。
入力が整数で構成されるか、ビットのグループで構成されるかを示します。[Integer] または [Bit] として指定します。
ビット入力のシンボル マッピング。[Binary] または [Gray] として指定します。
このパラメーターを
[バイナリ]に設定すると、バイナリ符号の順序を使用してシンボルがマッピングされます。このパラメーターを
[Gray]に設定すると、グレイ符号の順序を使用してシンボルがマッピングされます。
詳細については、シンボル セットを参照してください。
依存関係
このパラメーターを有効にするには、[Input type] を [Bit] に設定します。
変調指数 {hi}。非負のスカラーまたは列ベクトルとして指定します。
{h} は変調指数のシーケンスを表します。詳細については、CPM 変調を参照してください。
変調信号の位相遷移を滑らかにするために使用されるパルス整形のタイプ。[Rectangular]、[Raised Cosine]、[Spectral Raised Cosine]、[Gaussian]、または [Tamed FM] として指定します。フィルター処理オプションの詳細については、パルス整形のフィルター処理を参照してください。
スペクトル レイズド コサイン パルスの最大ローブのメイン ローブ期間。変調された信号をパルス整形するために変調器が使用するシンボル区間の数を表す正の整数として指定します。
依存関係
このパラメーターを有効にするには、[Frequency pulse shape] を [Spectral Raised Cosine] に設定します。
スペクトル レイズド コサイン パルスのロールオフ係数。0 ~ 1 のスカラーとして指定します。
依存関係
このパラメーターを有効にするには、[Frequency pulse shape] を [Spectral Raised Cosine] に設定します。
ガウス パルス整形の帯域幅とシンボル時間の積。正のスカラーとして指定します。[BT product] を使用すると帯域幅は狭くなりますが、符号間干渉が増加します。
依存関係
このパラメーターを有効にするには、[Frequency pulse shape] を [Gaussian] に設定します。
シンボル区間における周波数パルス整形の長さ。正の整数として指定します。周波数パルス長の詳細については、パルス整形のフィルター処理の LT を参照してください。
シミュレーション開始前に使用されるデータ シンボル。範囲 [– (M-ary number – 1), (M-ary number – 1)] の奇数の要素をもつスカラーまたはベクトルとして指定します。[Symbol prehistory] パラメーターは、ブロックの最初の呼び出しより前に、変調器によって使用されるデータ シンボルを新しいものから順番に定義します。
スカラー値は長さ LP – 1 のベクトルに展開されます。LP は、[Pulse length (symbol intervals)] パラメーターで指定されるパルス長を表します。
ベクトルの場合、長さが LP – 1 でなければなりません。
変調波形の初期位相オフセット (ラジアン単位)。スカラーとして指定します。
シンボル サンプル レート。正のスカラーで指定します。このパラメーターは、入力される各整数またはバイナリ ワードごとのサンプル出力の数を表します。パルス整形で定義されているように、すべての非バイナリ スキームに対して、この値は 1 より大きくなければなりません。
詳細については、信号のアップサンプリングとレート変更を参照してください。
ブロック処理レート。以下のいずれかのオプションを指定します。
Enforce single-rate processing— 入力信号と出力信号のサンプル時間は同じです。ブロックは、出力のサイズを入力と比較して変更することによって、レートを変更します。出力幅は、シンボルの数と [Samples per symbol] パラメーター値の積になります。Allow multirate processing— 入力信号と出力信号のサンプル時間は異なります。出力サンプル時間は、シンボル区間を [Samples per symbol] パラメーターの値で割った値となります。
出力のデータ型。double または single を指定します。
ブロックの特性
データ型 |
|
多次元信号 |
|
可変サイズの信号 |
|
詳細
変調器の出力は、変調信号のベースバンド表現です。
ここで、
{αi} はアルファベット ±1、±3、±(M–1) から選択した M-ary データ シンボルのシーケンスです。
M は、ある正の整数 k に対する 2k の形式をとらなければなりません。ここで、M は変調次数であり、シンボル アルファベットのサイズを指定します。
{hi} は変調指数のシーケンスです。hi は、一連の指数 {h0, h1, h2, …,hH-1} を巡回します。H=1 の場合、変調指数は h0 の 1 つのみで、h として表されます。
hi は変調指数を指定します。hi が区間によって異なる場合、ブロックは多重 h で動作します。位相状態の数を有限とするためには、hi は有理数でなければなりません。
CPM 法では、変調された信号の位相遷移を滑らかにするためにパルス整形を使用します。関数 q(t) は、 の関係によって周波数パルス g(t) から得られる位相応答です。
指定された周波数パルス整形は、g(t) のこれらのパルス整形式に対応します。
| パルス整形 | 式 |
|---|---|
| Rectangular | |
| Raised Cosine | |
| Spectral Raised Cosine | |
| Gaussian | |
| Tamed FM (管理された周波数変調) |
Lmain は、シンボル区間におけるメイン ローブ パルス存続時間です。
β はスペクトル レイズド コサインのロールオフ係数です。
Bb は帯域幅とガウス パルスの積です。
パルスの持続時間 LT は、シンボル区間におけるパルス長です。式で定義されているとおり、スペクトル レイズド コサイン、ガウス、および Tamed FM のパルス整形は無限長をもちます。実用性のため、LT は切り捨てられた有限長を指定します。
T はシンボル持続時間です。
Q(t) は相補累積分布関数です。
パルス整形のフィルター処理の詳細については、[1]を参照してください。
バイナリ入力モードでは、ブロック処理は次の手順に従います。
入力ビットを長さ k のビット ワードに分割し、それぞれを範囲 [0, M – 1] の整数 L にマッピングします。ここで、k =
log2(M) と M は、M-ary numberパラメーターで指定された変調次数です。バイナリ ワード マッピング オプションは、Symbol set orderingパラメーターで指定されているとおりに、バイナリ符号の順序またはグレイ符号の順序になります。各整数 L を 2L–(M–1) として符号付き整数にマッピングします。
整数入力モードの場合と同様に、変調処理を進めます。
シングルレート処理モードの場合、入力信号および出力信号における端子のサンプル時間は同じになります。このモードでは、ブロックへの入力は複数のシンボルにできます。ブロックは、入力と比較する際に出力でのサイズ変更を行うことによってレート変更を暗黙的に実装します。
[Input type] を
[Integer]に設定した場合、入力は、入力シンボルの数と一致する長さをもつスカラーまたは列ベクトルとすることができます。[Input type] を
[Bit]に設定した場合、入力幅は、シンボルあたりのビット数の整数倍でなければなりません。
出力幅は NSym × NSPS と等しく、ここで NSym はフレーム内のシンボルの数、NSPS はシンボルあたりのサンプル数です。
マルチレート処理モードでは、入力信号と出力信号の端子サンプル時間は異なっています。このモードでは、ブロックへの入力は 1 つのシンボルでなければなりません。
[Input type] を
[Integer]に設定した場合、入力はスカラーでなければなりません。[Input type] を
[Bit]に設定した場合、入力幅はシンボルあたりのビット数と一致しなければなりません。
出力サンプル時間は TSym / NSPS と等しく、ここで TSym はシンボル周期、NSPS はシンボルあたりのサンプル数です。
参照
[1] Anderson, John B., Tor Aulin, and Carl-Erik Sundberg. Digital Phase Modulation. New York: Plenum Press, 1986.
拡張機能
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)