6#include <isce3/fft/FFT.h>
8namespace isce3 {
namespace focus {
52 RangeComp(
const std::vector<std::complex<float>> & chirp,
90 void applyNotch(
double frequency,
double bandwidth = 0.0);
112 void rangecompress(std::complex<float> * out,
const std::complex<float> * in,
int batch = 1);
120 std::vector<std::complex<float>> _reffn;
121 std::vector<std::complex<float>> _wkspc;
RAII wrapper encapsulating FFTW plan for forward FFT execution.
Definition FFTPlan.h:11
RAII wrapper encapsulating FFTW plan for inverse FFT execution.
Definition FFTPlan.h:328
Mode mode() const
Output mode.
Definition RangeComp.h:70
int fftSize() const
FFT length.
Definition RangeComp.h:64
int chirpSize() const
Number of samples in chirp.
Definition RangeComp.h:58
Mode
Convolution output mode.
Definition RangeComp.h:14
@ Valid
The output contains only the valid discrete convolution of the input with the matched filter.
Definition RangeComp.h:31
@ Full
The output contains the full discrete convolution of the input with the matched filter.
Definition RangeComp.h:22
@ Same
The output contains the discrete convolution of the input with the matched filter,...
Definition RangeComp.h:37
int maxBatch() const
Max batch size.
Definition RangeComp.h:67
void applyNotch(double frequency, double bandwidth=0.0)
Apply a notch to the baseband frequency-domain representation of the chirp reference function.
Definition RangeComp.cpp:92
const std::complex< float > * chirp_spectrum() const
Get a pointer to the frequency spectrum of the chirp that will be used for range compression.
Definition RangeComp.h:96
void rangecompress(std::complex< float > *out, const std::complex< float > *in, int batch=1)
Perform pulse compression on a batch of input signals.
Definition RangeComp.cpp:154
int firstValidSample() const
Return the (zero-based) index of the first fully-focused pixel in the output.
Definition RangeComp.cpp:81
int inputSize() const
Expected number of samples in the input signal to be compressed.
Definition RangeComp.h:61
int outputSize() const
Output number of samples.
Definition RangeComp.cpp:76
RangeComp(const std::vector< std::complex< float > > &chirp, int inputsize, int maxbatch=1, Mode mode=Mode::Full)
Constructor.
Definition RangeComp.cpp:40
base interpolator is an abstract base class
Definition BinarySearchFunc.cpp:5