isce3  0.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Public Types | Public Member Functions | List of all members
isce3::focus::RangeComp Class Reference

Range compression processor. More...

#include <RangeComp.h>

Public Types

enum  Mode { Mode::Full, Mode::Valid, Mode::Same }
 Convolution output mode. More...
 

Public Member Functions

 RangeComp (const std::vector< std::complex< float >> &chirp, int inputsize, int maxbatch=1, Mode mode=Mode::Full)
 Constructor. More...
 
int chirpSize () const
 Number of samples in chirp.
 
int inputSize () const
 Expected number of samples in the input signal to be compressed.
 
int fftSize () const
 FFT length.
 
int maxBatch () const
 Max batch size.
 
Mode mode () const
 Output mode.
 
int outputSize () const
 Output number of samples.
 
int firstValidSample () const
 Return the (zero-based) index of the first fully-focused pixel in the output.
 
void rangecompress (std::complex< float > *out, const std::complex< float > *in, int batch=1)
 Perform pulse compression on a batch of input signals. More...
 

Detailed Description

Range compression processor.

Member Enumeration Documentation

Convolution output mode.

Enumerator
Full 

The output contains the full discrete convolution of the input with the matched filter.

For an input signal and chirp of size N and M, the output size is (N + M - 1).

Valid 

The output contains only the valid discrete convolution of the input with the matched filter.

For an input signal and chirp of size N and M, the output size is (max(M, N) - min(M, N) + 1).

Same 

The output contains the discrete convolution of the input with the matched filter, cropped to the same size as the input signal.

Constructor & Destructor Documentation

isce3::focus::RangeComp::RangeComp ( const std::vector< std::complex< float >> &  chirp,
int  inputsize,
int  maxbatch = 1,
Mode  mode = Mode::Full 
)

Constructor.

Forms a matched filter from the time-reversed complex conjugate of the chirp replica and creates FFT plans for frequency domain convolution with the matched filter.

Parameters
[in]chirpTime-domain replica of the transmitted chirp waveform
[in]inputsizeNumber of range samples in the signal to be compressed
[in]maxbatchMax batch size
[in]modeConvolution output mode

Member Function Documentation

void isce3::focus::RangeComp::rangecompress ( std::complex< float > *  out,
const std::complex< float > *  in,
int  batch = 1 
)

Perform pulse compression on a batch of input signals.

Computes the frequency domain convolution of the input with the reference function.

Exceptions
LengthErrorIf batch exceeds the max batch size
Parameters
[out]outRange-compressed data
[in]inInput data
[in]batchInput batch size

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

Generated for ISCE3.0 by doxygen 1.8.5.