Path 05 · Module 05

Transmit Power,
Fidelity & Efficiency

More power is useful only if the waveform survives, the supply holds, and the energy reaches the intended boundary. Follow one telemetry burst from the PA to the antenna feed, then through the battery and the next operating mode.

Request at the product feed
+10 dBm · R2 forward
Before the 2 dB feed loss
+12 dBm · linear PA command
A second ledger in time
25.6 ms on · 1 s cycle
01 / 10

Failure: more PA power makes the product worse

The node raises its PA command. Why might fewer messages arrive?

Continue the fictional 2.450 GHz node from 05.1’s requirements record. The normal mode maps 20 kbit/s uncoded, with no framing overhead, into Gray QPSK at 10 ksymbol/s. An α=0.35 RRC produces 80 kcomplex-sample/s at D3. The 256-symbol interval is 25.6 ms. These values describe the mapped burst; they do not establish service throughput or battery lifetime.

Raising average drive pushes more waveform peaks into compression. Extra current can pull the supply below its minimum. A mismatched antenna accepts less forward power, while heat and interference can grow. The wanted receiver may see a stronger but less useful signal, and a nearby receiver can become the victim described in 05.4.

Think about itA PA supplies +10 dBm and the filter, switch and feed lose 2 dB. Has the +10 dBm product-feed request been met?
Answer

No. In the linear matched lineup, R2 receives +8 dBm. This module’s +10 dBm request is at R2, so the hypothetical linear PA output must be +12 dBm. The actual compressed output is then calculated from a fixed drive; it is not forced back to the request.

Opening failure ledger · mechanisms, not invented field-test results
ChangeWhat can failFirst useful evidence
More drivePeaks compress; EVM and adjacent power increaseMatched waveform test at R1-PA-in/out, declared processing and bandwidth.
Lower battery voltageInstantaneous rail drops below the operating allocationTime-aligned RF, current and loaded-rail capture.
Changed antenna installationAccepted power and PA load can changeR2 complex reflection and network transformation; OTA pattern/gain.
Hot or repeated operationInternal temperature and bias may driftTransient thermal path, initial state and actual PA bias dependence.
Higher coexistence powerA victim loses headroomCoupling, victim waveform quality and operating overlap.
Common misconceptionExtra PA power always increases reliable range.

Power is one allocation among fidelity, supply, antenna, channel and coexistence conditions. No propagation or receiver-quality model here turns a dBm increase into a guaranteed distance.

The task is to choose an operating mode and identify its binding condition. Begin by naming the planes, before adding any gains.

02 / 10

Conducted, accepted, and radiated power use different planes

Does power at an antenna connector mean power accepted by the antenna, or power radiated in every direction?

A +10 dBm R2 request starts with +12 dBm at the linear PA outputR0 modulator and drive filter feed R1 PA input at minus 8 dBm. The 20 dB PA gives a plus 12 dBm linear reference, 11.987890 dBm actual matched output. Two dB post-PA loss yields 9.987890 dBm R2 forward. Mismatch is applied at R2 only. Radiation requires an antenna gain and direction.R0modulatorR1-PA-in−8 dBmR1-PA-out11.987890 dBmR2 feed9.987890 dBmS0conditional20 dB PA gain → compressed output−2 dB matched lossR2 Γ stays at R2 · no load-pull inference
Illustrative QPSK stationary mean, real 50 Ω wave references. R2 forward is before mismatch. D3 → A0 digital codes → A1 analog baseband precede R0; their voltage and full-scale allocations remain open.

At real 50 Ω RF wave references, forward and reverse waves carry separate nonnegative powers. Their difference is net accepted power at that plane. Use carrier-cycle-averaged envelope power for |x|² and |y|², with x and y in √W. The normalized envelope algebra does not assign a physical 1 Ω load to the PA.

Γ=VSWR1VSWR+1Preflected=PforwardΓ2Paccepted=Pforward(1Γ2)\begin{aligned}|\Gamma| &= \frac{\mathrm{VSWR}-1}{\mathrm{VSWR}+1} \\ P_{\mathrm{reflected}} &= P_{\mathrm{forward}} |\Gamma|^{2} \\ P_{\mathrm{accepted}} &= P_{\mathrm{forward}} (1-|\Gamma|^{2})\end{aligned}Derived, fixed-forward model at R2. VSWR is dimensionless; powers in W; no source re-reflection or two-port load transformation is inferred.
Independent fixed-forward anchor · EXACT +10.000 dBm at R2, VSWR 2; separate from compressed system default
Quantity at R2 / S0Derived valueCondition
Forward at R210.000000000 mW = 10.000000000 dBmFixed incident wave; not the 9.987889752 dBm actual-system proxy.
Reflected at R21.111111111 mW = 0.457574906 dBm|Γ|=1/3, reflected fraction=1/9.
Accepted at R28.888888889 mW = 9.488474776 dBmAccepted fraction=8/9; mismatch loss=0.511525224 dB.
Conditional directional EIRP11.488474776 dBmIllustrative +2 dBi accepted-power gain, same +z co-polar direction, 2.450 GHz.
Matched limit, Γ=0Reflected power exactly 0 WLogarithm has absent/−∞ limit. No arbitrary floor or NaN.
TRPUnknownPattern, polarization integration and antenna-loss evidence required.
EIRP(direction,polarization)=Paccepted,dBm+Gaccepted,dBi=Pforward,dBm+Grealized,dBi\begin{aligned}&\mathrm{EIRP}(\mathrm{direction}, \mathrm{polarization}) \\ &= P_{\mathrm{accepted,dBm}} + G_{\mathrm{accepted,dBi}} \\ &= P_{\mathrm{forward,dBm}} + G_{\mathrm{realized,dBi}}\end{aligned}Single-port real-reference convention. Gaccepted includes the antenna’s radiation losses but excludes feed mismatch. A supplied realized gain already includes that mismatch at its specified incident reference.
Think about itCan +2 dBi accepted-power gain and +2 dBi realized gain be interchanged when VSWR is 2?
Answer

No. For this same antenna and reference, +2 dBi accepted gain corresponds to realized gain 2−0.511525224 = 1.488474776 dBi. Then 10+1.488474776 matches 9.488474776+2. Adding +2 to forward power describes a different gain assumption; subtracting mismatch again from realized gain counts it twice.

Ansys HFSS’s realized-gain definition explicitly uses incident power; the port convention matters. Our single real-reference port is intentionally narrower than arbitrary complex/multiport antenna normalization. IEEE 145-2025 is the current antenna terminology reference; full pattern analysis belongs to Path 06.

Common misconceptionConducted connector power equals accepted power, EIRP or TRP.

Each crosses a different boundary. Direction and polarization are necessary for the gain used here. The +2 dBi placeholder is neither realized gain by default nor a radiation-efficiency value.

The 2 dB post-PA loss is a matched scalar forward-wave model. Keeping Γ at R2 is deliberate: load-pull, ruggedness and mismatch-induced PA distortion remain unknown without a two-port transformation and large-signal evidence.

03 / 10

Build the transmitter gain and loss lineup

Which gain/loss rows produce the requested reference, and which rows describe actual hardware evidence?

Start at R0 with an illustrative −7 dBm modulator output. A 1 dB drive-filter loss gives −8 dBm at R1-PA-in. The frozen 20 dB small-signal gain would produce +12 dBm linearly; compression lowers it. The post-PA allocation totals 2 dB and moves the forward wave to R2.

Nominal transmitter lineup · QPSK, 2.450 GHz, real 50 Ω wave references; all entries illustrative
Row / output planeGain or loss / nominal levelBandwidth and operating conditionTolerance type / evidence
D3 → A0 → A1Digital samples → DAC codes → analog baseband80 ksample/s D3; A0 rate/full scale and A1 volts are separate placeholdersUnknown converter, reconstruction response and drive calibration. No dBm arithmetic at digital planes.
Modulator → R0−7 dBm allocated RF output2.450 GHz ±6.75 kHz ideal support; linear IQ/LO assumedIllustrative exact setpoint, not guaranteed calibrated output.
Drive filter → R1-PA-in−1.000 dB → −8.000 dBmFlat scalar passband over represented waveform, nominal bias/25 °CBounded example ±0.1 dB; not applied to the frozen PA fixture.
PA → R1-PA-out+20.000 dB small-signal → +12 dBm linear commandMatched Rapp, Psat +20 dBm, p=3, φmax=3°, stationary recordCoefficients fixed, production/temperature evidence unknown. Actual mean 11.987889752 dBm.
Output filter−1.000 dB → 10.987889752 dBmFlat scalar forward loss across the represented near-carrier spectrumBounded row ±0.2 dB example; actual response and harmonic power handling unknown.
TX switch−0.500 dB → 10.487889752 dBmSettled TX state; no switching transient modelBounded row ±0.1 dB example; temperature/correlation evidence unknown.
Coupler mainline−0.200 dB → 10.287889752 dBmMainline insertion loss; coupled detector branch not a gain rowBounded row ±0.1 dB example; directivity/calibration unknown.
Feed → R2−0.300 dB → 9.987889752 dBm forwardTotal post-PA loss 2.000 dB; matched scalar transferBounded row ±0.1 dB example; R2 mismatch separately applied.
Antenna → S0Accepted power + optional directional gainSame frequency, direction, polarization and gain referenceIllustrative or unknown; TRP and channel excluded.
PPA,linear,dBm=PR2,request,dBm+Lpost,dBPPA,input,dBm=PPA,linear,dBm20PR2,forward,dBm=PPA,actual,dBmLpost,dB\begin{aligned}P_{\mathrm{PA,linear,dBm}} &= P_{\mathrm{R2,request,dBm}} + L_{\mathrm{post,dB}} \\ P_{\mathrm{PA,input,dBm}} &= P_{\mathrm{PA,linear,dBm}} - 20 \\ P_{\mathrm{R2,forward,dBm}} &= P_{\mathrm{PA,actual,dBm}} - L_{\mathrm{post,dB}}\end{aligned}Gains/losses use signed dB at compatible planes. Independent powers add in W or mW. Requested linear output sets input scaling only once.

This is a named system variant of 04.5. Its +10 dBm request was at the PA output. Here +10 dBm is at R2, commanding +12 dBm at the PA. With no automatic drive correction, the checked outputs are 11.987889752 and 9.987889752 dBm; the EVM proxy is 0.243227180%.

Go deeperA bounded corner is not yield

The four post-PA example bounds sum to ±0.5 dB if all signs align. At a fixed +12 dBm PA command, a total-loss sweep 1.5/2/2.5 dB yields R2 stationary means 10.487889752/9.987889752/9.487889752 dBm. The interaction treats an optional total-loss bound as one correlated aggregate, without independently reseeding or repairing drive at each corner.

If four independent zero-mean standard uncertainties were instead 0.2/0.1/0.1/0.1 dB, their RSS would be 0.264575131 dB. Those are different definitions. Correlated terms require covariance: u² = Σuᵢ² + 2Σρᵢⱼuᵢuⱼ. A synthetic corner sweep has no probability, population or manufacturing yield. Tolerance on drive before a nonlinear PA must be propagated through the nonlinear model, not simply added at its output.

The lineup locates power. To decide how much drive is usable, keep the waveform’s peaks attached to that average.

04 / 10

Waveform PAPR sets PA backoff

Why is the same average request more demanding for the 16QAM record?

The inherited 04.5 PA model uses PRBS-9 seed 0x1FF, fixed Gray mapping and 65 unit-energy RRC taps. Retain convolution indices 32…2079 and normalize mean |w|² to one on those 2048 samples. At eight samples/symbol, the QPSK finite-record input PAPR is 3.795180 dB; 16QAM is 4.845859 dB. The 256 symbols remain a small population.

v=G0xPsatAout=G0x(1+v2p)1/(2p)ϕ(v)=ϕmaxv21+v2\begin{aligned}v&=\frac{\sqrt{G_0}|x|}{\sqrt{P_{\mathrm{sat}}}}\\A_{\mathrm{out}}&=\frac{\sqrt{G_0}|x|}{(1+v^{2p})^{1/(2p)}}\\\phi(v)&=\phi_{\max}\frac{v^2}{1+v^2}\end{aligned}R1-PA-in x and R1-PA-out y in √W. G0 is linear power gain 100, Psat=0.1 W, p=3. φmax=3° is converted to radians inside exp; x=0 maps exactly to y=0.
Independent inherited checks · linear request at PA, no system-loss or DC substitutions
Waveform / PA requestActual PA meanFitted oversampled EVMInput / output PAPR
QPSK / +10 dBm9.996939311 dBm0.153473377 %3.795180 / 3.778460 dB
QPSK / +12 dBm11.987889752 dBm0.243227180 %3.795180 / 3.730096 dB
CW / +17 dBm16.828343527 dBm0.000000000 %0.000000 / 0.000000 dB
QPSK / +17 dBm16.683933451 dBm2.669393232 %3.795180 / 2.656298 dB
16QAM / +17 dBm16.436585286 dBm5.659672970 %4.845859 / 3.206715 dB

The +17 dBm PA stress preset is separate from the normal request: with 2 dB loss it requests +15 dBm at R2. QPSK gives 2.669393% fitted EVM, while 16QAM gives 5.659673% and crosses the local 3% screen. A compressed output can have lower PAPR because its peaks have been flattened; that is not a fidelity improvement.

Common misconceptionQPSK has constant magnitude, so its PAPR is always 0 dB.

Ideal symbol points have constant magnitude. The pulse-shaped trajectory between them does not. True CW has 0 dB PAPR in this record; QPSK’s filtered envelope has a different population.

Go deeperRead the CCDF and backoff at the correct plane

PAPR is 10log10(Ppeak/Pmean). The CCDF counts samples strictly above a threshold relative to each plane’s own mean, over exactly 2048 samples. Its exact peak row therefore has zero exceedances. Input backoff is Psat−G0−Pin in dB; output backoff uses actual mean PA output. The nominal values are 8.000000 and 8.012110 dB. Neither number establishes a safe continuous-time peak or a rare-event probability.

The next question is what errors remain after the observation receiver fits a reference. A low EVM result is meaningful only with that processing declared.

05 / 10

Allocate EVM across the transmitter

Can several “small” transmitter errors fit inside one fidelity allocation?

The PA proxy fits one common complex gain to all 2048 oversampled pairs. It removes the best constant gain/phase factor before reporting a residual. It does not recover timing, match-filter, sample ideal symbols, equalize the channel or apply DPD. 02.7’s processing contract and Rohde & Schwarz’s EVM guide explain why reference definition and normalization must travel with the result.

c=(yconj(x))x2EVM=100ycx2cx2%\begin{aligned}c &= \frac{\sum (y \operatorname{conj}(x))}{\sum |x|^{2} } \\ \mathrm{EVM} &= 100 \sqrt{\frac{\sum |y-c x|^{2}}{\sum |c x|^{2}}} \%\end{aligned}x = input reference, y = nonlinear output at compatible sample indices. A common fit changes the error population; this is a sample-domain PA proxy, not a standards measurement.
Think about itDo independent 2%, 3% and 4% RMS errors total 9% EVM?
Answer

Only an aligned coherent example sums that way. Independent, identically referenced zero-mean errors give √(2²+3²+4²) = 5.385164807%. Deterministic aligned error vectors can total 9%. A label such as “LO” or “PA” does not prove independence.

Transmitter fidelity allocation · common observation plane R2 with declared processing
ContributorRequired allocation evidenceCurrent state
D3 baseband / A0 codesNumerical scaling, quantization, DAC images and full-scale conventionUnknown physical implementation; ideal waveform fixture only.
A1 / R0 I/Q pathsGain/quadrature imbalance, offsets, image/LO leakage versus frequency and temperatureUnknown; no invented I/Q percentage.
LO phase noise / driftSSB mask, integrated offset band, tracking loop and common phase/frequency removalUnknown; one phase-noise marker cannot supply RMS EVM.
Filter flatness / group delayComplex H(f), occupied spectrum, reference timing and equalizationUnknown; scalar loss fixture does not model ripple or ISI.
PAMatched waveform amplitude/phase law and reference fit0.243227180% nominal local proxy; already simulated, never added twice.
Mismatch / antenna interfaceTransformed complex load and nonlinear response at the PAUnknown distortion; scalar accepted-power arithmetic is not an EVM term.
Observation receiver / instrumentResidual noise, gain/phase/timing correction, bandwidth, calibration uncertaintyUnknown; measurement error is not automatically a DUT allocation.
Go deeperFlatness, group delay and small random phase error

Group delay is τg = −dφ/dω. Constant delay can be removed by reference alignment; variation across the occupied spectrum reshapes the pulse. Scalar insertion loss contains no phase or delay information. For small residual zero-mean phase jitter σφ in radians, exp(jφ)≈1+jφ gives an EVM contribution ≈100σφ% under the same normalization. With an SSB phase-noise convention, converting an integrated mask to phase variance requires its sideband factor and integration limits; no mask or tracking bandwidth is supplied here, so there is no numeric LO allocation.

RSS follows from the cross terms in E[|Σeᵢ|²] vanishing. Correlated or deterministic terms leave cross terms. Refit the common reference consistently before combining contributors; subtracting a measured total from an unrelated simulated percentage cannot isolate one physical error.

Common misconceptionEVM allocations add in dB, or a clean fitted EVM proves clean emitted power.

Add compatible error powers only under justified correlation assumptions. A CW with one constant complex multiplier can have zero fitted EVM despite compression. An observation fit does not remove emitted LO leakage or a harmonic.

That makes spectrum a separate allocation, with its own reference and integration bounds.

06 / 10

Track occupied bandwidth, regrowth, harmonics, and spurs

Which unwanted energy is actually represented by this spectrum?

The ideal raised-cosine total null-to-null support is (1+α)Rs = 13.5 kHz, or ±6.75 kHz in signed complex baseband. Finite filtering and a finite record produce leakage outside that ideal support. Necessary, occupied, channel, −x dB and noise-equivalent bandwidth are different quantities; none can be substituted just because one number is available.

PB=kBDFT(yH)[k]28192nH[n]2Adjacent proxyside=10log10(PsidePmain)\begin{aligned}P_B&=\frac{\sum_{k\in B}|\mathrm{DFT}(yH)[k]|^2}{8192\sum_nH[n]^2}\\\text{Adjacent proxy}_{\mathrm{side}}&=10\log_{10}\left(\frac{P_{\mathrm{side}}}{P_{\mathrm{main}}}\right)\end{aligned}R1-PA-out near-carrier power, periodic Hann H over N=2048 samples, NFFT=8192 with 6144 zeros. Include bins whose centers lie within each band; no fractional weighting.
Two-sided integration ledger · Fs=80 ksample/s; signed offsets from 2.450 GHz
Band / mechanismBounds or observationWhat the result can establish
Main−6.75…+6.75 kHzReference denominator from included FFT bins.
Lower adjacent−21.75…−8.25 kHzLower side/main proxy; own ≤−35 dBc local exercise screen.
Upper adjacent+8.25…+21.75 kHzUpper side/main proxy; do not sum both sides for this screen.
Spectral regrowthDifference in nonlinear vs undistorted reference behaviorNear-carrier memoryless redistribution, including finite reference leakage.
RF harmonics2fc, 3fc and real output-network terminationsUnknown: the complex-envelope model does not compute them.
LO leakage / images / clock spursActual A0/A1/R0 chain and operating clocksUnknown: require amplitudes and actual filtering at stated planes.
Burst splatter / transient chirpAmplitude and phase versus time at RF on/offUnknown: stationary FFT is not recomputed from the command-energy ramp.

At +17 dBm PA drive, 16QAM’s lower/upper adjacent proxies are −33.758433/−32.965874 dBc. Both exceed this module’s local −35 dBc criterion. Its EVM also fails. By contrast, QPSK at the same command stays below −35 dBc on each side. This is a model comparison, not a named waveform conformance claim.

Common misconceptionOne CW marker or a synthetic regrowth plot proves emissions compliance.

A CW test has no information about this modulated population or its bursts. The proxy omits harmonics, actual spurs and settling. Named waveform limits belong to Path 07, measurement to Path 08, and market requirements to Path 09.

Reference leakage is shown beside output leakage and is never subtracted. Side/main ratios below 10⁻¹³ display “<−130 dBc numerical floor”; deeper floating-point values are not physical rejection. A post-PA flat loss reduces absolute main and adjacent powers equally, leaving their ratio unchanged.

Now move from stationary statistics into a time ledger. That boundary changes what the model can claim.

07 / 10

Burst ramp, settling, and transient chirp matter

Does a 25.6 ms RF-on command necessarily deliver all 256 symbols?

The default cycle allocates 2.000 ms startup, 25.600 ms commanded RF on, and 972.400 ms sleep. Each 0.200 ms linear-amplitude ramp is inside the on interval. This is an energy-screening schedule: the first and last mapped symbols may be attenuated. It does not prove intact payload, PA settling, PLL lock or filter-tail capture.

Default command-time ledger · right-open intervals, separate from waveform samples
Cycle intervalCommand / current lawEvidence limit
0…2.000 msStartup, 5 mA; RF command absentNo PLL/PA time-response data.
2.000…2.200 msLinear amplitude rise 0→1Power scales as r², not r; symbols not protected by this schedule.
2.200…27.400 msAmplitude one; waveform-moment demandStationary statistics used for energy only.
27.400…27.600 msLinear amplitude fall 1→0No RF chirp, phase settling or burst FFT inferred.
27.600…1000.000 msSleep, 5 µAOther circuitry, retries and service traffic omitted.
r2dt=Ton4Tr3r4dt=Ton8Tr5\begin{aligned}\int r^{2}d t &= T_{\mathrm{on}} - \frac{4T_{\mathrm{r}}}{3} \\ \int r^{4}d t &= T_{\mathrm{on}} - \frac{8T_{\mathrm{r}}}{5}\end{aligned}r is an ideal post-Rapp amplitude factor. Tr is each ramp duration, in seconds, with 0≤2Tr≤Ton. Rectangular Tr=0 and triangular 2Tr=Ton are explicit limits.

At nominal timing these integrals are 25.333333333 and 25.280000000 ms. A ramp is linear in amplitude, so its RF energy follows a squared ramp. Quiescent current still runs through all 25.6 ms. RF-energy-equivalent duty is 2.533333333%, while commanded duty is 2.560000000%.

Go deeperAn explicitly payload-preserving schedule costs extra time

Keep the 25.6 ms data interval at full command. Add 0.2 ms rise before it and 0.2 ms fall after it, plus 2 ms startup and a separately allocated 0.8 ms filter-tail hold. The total occupied schedule is 28.8 ms, leaving 971.2 ms in a fixed 1 s cycle. The 0.8 ms tail here is a separate illustrative guard, not a measured filter requirement; its current and RF state must be specified before calculating its energy. More generally Tsleep=Tcycle−Tstartup−2Tr−Tdata−Ttail. Do not stretch the symbol clock or silently drop overhead.

Common misconceptionA smoother command ramp proves that the PA and PLL have settled.

The command is applied after the Rapp output for energy bookkeeping. Actual settling depends on amplitude and phase response, bias, supply and loop dynamics. Transient chirp is frequency changing with time: Δf(t)=(1/2π)dφ/dt. This model has no measured φ(t) startup record.

A real power controller must observe these boundaries with a known sensing path. A scalar detector output cannot fill in missing RF evidence.

08 / 10

Power control needs sensing and compensation

What power does the detector actually sense, and how quickly can it report a change?

A coupled sample is meaningful only after calibration to the mainline plane. Forward and reverse directionality, frequency response, attenuation, waveform dependence, temperature and response time all enter that transfer. A loop calibrated on CW at one temperature cannot be assumed accurate on short amplitude-varying bursts across voltage and load changes.

Annotated detector/coupler calibration request · no calibration supplied for this node
Element / planeRequired transfer or conditionUnknown / next evidence
Forward sample at R2Coupling and additional attenuation, direction arrow, mainline insertion lossCalibrate detector volts→forward dBm at R2 over level/frequency.
Reverse sample / directivityIsolation from forward wave; magnitude and phase of unwanted leakageFinite directivity mixes waves. Measure residual/error versus Γ phase.
Detector inputLog/RMS/envelope response, impedance, safe input range, waveform crest factorUnknown detector calibration; no accepted-power inference from one scalar forward sample.
Temperature and supplyCalibration surface versus temperature and rail voltageCold/hot/low-voltage characterization; retain bounded vs statistical uncertainties.
Timing / control rangeRise/fall, averaging/filter delay, settling, loop stability and gain-control monotonicitySynchronize detector, command and RF; no unverified loop implemented.
Uncertainty / reference planePower-reference calibration, cable/coupler loss and correlated error termsStore uncertainty, direction and calibration date with every reading.

The ADL5513 Rev. B separates measurement and controller modes and shows a directional-coupler path with loop filtering. Its main specification conditions include 5 V, 25 °C, real 50 Ω and CW drive; its example loop is not this node. Mini-Circuits’ compression-measurement note explains why finite coupler directivity lets reflected energy contaminate an incident-power sample.

Think about itCan a perfectly calibrated forward detector tell you accepted antenna power when the load changes?
Answer

Not by itself. Accepted power is forward minus reverse at the same plane. You need reverse-wave or complex-reflection evidence with adequate directivity, plus a consistent reference transformation. Calibration of one scalar path does not make it directional in both senses.

Power-control modes can request nominal, reduced coexistence or constrained low-battery operation. That is a policy decision tied to link and thermal allocations. Here the request is open-loop: gain is fixed, drive is set once, and actual nonlinear output is reported separately. Failed supply allocation suppresses delivered-RF claims.

With the sensing gaps recorded, compare instantaneous current, accumulated energy and temperature. They answer three different questions.

09 / 10

Duty, heat, current peaks, supply droop, and coexistence

Can two transmitters have the same average current and different battery heating or reset risk?

I(t)=Iq+PRF,outr2(t)ηaddVocVload(t)=VocI(t)RbattQ=IdtEsource=VocQER=RbattI2dtEload=EsourceER\begin{aligned}I(t) &= I_{q} + \frac{P_{\mathrm{RF,out}} r^{2}(t)}{\eta _{\mathrm{add}} V_{\mathrm{oc}}} \\ V_{\mathrm{load}}(t) &= V_{\mathrm{oc}} - I(t) R_{\mathrm{batt}} \\ Q &= \int I d t\qquad E_{\mathrm{source}} = V_{\mathrm{oc}} Q \\ E_R &= R_{\mathrm{batt}} \int I^{2}d t\qquad E_{\mathrm{load}} = E_{\mathrm{source}}-E_R\end{aligned}Prescribed demand at PA load boundary; Iq=.020 A, ηadd=.45, startup=.005 A, sleep=.000005 A. Voc is fixed during each cycle. The rail check does not feed back into the RF waveform.

Let μ₁=E[Pout] and μ₂=E[Pout²] over the exact waveform. With a=1/(ηadd Voc), the on-time current-square integral is Iq²Ton + 2Iq a μ₁∫r²dt + a²μ₂∫r⁴dt. Replacing μ₂ by μ₁² erases waveform variation and underestimates battery heating. Peak current instead uses the actual maximum output sample at r=1.

Independent nominal waveform-moment energy check · 3.0 V, 2 Ω, 1 s schedule
Boundary / statisticChecked resultInterpretation
Charge / cycle-average current0.823445881 mC / 0.823445881 mASame number only because this cycle is exactly 1 s.
Battery source2.470337644 mJEnergy drawn at the open-circuit source boundary.
Internal resistance loss0.052503356 mJBattery heat, using E[I²], not E[I]².
Load terminals2.417834287 mJSource minus resistor loss; this is not all RF output.
Instantaneous peak current47.635340581 mAWaveform peak plus quiescent demand.
Minimum loaded voltage2.904729319 VClears the local 2.2 V allocation at nominal inputs.
Think about itTrace A draws 20 mA continuously. Trace B draws 80 mA for 25% of the time and zero otherwise. Same average: same heating and droop?
Answer

Both average 20 mA, but at 3 V/2 Ω over 1 s, source energy is 60 mJ in both. Trace A loses 0.8 mJ in the resistor and has a 2.96 V rail. Trace B loses 3.2 mJ and reaches 2.84 V during its pulses. Mean current fixes charge; its square and peak are separate constraints.

Separate rectangular prescribed-current anchor · not the PA-derived demand
Input / boundaryIndependent result
3.0 V, 2 Ω; startup 5 mA ×2 ms; TX 80 mA ×25.6 ms; sleep 5 µA ×972.4 msTr=0; exactly 1 s.
Charge / average2.062862 mC / 2.062862 mA
Source / resistor / load energy6.188586000 / 0.327780049 / 5.860805951 mJ
Minimum loaded voltage2.840000 V

The low-battery preset has Voc=2.2 V and Rbatt=6 Ω. Any positive current already lowers the rail below the local 2.2 V minimum. Its calculated PA waveform remains a conditional requested-waveform diagnostic; it cannot be labeled delivered RF. If the prescribed demand would make terminal voltage or heat balance impossible, the ledger suppresses load/thermal results rather than displaying negative delivered energy or refrigeration.

Heat has memory even when the PA proxy does not

Pheat=Pload+PRF,inr2PRF,outr2CthdΔTdt=PheatΔTRthΔTnext=PheatRth+(ΔTstartPheatRth)eΔtτ\begin{aligned}P_{\mathrm{heat}} &= P_{\mathrm{load}} + P_{\mathrm{RF,in}} r^{2} - P_{\mathrm{RF,out}} r^{2} \\ \frac{C_{\mathrm{th}} d\Delta T}{d t} &= P_{\mathrm{heat}} - \frac{\Delta T}{R_{\mathrm{th}}} \\ \Delta T_{\mathrm{next}} &= P_{\mathrm{heat}} R_{\mathrm{th}} + (\Delta T_{\mathrm{start}}-P_{\mathrm{heat}} R_{\mathrm{th}})e^{-\frac{\Delta t}{\tau }}\end{aligned}One-pole illustrative PA thermal boundary, Rth=100 K/W, Cth=.020 J/K, τ=2 s. Default includes input RF power using the same synthetic r² command; post-PA loss is never PA junction heat.

A separate constant 150 mW heat pulse for 25.6 ms from ambient gives 0.190776426 K rise. The default waveform-moment model gives a first-cycle peak of 25.099694061 °C and periodic peak of 25.254819615 °C at 25 °C ambient. The hot preset shifts ambient to 70 °C and still clears the synthetic 85 °C threshold; that clearance does not supply real bias or thermal evidence.

Go deeperNumerical thermal contract and physically meaningful boundaries

Each constant interval uses the exact exponential step. Each command ramp is split into 64 equal intervals with midpoint waveform-moment heat; every startup/ramp/plateau/sleep boundary is included. Repeating with 128 ramp intervals checks a ≤0.01 K difference. For the affine cycle map ΔTnext=aΔTstart+b, solve ΔTperiodic=b/(1−a) and verify a residual ≤10⁻⁶ K. This avoids an arbitrary iteration count when τ is long.

The TI thermal-network discussion relates transient impedance to device construction and packaging. This lesson’s single R/C pair is synthetic; it does not establish actual junction temperature. The Energizer handbook likewise conditions pulse voltage on resistance, discharge state and temperature. Its cell data are not the 3 V/2 Ω model coefficients. Regulators, decoupling, chemistry and other circuitry remain outside this model.

Common misconceptionLow duty cycle removes current peaks, heat accumulation and startup risk.

Low duty reduces some integrated terms, but the largest instantaneous current still causes droop. Startup repeats, sleep still consumes charge, and a slow thermal path remembers prior cycles. A short-burst average is not a battery-life result.

Now try the five modes. In coexistence mode, a 0 dBm R2 request reduces RF energy and potential interference, while spending 10 dB of transmit link allocation. No unmodeled range guarantee survives that trade.

Class 1 · one operating-mode decision

TX Allocation & Energy Ledger

Choose a mode, predict its binding constraint, then inspect planes, waveform and time. Commit edits explicitly. Every named mode restores its full defining inputs; the PA command never follows an output-target solver.

Operating mode and linear power request
Each named mode restores waveform, loss, supply, gain evidence, timing, thermal state and tolerance.
QPSK default. Closed 2048-sample records, Rs=10 ksymbol/s for both modulated choices; CW has no mapped bits.
-1018 dBm; step 0.5. Reset: 10 dBm.
06 dB; step 0.1. Reset: 2 dB.
Restores all nominal inputs; stress sets R2 request +15 dBm with 2 dB loss. G0=20 dB, Psat=20 dBm, p=3, AM–PM max=3° in both.
Restores nominal timing/supply. Anchor additionally sets Tr=0 and separates RF from current evidence. Iq=20 mA, ηadd=.45, startup=5 mA, sleep=5 µA are fixed.
R2 mismatch, antenna evidence and bounded loss
R2 load and conditional S0 gain
15 :1; step 0.1. Reset: 1 :1.
Unknown by default; a supplied number is illustrative, not antenna measurement.
-1010 dBi; step 0.1. Reset: 2 dBi.
Same direction/polarization; default accepted. Do not subtract mismatch again from realized gain.
Fixed PA command; total-loss offsets −bound/0/+bound. No statistical independence or yield claim.
01 ±dB; step 0.1. Reset: 0 ±dB.
Burst schedule and supply
Command timing · separate from the symbol population
0.1100 ms; step 0.1. Reset: 25.6 ms.
05 ms; step 0.1. Reset: 0.2 ms.
020 ms; step 0.1. Reset: 2 ms.
3010000 ms; step 0.1. Reset: 1000 ms.

2Tr ≤ Ton and startup + Ton ≤ cycle. Changing Ton never changes the 10 ksymbol/s clock or proves that 256 data symbols survive. Filters, tails and retries require separate allocations.

Prescribed demand and instantaneous supply screen
1.84.2 V; step 0.01. Reset: 3 V.
020 Ω; step 0.1. Reset: 2 Ω.

Vload = Voc − I R. This supply screen never changes PA coefficients or increases drive.

Thermal start and one-pole assumptions
PA-plane heat · thermal estimate only
-2085 °C; step 1. Reset: 25 °C.
10500 K/W; step 1. Reset: 100 K/W.
0.0011 J/K; step 0.001. Reset: 0.02 J/K.
Default ambient; both peaks always shown. Periodic peak controls the repeated-operation thermal allocation.
0…1000 ms, step 0.1. Key-time buttons select exact event boundaries; model inputs and committed energy do not change.

Inspect hardware evidence · Nominal

Hardware evidence remains open; supplied numeric screens clear.

Matched-model RF estimate. Numeric clearance does not establish measured RF delivery.

Linear command · R2 → PA → PA input
10.00000012.000000−8.000000 dBm
Actual nonlinear stationary proxy · PA → R2
11.9878909.987890 dBm
R2 burst average · ramps inside Ton
9.942413 dBm
PA fitted oversampled EVM
0.243227 %
Battery-source cycle energy
2.470338 mJ
Instantaneous peak current / minimum rail
47.635341 mA / 2.904729 V
Every local exercise constraint · p05-m05-tx-screens-v1 · no normative limits
Axis / sourceCommitted valueLocal allocationDecision / remaining evidence
R2 burst-average forward9.942413 dBm9…11 dBm (normal telemetry)CLEAR · Includes the command ramps inside Ton; stationary power is reported separately.
Fitted oversampled EVM proxy0.243227 %≤3 %CLEAR · Matched memoryless PA only; total transmitter EVM remains unknown.
Lower adjacent proxy−50.494406 dBc≤−35 dBc eachCLEAR · Stationary near-carrier side/main integration; not burst splatter or a named emission mask.
Upper adjacent proxy−50.761604 dBc≤−35 dBc eachCLEAR · Stationary near-carrier side/main integration; not burst splatter or a named emission mask.
Battery-source cycle energy2.470338 mJ≤10 mJ / declared cycleCLEAR · 1000.0 ms cycle; default 1 s exercise. Payload, retries and lifetime unknown.
Instantaneous loaded supply2.904729 V≥2.2 VCLEAR · Actual waveform peak in prescribed demand; supply does not feed back into the Rapp coefficients.
Periodic temperature estimate25.254820 °C≤85 °CCLEAR · First burst and selected start shown separately. One-pole PA heat estimate; not measured junction temperature.
Remaining hardware evidenceUnknownDetector / PA / antenna / supply tests requiredINSPECT · Real I/Q, LO, filter amplitude/group delay, mismatch distortion, harmonics, spurs, memory, settling, detector calibration, antenna efficiency/pattern, actual supply/thermal feedback, range, legal emissions, delivered payload/retries and battery lifetime remain unknown.
Two-sided stationary spectrum and integration bandsSolid PA output and dashed undistorted reference, dB per plotted FFT bin relative to each main-band power. Shaded lower and upper adjacent bands are integrated separately. Numeric integrals and reference leakage follow in the table. The command ramp does not change this spectrum.-100-75-50-250-40-2002040dB / bin relative to main powersolid: PA · dashed: linear referencelowerupperSigned offset from 2.450 GHz (kHz) · R1-PA-out
Simulated, stationary 2048 samples, periodic Hann, 8192-point DFT. Every eighth FFT bin is drawn; all bins enter the integrals. Plot clipped at −100 dB/bin for legibility, separate side/main reporting floor −130 dBc. This is neither a PSD nor a burst-settling measurement.

Power and waveform record

Matched-model RF estimate · stationary near-carrier mean except labelled burst quantities
Quantity / planeValueDefinition / limitation
Forward at R29.972154 mW / 9.987890 dBmActual PA proxy minus matched post-PA loss; no servo.
Reflected at R20.000000 mW / absent (−∞ dBm limit)|Γ| = 0.000000 at R2. PA-plane load unknown.
Accepted at R29.972154 mW / 9.987890 dBmForward minus reflected; not total radiated power.
Conditional directional EIRPUnknownS0, +z co-polar placeholder, 2.450 GHz. Gain/direction evidence not supplied. Stationary; conditional on forward power and the declared gain.
TRP / antenna efficiencyUnknownAngular/polarization integration and antenna-loss evidence missing.
Input / output backoff8.000000 / 8.012110 dBInput uses Psat−G0−Pin; output uses Psat−actual mean, not a safe modulated limit.
Input / output PAPR3.795180 / 3.730096 dBR1-PA-in / R1-PA-out, each relative to its own mean; exactly 2048 samples.
R1-PA-out finite peak37.307710 mW / 15.717986 dBmPeak index 1276; sampled envelope maximum, not guaranteed continuous-time PEP.
PA power moments15.804799 mW; 295.456854 mW²First moment E[P] and second E[P²], before spectral partition. Second moment is used for I²R.
Main / lower / upper band integrals15.814291 / 0.000141127 / 0.000132706 mWR1-PA-out, window power normalization; lower/upper ratios referenced to main.
Output lower / upper proxy−50.494406 dBc / −50.761604 dBcBands −21.75…−8.25 / +8.25…+21.75 kHz; main ±6.75 kHz.
Undistorted reference leakage−51.508116 dBc / −51.514008 dBcSame window and bands. Retained, never subtracted.
Total transmitter EVMUnknownI/Q, LO, filter and mismatch terms not supplied. The simulated PA impairment is not added twice.
Finite-population CCDF key rows
Strict sample exceedance · 2048 samples at each plane; complete .1 dB rows in copied record
Threshold above own meanPA input count / percentPA output count / percent
0 dB1107 / 54.052734 %1111 / 54.248047 %
1 dB554 / 27.050781 %554 / 27.050781 %
2 dB133 / 6.494141 %132 / 6.445313 %
3 dB15 / 0.732422 %14 / 0.683594 %
4 dB0 / 0.000000 %0 / 0.000000 %
5 dB0 / 0.000000 %0 / 0.000000 %
12 dB0 / 0.000000 %0 / 0.000000 %
Exact peak rows (3.795180 / 3.730096 dB)0 / 0 %0 / 0 %

Time, source, load and heat record

Waveform-moment demand: Iq = 20 mA; ηadd = 0.45; startup = 5 mA; sleep = 5 µA. Post-Rapp command r scales PA output and input power by r² for energy bookkeeping. Battery resistor loss and post-PA loss are excluded from PA heat.

Committed charge/energy balance · full cycle, source and load boundaries kept separate
QuantityValueBoundary / condition
Timing2.0 / 25.6 / 972.4 msStartup / commanded on / sleep. Ramps inside Ton; mapped payload survival not established.
Amplitude-command integrals25.333333 / 25.280000 ms∫r²dt / ∫r⁴dt; time factors, not a waveform spectrum.
Commanded / RF-equivalent duty2.560000 / 2.533333 %RF-equivalent duty concerns this synthetic command.
Charge / cycle-average current0.823446 mC / 0.823446 mAQ = ∫I dt; Icycle = Q/Tcycle.
On-time / plateau mean current31.585308 / 31.707258 mAIncludes ramps / stationary waveform mean. Neither is the instantaneous peak.
Battery source2.470338 mJEsource = Voc Q; prescribed demand even if supply fails.
Internal battery resistance0.052503 mJER = R∫I²dt, using waveform second power moment.
Load-terminal energy2.417834 mJEload = Esource−ER. Unavailable for negative terminal voltage or impossible heat balance.
PA RF command energy0.400388 mJNear-carrier forward PA output; no harmonic or antenna-energy inference.
Thermal first / periodic peak25.099694 / 25.254820 °COne-pole estimate. First cycle starts at ambient; periodic cycle includes prior heat.
Selected thermal startambient → peak 25.099694 °CStarts at declared ambient.
Thermal numerical evidence0.000000014 K grid difference; 0.000000000 K periodic residual64 vs 128 ramp panels, ≤.01 K convergence; affine fixed-point residual ≤10⁻⁶ K. Invalid heat: unavailable.

Selected command time: 0.0 ms · Startup; amplitude 0.000, mean demand 5.000000 mA and mean loaded rail 2.990000 V. This averaged timeline cannot replace the 2.904729 V instantaneous minimum screen.

Key command boundaries · right-hand states; cycle endpoint is the left limit
Time / stateCommand amplitudeMean current / mean rail
0.0 ms · Startup0.0005.000000 mA / 2.990000 V
2.0 ms · RF command0.00020.000000 mA / 2.960000 V
2.2 ms · RF command1.00031.707258 mA / 2.936585 V
27.4 ms · RF command1.00031.707258 mA / 2.936585 V
27.6 ms · Sleep0.0000.005000 mA / 2.999990 V
1000.0 ms · Cycle end (left limit · Sleep)0.0000.005000 mA / 2.999990 V
Applied waveform, processing and evidence contract
Committed operating conditions · retained when the form is hidden in print
Input / boundaryCommitted value
Operating mode / PA preset / waveformnominal / nominal / QPSK
R2 linear request / matched post-PA loss10.000000 dBm / 2.000000 dB
R2 VSWR / directional gain / gain basis1.000000 / Unknown (numeric field inactive) / accepted
Loss toleranceDisabled
Startup / on / each ramp / cycle2.0 / 25.6 / 0.2 / 1000.0 ms
Battery Voc / internal R3.000000 V / 2.000000 Ω
Ambient / Rth / Cth / initial state25.000000 °C / 100.000000 K/W / 0.020000 J/K / ambient
Current-demand lawWaveform moments: Iq=20 mA, ηadd=.45; startup=5 mA, sleep=5 µA
evidence
Illustrative engineering case / simulated matched PA and synthetic command energy; not measured.
planes
D3 complex samples → A0 digital DAC codes → A1 analog baseband → R0 RF modulator → R1-PA-in → R1-PA-out → R2 antenna feed → conditional S0 direction/polarization. RF wave references real 50 Ω.
waveform
PRBS-9 0x1FF; emit bit0, feedback bit0 XOR bit4, right shift into bit8; Gray QPSK/16QAM; 256 symbols; 65 unit-energy RRC taps α=.35 at 8 samples/symbol; convolution indices 32…2079; mean |w|²=1 over 2048 samples.
timing
QPSK: 20 kbit/s uncoded/no-overhead mapping, Rs=10 ksymbol/s, D3 Fs=80 ksample/s, 25.6 ms symbol interval. 16QAM at unchanged Rs is a 40 kbit/s mapped variant; CW carries no mapped bits. Command timing is a separate population, not a regenerated RF burst.
evm
c=Σ(y conj(x))/Σ|x|²; EVM=100√(Σ|y−cx|²/Σ|cx|²). 2048 oversampled pairs; common complex gain only, no timing recovery, matched filtering, equalization or DPD.
spectrum
8192-point forward DFT; 2048-point periodic Hann plus 6144 zeros; band power Σ|YH|²/(8192ΣH²). Main |f|≤6.75 kHz; lower −21.75…−8.25 kHz; upper +8.25…+21.75 kHz. Inclusive bin centers. Each side/main ratio; reference leakage retained. Below 1e−13 → <−130 dBc numerical floor.
ccdf
Strict > exceedance over 2048 samples; 0…12 dB in .1 dB steps plus exact peak. Input and output use their own means. Finite population, no stable tail probability.
energy
Post-Rapp amplitude r(t); I=20 mA+Pout r²/(.45 Voc), startup 5 mA, sleep 5 µA. Exact first/second waveform moments with ∫r²=Ton−4Tr/3 and ∫r⁴=Ton−8Tr/5. Vload=Voc−IR; no RF feedback or hidden drive solver.
thermal
Pheat=Pload+Pin r²−Pout r² at PA planes; battery I²R and post-PA filter loss excluded from PA heat. Waveform moments, not mean(I)². Each ramp split into 64 equal intervals (128 convergence check), exact exponential steps at midpoint heat; all event boundaries included. Constant plateaus/start/sleep analytic. Affine periodic map solved exactly, residual target 1e−6 K; grid check ≤.01 K.
radiation
Gain optional, same illustrative +z co-polar direction at 2.450 GHz; accepted or realized basis explicit. No R2-to-PA Γ transformation, no TRP without angular/polarization integration.
unknown
Real I/Q, LO, filter amplitude/group delay, mismatch distortion, harmonics, spurs, memory, settling, detector calibration, antenna efficiency/pattern, actual supply/thermal feedback, range, legal emissions, delivered payload/retries and battery lifetime remain unknown.
precision
Full-precision inputs/results; half-away-from-zero display, six decimal places (nine for independent anchors), SVG coordinates three decimals. JSON retains full numeric precision and null for absent/unknown quantities.

p05-m05-tx-ledger-v1 · p05-m05-tx-ledger-v1 · p04-m05-prbs9-rrc-v1 · p04-m05-pa-rapp-v1 · p05-m05-tx-screens-v1 · p05-m05-tx-record-json-v1 · p05-m05-display-v1

Applied QPSK; 20 dB gain, +20 dBm asymptotic envelope Psat, p=3, AM–PM maximum 3°. Local coefficients are frozen across voltage/temperature. Actual hardware behavior is unknown.

Local operating-mode record · same content as Copy
{
  "versions": {
    "model": "p05-m05-tx-ledger-v1",
    "fixture": "p05-m05-tx-ledger-v1",
    "waveform": "p04-m05-prbs9-rrc-v1",
    "pa": "p04-m05-pa-rapp-v1",
    "rules": "p05-m05-tx-screens-v1",
    "serialization": "p05-m05-tx-record-json-v1",
    "display": "p05-m05-display-v1"
  },
  "metadata": {
    "evidence": "Illustrative engineering case / simulated matched PA and synthetic command energy; not measured.",
    "planes": "D3 complex samples → A0 digital DAC codes → A1 analog baseband → R0 RF modulator → R1-PA-in → R1-PA-out → R2 antenna feed → conditional S0 direction/polarization. RF wave references real 50 Ω.",
    "waveform": "PRBS-9 0x1FF; emit bit0, feedback bit0 XOR bit4, right shift into bit8; Gray QPSK/16QAM; 256 symbols; 65 unit-energy RRC taps α=.35 at 8 samples/symbol; convolution indices 32…2079; mean |w|²=1 over 2048 samples.",
    "timing": "QPSK: 20 kbit/s uncoded/no-overhead mapping, Rs=10 ksymbol/s, D3 Fs=80 ksample/s, 25.6 ms symbol interval. 16QAM at unchanged Rs is a 40 kbit/s mapped variant; CW carries no mapped bits. Command timing is a separate population, not a regenerated RF burst.",
    "evm": "c=Σ(y conj(x))/Σ|x|²; EVM=100√(Σ|y−cx|²/Σ|cx|²). 2048 oversampled pairs; common complex gain only, no timing recovery, matched filtering, equalization or DPD.",
    "spectrum": "8192-point forward DFT; 2048-point periodic Hann plus 6144 zeros; band power Σ|YH|²/(8192ΣH²). Main |f|≤6.75 kHz; lower −21.75…−8.25 kHz; upper +8.25…+21.75 kHz. Inclusive bin centers. Each side/main ratio; reference leakage retained. Below 1e−13 → <−130 dBc numerical floor.",
    "ccdf": "Strict > exceedance over 2048 samples; 0…12 dB in .1 dB steps plus exact peak. Input and output use their own means. Finite population, no stable tail probability.",
    "energy": "Post-Rapp amplitude r(t); I=20 mA+Pout r²/(.45 Voc), startup 5 mA, sleep 5 µA. Exact first/second waveform moments with ∫r²=Ton−4Tr/3 and ∫r⁴=Ton−8Tr/5. Vload=Voc−IR; no RF feedback or hidden drive solver.",
    "thermal": "Pheat=Pload+Pin r²−Pout r² at PA planes; battery I²R and post-PA filter loss excluded from PA heat. Waveform moments, not mean(I)². Each ramp split into 64 equal intervals (128 convergence check), exact exponential steps at midpoint heat; all event boundaries included. Constant plateaus/start/sleep analytic. Affine periodic map solved exactly, residual target 1e−6 K; grid check ≤.01 K.",
    "radiation": "Gain optional, same illustrative +z co-polar direction at 2.450 GHz; accepted or realized basis explicit. No R2-to-PA Γ transformation, no TRP without angular/polarization integration.",
    "unknown": "Real I/Q, LO, filter amplitude/group delay, mismatch distortion, harmonics, spurs, memory, settling, detector calibration, antenna efficiency/pattern, actual supply/thermal feedback, range, legal emissions, delivered payload/retries and battery lifetime remain unknown.",
    "precision": "Full-precision inputs/results; half-away-from-zero display, six decimal places (nine for independent anchors), SVG coordinates three decimals. JSON retains full numeric precision and null for absent/unknown quantities."
  },
  "input": {
    "mode": "nominal",
    "waveform": "qpsk",
    "paPreset": "nominal",
    "request": 10,
    "loss": 2,
    "vswr": 1,
    "gainKnown": false,
    "gain": 2,
    "gainBasis": "accepted",
    "on": 25.6,
    "ramp": 0.2,
    "startup": 2,
    "cycle": 1000,
    "voc": 3,
    "resistance": 2,
    "ambient": 25,
    "rth": 100,
    "cth": 0.02,
    "demand": "waveform",
    "thermalStart": "ambient",
    "toleranceOn": false,
    "tolerance": 0
  },
  "pa": {
    "gainDb": 20,
    "psatDbm": 20,
    "p": 3,
    "phaseMaxDeg": 3
  },
  "demand": {
    "iqA": 0.02,
    "etaAdd": 0.45,
    "startupA": 0.005,
    "sleepA": 0.000005,
    "prescribedA": 0.08
  },
  "result": {
    "status": "inspect",
    "binding": "Hardware evidence remains open; supplied numeric screens clear",
    "deliveredRfSupportedByScreen": true,
    "conditionalPaRequestDbm": 12,
    "driveDbm": -8,
    "conditionalPaActualDbm": 11.987889751698063,
    "conditionalR2": {
      "rho": 0,
      "forwardW": 0.0099721539649943,
      "reflectedW": 0,
      "acceptedW": 0.0099721539649943,
      "forwardDbm": 9.987889751698063,
      "reflectedDbm": null,
      "acceptedDbm": 9.987889751698063,
      "eirpDbm": null,
      "trp": null
    },
    "burstForwardDbm": 9.942413474190857,
    "inputPaprDb": 3.7951804319837597,
    "outputPaprDb": 3.7300961457077007,
    "evmPercent": 0.24322717999503046,
    "lowerDbc": -50.49440609129768,
    "upperDbc": -50.76160393407164,
    "referenceLowerDbc": -51.50811601072544,
    "referenceUpperDbc": -51.51400798037514,
    "chargeC": 0.0008234458812173609,
    "sourceJ": 0.0024703376436520826,
    "resistorJ": 0.0000525033563865159,
    "loadJ": 0.0024178342872655666,
    "peakA": 0.047635340581093505,
    "averageA": 0.0008234458812173609,
    "minV": 2.904729318837813,
    "sleepMs": 972.4000000000001,
    "firstTempC": 25.099694054257025,
    "periodicTempC": 25.254819596542518,
    "selectedTempC": 25.099694054257025,
    "convergenceK": 1.3787627428651916e-8,
    "periodicResidualK": 0
  },
  "axes": [
    {
      "axis": "R2 burst-average forward",
      "value": "9.942413 dBm",
      "limit": "9…11 dBm (normal telemetry)",
      "status": "clear",
      "reason": "Includes the command ramps inside Ton; stationary power is reported separately."
    },
    {
      "axis": "Fitted oversampled EVM proxy",
      "value": "0.243227 %",
      "limit": "≤3 %",
      "status": "clear",
      "reason": "Matched memoryless PA only; total transmitter EVM remains unknown."
    },
    {
      "axis": "Lower adjacent proxy",
      "value": "−50.494406 dBc",
      "limit": "≤−35 dBc each",
      "status": "clear",
      "reason": "Stationary near-carrier side/main integration; not burst splatter or a named emission mask."
    },
    {
      "axis": "Upper adjacent proxy",
      "value": "−50.761604 dBc",
      "limit": "≤−35 dBc each",
      "status": "clear",
      "reason": "Stationary near-carrier side/main integration; not burst splatter or a named emission mask."
    },
    {
      "axis": "Battery-source cycle energy",
      "value": "2.470338 mJ",
      "limit": "≤10 mJ / declared cycle",
      "status": "clear",
      "reason": "1000.0 ms cycle; default 1 s exercise. Payload, retries and lifetime unknown."
    },
    {
      "axis": "Instantaneous loaded supply",
      "value": "2.904729 V",
      "limit": "≥2.2 V",
      "status": "clear",
      "reason": "Actual waveform peak in prescribed demand; supply does not feed back into the Rapp coefficients."
    },
    {
      "axis": "Periodic temperature estimate",
      "value": "25.254820 °C",
      "limit": "≤85 °C",
      "status": "clear",
      "reason": "First burst and selected start shown separately. One-pole PA heat estimate; not measured junction temperature."
    },
    {
      "axis": "Remaining hardware evidence",
      "value": "Unknown",
      "limit": "Detector / PA / antenna / supply tests required",
      "status": "inspect",
      "reason": "Real I/Q, LO, filter amplitude/group delay, mismatch distortion, harmonics, spurs, memory, settling, detector calibration, antenna efficiency/pattern, actual supply/thermal feedback, range, legal emissions, delivered payload/retries and battery lifetime remain unknown."
    }
  ],
  "corners": [
    {
      "loss": 2,
      "paCommand": 12,
      "r2StationaryDbm": 9.987889751698063,
      "r2BurstDbm": 9.942413474190857,
      "powerClear": true
    }
  ],
  "keyTimes": [
    {
      "timeMs": 0,
      "state": "Startup",
      "amplitude": 0,
      "currentA": 0.005,
      "meanV": 2.99,
      "rfForwardW": 0
    },
    {
      "timeMs": 2,
      "state": "RF command",
      "amplitude": 0,
      "currentA": 0.02,
      "meanV": 2.96,
      "rfForwardW": 0
    },
    {
      "timeMs": 2.2,
      "state": "RF command",
      "amplitude": 1,
      "currentA": 0.031707258469106346,
      "meanV": 2.9365854830617875,
      "rfForwardW": 0.0099721539649943
    },
    {
      "timeMs": 27.400000000000002,
      "state": "RF command",
      "amplitude": 0.9999999999999964,
      "currentA": 0.03170725846910626,
      "meanV": 2.9365854830617875,
      "rfForwardW": 0.00997215396499423
    },
    {
      "timeMs": 27.6,
      "state": "Sleep",
      "amplitude": 0,
      "currentA": 0.000005,
      "meanV": 2.99999,
      "rfForwardW": 0
    },
    {
      "timeMs": 1000,
      "state": "Cycle end (left limit · Sleep)",
      "amplitude": 0,
      "currentA": 0.000005,
      "meanV": 2.99999,
      "rfForwardW": 0
    }
  ],
  "ccdf": {
    "input": [
      {
        "thresholdDb": 0,
        "count": 1107,
        "percent": 54.052734375,
        "peak": false
      },
      {
        "thresholdDb": 0.1,
        "count": 1068,
        "percent": 52.1484375,
        "peak": false
      },
      {
        "thresholdDb": 0.2,
        "count": 1011,
        "percent": 49.365234375,
        "peak": false
      },
      {
        "thresholdDb": 0.3,
        "count": 962,
        "percent": 46.97265625,
        "peak": false
      },
      {
        "thresholdDb": 0.4,
        "count": 900,
        "percent": 43.9453125,
        "peak": false
      },
      {
        "thresholdDb": 0.5,
        "count": 847,
        "percent": 41.357421875,
        "peak": false
      },
      {
        "thresholdDb": 0.6,
        "count": 786,
        "percent": 38.37890625,
        "peak": false
      },
      {
        "thresholdDb": 0.7,
        "count": 731,
        "percent": 35.693359375,
        "peak": false
      },
      {
        "thresholdDb": 0.8,
        "count": 667,
        "percent": 32.568359375,
        "peak": false
      },
      {
        "thresholdDb": 0.9,
        "count": 600,
        "percent": 29.296875,
        "peak": false
      },
      {
        "thresholdDb": 1,
        "count": 554,
        "percent": 27.05078125,
        "peak": false
      },
      {
        "thresholdDb": 1.1,
        "count": 494,
        "percent": 24.12109375,
        "peak": false
      },
      {
        "thresholdDb": 1.2,
        "count": 458,
        "percent": 22.36328125,
        "peak": false
      },
      {
        "thresholdDb": 1.3,
        "count": 408,
        "percent": 19.921875,
        "peak": false
      },
      {
        "thresholdDb": 1.4,
        "count": 379,
        "percent": 18.505859375,
        "peak": false
      },
      {
        "thresholdDb": 1.5,
        "count": 326,
        "percent": 15.91796875,
        "peak": false
      },
      {
        "thresholdDb": 1.6,
        "count": 288,
        "percent": 14.0625,
        "peak": false
      },
      {
        "thresholdDb": 1.7,
        "count": 247,
        "percent": 12.060546875,
        "peak": false
      },
      {
        "thresholdDb": 1.8,
        "count": 206,
        "percent": 10.05859375,
        "peak": false
      },
      {
        "thresholdDb": 1.9,
        "count": 165,
        "percent": 8.056640625,
        "peak": false
      },
      {
        "thresholdDb": 2,
        "count": 133,
        "percent": 6.494140625,
        "peak": false
      },
      {
        "thresholdDb": 2.1,
        "count": 111,
        "percent": 5.419921875,
        "peak": false
      },
      {
        "thresholdDb": 2.2,
        "count": 99,
        "percent": 4.833984375,
        "peak": false
      },
      {
        "thresholdDb": 2.3,
        "count": 79,
        "percent": 3.857421875,
        "peak": false
      },
      {
        "thresholdDb": 2.4,
        "count": 69,
        "percent": 3.369140625,
        "peak": false
      },
      {
        "thresholdDb": 2.5,
        "count": 59,
        "percent": 2.880859375,
        "peak": false
      },
      {
        "thresholdDb": 2.6,
        "count": 47,
        "percent": 2.294921875,
        "peak": false
      },
      {
        "thresholdDb": 2.7,
        "count": 34,
        "percent": 1.66015625,
        "peak": false
      },
      {
        "thresholdDb": 2.8,
        "count": 27,
        "percent": 1.318359375,
        "peak": false
      },
      {
        "thresholdDb": 2.9,
        "count": 18,
        "percent": 0.87890625,
        "peak": false
      },
      {
        "thresholdDb": 3,
        "count": 15,
        "percent": 0.732421875,
        "peak": false
      },
      {
        "thresholdDb": 3.1,
        "count": 12,
        "percent": 0.5859375,
        "peak": false
      },
      {
        "thresholdDb": 3.2,
        "count": 4,
        "percent": 0.1953125,
        "peak": false
      },
      {
        "thresholdDb": 3.3,
        "count": 3,
        "percent": 0.146484375,
        "peak": false
      },
      {
        "thresholdDb": 3.4,
        "count": 3,
        "percent": 0.146484375,
        "peak": false
      },
      {
        "thresholdDb": 3.5,
        "count": 3,
        "percent": 0.146484375,
        "peak": false
      },
      {
        "thresholdDb": 3.6,
        "count": 2,
        "percent": 0.09765625,
        "peak": false
      },
      {
        "thresholdDb": 3.7,
        "count": 1,
        "percent": 0.048828125,
        "peak": false
      },
      {
        "thresholdDb": 3.7951804319837597,
        "count": 0,
        "percent": 0,
        "peak": true
      },
      {
        "thresholdDb": 3.8,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 3.9,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 4,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 4.1,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 4.2,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 4.3,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 4.4,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 4.5,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 4.6,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 4.7,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 4.8,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 4.9,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 5,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 5.1,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 5.2,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 5.3,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 5.4,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 5.5,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 5.6,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 5.7,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 5.8,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 5.9,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 6,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 6.1,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 6.2,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 6.3,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 6.4,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 6.5,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 6.6,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 6.7,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 6.8,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 6.9,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 7,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 7.1,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 7.2,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 7.3,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 7.4,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 7.5,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 7.6,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 7.7,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 7.8,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 7.9,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 8,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 8.1,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 8.2,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 8.3,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 8.4,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 8.5,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 8.6,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 8.7,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 8.8,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 8.9,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 9,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 9.1,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 9.2,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 9.3,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 9.4,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 9.5,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 9.6,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 9.7,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 9.8,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 9.9,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 10,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 10.1,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 10.2,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 10.3,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 10.4,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 10.5,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 10.6,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 10.7,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 10.8,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 10.9,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 11,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 11.1,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 11.2,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 11.3,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 11.4,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 11.5,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 11.6,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 11.7,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 11.8,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 11.9,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 12,
        "count": 0,
        "percent": 0,
        "peak": false
      }
    ],
    "output": [
      {
        "thresholdDb": 0,
        "count": 1111,
        "percent": 54.248046875,
        "peak": false
      },
      {
        "thresholdDb": 0.1,
        "count": 1071,
        "percent": 52.294921875,
        "peak": false
      },
      {
        "thresholdDb": 0.2,
        "count": 1013,
        "percent": 49.462890625,
        "peak": false
      },
      {
        "thresholdDb": 0.3,
        "count": 964,
        "percent": 47.0703125,
        "peak": false
      },
      {
        "thresholdDb": 0.4,
        "count": 902,
        "percent": 44.04296875,
        "peak": false
      },
      {
        "thresholdDb": 0.5,
        "count": 848,
        "percent": 41.40625,
        "peak": false
      },
      {
        "thresholdDb": 0.6,
        "count": 791,
        "percent": 38.623046875,
        "peak": false
      },
      {
        "thresholdDb": 0.7,
        "count": 733,
        "percent": 35.791015625,
        "peak": false
      },
      {
        "thresholdDb": 0.8,
        "count": 668,
        "percent": 32.6171875,
        "peak": false
      },
      {
        "thresholdDb": 0.9,
        "count": 601,
        "percent": 29.345703125,
        "peak": false
      },
      {
        "thresholdDb": 1,
        "count": 554,
        "percent": 27.05078125,
        "peak": false
      },
      {
        "thresholdDb": 1.1,
        "count": 494,
        "percent": 24.12109375,
        "peak": false
      },
      {
        "thresholdDb": 1.2,
        "count": 458,
        "percent": 22.36328125,
        "peak": false
      },
      {
        "thresholdDb": 1.3,
        "count": 408,
        "percent": 19.921875,
        "peak": false
      },
      {
        "thresholdDb": 1.4,
        "count": 379,
        "percent": 18.505859375,
        "peak": false
      },
      {
        "thresholdDb": 1.5,
        "count": 325,
        "percent": 15.869140625,
        "peak": false
      },
      {
        "thresholdDb": 1.6,
        "count": 287,
        "percent": 14.013671875,
        "peak": false
      },
      {
        "thresholdDb": 1.7,
        "count": 244,
        "percent": 11.9140625,
        "peak": false
      },
      {
        "thresholdDb": 1.8,
        "count": 203,
        "percent": 9.912109375,
        "peak": false
      },
      {
        "thresholdDb": 1.9,
        "count": 162,
        "percent": 7.91015625,
        "peak": false
      },
      {
        "thresholdDb": 2,
        "count": 132,
        "percent": 6.4453125,
        "peak": false
      },
      {
        "thresholdDb": 2.1,
        "count": 109,
        "percent": 5.322265625,
        "peak": false
      },
      {
        "thresholdDb": 2.2,
        "count": 95,
        "percent": 4.638671875,
        "peak": false
      },
      {
        "thresholdDb": 2.3,
        "count": 78,
        "percent": 3.80859375,
        "peak": false
      },
      {
        "thresholdDb": 2.4,
        "count": 67,
        "percent": 3.271484375,
        "peak": false
      },
      {
        "thresholdDb": 2.5,
        "count": 59,
        "percent": 2.880859375,
        "peak": false
      },
      {
        "thresholdDb": 2.6,
        "count": 42,
        "percent": 2.05078125,
        "peak": false
      },
      {
        "thresholdDb": 2.7,
        "count": 33,
        "percent": 1.611328125,
        "peak": false
      },
      {
        "thresholdDb": 2.8,
        "count": 24,
        "percent": 1.171875,
        "peak": false
      },
      {
        "thresholdDb": 2.9,
        "count": 17,
        "percent": 0.830078125,
        "peak": false
      },
      {
        "thresholdDb": 3,
        "count": 14,
        "percent": 0.68359375,
        "peak": false
      },
      {
        "thresholdDb": 3.1,
        "count": 11,
        "percent": 0.537109375,
        "peak": false
      },
      {
        "thresholdDb": 3.2,
        "count": 4,
        "percent": 0.1953125,
        "peak": false
      },
      {
        "thresholdDb": 3.3,
        "count": 3,
        "percent": 0.146484375,
        "peak": false
      },
      {
        "thresholdDb": 3.4,
        "count": 3,
        "percent": 0.146484375,
        "peak": false
      },
      {
        "thresholdDb": 3.5,
        "count": 3,
        "percent": 0.146484375,
        "peak": false
      },
      {
        "thresholdDb": 3.6,
        "count": 2,
        "percent": 0.09765625,
        "peak": false
      },
      {
        "thresholdDb": 3.7,
        "count": 1,
        "percent": 0.048828125,
        "peak": false
      },
      {
        "thresholdDb": 3.7300961457077007,
        "count": 0,
        "percent": 0,
        "peak": true
      },
      {
        "thresholdDb": 3.8,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 3.9,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 4,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 4.1,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 4.2,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 4.3,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 4.4,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 4.5,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 4.6,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 4.7,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 4.8,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 4.9,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 5,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 5.1,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 5.2,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 5.3,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 5.4,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 5.5,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 5.6,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 5.7,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 5.8,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 5.9,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 6,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 6.1,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 6.2,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 6.3,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 6.4,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 6.5,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 6.6,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 6.7,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 6.8,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 6.9,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 7,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 7.1,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 7.2,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 7.3,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 7.4,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 7.5,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 7.6,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 7.7,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 7.8,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 7.9,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 8,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 8.1,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 8.2,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 8.3,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 8.4,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 8.5,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 8.6,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 8.7,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 8.8,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 8.9,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 9,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 9.1,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 9.2,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 9.3,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 9.4,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 9.5,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 9.6,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 9.7,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 9.8,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 9.9,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 10,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 10.1,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 10.2,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 10.3,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 10.4,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 10.5,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 10.6,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 10.7,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 10.8,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 10.9,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 11,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 11.1,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 11.2,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 11.3,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 11.4,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 11.5,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 11.6,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 11.7,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 11.8,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 11.9,
        "count": 0,
        "percent": 0,
        "peak": false
      },
      {
        "thresholdDb": 12,
        "count": 0,
        "percent": 0,
        "peak": false
      }
    ]
  },
  "nextTests": [
    "Calibrate forward/reverse coupler and detector versus frequency, waveform, temperature, mismatch phase and response time.",
    "Measure PA waveform power/EVM/emissions and settling across supply, temperature and transformed load.",
    "Measure R2 antenna impedance and direction/polarization gain; integrate pattern for TRP.",
    "Capture simultaneous RF envelope, current and loaded rail under actual battery state and burst schedule."
  ]
}
10 / 10

Baseline the node transmit modes

Which mode can you defend today, and which first test could overturn it?

  1. Load Nominal. Reconcile −8 dBm PA input, +12 dBm linear command and the two actual stationary outputs. Distinguish the ramp-weighted R2 burst average.
  2. Load Stress, compare QPSK and 16QAM, and apply the edit. Identify both EVM and adjacent failures before considering more drive.
  3. Load Low battery. Explain why the waveform calculation survives only as a conditional diagnostic.
  4. Load Hot, then select a periodic thermal start. Compare first and repeated peaks without inventing temperature-dependent PA coefficients.
  5. Load Mismatch. Reconcile forward, reflected, accepted and conditional directional EIRP; switch gain basis and explain the different assumption.
  6. Load Coexistence. Record the energy change and lost link allocation, then copy or print the committed record with its next tests.
Five canonical transmitter modes · QPSK, 2 dB loss, 2 / 25.6 / 972.4 ms, 0.2 ms ramps inside Ton; illustrative only
Mode / power allocationStationary PA → R2 forward; R2 acceptedFidelity / energy / railTemperature / decision / first test
Nominal · request 10 dBm at R211.987890 → 9.987890 dBm; 9.987890 dBm accepted. Directional EIRP unknown. TRP unknown.0.243227% fitted EVM; adjacent L/R −50.494406 dBc / −50.761604 dBc; 2.470338 mJ source; 2.904729 V minimum.25.099694 / 25.254820 °C first/periodic. Hardware evidence remains open; supplied numeric screens clear. Calibrate detector and verify modulated PA power/settling across corners.
Low battery · request 10 dBm at R211.987890 → 9.987890 dBm; 9.987890 dBm accepted. Directional EIRP unknown. TRP unknown.0.243227% fitted EVM; adjacent L/R −50.494406 dBc / −50.761604 dBc; 2.048848 mJ source; 1.853893 V minimum.25.071397 / 25.182517 °C first/periodic. Instantaneous loaded supply. Supply fails: RF output remains conditional. Capture current/loaded rail and RF together.
Hot · request 10 dBm at R211.987890 → 9.987890 dBm; 9.987890 dBm accepted. Directional EIRP unknown. TRP unknown.0.243227% fitted EVM; adjacent L/R −50.494406 dBc / −50.761604 dBc; 2.470338 mJ source; 2.904729 V minimum.70.099694 / 70.254820 °C first/periodic. Hardware evidence remains open; supplied numeric screens clear. Synthetic thermal screen clears; obtain real PA thermal/bias data at 70 °C.
Mismatch · request 10 dBm at R211.987890 → 9.987890 dBm; 9.476365 dBm accepted. Conditional EIRP 11.476365 dBm (+2 dBi accepted basis). TRP unknown.0.243227% fitted EVM; adjacent L/R −50.494406 dBc / −50.761604 dBc; 2.470338 mJ source; 2.904729 V minimum.25.099694 / 25.254820 °C first/periodic. Hardware evidence remains open; supplied numeric screens clear. R2 Γ does not qualify PA load; measure two-port transformation and antenna gain.
Coexistence · request 0 dBm at R21.999988 → −0.000012 dBm; −0.000012 dBm accepted. Directional EIRP unknown. TRP unknown.0.028646% fitted EVM; adjacent L/R −51.484284 dBc / −51.503143 dBc; 1.669809 mJ source; 2.954374 V minimum.25.079104 / 25.202490 °C first/periodic. Hardware evidence remains open; supplied numeric screens clear. 10 dB lower request spends link allocation. Test the victim and wanted link; range unresolved.
Printable synthesis · TX operating-mode record

Keep the nominal request provisional; retire the supply and antenna gaps

Choose +10 dBm requested linear R2 forward as the normal telemetry allocation. With QPSK and 2 dB matched post-PA loss, actual stationary PA/R2 means are 11.987889752/9.987889752 dBm. The ramp-weighted R2 burst mean is 9.942413474 dBm. Nominal Γ=0 makes accepted equal forward and reflected exactly zero. Directional EIRP and TRP remain unknown because gain/pattern evidence is absent.

The 0.243227180% fitted sample EVM and both adjacent proxies clear the supplied local screens. They establish neither total transmitter EVM nor emissions. The stationary record remains PRBS-9 0x1FF, 256 QPSK symbols, 65-tap α=.35 RRC, 2048 valid samples, 80 ksample/s, common complex-gain fit and the declared Hann/DFT bands.

Keep 2 ms startup, 25.6 ms on with 0.2 ms ramps inside it, and 972.4 ms sleep as the energy-screening schedule. Source/load/resistor energies are 2.470337644/2.417834287/0.052503356 mJ, charge 0.823445881 mC, peak demand 47.635340581 mA and minimum rail 2.904729319 V. First and periodic thermal states stay separate; the numeric thermal screen clears at nominal and hot ambient. Complete payload survival is still unresolved.

Binding condition: hardware evidence remains open for nominal. Low battery fails the instantaneous supply allocation. The +17 dBm-at-PA 16QAM stress fails fidelity and adjacent screens, and its R2 power also exceeds the normal allocation. Mismatch needs transformed PA-load and antenna evidence. Coexistence uses its own 0 dBm allocation; range remains unknown.

First evidence requests attached to the provisional mode record
Owner / testCondition to pinWhat it could overturn
Detector / calibrationForward and reverse at R2; frequency, waveform, directivity, temperature, response and uncertaintyThe inferred power-control accuracy and directionality.
PA / modulated burstR1 input/output, actual supply, bias, temperature, load transformed through the two-port, settling and harmonicsMatched memoryless EVM, actual power, safe operating region and transient assumptions.
Antenna / installed productR2 complex Γ; same direction/polarization gain; enclosure, configuration and angular integrationAccepted/radiated relationship, conditional EIRP or any eventual TRP claim.
Supply / battery pulseSimultaneous current, loaded rail and RF; discharge state, temperature, regulation and decouplingThe 2.2 V support screen, current-demand law and thermal input.
System / serviceFraming, ramps, tails, retries, receive/idle energy and payload deliveryPer-message energy, throughput, reliability and battery lifetime.

Use RF Unit Converter for a standalone power conversion and Return Loss & VSWR for matched-reference reflection arithmetic. The lesson ledger stays a bounded Learn model. Antenna reality, named technologies and measurements retain their owning paths.

Carry this record into 05.6: the modulator’s clean reference still depends on converter headroom, reconstruction, clocks and analog interfaces. D3 samples, A0 codes and A1 voltages cannot inherit one another’s power units.

Ungraded review

Check your understanding

Answer each question in your own words, then reveal the model answer.

  1. 01Where does the +10 dBm request live, and how is the PA drive set?
    Model answer

    At R2 as requested linear forward mean. Add 2 dB matched post-PA loss to obtain +12 dBm linear PA command, then subtract 20 dB small-signal gain for −8 dBm PA input. Fixed scaling yields 11.987889752 dBm actual PA and 9.987889752 dBm stationary R2 forward. No output-target solver repairs compression.

  2. 02At fixed +10 dBm forward and VSWR 2, how do accepted-power gain and realized gain agree?
    Model answer

    Reflected is 1.111111111 mW; accepted is 8.888888889 mW or 9.488474776 dBm. Accepted gain +2 dBi yields conditional EIRP 11.488474776 dBm. Equivalent realized gain is 1.488474776 dBi, applied to forward +10 dBm. Keep the same direction/polarization, apply mismatch once, and leave TRP unknown.

  3. 03When do 2%, 3% and 4% errors give 5.385164807%, and when can they give 9%?
    Model answer

    RSS requires independent, zero-mean RMS errors with the same observation/reference normalization and corrections. Aligned deterministic error vectors can sum coherently to 9%. PA EVM already simulated is not added again, and I/Q/LO/filter/mismatch labels do not establish independence.

  4. 04Why are the waveform-moment and 80 mA cycle energies different?
    Model answer

    The former derives sample demand from the actual Rapp output and integrates r² and r⁴, giving 2.470337644 mJ source. The separate rectangular 80 mA anchor prescribes a different current and gives 6.188586000 mJ. Its source equals 5.860805951 mJ load plus 0.327780049 mJ resistor loss. It does not validate the PA waveform.

  5. 05What does low battery invalidate, and why does average current not rescue it?
    Model answer

    Voc=2.2 V with nonzero current and 6 Ω puts the loaded rail below the local 2.2 V minimum. The prescribed demand is unsupported; RF delivery is not established. The conditional waveform estimate may remain. Peak current governs minimum voltage; E[I²] governs resistor heating, while E[I] sets charge.

  6. 06What must the final record still leave open?
    Model answer

    R2-to-PA load transformation/ruggedness, antenna gain/pattern/TRP, total transmitter EVM, actual spurs/harmonics/emissions, PA/PLL settling, supply and thermal feedback, intact payload and retries, range, legal limits and battery lifetime. Attach the first detector, PA, antenna and supply tests at exact planes and operating conditions.

Sources and further study

Access checked 7 September 2026. All numeric limits, PA coefficients, current demand, thermal constants and antenna gain placeholders are local illustrative constraints. The independent NumPy/analytic fixture and equations supply the numerical evidence; no measured or regulatory result is claimed.

  1. W. F. Egan, Practical RF System Design, Wiley–IEEE, 2003, cascade/nonlinearity/phase-noise chapter sequence. Publisher record and contents consulted; full chapters unavailable. D. M. Pozar, Microwave Engineering, 4th ed., Wiley, 2012, Chapters 2, 4, 7, 10 and 12: publisher-confirmed reading path for waves, networks, couplers and amplifiers; full text not consulted. The displayed power equations are independently derived.
  2. C. Rapp, Effects of HPA-Nonlinearity on a 4-DPSK/OFDM-Signal, ESA SP-332, 1991, pp.179–184: DLR bibliographic provenance; full paper unavailable there. MathWorks MemorylessNonlinearity documentation, current web model definitions, provides the Rapp-family cross-check. The v-dependent AM–PM law is local. Exact waveform, fit, bands and numerical floor are inherited from 04.5; the system energy law is new.
  3. Rohde & Schwarz, Understanding EVM, 3683.8038.52, version 01.00, October 2022, §§3.1–3.7 and §4.3: EVM reference, normalization, interpretation and measurement processing. Current first-party PDF checked. No technology limit or measured-reference result adopted.
  4. Analog Devices ADL5513, Rev. B, July 2023, specification Table 1, Measurement Mode / Controller Mode / Constant Power Operation, pp.3 and 19–21. Specification conditions: 5 V, 25 °C, real 50 Ω, single-ended CW; application loop uses its own frequency and coupler. These categories inform the calibration request, with no transferred detector coefficients or loop dynamics.
  5. Mini-Circuits, Automated Compression Measurements Using Network Analyzers, first-party technical note, 2015; “Effect of Bad Return Loss of DUT” and calibration sections. Used for finite-directivity contamination and mainline calibration. Web note has no pinned revision; no coupler performance value imported.
  6. Analog Devices HMC453ST89/ST89E, data sheet v02.0710, 2010–2170 MHz application conditions and thermal/PCB guidance, the same separate example as 04.5. +5 V, TA=25 °C, application matching circuit; intercept stimulus and thermal boundary are conditional. It is outside this 2.450 GHz fixture. No device power, current, thermal constant or mismatch capability is substituted into the node.
  7. Energizer Lithium Coin Handbook and Application Manual, March 2018, pp.3–5, Pulse Effects / Temperature / Internal Resistance: pulse and loaded-voltage evidence categories. The examples use specified coin cells, currents and temperatures; this lesson’s Voc/Rbatt are independent illustrative coefficients, not a cell model or lifetime claim.
  8. Texas Instruments, How to Drive Resistive, Inductive, Capacitive, and Lighting Loads, SLVAE30E, February 2021, revised March 2021, p.18, Figure 3-13 and transient-thermal-impedance discussion. Foster RC modeling supplies boundary/packaging context; the PA’s single-pole equation and 100 K/W, .020 J/K values are local, not that device’s thermal model.
  9. IEEE 145-2025, Definitions of Terms for Antennas: official record checked active, published 31 March 2026; full standard text unavailable. Ansys HFSS 2026 R1 Help, Peak Realized Gain, incident-power denominator and port-reference caveat. Used alongside explicit single-port power derivation; no pattern, efficiency or normative gain value supplied.

Model/fixture p05-m05-tx-ledger-v1; PA p04-m05-pa-rapp-v1; waveform p04-m05-prbs9-rrc-v1; rules p05-m05-tx-screens-v1; record p05-m05-tx-record-json-v1; display p05-m05-display-v1. Full-precision calculations, six-decimal live display, nine-decimal independent anchors; numeric anchor tolerance ±10⁻⁶ in displayed dB/%/mJ/mA/V, thermal convergence ≤.01 K and periodic residual ≤10⁻⁶ K. Source/load/resistor boundaries and all unknowns are retained in the copied/printed record.