filter                package:signal                R Documentation

_F_i_l_t_e_r _a _s_i_g_n_a_l.

_D_e_s_c_r_i_p_t_i_o_n:

     Generic filtering function. The default is to filter with an ARMA
     filter of given coefficients. The default filtering operation
     follows Matlab/Octave conventions.

_U_s_a_g_e:

     ## Default S3 method:
     filter(filt, a, x, ...)

     ## S3 method for class 'Arma':
     filter(filt, x, ...)

     ## S3 method for class 'Ma':
     filter(filt, x, ...)

     ## S3 method for class 'Zpg':
     filter(filt, x, ...)

_A_r_g_u_m_e_n_t_s:

    filt: For the default case, the moving-average coefficients of an
          ARMA filter (normally called 'b'). Generically, 'filt'
          specifies an arbitrary filter operation.

       a: the autoregressive (recursive) coefficients of an ARMA
          filter. 

       x: the input signal to be filtered. 

     ...: additional arguments (ignored). 

_D_e_t_a_i_l_s:

     The default filter is an ARMA filter defined as:


 a[1]*y[n] + a[2]*y[n-1] + ... + a[n]*y[1] = b[1]*x[n] + b[2]*x[m-1] + ... + b[m]*x[1]


     The default filter calls 'stats:::filter', so it returns a
     time-series object. 

     Since 'filter' is generic, it can be extended to call other filter
     types.

_V_a_l_u_e:

     The filtered signal, normally of the same length of the input
     signal 'x'.

_A_u_t_h_o_r(_s):

     Tom Short, EPRI Solutions, Inc., (tshort@eprisolutions.com)

_R_e_f_e_r_e_n_c_e_s:

     <URL: http://en.wikipedia.org/wiki/Digital_filter>

     Octave Forge <URL: http://octave.sf.net>

_S_e_e _A_l_s_o:

     'filter' in the 'stats' package, 'Arma', 'fftfilt', 'filtfilt',
     and 'runmed'.

_E_x_a_m_p_l_e_s:

     bf = butter(3, 0.1)                          # 10 Hz low-pass filter
     t = seq(0, 1, len=100)                       # 1 second sample
     x = sin(2*pi*t*2.3) + 0.25*rnorm(length(t))  # 2.3 Hz sinusoid+noise
     z = filter(bf, x) # apply filter
     plot(t, x, type = "l")
     lines(t, z, col="red")

