iqimbal2coef
I/Q 不均衡の補償器係数への変換
説明
例
I/Q 不均衡の補正のための係数の生成
iqimbal2coef
を使用して、I/Q 不均衡補償器 System object™ の係数を生成します。補償器は生成された係数を使用して I/Q 不均衡を補正します。
レイズド コサイン送信フィルター System object を作成します。
txRCosFilt = comm.RaisedCosineTransmitFilter;
ランダム 64 値シンボルを変調してフィルター処理します。
M= 64; data = randi([0 M-1],100000,1); dataMod = qammod(data,M); txSig = txRCosFilt(dataMod);
振幅と位相の不均衡を指定します。
ampImb = 2; % dB phImb = 15; % degrees
指定された I/Q 不均衡を適用します。
gainI = 10.^(0.5*ampImb/20); gainQ = 10.^(-0.5*ampImb/20); imbI = real(txSig)*gainI*exp(-0.5i*phImb*pi/180); imbQ = imag(txSig)*gainQ*exp(1i*(pi/2 + 0.5*phImb*pi/180)); rxSig = imbI + imbQ;
受信信号の強度を正規化します。
rxSig = rxSig/std(rxSig);
comm.IQImbalanceCompensator
オブジェクトを作成して適用することにより、I/Q 不均衡を除去します。複素数係数を出力引数として使用できるように、補償器を設定します。
iqComp = comm.IQImbalanceCompensator('CoefficientOutputPort',true);
[compSig,coef] = iqComp(rxSig);
最終的な補償器係数を、関数 iqimbal2coef
によって生成された係数と比較します。よく一致していることがわかります。
idealcoef = iqimbal2coef(ampImb,phImb); [coef(end); idealcoef]
ans = 2×1 complex
-0.1137 + 0.1296i
-0.1126 + 0.1334i
入力引数
A
— 振幅の不均衡
実数値のスカラーまたはベクトル
振幅の不均衡 (dB)。実数値の行または列ベクトルとして指定します。
例: 3
例: [0; 5]
データ型: double
P
— 位相の不均衡
実数値のスカラーまたはベクトル
位相の不均衡 (度)。実数値の行または列ベクトルとして指定します。
例: 10
例: [15; 45]
データ型: double
詳細
I/Q 不均衡の補正
関数 iqimbal2coef
は comm.IQImbalanceCompensator
System object™ のサポート関数です。
S と X を、それぞれ理想の信号と I/Q 不均衡の信号の I 成分および Q 成分を表す 2 行 1 列のベクトルとして定義します。
ここで、K は値が振幅の不均衡 A および位相の不均衡 P によって決定する 2 行 2 列の行列です。A は dB で表され、 P は度で表されます。
不均衡は次のように表すことができます。
このとき、K は次の形になります。
ベクトル Y は、I/Q 不均衡補償器出力として定義されます。
補償器が I/Q 不均衡を完全に除去するためには、R は K の逆行列でなければなりません。すなわち、
複素表記を使用すると、ベクトル Y は次のように書き直せます。
ここで、
関数の出力は w2/w1 です。元の信号を正確に取得するために、補償器の出力は複素数 w1 によってスケーリングおよび回転される必要があります。
メモ
iqimbal2coef
の出力の信頼性が低い場合があります。
位相の不均衡が ±90° の場合、同相成分および直交成分はともに線形です。したがって、I/Q 不均衡は補正できません。
振幅の不均衡が 0 dB で位相の不均衡が 180° の場合、w1 = 0 かつ w2 = 1i であるため、補償器は y = 1i*conj(x) の形をとります。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2014b で導入
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)