A class to implement a Wiener-Hopf clutter filter.
More...
#include <WienerHopf.h>
|
| int32_t | delayMin |
| | Minimum clutter filter delay (bins). More...
|
| |
| int32_t | delayMax |
| | Maximum clutter filter delay (bins). More...
|
| |
| uint32_t | nBins |
| | Number of bins (delayMax - delayMin + 1). More...
|
| |
| uint32_t | nSamples |
| | Number of samples per CPI. More...
|
| |
| bool | success |
| | True if clutter filter processing is successful. More...
|
| |
| arma::cx_mat | A |
| | Autocorrelation toeplitz matrix. More...
|
| |
| arma::cx_vec | a |
| | Autocorrelation vector. More...
|
| |
| arma::cx_vec | b |
| | Cross-correlation vector. More...
|
| |
| arma::cx_vec | w |
| | Weights vector. More...
|
| |
|
| fftw_plan | fftX |
| | FFTW plans for clutter filter processing. More...
|
| |
| fftw_plan | fftY |
| | FFTW plans for clutter filter processing. More...
|
| |
| fftw_plan | fftA |
| | FFTW plans for clutter filter processing. More...
|
| |
| fftw_plan | fftB |
| | FFTW plans for clutter filter processing. More...
|
| |
| fftw_plan | fftFiltX |
| | FFTW plans for clutter filter processing. More...
|
| |
| fftw_plan | fftFiltW |
| | FFTW plans for clutter filter processing. More...
|
| |
| fftw_plan | fftFilt |
| | FFTW plans for clutter filter processing. More...
|
| |
|
| std::complex< double > * | dataX |
| | FFTW storage for clutter filter processing. More...
|
| |
| std::complex< double > * | dataY |
| | FFTW storage for clutter filter processing. More...
|
| |
| std::complex< double > * | dataOutX |
| | FFTW storage for clutter filter processing. More...
|
| |
| std::complex< double > * | dataOutY |
| | FFTW storage for clutter filter processing. More...
|
| |
| std::complex< double > * | dataA |
| | FFTW storage for clutter filter processing. More...
|
| |
| std::complex< double > * | dataB |
| | FFTW storage for clutter filter processing. More...
|
| |
| std::complex< double > * | filtX |
| | FFTW storage for clutter filter processing. More...
|
| |
| std::complex< double > * | filtW |
| | FFTW storage for clutter filter processing. More...
|
| |
| std::complex< double > * | filt |
| | FFTW storage for clutter filter processing. More...
|
| |
|
| std::deque< std::complex< double > > | xData |
| | Deque storage for clutter filter processing. More...
|
| |
| std::deque< std::complex< double > > | yData |
| | Deque storage for clutter filter processing. More...
|
| |
A class to implement a Wiener-Hopf clutter filter.
Implements a Wiener-Hopf filter. Uses Cholesky decomposition to speed up matrix inversion, as the Toeplitz matrix is positive-definite and Hermitian.
- Author
- 30hours
- Todo:
- Fix the segmentation fault from clutter filter numerical instability.
◆ WienerHopf()
| WienerHopf::WienerHopf |
( |
int32_t |
delayMin, |
|
|
int32_t |
delayMax, |
|
|
uint32_t |
nSamples |
|
) |
| |
Constructor.
- Parameters
-
| delayMin | Minimum clutter filter delay (bins). |
| delayMax | Maximum clutter filter delay (bins). |
| nSamples | Number of samples per CPI. |
- Returns
- The object.
◆ ~WienerHopf()
| WienerHopf::~WienerHopf |
( |
| ) |
|
◆ process()
Implement the clutter filter.
- Parameters
-
| x | Reference samples. |
| y | Surveillance samples. |
- Returns
- True if clutter filter successful.
| arma::cx_mat WienerHopf::A |
|
private |
Autocorrelation toeplitz matrix.
| arma::cx_vec WienerHopf::a |
|
private |
| arma::cx_vec WienerHopf::b |
|
private |
Cross-correlation vector.
◆ dataA
| std::complex<double> * WienerHopf::dataA |
|
private |
FFTW storage for clutter filter processing.
◆ dataB
| std::complex<double> * WienerHopf::dataB |
|
private |
FFTW storage for clutter filter processing.
◆ dataOutX
| std::complex<double> * WienerHopf::dataOutX |
|
private |
FFTW storage for clutter filter processing.
◆ dataOutY
| std::complex<double> * WienerHopf::dataOutY |
|
private |
FFTW storage for clutter filter processing.
◆ dataX
| std::complex<double>* WienerHopf::dataX |
|
private |
FFTW storage for clutter filter processing.
◆ dataY
| std::complex<double> * WienerHopf::dataY |
|
private |
FFTW storage for clutter filter processing.
◆ delayMax
| int32_t WienerHopf::delayMax |
|
private |
Maximum clutter filter delay (bins).
◆ delayMin
| int32_t WienerHopf::delayMin |
|
private |
Minimum clutter filter delay (bins).
◆ fftA
| fftw_plan WienerHopf::fftA |
|
private |
FFTW plans for clutter filter processing.
◆ fftB
| fftw_plan WienerHopf::fftB |
|
private |
FFTW plans for clutter filter processing.
◆ fftFilt
| fftw_plan WienerHopf::fftFilt |
|
private |
FFTW plans for clutter filter processing.
◆ fftFiltW
| fftw_plan WienerHopf::fftFiltW |
|
private |
FFTW plans for clutter filter processing.
◆ fftFiltX
| fftw_plan WienerHopf::fftFiltX |
|
private |
FFTW plans for clutter filter processing.
◆ fftX
| fftw_plan WienerHopf::fftX |
|
private |
FFTW plans for clutter filter processing.
◆ fftY
| fftw_plan WienerHopf::fftY |
|
private |
FFTW plans for clutter filter processing.
◆ filt
| std::complex<double> * WienerHopf::filt |
|
private |
FFTW storage for clutter filter processing.
◆ filtW
| std::complex<double> * WienerHopf::filtW |
|
private |
FFTW storage for clutter filter processing.
◆ filtX
| std::complex<double> * WienerHopf::filtX |
|
private |
FFTW storage for clutter filter processing.
◆ nBins
| uint32_t WienerHopf::nBins |
|
private |
Number of bins (delayMax - delayMin + 1).
◆ nSamples
| uint32_t WienerHopf::nSamples |
|
private |
Number of samples per CPI.
◆ success
True if clutter filter processing is successful.
| arma::cx_vec WienerHopf::w |
|
private |
◆ xData
| std::deque<std::complex<double> > WienerHopf::xData |
|
private |
Deque storage for clutter filter processing.
◆ yData
| std::deque<std::complex<double> > WienerHopf::yData |
|
private |
Deque storage for clutter filter processing.
The documentation for this class was generated from the following files: