Sie sind auf Seite 1von 25

Juan Cabrera Zeas

Gabriela Carrin Vivar


Sandro Gonzlez Gonzlez
John Guachun Arias
Edison Pugo Mendez

Filtro FIR (Finite Impulse Response) (1/1)


Presentan fase lineal. La salida se obtiene exclusivamente de las entradas actuales y las
anteriores. [1,2]
[] = 0 []+1 [ 1] + + 1 [ + 1] (1)
1

[ ]

(2)

=0

{ } Conjunto de coeficientes del filtro.


La salida se puede expresar como la convolucin de la entrada con la respuesta al impulso
h[n] del filtro:
1

[][ ]
=0

(3)

Mtodo de Muestreo en Frecuencia (1/8)


Se especifica la respuesta en frecuencia deseada () en un conjunto de frecuencias
equiespaciadas [1]:
2
=
+ ,

1
= 0,1, ,
,
2

= 0,1, , 1,
2
1
= 0
2



(4)

Se resuelve para obtener la respuesta al impulso unitario del filtro a partir de esta
especificacin en frecuencia.

Mtodo de Muestreo en Frecuencia (2/8)

=0

() = 0

=1

=0

() = 0

( + ) =
5

5
4
=
5

3
+ =
5
+ =

=1
=2

( + ) =

3
+ =
4

Mtodo de Muestreo en Frecuencia (3/8)


En la diapositiva anterior se presenta la distribucin equidistante de la frecuencia para
valores de M pares e impares. De los valores obtenidos se puede observar:
Para valores de = 0, el valor de () siempre empezar en cero (0), mientras que
para valores de = 1/2, el valor de () estar desplazado a partir de la
segunda muestra de frecuencia que se da para valores de = 0.
La distancia entre cada muestra corresponde al valor de 2 unidades, tanto para valores
pares de M como para valores impares.
El valor de M, definir el nmero de las k muestras que se tomarn para la realizacin
del anlisis.

El programa realizado para obtener las grficas y los valores de las tablas se puede observar en el
anexo 3.

Mtodo de Muestreo en Frecuencia (4/8)


Para simplificar el clculo, se aplica la propiedad de simetra bsica de la respuesta en frecuencia
muestreada.
1

[]

(5)

=0

Especificando la respuesta en frecuencia del filtro en las frecuencias dadas por (4). Reemplazando
el argumento = + en (5) se obtiene:

2
[ + ] =
+

[] 2(+)/ ,

+ =
=0

= 0,1, , 1

(6)

Mtodo de Muestreo en Frecuencia (5/8)


Inversin de la Ecuacin (6) para obtener h[n]
Multiplicando ambos lados de (6) por 2/ , m=0,1,,M-1, y sumando para
k=0,1,,M-1, el lado derecho de la ecuacin se reduce a 2/ , y se obtiene:
1
[] =

[ + ] 2

+ /

(7)

=0

La ecuacin (7) permite calcular los valores de la respuesta al impulso unitario h[n] a partir
de la especificacin de las muestras en frecuencia [ + ], = 0,1, . . , 1.
Cuando = 0, la ecuacin (6) se reduce a la transformada discreta de Fourier (DFT) de la
secuencia {h[n]}, y la ecuacin (7) es la transformada discreta de Fourier inversa (IDFT)

Mtodo de Muestreo en Frecuencia (6/8)


Simetra
Puesto que {h[n]} es real, se puede demostrar que las muestras en frecuencia {[ + ]}
satisfacen la condicin de simetra
+ =

(8)

Esta condicin de simetra, junto con las condiciones de simetra para {h[n]}, pueden
emplearse para reducir las especificaciones de frecuencia de M puntos a ( + 1)/2
puntos para M impar y a /2 para M impar.
Por lo tanto, las ecuaciones lineales para determinar {h[n]} a partir de {[ + ]} se
simplifican de forma considerable

Mtodo de Muestreo en Frecuencia (7/8)


Respuesta en frecuencia de un filtro FIR con respuesta al impulso antisimtrica.
La respuesta en frecuencia de un filtro FIR con respuesta la impulso antisimtrica se
expresa como:
= ()
Donde:

(3)/2

= 2
/2 1

= 2
=0

1
+2
2

(9)

1
,
2

impar

(10)

1
[] sin
,
2

par

(11)

[] sin
=0

Mtodo de Muestreo en Frecuencia (8/8)


Si, (9) se muestrea en las frecuencias =

2 +

+ =

, = 0,1, , 1, se obtiene:
2
+

2 + 1
2
2

(12)

Donde, = 0 cuando {h[n]} es simtrica y, = 1 cuando {h[n]} es antisimtrica.


Se puede simplificar definiendo un conjunto de muestras en las frecuencias reales {G[k-x]}
2

+ = 1
+ ,
= 0,1, , 1

Sustituyendo (13) en (12), se obtiene:


+ = +

2 + 1
2

(13)

(14)

Ahora, la condicin de simetra para + dada por (8) se traduce en la condicin de simetra para G + , la cual
puede aplicarse sustituyendo en (7) para simplificar las expresiones para la respuesta al impulso del filtro FIR {h[n]} para

los cuatro casos: = , = , = =

Ejemplo 1: Mtodo de Muestreo en Frecuencia (1/3)


Determine los coeficientes de un filtro FIR de fase lineal de longitud M=15 que tiene una
respuesta al impulso unitario simtrica y una respuesta en frecuencia que satisface las
siguientes condiciones:

1, = 0,1,2,3
2
= 0.4, = 4
15
0,
= 5,6,7

Ejemplo 1: Mtodo de Muestreo en Frecuencia (2/3)


Solucin:
Sabiendo que h[n] es simtrica y las frecuencias se seleccionan para que se correspondan con el caso de
= 0, se utiliza la frmula correspondiente al Anexo 1 para evaluar h[n]. En este caso se tiene:

= 1

2
,
15

= 0,1, , 7

Tabla 1. Valores de G(k)

Tabla 2.
Respuesta al impulso unitario
= ()

-0,0141

= ()

-0,0019

= ()

0,0400

()

-1

-1

0,4

= ()

0,0122

= ()

-0,0914

= ()

-0,0181

= ()

0,3133

0,5200

En el Anexo 2 se presenta el programa realizado en Matlab para


obtener los valores de la respuesta al impulso h(n) en la tabla 1.

Ejemplo 1: Mtodo de Muestreo en Frecuencia (3/3)


Respuesta en frecuencia del filtro FIR de fase lineal para el Ejemplo 1 :

Ejemplo 2: Mtodo de Muestreo en Frecuencia (1/4)


Determine los coeficientes de un filtro FIR de fase lineal de longitud M=32 que tiene una
respuesta al impulso unitario simtrica y una respuesta en frecuencia que satisface las
siguientes condiciones:

1, = 0,1,2,3,4,5
2( + )
=6
= 1 ,
32
0, = 7,8, , 15

Donde:
1 = 0,3789795 para = 0
1 = 0,3570496 para =

1
2

(Tomado de las tablas que especifican los parmetros ptimos de transicin )

Ejemplo 2: Mtodo de Muestreo en Frecuencia (2/4)


Solucin:
En los anexos 1 y 4 se presentan las ecuaciones utilizadas para evaluar h[n ] en cada caso de

. En este caso se tiene:

+ = 1

2
( + ) ,
32

= 0,1, , 15

Tabla 3.
Valores de G(k+)

9 10 11 12 13 14 15

()

-1

-1

-1

0,3790

-1

-1

-1

0,3570

En el Anexo 5 se presenta el programa realizado en Matlab para obtener los valores de la respuesta al impulso h(n) en la tabla

Ejemplo 2: Mtodo de Muestreo en Frecuencia (3/4)


Solucin:

Tabla 4. Respuesta al impulso para el Ejercicio 2

=
= ,

= /
= ,

0 = (31)

-0.0071

-0.0041

1 = (30)

-0.0031

-0.0100

2 = (29)

0.0059

-0.0074

3 = (28)

0.0135

0.0059

4 = (27)

0.0081

0.0173

5 = (26)

-0.0111

0.0079

6 = (25)

-0.0242

-0.0180

7 = (24)

-0.0094

-0.0267

8 = (23)

0.0254

0.0038

9 = (22)

0.0399

0.0419

10 = (21)

0.0028

0.0284

11 = (20)

-0.0591

-0.0416

12 = (19)

-0.0684

-0.0825

13 = (18)

0.0318

0.0028

14 = (17)

0.2081

0.2014

15 = (16)

0.3471

0.3718

En el Anexo 5 se presenta el programa realizado en Matlab para obtener los valores de la respuesta al impulso h(n) en las tablas 4 y 5

Ejemplo 2: Mtodo de Muestreo en Frecuencia (4/4)


Solucin:
Respuesta al impulso cuando = 0

Respuesta al impulso cuando =1/2

En las grficas a continuacin se puede observar la respuesta en frecuencia del filtro FIR de fase lineal para los valores1 de
respuesta al impulso indicados en la resolucin del ejercicio 2. Se puede observar que el ancho de banda del filtro para = 2 es
mayor, en comparacin al ancho de pulso obtenido para = 0.
En el Anexo 5 se presenta el programa realizado en Matlab para obtener los valores de la respuesta al impulso h(n) en las tablas 4 y 5

ANEXOS

Anexo 1. Respuesta al impulso unitario:

Resumen de ecuaciones utilizadas para el anlisis de la respuesta al impulso de un filtro FIR


cuando = 0 y la respuesta es simtrica.
=

[]

, = 0,1, , 1

2
= 1

1
=
0 +2

=1

1
2
=

1
2

, = [ ]

cos

1
+
2

Anexo 2. Programa en MATLAB usado para el Ejemplo 1.


PROGRAMA 1 . Respuesta al impulso
Declaracin de
datos de ingreso
y salida

M=15;
k=0:7;
Hr=[1 1 1 1 0.4 0 0 0];
Gk=((-1).^k).*Hr;
alpha=0;
suma=0;
hn=zeros(15,1);

Algoritmo

% Determinacin del lmite de la sumatoria


if mod(M,2)==1 U=(M-1)/2; end
if mod(M,2)==0 U=(M/2)-1; end
for n=1:15
for k=2:7
suma=suma+(Gk(k)*cos(2*pi*(k-1)*((n-1)+0.5)/M));
% Evaluacin de la sumatoria
end
hn(n)=(1/M)*((Gk(1)+(2*suma)));
% Evaluacin final para determinar h(n) en cada valor de n
suma=0;
% Reinicio del acumulador
end

Presentacin de
resultados

disp(hn)

% Presentar vector de respuesta al impulso para n valores

Anexo 3. Programa en MATLAB usado para el anlisis de la frecuencia.


PROGRAMA 2. Anlisis de puntos equidistantes de la frecuencia6
Declaracin de
datos de
ingreso y salida

alpha1=0;
alpha2=0.5;
M=input('Ingrese valor de M: ');

Algoritmo

% Determinacin del valor mximo de k


if (mod(M,2)==0) lim_k=(M/2)-1; end
if (mod(M,2)==1) lim_k=(M-1)/2; end
k=0:lim_k;
% Clculo de la frecuencia
wk1=(2*pi*(k+alpha1))/M;
wk2=(2*pi*(k+alpha2))/M;

Presentacin de
resultados

n1=length(wk1);
n2=length(wk2);
y1=zeros(n1,1);
y2=zeros(n2,1);
stem(wk1,y1,'linewidth',2);
hold on
grid on
stem(wk2,y2,'linewidth',2);
legend('alpha=0','alpha=1/2');
axis([0 wk2(end) -0.2 0.2]);
hold off

Anexo 4. Respuesta al impulso unitario:

Resumen de ecuaciones utilizadas para el anlisis de la respuesta al impulso de un filtro FIR


1
cuando = y la respuesta es simtrica.
2

1
1 (2+1)
+ = + 2 2
2
2
1
2
1
+ = 1
+
2

2
2
=

=1

, +

1
sin
2

1
2
=

1
2

1
2

1
1
=
2
2
+

1
2

Anexo 5. Programa en MATLAB usado para el Ejemplo 2.


PROGRAMA 3 . Respuesta al impulso (1/2)
Declaracin de datos
de ingreso y salida

M=input('Valor de M: ');
if (mod(M,2)==0) lim_k=(M/2)-1; end
if (mod(M,2)==1) lim_k=(M-1)/2; end
k=0:lim_k;
alpha=input('Valor de alpha: 0 - 1/2: ');
if (alpha==0) T1=0.3789795; end
if (alpha==0.5) T1=0.3570496; end
Hr=[1 1 1 1 1 1 T1 0 0 0 0 0 0 0 0 0];
Gk=((-1).^k).*Hr;
suma=0;
hn=zeros(M,1);

Algoritmo
(1/2)

if mod(M,2)==1
if mod(M,2)==0

U=(M-1)/2;
U=(M/2)-1;

end
end

if (alpha==0)
for n=1:M
for k=2:U+1
suma=suma+(Gk(k)*cos(2*pi*(k-1)*((n-1)+0.5)/M));
% Evaluacin de la sumatoria
end
hn(n)=(1/M)*((Gk(1)+(2*suma)));
% Evaluacin final para determinar h(n) en cada valor de n
suma=0;
% Reinicio del acumulador
end
end

Anexo 5. Programa en MATLAB usado para el Ejemplo 2.

PROGRAMA 3 . Respuesta al impulso (2/2)


Algoritmo
(2/2)

if (alpha==1/2)
for n=1:M
for k=1:U+1
suma=suma+(Gk(k)*sin(2*pi*(k-1+0.5)*((n-1)+0.5)/M));
% Evaluacin de la sumatoria
end
hn(n)=(2/M)*(suma);
% Evaluacin final para determinar h(n) en cada valor de n
suma=0;
% Reinicio del acumulador
end
end

Presentacin de
resultados

disp(hn)

% Presentar vector de respuesta al impulso para n valores

BIBLIOGRAFA
[1]
1998.

John G. Proakis y Dimitris G. Manolakis, Tratamiento Digital de Seales, Pretience Hall, Madrid,

[2]
M. D. Gonzalez, A.M. Airabella, Comparacin de filtros FIR de fase lineal, por Mtodo ptimo y de
Ventanas, Universidad Nacional de San Luis, Argentina.

Das könnte Ihnen auch gefallen