毫米波雷达DOA角度计算-----DBF算法

毫米波雷达DOA角度计算-----DBF算法_第1张图片

毫米波雷达DOA角度计算-----DBF算法_第2张图片

毫米波雷达DOA角度计算-----DBF算法_第3张图片毫米波雷达DOA角度计算-----DBF算法_第4张图片

毫米波雷达DOA角度计算-----DBF算法_第5张图片

毫米波雷达DOA角度计算-----DBF算法_第6张图片

 DBF算法实现程序如下:

       输入: parameter  是 毫米波雷达的参数设置。

                   antVec  是  目标点的8个虚拟天线的非相参积累数据。

function [angle,doa_abs] = dbfMethod(parameter,antVec)

    txAntenna = parameter.txAntenna;   % 发射天线 [1  1]
    rxAntenna = parameter.rxAntenna;   % 接收天线 [1  1  1  1]
    virtualAntenna = parameter.virtualAntenna;  % 虚拟天线个数  8
    lambda = parameter.lambda;  % 发射波长
    txNum = length(txAntenna);  % 发射天线个数
    rxNum = length(rxAntenna);  % 接收天线个数
    dx = parameter.dx;   % 接收天线水平间距
    deg = -90:0.1:90;    % 角度
    weightVec = zeros(virtualAntenna,1);  %
    doa_dbf = zeros(length(deg),1);       % 
    kk = 1;
    for degscan = deg           %
        for txId = 1:txNum      
            for rxId = 1:rxNum  
                dphi = ((txId-1) * rxNum + rxId - 1) * 2 * pi / lambda * dx * sind(degscan);   % 相位差 
                weightVec((txId-1) * rxNum + rxId) = exp(-1i * dphi);  % 方向相量
            end
        end
        doa_dbf(kk) = antVec'*weightVec;  %加权
        kk = kk + 1;
    end
    doa_abs = abs(doa_dbf);
    [pk,loc]=max(doa_abs);
    angle = deg(loc);
end

你可能感兴趣的:(AWR2243,雷达基础知识,matlab)