Range compression processor.
More...
#include <RangeComp.h>
|
| 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...
|
|
Range compression processor.
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.
|
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] | chirp | Time-domain replica of the transmitted chirp waveform |
[in] | inputsize | Number of range samples in the signal to be compressed |
[in] | maxbatch | Max batch size |
[in] | mode | Convolution output mode |
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
-
LengthError | If batch exceeds the max batch size |
- Parameters
-
[out] | out | Range-compressed data |
[in] | in | Input data |
[in] | batch | Input batch size |
The documentation for this class was generated from the following files:
- isce/cxx/isce3/focus/RangeComp.h
- isce/cxx/isce3/focus/RangeComp.cpp