|
6 | 6 |
|
7 | 7 | def calculate_trp(power_dBm_2d, theta_angles_rad, inc_theta, inc_phi): |
8 | 8 | """ |
9 | | - Calculate Total Radiated Power (TRP) using IEEE-correct solid angle integration. |
| 9 | + Calculate Total Radiated Power (TRP) using the CTIA/IEEE-149 discrete |
| 10 | + solid-angle integration. |
10 | 11 |
|
11 | | - The TRP is calculated by integrating radiated power density over a closed sphere: |
12 | | - TRP = (1/4π) ∫∫ P(θ,φ) · sin(θ) dθ dφ |
| 12 | + The per-angle input is EIRP — the isotropic-referenced power measured in |
| 13 | + each direction (after path-loss calibration). For EIRP, TRP is the |
| 14 | + sphere average of EIRP, i.e. the standard CTIA discrete form: |
13 | 15 |
|
14 | | - For discrete measurements, this becomes: |
15 | | - TRP = Σ P(θ,φ) · sin(θ) · Δθ · Δφ / (4π) |
| 16 | + TRP = (1/4π) ∫∫ EIRP(θ,φ) · sin(θ) dθ dφ |
| 17 | + ≈ Σ EIRP(θ,φ) · sin(θ) · Δθ · Δφ / (4π) |
| 18 | +
|
| 19 | + The 1/(4π) is correct *because the input is EIRP*, not radiation intensity |
| 20 | + U (W/sr); for an isotropic radiator with EIRP = P0 in every direction this |
| 21 | + integrates back to TRP = P0 (verified by the golden-reference test). Do not |
| 22 | + remove the 1/(4π) — see docs/REVIEW_2026-05.md (finding R7/R8). |
16 | 23 |
|
17 | 24 | Parameters: |
18 | | - power_dBm_2d: 2D array of power values in dBm (theta x phi) |
| 25 | + power_dBm_2d: 2D array of per-angle EIRP in dBm (theta x phi) |
19 | 26 | theta_angles_rad: 1D array of theta angles in radians |
20 | 27 | inc_theta: Theta increment in degrees |
21 | 28 | inc_phi: Phi increment in degrees |
|
0 commit comments