CINRADSASB雷达基数据格式
8.天气雷达基数据标准格式(v1.0)

天气雷达基数据标准格式(V1.0版)1 概述1.1适用范围本格式规定了天气雷达基数据文件的结构、命名、单位和参数范围,我国各型号天气雷达生成的基数据应符合本格式要求。
本格式适用于基数据的传输、存储和服务。
1.2数据类型定义文中的数据类型定义均基于32位操作系统(如Linux/Windows),主要包括:• INT – 4字节整型• SHORT – 2字节整型• CHAR*N – N字节字符型• FLOAT – 4字节浮点类型,符合IEEE754规范• LONG – 8字节整型1.3基数据结构基数据文件分为多个区块,每个区块描述一组信息。
如站点配置块用来描述雷达站的信息,包括经纬度、天线架设高度等。
基数据可分为公共数据块和径向数据块两部分(整体结构见表1-1),其中:公共数据块用于提供数据站点信息、任务配置等公共信息。
(见第二章)径向数据块用于存储天气雷达的探测资料,包括3个子块:径向头、径向数据头以及径向数据。
(见第三章)表1-1 基数据整体结构示径向数据长度,参见表3-1中的数据长度说明。
2 公共数据块公共数据块用于描述数据采集所需的参数,如雷达站点信息和任务配置参数等。
详细描述见表2-1。
2.1 通用头块通用头块用于标识文件的类别,内容主要包括文件格式版本、文件类型等信息,共32字节。
见表2-2。
2.2 站点配置块站点配置块用于描述雷达站信息,共128字节。
详见表2-3。
表 2-3 站点配置块2.4 任务配置块任务配置块提供雷达扫描任务一般信息,主要包括PPI、RHI以及扇扫等,共256字节。
详见表2-4。
2.5 扫描配置块扫描配置块提供具体扫描配置信息,每扫描配置块由256字节组成。
详见表2-5。
对于扫描任务来说,通常包括不止一个仰角或方位角,多个扫描的配置块依次排列在任务配置块后面。
3 径向数据块3.1 径向头块径向头块提供数据状态、采集时间等信息,共64字节,详见表3-1。
3.2 径向数据块径向数据块用来存储雷达探测的径向数据资料,如反射率Z、径向速度V以及谱宽W等。
新一代天气雷达测试规范

新一代天气雷达(CINRAD-SA/SB)测试规范1、范围1.1本规范涵盖了新一代天气雷达测试内容、指标要求、测试方法、测试仪表的设置以及测试程序的使用。
1.2本规范适用新一代天气雷达的SA/SB型号。
2、本规范引用文件新一代天气雷达出厂、现场测试大纲3、测试内容以及指标3.1 发射机功率测试要求发射机输出的峰值功率在650kW―750kW范围内。
3.2 发射机输出脉冲包络测试发射机输出脉冲包络,窄脉冲脉冲宽度(50%处):1.57±0.1µs ,宽脉冲脉冲宽度(50%处):4.5―5.0µs;上升沿(10%―90%)、下降沿(90%―10%)大于120ns、小于200ns;纹波顶降小于5%。
3.3 发射机极限改善因子测试用频谱仪测得发射信号的S/N,根据计算公式:I=S/N+10lgB-10lgF式中:I为极限改善因子(dB)S/N为信号噪声比(dB)B为频谱分析带宽(Hz)F为发射脉冲重复频率(Hz)SA/SB雷达发射机极限改善因子I≥52dB3.4 发射机输出频谱宽度测试-40dB处谱宽不大于±7.26MHZ;-50dB处谱宽不大于±12.92MHZ;-60dB处谱宽不大于±22.94MHZ3.5 接收机噪声系数测试包含保护器,接收机模拟噪声系数≤3.0dB,数字端噪声系数≤4.0dB3.6 接收机机内动态范围测试采用机内信号源接收系统动态范围≥85dB3.7 接收机机外信号源动态范围测试采用外部仪表信号源 接收系统动态范围≥85dB 3.8 接收机机内发射率测试用机内信号源注入功率为-95dBm 至-35dBm 间各档的信号,在距离5km 至200km 范围内检验其回波强度的测量值,回波强度测量值与注入信号计算回波强度测量值的最大差值应在±1dB 范围内。
3.9 接收机机外信号源发射率动态范围测试用仪表信号源注入功率为-90dBm 至-35dBm 各档的信号,在距离5km 至200km 范围内检验其回波强度的测量值,回波强度测量值与注入信号计算回波强度测量值的最大差值应在±1dB 范围内。
CC雷达基数据格式说明(附函数)

CINRAD/CC/CCJ雷达原始数据格式声明:本数据格式适用CINRAD/CC和CINRAD/CCJ.安徽四创电子股份有限公司保留最终解释权.本文档仅供内部交流,请不要发表.文件名:平扫(PPI):NNNNYYDDHH.MMP高扫(RHI):NNNNYYDDHH.MMR体扫(VPPI):NNNNYYDDHH.MMV单库FFT:NNNNYYDDHH.MMF等高PPI(CAPPI):NNNNYYDDHH.MMCN:年Y:月D:日H:时M:分数据组成:整个数据由文件头(1个)和基于极坐标系的原始数据(512个径向)组成.文件头:////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////tagWEATHERRADAR雷达信息的结构typedef struct tagWEATHERRADAR{char cFileType[16]; //3830数据标识(CINRADC)char cCountry[30]; //国家名char cProvince[20]; //省名char cStation[40]; //站名char cStationNumber[10]; //区站号char cRadarType[20]; //雷达型号char cLongitude[16]; //天线所在经度char cLatitude[16]; //天线所在纬度long lLongitudeValue; //具体经度long lLatitudeValue; //具体纬度long lHeight; //天线海拔高度short sMaxAngle; //地物阻挡最大仰角short sOptAngle; //最佳观测仰角unsigned char ucSYear1; //观测开始时间的年千百位(19-20)unsigned char ucSYear2; //观测开始时间的年十个位(00-99)unsigned char ucSMonth; //观测开始时间的月(1-12)unsigned char ucSDay; //观测开始时间的日(1-31)unsigned char ucSHour; //观测开始时间的时(0-23)unsigned char ucSMinute; //观测开始时间的分(0-59)unsigned char ucSSecond; //观测开始时间的秒(0-59)unsigned char ucTimeFrom; //时间来源0-计算机时钟(1天内未对时)// 1-计算机时钟(1天内已对时)// 2-GPS// 3-其它unsigned char ucEYear1; //观测结束时间的年千百位(19-20)unsigned char ucEYear2; //观测结束时间的年十个位(00-99)unsigned char ucEMonth; //观测结束时间的月(1-12)unsigned char ucEDay; //观测结束时间的日(1-31)unsigned char ucEHour; //观测结束时间的时(0-23)unsigned char ucEMinute; //观测结束时间的分(0-59)unsigned char ucESecond; //观测结束时间的秒(0-59)unsigned char ucScanMode; //扫描方式1-RHI// 10-PPI和ZPPI// 1XX=VPPI(XX为扫描圈数) unsigned long ulSmilliSecond; //以微秒为单位表示的秒的小数位unsigned short usRHIA; //RHI所在的方位角(0.01度为单位)// PPI和VPPI时为FFFFshort sRHIL; //RHI所在的最低仰角(0.01度为单位)//PPI和VPPI时为FFFFshort sRHIH; //RHI所在的最高仰角(0.01度为单位)//PPI和VPPI时为FFFFunsigned short usEchoType; //回波类型0x405a-Z 0x406a-V 0x407a-W// 0x408a-ZVW三要素unsigned short usProdCode; //数据类型0x8001-PPI数据0x8002-RHI数据// 0x8003-VPPI数据0x8004-单强度PPI数据// 0x8005-CAPPI数据unsigned char ucCalibration; //标校状态0-无1-自动2-1星期内人工// 3-1月内人工unsigned char remain1[3]; //保留字unsigned char remain2[660]; //保留字,放VPPISCANPARAMETER数据//该结构的说明见后long lAntennaG; //天线增益(0.001dB)long lPower; //峰值功率(瓦)long lWavelength; //波长(微米)unsigned short usBeamH; //垂直波束宽度(秒)unsigned short usBeamL; //水平波束宽度(秒)unsigned short usPolarization; //极化状态0-水平1-垂直2-双偏振// 3-圆偏振4-其它unsigned short usLogA; //对数动态范围(0.01dB)unsigned short usLineA; //线性动态范围(0.01dB)unsigned short usAGCP; //AGC延迟量(微秒)unsigned short usFreqMode; //频率方式1-单重复频率2-双重复频率3:2// 3-双重复频率4:3unsigned short usFreqRepeat; //重复频率unsigned short usPPPPulse; //PPP脉冲数unsigned short usFFTPoint; //FFT间隔点数unsigned short usProcessType; //信号处理方式1-PPP 2-全程FFT// 3-单库FFTunsigned char ucClutterT; //杂波消除阀值(即STC)char cSidelobe; //第一旁瓣(dB)unsigned char ucVelocityT; //速度门限unsigned char ucFilderP; //地物消除方式0-无1-IIR滤波器1// 2-IIR滤波器2 3-IIR滤波器3// 4-IIR滤波器4unsigned char ucNoiseT; //噪声消除阀值(即强度门限)unsigned char ucSQIT; //SQI门限unsigned char ucIntensityC; //DVIP强度值估算采用的通道// 1-对数通道2-线性通道unsigned char ucIntensityR; //强度值估算是否距离订正// 0-无(dB) 1-已订正(dBZ)unsigned char ucCalNoise; //噪声系数标定值unsigned char ucCalPower; //发射功率标定值unsigned char ucCalPulseWidth; //脉冲宽度标定值unsigned char ucCalWorkFreq; //工作频率标定值unsigned char ucCalLog; //对数斜率标定值char remain3[92]; //保留字unsigned long int liDataOffset; //数据偏移地址}WEATHERRADAR;//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////tagVPPISCANPARAMETER仰角层的结构typedef struct tagVPPISCANPARAMETER{unsigned short usMaxV; //最大可测速度(厘米/秒)unsigned short usMaxL; //最大可测距离(10米)unsigned short usBindWidth; //库长(米)unsigned short usBinNumber; //每径向库数unsigned short usRecordNumber; //本圈径向数unsigned short usArotate; //本圈转速(0.01度/秒)unsigned short usPrf1; //本圈第一次重复频率(0.1Hz)对应单重频或双重频的高者unsigned short usPrf2; //本圈第二次重复频率(0.1Hz)对应双重频的低者unsigned short usSpulseW; //本圈脉宽(微秒)short usAngle; //仰角(0.01度)unsigned char cSweepStatus; //1=单要素2=三要素(单重频) 3=三要素(双重频) unsigned char cAmbiguousp; //0=无软件退模糊1=软件退模糊}VPPISCANPARAMETER;//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////注:在WEATHERRADAR结构的remain2处填写了的VPPISCANPARAMETER;结构表明本仰角层的参数(对PPI和VPPI而言)或其他含义(对RHI和单库FFT文件而言)VPPI有几层填几个,PPI RHI FFT数据只填写一层即一个.原始数据:PPI RHI VPPI的数据排列如下:第0个径向的数据:Z(字)500个V(字)500个W(字)500个….….第512个径向的数据:Z(字)500个V(字)500个W(字)500个注: Z V W均为16位的字型数据(在C语言中用short int 有符整型) 所读出的值除以10得到一个小数就是最终的值.Z以dBz为单位V W均以m/s为单位读出的数据如果是0x8000,说明此处无回波.这样做的目的是为了必须区别回波强度为0和无回波.单库FFT数据排列如下:当为256点时:256个通道的功率值(字型单位:dB)当为128点时:128个通道的功率值(字型单位:dB)附函数段:////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////检查要打开的文件//filename:文件名CString CRadar::CheckData(CString filename){CFile *fp;CString str="INV ALID",error,tempfilename=filename;try{fp=new CFile(filename,CFile::modeRead);}catch(CFileException* e){ProcessFileError(e,1);return str;}WEATHERRADAR tempinfo;fp->SeekToBegin();fp->Read(&tempinfo,sizeof(WEATHERRADAR));if(strcmp(tempinfo.cFileType,"CINRADC")){error.Format("%s 不是3830雷达数据文件!",tempfilename);AfxMessageBox(error,MB_OK|MB_ICONSTOP);delete fp;return str;}if(ProdCode==0x8001) str="PPI";else if(ProdCode==0x8002) str="RHI";else if(ProdCode==0x8003) str="VPPI";else if(ProdCode==0x8004) str="ZPPI";else if(ProdCode==0x8005) str="CAPPI";else if(ProdCode==0x8006) str="FFT";else{error.Format("文件%s 不是3830雷达数据文件!",tempfilename);AfxMessageBox(error,MB_OK|MB_ICONSTOP);}delete fp;return str;}//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //读取数据//filename:要打开的文件名BOOL CPPI::LoadData(CString filename){CFile *fp;CString str;try{fp=new CFile(filename,CFile::modeRead);}catch(CFileException* e){radar->ProcessFileError(e,1);return FALSE;}fp->SeekToBegin();fp->Read(&info,sizeof(WEATHERRADAR));fp->Seek(218L,CFile::begin);fp->Read(&vppipara,sizeof(VPPISCANPARAMETER));rmax=int(MaxL/100.0+0.5);scanyj=Angle/100.0;//装地图文件long l;//申请数据存储区hData=::GlobalAlloc(GHND,512L*1500L*2L);if(!hData){AfxMessageBox("内存不足",MB_OK|MB_ICONSTOP);::GlobalFree(hData);delete fp;return FALSE;}pData=(short*)::GlobalLock(hData);for(l=0;l<(512*1500);l++) pData[l]=short(0x8000); //程序中用来表示有无数据,可以//不用考虑fp->Seek(info.liDataOffset,CFile::begin);int i,BEGINPOS,angle;long pos;short tempData[500];//我的程序要把每一个径向的连续的ZVW数据块读出后再按每个点排列成//第1个点的Z V W 第2个点的Z V W …. /第500个点的Z V W//可以不用考虑if(radar->scanmode=="PPI"){for(angle=0;angle<512;angle++){for(BEGINPOS=0;BEGINPOS<=2;BEGINPOS++){fp->Read(tempData,500L*2);pos=long(angle*1500+BEGINPOS);for(i=0;i<500;i++){pData[pos]=tempData[i];pos+=3;}}}}else if(radar->scanmode=="ZPPI"){for(angle=0;angle<512;angle++){fp->Read(tempData,500L*2);pos=long(angle*1500+0);for(i=0;i<500;i++){pData[pos]=tempData[i];pos+=3;}}}delete fp;openfilename=filename;return TRUE;}//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //读取数据//filename:要打开的文件名BOOL CRHI::LoadData(CString filename){CFile *fp;CString str;try{fp=new CFile(filename,CFile::modeRead);}catch(CFileException* e){radar->ProcessFileError(e,1);return FALSE;}fp->SeekToBegin();fp->Read(&info,sizeof(WEATHERRADAR));fp->Seek(218L,CFile::begin);fp->Read(&vppipara,sizeof(VPPISCANPARAMETER));rmax=int(MaxL/100);scanfw=RHIA/100.0;beginyj=info.sRHIL/100.0;endyj=info.sRHIH/100.0;hData=::GlobalAlloc(GHND,512L*1500L*2L);if(!hData){AfxMessageBox("内存不足",MB_OK|MB_ICONSTOP);::GlobalFree(hData);delete fp;return FALSE;}pData=(short*)::GlobalLock(hData);long l;for(l=0;l<(512*1500);l++) pData[l]=short(0x8000);fp->Seek(info.liDataOffset,CFile::begin);int i,BEGINPOS,angle;long pos;short tempData[500];for(angle=0;angle<512;angle++){for(BEGINPOS=0;BEGINPOS<=2;BEGINPOS++){fp->Read(tempData,500L*2);pos=long(angle*1500+BEGINPOS);for(i=0;i<500;i++){pData[pos]=tempData[i];pos+=3;}}}delete fp;openfilename=filename;if(pDC||pmemDC||pbackDC) ChangeDistanceOrHeight(rmax,hmax);return TRUE;}//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //读取数据//filename:要打开的文件名BOOL CVPPI::LoadData(CString filename){// if(radar->IsZip) filename=radar->unzipfile;CFile *fp;CString str;try{fp=new CFile(filename,CFile::modeRead);}catch(CFileException* e){radar->ProcessFileError(e,1);return FALSE;}fp->SeekToBegin();fp->Read(&info,sizeof(WEATHERRADAR));fp->Seek(218L,CFile::begin);ScanPara->num=info.ucScanMode-100;int yjc,temprf1,temprf2;for(yjc=0;yjc<ScanPara->num;yjc++){fp->Read(&vppipara[yjc],sizeof(VPPISCANPARAMETER));ScanPara->yj[yjc]=float(vppipara[yjc].usAngle/100.0);temprf1=int(vppipara[yjc].usPrf1/10.0+0.5);temprf2=int(vppipara[yjc].usPrf2/10.0+0.5);ScanPara->dsp.frequency=temprf1;if((temprf1*1.0/temprf2)==(3.0/2.0)) ScanPara->dsp.freqctrl=2;else if((temprf1*1.0/temprf2)==(4.0/3.0)) ScanPara->dsp.freqctrl=3;else ScanPara->dsp.freqctrl=1;ScanPara->dsp.pulsewidth=vppipara[yjc].usSpulseW;}rmax=int(vppipara[0].usMaxL/100);long l;//申请数据存储区hData=::GlobalAlloc(GHND,512L*1500L*2L*ScanPara->num);if(!hData){AfxMessageBox("内存不足",MB_OK|MB_ICONSTOP);::GlobalFree(hData);delete fp;return FALSE;}pData=(short*)::GlobalLock(hData);for(l=0;l<(ScanPara->num*512*1500);l++) pData[l]=short(0x8000);//因为pData中存放的是处理后的数据(有0),为了区分无回波和0,规定无回波0x8000=-32768, //0=0fp->Seek(info.liDataOffset,CFile::begin);int i,BEGINPOS,angle;long pos;short tempData[500];for(yjc=0;yjc<ScanPara->num;yjc++)for(angle=0;angle<512;angle++){for(BEGINPOS=0;BEGINPOS<=2;BEGINPOS++){fp->Read(tempData,500L*2);pos=long(yjc*1500*512+angle*1500+BEGINPOS);for(i=0;i<500;i++){pData[pos]=tempData[i];pos+=3;}}}delete fp;openfilename=filename;curyjc=0;return TRUE;}//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //读取数据//filename:要打开的文件名BOOL CFFT::LoadData(CString filename){// if(radar->IsZip) filename=radar->unzipfile;CFile *fp;CString str;try{fp=new CFile(filename,CFile::modeRead);}catch(CFileException* e){radar->ProcessFileError(e,1);return FALSE;}fp->SeekToBegin();fp->Read(&info,sizeof(WEATHERRADAR));fp->Seek(218L,CFile::begin);fp->Read(&vppipara,sizeof(VPPISCANPARAMETER));rmax=int(MaxL/100.0+0.5);TESTPoints=int(Arotate);scanfw=Angle/100.0;oldFFTPoints=FFTPoint;fp->Seek(info.liDataOffset,CFile::begin);fp->Read(linedata.data,256L*2);delete fp;openfilename=filename;ChangeFFTPoints(oldFFTPoints);return TRUE;}//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////。
INDRA二次雷达数据格式分析

鱼 . L ! . I
!l
I! I
l ! I 兰
图1 HD L C帧结构
下面的 MO DE 一 3 / A。表示 方法 为 : I n n n / AA A, 其中n n n为类别号 , A AA 为条 目号 , 如1 0 0 1 / 0 7 0 。 5 ) D a t a F i e l d : 用于描述某一数据 条 目的具体 实现 内容 . 数据域是
一
的内容进行校验
3 I N DR A二 次 雷 达 数 据 格 式
2 A S T E R I X 数 据格 式
I N D RA二次雷达支持普通 A / C模式询 问和 S模式 询问 .支持多 种雷达数据格式的输 出 普通 A / C模式下 的雷达数据类别为 C A T 0 0 1 . 2 . 1 A S T E R I X帧结构 用 于 雷达 输 出单 雷 达 目标信 息 报告 : S模 式下 的雷达 数 据 类别 为 A S T E R I X数据包 封装在 H D L C帧中 的信 息字段 中 .每个 H D L C C A T 0 4 8 . 对 C A T 0 0 1 进行 了适当扩展 , 支持 通信链 路数据 输 出 . 工作 帧一般 封装一个 A S T E R I X数 据包 . 但也可 以封装 多个数 据包 . 如图 2 在s 模式下 的二次雷达能 够获取更多 的飞行信息 。表 l 所 示为深圳 所示 。 I N D RA二次雷达截取到的 CA T 0 4 8雷达数据包 . 代码全部用十六进制 y Vi s i o n
科 技 视 界
科技・ 探索・ 争鸣
I N D R A二次雷达数据格式分析
高光辉 ( 中国民用航空深圳空中交通管理站 , 广东 深圳 5 1 8 1 2 8 )
CINRAD-SA数据格式

NEXRAD LEVELⅡ数据格式简介Nexrad levelⅡ数据是RDA传给RPG的体扫基数据、雷达数据的数字化信息或者是控制/响应信息数据。
数据由许多条记录──Data Packet组成,每个packet 大小为2432字节。
下面主要介绍体扫的记录格式。
每个Data Packet由12字节CTM信息、16字节的记录信息结构、100字节的雷达数据头结构,2300字节的基本数据和4字节的帧继编码组成。
其中,头结构中含有有关体扫参数具体信息。
1、CTM信息(Channel Terminal Manager)第0~11字节,用于从RDA到RPG传输过程中数据完整性校验,对于体扫基数据来说并不是很重要,因此,读取时可以跳过,不予考虑。
2、记录信息(Message Header)结构第12~27字节,用于确定跟在后面的数据是基本数据或者是另外的13类之一,具体结构为:unsigned short int MessageSize; //12~13 表示记录长度,双字节单位表示char ChannelID; //14 信号传输通道号(=0,1,2)char MessageType; //15 记录数据类型,具体说明见6.1short int IDSequence; //16~17 记录顺序号,0~0x7FFF之间循环表示unsigned short int MessageGenerationDate; //18~19 记录产生日期,以1/1/1970以来//的 Julian日期表示unsigned long int MessageGenerationTime; //20~23 记录产生的GMT时间(毫秒) short int MessageSegmentsNumber; //24~25 记录传输分段段数short int MessageSegmentNumber; //26~27 记录传输段号3、雷达数据头(Digital Radar Data Header)结构第28~127字节,用于描述径向数据的日期、时间、方位、仰角和数据类型等信息。
CINRAD数据格式

CINRAD数据格式struct CINRADMESSAGE{char Unused1[14];//1-14 保留//unsigned short int MessageType;//15~16 记录数据类型,具体说明见附表char MessageType;//15~16 记录数据类型,具体说明见附表char Channel;char Unused2[12];//17-28 保留unsigned long int RadialCollectionTime;//29-32 径向资料采集的GMT时间(毫秒)unsigned short int RadialCollectionDate;//33-34 径向资料采集的日期,以1/1/1970以来的Julian日期表示unsigned short int UnambiguousRange;//35-36 不模糊距离,单位:0.1Kmunsigned short int AzimuthAngle;//37-38 方位角,实际值=(value>>3)*0.043945 (度)unsigned short int DataNumber;//39-40 径向数据序号unsigned short int DataStatus;//41-42 径向数据状态short int ElevationAngle;//43-44 仰角,实际值=(value>>3)*0.043945 (度)short int ElevationNumber;// 45-46 体扫内的仰角编号short int FirstGateRangeOfRef;//47-48 第一个强度库的距离(米)short int FirstGateRangeOfDoppler;//49-50 第一个速度/谱宽库的距离(米)short int ReflectivityGateSize;//51-52 强度库长(米)short int DopplerGateSize;//53-54 速度/谱宽库长(米)short int ReflectivityGates;//55-56 强度库数short int DopplerGates;//57-58 速度/谱宽库数char Unused3[5];//59-64 保留unsigned short int RefPointer;//65-66 从雷达数据头到强度数据开始的字节数unsigned short int VelPointer;//67-68 从雷达数据头到速度数据开始的字节数unsigned short int SWPointer;//69-70 从雷达数据头到谱宽数据开始的字节数short int VelResolution;//71-72 速度分辨率:2=0.5m/s;4=1.0m/sshort int VCP;//73-74 体扫VCP模式(11,21,31,32)char Unused4[14];//75-88 保留short int NyquistVelocity;//89-90 Nyquist速率(0.01m/s)不模糊速度char Unused5[38];//91-128 保留unsigned char Data[2300];//129-2428数据char Unused6[4];//2429-2432 保留};//取得日期void CRadBaseData::GetRadialDate(unsigned short JulianDate, int& year, int& month, int& day) {int JLDAYN = JulianDate+2440587;int L = JLDAYN + 68569 ;int N = 4 * L / 146097 ;L = L - (146097 * N + 3) / 4 ;int I = 4000 * (L + 1) / 1461001 ;L = L - 1461 * I / 4 + 31 ;int J = 80 * L / 2447 ;day = L - 2447 * J / 80 ;L = J / 11 ;month = J + 2 - 12 * L ;year = 100 * (N - 49) + I + L ;}//取得时间void CRadar::GetRadialTime(unsigned long liMilliSeconds, int& hour, int& minute, int& seconds){int Seconds=liMilliSeconds;///1000;hour = Seconds/3600;minute= (Seconds-hour*3600)/60 ;seconds = Seconds -(60*hour+minute)*60 ;}。
8.天气雷达基数据标准格式(v0)

8.天气雷达基数据标准格式(v1.0)-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN天气雷达基数据标准格式(版)1 概述适用范围本格式规定了天气雷达基数据文件的结构、命名、单位和参数范围,我国各型号天气雷达生成的基数据应符合本格式要求。
本格式适用于基数据的传输、存储和服务。
数据类型定义文中的数据类型定义均基于32位操作系统(如Linux/Windows),主要包括:• INT – 4字节整型• SHORT – 2字节整型• CHAR*N – N字节字符型• FLOAT – 4字节浮点类型,符合IEEE754规范• LONG – 8字节整型基数据结构基数据文件分为多个区块,每个区块描述一组信息。
如站点配置块用来描述雷达站的信息,包括经纬度、天线架设高度等。
基数据可分为公共数据块和径向数据块两部分(整体结构见表1-1),其中:公共数据块用于提供数据站点信息、任务配置等公共信息。
(见第二章)径向数据块用于存储天气雷达的探测资料,包括3个子块:径向头、径向数据头以及径向数据。
(见第三章)表1-1 基数据整体结构I表示径向数据长度,参见表3-1中的数据长度说明。
2 公共数据块公共数据块用于描述数据采集所需的参数,如雷达站点信息和任务配置参数等。
详细描述见表2-1。
通用头块通用头块用于标识文件的类别,内容主要包括文件格式版本、文件类型等信息,共32字节。
见表2-2。
站点配置块站点配置块用于描述雷达站信息,共128字节。
详见表2-3。
表 2-3 站点配置块任务配置块任务配置块提供雷达扫描任务一般信息,主要包括PPI、RHI以及扇扫等,共256字节。
详见表2-4。
扫描配置块扫描配置块提供具体扫描配置信息,每扫描配置块由256字节组成。
详见表2-5。
对于扫描任务来说,通常包括不止一个仰角或方位角,多个扫描的配置块依次排列在任务配置块后面。
3 径向数据块径向头块径向头块提供数据状态、采集时间等信息,共64字节,详见表3-1。
minshida_雷达基数据格式

CINRAD SA/SB 雷达基数据格式说明:1.数据的存储方式每个体扫存储为一个单独的文件2.数据的排列方式按照径向数据的方式顺序排列,对于CINRAD SA/SB雷达,体扫数据排列自低仰角开始到高仰角结束。
3.径向数据的长度径向数据的长度固定,为2432字节。
4.距离库长和库数反射率距离库长为1000米,最大距离库数为460;速度和谱宽距离库长为250米,最大距离库数为920。
CINRAD CB雷达基数据格式说明:5.数据的存储方式每个体扫存储为一个单独的文件6.数据的排列方式按照径向数据的方式顺序排列,对于CINRAD CB雷达,体扫数据排列自低仰角开始到高仰角结束。
7.径向数据的长度径向数据的长度固定,为4132字节。
8.距离库长和库数反射率距离库长为500米,最大距离库数为800;速度和谱宽距离库长为125米,最大距离库数为1600。
程序中的重要数据说明1.文件名Filename[],输入需要读取的基数据的文件名。
需将该文件放在执行程序所在的目录中才能读出其中的数据。
2.保存反射率、速度、谱宽,各层仰角的数组。
文件中读取的基数据存放在下列数组中:float VolRef[MaxCuts][MaxRads][RGates]; //反射率(浮点型,单位:DBZ)float VolVel[MaxCuts][MaxRads][VGates]; //速度(浮点型,单位:M/S)float VolSpw[MaxCuts][MaxRads][WGates]; //谱宽(浮点型,单位:M/S)float Elvation[MaxCuts]; //各层仰角(浮点型,单位:度)数组中无效数据标记为-999.0,距离折叠标记为999.0。
其中,1)MaxCuts=20,为最大层数;2)MaxRads为方位数,每度保存一个径向;3)Rgates为每个径向上反射率的距离库数,C波段为800,对应分辨率为0.5公里;S 波段为460,对应分辨率为1公里;4)Vgates为每个径向上径向速度的距离库数,C波段为1600,对应分辨率为0.125公里;S波段为920,对应分辨率为0.25公里;5)Wgates为每个径向上谱宽的距离库数,C波段为1600,对应分辨率为0.125公里;S波段为920,对应分辨率为0.25公里;3.读取不同波段的基数据文件的方法在头文件DataFormat.h中,对距离库数的定义为,用来读取S波段的基数据:const int RGates = 460; //反射率距离库数const int VGates = 920; //速度距离库数const int WGates = 920; //谱宽距离库数若要读取C波段的基数据时,只需将上述定义修改为:const int RGates = 800; //反射率距离库数const int VGates = 1600; //速度距离库数const int WGates = 1600; //谱宽距离库数注意:1)关于仰角层的说明:SA,SB,CB雷达在低层每个仰角上扫描两次,程序中,在保存基数据到数组中时,记为一个仰角层。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CINRAD SA/SB 雷达基数据格式
说明:
1.数据的存储方式
每个体扫存储为一个单独的文件
2.数据的排列方式
按照径向数据的方式顺序排列,对于CINRAD SA/SB雷达,体扫数据排列自低仰角开始到高仰角结束。
3.径向数据的长度
径向数据的长度固定,为2432字节。
4.距离库长和库数
反射率距离库长为1000米,最大距离库数为460;
速度和谱宽距离库长为250米,最大距离库数为920。
CINRAD CB雷达基数据格式
说明:
5.数据的存储方式
每个体扫存储为一个单独的文件
6.数据的排列方式
按照径向数据的方式顺序排列,对于CINRAD CB雷达,体扫数据排列自低仰角开始到高仰角结束。
7.径向数据的长度
径向数据的长度固定,为4132字节。
8.距离库长和库数
反射率距离库长为500米,最大距离库数为800;
速度和谱宽距离库长为125米,最大距离库数为1600。
程序中的重要数据说明
1.文件名
Filename[],输入需要读取的基数据的文件名。
需将该文件放在执行程序所在的目录中才能读出其中的数据。
2.保存反射率、速度、谱宽,各层仰角的数组。
文件中读取的基数据存放在下列数组中:
float VolRef[MaxCuts][MaxRads][RGates]; //反射率(浮点型,单位:DBZ)
float VolVel[MaxCuts][MaxRads][VGates]; //速度(浮点型,单位:M/S)
float VolSpw[MaxCuts][MaxRads][WGates]; //谱宽(浮点型,单位:M/S)
float Elvation[MaxCuts];
//各层仰角(浮点型,单位:度)
数组中无效数据标记为-999.0,距离折叠标记为999.0。
其中,
1) MaxCuts=20,为最大层数;
2) MaxRads为方位数,每度保存一个径向;
3) Rgates为每个径向上反射率的距离库数,C波段为800,对应分辨率为0.5公里;S波段为460,对应分辨率为1公里;
4) Vgates为每个径向上径向速度的距离库数,C波段为1600,对应分辨率为0.125公里;S波段为920,对应分辨率为0.25公里;
5) Wgates为每个径向上谱宽的距离库数,C波段为1600,对应分辨率为0.125公里;S波段为920,对应分辨率为0.25公里;
3.读取不同波段的基数据文件的方法
在头文件DataFormat.h中,对距离库数的定义为,用来读取S波段的基数据:
const int RGates = 460; //反射率距离库数
const int VGates = 920; //速度距离库数
const int WGates = 920; //谱宽距离库数
若要读取C波段的基数据时,只需将上述定义修改为:
const int RGates = 800; //反射率距离库数
const int VGates = 1600; //速度距离库数
const int WGates = 1600; //谱宽距离库数
注意:
1)关于仰角层的说明:
SA,SB,CB雷达在低层每个仰角上扫描两次,程序中,在保存基数据到数组中时,记为一个仰角层。
以21扫描模式为例,VCP仰角为:
0.5,0.5,1.5,1.5,2.4,3.4,4.3,6.0,9.9,14.6,19.5 ----11个PPI扫描
其中0.5和1.5分别扫描2次,记为一个仰角,因此,数组Elvation[]中有9个有效元素,为:
0.5,1.5,2.4,3.4,4.3,6.0,9.9,14.6,19.5
相应的,基数据9层有效。
2)数组中无效数据记为-999.0,距离折叠标记为999.0。