Pulsar::NoiseStatistics Class Reference

Computes the noise to Fourier noise ratio. More...

#include <NoiseStatistics.h>

Inheritance diagram for Pulsar::NoiseStatistics:
Reference::Able Reference::HeapTracked

Public Member Functions

 NoiseStatistics ()
 Default constructor.
 
void set_baseline_fourier (float width)
 Set the fractional number of high frequencies used to calculate noise.
 
void set_baseline_time (float width)
 Set the fractional number of phase bins used to calculate noise. More...
 
float get_nfnr (const Profile *profile)
 Return the noise to Fourier noise ratio.
 
- Public Member Functions inherited from Reference::Able
 Able (const Able &)
 
Ableoperator= (const Able &)
 
unsigned get_reference_count () const
 
- Public Member Functions inherited from Reference::HeapTracked
 HeapTracked (const HeapTracked &)
 
HeapTrackedoperator= (const HeapTracked &)
 
bool __is_on_heap () const
 

Protected Attributes

float baseline_fourier
 
float baseline_time
 

Additional Inherited Members

- Static Public Member Functions inherited from Reference::Able
static size_t get_instance_count ()
 
- Static Public Member Functions inherited from Reference::HeapTracked
static void * operator new (size_t size, void *ptr=0)
 
static void operator delete (void *location, void *ptr)
 
static void operator delete (void *location)
 
static size_t get_heap_queue_size ()
 
- Protected Member Functions inherited from Reference::Able
Handle__reference (bool active) const
 
void __dereference (bool auto_delete=true) const
 

Detailed Description

Computes the noise to Fourier noise ratio.

By Parseval's Theorem, the energy in the noise of the off-pulse baseline in the phase domain should be equal to the energy in the noise of the post-Nyquist harmonics in the frequency domain.

However, if the profile baseline is corrupted by some periodic structure, then the r.m.s. computed in the phase domain will be larger than that in the frequency domain, where the periodic corruption is likely isolated in some low harmonic.

Likewise, if the profile is unresolved, then the r.m.s. computed in the frequency domain will be larger than that in the phase domain because there are no post-Nyquist harmonics.

The noise to Fourier noise ratio is a way to detect either of these problems. If it is much greater than unity, then there is likely some low frequency structure in the profile baseline. If it is much less than unity, then it is likely that the profile contains unresolved structure. In either case, there is likely a good reason to discard the data.

Member Function Documentation

◆ set_baseline_time()

void Pulsar::NoiseStatistics::set_baseline_time ( float  width)

Set the fractional number of phase bins used to calculate noise.

Set the fractional number of high frequencies used to calculate noise.

Referenced by Pulsar::Statistics::get_nfnr().


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

Generated using doxygen 1.8.17