isce3  0.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Public Member Functions | Static Public Member Functions | List of all members
isce3::signal::Filter< T > Class Template Reference

Public Member Functions

void initiateRangeFilter (std::valarray< std::complex< T >> &signal, std::valarray< std::complex< T >> &spectrum, size_t ncols, size_t nrows)
 constructs forward abd backward FFT plans for filtering a block of data in range direction. More...
 
void initiateAzimuthFilter (std::valarray< std::complex< T >> &signal, std::valarray< std::complex< T >> &spectrum, size_t ncols, size_t nrows)
 constructs forward abd backward FFT plans for filtering a block of data in azimuth direction. More...
 
void constructRangeBandpassFilter (double rangeSamplingFrequency, std::valarray< double > subBandCenterFrequencies, std::valarray< double > subBandBandwidths, std::valarray< std::complex< T >> &signal, std::valarray< std::complex< T >> &spectrum, size_t ncols, size_t nrows, std::string filterType)
 Sets an existing filter to be used by the filter object. More...
 
void constructRangeBandpassFilter (double rangeSamplingFrequency, std::valarray< double > subBandCenterFrequencies, std::valarray< double > subBandBandwidths, size_t ncols, size_t nrows, std::string filterType)
 
void constructRangeBandpassBoxcar (std::valarray< double > subBandCenterFrequencies, std::valarray< double > subBandBandwidths, double dt, int fft_size, std::valarray< std::complex< T >> &_filter1D)
 Construct a box car range band-pass filter for multiple bands. More...
 
void constructRangeBandpassCosine (std::valarray< double > subBandCenterFrequencies, std::valarray< double > subBandBandwidths, double dt, std::valarray< double > &frequency, double beta, std::valarray< std::complex< T >> &_filter1D)
 
void constructAzimuthCommonbandFilter (const isce3::core::LUT1d< double > &refDoppler, const isce3::core::LUT1d< double > &secDoppler, double bandwidth, double prf, double beta, std::valarray< std::complex< T >> &signal, std::valarray< std::complex< T >> &spectrum, size_t ncols, size_t nrows)
 Construct azimuth common band filter. More...
 
void filter (std::valarray< std::complex< T >> &signal, std::valarray< std::complex< T >> &spectrum)
 Filter a signal in frequency domain. More...
 
void writeFilter (size_t ncols, size_t nrows)
 

Static Public Member Functions

static void indexOfFrequency (double dt, int N, double f, int &n)
 Find the index of a specific frequency for a signal with a specific sampling rate.
 

Member Function Documentation

template<class T >
void isce3::signal::Filter< T >::constructAzimuthCommonbandFilter ( const isce3::core::LUT1d< double > &  refDoppler,
const isce3::core::LUT1d< double > &  secDoppler,
double  bandwidth,
double  prf,
double  beta,
std::valarray< std::complex< T >> &  signal,
std::valarray< std::complex< T >> &  spectrum,
size_t  ncols,
size_t  nrows 
)

Construct azimuth common band filter.

Parameters
[in]refDopplerDoppler LUT1d of the reference SLC
[in]secDopplerDoppler LUT1d of the secondary SLC
[in]bandwidthcommon bandwidth in azimuth
[in]prfpulse repetition frequency
[in]betaparameter for raised cosine filter
[in]signala block of data to filter
[in]spectrumof the block of data
[in]ncolsnumber of columns of the block of data
[in]nrowsnumber of rows of the block of data
template<class T >
void isce3::signal::Filter< T >::constructRangeBandpassBoxcar ( std::valarray< double >  subBandCenterFrequencies,
std::valarray< double >  subBandBandwidths,
double  dt,
int  fft_size,
std::valarray< std::complex< T >> &  _filter1D 
)

Construct a box car range band-pass filter for multiple bands.

Parameters
[in]subBandCenterFrequenciesa vector of center frequencies for each band
[in]subBandBandwidthsa vector of bandwidths for each band
[in]dtsamplig rate of the signal
[in]fft_sizelength of the spectrum
[out]_filter1Done dimensional boxcar bandpass filter in frequency domain
template<class T >
void isce3::signal::Filter< T >::constructRangeBandpassCosine ( std::valarray< double >  subBandCenterFrequencies,
std::valarray< double >  subBandBandwidths,
double  dt,
std::valarray< double > &  frequency,
double  beta,
std::valarray< std::complex< T >> &  _filter1D 
)
Parameters
[in]subBandCenterFrequenciesa vector of center frequencies for each band
[in]subBandBandwidthsa vector of bandwidths for each band
[in]dtsamplig rate of the signal
[in]frequencya vector of frequencies
[in]betaparameter for the raised cosine filter (0 <= beta <= 1)
[out]_filter1Done dimensional boxcar bandpass filter in frequency domain
template<class T >
void isce3::signal::Filter< T >::constructRangeBandpassFilter ( double  rangeSamplingFrequency,
std::valarray< double >  subBandCenterFrequencies,
std::valarray< double >  subBandBandwidths,
std::valarray< std::complex< T >> &  signal,
std::valarray< std::complex< T >> &  spectrum,
size_t  ncols,
size_t  nrows,
std::string  filterType 
)

Sets an existing filter to be used by the filter object.

Construct range band-pass filter

Parameters
[in]rangeSamplingFrequencyrange sampling frequency
[in]subBandCenterFrequenciesa vector of center frequencies for each band
[in]subBandBandwidthsa vector of bandwidths for each band
[in]signala block of data to filter
[in]spectruma block of spectrum, which is internally used for FFT computations
[in]ncolsnumber of columns of the block of data
[in]nrowsnumber of rows of the block of data
[in]filterTypetype of the band-pass filter
template<class T >
void isce3::signal::Filter< T >::filter ( std::valarray< std::complex< T >> &  signal,
std::valarray< std::complex< T >> &  spectrum 
)

Filter a signal in frequency domain.

Parameters
[in]signala block of data to filter.
[in]spectrumof the block of the data
template<class T >
void isce3::signal::Filter< T >::initiateAzimuthFilter ( std::valarray< std::complex< T >> &  signal,
std::valarray< std::complex< T >> &  spectrum,
size_t  ncols,
size_t  nrows 
)

constructs forward abd backward FFT plans for filtering a block of data in azimuth direction.

Parameters
[in]signala block of data to filter
[in]spectruma block of spectrum, which is internally used for FFT computations
[in]ncolsnumber of columns of the block of the data
[in]nrowsnumber of rows of the block of the data
template<class T >
void isce3::signal::Filter< T >::initiateRangeFilter ( std::valarray< std::complex< T >> &  signal,
std::valarray< std::complex< T >> &  spectrum,
size_t  ncols,
size_t  nrows 
)

constructs forward abd backward FFT plans for filtering a block of data in range direction.

Parameters
[in]signala block of data to filter
[in]spectruma block of spectrum, which is internally used for FFT computations
[in]ncolsnumber of columns of the block of the data
[in]nrowsnumber of rows of the block of the data

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

Generated for ISCE3.0 by doxygen 1.8.5.