基本信息
源码名称:极化参数和DOA的联合估计
源码大小:0.03M
文件格式:.zip
开发语言:MATLAB
更新时间:2021-12-30
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍
极化参数和DOA的联合估计

  J = [[-Rh, Te, -Rh(:,Mmid)];[zeros(Mu,1);w;0]'];%雅各比矩阵
        gamma=[Te*h;w'*h];
        v = [es;h;sigma2];
        C1 = blkdiag(W,diag(zeros(K 2,1)));%返回分块对角矩阵
        Cr = real(C1);  Ci=imag(C1);
        C = [Cr,-Ci;Ci,Cr];%高斯牛顿迭代解线性等式约束最小二乘问题 乘数矩阵实矩阵 表示 C*x - d 表达式中解 x 的乘数
        d = -C1*v; dr = real(d);di=imag(d); d = [dr;di];%常向量 实数向量 表示表达式 C*x - d 中的附加常数项
        Aeq = J; Aeqr = real(Aeq); Aeqi=imag(Aeq); Aeq = [Aeqr,-Aeqi;Aeqi,Aeqr];%Aeq是线性等式约束 指定为实矩阵
        beq = [zeros((Mu-K),1);1]-gamma;%线性等式约束 实数向量
        beqr = real(beq); beqi=imag(beq); beq = [beqr;beqi];
        dvp = lsqlin(C,d,[],[],Aeq,beq,[],[],[],options);% 具有边界或线性约束的线性最小二乘求解器 不包含初始点 执行最小化
        dv = dvp(1:Mu K 2) 1j*dvp(Mu K 3:end);
        v = v dv;%对方差的迭代
        es = v(1:Mu);
        h = v(Mu 1:end-1);
        sigma2 = v(end);
        Err(lp) = norm(h-h_last)/norm(h_last);
        if  norm(h-h_last)/norm(h_last) <= IterThre%零化系数的收敛条件
            break;
        end
    end
    t = angle(roots(h));
    ang = sort(acos(t/(2*pi*dl))/pi*180);

 %% calculate DOP, alpha, beta

    Bz = zeros(4*M^2,4*K);
    for k = 1:K
        esD = [-1 0; 0 sin(ang(k)/180*pi)];
        a  = exp(1j*2*pi*geoa/lambda*cos(ang(k)/180*pi));
        Bt = kron(a,esD);
        Bz(:,4*k-3:4*k) = kron(conj(Bt),Bt); %b()的卷积
    end
    
    Rz = z*z'/N;
    Wz = kron(Rz.',Rz)/N;%由有限快拍导致的误差的方差
    pz = (Wz^(-1/2)*Bz)\(Wz^(-1/2)*(vec(Rz)-1/2*sigma2*vec(eye(2*M))));%重建后的相干矩阵c^ 
    %pz = (Bz)\(vec(Rz)-1/2*sigma2*vec(eye(2*M)));
    pu = zeros(K,1);pc = zeros(K,1);%然后通过对重构的相干矩阵进行特征分解来估计偏振化参数。
    za = zeros(1,K);zb = zeros(1,K);
    for k = 1:K
        sv = pz(4*k-3:4*k);
        dd = real(sort(eig(reshape(sv,2,2))));%对sv重构为2x2的矩阵 分解 排序 得实部
        pu(k) = dd(1)*2;%非极化波的能量
        pc(k) = dd(2)-dd(1);%极化波的能量
        [v, d] = eig(reshape(sv,2,2));
        [~,ind] = sort(diag(d));
        e = v(:,ind(1));%由极化信号对应的协方差矩阵推导而得其α和β
        xr = real(e(1));xi = imag(e(1));yr = real(e(2));yi = imag(e(2));
        
        zb_tmp = (roots([xr*yi-xi*yr yr^2 xr^2 yi^2 xi^2 xr*yi-xi*yr]));
        zb(k) = zb_tmp(abs(zb_tmp)<=1);
        za(k) = (xr yi*zb(k))./(yr-xi*zb(k));
    end
    DOP_est (:,ll)= (pc./(pu pc)).';
    alpha_est (:,ll)= atan(za);
    beta_est (:,ll)= atan(zb);
.
├── 好例子网_极化参数和DOA的联合估计.zip
└── 极化参数和DOA的联合估计
    ├── AF_SingleRun.m
    ├── 比较DOA估计
    │   ├── CRLB.m
    │   ├── CoarrayPolarizationmusic.m
    │   ├── PeakFinding.m
    │   ├── SNR_compare.m
    │   ├── Snapshots_compare.m
    │   ├── proposed.m
    │   └── quaterpp.m
    └── 比较极化参数的估计
        ├── DOP_NoSigma_NoWhiten.m
        ├── DOP_NoSigma_Whiten.m
        ├── DOP_Sigma_NoWhiten.m
        ├── DOP_Sigma_Whiten.m
        ├── PeakFinding.m
        ├── SNR_compare_DOP.m
        ├── proposed1dop.m
        ├── proposedNonoise.m
        ├── proposedWhiting.m
        ├── proposeddop.m
        └── quaterpp1dop.m

3 directories, 20 files