FRBSignalGeneration.py
def CoherentDisperse(self,DM):
        """ 
        Takes in a raw complex time series, applies dispersion and returns.
        fMin and fMax are in MHz
        sampTime is in seconds.
        DM is in pc cm^{-3}
        Currently implemented only for numChannels=1
        """ 

        nTotal = self.shape[0]*self.shape[1]
        f = np.arange(self.fMin,
                      self.fMax, 
                      float(self.fMax-self.fMin)/nTotal).reshape((self.shape[1],
                                                                  self.shape[0])).transpose() # this is in MHz
        
        DM = DM*4.148808*1E9 #DispersionConstant = 4.148808*10**9
        
        # Arrival time at highest freq is zero.
        H = np.exp(2*np.pi*1j*DM*(1/f - 1/(self.fMax)))
        
        self.timeSeries = np.fft.ifft(np.fft.fft(self.timeSeries,axis=0) * H,axis=0)
 
        Takes in a raw complex time series, applies dispersion and returns.
        fMin and fMax are in MHz
        sampTime is in seconds.
        DM is in pc cm^{-3}
        Currently implemented only for numChannels=1
        
Takes in a raw complex time series, applies dispersion and returns.
fMin and fMax are in MHz
sampTime is in seconds.
DM is in pc cm^{-3}
Currently implemented only for numChannels=1
Takes in a raw complex time series applies dispersion and returns . fMin and fMax are in MHz sampTime is in seconds . DM is in pc cm^ { - 3 } Currently implemented only for numChannels = 1
def CoherentDisperse(self,DM):
        nTotal = self.shape[0]*self.shape[1]
        f = np.arange(self.fMin,
                      self.fMax, 
                      float(self.fMax-self.fMin)/nTotal).reshape((self.shape[1],
                                                                  self.shape[0])).transpose() 
        DM = DM*4.148808*1E9 
        H = np.exp(2*np.pi*1j*DM*(1/f - 1/(self.fMax)))
        self.timeSeries = np.fft.ifft(np.fft.fft(self.timeSeries,axis=0) * H,axis=0)
def CoherentDisperse ( self , DM ) : nTotal = self . shape [ 0 ] * self . shape [ 1 ] f = np . arange ( self . fMin , self . fMax , float ( self . fMax - self . fMin ) / nTotal ) . reshape ( ( self . shape [ 1 ] , self . shape [ 0 ] ) ) . transpose ( ) DM = DM * 4.148808 * 1E9 H = np . exp ( 2 * np . pi * 1j * DM * ( 1 / f - 1 / ( self . fMax ) ) ) self . timeSeries = np . fft . ifft ( np . fft . fft ( self . timeSeries , axis = 0 ) * H , axis = 0 )
Takes in a raw complex time series, applies dispersion and returns.
Takes in a raw complex time series applies dispersion and returns .
""" 
        Takes in a raw complex time series, applies dispersion and returns.
        fMin and fMax are in MHz
        sampTime is in seconds.
        DM is in pc cm^{-3}
        Currently implemented only for numChannels=1
        """ # this is in MHz #DispersionConstant = 4.148808*10**9 # Arrival time at highest freq is zero.
self
DM