SAR雷达Yamaguchi四分量分解MATLAB代码(注释部分为极化角优化)
2017-04-12 14:07
239 查看
function yamachuchi_matrix = yamaguchi_test(T,OA)
%对于给定的T矩阵做yamaguchi分解,返回结果是个各个散射的能量是一个row X col X 4的矩阵
%P_s(单词散射),P_d(二面角),P_v(体散射),P_c(旋状体)
row=size(T.T11,1);
col=size(T.T11,2);
i=sqrt(-1);
yamachuchi_matrix = zeros(row,col,4);
for p=1:col
for q=1:row
tmp(1,1) = T.T11(q,p);
tmp(1,2) = T.T12_real(q,p)+i*T.T12_imag(q,p);
tmp(1,3) = T.T13_real(q,p)+i*T.T13_imag(q,p);
tmp(2,1) = conj(tmp(1,2));
tmp(2,2) = T.T22(q,p);
tmp(2,3) = T.T23_real(q,p)+i*T.T23_imag(q,p);
tmp(3,1) = conj(tmp(1,3));
tmp(3,2) = conj(tmp(2,3));
tmp(3,3) = T.T33(q,p);
P_c = abs(2*imag(tmp(2,3))/i);
alfa = tmp(1,3)*cos(2*OA(q,p))/real(tmp(2,3));
P_d = ((1+abs(alfa)^2)*real(tmp(2,3)))/(cos(2*OA(q,p))*sin(2*OA(q,p)));
P_v = 3*(tmp(3,3)-(P_d*(sin(2*OA(q,p)))^2)/(1+abs(alfa)^2)- P_c/2);
beta = (tmp(1,2)-(P_d*alfa*cos(2*OA(q,p)))/(1+abs(alfa)^2))/(tmp(1,1)-P_v/3-(P_d*abs(alfa)^2)/(1+abs(alfa)^2));
P_s = (1+abs(beta)^2)*(tmp(1,1)-P_v/3-(P_d*abs(alfa)^2)/(1+abs(beta)^2));
yamachuchi_matrix(q,p,1) = abs(P_s);
yamachuchi_matrix(q,p,2) = abs(P_d);
yamachuchi_matrix(q,p,3) = abs(P_v);
yamachuchi_matrix(q,p,4) = abs(P_c);
end
end
%对于给定的T矩阵做yamaguchi分解,返回结果是个各个散射的能量是一个row X col X 4的矩阵
%P_s(单词散射),P_d(二面角),P_v(体散射),P_c(旋状体)
row=size(T.T11,1);
col=size(T.T11,2);
i=sqrt(-1);
yamachuchi_matrix = zeros(row,col,4);
for p=1:col
for q=1:row
tmp(1,1) = T.T11(q,p);
tmp(1,2) = T.T12_real(q,p)+i*T.T12_imag(q,p);
tmp(1,3) = T.T13_real(q,p)+i*T.T13_imag(q,p);
tmp(2,1) = conj(tmp(1,2));
tmp(2,2) = T.T22(q,p);
tmp(2,3) = T.T23_real(q,p)+i*T.T23_imag(q,p);
tmp(3,1) = conj(tmp(1,3));
tmp(3,2) = conj(tmp(2,3));
tmp(3,3) = T.T33(q,p);
P_c = abs(2*imag(tmp(2,3))/i);
alfa = tmp(1,3)*cos(2*OA(q,p))/real(tmp(2,3));
P_d = ((1+abs(alfa)^2)*real(tmp(2,3)))/(cos(2*OA(q,p))*sin(2*OA(q,p)));
P_v = 3*(tmp(3,3)-(P_d*(sin(2*OA(q,p)))^2)/(1+abs(alfa)^2)- P_c/2);
beta = (tmp(1,2)-(P_d*alfa*cos(2*OA(q,p)))/(1+abs(alfa)^2))/(tmp(1,1)-P_v/3-(P_d*abs(alfa)^2)/(1+abs(alfa)^2));
P_s = (1+abs(beta)^2)*(tmp(1,1)-P_v/3-(P_d*abs(alfa)^2)/(1+abs(beta)^2));
yamachuchi_matrix(q,p,1) = abs(P_s);
yamachuchi_matrix(q,p,2) = abs(P_d);
yamachuchi_matrix(q,p,3) = abs(P_v);
yamachuchi_matrix(q,p,4) = abs(P_c);
end
end
相关文章推荐
- 部分matlab代码
- “机器狗”病毒驱动部分逆向分析注释(C代码)
- 2011数模国赛A题部分Matlab代码
- 部分matlab处理图像代码
- Linux系统优化部分内核参数调优中文注释
- 连连看的代码(基本算法)加了部分注释
- Matlab代码的分析、优化和加速
- 基于模型设计的FPGA开发与实现:滤波器设计与实现(四)Matlab中滤波器HDL代码生成优化
- Matlab里怎么注释掉一段(多行)代码
- OpenCV Haar分类器人脸检测部分代码注释
- 机器狗”病毒驱动部分逆向分析注释(C代码)
- boost xpressive库,介于正则和bnf库之间的混血。显示c/c++代码注释部分。
- Tiger 中的注释,第 1 部分: 向 Java 代码中添加元数据
- matlab 优化内存使用以及优化代码运行速度
- “机器狗”病毒驱动部分逆向分析注释(C代码)
- [读书笔记]Matlab代码优化
- Tiger 中的注释,第 1 部分: 向 Java 代码中添加元数据
- 傅里叶变换的Matlab代码与注释
- 图像的Mallat算法分解(Matlab代码)
- Matlab高性能编程——代码优化和并行计算