%%% 相关系数函数
% 相关时用相似度函数
function [elevation azimuth in_elevation in_azimuth]=DFCofficient(phisamples,phasevector,p,q)
%============================输入参数=======================================
% phisamples:样本库
% phasevector:实测相位差矢量
% 仿真时进行多次蒙特卡洛试验,为避免重复处理耗时,可以在调用函数前将样本库矢量单位化
% 处理,实测相位差单位化处理
%============================输出参数=======================================
% elevation:返回俯仰角
% azimuth:返回方位角
% in_elevation:返回插值后的俯仰角
% in_azimuth:返回插值后的方位角
D=size(phisamples);
Rmatrix=zeros(D(1),D(2)); %相关矩阵,存放相关结果
for m=1:D(1)
for n=1:D(2)
Rmatrix(m,n)=phasevector'/norm(phasevector)*reshape(phisamples(m,n,:),[],1,1)/norm(reshape(phisamples(m,n,:),[],1,1));
%Rmatrix(m,n)=phasevector'*reshape(phisamples(m,n,:),[],1,1); %在调用函数前将样本库,实测相位差单位化
end
end
[mMax Idxm]=max(Rmatrix); %确定每个方位角对应的最大值及其对应的俯仰角索引
[peak,n0]=max(mMax); %确定最大值对应的俯仰角索引
m0=Idxm(n0); %确定最大值对应的俯仰角索引
elevation=1+(m0-1)*q; %俯仰角计算公式
azimuth=0+(n0-1)*p; %方位角计算公式
%============================插值处理=======================================
%主要在离散度p,q较大时使用
if m0==1 || n0==1 || m0==D(1) || n0==D(2) %边界时不进行插值处理
in_elevation=elevation;
in_azimuth=azimuth;
else
%subphisamples=phisamples(:,n0-1:n0+1,m0-1:m0+1);
s=zeros(9,1);
for m=1:3
for n=1:3
s((m-1)*3+n,1)=phasevector'/norm(phasevector)*reshape(phisamples(m0-2+m,n0-2+n,:),[],1,1)/norm(reshape(phisamples(m0-2+m,n0-2+n,:),1,[],1)); %计算周围点的函数值
%s((m-1)*3+n,1)=phasevector'*rehape(phisamples(m0-2+m,n0-2+n,:),[],1,1); %采用单位化矢量
end
end
Ma=[ -1/9 2/9 -1/9 2/9 5/9 2/9 -1/9 2/9 -1/9;
-1/6 0 1/6 -1/6 0 1/6 -1/6 0 1/6;
-1/6 -1/6 -1/6 0 0 0 1/6 1/6 1/6;
1/4 0 -1/4 0 0 0 -1/4 0 1/4;
1/6 -1/3 1/6 1/6 -1/3 1/6 1/6 -1/3 1/6;
1/6 1/6 1/6 -1/3 -1/3 -1/3 1/6 1/6 1/6];
a=Ma*s;
f0=(a(4)*a(3)-2*a(6)*a(2))/(4*a(6)*a(5)-a(4)*a(4)); %最大值点偏移量
s0=(a(4)*a(2)-2*a(5)*a(3))/(4*a(6)*a(5)-a(4)*a(4));
if abs(f0)<=1 && abs(s0)<=1 %拟合有意义的条件
in_azimuth=azimuth + f0*p; %插值后方位角估计
in_elevation=elevation + s0*q; %插值后俯仰角估计
else
in_azimuth=azimuth; %插值后方位角估计
in_elevation=elevation; %插值后俯仰角估计
end
end
end
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Interferometer.rar (7个子文件)
标准相关干涉仪
SignalSimu_circle.m 1KB
DFCofficient.asv 3KB
Interferometer.asv 2KB
ComputePhase.m 439B
SampleWithoutNoise.m 1KB
DFCofficient.m 3KB
Interferometer.m 3KB
共 7 条
- 1
pudn01
- 粉丝: 40
- 资源: 4万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Win64OpenSSL-3-3-0.exe
- 课高分程设计-基于C++实现的民航飞行与地图简易管理系统-南京航空航天大学
- 航天器遥测数据故障检测系统python源码+文档说明+数据库(课程设计)
- 北京航空航天大学操作系统课设+ppt+实验报告
- 基于Vue+Echarts实现风力发电机中传感器的数据展示监控可视化系统+源代码+文档说明(高分课程设计)
- 基于单片机的风力发电机转速控制源码
- 基于C++实现的风力发电气动平衡监测系统+源代码+测量数据(高分课程设计)
- 毕业设计- 基于STM32F103C8T6 单片机,物联网技术的太阳能发电装置+源代码+文档说明+架构图+界面截图
- 基于 LSTM(长短期记忆)(即改进的循环神经网络)预测风力发电厂中风力涡轮机产生的功率+源代码+文档说明
- 基于stm32f103+空心杯电机+oled按键+运动算法
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页