ebook img

SUBROUTINES LIST for ITWOM 3.0 41 subroutines alphabetical by name by line number PDF

478 Pages·2011·2.07 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview SUBROUTINES LIST for ITWOM 3.0 41 subroutines alphabetical by name by line number

SUBROUTINES LIST for ITWOM 3.0 41 subroutines alphabetical by name by line number: name line number line number name abq_alos 255 112 int mymin adiff 423 120 int mymax adiff2 480 128 double mymin ahd 236 136 double mymax aknfe 155 144 FORTRAN_DIM alos 874 155 aknfe alos2 913 166 fht area 2772 198 h0f ascat 757 236 ahd avar 1505 255 abq_alos curve 1490 260 saalos d1thx 2029 423 adiff d2thx2 2084 480 adiff2 deg2rad 2319 757 ascat fht 166 830 qerfi FORTRAN_DIM 144 851 qlrps h0f 198 874 alos hzns 1712 913 alos2 hzns2 1765 1013 qlra ITMAreadBLoss 2844 1056 lrprop ITWOMVersion 2862 1236 lrprop2 lrprop 1056 1490 curve lrprop2 1236 1505 avar int mymax 120 1712 hzns double mymax 136 1765 hzns2 int mymin 112 1854 z1sql double mymin 128 1893 z1sql2 point_to_point 2427 1935 qtile point_to_point_ITM 2329 2004 qerf point_to_pointDH 2673 2029 d1thx point_to_pointMDH_two 2568 2084 d2thx2 qerf 2004 2139 qlrpfl qerfi 830 2211 qlrpfl2 qlra 1013 2319 deg2rad qlrpfl 2139 2329 point_to_point_ITM qlrpfl2 2211 2427 point_to_point qlrps 851 2568 point_to_pointMDH_two qtile 1935 2673 point_to_pointDH saalos 260 2772 area z1sql 1854 2844 ITMAreadBLoss z1sql2 1893 2862 ITWOMVersion SUBROUTINE ADIFF: A functional explanation, by Sid Shumate. Last Revised: March 9, 2008. Attenuation from Diffraction for ITWOM subroutine. Note: Used with both point-to-point and area modes. Called by lrprop. Descriptions derived from the Irregular Terrain Model description by George Hufford, 2002, (ITMD), compared to the ITM.cpp prepared by J. D. McDonald and John Magliacane for compilation on unix and linux systems. “Line” numbers refer to the ITM.cpp as line numbered by Bloodshed Software’s DevC++ print function. “Alg” numbers refer to the algorithm formula in “The ITS Irregular Terrain Model, version 1.22, the Algorithm” by G. A. Hufford, 1995 (the Algorithm). “ITS67” numbers refer to the algorithm formulas in “ESSA Technical Report ERL 79-ITS 67, Prediction of Tropospheric Radio Transmission Over Irregular Terrain, A Computer Method – 1968” by A.G.Longley and P.L.Rice. For additional background on this function, see section 3-2, page 3-8 to 3-13 of ESSA Technical Report ERL 79-ITS 67 (ITS-67). From ITMD Section 10, 11, 12: The function adiff finds the “diffraction attenuation” at the distance d. It uses a convex combination of smooth earth diffraction and double knife-edge diffraction. A call with d = 0 is necessary to set up initial constants. Call inputs: d distance from transmit site at which diffraction attenuation is to be determined. Prop_type &prop array prop with array elements: propa_type &propa array propa with array elements: defines private, or local, arguments: prop_zgnd an array containing values of the zgnd surface transfer impedance, with elements: prop.zgndreal, the real, (resistive) component of the surface transfer impedance; prop.zgndimag; the imaginary, (reactive) component. wd1 1/wd, the inverse of the weighting factor wd xd1 dla added to a curvature adjustment equal to tha/gme. afo, attenuation from absorption and scattering from oxygen, water vapor, precipitation and terrain clutter. qk the product of the effective height of the transmit receive terminal multiplied by the receive terminal effective height, less the product of the transmit receive terminal height AGL multiplied by the receive terminal height AGL; later set to be equal to 1/|zgnd|. aht, coefficient; see text below. xht; coefficient; see text below. a preset to be equal to dl2/2he (then to ds/th) for each terminal site q utility variable; used for temporary holding of a value pk absolute value of K; stated as |K| in [Alg. 6.6] ds the difference, in meters, between prop.dist, the total path distance, and dla, the sum of the horizon distances. It equals zero for one obstruction; positive for multiple obstructions; negative for line-of-sight. th the sum of the transmit and receive take-off angles to the peaks of the highest visible obstructions. wa equal to (a * wn)1/3; calculated twice, once for each terminal. ar attenuation due to rounded edge diffraction wd the weighting factor for knife edge versus rounded edge adiffv attenuation due to diffraction, the output value This subroutine: Uses d, prop_type, propa_type, and other information in arrays prop and propa in order to calculate the attenuation due to diffraction over an obstacle at a distance d using a convex combination of smooth earth diffraction and double knife-edge diffraction. 1. In steps 1-3, wd1, the inverse of the weighting factor wd, is calculated. An if statement is initiated; it operates from lines 225 to 254. If d is not equal to zero, go to the else statement in step 13 below, on line 256. If d is equal to zero, coefficients wd1, xd1, afo, ql, aht and x∆t will be determined: a. q is set to be equal to prop.hg[0] times prop.hg[1], the product of the transmit antenna height above ground level, multipled by the receive antenna height above ground level; units in meters, so output is in square meters. b. qk is set to be equal to the product of the effective height of the transmit antenna, prop.he[0], multipled by the effective height of the receive antenna, prop.he[1], less the value of q from step a.; output is in square meters. Line 225: if (d = = 0) q=prop.hg[0]*prop.hg[1]; qk=prop.he[0]*prop.he[1]-q; 2. A second if statement is initiated within the first; if prop.mdp, the mode of the propagation model, is less than zero, indicating operation in the point-to-point mode, the value of q is increased by 10. Line 230: if (prop.mdp<0.0) q+=10.0; 3. wd1 , the inverse of the weighting factor wd used to weigh between knife edge and rounded edge diffraction, is set to be equal to the square root of ( 1 + qk/q). Line 233: wd1=sqrt(1.0+qk/q); 4. xd1 is set to be equal to propa.dla + propa.tha/prop.gme. Line 234: xd1=propa.dla+propa.tha/prop.gme; 5. In steps 5 and 6, the ∆h(s), the terrain irregularity factor ∆h, determined at a specified distance s, and σn(s), the standard deviation of ∆h(s), is determined. The value held by q is reset to be equal to the terrain irregularity parameter, dh (a.k.a. delta h or ∆h), multiplied by the distance compensation term (1.0-0.8*exp(- propa.dlsa/50,000)), using a formula derived from Alg. (3.9). See subroutine qlrps step 23, for the derivation. At this point, the value of q represents ∆h(s). Line 235: q=(1.0-0.8*exp(-propa.dlsa/50e3))*prop.dh; 6. q is then further modified by setting it to be equal to the value of q obtained on line 235 in step 5 above, multiplied by 0.78*exp( -pow(q/16.0,0.25). At this point, the value of q represents the σn(s). This step utilizes the formula: σ(s) = 0.78 ∆h(s) exp [− (∆h(s) /H)1/4 ] with H = 16 meters.” [Alg. 3.10] h This formula, is found in the Algorithm, shows the relationship between ∆h and the terrain roughness factor σ used in Tech Note 101. Here it is used to convert the h value stored in q from the value for ∆h(s) to the value for σ (s). h Line: 236: q*=0.78*exp(-pow(q/16.0,0.25)); 7. In this step, we determine the attenuation from absorption and scattering due to oxygen, water vapor, precipitation, and terrain clutter. The value of afo, Attenuation From Other, is set to be equal to the lesser of: a. 15 b. (2.171*log(1.0+4.77e-4*prop.hg[0]*prop.hg[1]*prop.wn*q)); [Alg. 4.10] Where: hg[0] is the transmit antenna height above ground in meters; hg[1] is the receive antenna height above ground in meters; prop.wn is the wave number, (equal to freq. in MHz/47.7) q is currently equal to the value of σ (s), the terrain roughness h factor at a specified distance “s”, ( i.e., with distance correction). 8. The value of qk is reset to be equal to 1/(absolute value of prop_zgnd). prop_zgnd is a complex double, representing the earth’s surface transfer impedance with two elements; a real element, the resistance value, and an “imaginary” value, the reactance, which describes the phase mismatch between the voltage and the current, in terms of a capacitive value (current peak leads voltage peak) or a inductive value (current peak lags behind voltage peak). Line 238: qk=1.0/abs(prop_zgnd); 9. The value of aht is set to be equal to 20.0. Line 239: aht=20.0; [Alg. 6.7] 10. The value of xht is set to be equal to 0.0. Line 240: xht=0.0; 11. A for statement is initiated with two loops, j=0 and j=1. The for loop starts with j=0: Line 242: for (int j=0; j<2; ++j) { a. On the first for loop, the value of a is set to be equal to: 0.5*(prop.dl[0])2/prop.he[0]; [Alg. 4.15] Where: prop.dl[0] is the distance from the transmit site to the horizon prop.he[0] is the effective height of the transmit site Line 245: a=0.5*(prop.dl[j]*prop.dl[j])/prop.he[j]; b. The value of wa is set to be equal to (a*prop.wn)1/3 [Alg. 4.16] Where: a was determined in step 11(a.). prop.wn is the wave number, = (frequency in MHz/47.7) Line 246: wa=pow(a*prop.wn,THIRD); c. The value of pk is set to be equal to qk/wa. [Alg. 4.17] Where: qk was determined in step 8. wa was determined in the last step, 11(b). Line 247: pk=qk/wa; d. The value of q is again reset, this time to be equal to: ((1.607-pk)*151.0*wa*prop.dl[0]/a; [Alg. 4.18 and 6.2] Line 248: q=(1.607-pk)*151.0*wa*prop.dl[j]/a; e. The value of xht is increase by adding the value of q.[Alg. 4.19 –height -gain] Line 249: xht+=q; f. Subroutine fht is called with inputs (q,pk). Subroutine fht then returns fhtv, the height-gain over a smooth spherical earth for use with the three-radii method. The value of aht is increased by adding the value returned by fht. [Alg. 4.20] Line 250: aht+=fht(q,pk); } The for loop then repeats, with j=1: g. The value of a is set to be equal to: 0.5*(prop.dl[1])2/prop.he[1]; [Alg. 4.15] Where: prop.dl[0] is the distance from the receive site to the horizon prop.he[0] is the effective height of the receive site h. The value of wa is set to be equal to (a*prop.wn)1/3 [Alg. 4.16] Where: a was determined in step 11(g.). prop.wn is the wave number, = (frequency in MHz/47.7) i. The value of pk is set to be equal to qk/wa. [Alg. 4.17] Where: qk was determined in step 8. wa was determined in the last step, 11(h). j. The value of q is again reset, this time to be equal to: [Alg. 4.18 and 6.2] ((1.607-pk)*151.0*wa*prop.dl[1]/a; k. The value of xht is increase by adding the value of q. [Alg. 4.19] l. Subroutine fht is called with inputs (q,pk). Subroutine fht then returns fhtv, the height-gain over a smooth spherical earth for use with the three-radii method. The value of aht is increased by adding the value returned by fht.. The for loop completes. The initial diffraction constants have been calculated, and the subroutine proceeds to report out diffraction attenuation = 0.0, indicating a coefficient setup run has completed: 12. adiffv is then set equal to zero. Line 253: adiffv=0.0; } 13. The if statement on line 225 has a matching else statement on line 256. Therefore, if the input value d is not equal to zero, indicating a second execution, following the required first execution with d=0 to set the coefficients, then: Line 256: else { a. th is set to be equal to propa.tha + d*prop.gme; [Alg. 4.12] Where: propa.tha, the total bending angle, set in lrprop; in radians (after correction). d is the distance at which the attenuation is to be calculated. gme is the earth’s effective radius. Line 258: th=propa.tha+d*prop.gme; b. ds is set to be equal to d − propa.dla; Where: d is the distance at which the attenuation is to be calculated. propa.dla is the sum of the two horizon distances, all in meters. NOTE 1: ds is the difference, in meters, between prop.dist, the total path distance, and dla, the sum of the horizon distances. It equals zero for one obstruction; positive for multiple obstructions; negative for line-of-sight. NOTE 2: The following calculations produce absurd and non-a-number or infinity results if ds = 0.0; this is why the original ITM version of this subroutine cannot compute diffraction over a single obstacle, only multiple obstacles. Line 259: ds=d-propa.dla; c. q is reset to be equal to 0.0795775*prop.wn*ds*th*th; At this point, the value of q represents ∆h(s). Line 261: q=0.0795775*prop.wn*ds*th*th; d. subroutine aknfe is called twice to calculate the diffraction loss due to a knife edge at two adjacent peaks; the first time with input: (q*prop.dl[0]/(ds+prop.dl[0])), and the second time with input: (q*prop.dl[1]/(ds+prop.dl[1])); in each case, aknfe reports out a, the attenuation due to a single knife edge diffraction; the Fresnel integral (in decibels) as a function of the input, v2. Adiffv is then temporarily set to equal the sum of the two outputs from aknfe, the knife edge diffraction from two knife edges. [Alg. 4.14] Line 262: adiffv=aknfe(q*prop.dl[0]/(ds+prop.dl[0]))+aknfe(q*prop.dl[1]/(ds+prop.dl[1])); Next, the attenuation due to rounded earth is calculated in steps e. to h. e. a is set to equal ds/th, in meters/radian. Note that if ds =0.0, (see above NOTE 2.) this calculation returns “inf”, indicating that it attempted to compute infinity. Line 263: a=ds/th; f. wa is set to be equal to (a*prop.wn)1/3 [ Alg. 4.16] Line 264: wa=pow(a*prop.wn,THIRD); g. pk is set to equal the value of qk/wa. Line 265: pk=qk/wa; [Alg 4.17] q is reset to be equal to (1.607-pk) * 151.0 * wa * th + xht [Alg. 4.18 and 6.2] Line 266: q=(1.607-pk)*151.0*wa*th+xht; h. ar is the rounded earth attenuation, A, calculated as equal to: r 0.05751 * q – 4.343 * log(q) – aht [Alg. 4.20] which can be better stated using the specified log , as: 10 A = 0.05751 * q – 10 * log10(q) – aht r Line 267: ar=0.05751*q-10*log10(q)-aht; Next, the process of calculating wd, the weighting factor, wd, for knife edge vs rounded edge, is completed using wd1 and xd1. i. q is reset to be equal to: (wd1+xd1/d)*mymin(((1.0-0.8*exp(-d/50e3))*prop.dh*prop.wn),6283.2) [Alg. 4.9] Line 268: q=(wd1+xd1/d)*mymin(((1.0-0.8*exp(-d/50e3))*prop.dh*prop.wn),6283.2); j. wd, the edge weighting factor, is set to be equal to: (25.1/(25.1+sqrt(q))) [Alg. 4.9] Line 269: wd=25.1/(25.1+sqrt(q)); k. adiffv , here representing the total diffraction attenuation, is set to be equal to: ar * wd + (1.0-wd) * adiffv + afo [Alg. 4.11] where; ar is the rounded earth attenuation afo is the attenuation from all other sources. Line 270: adiffv=ar*wd+(1.0-wd)*adiffv+afo; } 14. The subroutine then returns the value of adiffv, the “diffraction attenuation” at the distance d. return adiffv; SUBROUTINE ADIFF2: A description for ITWOM, by Sid Shumate. Revised Sept. 28, 2010 from straight line to 2nd scattered-diffracted path obstruction loss. Revised Sept. 27, 2010. to change obstruction loss to a scattered signal less diffracted signal cancellation. Use with itwom2.0s. Revised Sept. 25 to add effective earth curvature to v2 distance calculations. For use with itwom2.0r. Revised Sept. 23, 2010. Revised: Aug 29, 2010. For itwom2.0e Being revised to add obstruction top foliage scatter adjustment. For itwom2.0c. Aug. 11 Revised to include knife edge diffraction when receiver antenna is above clutter canopy, but still behind obstruction with grazing angle between 0.2 and 1.22 radians. Aug. 8; Discussion of Knife Edge functions added. Rounded edge from single knife edge completed. Modified to add clutter loss to all secondary (post-obstruction) scenarios. Attenuation from Diffraction for ITWOM subroutine. Note: Used with both point-to-point and area modes. Called by lrprop2. Descriptions derived from the Irregular Terrain Model description by George Hufford, 2002, (ITMD), compared to the ITM.cpp prepared by J. D. McDonald and John Magliacane for compilation on unix and linux systems. “Line” numbers refer to the ITM.cpp as line numbered by Bloodshed Software’s DevC++ print function. “Alg” numbers refer to the algorithm formula in “The ITS Irregular Terrain Model, version 1.22, the Algorithm” by G. A. Hufford, 1995 (the Algorithm). “ITS67” numbers refer to the algorithm formulas in “ESSA Technical Report ERL 79-ITS 67, Prediction of Tropospheric Radio Transmission Over Irregular Terrain, A Computer Method – 1968” by A.G.Longley and P.L.Rice. Additional references may be made to: “Tropospheric Radio Wave Propagation over Irregular Terrain; the Computation of Field Strength for UHF Broadcasting”, Research Department Report No. 1971/43, Nov. 1971, (BBC Report) Engineering Division, British Broadcasting Corporation. For additional background on this function, see section 3-2, page 3-8 to 3-13 of ESSA Technical Report ERL 79-ITS 67 (ITS-67), and Sections 5,7 and 8 of Tech Note 101, Volume 1. From ITMD Section 10, 11, 12:

Description:
Slight differences in the reflecting media cause this critical angle to change values for signal strength Line 705: q=adiff(0.0,prop,propa);. 11. xae is
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.