目录
1 概述
2 运行结果
3 参考文献
4 Matlab代码
此代码用于使用Cramer-Rao和Athley边界分析到达角阵列的质量。
[1]王凯欣. 仿射相位恢复的Cramer-Rao下界及算法研究[D].华北水利水电大学,2022.DOI:10.27144/d.cnki.ghbsc.2022.000667.
主函数部分代码:
clear;
rng(1);
descriptor = 'CubeExample';
lam = 2; % wavelength
TrueAzEl = [30,45];
TruePol = [0; 0]; % vertical pol
% Cube Geometry. Build one face then replicate by displacement and
% rotation.
L = 5;
npface = 5; % elements per face
Rproto = L* [rand(2,npface)-0.5; zeros(1,npface)];
Eulproto = [360*rand(1,npface); zeros(2,npface)];
% top--just raise it up
RTop = Rproto + [0;0;L]*ones(1,npface);
EulTop = Eulproto;
% +X face
QgX = euler2Q(0,-90,0);
RXp = QgX*RTop + L/2*[-1;0;1]*ones(1,npface);
EulXp = 0*EulTop;
for i = 1:npface
Qpi = euler2Q(Eulproto(1,i),Eulproto(2,i),Eulproto(3,i));
[az,el,roll] = Q2euler(QgX * Qpi);
EulXp(:,i) = [az; el; roll];
end
% -X face
QgX = euler2Q(0,90,0);
RXm = QgX*RTop + L/2*[1;0;1]*ones(1,npface);
EulXm = 0*EulTop;
for i = 1:npface
Qpi = euler2Q(Eulproto(1,i),Eulproto(2,i),Eulproto(3,i));
[az,el,roll] = Q2euler(QgX * Qpi);
EulXm(:,i) = [az; el; roll];
end
% +Y face
QgY = euler2Q(0,0,-90);
RYp = QgY*RTop + L/2*[0;-1;1]*ones(1,npface);
EulYp = 0*EulTop;
for i = 1:npface
Qpi = euler2Q(Eulproto(1,i),Eulproto(2,i),Eulproto(3,i));
[az,el,roll] = Q2euler(QgY * Qpi);
EulYp(:,i) = [az; el; roll];
end
% -Y face
QgY = euler2Q(0,0,90);
RYm = QgY*RTop + L/2*[0;1;1]*ones(1,npface);
EulYm = 0*EulTop;
for i = 1:npface
Qpi = euler2Q(Eulproto(1,i),Eulproto(2,i),Eulproto(3,i));
[az,el,roll] = Q2euler(QgY * Qpi);
EulYm(:,i) = [az; el; roll];
end