Classes | |
class | itpp::Filter< T1, T2, T3 > |
Virtual Filter Base Class. More... | |
class | itpp::MA_Filter< T1, T2, T3 > |
Moving Average Filter Base Class. More... | |
class | itpp::AR_Filter< T1, T2, T3 > |
Autoregressive (AR) Filter Base Class. More... | |
class | itpp::ARMA_Filter< T1, T2, T3 > |
Autoregressive Moving Average (ARMA) Filter Base Class. More... | |
class | itpp::Freq_Filt< Num_T > |
Freq_Filt Frequency domain filtering using the overlap-add technique. More... | |
[NOHEADER] | |
void | itpp::freqz (const cvec &b, const cvec &a, const int N, cvec &h, vec &w) |
cvec | itpp::freqz (const cvec &b, const cvec &a, const int N) |
cvec | itpp::freqz (const cvec &b, const cvec &a, const vec &w) |
void | itpp::freqz (const vec &b, const vec &a, const int N, cvec &h, vec &w) |
cvec | itpp::freqz (const vec &b, const vec &a, const int N) |
cvec | itpp::freqz (const vec &b, const vec &a, const vec &w) |
Functions | |
vec | itpp::filter (const vec &b, const vec &a, const vec &input) |
cvec | filter (const vec &b, const vec &a, const cvec &input) |
cvec | filter (const cvec &b, const cvec &a, const cvec &input) |
cvec | filter (const cvec &b, const cvec &a, const vec &input) |
vec | filter (const vec &b, const int one, const vec &input) |
cvec | filter (const vec &b, const int one, const cvec &input) |
cvec | filter (const cvec &b, const int one, const cvec &input) |
cvec | filter (const cvec &b, const int one, const vec &input) |
vec | filter (const int one, const vec &a, const vec &input) |
cvec | filter (const int one, const vec &a, const cvec &input) |
cvec | filter (const int one, const cvec &a, const cvec &input) |
cvec | filter (const int one, const cvec &a, const vec &input) |
vec | filter (const vec &b, const vec &a, const vec &input, const vec &state_in, vec &state_out) |
cvec | filter (const vec &b, const vec &a, const cvec &input, const cvec &state_in, cvec &state_out) |
cvec | filter (const cvec &b, const cvec &a, const cvec &input, const cvec &state_in, cvec &state_out) |
cvec | filter (const cvec &b, const cvec &a, const vec &input, const cvec &state_in, cvec &state_out) |
vec | filter (const vec &b, const int one, const vec &input, const vec &state_in, vec &state_out) |
cvec | filter (const vec &b, const int one, const cvec &input, const cvec &state_in, cvec &state_out) |
cvec | filter (const cvec &b, const int one, const cvec &input, const cvec &state_in, cvec &state_out) |
cvec | filter (const cvec &b, const int one, const vec &input, const cvec &state_in, cvec &state_out) |
vec | filter (const int one, const vec &a, const vec &input, const vec &state_in, vec &state_out) |
cvec | filter (const int one, const vec &a, const cvec &input, const cvec &state_in, cvec &state_out) |
cvec | filter (const int one, const cvec &a, const cvec &input, const cvec &state_in, cvec &state_out) |
cvec | 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) |
vec | polystab (const vec &a) |
void | polystab (const cvec &a, cvec &out) |
cvec | 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. |
|
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::Filter< std::complex< double >, double, std::complex< double > >::operator()(). |
|
Design a Nth order FIR filter with cut-off frequency
Definition at line 244 of file filter.cpp. References itpp::hamming(), itpp::length(), itpp::sinc(), and itpp::sum(). |
|
Definition at line 47 of file filter_design.cpp. References itpp::abs(), itpp::conj(), and itpp::real(). |
|
![]()
If Definition at line 73 of file filter_design.cpp. References itpp::fft(), and itpp::linspace(). |
|
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 155 of file filter_design.cpp. References itpp::floor_i(), itpp::ifft_real(), it_assert, itpp::reverse(), itpp::sqr(), and itpp::to_cvec(). 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 199 of file filter_design.cpp. References itpp::backslash(), it_assert, 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 230 of file filter_design.cpp. References itpp::backslash(), itpp::cos(), itpp::exp(), itpp::fft(), itpp::fft_real(), itpp::ifft(), it_assert, itpp::linspace(), itpp::log(), itpp::modified_yule_walker(), 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 271 of file filter_design.cpp. References itpp::arma_estimator(), itpp::filter_design_autocorrelation(), and it_assert. |
|
![]()
If Definition at line 87 of file filter_design.cpp. References itpp::freqz(). |
|
![]()
If Definition at line 98 of file filter_design.cpp. References itpp::cos(), itpp::sin(), itpp::to_cvec(), and itpp::zero_pad(). |
|
![]()
If Definition at line 113 of file filter_design.cpp. References itpp::fft_real(), and itpp::linspace(). |
|
![]()
If Definition at line 127 of file filter_design.cpp. References itpp::freqz(). |
|
![]()
If Definition at line 138 of file filter_design.cpp. References itpp::cos(), itpp::sin(), itpp::to_cvec(), and itpp::zero_pad(). Referenced by itpp::freqz(). |
Generated on Fri Jan 11 08:51:40 2008 for IT++ by Doxygen 1.3.9.1