rainattnver3

download rainattnver3

If you can't read please download the document

description

rainwater

Transcript of rainattnver3

/**********************************************************/ /* */ /* Rain Attenuation for 1 to 400GHz as a function of */ /* rain rate up to 200 mm/h based on Rec.ITU-R P.838 */ /* */ /* by */ /* H.Wakai & N.Wakai */ /* */ /* Revised in 8 April 2002 */ /**********************************************************/ /*This program for calculating the rain attenuation based on Rec. ITU-R P.838-1 is revised with qudratic interpolation methodfor 31 frequencies between 1 to 400 GHz as a function of rain rate up to 200 mm/h. */#include #include #define PAI 3.14159265#define DTR PAI/180.0void attenuation(int);void coef(int);void element(double *,int);void quadint();double determ(double);int fl,fu;double dist,theta,tau;double thetar,taur,freq;double kh[31],kv[31],ah[31],av[31];double khl,kvl,ahl,avl;double khu,kvu,ahu,avu;double x,y,z,u;double a[3][3],b[3],c[3];double lf,lfu,lfl,lkhu,lkvu,lkh,lkv,lkhl,lkvl;double freq_int[31] = {1,1.5,2,2.5,3,4,5,6,7,8,9,10,12,15,20,25,30,35,40 ,45,50,60,70,80,90,100,120,150,200,300,400};int r;void main(void){int i,m; kh[0]=0.0000387; kv[0]=0.0000352; ah[0]=0.9122; av[0]=0.8801;kh[1]=0.0000868; kv[1]=0.0000784; ah[1]=0.9341; av[1]=0.8905;kh[2]=0.0001543; kv[2]=0.0001388; ah[2]=0.9629; av[2]=0.9230;kh[3]=0.0002416; kv[3]=0.0002169; ah[3]=0.9873; av[3]=0.9594;kh[4]=0.0003504; kv[4]=0.0003145; ah[4]=1.0185; av[4]=0.9927;kh[5]=0.0006479; kv[5]=0.0005807; ah[5]=1.1212; av[5]=1.0749;kh[6]=0.0011030; kv[6]=0.0009829; ah[6]=1.2338; av[6]=1.1805;kh[7]=0.0018130; kv[7]=0.0016030; ah[7]=1.3068; av[7]=1.2662;kh[8]=0.0029150; kv[8]=0.0026500; ah[8]=1.3334; av[8]=1.3086;kh[9]=0.004567; kv[9]=0.003996; ah[9]=1.3275; av[9]=1.3129;kh[10]=0.006916; kv[10]=0.006056; ah[10]=1.3044; av[10]=1.2937;kh[11]=0.010060; kv[11]=0.008853; ah[11]=1.2747; av[11]=1.2636;kh[12]=0.018820; kv[12]=0.016800; ah[12]=1.2168; av[12]=1.1994;kh[13]=0.03689; kv[13]=0.03362; ah[13]=1.1549; av[13]=1.1275;kh[14]=0.07504; kv[14]=0.06898; ah[14]=1.0995; av[14]=1.0663;kh[15]=0.1237; kv[15]=0.11250; ah[15]=1.0604; av[15]=1.0308;kh[16]=0.1864; kv[16]=0.16730; ah[16]=1.0202; av[16]=0.9974;kh[17]=0.2632; kv[17]=0.23410; ah[17]=0.9789; av[17]=0.9630;kh[18]=0.3504; kv[18]=0.31040; ah[18]=0.9394; av[18]=0.9293;kh[19]=0.4426; kv[19]=0.39220; ah[19]=0.9040; av[19]=0.8981;kh[20]=0.5346; kv[20]=0.47550; ah[20]=0.8735; av[20]=0.8705;kh[21]=0.7039; kv[21]=0.63470; ah[21]=0.8266; av[21]=0.8263;kh[22]=0.8440; kv[22]=0.77350; ah[22]=0.7943; av[22]=0.7948;kh[23]=0.9552; kv[23]=0.88880; ah[23]=0.7719; av[23]=0.7723;kh[24]=1.0432; kv[24]=0.98320; ah[24]=0.7557; av[24]=0.7558;kh[25]=1.1142; kv[25]=1.06030; ah[25]=0.7434; av[25]=0.7434;kh[26]=1.2218; kv[26]=1.17660; ah[26]=0.7255; av[26]=0.7257;kh[27]=1.3293; kv[27]=1.28860; ah[27]=0.7080; av[27]=0.7091;kh[28]=1.4126; kv[28]=1.37640; ah[28]=0.6930; av[28]=0.6948;kh[29]=1.3737; kv[29]=1.36650; ah[29]=0.6862; av[29]=0.6869;kh[30]=1.3163; kv[30]=1.30590; ah[30]=0.6840; av[30]=0.6849; printf("///Rain Attenuation for 1 to 400GHz ///\n"); /* printf("input rain rate in mm/hr :\t");scanf("%lf",&r);*/printf("input path length in [km]\t");scanf("%lf",&dist);printf("input path elevation angle in [degree]\t");scanf("%lf",&theta);printf("input polarization tilt angle relative to horizontal\n");printf("(45 deg for circlar polarization [degree]\t");scanf("%lf",&tau);thetar = theta * DTR;taur = tau * DTR;printf("input operating frequency in GHz\t");scanf("%lf",&freq);if(freq < 1.0){printf("input error!\n");getch();exit(-1);}if(freq > 400){printf("Frequency should be less than 400 GHz!!\n");getch();exit(-1);}for(i = 0;i