Cheetah - SKA - PSS - Prototype Time Domain Search Pipeline
Public Types | Public Member Functions | List of all members
ska::cheetah::rfim::ampp::Rfim< RfimTraits > Class Template Reference

AMPP alogrithm CPU based on a dynamic bandfilter. More...

#include <cheetah/rfim/ampp/Rfim.h>

Collaboration diagram for ska::cheetah::rfim::ampp::Rfim< RfimTraits >:
Collaboration graph

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
 

Detailed Description

template<typename RfimTraits>
class ska::cheetah::rfim::ampp::Rfim< RfimTraits >

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

Parameters
channelF4) Signal Empty in a single block across more than one adjacent channel
positionof block
numberof channels F5) Signal Empty in multiple seperate blocks, each containing more than one channel
numberof blocks foreach block:
positionof block
numberof 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

Parameters
sizeof spike R2) Single channel spike in a single timesample
sizeof spike R3) wide band spike across multiple channels in a single block
sizeof spike
sizeof block
positionof block R4) wide band spikes across multiple channels in multiple blocks of channels
numberof blocks foreach block:
sizeof spike
sizeof block
positionof 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

Definition at line 130 of file Rfim.h.


The documentation for this class was generated from the following files: