Capturing a real radio environment so a device under test can face it again, identically, as many times as the investigation takes.
Capturing a real radio environment so a device under test can face it again, identically, as many times as the investigation takes.
Some receiver failures occur only in the field, and the field is a poor test fixture: it does not repeat, cannot be scheduled, and does not hold still while one variable changes. Record and playback resolves that by turning the environment into a file. This paper sets out the complex baseband representation, the error terms that limit fidelity in a two-instrument capture-and-replay chain, the storage arithmetic that governs how long a scene can be, what synchronizing two generator channels requires, and how to demonstrate that a replay is faithful. It then scores the capture half against the ICX-FieldHawk datasheets and the playback half against the Model 875 vector-modulated Signal Generator datasheet, and states which of the requirements neither can answer from a datasheet.
Receiver and system test engineers reproducing field failures on a bench. GNSS, automotive and cellular validation teams building repeatable scenario libraries. EW and radar warning receiver engineers who need range environments in the laboratory.
A receiver fault that appears once an hour at one intersection cannot be bisected against a radio environment that never recurs. The scene at any antenna is the superposition of every emitter in view, each with its own traffic, power control and mobility, and two successive observations of the same place differ in interferer timing, channel occupancy and fading state.
A standards-compliant generated waveform repeats exactly, and it is the right stimulus for conformance. It contains only what was synthesized: no co-channel clutter, no adjacent-channel leakage, no unplanned transients. A receiver that passes it can still fail in the field on the content the synthesis did not include.
Record and playback is real and repeatable at a chosen point in space. Capture the environment once as complex samples; replay it on the bench as often as needed, identically. The recording becomes a portable, versionable test asset: a scene that can be shared between teams, replayed against every firmware candidate, and attached to a fault report as the reproduction recipe. Figure 1 draws the chain this paper works through.
The chain in this paper is deliberately split. The capture half is scored in section 6 against the ICX-FieldHawk datasheets, and the playback half against the Model 875 vector-modulated Signal Generator datasheet, after the fidelity budget has said what each half has to do.
A real band-limited signal at carrier frequency fc can be written as an in-phase term on a cosine and a quadrature term on a negative sine. Those two real streams, taken together, carry both the amplitude and the phase of the modulation, and the generator reverses the operation exactly:
where
A real signal has a conjugate-symmetric spectrum, so each real sample carries one degree of freedom and unambiguous representation up to bandwidth B needs a sample rate of twice B. A complex sample carries two degrees of freedom, and a complex sequence at rate fs represents a full span of width fs about the tuned center without any symmetry requirement. So bandwidth B needs complex sample rate B rather than 2B. No information is gained: B complex samples per second is 2B real numbers per second either way. Figure 2 draws the two representations.
Usable bandwidth is narrower than sample rate, because the anti-alias and decimation filters need a transition band. A ratio near 0.8 is typical, which is why a file's sample rate is not its bandwidth, and why the two are recorded separately.
Figure 3 shows that pair on an instrument display: the two traces are the same signal a quarter cycle apart, and the rate field under them is the sample rate, shown on a screen as a setting rather than in an equation.
What matters before a scene is trusted is not the trace but the recorded state: center frequency, sample rate, reference level, decimation and an absolute timestamp. A file without them is a column of numbers; with them it is a measurement that can be replayed at the level and the frequency it was taken at.
Every impairment appears twice in a two-instrument chain, once in the analyzer and once in the generator, and where the two are uncorrelated they combine as a root sum of squares in error-vector terms. Images and spurs at related offsets do not obey that and can add coherently at the worst frequency in the scene. The two ends are not symmetric, and which end to specify more tightly follows from that.
A replay cannot be cleaner than its capture. The analyzer's noise, spurs, imbalance and phase noise are in the file, and to the generator they are indistinguishable from signal, so they are reproduced. The capture instrument sets the ceiling on scene fidelity; the generator determines how much is lost from it.
Ideal quantization of a full-scale sine into b bits gives a signal to noise ratio of 6.02b plus 1.76 decibels. Real converters fall short, and the figure to use is the effective number of bits derived from measured signal to noise and distortion:
where
Two consequences follow. Headroom costs bits: every decibel of unused input range below full scale is a decibel of signal to noise forfeited, so reference level at capture is a fidelity decision rather than a convenience, and a multi-emitter scene with a high peak to average ratio sets that headroom. And decimation buys it back, at ten times the log of the ratio between the original and final bandwidths: recording a 5 MHz emission out of a 100 MHz span is a factor of twenty, or 13.0 dB, which is more than two bits returned for the cost of a filter setting.
Gain imbalance and quadrature phase error between the I and Q paths produce an image of the signal mirrored about the center frequency, with a rejection ratio of approximately:
where
Table 1 shows how little imbalance it takes to cap image rejection, and Figure 4 plots the relation across the range that matters in practice.
| Gain imbalance | Phase error | Image rejection |
|---|---|---|
| 0.05 dB | 0.5 degrees | about 45.6 dB |
| 0.1 dB | 1 degree | about 39.6 dB |
| 0.2 dB | 2 degrees | about 33.6 dB |
| 0.5 dB | 5 degrees | about 25.6 dB |
| 1.0 dB | 10 degrees | about 19.5 dB |
Spectral asymmetry about a carrier is a genuine modulation feature: it is how single sideband differs from double, and it appears in asymmetric channel allocations. An imbalance image is spectral asymmetry manufactured by the instrument. In a replayed scene, the image of a strong emitter can land on a weak wanted signal mirrored about the center, and nothing downstream can tell the two apart. That corruption is specific to record and playback, and section 7 gives the test for it.
A reference offset of x parts per million displaces the carrier by x × 10−6 times the carrier frequency, and it does so twice, in different ways. An offset at capture is frozen into the file as an apparent frequency error common to every emitter in the scene. An offset at replay shifts the reconstructed scene. Locking both instruments to a shared 10 MHz reference removes the second and cannot remove the first. The same offset also stretches time: one part per million lengthens a sixty second recording by sixty microseconds and scales every modulation rate by the same factor.
Phase noise enters the same way, once at each end, and what a demodulator sees is its integral between the carrier-recovery bandwidth and the symbol-rate edge. A phase-noise figure at one offset therefore does not score the term; the figure is needed across the offsets the modulation occupies, which is how requirement R4 of section 6 is written.
Figure 5 draws the two recording figures a datasheet carries on one timeline, and the arithmetic behind both is one line:
where
Table 2 turns that rate into scene duration, and Figure 6 plots the two regimes against bandwidth.
| Usable bandwidth | Sample rate | Rate | One minute | One hour |
|---|---|---|---|---|
| 1 MHz | 1.25 MSPS | 5 MB/s | 300 MB | 18 GB |
| 10 MHz | 12.5 MSPS | 50 MB/s | 3 GB | 180 GB |
| 25 MHz | 31.25 MSPS | 125 MB/s | 7.5 GB | 450 GB |
| 100 MHz | 125 MSPS | 500 MB/s | 30 GB | 1.8 TB |
This is why a datasheet quotes two different bandwidths. Burst capture writes into instrument memory at fabric speed and is bounded by capacity: the ICX-FieldHawk 9.5, 20 and 40 GHz models publish a 128 Mbyte buffer and a 100 MHz burst bandwidth, which at 125 MSPS and 16-bit components is about 0.26 seconds. Continuous capture has to sustain the slowest link in the chain indefinitely, and is published at 25 MHz for those models. The 4.5, 6 and 9 GHz handhelds publish 50 MHz burst (100 MHz with option 50) and 12.5 MHz continuous. Filling a buffer and sustaining a transfer are different constraints, and a scene specification names which one it needs.
Three levers manage the arithmetic. Decimate at capture and record the emission's bandwidth rather than the survey's, which is where the 13 dB of section 3 is spent. Trigger rather than stream, with enough pre-trigger depth to hold the leading edge, since the turn-on transient is where emitter signatures are. Choose the format deliberately: 32-bit float doubles the file for no information gained over 16-bit integers, and lossless compression on near-noise IQ achieves little.
Lossy compression is available and is ruled out explicitly for anything that will be replayed or used to train a classifier. It changes the data in the dimensions that matter, and it does so invisibly.
Multi-antenna receivers, wanted-plus-interferer scenarios and receiver blocking tests all need two generator outputs at once. The word synchronized covers three different requirements, and a specification that does not say which one it needs cannot be scored. Table 3 separates the three rungs, in ascending cost and ascending capability.
| Rung | What it means | What it needs | Sufficient for |
|---|---|---|---|
| Baseband synchronous | no drift in rate between channels | one shared 10 MHz reference | nothing on its own |
| Time aligned | first sample out together, to the sample | a common trigger with deterministic latency, plus measured and nulled skew | throughput and interferer scenarios |
| Phase coherent | known and stable carrier phase between channels | shared or phase-locked local oscillators, phase-stable cabling, recalibration after every retune | angle of arrival and beamforming |
The wanted-plus-interferer case of Figure 7 solves a problem a single channel cannot. In a single recorded scene the ratio between the wanted signal and the interference is frozen at capture. Splitting them across two channels lets the operator sweep interferer power while the wanted carrier stays put, which is what a blocking or desensitization test requires. Using a recorded real aggressor rather than a clean modulated blocker also reproduces the mechanisms an idealized blocker understates: reciprocal mixing, converter overload and gain-control pumping. Figure 8 shows what a single recorded scene holds.
Figure 8 read against the fidelity budget: each panel is a different projection of one array of complex samples, so an impairment introduced at capture appears in all four and can be removed from none. That is the asymmetry of section 3, seen from the operator's side of the display.
Sections 3 to 5 were a fidelity budget. Turned into requirements, they are what to put on a purchase specification for a record and playback bench, and Table 4 states each one with the term it comes from. Note which half of the chain each requirement lands on: that split is the reason this paper keeps the two instruments apart. R2 and R3 are the ones a datasheet does not answer directly, which is why section 7 measures them rather than reading them.
| # | Requirement | Falls on | Derived from |
|---|---|---|---|
| R1 | Complex sample rate at least 1.25 times the scene bandwidth | Both | Complex Nyquist, section 2 |
| R2 | Effective number of bits stated as SINAD at the record bandwidth, not as converter bit depth | Capture | section 3, quantization |
| R3 | In-band image rejection stated, or gain and quadrature imbalance stated so it can be computed | Both, worse end dominates | section 3, equation (3) |
| R4 | Phase noise at the offsets the modulation occupies, and a reference input | Both | section 3, reference offset and phase noise |
| R5 | Sustained record depth at the scene bandwidth, distinguished from burst depth | Capture | section 4 |
| R6 | Common reference and a hardware trigger, with carrier phase stated separately | Playback | section 5, Table 3 |
A requirements table that is not scored is a rubric rather than an argument, so here is the capture half against the requirements a datasheet can answer. The ICX-FieldHawk 9.5, 20 and 40 GHz models, driven by SpectraCore or by the published interfaces beneath it, publish IQ sample rates to 125 MSPS with decimation from 1 to 4096, which satisfies R1 for any scene up to 100 MHz with the 1.25 factor in hand and gives the R5 lever directly. R5 itself is published as two separate figures rather than one: burst recording to 100 MHz into 128 Mbyte, and continuous recording to a host at 25 MHz, which is the form the requirement was written to find.
R4 is answered at four offsets. The reference input is published (external 10 MHz, MMCX), the standard TCXO and the option 01 OCXO both publish frequency accuracy under 1 ppm, with the OCXO's temperature stability under 0.15 ppm, and single-sideband phase noise is published at 1 kHz, 10 kHz, 100 kHz and 1 MHz offsets at two carriers per model, as Table 5 lists. For a modulation whose carrier-recovery bandwidth and symbol-rate edge fall between 1 kHz and 1 MHz, those four points bracket the integral of section 3; outside that range, and at carriers between the two published ones, the figure is not published, so R4 is met for offsets to 1 MHz and is a measurement beyond it.
| Offset | ICX-095 at 1 GHz | ICX-200 at 1 GHz | ICX-400 at 1 GHz | ICX-400 at 40 GHz |
|---|---|---|---|---|
| 1 kHz | −95.2 | −91.2 | −99.0 | −78.4 |
| 10 kHz | −101.6 | −99.7 | −107.5 | −85.7 |
| 100 kHz | −100.6 | −101.1 | −107.7 | −85.1 |
| 1 MHz | −120.9 | −121.6 | −122.7 | −100.8 |
| The ICX-095 publishes −91.5, −98.5, −99.7 and −116.2 dBc/Hz at 9.5 GHz and the ICX-200 −80.6, −90.6, −96.2 and −111.5 dBc/Hz at 20 GHz, at the same four offsets. | ||||
Two of the six cannot be scored from the datasheet, and saying so is the point of the exercise. R2 is not published as SINAD at the record bandwidth, so the effective bits behind a capture are a measurement the buyer makes. R3 has two parts, and only one is published. RF image rejection, the superheterodyne front end's response at the image frequency, is published: above 90 dBc typical with spur rejection standard from 90 MHz to 9.5 GHz on the 9.5, 20 and 40 GHz models, and above 58 dBc from 33 to 40 GHz on the 40 GHz model. The in-band image of equation (3), the mirror within the analysis bandwidth that quadrature imbalance produces, is not published, so the gain and quadrature imbalance that set it are measured with a single-sideband tone. Both are the terms section 3 showed cannot be corrected out afterward, and both are an afternoon on a bench that already exists.
The playback half is a Vector Signal Generator with an arbitrary I/Q generator that plays a loaded file at the file's sample rate on the capture's center frequency, and Berkeley Nucleonics publishes one: the Model 875 vector-modulated Signal Generator, in models to 4, 6, 12, 20 and 40 GHz and with up to four channels per device. Table 6 scores it against the three requirements that fall on playback.
| Requirement | Published value, Model 875 | Scored |
|---|---|---|
| R1 sample rate | internal I/Q baseband generator, 16 bits per component, sample rate 10 Hz to 500 MHz with 1 Hz resolution; waveform length to 512 M samples; 400 MHz RF modulation bandwidth | Yes: a 125 MSPS capture plays at its own rate, and the 512 M sample memory holds 4.3 s of it, or 17 s of a 31.25 MSPS scene |
| R3 image and leakage | image sideband rejection 65 dBc minimum, 85 dBc typical; carrier leakage −70 dBc maximum, −90 dBc typical; I/Q frequency response ±1.0 dB typical, ±1.5 dB maximum over 400 MHz below 6 GHz | Yes: the playback end's image is published and lies well under the capture ceiling of Table 1, so the chain's image is set by the capture |
| R4 phase noise and reference | −130, −145 and −150 dBc/Hz typical at 1 kHz, 20 kHz and 100 kHz offset from a 1 GHz carrier at +10 dBm; internal OCXO, phase-locked to an external 10 or 100 MHz reference | Yes: 20 to 40 dB below the capture end at each published offset, so the capture sets the integral |
| R6 two channels | up to four channels per device; synchronous initiate and trigger; channel-to-channel jitter ±10 ps typical; isolation above 90 dB; phase-coherent switching as option PHS | Yes for the time-aligned rung from one trigger; the phase-coherent rung with option PHS and a recalibration after each retune |
Take a single job and run it down the table. A consumer wireless device fails intermittently at one city intersection and nowhere else, and the team cannot reproduce the failure. The scene is the 2.4 GHz band at that intersection: an access point, a microwave oven, several handsets and a Bluetooth headset, all of them moving. R1 fixes the sample rate at 1.25 times the 83.5 MHz that holds the whole band, so 104 MSPS. Decimation runs in powers of two, so 104 is not a selectable rate: the choice is 125 MSPS or 62.5, and 62.5 carries 50 MHz usable, so the whole band forces the full 125 and the file is a fifth larger than R1 alone implies. That is the ordinary way a requirement meets hardware. R5 then fixes the duration: at 500 MB/s a one-minute scene is 30 Gbyte, which the burst buffer cannot hold and the sustained path cannot reach at that bandwidth, so either the scene is decimated to the 25 MHz that carries the suspect emitters, which is the sustained figure R5 publishes and therefore has no duration limit, or it is cut to the seconds around the failure that the burst buffer holds. That is a decision about the experiment, forced by the R5 row of Table 4, and it is made before the site visit. Decimation has one exception and this scene contains it: the headset hops across the whole 79 MHz, so a 25 MHz window keeps the access point and loses the hopper. For a frequency-hopping emitter the emission bandwidth is the survey bandwidth, and the only lever left is duration.
R6 decides the rest. Reproducing the failure shows only that it reproduces; finding the threshold means sweeping the interferer while the wanted signal stays put, which a single recorded scene cannot do because the ratio was frozen at capture. Two channels, a common reference and a hardware trigger turn the recording into an experiment with a variable in it: the scene answers what happened, and the second channel answers how much margin was missing. R2 and R3 apply to both, because an image or a lifted noise floor introduced at capture is replayed as though the intersection had produced it.
Fidelity is demonstrated, not assumed. Close the loop, as Figure 9 draws it: replay the file into the same analyzer under SpectraCore, capture it again, and compare against the original. Because the same instrument bounds both captures, this measures what the generation and recapture chain added, which is a slightly pessimistic bound on the generator alone.
Every step above is arithmetic on a complex array, which decides who can do it. With the -SDR option, orderable on every current ICX model, the ICX-FieldHawk presents itself through SoapySDR, the vendor-neutral hardware abstraction layer, with a GNU Radio source block and the unit's calibration carried by the driver, so the capture side of this loop can be driven from GNU Radio or from any other SoapySDR application and the samples arrive corrected. The cross-correlation, the residual-offset estimator and the Welch comparison are then existing blocks rather than a development project, and the amplitude reference underneath the fidelity number remains traceable to the instrument's calibration.
One requirement recurs in record and playback purchases: two or more generator channels under a single control port and a single trigger, rather than separately addressed instruments. It reads as a packaging preference and it is not. Two channels commanded separately are two instruments with two time bases, and section 5 is the reason a buyer who has run the loop above asks for one port. The synchronization rung a test needs is decided at purchase, not at setup, and it is the hardest thing to add afterward.
Table 7 is the block to lift into an evaluation matrix.
| Quantity | Relation or value | Condition |
|---|---|---|
| Complex sampling | fs ≥ B, not 2B | usable bandwidth about 0.8 fs |
| Data rate | fs × 2 × b/8 | 500 MB/s at 125 MSPS, 16-bit |
| Effective bits | (SINAD − 1.76) / 6.02 | measured, not nominal |
| In-band image rejection | 4 / (ε2 + φ2) | about 39.6 dB at 0.1 dB and 1 degree; measured with a single-sideband tone |
| RF image rejection | above 90 dBc typical, 90 MHz to 9.5 GHz; above 58 dBc, 33 to 40 GHz | spur rejection standard; 9.5, 20 and 40 GHz models; the 40 GHz band on the ICX-400 |
| Reference offset | Δf = x × 10−6 × fc | also scales elapsed time |
| Reference | frequency accuracy < 1 ppm, TCXO or option 01 OCXO; OCXO stability < 0.15 ppm; external 10 MHz input | 0.15 ppm is temperature stability, not accuracy; lock both instruments to one reference |
| Phase noise | four offsets per carrier, Table 5 | 1 kHz to 1 MHz at 1 GHz and at the model's top frequency; 25 °C, 10 min warm-up |
| Burst capture | 128 Mbyte, 100 MHz, about 0.26 s at 125 MSPS | 16-bit components; 9.5, 20 and 40 GHz models (50 MHz, 100 with option 50, on the 4.5, 6 and 9 GHz handhelds) |
| Continuous capture | 25 MHz | sustained to the host, which has to keep up: confirm the interface and the sustained write rate; 12.5 MHz on the 4.5, 6 and 9 GHz handhelds |
| IQ sample rate | up to 125 MSPS, decimation 1 to 4096 in powers of two | 9.5, 20 and 40 GHz models; 62.5 MSPS, 125 with option 50, to 2048 on the others |
| Playback | Model 875: 400 MHz modulation bandwidth, 500 MSPS, 512 M samples, up to four channels | 23 ±5 °C, 30 min warm-up; typical values are expected means |
| Capture values from the ICX-FieldHawk handheld, ICX-FieldHawk-R and ICX-Series USB/LAN datasheets; playback values from the Model 875 datasheet. | ||
| Symbol | Meaning | Units |
|---|---|---|
| fc, B | Center frequency, signal bandwidth | Hz |
| fs | Complex sample rate | samples per second |
| b | Bits per IQ component | bits |
| ε, φ | Gain imbalance, quadrature phase error | fraction, radians |
| IRR | Image rejection ratio | dB |
| SINAD, ENOB | Signal to noise and distortion; effective number of bits | dB, bits |
| R | Data rate | bytes per second |
If you are building a scenario library and want the fidelity budget worked against your own device under test, our application engineers would be glad to go through it with you, including the cases where a channel emulator rather than a replay is the right answer.