AGC
一定の信号レベルの出力を得るために適応的にゲインを調整する
ライブラリ:
Communications Toolbox /
RF Impairments Correction
説明
自動ゲイン コントローラー (AGC) ブロックは、出力時に一定の信号レベルを得るために適応的にゲインを調整します。
このアイコンは、オプションの Px 端子をもつ AGC ブロックを示しています。
例
端子
入力
In — 入力信号
列ベクトル
入力信号。列ベクトルで指定します。
データ型: single
| double
| int
| uint
複素数のサポート: あり
出力
y — 出力信号
NS 要素の列ベクトル
出力信号。NS 要素の列ベクトルとして返されます。NS は、入力信号の長さです。出力信号のデータ型は、入力信号のデータ型と同じです。
Px — パワー レベル推定
NS 要素の列ベクトル
パワー レベル推定。NS 要素の列ベクトルとして返されます。NS は、入力信号の長さです。powerlevel
はエネルギー検出器出力として使用できます。
依存関係
この端子を有効にするには、[Enable output of estimated input power] パラメーターを選択します。
パラメーター
Step size — ゲイン更新のステップ サイズ
0.01
| 正のスカラー
ゲイン更新のステップ サイズ。正のスカラーとして指定します。ステップ サイズを増やすことで、AGC は入力信号レベルの変化により迅速に応答するようになりますが、定常状態で動作している間は出力信号レベルの変動が大きくなります。詳細については、AGC のパフォーマンス基準を参照してください。
Desired output power (W) — ターゲットとする出力強度レベル
1
| 正のスカラー
ターゲットとする出力強度レベル。正のスカラーとして指定します。強度レベルは 1 オームを基準としてワット単位で測定されます。
Averaging length — 平均化ウィンドウの長さ
100
| 正の整数
平均化ウィンドウの長さ (サンプル単位)。正の整数として指定します。定常状態で動作している AGC の出力信号の分散、およびそのような AGC の実行速度に対し、平均化の長さがどのように影響を与えるかの詳細については、ヒントを参照してください。
Maximum power gain (dB) — 最大電力ゲイン
60
(既定値) | 正のスカラー
デシベル単位の最大電力ゲイン。正のスカラーとして指定します。小さい入力信号の強度が急激に増大した場合、大きなゲイン調整によりクリッピングが発生する可能性があります。大きなゲイン調整を回避するにはこのプロパティを使用し、AGC が入力信号に適用するゲインを制限します。例については、Compare AGC Performance for Different Maximum Gainsを参照してください。
Enable output of estimated input power — 推定入力強度を出力するオプション
off (既定値) | on
このチェック ボックスをオンにすると、入力信号強度の推定値を返す出力端子 Px
が提供されます。
シミュレーション実行方法 — 実行するシミュレーションのタイプ
インタープリター型実行
(既定値) | コード生成
実行するシミュレーションのタイプ。[インタープリター型実行]
または [コード生成]
として指定します。
インタープリター型実行
— MATLAB® インタープリターを使用してモデルをシミュレートします。このオプションを使用すると、必要な起動時間が短縮されますが、以降のシミュレーションの速度は[コード生成]
オプションを使用した場合よりも遅くなります。このモードで、ブロックのソース コードをデバッグできます。コード生成
— 生成された C コードを使用してモデルをシミュレートします。シミュレーションの初回実行時、Simulink® は対象ブロックの C コードを生成します。このモデルは、モデルが変更されない限り以降のシミュレーションで C コードを再利用します。このオプションを使用すると、シミュレーションの起動時間は長くなりますが、以降のシミュレーションの速度は[インタープリター型実行]
オプションを使用した場合よりも速くなります。
詳細については、シミュレーション モード (Simulink)を参照してください。
ブロックの特性
データ型 |
|
多次元信号 |
|
可変サイズの信号 |
|
詳細
対数ループ AGC
AGC 実装は対数フィードバック ループを使用します。この対数ループ AGC アルゴリズムの図に示されているように、出力信号は入力信号とループ ゲインの指数の積になります。誤差信号は、基準レベルと、検出器出力の対数とループ ゲインの指数の積との差です。ステップ サイズで乗算した後で、AGC は誤差信号を積分器に渡します。
対数ループ AGC は、振幅変調などのさまざまな信号タイプに対して十分なパフォーマンスを発揮します。AGC 検出器は入力信号に適用され、収束時間が向上しますが、検出器入力時の信号強度の変動が大きくなります。浮動小数点システムでは検出器入力時の信号の変動を大きくすることができます。
数学的には、アルゴリズムは次のように要約されます。
ここで、
x は入力信号です。
y は出力信号です。
g はループ ゲインです。
D(•) は検出器関数です。
z は検出器出力です。
A は基準値です。
e は誤り信号です。
K はステップ サイズです。
AGC 検出器
AGC 検出器の出力 z は、次で求められる二乗検波器を計算します。
ここで N は更新周期です。二乗検波器は、入力信号 y の二乗に比例する出力を生成します。
AGC のパフォーマンス基準
ステップ サイズを増やすとアタック時間と減衰時間は短くなりますが、ゲイン ポンピングも増加します。
アタック時間 — AGC が入力振幅の増加への応答に要する時間の長さ
減衰時間 — AGC が入力振幅の低下への応答に要する時間の長さ
ゲイン ポンピング — 定常状態で動作しているときのゲイン値の変動
ヒント
このブロックはストリーミング アプリケーション用に設計されています。
信号振幅がフレーム内で変化しない場合は、サンプルのフレームに必要な平均ゲインを計算して理想的な AGC をシミュレーションできます。次に、ゲインをフレーム内の各サンプルに適用します。
高次 QAM 信号で AGC を使用する場合、定常状態で動作するときのゲイン値の変動を抑えることが必要となる場合があります。定常状態で動作中に AGC の出力におけるコンスタレーション ダイアグラムを検査します。平均化の長さを増やして頻繁なゲインの調整を避けることができます。平均化の長さを増やすと実行速度は低下します。
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2013a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)