Classes | |
class | itpp::Filter< T1, T2, T3 > |
Virtual Filter Base Class.
The class is templated as follows:. More... | |
class | itpp::MA_Filter< T1, T2, T3 > |
Moving Average Filter Base Class. This class implements a moving average (MA) filter according to
where b is the filter coefficients, x is the input and y is the output. More... | |
class | itpp::AR_Filter< T1, T2, T3 > |
Autoregressive (AR) Filter Base Class. This class implements a autoregressive (AR) filter according to
where a is the filter coefficients, x is the input and y is the output. More... | |
class | itpp::ARMA_Filter< T1, T2, T3 > |
Autoregressive Moving Average (ARMA) Filter Base Class. This class implements a autoregressive moving average (ARMA) filter according to
. More... | |
class | itpp::Freq_Filt< Num_T > |
Freq_Filt Frequency domain filtering using the overlap-add technique
The Freq_Filt class implements an FFT based filter using the overlap-add technique. The data is filtered by first transforming the input sequence into the frequency domain with an efficient FFT implementation (i.e. FFTW) and then multiplied with a Fourier transformed version of the impulse response. The resulting data is then inversed Fourier transformed to return a filtered time domain signal. More... | |
void | itpp::freqz (const cvec &b, const cvec &a, const int N, cvec &h, vec &w) |
Frequency response of filter. | |
cvec | itpp::freqz (const cvec &b, const cvec &a, const int N) |
Frequency response of filter. | |
cvec | itpp::freqz (const cvec &b, const cvec &a, const vec &w) |
Frequency response of filter. | |
void | itpp::freqz (const vec &b, const vec &a, const int N, cvec &h, vec &w) |
Frequency response of filter. | |
cvec | itpp::freqz (const vec &b, const vec &a, const int N) |
Frequency response of filter. | |
cvec | itpp::freqz (const vec &b, const vec &a, const vec &w) |
Frequency response of filter. | |
Functions | |
vec | itpp::filter (const vec &b, const vec &a, const vec &input) |
ARMA filter function These functions implements a autoregressive moving average (ARMA) filter according to
| |
cvec | itpp::filter (const vec &b, const vec &a, const cvec &input) |
cvec | itpp::filter (const cvec &b, const cvec &a, const cvec &input) |
cvec | itpp::filter (const cvec &b, const cvec &a, const vec &input) |
vec | itpp::filter (const vec &b, const int one, const vec &input) |
cvec | itpp::filter (const vec &b, const int one, const cvec &input) |
cvec | itpp::filter (const cvec &b, const int one, const cvec &input) |
cvec | itpp::filter (const cvec &b, const int one, const vec &input) |
vec | itpp::filter (const int one, const vec &a, const vec &input) |
cvec | itpp::filter (const int one, const vec &a, const cvec &input) |
cvec | itpp::filter (const int one, const cvec &a, const cvec &input) |
cvec | itpp::filter (const int one, const cvec &a, const vec &input) |
vec | itpp::filter (const vec &b, const vec &a, const vec &input, const vec &state_in, vec &state_out) |
cvec | itpp::filter (const vec &b, const vec &a, const cvec &input, const cvec &state_in, cvec &state_out) |
cvec | itpp::filter (const cvec &b, const cvec &a, const cvec &input, const cvec &state_in, cvec &state_out) |
cvec | itpp::filter (const cvec &b, const cvec &a, const vec &input, const cvec &state_in, cvec &state_out) |
vec | itpp::filter (const vec &b, const int one, const vec &input, const vec &state_in, vec &state_out) |
cvec | itpp::filter (const vec &b, const int one, const cvec &input, const cvec &state_in, cvec &state_out) |
cvec | itpp::filter (const cvec &b, const int one, const cvec &input, const cvec &state_in, cvec &state_out) |
cvec | itpp::filter (const cvec &b, const int one, const vec &input, const cvec &state_in, cvec &state_out) |
vec | itpp::filter (const int one, const vec &a, const vec &input, const vec &state_in, vec &state_out) |
cvec | itpp::filter (const int one, const vec &a, const cvec &input, const cvec &state_in, cvec &state_out) |
cvec | itpp::filter (const int one, const cvec &a, const cvec &input, const cvec &state_in, cvec &state_out) |
cvec | itpp::filter (const int one, const cvec &a, const vec &input, const cvec &state_in, cvec &state_out) |
vec | itpp::fir1 (int N, double cutoff) |
Design a Nth order FIR filter with cut-off frequency cutoff using the window method. | |
void | itpp::polystab (const vec &a, vec &out) |
Polynomial Stabilization. | |
vec | itpp::polystab (const vec &a) |
void | itpp::polystab (const cvec &a, cvec &out) |
cvec | itpp::polystab (const cvec &a) |
void | itpp::filter_design_autocorrelation (const int N, const vec &f, const vec &m, vec &R) |
Calculate autocorrelation from the specified frequency-response (suitable for filter design). | |
void | itpp::modified_yule_walker (const int m, const int n, const int N, const vec &R, vec &a) |
Estimation of AR-part in an ARMA model given the autocorrelation. | |
void | itpp::arma_estimator (const int m, const int n, const vec &R, vec &b, vec &a) |
Estimation of ARMA model given the autocorrelation. | |
void | itpp::yulewalk (const int N, const vec &f, const vec &m, vec &b, vec &a) |
ARMA filter design using a least-squares fit to the specified frequency-response. |
|
ARMA filter function These functions implements a autoregressive moving average (ARMA) filter according to
. where a and b are the filter coefficients, x is the input and y is the output.
Setting a=1 gives a MA filter and b=1 gives a AR filter. The length of the output vector equals the length of the input vector. The state vectors state_in and state_out is of length If no start state state_in is given it is set to zero. Definition at line 41 of file filter.cpp. Referenced by itpp::arma_estimator(). |
|
Design a Nth order FIR filter with cut-off frequency
Definition at line 244 of file filter.cpp. References itpp::hamming(), itpp::length(), and itpp::sinc(). |
|
Polynomial Stabilization.
Definition at line 46 of file filter_design.cpp. References itpp::abs(), itpp::conj(), and itpp::roots(). Referenced by itpp::modified_yule_walker(), and itpp::polystab(). |
|
Frequency response of filter.
![]()
If Definition at line 72 of file filter_design.cpp. References itpp::elem_div(), itpp::fft(), itpp::linspace(), and itpp::pi. Referenced by itpp::freqz(). |
|
Calculate autocorrelation from the specified frequency-response (suitable for filter design).
N corresponding to the specified frequency response. Useful as a first step in designing filters.
The vectors Definition at line 154 of file filter_design.cpp. References itpp::floor_i(), and it_assert. Referenced by itpp::yulewalk(). |
|
Estimation of AR-part in an ARMA model given the autocorrelation.
n . The overdetermined modified Yule-Walker equations are used.
If
The parameter
The supplied autocorrelation should at least be of size References: Stoica and Moses, Introduction to spectral analysis, Prentice Hall, 1997. Definition at line 198 of file filter_design.cpp. References itpp::abs(), itpp::backslash(), itpp::concat(), it_assert, itpp::polystab(), itpp::reverse(), and itpp::toeplitz(). Referenced by itpp::arma_estimator(). |
|
Estimation of ARMA model given the autocorrelation.
n and the MA part is of order m .The AR part (the denominator) is calcuated using the modified Yule-Walker equations. The the MA part (the nominator) is calculated by calculating the inverse magnitude spectrum using FFTs of size 512 which is an AR-system. This AR-system is then solved using the Levinson-Durbin algorithm.
The supplied autocorrelation is windowed using a Hamming window of size References: [1] Stoica and Moses, Introduction to spectral analysis, Prentice Hall, 1997. [2] B. Friedlander and B. Porat, The modified Yule-Walker method of ARMA spectral estimation, IEEE Trans. Aerospace and Electronic Systems, Vol. AES-20, No. 2, pp. 158--173, March 1984. Definition at line 229 of file filter_design.cpp. References itpp::backslash(), itpp::concat(), itpp::cos(), itpp::elem_div(), itpp::elem_mult(), itpp::exp(), itpp::fft(), itpp::fft_real(), itpp::filter(), itpp::ifft(), it_assert, itpp::linspace(), itpp::log(), itpp::modified_yule_walker(), itpp::pi, itpp::real(), itpp::to_cmat(), itpp::to_cvec(), itpp::toeplitz(), itpp::zeros(), and itpp::zeros_c(). Referenced by itpp::yulewalk(). |
|
ARMA filter design using a least-squares fit to the specified frequency-response.
The vectors Observe: this function will not always give exactly the same result as the matlab yulewalk function. Definition at line 270 of file filter_design.cpp. References itpp::arma_estimator(), itpp::filter_design_autocorrelation(), and it_assert. |
|
Frequency response of filter.
![]()
If Definition at line 86 of file filter_design.cpp. References itpp::freqz(). |
|
Frequency response of filter.
![]()
If Definition at line 97 of file filter_design.cpp. References itpp::cos(), itpp::elem_div(), max, itpp::polyval(), itpp::sin(), itpp::to_cvec(), and itpp::zero_pad(). |
|
Frequency response of filter.
![]()
If Definition at line 112 of file filter_design.cpp. References itpp::elem_div(), itpp::fft_real(), itpp::linspace(), and itpp::pi. |
|
Frequency response of filter.
![]()
If Definition at line 126 of file filter_design.cpp. References itpp::freqz(). |
|
Frequency response of filter.
![]()
If Definition at line 137 of file filter_design.cpp. References itpp::cos(), itpp::elem_div(), max, itpp::polyval(), itpp::sin(), itpp::to_cvec(), and itpp::zero_pad(). |
Generated on Thu Apr 19 14:19:58 2007 for IT++ by Doxygen 1.4.6