Cheetah - SKA - PSS - Prototype Time Domain Search Pipeline
|
AMPP alogrithm CPU based on a dynamic bandfilter. More...
#include <cheetah/rfim/ampp/Rfim.h>
Public Types | |
typedef cheetah::Cpu | Architecture |
Public Member Functions | |
Rfim (Config const &config, typename RfimTraits::BandPassHandler const &) | |
Rfim (Rfim const &)=delete | |
Rfim (Rfim &&) | |
void | set_max_history (unsigned length) |
set the maximum history | |
ReturnType | operator() (panda::PoolResource< Cpu > &thread, std::shared_ptr< data::TimeFrequency< Cpu, NumericalRep >> data) |
task interface warpper around run | |
ReturnType | run (data::TimeFrequency< Cpu, NumericalRep > &data) |
perform rfi clipping on the data | |
AMPP alogrithm CPU based on a dynamic bandfilter.
RFI interferance is characterised by spikes in the signal that are very narrow in band outside the normal levels of signal noise.
Consider a bandpass (assummed to be a continuous function): The bandpass is expected to be relatively stable from time sample to time sample, although will vary with climatic conditions over larger time scales.
| ________ | ____---— - | -— | - | ----— | +------------------------------—| fmin fmax
This represents the signal floor, (assuming the channel is functioning correctly) and we can expect the signal to actually be a noise modulated amplitude greater than this bandpass.
Any signal above the RMS of the noise must be treated with suspiscion.
Conceptually the algorithm breaks down the problem into the following stages:
stage 1: Estimation of the bandpass function
The incomming signal is scanned for the minimum values (excluding empty signals). These minumum values are taken as representatives of the bandpass function.
stage 2: Estimation of the noise mean & RMS
The rms across the whole range is considered to be constant The median across the whole channel range is considered to be a constant offset from the bandpass
stage 3: Signals greater than a cetain threshold (experessed as some multiple of the RMS) are deemed to be RMS and are excised (actual signal in that channel replaced with noise)
------— Operational Conditions -------------------—
F: Hardware Failure F2) Signal Empty across all channels F3) Signal Empty in a single channel
channel | F4) Signal Empty in a single block across more than one adjacent channel |
position | of block |
number | of channels F5) Signal Empty in multiple seperate blocks, each containing more than one channel |
number | of blocks foreach block: |
position | of block |
number | of channels |
P: External Sources Present P0) None - just noise P1) No Pulsars in signal P2) Regular Pulsar in signal P3) Multiple Pulsars in signal P4) Single Accelerated Pulsar in signal P5) Multiple Accelerated Pulsars in signal P6) Mixed regular pulsar and acelerated pulsar
R: RFI conditions R1) Single channel spike across multiple timesamples
size | of spike R2) Single channel spike in a single timesample |
size | of spike R3) wide band spike across multiple channels in a single block |
size | of spike |
size | of block |
position | of block R4) wide band spikes across multiple channels in multiple blocks of channels |
number | of blocks foreach block: |
size | of spike |
size | of block |
position | of block |
Test Sceanarios: Test should be generated that combine each element from the sets F, P, and R, each with a representative array of parameters where appropriate. RFI should be detected without affecting the signal