CC雷达基数据格式说明附函数要点.docx

上传人:b****6 文档编号:7757974 上传时间:2023-01-26 格式:DOCX 页数:15 大小:19.76KB
下载 相关 举报
CC雷达基数据格式说明附函数要点.docx_第1页
第1页 / 共15页
CC雷达基数据格式说明附函数要点.docx_第2页
第2页 / 共15页
CC雷达基数据格式说明附函数要点.docx_第3页
第3页 / 共15页
CC雷达基数据格式说明附函数要点.docx_第4页
第4页 / 共15页
CC雷达基数据格式说明附函数要点.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

CC雷达基数据格式说明附函数要点.docx

《CC雷达基数据格式说明附函数要点.docx》由会员分享,可在线阅读,更多相关《CC雷达基数据格式说明附函数要点.docx(15页珍藏版)》请在冰豆网上搜索。

CC雷达基数据格式说明附函数要点.docx

CC雷达基数据格式说明附函数要点

CINRAD/CC/CCJ雷达原始数据格式

声明:

本数据格式适用CINRAD/CC和CINRAD/CCJ.安徽四创电子股份有限公司保留最终解释权.本文档仅供内部交流,请不要发表.

文件名:

平扫(PPI):

NNNNYYDDHH.MMP

高扫(RHI):

NNNNYYDDHH.MMR

体扫(VPPI):

NNNNYYDDHH.MMV

单库FFT:

NNNNYYDDHH.MMF

等高PPI(CAPPI):

NNNNYYDDHH.MMC

N:

年Y:

月D:

日H:

时M:

数据组成:

整个数据由文件头(1个)和基于极坐标系的原始数据(512个径向)组成.

文件头:

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//tagWEATHERRADAR雷达信息的结构

typedefstructtagWEATHERRADAR

{

charcFileType[16];//3830数据标识(CINRADC)

charcCountry[30];//国家名

charcProvince[20];//省名

charcStation[40];//站名

charcStationNumber[10];//区站号

charcRadarType[20];//雷达型号

charcLongitude[16];//天线所在经度

charcLatitude[16];//天线所在纬度

longlLongitudeValue;//具体经度

longlLatitudeValue;//具体纬度

longlHeight;//天线海拔高度

shortsMaxAngle;//地物阻挡最大仰角

shortsOptAngle;//最佳观测仰角

unsignedcharucSYear1;//观测开始时间的年千百位(19-20)

unsignedcharucSYear2;//观测开始时间的年十个位(00-99)

unsignedcharucSMonth;//观测开始时间的月(1-12)

unsignedcharucSDay;//观测开始时间的日(1-31)

unsignedcharucSHour;//观测开始时间的时(0-23)

unsignedcharucSMinute;//观测开始时间的分(0-59)

unsignedcharucSSecond;//观测开始时间的秒(0-59)

unsignedcharucTimeFrom;//时间来源0-计算机时钟(1天内未对时)

//1-计算机时钟(1天内已对时)

//2-GPS

//3-其它

unsignedcharucEYear1;//观测结束时间的年千百位(19-20)

unsignedcharucEYear2;//观测结束时间的年十个位(00-99)

unsignedcharucEMonth;//观测结束时间的月(1-12)

unsignedcharucEDay;//观测结束时间的日(1-31)

unsignedcharucEHour;//观测结束时间的时(0-23)

unsignedcharucEMinute;//观测结束时间的分(0-59)

unsignedcharucESecond;//观测结束时间的秒(0-59)

unsignedcharucScanMode;//扫描方式1-RHI

//10-PPI和ZPPI

//1XX=VPPI(XX为扫描圈数)

unsignedlongulSmilliSecond;//以微秒为单位表示的秒的小数位

unsignedshortusRHIA;//RHI所在的方位角(0.01度为单位)

//PPI和VPPI时为FFFF

shortsRHIL;//RHI所在的最低仰角(0.01度为单位)

//PPI和VPPI时为FFFF

shortsRHIH;//RHI所在的最高仰角(0.01度为单位)

//PPI和VPPI时为FFFF

unsignedshortusEchoType;//回波类型0x405a-Z0x406a-V0x407a-W

//0x408a-ZVW三要素

unsignedshortusProdCode;//数据类型0x8001-PPI数据0x8002-RHI数据

//0x8003-VPPI数据0x8004-单强度PPI数据

//0x8005-CAPPI数据

unsignedcharucCalibration;//标校状态0-无1-自动2-1星期内人工

//3-1月内人工

unsignedcharremain1[3];//保留字

unsignedcharremain2[660];//保留字,放VPPISCANPARAMETER数据

//该结构的说明见后

longlAntennaG;//天线增益(0.001dB)

longlPower;//峰值功率(瓦)

longlWavelength;//波长(微米)

unsignedshortusBeamH;//垂直波束宽度(秒)

unsignedshortusBeamL;//水平波束宽度(秒)

unsignedshortusPolarization;//极化状态0-水平1-垂直2-双偏振

//3-圆偏振4-其它

unsignedshortusLogA;//对数动态范围(0.01dB)

unsignedshortusLineA;//线性动态范围(0.01dB)

unsignedshortusAGCP;//AGC延迟量(微秒)

unsignedshortusFreqMode;//频率方式1-单重复频率2-双重复频率3:

2

//3-双重复频率4:

3

unsignedshortusFreqRepeat;//重复频率

unsignedshortusPPPPulse;//PPP脉冲数

unsignedshortusFFTPoint;//FFT间隔点数

unsignedshortusProcessType;//信号处理方式1-PPP2-全程FFT

//3-单库FFT

unsignedcharucClutterT;//杂波消除阀值(即STC)

charcSidelobe;//第一旁瓣(dB)

unsignedcharucVelocityT;//速度门限

unsignedcharucFilderP;//地物消除方式0-无1-IIR滤波器1

//2-IIR滤波器23-IIR滤波器3

//4-IIR滤波器4

unsignedcharucNoiseT;//噪声消除阀值(即强度门限)

unsignedcharucSQIT;//SQI门限

unsignedcharucIntensityC;//DVIP强度值估算采用的通道

//1-对数通道2-线性通道

unsignedcharucIntensityR;//强度值估算是否距离订正

//0-无(dB)1-已订正(dBZ)

unsignedcharucCalNoise;//噪声系数标定值

unsignedcharucCalPower;//发射功率标定值

unsignedcharucCalPulseWidth;//脉冲宽度标定值

unsignedcharucCalWorkFreq;//工作频率标定值

unsignedcharucCalLog;//对数斜率标定值

charremain3[92];//保留字

unsignedlongintliDataOffset;//数据偏移地址

}WEATHERRADAR;

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//tagVPPISCANPARAMETER仰角层的结构

typedefstructtagVPPISCANPARAMETER

{

unsignedshortusMaxV;//最大可测速度(厘米/秒)

unsignedshortusMaxL;//最大可测距离(10米)

unsignedshortusBindWidth;//库长(米)

unsignedshortusBinNumber;//每径向库数

unsignedshortusRecordNumber;//本圈径向数

unsignedshortusArotate;//本圈转速(0.01度/秒)

unsignedshortusPrf1;//本圈第一次重复频率(0.1Hz)对应单重频或双重频的高者

unsignedshortusPrf2;//本圈第二次重复频率(0.1Hz)对应双重频的低者

unsignedshortusSpulseW;//本圈脉宽(微秒)

shortusAngle;//仰角(0.01度)

unsignedcharcSweepStatus;//1=单要素2=三要素(单重频)3=三要素(双重频)

unsignedcharcAmbiguousp;//0=无软件退模糊1=软件退模糊

}VPPISCANPARAMETER;

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

注:

在WEATHERRADAR结构的remain2处填写了的VPPISCANPARAMETER;结构表明

本仰角层的参数(对PPI和VPPI而言)或其他含义(对RHI和单库FFT文件而言)

VPPI有几层填几个,PPIRHIFFT数据只填写一层即一个.

原始数据:

PPI RHIVPPI的数据排列如下:

第0个径向的数据:

Z(字) 500个

V(字) 500个

W(字) 500个

….

….

第512个径向的数据:

Z(字) 500个

V(字) 500个

W(字) 500个

注:

ZVW均为16位的字型数据(在C语言中用shortint有符整型)

所读出的值除以10得到一个小数就是最终的值.

Z以dBz为单位VW均以m/s为单位

读出的数据如果是0x8000,说明此处无回波.这样做的目的是为了必须区别回波强度

为0和无回波.

单库FFT数据排列如下:

当为256点时:

256个通道的功率值(字型单位:

dB)

当为128点时:

128个通道的功率值(字型单位:

dB)

 

附函数段:

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//检查要打开的文件

//filename:

文件名

CStringCRadar:

:

CheckData(CStringfilename)

{

CFile*fp;

CStringstr="INVALID",error,tempfilename=filename;

try{

fp=newCFile(filename,CFile:

:

modeRead);

}

catch(CFileException*e){

ProcessFileError(e,1);

returnstr;

}

WEATHERRADARtempinfo;

fp->SeekToBegin();

fp->Read(&tempinfo,sizeof(WEATHERRADAR));

if(strcmp(tempinfo.cFileType,"CINRADC"))

{

error.Format("%s不是3830雷达数据文件!

",tempfilename);

AfxMessageBox(error,MB_OK|MB_ICONSTOP);

deletefp;

returnstr;

}

if(tempinfo.usProdCode==0x8001)str="PPI";

elseif(tempinfo.usProdCode==0x8002)str="RHI";

elseif(tempinfo.usProdCode==0x8003)str="VPPI";

elseif(tempinfo.usProdCode==0x8004)str="ZPPI";

elseif(tempinfo.usProdCode==0x8005)str="CAPPI";

elseif(tempinfo.usProdCode==0x8006)str="FFT";

else

{

error.Format("文件%s不是3830雷达数据文件!

",tempfilename);

AfxMessageBox(error,MB_OK|MB_ICONSTOP);

}

deletefp;

returnstr;

}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//读取数据

//filename:

要打开的文件名

BOOLCPPI:

:

LoadData(CStringfilename)

{

CFile*fp;

CStringstr;

try{

fp=newCFile(filename,CFile:

:

modeRead);

}

catch(CFileException*e){

radar->ProcessFileError(e,1);

returnFALSE;

}

fp->SeekToBegin();

fp->Read(&info,sizeof(WEATHERRADAR));

fp->Seek(218L,CFile:

:

begin);

fp->Read(&vppipara,sizeof(VPPISCANPARAMETER));

rmax=int(vppipara.usMaxL/100.0+0.5);

scanyj=vppipara.usAngle/100.0;

//装地图文件

longl;

//申请数据存储区

hData=:

:

GlobalAlloc(GHND,512L*1500L*2L);

if(!

hData)

{

AfxMessageBox("内存不足",MB_OK|MB_ICONSTOP);

:

:

GlobalFree(hData);

deletefp;

returnFALSE;

}

pData=(short*):

:

GlobalLock(hData);

for(l=0;l<(512*1500);l++)pData[l]=short(0x8000);//程序中用来表示有无数据,可以

//不用考虑

fp->Seek(info.liDataOffset,CFile:

:

begin);

inti,BEGINPOS,angle;

longpos;

shorttempData[500];

//我的程序要把每一个径向的连续的ZVW数据块读出后再按每个点排列成

//第1个点的ZVW第2个点的ZVW…./第500个点的ZVW

//可以不用考虑

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;

}

}

}

}

elseif(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;

}

}

}

deletefp;

openfilename=filename;

returnTRUE;

}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//读取数据

//filename:

要打开的文件名

BOOLCRHI:

:

LoadData(CStringfilename)

{

CFile*fp;

CStringstr;

try{

fp=newCFile(filename,CFile:

:

modeRead);

}

catch(CFileException*e){

radar->ProcessFileError(e,1);

returnFALSE;

}

fp->SeekToBegin();

fp->Read(&info,sizeof(WEATHERRADAR));

fp->Seek(218L,CFile:

:

begin);

fp->Read(&vppipara,sizeof(VPPISCANPARAMETER));

rmax=int(vppipara.usMaxL/100);

scanfw=info.usRHIA/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);

deletefp;

returnFALSE;

}

pData=(short*):

:

GlobalLock(hData);

longl;

for(l=0;l<(512*1500);l++)pData[l]=short(0x8000);

fp->Seek(info.liDataOffset,CFile:

:

begin);

inti,BEGINPOS,angle;

longpos;

shorttempData[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;

}

}

}

deletefp;

openfilename=filename;

if(pDC||pmemDC||pbackDC)ChangeDistanceOrHeight(rmax,hmax);

returnTRUE;

}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//读取数据

//filename:

要打开的文件名

BOOLCVPPI:

:

LoadData(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1