-
FILTRO DIGITAL PASA BANDA USANDO LA VENTANA HANNING - 2011
Tarea Ex - Aula No.2 Anlisis de Seales y Sistemas
1
FILTRO DIGITAL PASA BANDA USANDO LA VENTANA HANNING
Universidad de El Salvador, Escuela de Ingeniera Elctrica
Anlisis de Seales y Sistemas
Josu Gabriel Deras Campos, DC08009
Fredy Jonathan Quinteros Calzadia, QC08002
RESUMEN. El presente trabajo consta de los resultados obtenidos
tras el diseo de un filtro digital FIR con la tcnica del ventaneo,
bajo simulaciones realizadas con el lenguaje de programacin Octave
3.2. El filtro implementado es un filtro digital pasa banda con
frecuencias de paso de 950 y 1100 Hz, y con frecuencias de paro de
900 y 1150 Hz. El tipo de ventana que se ha utilizado es la
Hanning. Se analizan la respuesta al impulso y la respuesta en
frecuencia del filtro a partir de las graficas obtenidas, partiendo
del diseo de un filtro paso baja. Para obtener una mejor compresin
de los resultados se hacen una serie de pruebas pasando una seal de
entrada al sistema diseado, para luego analizar todos los
escenarios posibles en la salida. Al final se presenta el script
con extensin .m.
INTRODUCCIN. Un filtro es un dispositivo que impide o permite el
paso de una cierta gama de frecuencias, donde permitir o impedir
est relacionado con un nivel de atenuacin o ganancia, pudiendo
modificar tanto su amplitud como su fase. De otra manera los
filtros digitales son sistemas que dependiendo de las seales de
entrada que posean, se puede procesar estas seales y as poder
eliminar partes no deseadas de las mismas. Los filtros son
sumamente importantes en sistemas de comunicaciones al igual que en
control o telemetra entre otras aplicaciones. En el presente
trabajo se detallan las herramientas necesarias para la creacin de
un filtro digital pasa bandas utilizando la conocida ventana
hanning, el filtro que se disea es un filtro digital con respuesta
finita al impulso (FIR).
DESARROLLO TERICO. Las seales pueden describir una amplia
variedad de fenmenos fsicos. En trminos matemticos, las seales
analgicas son funciones que constan de cantidades continuas como
sus variables independientes, por ejemplo, espacio y tiempo. Seales
de tiempo-discreto son funciones definidas en nmeros enteros. Una
seal en tiempo discreto x[n] es una funcin de una variable entera
n. Se supondr que una funcin en tiempo discreto se define para cada
valor de n para -< n
-
FILTRO DIGITAL PASA BANDA USANDO LA VENTANA HANNING - 2011
Tarea Ex - Aula No.2 Anlisis de Seales y Sistemas
2
La transformada de Fourier tiene una importancia fundamental en
la representacin y anlisis de seales y sistemas discretos. Una
generalizacin de ella es la transformada Z. La funcin de
transferencia de un sistema se puede escribir en trminos de la
transformada z.
H(z) Y(z)
X(z)
Transformada que se define para una seal x[n], como:
X z Z x n = x n zn
n=
Donde n es un entero y z es, en general, un nmero complejo de la
forma: z = Aej. La Transformada Z convierte una seal que est
definida en el dominio del tiempo discreto (que es una secuencia de
nmeros enteros) en una representacin en el dominio de la frecuencia
compleja, que es donde se analiza las frecuencias de paso y paro de
filtro pasa banda. Hay que notar que cuando zn es reemplazado por
ejn , la transformada z se convierte en la transformada de Fourier.
Cuando la transformada de Fourier existe z = ej , la cual debe
tener la magnitud unitaria (A=1) para z. Entonces las transformada
de Fourier y su inversa para el tiempo discreto queda definida
asi:
X = x n
n=
= { }1 1
2 ( )
Filtro digital FIR (Respuesta al Impulso Finita) Los filtros de
fase lineal con respuesta al impulso finita se definen a
continuacin, mediante un anlisis en el dominio del tiempo discreto
y el dominio de la frecuencia. Dado una h[n], para 0 n L 1 el cual
es la respuesta al impulso de longitud o duracin (finita) L.
Entonces la funcin (de transferencia) que describe al sistema
es:
H(z) = h n znL1
n=0
H z = h0 + h0z1 + + hL1z
(L1) Se puede ver que es la misma entrada retardada cada vez ms
en el tiempo, multiplicada por diversos coeficientes y finalmente
sumada al final, que es prcticamente la idea bsica que se aplica en
octave, especficamente con la funcin freqz.
H(z) = z(L1) h n zL1nL1
n=0
Donde hay (L-1) polos en el origen z = 0 (polos triviales) y
(L-1) ceros localizados en algn lugar del plano z.
La funcin de la respuesta en frecuencia es:
H ej = h n ejnL1
n=0
,
Para que el sistema se impone la restriccin de fase lineal:
H ej = , Donde es un retraso de fase constante, entonces para
que adems h[n] sea simetrica se debe cumplir: h[n] = h[L-1-n], 0 n
(L 1) con
=L 1
2
Por lo tanto h[n] es simtrica con respecto a , el cual es el eje
de simetra. El orden del filtro est dado por L-1, es decir, el
nmero de coeficientes. Tambin la salida puede ser expresada como la
convolucion de una seal de entrada x[n] con un filtro h[n]:
y n = h k
L1
k=0
x n k
Para el diseo del filtro pasa banda, es necesario combinar el
diseo de un filtro paso baja y un paso altas a distintas
frecuencias de corte. Para un filtro pasa banda la combinacin es
como la siguiente:
Debido a lo anterior, es indispensable la profundizacin en el
diseo del filtro pasa bajo, para lograr un filtro paso altas. Diseo
con ventanas. La idea bsica detrs del diseo de la ventana es elegir
de manera ideal el grupo o rangos de las frecuencias a filtrar (las
que se dejaran pasar y las que se detendrn) por el sistema (que
siempre es no causal, y con respuesta al impulso de duracin
infinita) y luego truncar su respuesta al impulso para obtener una
fase lineal y causal del filtro FIR. Por lo tanto el nfasis en este
mtodo es en la seleccin de una funcin adecuada de ventanas y un
filtrado ideal adecuado. Vamos a designar un filtro ideal
seleccionador de frecuencia por Hd(w) , el cual tiene una ganancia
de magnitud unitaria y caractersticas de fase lineal sobre la banda
de paso y respuesta cero sobre la
Figura 2. Diseo de un filtro pasa banda.
-
FILTRO DIGITAL PASA BANDA USANDO LA VENTANA HANNING - 2011
Tarea Ex - Aula No.2 Anlisis de Seales y Sistemas
3
banda de rechazo. Un filtro ideal paso bajo tiene un ancho de
banda esta dado por:
=
1 ,
0,
Donde c es llamada la frecuencia de corte, (que es donde la
funcin se corta a cero) y es llamado el retraso de muestra.
Como:
Hd ej = H ej ej
La ecuacin anterior que Hd e
j hace recordar que es un numero complejo, de magnitud
unitaria
( H ej = 1 ), y con fase igual a " . La respuesta al impulso es
de duracin infinita y est dada por la transformada ineversa:
= { }1 =
1
2 (
)
=1
2 1
=(( ))
( )
+ La grafica para esta ecuacin tiene la forma siguiente: Hay que
notar que hd n es simtrica con respecto a , un hecho til para los
filtros FIR de fase lineal. Pero tiene un nmero infinito de puntos.
Segn la definicin de los filtros FIR, h[n] debe de tener un nmero
finito de puntos. Asi que para obtener un filtro FIR partiendo de
hd n , es necesario truncar hd n en ambos lados de su simetra. Asi
que para obtener el filtro FIR h n de longitud L, (orden L-1),
tenernos que tener:
[] = , 0 1
0,
Y =1
2
Esta operacin es llamada ventaneo. En general h[n] puede ser
conseguida por el producto de hd n y una funcion de ventana w n ,
como lo muestra la siguiente frmula:
= []
Donde w[n] es una funcin de ventana simtrica con respecto a
sobre 0 n L 1, y es cero en algun otro lugar. En el dominio de la
frecuencia la respuesta causal del filtro FIR H ej esta dado por la
convolucion periodica de Hd e
j y la respuesta de la ventana W ej , esto es:
H ej = Hd ej W ej
=1
2
()
En el dominio del tiempo discreto, la operacin de ventaneo es un
simple producto punto a punto (no una convolucin), es por eso que
se prefiere usar ese mtodo ( = []), y luego pasar al
dominio de la frecuencia mediante la transformada Z (o
transformada de Fourier si se quiere). La sencillez de h[n] tienen
caractersticas muy atractivas, el fenmeno de Gibbs lo hace en
algunas ocasiones cuestionable, ya que se produce una sobre
oscilacin relativamente grande en las cercanas de la discontinuidad
de la respuesta ideal. Esta sobre oscilacin se debe al truncamiento
abrupto de la respuesta al impulso de duracin infinita, de manera
que usando diversas funciones ventana se puede truncar la secuencia
de manera ms suave. Sobre el filtro paso altas. Si la respuesta en
frecuencia de un filtro paso bajas Hlp e
j , fuera desplazada medio periodo (), se
tendra Hlp (ej()) , esto es, la respuesta en
frecuencia de un filtro ideal paso altas con frecuencia de corte
c . Por lo tanto:
Hhp ej = Hlp (e
j())
Si hlp n y hhp n respectivamente denotan la
respuesta al impulso de los filtros paso baja y pasa altas, la
propiedad de desplazamiento de frecuencia implica que los filtros
paso baja y paso alta estn relacionados por:
hhp n = ejn hlp n = (1)
nhlp n
Acerca de las ventanas.
En procesamiento de seales, una ventana se utiliza cuando nos
interesa una seal de longitud voluntariamente limitada. En efecto,
una seal real tiene que ser de tiempo finito; adems, un clculo slo
es posible a partir de un nmero finito de puntos. Para observar una
seal en un tiempo finito, la multiplicamos por una funcin ventana.
Las cuatro ventanas coseno generalizadas vienen dadas por:
Figura 3. Respuesta al impulso del filtro paso bajas ideal
discreto.
Figura 3. Ventana Hanning con M=25
-
FILTRO DIGITAL PASA BANDA USANDO LA VENTANA HANNING - 2011
Tarea Ex - Aula No.2 Anlisis de Seales y Sistemas
4
[] =
2
1 +
4
1
0 10,
Los nombres de las ventanas y sus formas son definidos por los
constantes a, b, c. Para la ventana Hanning con constantes a = 0.5,
b = -0.5 y c = 0, se tiene: Ec. 12:
[] = 1
2[1 +
2
1 ] 0 1
0,
La respuesta de la ventana Hanning en el dominio de la
frecuencia, es mostrada a continuacin.
El producto de la ventana tiene el efecto de suavizar hd [n] y
por lo tanto a su transformada z (o de Fourier, si se quiere) Hd
(e
j) en el dominio de la frecuencia.
Sobre las frecuencias. A continuacin se detallan los trminos
utilizados de las distintas frecuencias utilizadas. La tasa o
frecuencia de muestreo es el nmero de muestras por unidad de tiempo
que se toman de una seal continua para producir una seal discreta.
La nomenclatura usada en el cdigo octave de todas las frecuencias
se describe como sigue:
fs [frecuencia de muestreo]: es la mxima frecuencia a
muestrear.
fny [frecuencia de nyquist]: es la mitad de la frecuencia de
muestreo, cumpliendo con el teorema de muestreo de
Nyquist-Shannon.
fpass [frecuencias de paso]: son el rango de frecuencias en las
que las el filtro dejara pasar.
fstop [frecuencias de paro]: son el rango de frecuencias en las
que las el filtro rechazar.
fa: es la frecuencia de una componente de la seal
de entrada. fb: es la frecuencia de la otra componente de la
seal de entrada. Hay que recordar que se utilizan frecuencias
normalizadas (con respecto a la frecuencia de muestreo) puesto que
el diseo se defini para frecuencias menores a . Las frecuencias de
corte se encuentran a partir de las bandas de paso y de rechazo, la
frecuencia de corte baja se obtiene del promedio de la frecuencia
de paro baja con la frecuencia de paso baja, y de la misma forma la
frecuencia de corte superior es obtenida del promedio de las
frecuencias de paro y paso altas. El clculo de la frecuencia se
corte es el siguiente:
fc1 =fstop 1 + fpass 1
2=
900 + 950
2= 925 Hz
fc2 =fstop 2 + fpass 2
2=
1150 + 1100
2= 1125 Hz
ANLISIS DE RESULTADOS
Para obtener la respuesta en frecuencia de un filtro pasa banda,
ese necesario traslapar la respuesta en frecuencia de un filtro
paso baja y un filtro paso altas, siendo la frecuencia de corte del
paso bajas mayor al del paso altas (clp > chp ), esto se
logra
modificando la frecuencia de corte del filtro pasa bajas a
desplazar (para conseguir el pasa altas), es decir, es necesario
ajustar la frecuencia de corte de la siguiente manera: fc1 = fny -
(fstop(1) + fpass(1))/2; fc1 = 10e3 - (900 + 950)/2 = 9075 [Hz] Al
desplazar el filtro paso bajos con esta frecuencia, se obtiene el
filtro paso altas a la frecuencia de corte de verdadero inters, el
resultado de la respuesta en frecuencia del filtro paso altas se
muestra en la
figura 5.
Figura 4. Funcin de la ventana Hanning
Figura 5. Respuesta en frecuencia del filtro paso altas
-
FILTRO DIGITAL PASA BANDA USANDO LA VENTANA HANNING - 2011
Tarea Ex - Aula No.2 Anlisis de Seales y Sistemas
5
La respuesta en frecuencia del filtro paso baja, cuya frecuencia
de corte es mayor al del paso alta (e igual a fc2), se muestra en
la figura 6.
La figura 7 presenta la respuesta en frecuencia del filtro pasa
banda de inters, el cual es el traslape de la figura 5 con la
figura 6. El rizado que presenta la figura es atribuido al orden
del filtro utilizado, y si bien es cierto no se generan exactamente
el pulso rectangular esperado, el resultado es lo suficientemente
aceptable, como se ver ms adelante cuando se filtre una seal de
entrada. La aplicacin de la tcnica de ventaneo reduce
considerablemente el efecto de Gibbs (rizado).
Para conseguir una visualizacin ms detallada acerca de las
frecuencias de paso y paso, se grafica la respuesta al impulso en
escala logartmica en la figura 8, es decir, que es la misma grafica
de la figura 7 pero en dB. En donde es apreciable que la mxima
ganancia es unitaria para frecuencias entre 925 y 1125, y en la
banda de rechazo la transferencia es inclusive menor que 0.0001
o
104, o sea, cero. Tambin con ayuda de la funcin freqz sin
retorno, se muestra la grafica de la fase del sistema, en donde es
posible apreciar su linealidad.
Tambin se muestra en la figura 9, la base de donde se parti para
llegar a las graficas anteriores, que es la respuesta al impulso
del sistema. Si bien es cierto carece del anlisis en frecuencia, es
posible notar que tiene el comportamiento de una funcin sinc.
Hasta este punto se han conseguido satisfactoriamente los
resultados esperados del sistema (filtro pasa banda), su respuesta
al impulso, su respuesta en frecuencia, la fase, etc.
Figura 6. Respuesta en frecuencia del filtro paso bajas
Figura 7. Respuesta en frecuencia del filtro pasa banda con y
sin ventana
Figura 8. Respuesta en frecuencia del filtro paso bajas en dB,
se muestran la fase lineal del filtro FIR
Figura 9. Respuesta al impulso del filtro paso banda, con 350
muestras y un filtro de longitud 256.
-
FILTRO DIGITAL PASA BANDA USANDO LA VENTANA HANNING - 2011
Tarea Ex - Aula No.2 Anlisis de Seales y Sistemas
6
Para comprobar que efectivamente que el sistema hace lo que se
espera que haga: dejar pasar frecuencias entre 925 y 1125 (que es
la banda de paso dada por las frecuencias de corte), y rechazar
alguna otra frecuencia que este fuera de este rango (banda de
rechazo). Ahora se debe analizar el correcto funcionamiento del
filtrado, para esto se han definido arbitrariamente (y por
facilidad), una seal de entrada compuesta por la suma de dos ondas
sinusoidales. Las frecuencias de estas componentes se varan a modo
que la seal de entrada tenga frecuencias de paso, o de rechazo. En
el cdigo de octave, se manda a graficar la seal de entrada y sus
componentes y por ltimo, se hace un contraste entre la seal de
entrada y la de salida (es decir la seal filtrada). Como primera
prueba, en la figura 10 se muestra que se han introducido
frecuencias de 1000 Hz (frecuencia de paso, color azul) y 100 Hz
(frecuencia de paro, color verde) en las componentes de la seal de
entrada lo que produce una onda como la grafica de color rojo.
En la figura 11, se compara la salida con la entrada, para notar
que salida es nicamente la seal de color azul en la figura 10, que
es la componente a la de 1000 Hz (la frecuencia de paso), y la
frecuencia de 100 Hz se ha rechazado completamente.
Como segunda prueba, se han introducido frecuencias de paso (975
Hz y 1075 Hz) en ambas componentes de la entrada, para este caso el
resultado debera ser que salida sea igual a la entrada, que es
exactamente lo que se muestra en la figura 12. En la ltima prueba,
inversamente a la prueba anterior, se introducen frecuencias de
paro (2000 Hz y 100 Hz) en ambas componentes de la seal de entrada,
el resultado debera ser el rechazo completo de la seal, es decir,
una salida cero, que es justamente lo que se muestra en figura
13.
Figura 10. Seal de entrada y sus componentes.
Figura 11. Comparacin de la entrada con la salida.
Figura 12. Comparacin de la entrada con la salida. La salida es
igual a la entrada.
Figura 13. Comparacin de la entrada con la salida. La salida es
cero.
-
FILTRO DIGITAL PASA BANDA USANDO LA VENTANA HANNING - 2011
Tarea Ex - Aula No.2 Anlisis de Seales y Sistemas
7
CONCLUSIONES.
El uso de la tcnica del ventaneo es necesaria para truncar la
respuesta al impulso ideal de duracin infinita de un filtro pasa
bajo. Lo anterior se logra con una simple multiplicacin de la
funcin de la ventana (hanning, para el caso) y la funcin en
tiempo discreto de la hd[n] del filtro pasa bajo.
El diseo de un filtro paso bajo es la base para disear cualquier
otro tipo de filtro, como en el caso de inters, un filtro pasa
banda, cuya respuesta en frecuencia, es el traslape (una simple
multiplicacin) de la respuesta en frecuencia de un filtro paso baja
y uno paso alta. En el dominio del tiempo la respuesta al impulso
de un filtro pasa banda se obtiene al hacer la convolucion de la
respuesta al impulso de un paso baja con un paso alta.
El fenmeno de Gibbs o rizado que presentan las graficas puede
ser reducido si no se toma una gran cantidad de muestras, y si se
incrementa el orden del filtro. Debido a los rizos, la respuesta en
frecuencia no era exactamente la ideal, sin embargo el fenmeno
tambin se redujo al emplear la tcnica del ventaneo.
Se logro comprobar el correcto funcionamiento del
filtro diseado, al introducirle al sistema una entrada con dos
frecuencias de paso o rechazo. El filtro, como se esperaba, dejo
pasar las frecuencias entre 925 Hz y 1125 Hz (frecuencias de corte)
y rechazo las frecuencias fuera a ese rango.
La funcin freqz, realiza la transformada z a los coeficientes
calculados de la respuesta al impulso, permitiendo observar la
caracterizacin grfica de la respuesta en frecuencia y la fase del
filtro.
La implementacin del filtro digital FIR, refuerza el
conocimiento sobre el anlisis de seales y sistemas, debido que se
ponen en prctica los conceptos adquiridos dentro del curso, tales
como la convolucion, las transformada Z, muestreo de seales etc. As
tambin se aprendi a usar funciones de octave que son importantes
para el anlisis de seales y sistemas que involucran filtros
digitales, a base de ventaneo.
BIBLIOGRAFA.
Burrus, C. Sydney et a1., Ejercicios de Tratamiento Digital de
la Seal utilizar MATLAB v4.
Oppenheim, A. V. y Willsky, A. S. Anlisis de Seales y Sistemas.
Prentice Hall, 1998.
Digital Signal Processing using Matlab v.4. Vinay K. Ingle, John
G. Proakis
http://es.wikipedia.org/wiki/Ventana_%28funci%C3%B3n%29
http://es.wikipedia.org/wiki/Transformada_Z
http://www.tecnun.es/asignaturas/tratamiento%20digital/tds5.html
http://www.gii.upv.es/personal/gbenet/doctorat/documentacion_adicional/lecciones%20de%20dsp/tema5.htmhttp://www.duiops.net/hifi/enciclopedia/filtro-digital-FIR.htm
ANEXOS.
El script o cdigo de octave se muestra a continuacin. Se empieza
con la impresin en pantalla de los parmetros generales del filtro
entre otros datos de los autores. Luego se definen los paramentaros
generales a utilizar. Se define tambin la seal de entrada. Teniendo
las frecuencias de corte, se procede a calcular la respuesta al
impulso, convolucionando la respuesta al impulso de un filtro paso
baja con un paso alto (recordar que por propiedad, lo que en el
dominio frecuencia es una multiplicacin en el dominio del tiempo es
una convolucion). Luego se procede a calcular la respuesta en
frecuencia del filtro pasa banda con la funcin de octave freqz la
cual hace la transformada z de la respuesta al impulso (h[n]) para
obtener la respuesta en frecuencia (H ej ). Para el anlisis se
grafican las respuestas en frecuencia de los filtros paso baja,
paso alta y el pasa banda. El ltimo bloque de cdigo se define la
salida del sistema y se manda a graficar, despus en otra figura se
compara la salida con la entrada. El cdigo posee comentarios para
facilitar la compresin del mismo. En la figura A, se muestra la
corrida del cdigo en octave.
Figura A. Corrida del cdigo en octave.
-
FILTRO DIGITAL PASA BANDA USANDO LA VENTANA HANNING - 2011
Tarea Ex - Aula No.2 Anlisis de Seales y Sistemas
8
Cdigo de Octave para el filtro FIR pasa banda con la ventana
hanning.
clc
close all
printf("\
\n\
\t\tUNIVERSIDAD DE EL SALVADOR\n\
\t ESCUELA DE INGENIERIA ELECTRICA\n\
\tANALISIS DE SENIALES Y SISTEMAS - CICLO I -
2011\n\
\n\
***** ***** * ***** **** ***
***** ***** **** \n\
* * * * * * * * *
* * * \n\
**** * * * * ** * *
**** * * ** \n\
* * * * * * * * *
* * * \n\
* ***** ***** * * * *** *
***** * * \n\
\n\
**** ***** **** ***** **** ***** *
* **** ***** \n\
* * * * * * * * * * * **
- * * * * \n\
*** ***** **** ***** * ** ***** *
* * * * ***** \n\
* * * * * * * * * * *
** * * * * \n\
* * * **** * * **** * * *
* **** * * \n\
\n\
* * ***** * * * * ***** * *
**** \n\
* * * * ** * ** * * ** *
* \n\
***** ***** * * * * * * * * *
* * ** \n\
* * * * * ** * ** * * **
* * \n\
* * * * * ** * * ***** * *
*** \n\
\n\
\t\t\tPRESENTAN:\n\
\tBr. Josue Gabriel Deras Campos
DC08006\n\
\tBr. Fredy Jonathan Quinteros Calzadia
QC08002\n\
\n\
");
%$$$$$$$$$$ - PARAMETROS GENERALES DEL FILTRO
- $$$$$$$$$$$$
fs = 20e3; % frecuencia de muestreo
fny = fs/2; % frecuencia de nyquist
fstop = [900 1150];%frecuencias de paro
(stop)
fpass = [950 1100];%frecuencias de paso
(pass)
%Frecuencias de corte:
fc1 = fny - (fstop(1) + fpass(1))/2; %fc1
= 925, para el filtro pasaaltos
fc2 = (fstop(2) + fpass(2))/2; %fc2
= 1125
fcn = [fc1/fs fc2/fs] ;
%frecuencias de corte normalizada
%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$
%@@@@@@@@@@ - Senial de entrada al filtro FIR
- @@@@@@@@@
printf("\n La senial de entrada estara
compusta por la suma de 2 seniales \
sinusoidales a distinta frecuencia.\n\n\
Las frecuencias de paso son de %d < f < %d
[Hz]\n\
Las frecuencias de paso son de f < %d and f
> %d [Hz]\n\
Las frecuencias de corte son: %d y %d [Hz]
\n\n\
Introduzca las frecuencias de las seniales
sinusoidales a filtrar\n\n"\
,fpass(1),fpass(2),fstop(1),fstop(1),fny -
fc1(1),fc2(1));
fa = input(' Primer frecuencia a ser
filtrada en Hz: '); % Recibe una frecuencia
fb = input(' Segunda frecuencia a ser
filtrada en Hz: '); % Recibe una frecuencia
N = 350; % Total de muestras
Demasiadas muestras dan mucho ruido
t = 0:1/fs:(N-1)/fs; % Tiempo continuo
x1_t = sin(2*pi*fa*t); %se1 en tiempo
continuo
x2_t = sin(2*pi*fb*t); %se2 en
tiempo continuo
x_in_t = x1_t + x2_t;%sede entrada en
tiempo continuo
% Conversion TC a TD
n = t*fs;% Tiempo discreto
x1_n = sin(2*pi*fa/fs*n); % se1 en
tiempo discreto
x2_n = sin(2*pi*fb/fs*n); % se2 en
tiempo discreto
x_in_n = x1_n + x2_n; % sede entrada en
tiempo discreto
figure(1)
plot(t,x1_t,";senial 1;",t,x2_t,";senial
2;",t,x_in_t,";senal de entrada;")% Sede
Entrada
title ('Sede Entrada a muestrar, con sus
componentes');
xlabel ("t [tiempo]" );
ylabel ("x(t)" );
grid on;
axis([min(t) max(t) min(x_in_t)
max(x_in_t)]);
%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@
%********** CALCULO DE LA h[n]**************
M = 256; %longitud del filtro,
orden = L-1
nn = 0:M-1; %Tiempo Discreto
w = hanning(M*2-1); % Aplicando la ventana
hhp = (-1).**nn.*2*fcn(1).*
sinc(2*fcn(1).*(nn-M/2)); % Filtro paso alto
hlp = 2*fcn(2)* sinc(2*fcn(2)*(nn-M/2));
% Filtro Paso Bajo
hd = conv(hhp,hlp); % filtro pasabanda,
respuesta al impulso ideal
hbp = hd.*w'; % filtro pasabanda,
respuesta al impulso con ventana
figure(2);
stem (hbp,"r;h[n];")
title('h[n] - Respuesta al impulso en
tiempo discreto con ventana hanning') ;
xlabel ("n [muestras]" );
ylabel ("h[n]" );
axis([0 length(hbp) min(hbp) max(hbp)]);
grid on;
%********************************************
%////// - GRAFICAS DE H(e^jw) [Respuesta en
frecuencia] - //////
ff = (0:512-1)*fny/(512-1); % Eje de
Frecuencias con fny como maximo
%se evaluan 512
puntos por defecto
Hhp = freqz(hhp,1); % aplicando la
transformada z al filtro paso alta
-
FILTRO DIGITAL PASA BANDA USANDO LA VENTANA HANNING - 2011
Tarea Ex - Aula No.2 Anlisis de Seales y Sistemas
9
Hlp = freqz(hlp,1); % aplicando la
transformada z al filtro paso baja
Hd = freqz(hd,1); % aplicando la
transformada z al filtro pasabanda ideal
H = freqz(hbp,1); % aplicando la
transformada z al filtro pasabanda
%se grafica la magnitud de la respuesta en
frecuencia del filtro paso altas
figure(3);
plot(ff,abs(Hhp))
grid on;hold on;
axis([min(ff) 2000 1.1*min(abs(Hlp))
1.1*max(abs(Hlp))]);
title (" Hhp (e ^j ^w) - Respuesta en
frecuencia del filtro paso altas");
xlabel ("frecuencia [Hz]" );
ylabel ("Hhp (e ^j ^w)" );
%se grafica la magnitud de la respuesta en
frecuencia del filtro paso bajas
figure(4);
plot(ff,abs(Hlp))
grid on;hold on;
axis([min(ff) 2000 1.1*min(abs(Hlp))
1.1*max(abs(Hlp))]);
title (" Hlp (e ^j ^w) - Respuesta en
frecuencia del filtro paso bajas");
xlabel ("frecuencia [Hz]" );
ylabel ("Hlp (e ^j ^w)" );
%se grafica la magnitud de la respuesta en
frecuencia
figure(5);
subplot(211);
plot(ff,abs(Hd))
grid on;hold on;
axis([min(ff) 2000 1.1*min(abs(Hd))
1.1*max(abs(Hd))]);
title (" Hd (e ^j ^w) - Respuesta en
frecuencia ideal del sistema (sin ventana)");
ylabel ("H (e ^j ^w)" );
subplot(212);
plot(ff,abs(H))
grid on;hold on;
axis([min(ff) 2000 1.1*min(abs(H))
1.1*max(abs(H))]);
title (" H (e ^j ^w) - Respuesta en
frecuencia del sistema con ventana");
ylabel ("H (e ^j ^w)" );
xlabel ("frecuencia [Hz]" );
%se grafica la respuesta en frecuencia en
decibeles
figure(6)
loglog(ff,abs(H));
grid on;hold on;
axis([1e2 1e4 1e-4 1.1e0]);
title (" H (e ^j ^w) - Respuesta en
frecuencia del sistema en dB");
xlabel ("frecuencia [Hz]" );
ylabel ("H (e ^j ^w) [dB]" );
%se grafica la respuesta en frecuencia en
decibeles con su fase
figure(7)
freqz(hbp,1); % se grafica la fase
%########## - Senial de salida del filtro FIR
- #############
y = conv(x_in_n,hbp); % respuesta del
filtro a la funcion de entrada senoidal
figure(8)
plot(y)
axis([200 length(y)-200]);
title('Sede salida discreta del fitro
pasabanda (y[n] = x[n]*h[n])')
xlabel ("n [muestras]" );
ylabel ("y[n]" );
grid on;
%Comparacion de la sede entrada con el filtro
figure(9)
subplot(211)
plot(n,x_in_n)
title('sede entrada');
ylabel ("x[n]" );
grid on;
subplot(212)
plot(y)
axis([200 length(y)-200 min(x_in_n)
max(x_in_n)]);
title('Filtrado de la sede entrada');
xlabel ("tiempo discreto [muestras]" );
ylabel ("y[n]" );
grid on;
%#############################################
##############