Beruflich Dokumente
Kultur Dokumente
[ ]
(2)
=0
[][ ]
=0
(3)
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.
=0
() = 0
=1
=0
() = 0
( + ) =
5
5
4
=
5
3
+ =
5
+ =
=1
=2
( + ) =
3
+ =
4
El programa realizado para obtener las grficas y los valores de las tablas se puede observar en el
anexo 3.
[]
(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)
[ + ] 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)
(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
(3)/2
= 2
/2 1
= 2
=0
1
+2
2
(9)
1
,
2
impar
(10)
1
[] sin
,
2
par
(11)
[] sin
=0
2 +
+ =
, = 0,1, , 1, se obtiene:
2
+
2 + 1
2
2
(12)
+ = 1
+ ,
= 0,1, , 1
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
1, = 0,1,2,3
2
= 0.4, = 4
15
0,
= 5,6,7
= 1
2
,
15
= 0,1, , 7
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
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
+ = 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
=
= ,
= /
= ,
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
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
[]
, = 0,1, , 1
2
= 1
1
=
0 +2
=1
1
2
=
1
2
, = [ ]
cos
1
+
2
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
Presentacin de
resultados
disp(hn)
alpha1=0;
alpha2=0.5;
M=input('Ingrese valor de M: ');
Algoritmo
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
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
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
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)
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.