基于Matlab的TEQC绘图程序代码.doc
《基于Matlab的TEQC绘图程序代码.doc》由会员分享,可在线阅读,更多相关《基于Matlab的TEQC绘图程序代码.doc(13页珍藏版)》请在咨信网上搜索。
1、%在 matlab下新建一个m文件,将以下代码直接拷贝进去,即可执行。需要一个TEQC生成的plot文件作为参数function out=teqcplot3(files);读取TEQC生成的Plot文件,绘制数据图表,支持Copmact、Compact2、Compact3格式%选取一个TEQC的Plot文件 格式说明 。sn1 载波 L1的信噪比 Signal to noise ratio (S/N) *。sn2 载波 L2的信噪比 Signal to noise ratio (S/N) Carrier L2 。iod 。d12 。d21 电离层延迟观测值变化率(米/秒) Derivative
2、 of ionospheric delay observable (m/s) 。ion 。i12 *.i21 电离层延迟观测值(米)Ionospheric delay observable (m) *。mp1 *.m12 载波L1的多路径误差 Multipath Carrier L1% 。mp2 。m21 载波L2的多路径误差 Multipath Carrier L2 .azi 卫星方位角() Satellite azimuthal data (degrees)% .ele 卫星高度角() Satellite elevation data (degrees)if nargin=0 filen,
3、path=uigetfile(。sn1;.sn2;.iod;。ion;*.mp1;。mp2;.azi;*.ele;*。i12;i21;.m12;m21;。d12;d21,.。. 请选择TEQC报告文件:);else path,filen,ext=fileparts(files); path=path ; filen=filen ext;end%读取这个文件file=char(filen);%按行读取文件至数组AA=importdata(path file,t);%定义SAT,存放卫星数据%GPS有32颗卫星,存放序号1-32,%GLONASS有32颗卫星,存放序号3364,BEIDOU有35颗
4、卫星,存放序号6599SAT(1:length(A),1:99)=NaN;sats(1:length(A),1:99)=NaN;存放采样时间,单位秒tsec(1:length(A)=NaN;读取文件的第一行filelx=A1;%判断是哪种格式switch filelx case COMPACT %读取数据采样间隔 t_samp=char(A(3)); 读取开始时间 mjl=char(A(4)); %读取数据采样间隔 T_SAMP=str2num(t_samp(max(find(t_samp= ):end)); 读取数据采样开始时间 MJL_START=str2num(mjl(max(find(
5、mjl= )):end)); 转成时间序列数字,date serial number,从0000年1月1日0时0分0秒开始计算的十进制天数 MJD_START=MJL_START+678941。999999741; %i为行号 n=1;i=5; case COMPACT2 %读取数据采用间隔 t_samp=char(A(2); %读取开始时间 mjl=char(A(3); 读取数据采样间隔 T_SAMP=str2num(t_samp(max(find(t_samp= ):end)); 读取数据采样开始时间 MJL_START=str2num(mjl(max(find(mjl= ):end);
6、转成时间序列数字,date serial number,从0000年1月1日0时0分0秒开始计算的十进制天数 MJD_START=MJL_START+678941.999999741; n=1;i=4; case COMPACT3 读取开始时间 t_start=char(A(2); t_start = deblank(t_start); s = splitstr(t_start,*,6); %t_start_time=char(s2) 年 char(s3) 月 char(s4) 日 char(s5) 时 char(s6) 分 num2str(str2num(char(s7),%02d) 秒 ;
7、 %获取采样的开始时间,2013,12,7,03,05,55 t_s_time=str2num(char(s2), str2num(char(s3)),str2num(char(s4)),str2num(char(s5),str2num(char(s6)),str2num(char(s7); n=1;i=3; otherwise disp(数据格式存在问题); returnendn=1;i=3;sats=str2num(Ai);snyggfilen=strrep(filen,_,-);生成进度条h=waitbar(0,正在读取数据,请稍等 char(snyggfilen);while ilen
8、gth(A); waitbar(i/length(A),h);drawnow %读取卫星编号数据行 采样时间 卫星数量 卫星编号 COMAPCT3 satbhstr=char(A(i)); s = splitstr(satbhstr,,32); 如果卫星编号数据为0,说明数据缺失,退出本函数 if strtrim(satbhstr)=0 disp (数据为空!); close(h); return end switch filelx case COMPACT3 %记录采样时间,单位秒 tsec(n)=str2num(s1); if s2=1 如果为1,使用上次的卫星编号行 satbhstr=o
9、ldsatbh; s = splitstr(satbhstr,*,32); else oldsatbh=satbhstr; end 获取当前卫星数量 satcount=str2num(s2); case COMPACT,COMPACT2 %记录采样时间,单位秒 tsec(n)=(n1)*T_SAMP; if s1=-1 如果为-1,使用上次的卫星编号行 satbhstr=oldsatbh; s = splitstr(satbhstr,*,32); else oldsatbh=satbhstr; end 获取当前卫星数量 satcount=str2num(s1); end 读取卫星数据行 sat
10、datastr=char(A(i+1)); sdata=splitstr(satdatastr,32); for k=3:satcount+2 switch filelx case COMPACT %如果是COMPACT格式,卫星编号前面没有字母,默认是GPS卫星,在前面增加字符G satbh=G char(sk1); case COMPACT2 %如果是COMPACT2格式,卫星编号行第2个数据开始是卫星编号 satbh=char(sk-1); case COMPACT3 如果是COMPACT3格式,卫星编号行第3个数据开始是卫星编号 satbh=char(sk); end switch s
11、atbh(1); case G 如果是GPS卫星,获得与编号对应的存储序号,范围132 index=str2num(satbh(2:3)); case R 如果是GLONASS卫星,获得与编号对应的存储序号,范围3364 index=32+str2num(satbh(2:3); case C 如果是BEIDOU卫星,获得与编号对应的存储序号,范围6599 index=64+str2num(satbh(2:3)); otherwise %其他情况,获得与编号对应的存储序号,范围132 index=str2num(satbh(2:3)); end switch %获得对应的卫星数据 sdatast
12、r=char(sdatak2); 如果卫星数据不是数值型,用0替代 if isempty(str2num(sdatastr))=1 sdatastr=0。000; end 将卫星数据存入SAT数组的对应位置 SAT(n,index)=str2num(sdatastr); end for n=n+1; %根据数据文件结构,一行是卫星编号,下一行就是对应的卫星数据 %程序一次读取2行数据 i=i+2;end %while%数据读取完毕,关闭进度条close(h);获取已使用的卫星编号,返回给sat_bhsat_bh=getsatbh(SAT);增加最后一个结束字符sat_bh_temp=sat_b
13、h End;sat_bh_end=sat_bh_temp;删去所有都为NaN值的列,返回给sat_datasat_data=delnancol(SAT);删去所有NaN值的采样时间列t_seconds=delnancol(tsec);%删去所有都为NaN值的行,返回sat_datassat_datas=delnanrow(sat_data);增加一个nan列row,col=size(sat_datas);bb(1:row,1)=NaN;sat_datas=sat_datas bb;%将含有NaN值的数据替换为0,返回给s_data%s_data=repnan20(sat_data);将采样时间
14、转成顺序日期serial date numberswitch filelx case COMPACT,COMPACT2 t_s_jd_time=MJD_START; case COMPACT3 t_s_jd_time=datenum(t_s_time);endfor i=1:length(t_seconds) 将每次采样时间转换成相应的顺序日期 t_jd_time(i)=t_s_jd_time+t_seconds(i)/60/60/24;end绘制图表+%根据不同的文件类型,设置坐标轴的范围type,maxy,miny=get_filetype(file);figure;box on;hold
15、 onrow,col=size(sat_datas);绘制渐变彩色图pcolor(t_jd_time,1:col,sat_datas);set(gcf,renderer,zbuffer);shading flatset(gca,xticklabel,t_jd_time);set(gca,xlim,t_jd_time(1) t_jd_time(end)%t_start_times=t_start_h : t_start_m : t_start_s;dateaxis(X,13)cbar(v,miny maxy,type);set(gca,ylim,1 col+1)set(gca,ytick,1。5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Matlab TEQC 绘图 程序代码
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。