Home | Develop | Download | Contact
Estructuras de datos | Funciones
Funciones del módulo PdsIir.

Estructuras de datos

struct  PdsIir
 Una estructura tipo PdsIir . Más...
 

Funciones

PdsIirpds_iir_new (const PdsVector *hnum, const PdsVector *hden)
 Crea un filtro IIR con parametros hnum y hden. Más...
 
int pds_iir_evaluate_value (PdsIir *IIR, PdsDfReal x, PdsDfReal *y)
 Evalua el filtro IIR con el valor de entrada x, el resultado es cargado en y. Más...
 
int pds_iir_evaluate_vector (PdsIir *IIR, const PdsVector *x, PdsVector *y)
 Evalua el filtro IIR con el vector de entrada x, el resultado es cargado en el vector y. Más...
 
void pds_iir_free (PdsIir *IIR)
 Libera el filtro de tipo PdsIir. Más...
 
void pds_iir_destroy (PdsIir **IIR)
 Libera el filtro de tipo PdsIir. y carga la variable con NULL. Más...
 

Descripción detallada


iir-filter.png
Filtro IIR

\[ y[n]=\sum_{i=0}^{P}b_ix[n-i]+\sum_{i=1}^{Q}a_iy[n-i] \]

.

\[ \frac{Y[z]}{X[z]}=H[z]=\frac{\sum_{i=0}^{P}b_iz^{-i}}{1-\sum_{i=1}^{Q}a_iz^{-i}} \]

.

\[ a[0]=-1\]

\[ 0=\sum_{i=0}^{P}b_ix[n-i]+\sum_{i=0}^{Q}a_iy[n-i] \]

.

\[ \frac{Y[z]}{X[z]}=H[z]=\frac{\sum_{i=0}^{P}h_{num}[i]z^{-i}}{\sum_{i=0}^{Q}h_{den}[i]z^{-i}} \]

.

Documentación de las funciones

PdsIir * pds_iir_new ( const PdsVector *  hnum,
const PdsVector *  hden 
)

Crea un filtro IIR con parametros hnum y hden.

\[ \frac{Y[z]}{X[z]}=H[z]=\frac{\sum_{i=0}^{P}h_{num}[i]z^{-i}}{\sum_{i=0}^{Q}h_{den}[i]z^{-i}} \]

. Los vectores hnum y hdem entregados como parametros de esta función nunca son modificados.

Parámetros
[in]hnumVector para los coeficientes de numerador del filtro.
[in]hdenVector para los coeficientes de denominador del filtro.
Devuelve
Un puntero a una estructura de tipo PdsIir. O NULL en caso de error. Si a[0] es igual a cero la funcion da error y retorna NULL.
Ejemplos:
example1a.c y example1b.c.
int pds_iir_evaluate_value ( PdsIir IIR,
PdsDfReal  x,
PdsDfReal y 
)

Evalua el filtro IIR con el valor de entrada x, el resultado es cargado en y.

Parámetros
[in,out]IIREl filtro IIR a usar.
[in]xEl valor de entrada del filtro.
[out]yEl valor de salida del filtro.
Devuelve
TRUE si todo fue bien o FALSE si no.
Ejemplos:
example1a.c y example1b.c.
int pds_iir_evaluate_vector ( PdsIir IIR,
const PdsVector *  x,
PdsVector *  y 
)

Evalua el filtro IIR con el vector de entrada x, el resultado es cargado en el vector y.

Parámetros
[in,out]IIREl filtro IIR a usar.
[in]xEl vector de entrada del filtro.
[out]yEl vector de salida del filtro.
Devuelve
TRUE si todo fue bien o FALSE si no. Ejemplo x o y son NULL ó de distinto tamaño.
Ejemplos:
example1b.c.
void pds_iir_free ( PdsIir IIR)

Libera el filtro de tipo PdsIir.

Parámetros
[in]IIREl filtro a liberar.
Devuelve
No retorna valor.
Ejemplos:
example1a.c y example1b.c.
void pds_iir_destroy ( PdsIir **  IIR)

Libera el filtro de tipo PdsIir. y carga la variable con NULL.

Parámetros
[in]IIREl filtro a liberar.
Devuelve
No retorna valor.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed