恒模算法和梯度运算

信息处理 最小二乘 自适应算法 盲反卷积
2022-02-08 13:47:13

CMA

CMA 是一种盲信道均衡算法,详细信息如上所示。我面临 3 个困难,希望得到帮助

Q1:是否H和酒吧结束yk¯代表转置符号?

Q2:计算梯度时,ΔJ(w)=2E(|yk|21).Δ(wHxkxkHw), 梯度如何Δ(wHxkxkHw)变成xkxkHw? 有公式吗?

Q3:方程式:最终方程式由下式给出wk+1=wkμxk(|yk|21)ykT(T = 转置)。在进行最陡上升时,我们通常会朝梯度的相反方向迈出一步。因此,根据最小均方给出的逻辑,负值应该变为正值。

我正在查看此处给出的 Matlab 实现http://www.mathworks.com/matlabcentral/fileexchange/39482-blind-channel-equalization/content/lms.m 第 109 行 - 113 行中给出的方程是不同的从理论上的那些(摘录上面)。实现中的方程式是:

for i=1:K
   e(i)=abs(c'*X(:,i))^2-R2;                  % initial error
   c=c-mu*2*e(i)*X(:,i)*X(:,i)'*c;     % update equalizer co-efficients
   c(EqD)=1;
end 

什么是正确的?有人可以显示正确的版本吗?

1个回答

如评论中所述,符号H表示矩阵或向量的共轭转置,这意味着向量/矩阵是转置的,并且它的所有元素都是共轭的。酒吧结束yk表示复共轭(注意yk是标量,而不是向量或矩阵)。

在计算复杂变量的梯度以最大化或最小化函数时,有一个技巧,在这个答案中有更详细的解释。您基本上对共轭变量求导,并将非共轭变量视为常数。所以在计算表达式的梯度时wHxxHw,你正式采用导数 wrtwH, 关于xxHw作为常数,产生给定的结果。

至于你的第三个问题,你应该意识到你真正想要做什么。您希望最小化误差函数,因此您不想使用最速上升算法,而是使用最速下降算法,沿梯度方向移动。

而Matlab代码实际上确实实现了你所说的方程(用变量替换模数R2,它等于1在你的方程式中)。只需使用错误ek=|yk|21和表达式yk=w(k)Hxk在你的更新方程中,你会看到它。