文档gydF4y2Ba

iqimbalanccompenssator系统对象gydF4y2Ba

补偿I/Q不平衡gydF4y2Ba

描述gydF4y2Ba

的gydF4y2BaIQImbalanceCompensatorgydF4y2Ba系统对象™补偿调制信号的同相分量和正交分量之间的不平衡。gydF4y2Ba

补偿I/Q不平衡:gydF4y2Ba

  1. 定义并设置gydF4y2BaIQImbalanceCompensatorgydF4y2Ba对象。看到gydF4y2Ba建设gydF4y2Ba.gydF4y2Ba

  2. 调用gydF4y2Ba一步gydF4y2Ba的属性来补偿I/Q的不平衡gydF4y2Bacomm.IQImbalanceCompensatorgydF4y2Ba.的行为gydF4y2Ba一步gydF4y2Ba特定于工具箱中的每个对象。gydF4y2Ba

I/Q不平衡补偿器固有的自适应算法与M-PSK、M-QAM和OFDM调制方案兼容,其中gydF4y2BaM > 2gydF4y2Ba.gydF4y2Ba

请注意gydF4y2Ba

补偿器的输出可以缩放和旋转,也就是相对于参考星座乘以一个复数。在实践中,这不是一个问题,因为接收器通过使用信道估计在解调之前纠正了这一点。gydF4y2Ba

请注意gydF4y2Ba

从R2016b开始,而不是使用gydF4y2Ba一步gydF4y2Ba方法来执行由System对象™定义的操作,您可以调用带有参数的对象,就像调用函数一样。例如,gydF4y2BaY = step(obj,x)gydF4y2Ba而且gydF4y2BaY = obj(x)gydF4y2Ba执行等效操作。gydF4y2Ba

建设gydF4y2Ba

H = com . iqimbalanccompenssatorgydF4y2Ba创建一个补偿器系统对象,gydF4y2BaHgydF4y2Ba,它补偿了输入信号的同相分量和正交分量之间的不平衡。gydF4y2Ba

H = com . iqimbalanccompenssator (gydF4y2Ba的名字gydF4y2Ba,gydF4y2Ba价值gydF4y2Ba)gydF4y2Ba创建一个I/Q不平衡补偿器对象,gydF4y2BaHgydF4y2Ba,使用每个指定的属性gydF4y2Ba的名字gydF4y2Ba设置为指定的gydF4y2Ba价值gydF4y2Ba.可以以任意顺序指定附加的名称-值对参数,如(gydF4y2BaName1gydF4y2Ba,gydF4y2BaValue1gydF4y2Ba、……gydF4y2Ba以gydF4y2Ba,gydF4y2Ba家gydF4y2Ba).gydF4y2Ba

属性gydF4y2Ba

CoefficientSourcegydF4y2Ba

补偿系数的来源gydF4y2Ba

指定或gydF4y2Ba从输入信号估计gydF4y2Ba或gydF4y2Ba输入端口gydF4y2Ba.如果gydF4y2BaCoefficientSourcegydF4y2Ba属性设置为gydF4y2Ba从输入信号估计gydF4y2Ba,该补偿器使用自适应算法从输入信号估计补偿器系数。如果gydF4y2BaCoefficientSourcegydF4y2Ba属性设置为gydF4y2Ba输入端口gydF4y2Ba时,禁用所有其他属性,并且必须向gydF4y2Ba一步gydF4y2Ba函数作为输入参数。默认值为gydF4y2Ba从输入信号估计gydF4y2Ba.此属性不可调。gydF4y2Ba

InitialCoefficentgydF4y2Ba

初始系数用于补偿I/Q不平衡gydF4y2Ba

初始系数是一个复标量,可以是单精度或双精度。默认值为gydF4y2Ba0 + 0我gydF4y2Ba.此属性不可调。gydF4y2Ba

StepSizeSourcegydF4y2Ba

用于系数适应的步长来源gydF4y2Ba

指定或gydF4y2Ba财产gydF4y2Ba或gydF4y2Ba输入端口gydF4y2Ba.如果gydF4y2BaStepSizeSourcegydF4y2Ba设置为gydF4y2Ba财产gydF4y2Ba方法指定步长gydF4y2BaStepSizegydF4y2Ba财产。否则,步长将提供给gydF4y2Ba一步gydF4y2Ba函数作为输入参数。默认值为gydF4y2Ba财产gydF4y2Ba.此属性不可调。gydF4y2Ba

StepSizegydF4y2Ba

适应步长gydF4y2Ba

指定算法在估计I/Q不平衡时使用的步长。此属性仅在gydF4y2BaStepSizeSourcegydF4y2Ba设置为gydF4y2Ba财产gydF4y2Ba.默认值为gydF4y2Ba1 e-5gydF4y2Ba.此属性是可调的。gydF4y2Ba

AdaptInputPortgydF4y2Ba

创建输入端口以控制补偿器系数的适应性gydF4y2Ba

当这个逻辑属性是gydF4y2Ba真正的gydF4y2Ba,创建一个输入端口以启用或禁用系数适应。如果gydF4y2BaAdaptInputPortgydF4y2Ba是gydF4y2Ba假gydF4y2Ba,每次输出样本后,系数更新。默认值为gydF4y2Ba假gydF4y2Ba.此属性不可调。gydF4y2Ba

CoefficientOutputPortgydF4y2Ba

创建端口输出补偿系数gydF4y2Ba

当这个逻辑属性是gydF4y2Ba真正的gydF4y2Ba的输出参数使I/Q不平衡补偿器系数可用gydF4y2Ba一步gydF4y2Ba函数。默认值为gydF4y2Ba假gydF4y2Ba.此属性不可调。gydF4y2Ba

方法gydF4y2Ba

重置gydF4y2Ba 的重置状态gydF4y2BaIQImbalanceCompensatorgydF4y2Ba系统对象gydF4y2Ba
一步gydF4y2Ba 补偿I/Q不平衡gydF4y2Ba
通用于所有系统对象gydF4y2Ba
释放gydF4y2Ba

允许系统对象属性值更改gydF4y2Ba

例子gydF4y2Ba

全部展开gydF4y2Ba

通过使用comm.IQImbalanceCompensator System对象™,减轻幅度和相位不平衡对QPSK调制信号的影响。gydF4y2Ba

创建一个星座图对象。指定名称-值对,以确保星座图仅显示最后100个数据符号。gydF4y2Ba

constDiagram = com . constellationdiagram (gydF4y2Ba...gydF4y2Ba“SymbolsToDisplaySource”gydF4y2Ba,gydF4y2Ba“属性”gydF4y2Ba,gydF4y2Ba...gydF4y2Ba“SymbolsToDisplay”gydF4y2Ba, 100);gydF4y2Ba

创建一个I/Q不平衡补偿器。gydF4y2Ba

iqImbComp = com . iqimbalanccompenssator;gydF4y2Ba

生成随机数据符号并应用QPSK调制。gydF4y2Ba

Data = randi([0 3],1e7,1);txSig = pskmod(data,4,pi/4);gydF4y2Ba

将振幅和相位不平衡应用于传输信号。gydF4y2Ba

ampImb = 5;gydF4y2Ba% dBgydF4y2BaphImb = 15;gydF4y2Ba%度gydF4y2BagainI = 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;gydF4y2Ba

绘制接收信号的星座图。观察到接收到的信号经历了振幅和相位的偏移。gydF4y2Ba

constDiagram (rxSig)gydF4y2Ba

应用I/Q补偿算法,查看星座。补偿信号星座与参考星座基本对齐。gydF4y2Ba

compSig = iqImbComp(rxSig);constDiagram (compSig)gydF4y2Ba

补偿8-PSK信号上的幅值和相位不平衡gydF4y2Bacomm.IQImbalanceCompensatorgydF4y2Ba带有外部系数的系统对象™。gydF4y2Ba

创建8-PSK调制器和星座图系统对象。使用名称-值对确保星座图只显示最后100个数据符号,并提供参考星座。gydF4y2Ba

hMod = com . pskmodulator (8);refC =星座(hMod);hScope = com . constellation diagram (gydF4y2Ba...gydF4y2Ba“SymbolsToDisplaySource”gydF4y2Ba,gydF4y2Ba“属性”gydF4y2Ba,gydF4y2Ba...gydF4y2Ba“SymbolsToDisplay”gydF4y2Ba, 100,gydF4y2Ba...gydF4y2Ba“ReferenceConstellation”gydF4y2Ba, refC);gydF4y2Ba

创建一个I/Q不平衡补偿器对象,该对象具有算法系数的输入端口。gydF4y2Ba

hIQComp = com . iqimbalanccompenssator (gydF4y2Ba“CoefficientSource”gydF4y2Ba,gydF4y2Ba输入端口的gydF4y2Ba);gydF4y2Ba

生成随机数据符号并应用8-PSK调制。gydF4y2Ba

Data = randi([0 7],1000,1);txSig = step(hMod,data);gydF4y2Ba

将振幅和相位不平衡应用于传输信号。gydF4y2Ba

ampImb = 5;gydF4y2Ba% dBgydF4y2BaphImb = 15;gydF4y2Ba%度gydF4y2BagainI = 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;gydF4y2Ba

绘制接收信号的星座图。观察到接收到的信号经历了振幅和相位的偏移。gydF4y2Ba

步骤(hScope rxSig);gydF4y2Ba

使用gydF4y2Baiqimbal2coefgydF4y2Ba函数确定补偿系数给定的振幅和相位不平衡。gydF4y2Ba

compCoef = iqimbal2coef(ampImb,phImb);gydF4y2Ba

对接收信号应用补偿系数gydF4y2Ba一步gydF4y2Ba的功能gydF4y2Bacomm.IQImbalanceCompensatorgydF4y2Ba对象并查看生成的星座。你可以看到,补偿信号星座现在几乎与参考星座对齐。gydF4y2Ba

compSig = step(hIQComp,rxSig,compCoef);步骤(hScope compSig)gydF4y2Ba

在从输入端口设置算法步长时,从64-QAM信号中消除I/Q不平衡,并使估计的系数对外可用。gydF4y2Ba

创建一个星座图对象。使用名称-值对确保星座图只显示最后256个数据符号,设置轴限制,并指定参考星座。gydF4y2Ba

M = 64;refC = qammod(0:M-1,M);constDiagram = com . constellationdiagram (gydF4y2Ba...gydF4y2Ba“SymbolsToDisplaySource”gydF4y2Ba,gydF4y2Ba“属性”gydF4y2Ba,gydF4y2Ba...gydF4y2Ba“SymbolsToDisplay”gydF4y2Ba, 256,gydF4y2Ba...gydF4y2Ba“XLimits”gydF4y2Ba-10年[10],gydF4y2Ba“YLimits”gydF4y2Ba-10年[10],gydF4y2Ba...gydF4y2Ba“ReferenceConstellation”gydF4y2Ba, refC);gydF4y2Ba

创建一个I/Q不平衡补偿器系统对象,其中步长指定为输入参数,估计的系数通过输出端口提供。gydF4y2Ba

iqimbcompp = com . iqimbalanccompenssator (gydF4y2Ba“StepSizeSource”gydF4y2Ba,gydF4y2Ba输入端口的gydF4y2Ba,gydF4y2Ba...gydF4y2Ba“CoefficientOutputPort”gydF4y2Ba,真正的);gydF4y2Ba

生成随机数据符号并应用64-QAM调制。gydF4y2Ba

nSym = 25000;data = randi([0 M-1],nSym,1);txSig = qammod(data,M);gydF4y2Ba

将振幅和相位不平衡应用于传输信号。gydF4y2Ba

ampImb = 2;gydF4y2Ba% dBgydF4y2BaphImb = 10;gydF4y2Ba%度gydF4y2BagainI = 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;gydF4y2Ba

绘制接收信号的星座图。gydF4y2Ba

constDiagram (rxSig);gydF4y2Ba

指定I/Q不平衡补偿器的步长参数。gydF4y2Ba

stepSize = 1e-5;gydF4y2Ba

在通过输入参数设置步长时补偿I/Q不平衡。你可以看到,补偿信号星座现在几乎与参考星座对齐。gydF4y2Ba

[compSig,estCoef] = iqImbComp(rxSig,stepSize);constDiagram (compSig)gydF4y2Ba

画出估计系数的实值和虚值。你可以看到它们达到了一个稳态解。gydF4y2Ba

plot((1:nSym)'/1000,[real(estCoef),imag(estCoef)])gydF4y2Ba“符号(千)”gydF4y2Ba) ylabel (gydF4y2Ba的系数值gydF4y2Ba)传说(gydF4y2Ba“真实”的gydF4y2Ba,gydF4y2Ba图像放大的gydF4y2Ba,gydF4y2Ba“位置”gydF4y2Ba,gydF4y2Ba“最佳”gydF4y2Ba)gydF4y2Ba

使用外部参数控制I/Q不平衡补偿器的自适应算法。gydF4y2Ba

对随机数据符号进行QPSK调制。gydF4y2Ba

Data = randi([0 3],600,1);txSig = pskmod(data,4,pi/4,gydF4y2Ba“灰色”gydF4y2Ba);gydF4y2Ba

创建一个I/Q不平衡补偿器,其中自适应算法通过输入端口控制,步长通过gydF4y2BaStepSizegydF4y2Ba属性,并通过输出端口提供估计的系数。gydF4y2Ba

iqimbcompp = com . iqimbalanccompenssator (gydF4y2Ba“AdaptInputPort”gydF4y2Ba,真的,gydF4y2Ba...gydF4y2Ba“StepSize”gydF4y2Ba, 0.001,gydF4y2Ba“CoefficientOutputPort”gydF4y2Ba,真正的);gydF4y2Ba

将振幅和相位不平衡应用于传输信号。gydF4y2Ba

ampImb = 5;gydF4y2Ba% dBgydF4y2BaphImb = 15;gydF4y2Ba%度gydF4y2BagainI = 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;gydF4y2Ba

将补偿操作分为三个部分,其中补偿器对前200个符号启用,对后200个符号禁用,对后200个符号启用。将系数数据保存为三个向量。gydF4y2Ba

[~,estCoef1] = iqImbComp(rxSig(1:200),true);[~,estCoef2] = iqImbComp(rxSig(201:400),false);[~,estCoef3] = iqImbComp(rxSig(401:600),true);gydF4y2Ba

将复杂的算法系数连接起来,并绘制出它们的实部和虚部。gydF4y2Ba

estCoef = [estCoef1;]estCoef2;estCoef3];plot((1:60)',[real(estCoef) imag(estCoef)])gydF4y2Ba“符号”gydF4y2Ba) ylabel (gydF4y2Ba的系数值gydF4y2Ba)传说(gydF4y2Ba“真实”的gydF4y2Ba,gydF4y2Ba“虚”gydF4y2Ba,gydF4y2Ba“位置”gydF4y2Ba,gydF4y2Ba“最佳”gydF4y2Ba)gydF4y2Ba

观察到,在补偿器被禁用的时间内,系数不适应。gydF4y2Ba

算法gydF4y2Ba

影响直接转换接收器的主要缺陷之一是接收信号的同相分量和正交分量之间的不平衡。与其改进前端模拟硬件,不如容忍一定程度的I/Q不平衡,然后再实施补偿方法,这样更划算。采用基于圆的盲补偿算法作为I/Q不平衡补偿器的基础。gydF4y2Ba

给出了一个广义I/Q不平衡模型,其中gydF4y2BaggydF4y2Ba振幅不平衡和gydF4y2BaϕgydF4y2Ba是相位不平衡(理想情况下,gydF4y2BaggydF4y2Ba= 1gydF4y2Ba而且gydF4y2BaϕgydF4y2Ba= 0gydF4y2Ba).在图中,gydF4y2BaH (f)gydF4y2Ba是分支的标称频率响应,由于,例如,低通滤波器。gydF4y2BaHgydF4y2Ba我gydF4y2Ba(f)gydF4y2Ba而且gydF4y2BaHgydF4y2Ba问gydF4y2Ba(f)gydF4y2Ba表示与标称响应不同的同相位和正交振幅和相位响应的部分。完美匹配,gydF4y2BaHgydF4y2Ba我gydF4y2Ba(f)gydF4y2Ba=gydF4y2BaHgydF4y2Ba问gydF4y2Ba(f)gydF4y2Ba= 1gydF4y2Ba.gydF4y2Ba

让gydF4y2Baz (t)gydF4y2Ba为接收信号的理想基带等效信号,gydF4y2Bar (t)gydF4y2Ba,其中其傅里叶变换表示为gydF4y2BaZ (f)gydF4y2Ba.对于广义I/Q不平衡模型,不平衡信号的傅里叶变换,gydF4y2Bax (t)gydF4y2Ba=gydF4y2BaxgydF4y2Ba我gydF4y2Ba(t)gydF4y2Ba+gydF4y2BaxgydF4y2Ba问gydF4y2Ba(t)gydF4y2Ba,是gydF4y2Ba

XgydF4y2Ba (gydF4y2Ba fgydF4y2Ba )gydF4y2Ba =gydF4y2Ba GgydF4y2Ba 1gydF4y2Ba (gydF4y2Ba fgydF4y2Ba )gydF4y2Ba ZgydF4y2Ba (gydF4y2Ba fgydF4y2Ba )gydF4y2Ba +gydF4y2Ba GgydF4y2Ba 2gydF4y2Ba (gydF4y2Ba fgydF4y2Ba )gydF4y2Ba ZgydF4y2Ba *gydF4y2Ba (gydF4y2Ba −gydF4y2Ba fgydF4y2Ba )gydF4y2Ba

在哪里gydF4y2BaGgydF4y2Ba1gydF4y2Ba(f)gydF4y2Ba而且gydF4y2BaGgydF4y2Ba2gydF4y2Ba(f)gydF4y2Ba是I/Q不平衡的直接和共轭分量。这些组件定义为gydF4y2Ba

GgydF4y2Ba 1gydF4y2Ba (gydF4y2Ba fgydF4y2Ba )gydF4y2Ba =gydF4y2Ba [gydF4y2Ba HgydF4y2Ba 我gydF4y2Ba (gydF4y2Ba fgydF4y2Ba )gydF4y2Ba +gydF4y2Ba HgydF4y2Ba 问gydF4y2Ba (gydF4y2Ba fgydF4y2Ba )gydF4y2Ba ggydF4y2Ba 经验值gydF4y2Ba (gydF4y2Ba −gydF4y2Ba jgydF4y2Ba ϕgydF4y2Ba )gydF4y2Ba ]gydF4y2Ba /gydF4y2Ba 2gydF4y2Ba GgydF4y2Ba 2gydF4y2Ba (gydF4y2Ba fgydF4y2Ba )gydF4y2Ba =gydF4y2Ba [gydF4y2Ba HgydF4y2Ba 我gydF4y2Ba (gydF4y2Ba fgydF4y2Ba )gydF4y2Ba +gydF4y2Ba HgydF4y2Ba 问gydF4y2Ba (gydF4y2Ba fgydF4y2Ba )gydF4y2Ba ggydF4y2Ba 经验值gydF4y2Ba (gydF4y2Ba jgydF4y2Ba ϕgydF4y2Ba )gydF4y2Ba ]gydF4y2Ba /gydF4y2Ba 2gydF4y2Ba

应用傅里叶反变换gydF4y2BaX (f)gydF4y2Ba,信号模型为gydF4y2Bax (t)gydF4y2Ba=gydF4y2BaggydF4y2Ba1gydF4y2Ba(t)gydF4y2Ba*gydF4y2Baz (t)gydF4y2Ba+gydF4y2BaggydF4y2Ba2gydF4y2Ba(t)gydF4y2Ba*gydF4y2BazgydF4y2Ba*gydF4y2Ba(t)gydF4y2Ba.gydF4y2Ba

这就提出了补偿器结构,如图所示,其中离散时间符号被用来表示变量。补偿信号表示为gydF4y2Bay (n) =gydF4y2Bax (n)gydF4y2Ba+gydF4y2Ba的天气gydF4y2Ba*gydF4y2Ba(n)gydF4y2Ba.gydF4y2Ba

一个简单的算法形式gydF4y2Ba

{gydF4y2Ba ygydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba =gydF4y2Ba xgydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba +gydF4y2Ba wgydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba xgydF4y2Ba *gydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba wgydF4y2Ba (gydF4y2Ba ngydF4y2Ba +gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba =gydF4y2Ba wgydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba −gydF4y2Ba 米gydF4y2Ba ygydF4y2Ba 2gydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba

用来确定权重,因为它保证了输出是“适当的”,即,gydF4y2Ba EgydF4y2Ba [gydF4y2Ba ygydF4y2Ba 2gydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba ]gydF4y2Ba =gydF4y2Ba 0gydF4y2Ba [1]gydF4y2Ba.的初值gydF4y2BawgydF4y2Ba是由gydF4y2BaInitialCoefficientgydF4y2Ba属性,其默认值为gydF4y2Ba0 + 0igydF4y2Ba.gydF4y2Ba米gydF4y2Ba步长是否如gydF4y2BaStepSizegydF4y2Ba财产。gydF4y2Ba

选定的参考书目gydF4y2Ba

[1]安提拉、瓦尔卡马先生和伦福斯先生。“正交无线电接收机中频率选择性I/Q不平衡的盲补偿:基于圆的方法”,电子学报,pp.III-245-248, 2007。gydF4y2Ba

[2] Kiayani, L. Anttila, Y. Zou和M. Valkama,“OFDM系统中缓解多重射频损伤的先进接收机设计:算法和射频测量”,电子与计算机工程学报,2012卷。gydF4y2Ba

扩展功能gydF4y2Ba

在R2014b中引入gydF4y2Ba

这个话题有帮助吗?gydF4y2Ba