Why multi-radio analysis is a continuity problem, and what a front end must do before any protocol decoder can help.
Why multi-radio analysis is a continuity problem, and what a front end must do before any protocol decoder can help.
A device carrying an FR1 modem, an 802.11ax radio and a Bluetooth controller fails in ways no single-radio measurement reproduces. This paper derives why: a stepped receiver holds at most one Bluetooth packet in forty-nine intact, a composite error vector magnitude figure hides a rare severe symbol by construction, and a stitched carrier carries five independent amplitude, phase and timing references. The arithmetic becomes six numbered requirements a reader can score any receiver against, with a statement of where a 100 MHz gap-free window is not enough.
Test-equipment engineers specifying the front end inside a protocol analysis product. Integration engineers investigating a symptom that appears only when two radios are active. Coexistence engineers who need a measurement that shows simultaneity.
Coexistence faults are reported at the system level. A representative report says that the Bluetooth link drops when the modem uplink is busy, or that Wi-Fi throughput falls when the audio stream starts. A telematics unit, a medical gateway and an industrial access point share an anatomy: separate radios, one antenna structure, one ground plane, one power rail. The measurements available are per-radio, taken at different times on different instruments. Coexistence is a question about simultaneity, and it is investigated with non-simultaneous data.
Two existing methods apply, and each has a limit this paper quantifies. A faster sweep shortens the revisit interval; section 3 derives that sweeping faster shortens the dwell in exactly the proportion it shortens the revisit interval, so the fraction of a packet held intact does not improve. A longer averaging interval raises confidence on a stationary signal; section 3 also shows that the same averaging removes the one symbol that fails a slot from the reported figure.
Wireless protocol analysis asks two things of an RF front end: enough instantaneous bandwidth to hold the signal whole, and IQ clean enough and continuous enough to demodulate. Everything above that line is software. In the cases worked below the limiting failures are continuity failures, not sensitivity failures.
3GPP defines a scalable orthogonal frequency-division multiplexing (OFDM) numerology indexed by one integer. Fix it and every timing quantity in the frame follows:
where
Table 1 evaluates it. The normal cyclic prefix is 144 × 64 × 2−μ basic units of 0.5086263 ns, which at 30 kHz is 2.34375 µs; the first symbol of each half-subframe carries 16 × 64 units more, 0.52 µs, so that fourteen symbols fill the slot exactly.
| μ | Δf (kHz) | Tu (µs) | TCP (µs) | Symbol (µs) | Slots / subframe | Used in |
|---|---|---|---|---|---|---|
| 0 | 15 | 66.667 | 4.6875 | 71.354 | 1 | FR1 |
| 1 | 30 | 33.333 | 2.3438 | 35.677 | 2 | FR1, dominant |
| 2 | 60 | 16.667 | 1.1719 | 17.839 | 4 | FR1, FR2 |
| 3 | 120 | 8.333 | 0.5859 | 8.919 | 8 | FR2 |
| 4 | 240 | 4.167 | 0.2930 | 4.460 | 16 | SSB only |
Occupied bandwidth is fixed by the resource-block allocation:
where
A 100 MHz FR1 carrier at 30 kHz spacing occupies 273 × 12 × 30 kHz = 98.28 MHz, leaving 0.86 MHz of guard per side. And 100 MHz is the largest single-carrier bandwidth 3GPP defines for FR1; above it, NR aggregates carriers rather than widening one. So a gap-free 100 MHz window is not only enough bandwidth for a 5G signal: it is exactly one FR1 carrier, edge to edge, under one amplitude reference. The NR synchronization signal block is placed on the synchronization raster of TS 38.101-1, which need not coincide with the carrier center, so an analyzer narrower than the carrier and tuned to its center can miss the block.
The 2.4 GHz band lands the same way. The industrial, scientific and medical allocation is 83.5 MHz wide, so one record centered at 2441.75 MHz holds all 79 Bluetooth channels, all 40 Low Energy channels and Wi-Fi 1, 6 and 11 at once.
A cyclic prefix is a copy of the end of a symbol prepended to it, so two samples separated by the useful symbol length are identical whenever the earlier lies inside a prefix. That gives the metric of van de Beek, Sandell and Börjesson:
where
Run it as a hypothesis test over the four lags that occur in practice, those for 15, 30, 60 and 120 kHz spacing. Only the true lag yields a regular train of peaks, as Figure 1 shows for a synthetic record. Symbol timing, the half-subframe grid and the frequency offset come with it, at a coherent gain of 10 log10(288) = 24.6 dB, for one pass over the record.
The prefix estimator resolves frequency offset only within half the subcarrier spacing, 15 kHz at 30 kHz. Beyond that it wraps, and the integer part needs the primary synchronization signal.
A 100 MHz carrier stitched from five 20 MHz segments is five acquisitions, each with its own amplitude calibration, its own local-oscillator phase and its own trigger instant, so the composite carries five references where the signal has one. An error vector magnitude computed across a seam measures the instrument, not the transmitter. That is the second reason R1 excludes stitching, and it is independent of bandwidth.
The limit is architectural. Swept and stepped-tuned receivers, and the stitched measurement built on them, characterize stationary signals over wide spans at high dynamic range. Neither was designed for signals whose defining property is that they change.
Filter settling is not the binding constraint on Bluetooth; 83.5 MHz at 1 MHz resolution settles in roughly 209 µs. Dwell is. To capture a packet intact the receiver must stay on its channel for the packet's whole duration:
where
A sweep long enough to hold one DH1 packet needs 366 µs × 83.5 = 30.56 ms, and in that interval Bluetooth executes 1600 × 0.03056 = 48.9 hops. One was caught intact and forty-eight were not, so the best-case intercept fraction is 1/48.9 = 2.05 percent. Sweeping faster does not recover it: at a 1 ms sweep the dwell is 12 µs, 3.3 percent of a packet, a fragment with no access code and no address. Neither branch recovers the packet.
The bound under the most favorable assumptions follows. Remove the retune time, let the receiver settle instantly, and widen its instantaneous bandwidth to B. The dwell constraint becomes Tsweep = Tpkt · S/B, and the fraction of packets caught intact reduces to a single ratio:
where
Figure 2 draws both. Engineering moves a stepped receiver up the orange line; nothing moves it past the blue one, because coverage is set by B alone.
At 1 MHz the idealized receiver catches at most 2.0 percent, at 20 MHz at most 40.9 percent, at 40 MHz at most 81.8 percent, and the bound reaches 1 at 48.9 MHz, where it stops constraining anything. It is an upper bound: a receiver holding 48.9 MHz of an 83.5 MHz band is blind to the rest at every instant, so certainty needs B = S, and a receiver that holds the whole band at once is not a stepped receiver. Neither the retune time nor the sweep speed appears in the bound. The intact-capture fraction of a stepped receiver is bounded by the fraction of the band it holds at once; retune time and sweep speed set how closely it approaches that bound, not the bound itself.
Figure 3 draws that arithmetic, and the same physics governs any burst: an SS/PBCH block lasts 142.7 µs and repeats every 20 ms, so it is present 0.71 percent of the time.
Retune dead time is not random; it repeats at the revisit period. A duplex pattern switching every 2.5 ms, watched by an analyzer revisiting five slices on a 25 ms period, is sampled at the same phase every time. If the dead time overlaps the switch, the transient is not observed on any revisit, and a longer run repeats the same phase.
Error vector magnitude combines in root-sum-square, because device and instrument error vectors are uncorrelated:
where
A transmitter at the 3GPP 256QAM limit of 3.5 percent reads sqrt(12.25 + 4.00) = 4.031 percent on an instrument with a 2.0 percent residual: a wrong verdict, not a less precise one.
Averaging hides a rare symbol. Take a 70-symbol window in which 69 symbols read 2.5 percent and one, at a duplex switch, reads 15 percent. The composite is sqrt[(69 × 6.25 + 225)/70] = sqrt(9.375) = 3.06 percent, passing with margin. That symbol exceeds even the 16QAM limit of 12.5 percent, so it is undecodable and it fails the whole slot: one slot in five, a 20 percent block error rate, a throughput collapse no EVM report explains. It shows in one view only, EVM against symbol index over a contiguous record, which a segmented acquisition cannot produce.
Figure 4 plots the crossings. A receiver residual near the limit does not degrade the measurement gradually; it moves the pass boundary.
Table 2 turns those mechanisms into six numbers, each with the reason a looser value fails rather than merely degrades. Any receiver can be scored against it.
| Requirement | Number | Why not looser | |
|---|---|---|---|
| R1 | Gap-free, calibrated, flat analysis bandwidth, no stitching | ≥ 100 MHz | 80 MHz misses 18.28 MHz of the carrier; 98.28 MHz leaves the edges in the roll-off. |
| R2 | Sample rate with an exact rational path to the native rate | ≥ 122.88 MSa/s | 122.88 MSa/s is exactly 3072/3125 of 125; any other ratio forces an interpolating resampler. |
| R3 | Sustained, verified-lossless record throughput | 500 MB/s for 60 s | 8-bit halves the rate but yields 49.9 dB against the 85 dB R4 needs. |
| R4 | Instantaneous usable dynamic range in the capture bandwidth | ≥ 85 dB | 75 dB from a −10 dBm Wi-Fi peak to a −85 dBm peripheral, plus 10 dB of crest. |
| R5 | Instrument residual EVM at the modulation order under test | ≤ 1.0 percent | At the 3.5 percent limit, 1.0 percent inflates it by 4.0 percent, 2.0 percent by 15.2. |
| R6 | Frequency reference accuracy, lock state logged per record | ≤ 0.005 ppm | The 0.05 ppm base-station limit is 175 Hz at 3.5 GHz; measuring it needs ten times that. |
R3 turns gap-free into a throughput figure:
where
At 125 MSa/s with 16-bit components that is 500 MB/s, or 4.0 Gbit/s of payload. Table 3 and Figure 5 show how an instrument can carry a 100 MHz converter and still not be gap-free to storage.
| Link | Payload ceiling | Sustained | Verdict at 500 MB/s |
|---|---|---|---|
| USB 3.2 Gen 1 host port | 4.0 Gbit/s, 8b/10b | about 400 MB/s | insufficient |
| USB 3.2 Gen 2 host port | 9.7 Gbit/s, 128b/132b | 875 MB/s and up | sufficient |
| 1 GbE | 0.94 Gbit/s | 118 MB/s | insufficient by four times |
| SATA III drive | 4.8 Gbit/s, 8b/10b | 500 MB/s in burst | fails after the cache |
| NVMe PCIe 3.0 ×4 | about 3.9 GB/s | 2 to 3.5 GB/s | sufficient |
| ICX-Series USB module, USB 3.0 (USB 2.0 bandwidth limited) | 480 Mbit/s raw | under 60 MB/s | insufficient |
| ICX-Series LAN module, Gigabit Ethernet | 0.94 Gbit/s | 118 MB/s | insufficient by four times |
| Module interfaces from the ICX-Series USB/LAN datasheet; link rates are the interface standards' figures. | |||
A receiver satisfying R1 through R6 is a narrow class of instrument. The ICX-FieldHawk family meets R1 and R2 as published, and section 7 states where it does not and where it cannot be scored. Published, at 25 °C after ten minutes of warm-up with spur reject standard on: 100 MHz analysis bandwidth on the ICX-095, ICX-200 and ICX-400 handhelds, on the ICX-095R, ICX-200R and ICX-400R tablets and on the ICX-200U and ICX-400U modules, with 50 MHz standard and 100 MHz with option 50 on the 4.5, 6 and 9 GHz handhelds; IQ sample rate to 125 MSPS with decimation 1 to 4096; burst recording to 100 MHz into 128 Mbyte; continuous recording to 25 MHz.
R1 and R2 go together. A 100 MHz window holds an FR1 carrier plus both guard bands, and the whole ISM band. 125 MSPS clears the 122.88 MSa/s native rate, and 122.88/125 is exactly 3072/3125, so one polyphase stage reaches the standard's grid without interpolation. The numerator and denominator are the specification to ask any supplier for: resampler error appears as EVM attributed to the device.
Figure 6 draws the split. It matters most to anyone embedding a receiver in a product they sell: a dropped sample becomes a decode failure in the product, in code its maker cannot debug. The supplied application, SpectraCore, is at the same boundary: it is where the corrected samples surface, and it is the layer a product design is free to replace without giving up the correction underneath it.
The hopping map follows. Treating the hops as sampling channels uniformly, the expected number of hops to touch all 79 at least once is 79 × (ln 79 + 0.5772 + 1/158) = 391, or 244 ms at 1600 hops per second. The published 128 Mbyte capture memory, filled at 100 MHz with 16-bit components, holds 128 MB / 500 MB/s = 0.26 s, as Figure 7 draws.
One fill of the built-in capture buffer at full bandwidth is 0.256 s. The expected time for Bluetooth to visit all 79 of its channels at least once is 0.244 s. A single burst capture is, to within five percent, one adaptive frequency hopping map. It also holds twenty-five 10 ms NR radio frames.
The acquisition behind the four panes is one array of complex samples. The wide occupancies and the narrow bursts are therefore on one amplitude reference and one clock, which is the condition R1 and R2 impose and the condition a stitched record cannot meet.
Figure 8 is the whole 2.4 GHz band in one acquisition. The real-time engine behind it publishes the relation that makes its intercept guarantee computable: one hundred percent probability of intercept is 2 × N × D × 8 ns, 32.768 µs at 2048 points and 0.512 µs at 32. The single-slot DH1 packet worked in section 3 is eleven times the first figure and a 1 µs symbol twice the second, so neither is near the boundary. Decimation is then the storage lever: at 64, one channel records at 7.8 MB/s, turning a minute from 30 GB into 469 MB.
None of R1 through R6 asks for a software ecosystem. Once the IQ is gap-free, corrected and on one time base, the decoders above it already exist. With the -SDR option, orderable on every current ICX model by appending -SDR to the part number, the ICX-FieldHawk presents itself through SoapySDR, the vendor-neutral hardware abstraction layer, so it appears to GNU Radio or any other SoapySDR application as an ordinary software-defined radio device. The instrument's calibration files are installed with the driver, so the samples arriving in a flowgraph are corrected before the first block sees them, and every standard measurement function of the base instrument stays installed (the ICX -SDR option datasheet).
For multi-radio work that matters more than it does anywhere else, because the protocol decoders for these three radios already exist. An 802.11a receiver, complete with packet detection, synchronization, transform, channel equalization and MAC decoding, is an existing GNU Radio flowgraph. Connecting it to a calibrated front end is a matter of changing the source block, not of writing a demodulator.
A host window rather than an instrument display: real data from the receiver, rendered by the flowgraph's own sinks, so the amplitude axis is relative gain and the calibrated level lives in the samples, not on this screen.
Figure 9 is the result of that substitution on a host. The -SDR option datasheet documents six chains on the same source block: AM and FM demodulation, QPSK, 16-QAM at 500 kSymbol/s received at −80 dBm, 802.11a WLAN decode at 2.412 GHz with packets exported to Wireshark or PCAP, and ADS-B aircraft tracking. What makes the path useful here is not the demodulation, which any receiver can be made to do, but that the amplitude underneath every decoded frame is still traceable. A coexistence question is settled by a PCAP file together with a calibrated power number; a PCAP file alone records the decode without the level behind it.
The SoapySDR and GNU Radio path is documented for x86_64 hosts running Ubuntu 22.04 or later with GNU Radio 3.9 or later; the instrument's own API additionally supports C, C++, C#, Python, MATLAB, Qt and LabVIEW on Windows and Linux. Driver packages, calibration files and example chains are maintained releases whose packaging may change (the ICX -SDR option datasheet).
None of this depends on which analyzer is on the bench.
The boundary of section 5 is the one the -SDR option is built around. Its datasheet records that system integrators embed ICX receivers behind their own EMF measurement, 5G analysis and network coverage software, and that teams integrating monitoring and signal intelligence systems use the instrument as a calibrated front end and write their own application on top, in their own language and user interface. In each case the receiver supplies the bandwidth and the corrected, continuous IQ, and the protocol layer belongs to the product; no end user is named here.
Table 4 collects the relations and published values with their conditions.
| Quantity | Relation or value | Condition |
|---|---|---|
| Occupied bandwidth | NRB × 12 × Δf | 98.28 MHz at 100 MHz, 30 kHz |
| Intact-capture sweep time | Tpkt · S / RBW | 30.56 ms, DH1 across 83.5 MHz at 1 MHz |
| Best-case hop intercept | 2.05 percent | one packet in 48.9, stepped receiver |
| Intact-capture bound, any stepped receiver | B / (h · Tpkt · S) | upper bound; certainty needs B = S |
| Analysis bandwidth | 100 MHz | ICX-095, 200, 400; ICX-095R, 200R, 400R; ICX-200U, 400U. 50 MHz standard, 100 MHz with option 50, on the ICX-045, 060, 090 |
| Recording | burst 100 MHz into 128 Mbyte; continuous 25 MHz | about 0.26 s taken at 16-bit I and Q |
| 100 percent POI | 2 × N × D × 8 ns | 32.768 µs at N = 2048, D = 1 |
| Frequency reference | accuracy < 1 ppm, TCXO or option 01 OCXO; OCXO temperature stability < 0.15 ppm, aging < 1 ppm/year | 25 °C, 10 minute warm-up |
| Module data interface | USB 3.0 (USB 2.0 bandwidth limited); Gigabit Ethernet | USB model; LAN model |
| Source: the ICX-FieldHawk, ICX-FieldHawk-R, ICX-Series USB/LAN and ICX -SDR option datasheets. | ||
Where a display matters, the ICX-095, ICX-200 and ICX-400 handhelds carry 100 MHz to 9.5, 20 and 40 GHz, and the ICX-FieldHawk-R tablets carry the same three ranges in an IP68 enclosure. Embedded, the ICX-200U and ICX-400U modules give 100 MHz over USB or LAN, and the LAN interface is the one to specify where continuous streaming matters. The 4.5, 6 and 9 GHz handhelds carry 50 MHz as standard, which does not hold the 83.5 MHz ISM allocation whole; option 50 raises them to 100 MHz. Option 71 adds digital demodulation, option 01 the OCXO, and -SDR the SoapySDR and GNU Radio path.
| Symbol | Meaning | Units |
|---|---|---|
| μ, Δf | Numerology index, subcarrier spacing | dimensionless, Hz |
| Tu, TCP | Useful symbol, cyclic prefix duration | s |
| NRB, Bocc | Resource blocks, occupied bandwidth | Hz |
| M, d, N, L | Prefix metric; window start; lag; window length | dimensionless, samples |
| fs, b | Complex sample rate, bits per component | Sa/s, bits |
| S, RBW | Span, resolution bandwidth | Hz |
| f, B, h | Intact-capture bound; instantaneous bandwidth; hop rate | dimensionless, Hz, s−1 |
| Tpkt | Packet air time | s |
If you are specifying a front end for a multi-radio product, or settling a coexistence question with a measurement, our application engineers would be glad to work through these requirements against your own signals.