{"id":"9fe0c21e-6e6a-4a77-bb68-99ae2c397aa0","arxiv_id":"2608.02860","paper_version":1,"verdict":"CONDITIONAL","confidence":"HIGH","novelty_score":4.0,"correctness_risk":"medium","formal_verification":"none","parameter_count":0,"one_line_summary":"A two-channel RFSoC-based readout system reads up to 2048 kinetic inductance detectors with noise low enough for detector-limited operation on sky.","lead":"This paper describes an open-source electronics system for reading out thousands of superconducting microwave detectors at once. The authors show the readout adds negligible noise when operating on a real millimeter-wave telescope, and they share the design and software.","discovery_kind":"extension","skeptic_critique":{"model":"deepseek-v4-flash","headline":"PCA-cleaned IF loopback floor may be overfit; out-of-sample test needed to support the 'flat to 100 mHz' claim, though the 10-15 dB on-sky margin leaves the detector-limited conclusion intact.","rationale":"The reader's weakest_assumption identifies exactly the same load-bearing point: PCA templates are assumed to contain only common-mode electronic noise, and if they remove per-tone variance the quoted noise floor becomes optimistic. That is the right concern to stress. The reason it is load-bearing is that the paper's headline number, -100.6 dBc/Hz flat to 100 mHz for 1000 tones, is only about 0.6 dB below the stated -100 dBc/Hz requirement, so even a modest downward bias from in-sample PCA cleaning would erase the margin and change the summary claim. The 1-2 dB margins used in Sec. 4.4 to argue that the cryogenic off-resonance system is LNA-limited are of the same size as the plausible bias. The concern is not fatal to the central detector-limited claim, because the on-sky detector noise is much larger than the readout floor: -87 dBc/Hz on resonance versus -98.5 dBc/Hz off resonance, leaving roughly 11 dB of margin even before considering PCA bias. Thus the system is very likely detector-noise-limited for SKIPR regardless of the exact PCA behavior. The paper also has independent support: the digital-loopback noise is consistent with the independently measured ADC and DAC noise, and the scaling from 1000 to 100 to 10 tones follows the expected 10 dB per decade behavior. These strengthen the qualitative claim. The specific quantitative claim, however, needs the proposed out-of-sample test before the abstract's unconditional 'flat to 100 mHz' phrasing can be taken at face value. The reader's conditional verdict already captures this uncertainty, so no change in verdict is needed; the condition should be that the PCA-cleaned floor be cross-validated or explicitly reported as in-sample-cleaned only.","tokens_in":16828,"tokens_out":10183,"duration_ms":103896,"concrete_test":"Split the 1000-tone IF loopback record in half. Estimate PCA templates from the first 50 s only; apply them to the second 50 s; compute median and 68%-range cleaned PSDs and compare with the in-sample -100.6 dBc/Hz value. Repeat with 2, 5, 10, and 15 components. If the out-of-sample median is more than about 0.5-1 dB higher, or crosses -100 dBc/Hz, the published floor is overfit and the abstract needs a caveat plus a corrected number. As a control, add a known white-noise component to the timestream and verify PCA cleaning recovers it to within 0.1-0.2 dB, demonstrating that the templates do not absorb independent per-tone noise.","verdict_should_be":"UNCHANGED","load_bearing_attack":"The headline noise floor rests on a cleaning step whose validity is asserted, not demonstrated. In Secs. 4.2 and 4.3, the raw spectra show strong low-frequency correlated noise; after subtracting the first 2 (digital) or 8-10 (IF) PCA templates, the median spectrum is called flat at -102.7 or -100.6 dBc/Hz. These templates are estimated from the same 100-s records whose PSDs they then flatten (Figs. 7-8), so the procedure can remove per-tone variance, not only common-mode electronics. The paper gives no cross-validation, no test with injected common-mode, and no error bars; the choice of 2 vs 8-10 components is post hoc. The margin to the stated -100 dBc/Hz requirement is only about 0.6 dB for IF loopback, and the abstract-level 'flat down to 100 mHz' claim is conditional on the cleaning. However, this concern does not overturn the central detector-limited conclusion: in Sec. 4.4 the on-sky KID frequency noise (-87 dBc/Hz) sits 11-15 dB above the cleaned readout floor even if that floor were biased by 2-3 dB, so the electronics are still not the bottleneck for SKIPR. The attack is therefore on the specific headline noise number and the 1-2 dB budget margins, not on the qualitative detector-limited claim.","agreement_with_reader":"agree"},"referee_report":{"model":"deepseek-v4-flash","summary":"The paper presents a complete, open-source readout electronics system for kinetic inductance detector (KID) arrays, built on the Xilinx ZCU111 RFSoC. The architecture provides two independent 512 MHz channels, each capable of generating and digitizing up to 1024 probe tones, with a custom IF up/down converter extending operation to 4 GHz. The authors characterize the ADC, DAC, digital loopback, IF loopback, and full cryogenic/on-sky operation, and report a flat per-tone noise spectrum of about -100.6 dBc/Hz at 1000 tones in IF loopback (after correlated-noise subtraction), with detector-noise-limited on-sky performance for the SKIPR instrument: on-sky KID frequency noise of -87 dBc/Hz versus an off-resonance readout noise of -98.5 dBc/Hz. A Python control and processing framework (KidPy, rfsocinterface) is also described.","tokens_in":17111,"tokens_out":9919,"duration_ms":79710,"significance":"If the reported performance holds, this is a valuable contribution to the KID readout community, demonstrating a scalable path to ~1000-pixel-per-feedline readout with sufficient dynamic range for on-sky photon-noise-limited operation. The paper's strengths include component-level noise measurements that are internally consistent with the system-level loopback results (e.g., the predicted -103 dBc/Hz digital loopback floor from ADC/DAC noise versus the measured -102.7 dBc/Hz), and the central 'detector-noise-limited on-sky' claim rests on an 11-15 dB margin that is insensitive to modest errors in the readout floor. The open-source software stack, if made available with proper links, is also a useful community contribution.","major_comments":[{"comment":"The headline flat noise floors are obtained after subtracting the first 2 (digital loopback) or 8-10 (IF loopback) principal components computed from the same 100-s records whose PSDs are then reported. The manuscript provides no out-of-sample validation, no error bars on the cleaned PSDs, and no sensitivity analysis for the number of components. Because the IF-loopback floor of -100.6 dBc/Hz is only 0.6 dB below the -100 dBc/Hz requirement stated in Section 2, even a small overfitting bias would change the abstract's claim. I request a cross-validation test (e.g., estimate templates on one half of the data and apply them to the other half), error bars on the median PSDs, and an explicit statement in the abstract that the quoted noise levels are after correlated-noise subtraction.","section":"Sections 4.2-4.3, Figures 7-8"},{"comment":"The abstract states without qualification that the readout is 'sufficient for detector-noise-limited operation,' but Section 4.4 shows that in a dark lab configuration at 1000 tones the readout would be approximately 1-2 dB above the KID frequency-response noise. The unqualified claim is therefore only supported for on-sky operation, where the 11-15 dB margin makes the readout clearly subdominant. Please qualify the abstract claim to specify on-sky operation, or present the dark-laboratory projection as a caveat in the summary of results.","section":"Abstract and Section 4.4, Figure 9"}],"minor_comments":[{"comment":"The title claims 'Open Source,' but the manuscript provides no repository links, DOIs, or code availability statements for the firmware, KidPy, or rfsocinterface. Please add a data/code availability section.","section":"Title, Sections 3.5 and 5"},{"comment":"The x-axis label 'Delta Frequency (kHz)' is ambiguous for a single-tone DAC spectrum; please clarify the tone center frequency, the span, and the resolution bandwidth in the caption or axis label.","section":"Figure 6 (right)"},{"comment":"The data-path description contains a redundant sentence ('The output is subsequently streamed into a FFT core that similarly processes...') that makes it unclear which FFT core is being referenced; please streamline the description.","section":"Section 3.2"},{"comment":"The left panel caption reads '100 T ones' (missing space) and uses inconsistent capitalization for 'Off Resonance'; please correct these typographical issues.","section":"Figure 9 caption"},{"comment":"The ADC SNR is measured at 3.932 GHz sample rate rather than the 4.096 GHz operating rate; please state how the quoted digitization noise would change at the operating rate so the reader can assess the effect on the noise budget.","section":"Section 4.1"}],"recommendation":"major_revision","confidential_remarks":"The core technical conclusion - that the readout is not the bottleneck for on-sky SKIPR observations - is robust because the on-sky margin is large. The main risk is the abstract's unqualified 'flat to 100 mHz' and 'detector-noise-limited' claims, which rely on in-sample PCA cleaning and a dark-laboratory margin of only 1-2 dB. The requested cross-validation and error bars should be straightforward to provide and would strengthen the paper considerably. I also recommend that the editor ensure the open-source repositories are actually made available, since the title's central promise depends on them."},"author_rebuttal":null,"desk_editor":{"model":"deepseek-v4-flash","letter":"Candid take: this is a well-executed instrumentation paper. The new content is real: a dual-channel 2048-tone RFSoC readout with a custom IF chain to 4 GHz, a working Python/GUI control stack, and on-sky SKIPR validation. That combination hasn't been shown before in one package. It builds directly on the ROACH-2 and CCAT-prime efforts, but the integration and the on-sky demonstration are legitimate additions.\n\nThe noise budgeting is internally consistent. They predict -103 dBc/Hz for digital loopback from independent ADC/DAC specs and measure -102.7. The 10 dB per factor-of-10 in tone count scales as expected. The homodyne cancellation argument for LO phase noise is plausible, and the paper is honest about the dark lab test: with 1000 tones the readout would sit 1-2 dB above the detector noise in frequency response, though on-sky photon noise leaves ample margin.\n\nThe main caveat is the PCA cleaning. The abstract says \"flat down to 100 mHz\" without mentioning that the quoted floors are only after subtracting 2 (digital) or 8-10 (IF) principal components estimated from the same records. That's a post hoc fit; without cross-validation or injected common-mode tests, it's unclear how much per-tone noise or detector signal is being removed. The figures show raw spectra with strong low-frequency correlations, and the cleaned spectra are impressively flat, but the absence of error bars on the headline numbers makes it hard to judge the 1-2 dB budget margins. That said, the on-sky margin is large enough that the main claim survives: SKIPR frequency noise at -87 dBc/Hz sits roughly 14 dB above the IF loopback floor, so even if that floor is optimistic by several dB, the electronics are not the bottleneck.\n\nA second, minor issue: the paper is titled \"open source\" but I don't see a repository link anywhere in the text. That needs to be addressed before publication. Also, the choice of 2 vs 8-10 PCA components is somewhat ad hoc; a sensitivity study would strengthen the presentation.\n\nThis deserves peer review. I'd ask for a caveat in the abstract/summary about PCA cleaning, a software URL, and error bars on the quoted noise values. The detector-limited conclusion, especially from SKIPR, is solid and worth publishing.","headline":"A genuinely useful RFSoC KID readout system with on-sky validation; the headline noise floor rests on PCA cleaning that deserves a caveat, but the detector-limited claim holds.","tokens_in":17708,"tokens_out":3347,"would_cite":true,"duration_ms":29584,"reading_group":"yes","serious_thinker":"yes","would_accept_peer_review":true},"rs_alignment":null,"lean_confirmation":null,"pith_extraction":{"msc":[],"pacs":[],"model":"deepseek-v4-flash","headline":"One RFSoC-based readout chain can simultaneously probe 2,048 superconducting resonators with noise below the detector floor.","keywords":["kinetic inductance detectors","superconducting resonators","RFSoC readout","digital readout techniques","frequency-division multiplexing","noise characterization","millimeter-wave instrumentation"],"falsifier":"Inject a known low-frequency amplitude modulation into a single tone and run the same principal-component cleaning to see whether the injected signal survives; if the top templates partially remove it, the cleaning is eating real per-tone information and the quoted $-100$ dBc Hz$^{-1}$ floor is optimistic.","tokens_in":16648,"feed_emoji":"📡","tokens_out":6481,"duration_ms":56925,"temperature":0.7,"pith_summary":"This paper demonstrates an open-source, two-channel readout system for arrays of superconducting microwave resonators, specifically kinetic inductance detectors, built around a single Radio Frequency System on Chip (RFSoC) evaluation board plus a custom analog up/down converter. The system is designed to place up to 1,024 probe tones per channel in a 512 MHz band, so one board addresses 2,048 resonators at once. The central claim is that the electronics are quiet enough not to limit measurements: with 1,000 tones the full chain reaches about $-100$ dBc Hz$^{-1}$ of noise relative to the carrier after removing correlated common-mode components, matching the requirement derived from the SKIPR millimeter-wave imager. With fewer tones the floor drops to about $-110$ dBc Hz$^{-1}$, set by residual local-oscillator phase noise in the homodyne converter. The authors conclude that this is sufficient for detector-noise-limited operation of existing and planned KID imagers, and they supply a software framework for tuning, calibrating, and operating such arrays.","feed_headline":"One RFSoC board reads out 2,048 resonators quietly","feed_subtitle":"Full-system noise reaches -100 dBc/Hz at 1,000 tones, low enough for SKIPR-scale KID imagers.","key_machinery":"The load-bearing object is a two-stage digital-plus-analog signal chain built around the RFSoC's integrated converters. Tone waveforms are synthesized as the inverse FFT of a frequency-domain lookup table with pseudo-random phases, stored in external DDR4 memory, and streamed to the DAC; returning signals are digitized, decimated, channelized by a 1,024-point polyphase filter bank and FFT, selected by bin, and down-converted with CORDIC oscillators. The custom IF stage uses one programmable local oscillator for both up- and down-conversion, so phase noise largely cancels in a homodyne scheme. Principal-component noise cleaning completes the mechanism: correlated low-frequency drift is subtracted using the two strongest common-mode templates in digital loopback and 8-10 templates when the IF chain is included, which flattens the per-tone noise spectra down to at least 100 mHz.","core_discovery":"The core claim is that one RFSoC-based readout chain can service large arrays of high-quality-factor superconducting resonators without adding meaningful noise, in both dark laboratory tests and on-sky operation. The authors show this by combining 4.096 GSPS data converters with a 1,024-point polyphase filter bank and FFT channelizer, a frequency-domain lookup-table tone generator stored in external memory, and a homodyne IF system that upconverts the 512 MHz digital band to frequencies up to 4 GHz while canceling most local-oscillator phase noise. In digital loopback with 1,000 tones the median cleaned noise is $-102.7$ dBc Hz$^{-1}$; adding the IF chain raises the floor to $-100.6$ dBc Hz$^{-1}$. Off-resonance measurements through the full cryogenic chain measure $-105.4$ dBc Hz$^{-1}$ for a 100-tone dark setup and $-98.5$ dBc Hz$^{-1}$ for an 869-tone on-sky setup. With tones centered on SKIPR detectors, the noise in the frequency-response basis rises to about $-87$ dBc Hz$^{-1}$ on sky, well above the readout floor, which is the evidence that detector noise, not the electronics, dominates.","pith_inferences":["If the principal-component templates truly capture only common-mode electronic noise, then the cleaned spectra represent the achievable per-tone floors; a direct test would be to inject a known low-frequency signal into a single tone and verify that the cleaning leaves it intact.","The noise scaling with tone count suggests the digital arithmetic path is not the ultimate limit; the IF-loopback floor near $-110$ dBc Hz$^{-1}$ points to local-oscillator phase noise, so a quieter LO or a more symmetric mixer should buy the next few dB.","The architecture is detector-agnostic for any high-Q resonator sensing, although the CORDIC-only down-conversion removes compatibility with TES readout, as the paper notes.","In dark 100-tone tests the readout and the cryogenic LNA are within 1-2 dB of each other, so an improved LNA would likely expose the electronics as the next limit, while on-sky photon noise hides that margin entirely."],"forward_implications":["A single RFSoC board can serve 2,048-resonator focal planes without a custom FPGA crate or per-detector electronics.","Readout noise scales predictably with tone count, improving by roughly 10 dB per factor of ten reduction in tones until it hits the IF-chain floor near $-110$ dBc Hz$^{-1}$.","The same homodyne IF design can be reused at any carrier up to 4 GHz, making the digital core independent of the detector frequency band.","For SKIPR-like imagers, photon noise from the sky sits about 10 dB above the readout floor, so the readout is not the sensitivity bottleneck.","The full chain, including calibration sweeps and telescope dithering tools, is provided as open-source software that other KID instruments can adopt or modify."],"supporting_citations":[{"why":"Supplies the earlier FPGA readout for BLAST-TNG whose tone-generation and firmware lineage this system builds on.","marker":"Gordon et al. (2016)"},{"why":"Introduces the DDR4 waveform-generation and CORDIC down-conversion architecture that the dual-channel firmware adopts.","marker":"Sinclair et al. (2022)"},{"why":"Reports detector-noise-limited performance of a related RFSoC readout for CCAT, supporting the scalability claim.","marker":"Sinclair et al. (2024)"},{"why":"Defines the SKIPR detector array, its 960-resonator feedlines, and the readout noise requirement used as the performance baseline.","marker":"Sayers et al. (2025)"},{"why":"Provides the prior dark-noise characterization of the prototype KID array used to judge whether the readout is detector-noise limited.","marker":"Hempel-Costello et al. (2025)"},{"why":"Supplies the principal-component method used to subtract correlated noise from the per-tone time streams.","marker":"Jolliffe (1986)"}],"fun_headline_variants":["Open-source RFSoC readout for 2,048 KIDs","One RFSoC board quietly reads 2,048 resonators","RFSoC system handles 2,048 superconducting resonators","Quiet readout for 2,048 KIDs on one RFSoC board","Single RFSoC board reads out 2,048 KIDs with low noise"],"cache_read_input_tokens":3200,"weakest_assumption_plain":"The quoted clean noise floors are obtained only after subtracting the top 2 to 10 principal components from every tone's time stream, and the argument assumes those components contain common-mode electronic noise rather than real per-tone detector signal.","fun_headline_variants_meta":{"raw":{"variants":["Open-source RFSoC readout for 2,048 KIDs","One RFSoC board quietly reads 2,048 resonators","RFSoC system handles 2,048 superconducting resonators","Quiet readout for 2,048 KIDs on one RFSoC board","Single RFSoC board reads out 2,048 KIDs with low noise"]},"model":"deepseek-v4-flash","effort":"low","cost_usd":0.000816,"raw_usage":{"total_tokens":3616,"prompt_tokens":1026,"completion_tokens":2590,"prompt_tokens_details":{"cached_tokens":384},"prompt_cache_hit_tokens":384,"prompt_cache_miss_tokens":642,"completion_tokens_details":{"reasoning_tokens":2492}},"tokens_in":642,"tokens_out":2590,"duration_ms":17188,"temperature":1.0,"reasoning_tokens":2492,"cache_read_input_tokens":384,"cache_creation_input_tokens":0},"cache_creation_input_tokens":0},"created_at":"2026-08-15T14:56:38.956779+00:00","model_set":{"reader":"deepseek-v4-flash"},"falsifier":"Inject a known low-frequency amplitude modulation into a single tone and run the same principal-component cleaning to see whether the injected signal survives; if the top templates partially remove it, the cleaning is eating real per-tone information and the quoted $-100$ dBc Hz$^{-1}$ floor is optimistic.","supporting_citations":[],"review_version":2}