Passive Noise Test
Purpose
This is a TPM test. With no signal injected, every ADC input carries its own independent (passive) noise, so a healthy TPM should show no correlation between inputs. The test disables the test generator and applies no delays, then uses the GPU Tensor-Core-Correlator to expose any unexpected cross-correlation between inputs (for example from crosstalk or a common spurious source).
The test sweeps a range of coarse channels and, for each channel, normalises every visibility to a
correlation coefficient rho = |V_ij| / sqrt(P_i * P_j) using the co-pol (XX/YY) autocorrelation
power. For uncorrelated noise rho is small (~ 1/sqrt(nof_samples)), while correlated inputs
push it towards 1. Any cross-correlation coefficient (autocorrelations excluded) above the
tolerance is flagged. To maximise sensitivity to the noise floor, the preADU attenuation of any
fitted preADUs is set to 0 and channeliser truncation is disabled.
The upper-triangle cross-correlation coefficient for each Stokes parameter (XX/XY/YX/YY) is
collected per channel, and all channels are saved as an animated GIF (passive_noise_sweep.gif)
in the Test Suite log directory so the noise behaviour across the sweep can be inspected by eye.
Below is an example of the animated sweep produced by a failing run. Each panel shows the upper-triangle cross-correlation coefficient (log scale) for one Stokes parameter, animated across the channel sweep. For uncorrelated passive noise the cross terms stay uniformly low, with no persistent structure appearing as the channel changes, however this set of TPMs generate some correlated noise at various frequencies.
NOTE: This test requires an NVIDIA GPU on the server running the tests; it is skipped automatically if no GPU is detected. For data acquisition to function correctly, the network interfaces on the TPM must be working, as well as the link to the CSP/LMC destination. The CSP destination must be configured to route traffic to the server running the tests. For all tests the simplest option is for the CSP and LMC destinations to be the same network interface, routing all traffic to the server running the tests.
Methodology
DAQ receiver is configured and initialised with the required UDP port and network interface.
The
TC_CORRELATOR_DATAconsumer is started.The test generator is disabled and no per-input delays are applied, so the real ADC inputs pass through as independent noise sources.
The preADU attenuation (if preADUs are fitted) and the channeliser truncation are both set to 0 to drive the ADCs and channeliser at full range and maximise sensitivity to the noise floor.
Channelised data for the full channel sweep is sent in a single request; the correlator emits one buffer per channel.
The per-channel buffers are collected until all expected channels arrive or no new channel has arrived for the configured duration.
For each channel, the visibilities are normalised to correlation coefficients using the co-pol autocorrelation power, and the largest cross-correlation coefficient (autocorrelations excluded) per Stokes parameter is checked against the tolerance.
An upper-triangle amplitude frame is collected for each channel and all frames are saved as an animated GIF in the Test Suite log directory.
The
TC_CORRELATOR_DATAconsumer is stopped. The worst-case cross-correlation coefficients are logged and the test is reported as failed if any channel exceeds the tolerance.