clear
clc
Original=load('spring_dn.dat');%将原始数据读取进实验室
format short
%%%判断信噪比
i=1;
j=1;
xSnr=zeros(size(Original,1),2);
for i=1:size(Original,1);
if Original(i,9)<5 || Original(i,10)<5 || Original(i,11)<5;
%判断三个探头的信噪比,若其中有一个小于5则记录下来
xSnr(j,1)=Original(i,1);
xSnr(j,2)=Original(i,2);%对不满足要求的信噪比进行记录(Burst及内部序号)
j=j+1;%记录转行
Original(i,3:5)=0;%舍去数据
else
end
disp(sprintf('the %dth ...step1-删除信噪比<5...',i));
end
xSnr(all(xSnr==0,2),:)=[];%将0行删除
clear i j
%%%判断相关系数
i=1;
j=1;
xCor=zeros(size(Original,1),2);
for i=1:size(Original,1);
if Original(i,12)<70 || Original(i,13)<70 || Original(i,14)<70;
%判断三个探头的相关系数,若其中有一个小于70%则记录下来
xCor(j,1)=Original(i,1);
xCor(j,2)=Original(i,2);%对不满足要求的信噪比进行记录(Burst及内部序号)
j=j+1;%记录转行
Original(i,3:5)=0;%舍去数据
else
end
disp(sprintf('the %dth ...step2-删除相关系数<70%...',i));
end
xCor(all(xCor==0,2),:)=[];%将0行删除
clear i j
%%%坐标转换
i=1;
oDATA=zeros(size(Original,1),3);
zDATA=zeros(size(Original,1),3);
for i=1:size(Original,1);
oDATA(i,1)=Original(i,3);%East
oDATA(i,2)=Original(i,4);%North
oDATA(i,3)=Original(i,5);%Up
end
i=1;
j=1;
for i=1:1:size(Original,1);
disp(sprintf('the %dth ...step3-坐标转换...',i));
oDATA(i,6)=(atan(Original(i,4)/Original(i,3))); %计算水平偏转角(beita)<弧度>
oDATA(i,7)=sqrt((Original(i,3))^2+(Original(i,4))^2);%计算水平合速度(东+北)
oDATA(i,8)=(-1)*(atan(Original(i,5)/oDATA(i,7)));%计算垂直偏转角(seta)<弧度>
% 计算坐标转换矩阵R
a11=cos(oDATA(i,8))*cos(oDATA(i,6));
a12=cos(oDATA(i,8))*sin(oDATA(i,6));
a13=sin(oDATA(i,8));
a21=-sin(oDATA(i,6));
a22=cos(oDATA(i,6));
a23=0;
a31=-sin(oDATA(i,8))*cos(oDATA(i,6));
a32=-sin(oDATA(i,8))*sin(oDATA(i,6));
a33=cos(oDATA(i,8));
R=roundn([a11 a12 a13;a21 a22 a23;a31 a32 a33],-4);
Us=roundn([oDATA(i,1);oDATA(i,2);oDATA(i,3)],-4);%对计算数据进行四舍五入
zDATA(j,:)=(R*Us)';
j=j+1;
end
zDATA(isnan(zDATA))=0;%将矩阵中的NaN转换成0
FinalDATA=[Original(:,1:2) zDATA(:,3) Original(:,3) Original(:,5)];%剔除无效数据后的原始数据
clear i j
%%%进行一分钟平均
j=0;
ave=zeros(size(zDATA,1),3);
for i=0:960:(size(zDATA,1)-960);%每隔960行数据进行平均
j=j+1;
ave(j,1)=mean(zDATA(i+1:i+960,1));
ave(j,2)=mean(zDATA(i+1:i+960,2));
ave(j,3)=mean(zDATA(i+1:i+960,3));
disp(sprintf('the %dth ...step4-onemin平均...',i));
end
ave(all(ave==0,2),:)=[];%将0行删除
clear i j
%%将上部数据与序号相对应
i=1;
j=1;
help=zeros(size(FinalDATA,1),2);
for i=1:size(FinalDATA,1);
if mod(i,960)==0
help(i,1:2) =FinalDATA(i,1:2);
else
end
disp(sprintf('the %dth ...step5-匹配序号...',i));
end
help(all(help==0,2),:)=[];%将0行删除
if size(help,1)>size(ave);
ave((size(ave,1)+1):size(ave,1)+(size(help,1)-size(ave,1)),:)=0;
else
help(size(help,1)+1:size(help,1)+(size(ave,1)-size(help,1)),:)=0;
end
oneMindata=[help ave];
%%%进行五分钟平均
j=0;
ave5min=zeros(size(oneMindata,1),3);
for i=0:3:(size(oneMindata,1)-3);%每隔3行数据进行平均
j=j+1;
ave5min(j,1)=mean(oneMindata(i+1:i+3,3));
ave5min(j,2)=mean(oneMindata(i+1:i+3,4));
ave5min(j,3)=mean(oneMindata(i+1:i+3,5));
disp(sprintf('the %dth ...step6-fivemin平均...',i));
end
ave5min(all(ave5min==0,2),:)=[];%将0行删除
clear i j
%xlswrite('1Min-spring-dn.xlsx',oneMindata);
%xlswrite('5Min-spring-dn.xlsx',ave5min);
adv-processing.zip_ADV数据 处理_ADV数据处理_ADV流速_adv-processing_流速
版权申诉
5星 · 超过95%的资源 17 浏览量
2022-07-14
18:14:27
上传
评论 1
收藏 3KB ZIP 举报
钱亚锋
- 粉丝: 86
- 资源: 1万+
最新资源
- ZEND解密dezender12
- sony 索尼IMX334摄像头模组电路板AD版硬件PCB图(6层板).zip
- 基于flask和echarts融合交易策略的bitfinex可视化微服务.zip
- 包含了wvp-assist.tar wvp-talk.tar zlmediakit.tar .
- 3r4efgh53wgrf43tw
- 2024新版Java基础从入门到精通全套视频+资料下载
- Spring AI大模型视频教程+ChatGPT视频教程+OpenAI大模型视频教程(资料+视频教程)
- ABB工业机器人教程PDF版本
- 123321123323211
- 三相桥式全桥整流电路MATALB Simulink仿真文件
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论4