加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
AoA_AoD_Estimator.m 1.36 KB
一键复制 编辑 原始数据 按行查看 历史
Xixi22 提交于 2021-03-28 18:48 . temp
function AoA_AoD_Estimator( h,nrx,ntx,K )
% AoD related H , vector g , for one time serie
% 再加一个判断是否输入的确定的hc值,如果输入,那么就不需要二维的了,直接搜索一维AoD
d = 0.027;
ex1 = 0:nrx-1;
ex2 = 0:ntx-1;
d1=d*ex1;
d2=d*ex2;
phii=0:180;
derad = pi / 180;
cc = 3e8;
ff = 5.8e9;
% K = size(h,3);
% X=reshape(h,nrx,ntx * K); %构造接收信号
c=exp(-1i*2*pi*d1'*cos(phii*derad) * ff /cc);
g=exp(-1i*2*pi*d2'*cos(phii*derad) * ff /cc);
% hcg = c' * X * g;
hcg = c' * h * g;
% hc = c*X;
% hc = reshape(hc,181,ntx,K);% 181 * 2 * 57
% hc = shiftdim(hc,1); % 2*57*181
%
% % g : 181 * ntx , 181 * 2,为了和AoA转换格式一样好看
% % hc : 2 * 57 * 181;hcc : 2 * (57*181)
% hcc = reshape(hc,ntx,K*181);
% hcg = g * hcc;
% hcg = reshape(hcg,181,K,181);
% 遍历每个角度,计算空间谱
% s = reshape(sum(hcg.*conj(hcg),2),181,181); % hg_optimal - 181 * 1 * 181 - g*1*c
s = hcg.*conj(hcg); % hg_optimal - 181 * 1 * 181 - g*1*c
[Smmax,aoa]=max(max(s));
s=s/Smmax;
plot2D(phii,'发射角/(degree)',phii,'到达角/(degree)',s');
%% 最值下标
% [peak,index_c] = max(hg_optimal); % AoA最大值序列候选
% [peak,index_g] = max(max(hg_optimal)); % 挑选对应AoD(行)最大序列
[peak,index] = max(s(:)); % 最大值线性下标;(:)——>按顺序变成一列
[index_g,index_c] = ind2sub([length(phii),length(phii)],index);
peak_phi_g = phii(index_g);% 角度值
peak_phi_c = phii(index_c);
end
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化