Main Content

SSB AM Modulator Passband

側波帯振幅変調を使った変調

ライブラリ

Modulation の Analog Passband Modulation

  • SSB AM Modulator Passband block

説明

SSB AM Modulator Passband ブロックは、ヒルベルト変換フィルターのある側波帯振幅変調を使用して変調します。出力は変調された信号のパスバンド表現です。入力信号と出力信号は両方とも実数のスカラー信号です。

SSB AM Modulator Passband は、下側波帯信号または上側波帯信号のいずれかを送信しますが、両方は送信しません。転送するのがどの側波帯なのかを制御するために、[Sideband to modulate] パラメーターを使用します。

入力が時間 t の関数の u(t) の場合、出力は次のとおりです。

u(t)cos(fct+θ)u^(t)sin(fct+θ)

ここで、

  • fc[Carrier frequency] パラメーターです。

  • θ は、[Initial phase] パラメーターです。

  • û(t) は、入力 u(t) のヒルベルト変換です。

  • マイナス記号は上側波帯を、プラス記号は下側波帯を示しています。

ヒルベルト変換フィルター

このブロックは、DSP System Toolbox™ Transforms ブロック ライブラリの Analytic Signal ブロックを使用します。

Analytic Signal ブロックは、実数 N 行 N 列の入力である u の各チャネルに対応する複素数解析信号を計算します。

y=u+jΗ{u}

ここで、j=1Η{} はヒルベルト変換を示します。各チャネルにおける出力の実数部はそのチャネルの実数入力の複製であり、虚数部は入力のヒルベルト変換です。周波数領域において解析信号は元の信号の正の周波数成分を維持し、負の周波数はゼロに設定され、DC 成分は 2 倍になります。

ブロックは、フィルター次数パラメーター n で指定された次数の等リップル FIR フィルターを使用するヒルベルト変換を計算します。線形位相フィルターは、Remez 交換アルゴリズムを使用して設計され、入力サンプルに n/2 の遅延を課しています。

最良の結果を得るために、入力信号のサンプル レートの 10% よりも大きいと予想される搬送波周波数を使用します。これはフィルターによるヒルベルト変換の実装によるものです。

次の例では、10Hz 入力信号を 8000 サンプル/秒でサンプリングします。次に、次数が 100 のヒルベルト変換フィルターを指定します。fvtool によって返されるヒルベルト変換フィルターの応答を下に示します。

フィルターの振幅応答の帯域幅に注意してください。入力信号のサンプル時間 (この例では 8000 サンプル/秒) の 10% よりも大きな (ただし 90% は超えない) 搬送波周波数または同等に 400Hz よりも大きな搬送波周波数を選択することで、ヒルベルト変換フィルターがフィルターの振幅応答の平坦な部分で動作する (青で示す部分) ことと、変調された信号が希望の振幅および形式になることを確実にします。

通常、適切な [Carrier frequency] 値は入力信号の最高周波数よりもはるかに高くなります。ナイキスト サンプリング理論により、モデルのサンプル時間の逆数 (モデルの信号源によって定義) は、[Carrier frequency] パラメーターの 2 倍を超えなければなりません。

このブロックは、double 型の実数入力でのみ機能します。このブロックは、Triggered Subsystem 内では機能しません。

パラメーター

Carrier frequency (Hz)

搬送波の周波数です。

Initial phase (rad)

変調された信号の位相オフセット θ

Sideband to modulate

このパラメーターは、上側波帯または下側波帯を送信するかどうかを指定します。

Hilbert Transform filter order

ヒルベルト変換を計算するために使用する FIR フィルターの長さ。

ペア ブロック

SSB AM Demodulator Passband

参考文献

[1] Peebles, Peyton Z, Jr. Communication System Principles. Reading, Mass.: Addison-Wesley, 1976.

拡張機能

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

バージョン履歴

R2006a より前に導入