Академический Документы
Профессиональный Документы
Культура Документы
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 102
C
CAAPPIIT
TUUL
LOO IIIIII
FFIIL
LTTR
RAAD
DOOD
DEE SSE
EA
ALLE
ESS
NT
33..11 IIN RO
TR DU
OD CC
UC ON
CIIO N
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 103
)) modifica el
De manera general un sistema lineal e invariante en el tiempo ( H(
)) segn la respuesta en frecuencia del sistema, lo que
espectro de la seal de entrada ( X(
da lugar a una seal de salida con el espectro determinado por el sistema que atraviesa
) = H(
(Y( )X(
)). Por tal motivo cualquier sistema lineal e invariante en el tiempo puede
ser visto como un filtro de conformacin espectral. Bajo este contexto el diseo de filtros
digitales que respondieran a los parmetros deseados de un sistema determinado por los
coeficientes de los mismos, result muy viable tanto para hardware como para software.
33..22 PPA
ARRA
AMME
ETTR
ROOSS D
DEEL
LOOSS FFIIL
LTTR
ROOSS
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 104
herramienta de comparacin para la eleccin del tipo de filtro a utilizar. Estos parmetros
son:
)|
|H()
1
1+
1 - Rizado en la banda de paso
1
1- 2 - Rizado en la banda de rechazo
c - Frecuencia de corte
Rizado en la banda de paso
r - Frecuencia de rechazo
Banda de
rechazo
Banda de
2
Transicin
0 c r
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 105
Rizado en la banda de paso: es el rizado que suele ocurrir con relacin a la amplitud
mxima en la banda de paso, se denota por 1.
Rizado en la banda de rechazo: es el rizado que ocurre en la banda de rechazo, se
denota por 2.
Estos son los parmetros comunes dados para el diseo de filtros y en base a ellos se
han desarrollado mtodos que permitan la obtencin de los coeficientes que cumplan lo
mejor posible estas condiciones. De igual manera nos sirven de herramienta para saber que
mtodo de anlisis se debe emplear y finalmente qu tipo de filtro disear.
donde C y n0 son constantes. Por ende la seal de salida tienen el siguiente espectro:
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 106
por su propiedad lineal se le conoce como fase lineal y los filtros ideales guardan esta
caracterstica. La derivada de la fase con respecto a la frecuencia tiene unidades de retardo,
por lo que se define el retardo de la seal en funcin de la frecuencia como:
d ( )
g ( ) = ec. 3.5
d
Estos filtros ideales no son causales por tanto irrealizables; sin embargo, esta
idealizacin matemtica nos permite tener un punto de referencia acerca del
comportamiento requerido en le diseo de los filtros prcticos.
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 107
33..33 FFIIL
LTTR
ROOSS C
CLL
SSIIC
COOSS
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 108
2 1
H ( j ) = ec. 3.6
1 + e S n2 ( )
2
Filtros Butterworth
Tambin son conocidos como filtros de magnitud mximamente plana (MMP),
debido a que su funcin de transferencia se elige de tal forma que la curva de la respuesta
en magnitud sea lo ms plana posible dentro de la banda de paso del filtro. Esto es
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 109
A medida que aumenta el orden del filtro (aumenta n) el rizado en la banda de paso
es menor, pero la cada en la banda de transicin se hace ms pronunciada.
Filtros Chebyshev
El filtro Chebyshev presentan un rizo en la banda de paso, y tienen una cada ms
pronunciada que los filtros Butterworth; es decir su banda de transicin es ms angosta.
Para un orden dado, las caractersticas de ambos filtros tienen la misma pendiente asinttica.
1
H ( j ) =
2
ec. 3.8
1 + C n2 ( )
2
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 110
33..44 C
COON
NCCE
EPPT
TOOSS B
BSSIIC
COOSS D
DEE FFIIL
LTTR
ROOSS D
DIIG
GIIT
TAAL
LEESS
En esta seccin nos dedicaremos a enunciar sobre cmo la posicin de los polos y
ceros de la funcin de transferencia de un sistema discreto afectan a la respuesta en
frecuencia de un sistema. Con este conocimiento podremos elaborar tcnicas para el
diseo de filtros tomando en cuenta la estructura general del sistema y cuidando a la vez su
estabilidad. Aprovechndonos de esto definiremos un mtodo sencillo de diseo de filtros
digitales bsicos con ciertas caractersticas de frecuencias deseadas.
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 111
bk z k (1 z k z 1 )
H ( z) = k =0
= k =1
N N ec. 3.9
1 + a k z k (1 p k z 1 )
k =1 k =1
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 112
3.4.2 Caractersticas bsicas de los polos y los ceros en los filtros digitales
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 113
Otro modelo que puede utilizarse es el que contiene un cero en z=-1, el cual atena
an ms la magnitud de la seales para las altas frecuencias. La funcin de transferencia de
este tipo de filtro es:
1 a 1 + z 1
H 2 (z) = ec. 3.12
2 1 az 1
De esta manera podemos crear un modelo bsico si reflejamos los polos y ceros de la
ec. 3.12 con respecto al eje imaginario del plano z; de forma tal que obtenemos la siguiente
funcin de transferencia:
1 a 1 z 1
H 3 ( z) = ec.3.13
2 1 + az 1
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 114
Es comn observar varios mtodos de diseo partir de un filtro pasa bajo modelo y
luego pasarlos a pasa alto utilizando la propiedad de traslacin en frecuencia de la
transformada de Fourier, en la cual se traslada en radianes, es decir de a -.
En esta ocasin nuestro modelo bsico esta dado por la siguiente funcin de
transferencia:
( z 1)( z + 1)
H 4 ( z) = G ec. 3.14
( z jr )( z + jr )
Tambin es practica comn construir un filtro pasa alto para la frecuencia de corte
inferior y un filtro pasa bajo para la frecuencia superior, colocndose ambos filtros en
cascada para obtener el efecto de un filtro pasa banda.
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 115
33..55 FFIIL
LTTR
ROOSS D
DEER
REESSPPU
UEESST
TAA FFIIN
NIIT
TAA ((FFIIR
R))
Los filtros FIR, tambin conocidos como Filtros Transversales (Transversal Filters)
o como Sistemas de Average Mvil (Moving Average Systems {MA}), son los filtros ms
sencillos de disear e implementar.
La funcin de transferencia de los filtros FIR esta dada por ec. 3.15, como se puede
observar este filtro slo cuenta con ceros y ningn polo, lo que nos garantiza la estabilidad
del mismo.
N -1
H(z) = b
n= 0
n z
-n
ec. 3.15
Como primer paso debemos obtener los coeficientes del filtro ideal (hd(n)), y
multiplicarlos o ponderarlos por el valor de una funcin que se le conoce como ventana
(w(n)); como se muestra en la siguiente ecuacin
. Al resultado de esta operacin se le conocen como coeficientes del filtro (h(n)), los
cuales realizan el proceso de convolucin con la seal de entrada para el proceso de filtrado.
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 116
pasabajo pasaalto
Diferenciador
Transformada
Hilbert
Fig. 33 Respuesta en frecuencia al impulso unitario de los filtros ideales mas utilizados
3.5.1.1 Coeficientes de los filtros ideales para una entrada impulso unitario
Como primer paso se deben conocer las respuesta al impulso unitario del filtro ideal
en el dominio de la frecuencia para todo el intervalo de Nyquist (- ); por ejemplo
en un filtro paso bajo ideal para toda frecuencia entre c < < -c su respuesta es 1 y para
- < -c o c < es igual a 0, como se muestra en la fig. 3.4. Luego utilizando la
expresin siguiente:
d
D( w ) = d ( k ) e j k d ( k ) =
k =
D( w )e
j k
2
ec. 3.17
dada por la DFT como resultado de un sistema lineal invariable en el tiempo a un impulso
unitario para el dominio de la frecuencia.
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 117
En esta tabla hemos aadido algunos filtros que no hemos discutido con
anterioridad; sin embargo, de un uso frecuente en el procesamiento de seales. Por ejemplo,
el transformador de Hilbert, llamado as por cumplir con la propiedad de darnos una
respuesta en fase lineal (por tanto un atraso de grupo constante), tiene una respuesta de
frecuencia H(w) = -j sign(w). Mientras que el diferenciador tiene una respuesta de
frecuencia H(w) = jw, definida en todo el intervalo de Nyquist.
Podemos ver una ventana como aquel elemento encargado de truncar la seal que se
desea procesar. Existen diversas ventanas y dependiendo de la escogida muchos de los
parmetros de los filtros, ancho de banda de transicin, nmeros de coeficientes, rizado en la
banda de rechazo, etc., pueden variar de gran manera.
Desde un punto de vista electrnico, las ventanas nos sirven para suavizar el paso
entre los primeros coeficientes del filtro (ambos extremos) y cero, como sabemos cualquier
paso abrupto crea distorsiones armnicas. Matemticamente hablando las ventanas nos
sirven para convolucionar el espectro del filtro con el espectro de una seal mejor que la del
sin(x)/(x) (espectro de ventana rectangular).
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 118
c
hd (0) = para n = 0
sin (n c )
hd (n) = - para n 0
n
FITRO PASA ALTOS
c
hd (0) = 1 - para n = 0
sin (n c2 ) - sin (n c1 )
hd (n) = para n 0
n
c2 - c1
hd (0) = para n = 0
sin (n c2 ) - sin (n c1 )
hd (n) = - para n 0
n
c2 - c1
hd (0) = 1 - para n = 0
cos(n ) sin (n )
hd (n) = - para n 0
n k2
DIFERENCIADOR
hd (0) = 0 para n = 0
1 - cos(n )
h d (n) = para n 0
n
TRANSFORMADA
HILBERT
hd (0) = 0 para n = 0
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 119
Las ventanas restringen a un nmero finito las respuestas en el tiempo del filtro, de
forma que:
d
D( w )e
j k
d (k ) = , para - M k M ec. 3.18
2
2n
w(n) = 0.5 + 0.5 cos( )
Hanning N
Hamming 2n
w(n) = 0.54 + 0.46 cos( )
N
Blackman 2n 4n
w(n) = 0.42 + 0.5 cos( )+ 0.08 cos( )
N N
Tabla 9
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 120
Tabla 10
0.9
0.8
Hanning Rectangular
0.7
0.6
Magnitud
Magnitud
0.5
0.4
Blackman
0.3
0.2
Hamming
0.1
0
0 10 20 30 40 50 60
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 121
Por tanto el problema de diseo de los filtros FIR queda reducido a escoger el tipo de
ventana a utilizar en el proceso de truncamiento y la cantidad de coeficientes que el filtro va
a tener. Es de tomar en cuenta que diversas ventanas vistas proporcionan un mayor
suavizado en la convolucin que la ventana rectangular, sin embargo agrandan la banda de
transicin para una misma cantidad de coeficientes.
Para ejecutar el mismo, el usuario debe escribir el nombre del programa FIRFP.EXE
desde la lnea de comando de MS-DOS y presionar [Enter].
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 122
La salida del programa es un archivo llamado COEF.DAT, este archivo tiene los
coeficientes en formato de punto flotante y como comentarios, separados por "//", las
especificaciones del filtro as como los valores de los coeficientes. La salida de los
coeficientes del filtro bajo este formato tiene como propsito el utilizar posteriormente como
base de datos para la construccin del filtro va software. El cdigo fuente del programa lo
puede encontrar en el apndice C.
/************************************************************************
*
* Segmento de Data en memoria de Data (Para Variables!)
*
************************************************************************/
#define TAPS 511
.segment /dm seg_dmda;
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 123
En esta primera seccin hemos declarado las variables TAPS, que corresponden al
tamao de los coeficientes de los filtros. Tambin hemos inicializado las variables de
ON_OFF, utilizada como bandera de activacin del filtro; la variable Z1, para el retardo del
canal derecho; y la variable DATA que tiene como longitud el valor de TAPS, la cual ser
utilizada para almacenar las muestras de la seal a filtrar. Todo esto ha sido almacenado en
la memoria de la data. Para inicializar el espacio del programa que describir los elementos
que van en la memoria de data se coloca la instruccin .segment /dm seg_dmda ; y para
cerrar este ciclo se coloca la instruccin .endseg .
/************************************************************************
*
* Segmento de Data en memoria de Programa (Para Constantes!)
*
************************************************************************/
Aqu hemos inicializado el buffer que almacenara los coeficientes del filtro digital.
En esta ocasin el mismo se encuentra en el espacio en memoria de programa. La bondad
que tiene poder colocar distintos variables en diferentes espacios de memoria es que el
procesador tiene la versatilidad de leer ambos conjuntos espacios de memoria al mismo
tiempo. Esto permite realizar hasta cierto limite dos instrucciones en un slo ciclo de reloj.
Los comandos de inicio y cierre de descripcin del ciclo de espacio para memoria de
programa son similares a los usados para la memoria de data.
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 124
/***********************************************************************
* Segmento de Cdigo en memoria de Programa
************************************************************************/
/************************************************************************
* Rutina de Interrupcin del CODEC. Aqu se procesan las muestras
* recibidas por el ADC y se escriben los resultados al DAC.
*
************************************************************************/
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 125
INPUT_SAMPLES:
// Lectura de CODEC (ADCs)
r0 = dm(ON_OFF); // Bandera de Encendido
r1 = dm(rx_buf + 1); // ADC Canal Izquierdo
r2 = dm(rx_buf + 2); // ADC Canal Derecho
En esta seccin del cdigo se introducen las muestras de las seales de entrada al
CODEC y se almacenan en los registros r1 y r2 en formato de punto fijo; mientras que la
entrada ON_OFF indica si el filtro esta encendido o apagado y se almacena en el registro r0
bajo formato de punto flotante. Luego por simplicidad de programacin los datos de r1 y r2
son pasados a formato de punto flotante, almacenndose en f1 y f2 respectivamente.
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 126
Por medio de f12 = f0*f4, f8=f8+f12 realizamos la penltima suma del proceso
recursivo y ponderamos la ultima seal del proceso; que se ve culminado con la ltima suma
efectuada con la instruccin f1=f8+f12, y almacenada en el registro f1.
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 127
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 128
basaron en el diseo por el mtodo de ventanas. Sin embargo, nos sirven de orientacin
para el desarrollo de nuevas herramientas bajo otros conceptos.
M 1 M impar
2 k = 0,1,.........,
k = (k + ) 2 ec. 3.19
M M
k = 0,1,........., 1 M par
2 =0
generalmente este tipo de sistema son IIR. Sin embargo, si H(z) es un sistema constituido
por slo polos H1(z) es FIR.
Captulo III
Trabajo de Graduacin
Francisco J. Garca Castillo 129
Resulta prctico para muchas aplicaciones que el filtro a utilizar sea FIR; y
generalmente para lograr este propsito se trunca h1(n). Al realizar el proceso de truncado
introducimos un error cuadrtico total igual a:
t = h
n= M +1
2
1 ( n) ec. 3.22
Captulo III