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

Estructuras de datos

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

Funciones

PdsFirNlmspds_fir_nlms_new (PdsDfReal Mhu, PdsRaNatural M)
 Crea un filtro FIR NLMS con parametros h[i] del filtro FIR, con un valor inicial de h[i]=1/(1+M). Por defecto el filtro FIR NLMS estará auto configurandose continuamente, a no ser que se deshabilite con pds_fir_nlms_disable . Más...
 
int pds_fir_nlms_disable (PdsFirNlms *FirNlms)
 Deshabilita la reconfiguración de los pesos h[i] del filtro FIR NLMS y se mantienen los ultimos pesos modificados. Más...
 
int pds_fir_nlms_enable (PdsFirNlms *FirNlms)
 Habilita la reconfiguración de los pesos h[i] del filtro FIR NLMS. Más...
 
int pds_fir_nlms_set_mhu (PdsFirNlms *FirNlms, PdsDfReal Mhu)
 Coloca el valor Mhu del filtro FIR NLMS. Más...
 
int pds_fir_nlms_evaluate_value (PdsFirNlms *FirNlms, PdsDfReal d, PdsDfReal x, PdsDfReal *e, PdsDfReal *y)
 Evalúa el filtro FIR NLMS con el valor de entrada "d" e "x", el resultado es cargado en "e" e "y". Más...
 
int pds_fir_nlms_evaluate_vector (PdsFirNlms *FirNlms, const PdsVector *d, const PdsVector *x, PdsVector *e, PdsVector *y)
 Evalúa el filtro FIR NLMS con el vector de entrada x, el resultado es cargado en el vector y. Más...
 
void pds_fir_nlms_free (PdsFirNlms *FirNlms)
 Libera el filtro de tipo PdsFirNlms. Más...
 
void pds_fir_nlms_destroy (PdsFirNlms **FirNlms)
 Libera el filtro de tipo PdsFirNlms. y carga la variable con NULL. Más...
 

Descripción detallada


filtrobloco.png
Filtro NLMS FIR
lms.png
Filtro NLMS FIR
firlms.png
Actualización de pesos

\[ y[n]=\sum_{i=0}^{M}h_ix[n-i] \]

.

\[ X= ( x[n], x[n-1], x[n-2], ... , x[n-M] ) \]

.

\[ e[n]=d[n] - y[n] \]

.

\[ h_i[n+1]=h_i[n] + \frac{\mu e[n] x[n-i]}{X^TX} \]

.

Documentación de las funciones

PdsFirNlms * pds_fir_nlms_new ( PdsDfReal  Mhu,
PdsRaNatural  M 
)

Crea un filtro FIR NLMS con parametros h[i] del filtro FIR, con un valor inicial de h[i]=1/(1+M). Por defecto el filtro FIR NLMS estará auto configurandose continuamente, a no ser que se deshabilite con pds_fir_nlms_disable .

Parámetros
[in]MhuEs el paso de la constante de adaptación.
[in]MEs el grado del filtro FIR, h[i], 0<= i <=M.
Devuelve
Un puntero a una estructura de tipo PdsFirNlms. O NULL en caso de error.
Ejemplos:
testprog5.c y testprog6.c.
int pds_fir_nlms_disable ( PdsFirNlms FirNlms)

Deshabilita la reconfiguración de los pesos h[i] del filtro FIR NLMS y se mantienen los ultimos pesos modificados.

Parámetros
[in,out]FirNlmsEl filtro FIR NLMS a usar.
Devuelve
TRUE si todo fue bien o FALSE si no;
int pds_fir_nlms_enable ( PdsFirNlms FirNlms)

Habilita la reconfiguración de los pesos h[i] del filtro FIR NLMS.

Parámetros
[in,out]FirNlmsEl filtro FIR NLMS a usar.
Devuelve
TRUE si todo fue bien o FALSE si no;
int pds_fir_nlms_set_mhu ( PdsFirNlms FirNlms,
PdsDfReal  Mhu 
)

Coloca el valor Mhu del filtro FIR NLMS.

Parámetros
[in,out]FirNlmsEl filtro FIR NLMS a usar.
[in]MhuFactor de aprendizaje Mhu.
Devuelve
TRUE si todo fue bien o FALSE si no;
int pds_fir_nlms_evaluate_value ( PdsFirNlms FirNlms,
PdsDfReal  d,
PdsDfReal  x,
PdsDfReal e,
PdsDfReal y 
)

Evalúa el filtro FIR NLMS con el valor de entrada "d" e "x", el resultado es cargado en "e" e "y".

Parámetros
[in,out]FirNlmsEl filtro FIR NLMS a usar.
[in]dEs una entrada adicional al filtro FIR NLMS.
[in]xEs la señal de entrada del filtro FIR.
[out]eEs la señal de error, es la diferencia entre "d" e "y".
[out]yEs el valor de salida del filtro FIR.
Devuelve
TRUE si todo fue bien o FALSE si no;
Ejemplos:
testprog5.c.
int pds_fir_nlms_evaluate_vector ( PdsFirNlms FirNlms,
const PdsVector *  d,
const PdsVector *  x,
PdsVector *  e,
PdsVector *  y 
)

Evalúa el filtro FIR NLMS con el vector de entrada x, el resultado es cargado en el vector y.

Se recomienda usar esta función solo cuando x es mucho mayo que FIR->h. Solo se realizan corrimientos de FIR->X al inicio y al final del vector x en los casos intermediarios se aprovecha tener el vector y no se efectuan corrimientos, por lo que es un poco mas rápido que pds_fir_nlms_evaluate_value cuando x es mucho mayo que FIR->h.

Parámetros
[in,out]FirNlmsEl filtro FIR a usar.
[in]dEs el vector de una entrada adicional al filtro FIR NLMS.
[in]xEs el vector de la señal de entrada del filtro FIR.
[out]eEs el vector de la señal de error, es la diferencia entre "d" e "y".
[out]yEs el vector del valor de salida del filtro FIR.
Devuelve
TRUE si todo fue bien o FALSE si no.
Ejemplos:
testprog6.c.
void pds_fir_nlms_free ( PdsFirNlms FirNlms)

Libera el filtro de tipo PdsFirNlms.

Parámetros
[in]FirNlmsEl filtro a liberar.
Devuelve
No retorna valor.
Ejemplos:
testprog5.c y testprog6.c.
void pds_fir_nlms_destroy ( PdsFirNlms **  FirNlms)

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

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

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed