CINRADSASB雷达基数据格式
- 格式:doc
- 大小:112.00 KB
- 文档页数:9
天气雷达基数据标准格式(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 范围内。
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;}//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////。
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数据格式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.天气雷达基数据标准格式(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。
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雷达在低层每个仰角上扫描两次,程序中,在保存基数据到数组中时,记为一个仰角层。
第一章引论新一代天气雷达概述CIRNAD/SA型雷达主要由RDA(Radar Data Acquisition)、RPG (Radar Product Generator)、PUP(Principal User Processor)三部份组成。
RDA(Radar Data Acquisition)由四个部份组成:发射机、天线、接收机、信号处置器。
发射机:产生高功率(峰值功率750KW)超级稳固的10cm的射频脉冲。
天线:扫描方式:扫描方式告知雷达在一次体积扫描中利用多少仰角和时刻。
CINRAD/SA利用三种扫描方式:扫描方式1#:5分钟完成14个不同仰角上的扫描;扫描方式2#:6分钟完成9个不同仰角上的扫描;扫描方式3#:10分钟完成5个不同仰角上的扫描;体扫模式:体扫模式规定利用哪个扫描方式,而且规定哪些具体的仰角。
目前CINRAD/SA概念的体扫模式有4个:VCP11(扫描方式1# )、VCP21(扫描方式2# )、VCP31(扫描方式3# )、VCP32(扫描方式3# )。
VCP31和VCP32的区别在与VCP31利用长脉冲而VCP32利用短脉冲。
最常常利用的VCP为VCP21接收机:放大由天线接收的回波能量,以便模数转换和后续处置。
信号处置器完成三种重要功能:地物杂波消除、模数转换,和退多普勒数据的距离折叠。
RPG(Radar Product Generator)主要任务是把RDA传来的大体数据,对其处置和生产各类产品分发给PUP。
产品分为大体产品和导出产品。
大体产品:指定仰角上的大体反射率因子、大体径向速度和大体谱宽产品。
导出产品:把体扫基数据通过特定算法而取得的产品。
PUP(Principal User Processor)获取、存储和显示产品。
主要功能包括:产品请求(获取)、产品数据存储和管理、状态监视、产品编辑注释产品请求方式:常规产品列表(RPS)、一次性请求(OTR)、产品-预警配对(PAP)天气雷达的局限性(1)是波束中心的高度随距离的增加而增加;(2)是波束宽度随距离的增加而展宽;(3)是静静锥区的存在。
CINRADSC型天气雷达用途:CINRAD/SC型天气雷达属于S波段全相参体制的多普勒天气雷达,具有实时探测回波强度(dBZ)、径向速度(v)和谱宽(w)等气象参数。
对台风、暴雨、冰雹、龙卷等灾害性天气进行有效监测和预警,对大范围降水进行定量测量,监测恶劣天气带来的风灾,获取降水区中风场信息和一定强的晴空探测能力。
适用于气象、水利、航空、军事和科研等部门。
组成:雷达由天线罩、天线、馈线、天线控制和伺服、速调管发射机、数字中频接收机、数字中频多普勒信号处理器、多普勒数据处理和显示终端、监测和标校控制终端、配电等系统组成。
工作频率2700~2900MHz点频工作雷达体制:全相干脉冲多普勒体制天线形式:8.54米圆抛物面天线强度监测距离:≥500km强度测量距离:≥200km速度监测距离:≥250km方位扫描范围:0°~360°俯仰扫描范围:-2°~+90°距离精度:150m方位精度:0.2°仰角精度:0.2°高度精度:200m(距离≤100km),300m(距离>100km)强度参数测量范围:-10~+70dBZ速度参数测量范围:±48m/s(250km),±78m/s(150km)谱宽参数测量范围:0~16m/s电源电压:三相380V±10% 50Hz±1Hz整机功耗:≤25Kw工作条件温度:0℃~+40℃(室内);-40℃~+55℃(室外)相对湿度:90%~96%(室内30℃)95%~100%(室外30℃)海拔高度:4500米以下抗风能力:风速≤50m/s时正常工作风速≤60m/s时(阵风)天线不产生永久形变雷达具有防潮、防霉、防盐雾、防风沙的性能MTBF≥400小时;MTTR≤0.5小时运输方式公路、铁路、水路和航空运输天线罩直径:12m 射频损失:≤0.3dB天线天线直径:8.54m 增益:≥44dB波束宽度:≤1.0°第一旁瓣电平:≤-29dB远端附瓣(10度以外):≤-40dB发射机脉冲峰值功率:≥750kW 发射脉冲宽度:1、4μs脉冲重复频率:300~1000Hz(1μs)300~450Hz(4μs)参差重复频率比:2/3、3/4 相位稳定度:≤0.15°接收机中频频率:30MHz 噪声系数:≤4dB线性动态范围:≥90dB灵敏度:优于-107 dBm(1μs)优于-113 dBm(4μs)信号处理器A/D转换器位数:14位库长:125m、250m、500m强度处理:距离上采用分库累积平均方位角上采用滑动累积平均多普勒处理:脉冲对算法(PPP)快速傅立叶变换(FFT)双重频去速度模糊(DPRF)随机相位法(RPHASE)处理范围:500km 地物对消能力:30~50dB距离平均数:1、2、4、8 方位平均数:16、32、64、128信号强度的估算精度:优于1dB平均速度估值误差:1m/s(S/N>10dB 速度谱宽<4m/s)谱宽估值误差:1m/s(S/N>10dB)输出信号:触发脉冲dBZ,V,W信号和dBT信号伺服系统天线扫描方式:PPI、RHI、体扫天线扫描速度:PPI 为0~18°/s可调RHI 为0~3°/s可调天线定位精度:方位、仰角均≤0.2°气象雷达原理:雷达通过方向性很强的天线向空间发射脉冲无线电波,它在传播过程中和大气发生各种相互作用。
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。