Estructuras de datos | |
struct | PdsFir |
Una estructura tipo PdsFir . Más... | |
Funciones | |
PdsFir * | pds_fir_new (const PdsVector *h) |
Crea un filtro FIR con parámetros h. Más... | |
PdsFir * | pds_fir_get_new_lowpass (PdsDfNatural Order, PdsDfReal Wn, const PdsVector *Window) |
Crea un filtro FIR pasa bajo, con un orden y frecuencia de corte especificado. Más... | |
PdsFir * | pds_fir_get_new_highpass (PdsDfNatural Order, PdsDfReal Wn, const PdsVector *Window) |
Crea un filtro FIR pasa alto, con un orden y frecuencia de corte especificado. Más... | |
PdsFir * | pds_fir_get_new_bandpass (PdsDfNatural Order, PdsDfReal Wn1, PdsDfReal Wn2, const PdsVector *Window) |
Crea un filtro FIR pasa banda, con un orden y frecuencias de corte especificados. Más... | |
PdsFir * | pds_fir_get_new_bandstop (PdsDfNatural Order, PdsDfReal Wn1, PdsDfReal Wn2, const PdsVector *Window) |
Crea un filtro FIR rechaza banda, con un orden y frecuencias de corte especificados. Más... | |
int | pds_fir_evaluate_value (PdsFir *FIR, PdsDfReal x, PdsDfReal *y) |
Evalúa el filtro FIR con el valor de entrada x, el resultado es cargado en y. Más... | |
int | pds_fir_evaluate_vector (PdsFir *FIR, const PdsVector *x, PdsVector *y) |
Evalúa el filtro FIR con el vector de entrada x, el resultado es cargado en el vector y. Más... | |
int | pds_fir_get_x_value (PdsFir *FIR, PdsDfNatural i, PdsDfReal *x) |
Esta funcion retorna el valor de X[n-i]. Más... | |
int | pds_fir_get_h_value (PdsFir *FIR, PdsDfNatural i, PdsDfReal *h) |
Esta funcion retorna el valor de h[i]. Más... | |
const PdsVector * | pds_fir_get_h_vector (PdsFir *FIR) |
Esta funcion retorna la dirección del vector h con los valores del filtro fir. Más... | |
int | pds_fir_get_order (PdsFir *FIR) |
Esta función retorna o grado del filtro FIR. Más... | |
int | pds_fir_get_length (PdsFir *FIR) |
Esta función retorna la longitud del vector que representa el filtro FIR. Más... | |
int | pds_fir_frequency_response (const PdsFir *FIR, PdsVector *H) |
Encuentra el módulo de la respuesta en frecuencia, normalizada de 0 a pi del filtro digital conformado por la respuesta al impulso h. Más... | |
void | pds_fir_free (PdsFir *FIR) |
Libera el filtro de tipo PdsFir. Más... | |
void | pds_fir_destroy (PdsFir **FIR) |
Libera el filtro de tipo PdsFir. y carga la variable con NULL. Más... | |
.
.
PdsFir * pds_fir_new | ( | const PdsVector * | h | ) |
Crea un filtro FIR con parámetros h.
El vector h entregado como parámetro a esta función nunca es modificado.
[in] | h | Vector para los coeficientes de h_i*x[n-i]. |
PdsFir * pds_fir_get_new_lowpass | ( | PdsDfNatural | Order, |
PdsDfReal | Wn, | ||
const PdsVector * | Window | ||
) |
Crea un filtro FIR pasa bajo, con un orden y frecuencia de corte especificado.
Puede ser usado un vector de ponderación (Window) para mejorar el comportamiento del filtro. Esta función crea un filtro de tipo I : http://www.mathworks.com/help/signal/ug/fir-filter-design.html Para elegir el orden minimo del filtro puede elegirse el criterio :
where
Este criterio es similar a http://www.dspguide.com/ch16/2.htm
[in] | Order | El orden del filtro pasa bajo. |
[in] | Wn | La frecuencia de corte normalizada del filtro pasa bajo. Wn significa que la frecuencia de corte es Wn*Fs/2, donde Fs es la frecuencia de muestreo. |
[in] | Window | Es un vector de ponderación para mejorar el comportamiento del filtro. Si este valor es igual a NULL entonces es usado una ventana de hamming como vector de ponderación. |
PdsFir * pds_fir_get_new_highpass | ( | PdsDfNatural | Order, |
PdsDfReal | Wn, | ||
const PdsVector * | Window | ||
) |
Crea un filtro FIR pasa alto, con un orden y frecuencia de corte especificado.
Puede ser usado un vector de ponderación (Window) para mejorar el comportamiento del filtro. Esta función crea un filtro de tipo I si Order es par e tipo IV si Order es impar : http://www.mathworks.com/help/signal/ug/fir-filter-design.html Para elegir el orden minimo del filtro puede elegirse el criterio :
where
Este criterio es similar a http://www.dspguide.com/ch16/2.htm
[in] | Order | El orden del filtro pasa alto. |
[in] | Wn | La frecuencia de corte normalizada del filtro pasa alto. Wn significa que la frecuencia de corte es Wn*Fs/2, donde Fs es la frecuencia de muestreo. |
[in] | Window | Es un vector de ponderación para mejorar el comportamiento del filtro. Si este valor es igual a NULL entonces es usado una ventana de hamming como vector de ponderación. |
PdsFir * pds_fir_get_new_bandpass | ( | PdsDfNatural | Order, |
PdsDfReal | Wn1, | ||
PdsDfReal | Wn2, | ||
const PdsVector * | Window | ||
) |
Crea un filtro FIR pasa banda, con un orden y frecuencias de corte especificados.
Puede ser usado un vector de ponderación (Window) para mejorar el comportamiento del filtro. Esta función crea un filtro de tipo I si Order es par e tipo II si Order es impar : http://www.mathworks.com/help/signal/ug/fir-filter-design.html Para elegir el orden minimo del filtro puede elegirse el criterio :
where
Este criterio es similar a http://www.dspguide.com/ch16/2.htm
[in] | Order | El orden del filtro pasa alto. |
[in] | Wn1 | La frecuencia de corte normalizada del filtro pasa alto. Wn1 significa que la frecuencia de corte es Wn1*Fs/2, donde Fs es la frecuencia de muestreo. |
[in] | Wn2 | La frecuencia de corte normalizada del filtro pasa bajo. Wn2 significa que la frecuencia de corte es Wn2*Fs/2, donde Fs es la frecuencia de muestreo. |
[in] | Window | Es un vector de ponderación para mejorar el comportamiento del filtro. Si este valor es igual a NULL entonces es usado una ventana de hamming como vector de ponderación. |
PdsFir * pds_fir_get_new_bandstop | ( | PdsDfNatural | Order, |
PdsDfReal | Wn1, | ||
PdsDfReal | Wn2, | ||
const PdsVector * | Window | ||
) |
Crea un filtro FIR rechaza banda, con un orden y frecuencias de corte especificados.
Puede ser usado un vector de ponderación (Window) para mejorar el comportamiento del filtro. Esta función crea un filtro de tipo I si Order es par e tipo II si Order es impar : http://www.mathworks.com/help/signal/ug/fir-filter-design.html Para elegir el orden minimo del filtro puede elegirse el criterio :
where
Este criterio es similar a http://www.dspguide.com/ch16/2.htm
[in] | Order | El orden del filtro pasa alto. |
[in] | Wn1 | La frecuencia de corte normalizada del filtro bajo. Wn1 significa que la frecuencia de corte es Wn1*Fs/2, donde Fs es la frecuencia de muestreo. |
[in] | Wn2 | La frecuencia de corte normalizada del filtro alto. Wn2 significa que la frecuencia de corte es Wn2*Fs/2, donde Fs es la frecuencia de muestreo. |
[in] | Window | Es un vector de ponderación para mejorar el comportamiento del filtro. Si este valor es igual a NULL entonces es usado una ventana de hamming como vector de ponderación. |
Evalúa el filtro FIR con el valor de entrada x, el resultado es cargado en y.
En cada iteración se realizan corrimientos para el vector FIR->X.
[in,out] | FIR | El filtro FIR a usar. |
[in] | x | El valor de entrada del filtro. |
[out] | y | El valor de salida del filtro. |
int pds_fir_evaluate_vector | ( | PdsFir * | FIR, |
const PdsVector * | x, | ||
PdsVector * | y | ||
) |
Evalúa el filtro FIR 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_evaluate_value cuando x es mucho mayo que FIR->h.
[in,out] | FIR | El filtro FIR a usar. |
[in] | x | El vector de entrada del filtro. |
[out] | y | El vector de salida del filtro. |
int pds_fir_get_x_value | ( | PdsFir * | FIR, |
PdsDfNatural | i, | ||
PdsDfReal * | x | ||
) |
Esta funcion retorna el valor de X[n-i].
Siendo n la muestra actual e i indica la i-esima muestra anterior.
[in] | FIR | El filtro FIR a usar. |
[in] | i | El valor i de la posicion de X[n-i] en la entrada del filtro. |
[out] | x | El valor de X[n-i]. |
int pds_fir_get_h_value | ( | PdsFir * | FIR, |
PdsDfNatural | i, | ||
PdsDfReal * | h | ||
) |
Esta funcion retorna el valor de h[i].
Siendo h[i] el factor de ponderacion de X[n-i].
[in] | FIR | El filtro FIR a usar. |
[in] | i | El valor i de la posicion de h[i]. |
[out] | h | El valor de h[i]. |
const PdsVector * pds_fir_get_h_vector | ( | PdsFir * | FIR | ) |
Esta funcion retorna la dirección del vector h con los valores del filtro fir.
[in] | FIR | El filtro FIR a usar. |
int pds_fir_get_order | ( | PdsFir * | FIR | ) |
Esta función retorna o grado del filtro FIR.
[in] | FIR | El filtro FIR a usar. |
int pds_fir_get_length | ( | PdsFir * | FIR | ) |
Esta función retorna la longitud del vector que representa el filtro FIR.
[in] | FIR | El filtro FIR a usar. |
int pds_fir_frequency_response | ( | const PdsFir * | FIR, |
PdsVector * | H | ||
) |
Encuentra el módulo de la respuesta en frecuencia, normalizada de 0 a pi del filtro digital conformado por la respuesta al impulso h.
Teoría
[in] | FIR | Filtro fir a anaizar. |
[out] | H | Donde se guardará el módulo cuadrado de la respuesta en frecuencia del filtro digital. |
void pds_fir_free | ( | PdsFir * | FIR | ) |
Libera el filtro de tipo PdsFir.
[in] | FIR | El filtro a liberar. |