AGC
一定の信号レベルの出力を得るために適応的にゲインを調整する
ライブラリ:
Communications Toolbox /
RF Impairments Correction
説明
自動ゲイン コントローラー (AGC) ブロックは、出力時に一定の信号レベルを得るために適応的にゲインを調整します。
このアイコンは、オプションの Px 端子をもつ AGC ブロックを示しています。![]()
例
doc_agc_received_signal_amplitude モデルは、AGCブロックを使用して、受信信号電力を約 1 ワットに調整します。
コンスタレーション ダイアグラムには、AGC ブロックによって信号レベルが調整される前と調整された後の信号が表示されます。ランダムな整数値のシンボルが QPSK 変調された後、Gain ブロックを使用して信号レベルが縮小されます。AGC ブロックは信号を調整して、1 W の目的の電力レベルを達成します。コンスタレーション ダイアグラムには、AGC ブロックへの信号入力と AGC ブロックからの信号出力が表示されます。

モデルを実行し、コンスタレーション ダイアグラムを表示して、AGC ブロックによって実行された信号レベルの調整を示します。

このモデルは、異なるステップ サイズが設定されたAGCブロックを使用して受信信号電力を調整します。
ステップ サイズが AGC のパフォーマンスに及ぼす影響を時間スコープにプロットします。ランダムな整数値のシンボルが QPSK 変調された後、Gain ブロックを使用して信号レベルが縮小されます。3 つの信号ブランチを時間スコープに流し込み、AGC なしの場合、ステップ サイズが 0.0001 に設定された AGC を使用する場合、およびステップ サイズが 0.001 に設定された AGC を使用する場合について、受信信号の振幅をプロットします。

モデルを実行し、時間スコープを表示して、AGC ブロックによって実行された信号レベルの調整を示します。

このモデルは、異なる最大ゲインが設定されたAGCブロックを使用して受信信号電力を調整します。
最大ゲインが AGC のパフォーマンスに及ぼす影響を時間スコープにプロットします。最大ゲイン設定は、AGC が目標出力電力に到達する能力に影響します。ランダムな整数値のシンボルが QPSK 変調された後、Gain ブロックを使用して信号レベルが縮小されます。3 つの信号ブランチを時間スコープに流し込み、AGC なしの場合、最大ゲインが 30 dB に設定された AGC を使用する場合、および最大ゲインが 24 dB に設定された AGC を使用する場合について、受信信号の振幅をプロットします。

モデルを実行し、時間スコープを表示して、AGC ブロックによって実行された信号レベルの調整を示します。

端子
入力
入力信号。列ベクトルで指定します。この端子はブロック マスクで名前なしになります。
データ型: single | double | int | uint
複素数のサポート: あり
出力
出力信号。NS 要素の列ベクトルとして返されます。NS は、入力信号の長さです。出力信号のデータ型は、入力信号のデータ型と同じです。
パワー レベル推定。NS 要素の列ベクトルとして返されます。NS は、入力信号の長さです。powerlevel はエネルギー検出器出力として使用できます。
依存関係
この端子を有効にするには、[推定入力パワーの出力を有効にする] パラメーターを選択します。
パラメーター
ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。
ゲイン更新のステップ サイズ。正のスカラーとして指定します。ステップ サイズを増やすことで、AGC は入力信号レベルの変化により迅速に応答するようになりますが、定常状態で動作している間は出力信号レベルの変動が大きくなります。詳細については、AGC のパフォーマンス基準を参照してください。
ターゲットとする出力パワー レベル。正のスカラーとして指定します。強度レベルは 1 オームを基準としてワット単位で測定されます。
平均化ウィンドウの長さ (サンプル単位)。正の整数として指定します。定常状態で動作している AGC の出力信号の分散、およびそのような AGC の実行速度に対し、平均化の長さがどのように影響を与えるかの詳細については、ヒントを参照してください。
dB 単位の最大電力ゲイン。正のスカラーとして指定します。小さい入力信号の強度が急激に増大した場合、大きなゲイン調整によりクリッピングが発生する可能性があります。大きなゲイン調整を回避するにはこのプロパティを使用し、AGC が入力信号に適用するゲインを制限します。例については、異なる最大ゲインでの AGC パフォーマンスの比較を参照してください。
このチェック ボックスをオンにすると、入力信号強度の推定値を返す出力端子 Px が提供されます。
実行するシミュレーションのタイプ。[インタープリター型実行] または [コード生成] として指定します。
インタープリター型実行— MATLAB® インタープリターを使用してモデルをシミュレートします。このオプションを使用すると、必要な起動時間が短縮されますが、以降のシミュレーションの速度は[コード生成]オプションを使用した場合よりも遅くなります。このモードで、ブロックのソース コードをデバッグできます。コード生成— 生成された C コードを使用してモデルをシミュレートします。シミュレーションの初回実行時、Simulink は対象ブロックの C コードを生成します。このモデルは、モデルが変更されない限り以降のシミュレーションで C コードを再利用します。このオプションを使用すると、シミュレーションの起動時間は長くなりますが、以降のシミュレーションの速度は[インタープリター型実行]オプションを使用した場合よりも速くなります。
詳細については、インタープリター型実行とコード生成 (Simulink)を参照してください。
ブロックの特性
データ型 |
|
多次元信号 |
|
可変サイズの信号 |
|
詳細
AGC 実装は対数フィードバック ループを使用します。この対数ループ AGC アルゴリズムの図に示されているように、出力信号は入力信号とループ ゲインの指数の積になります。誤差信号は、基準レベルと、検出器出力の対数とループ ゲインの指数の積との差です。ステップ サイズで乗算した後で、AGC は誤差信号を積分器に渡します。

対数ループ AGC は、振幅変調などのさまざまな信号タイプに対して十分なパフォーマンスを発揮します。AGC 検出器は入力信号に適用され、収束時間が向上しますが、検出器入力時の信号強度の変動が大きくなります。浮動小数点システムでは検出器入力時の信号の変動を大きくすることができます。
数学的には、アルゴリズムは次のように要約されます。
ここで、
x は入力信号です。
y は出力信号です。
g はループ ゲインです。
Detector(•) は検出器関数です。
z は検出器出力です。
A は基準値です。
err は誤り信号です。
K はステップ サイズです。
AGC 検出器の出力 z は、次で求められる二乗検波器を計算します。
ここで、N は更新周期です。二乗検波器は、入力信号 y の二乗に比例する出力を生成します。
ステップ サイズを増やすとアタック時間と減衰時間は短くなりますが、ゲイン ポンピングも増加します。
アタック時間 — AGC が入力振幅の増加への応答に要する時間の長さ
減衰時間 — AGC が入力振幅の低下への応答に要する時間の長さ
ゲイン ポンピング — 定常状態で動作しているときのゲイン値の変動
ヒント
このブロックはストリーミング アプリケーション用に設計されています。
信号振幅がフレーム内で変化しない場合は、サンプルのフレームに必要な平均ゲインを計算して理想的な AGC をシミュレーションできます。次に、ゲインをフレーム内の各サンプルに適用します。
高次 QAM 信号で AGC を使用する場合、定常状態で動作するときのゲイン値の変動を抑えることが必要となる場合があります。定常状態で動作中に AGC の出力におけるコンスタレーション ダイアグラムを検査します。平均化の長さを増やして頻繁なゲインの調整を避けることができます。平均化の長さを増やすと実行速度は低下します。
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2013a で導入
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)