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. | |
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.
[in] | refDoppler | Doppler LUT1d of the reference SLC |
[in] | secDoppler | Doppler LUT1d of the secondary SLC |
[in] | bandwidth | common bandwidth in azimuth |
[in] | prf | pulse repetition frequency |
[in] | beta | parameter for raised cosine filter |
[in] | signal | a block of data to filter |
[in] | spectrum | of the block of data |
[in] | ncols | number of columns of the block of data |
[in] | nrows | number of rows of the block of data |
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.
[in] | subBandCenterFrequencies | a vector of center frequencies for each band |
[in] | subBandBandwidths | a vector of bandwidths for each band |
[in] | dt | samplig rate of the signal |
[in] | fft_size | length of the spectrum |
[out] | _filter1D | one dimensional boxcar bandpass filter in frequency domain |
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 | ||
) |
[in] | subBandCenterFrequencies | a vector of center frequencies for each band |
[in] | subBandBandwidths | a vector of bandwidths for each band |
[in] | dt | samplig rate of the signal |
[in] | frequency | a vector of frequencies |
[in] | beta | parameter for the raised cosine filter (0 <= beta <= 1) |
[out] | _filter1D | one dimensional boxcar bandpass filter in frequency domain |
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
[in] | rangeSamplingFrequency | range sampling frequency |
[in] | subBandCenterFrequencies | a vector of center frequencies for each band |
[in] | subBandBandwidths | a vector of bandwidths for each band |
[in] | signal | a block of data to filter |
[in] | spectrum | a block of spectrum, which is internally used for FFT computations |
[in] | ncols | number of columns of the block of data |
[in] | nrows | number of rows of the block of data |
[in] | filterType | type of the band-pass filter |
void isce3::signal::Filter< T >::filter | ( | std::valarray< std::complex< T >> & | signal, |
std::valarray< std::complex< T >> & | spectrum | ||
) |
Filter a signal in frequency domain.
[in] | signal | a block of data to filter. |
[in] | spectrum | of the block of the data |
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.
[in] | signal | a block of data to filter |
[in] | spectrum | a block of spectrum, which is internally used for FFT computations |
[in] | ncols | number of columns of the block of the data |
[in] | nrows | number of rows of the block of the data |
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.
[in] | signal | a block of data to filter |
[in] | spectrum | a block of spectrum, which is internally used for FFT computations |
[in] | ncols | number of columns of the block of the data |
[in] | nrows | number of rows of the block of the data |