Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Martnez Crcamo, Roberto Antonio MC09042 Rodrguez Reyes, Oswaldo Javier RR09039
Resumen (Abstract) (Abstract) En el presente documento se presenta la (Abstract) filtro FIR utilizando el mtodo (Abstract) (Abstract) implementacin del (Abstract)
de la ventana de hamming. En el documento presentamos el cdigo desarrollado en Octave con las respectivas graficas que se nos piden tales como h[n], H (ejw), w[n], W (ejw), h[n] x w[n], estas graficas las hemos desarrollado tanto en tiempo discreto como en tiempo continuo.
1 1
3 4 4 5
hamming, estos filtros tienen una respuesta al da en un numero finito de muestras, son filtros del tipo no recursivo, por tal motivo estos filtros al no tener retroalimentacin no tienen polos, y por lo tanto siempre son estables, si la entrada de un filtro FIR es un impulso, la salida ser un numero limitados de trminos no nulos, adems tienen la ventaja que pueden disearse para ser de fase lineal, es decir, no introducen desfase en la seal. Un filtro pasa banda es aquel en el cual se deja pasar un determinado rango de frecuencias de una seal y atena el paso del resto, para realizar esto utilizaremos para lo las frecuencias tenemos fp1=950hz de supresin y frecuencias de paso que se nos han asignado, cual como y fs1=900hz, fp2=1.1khz funciones fs2=1.15khz, respectivamente.
El orden del filtro est dado por N, es decir, el nmero de coeficientes. Tambin la salida puede ser expresada como la convolucin de una seal de entrada x[n] con un filtro y[n]:
matemticas usadas con frecuencia en el anlisis y el procesamiento de seales para evitar las discontinuidades al principio y al final de los bloques analizados, la ventana Hamming tiene como desventaja que no tiene mucha precisin de frecuencias pero logra reducir el efecto de ondas laterales.
Pgina 2
Se puede ver que es la misma entrada retardada cada vez ms en el tiempo, multiplicada por diversos coeficientes y finalmente sumada al final. Si tenemos una respuesta de frecuencia, conseguiremos que la respuesta del filtro se asemeje ms a ella cuanto ms largo sea el nmero de coeficientes que tenga. Los filtros FIR son estables puesto que slo tienen ceros, es decir, elementos en el numerador en su funcin de transferencia. Tambin tienen la Para nuestro caso la fp = 950Hz y 1100Hz (frecuencia borde de pasabanda) y la fs = 900Hz y 1150Hz (frecuencia de borde de parabanda), por lo que la frecuencia de corte fc = 925Hz y 1125Hz. ventaja que pueden disearse para ser de fase lineal, es decir, no introducen desfases en la seal, a diferencia de los IIR o los filtros analgicos. Filtro Pasa banda Los filtros pasa-banda se crean a partir de la diferencia de 2 paso bajos ideales.los filtros paso bajo (LP) dejan pasar las frecuencias que estn por debajo de una determinada frecuencia de corte, por ende, las que estn por encima las rechaza. Para obtener la respuesta al impulso del filtro paso bajo ideal, nos auxiliamos de la transformada inversa de Fourier:
Figura 3
Figura 1
La respuesta en frecuencia del filtro paso bajo ideal con una fase , se muestra en la figura 2.
Filtros FIR con ventanas Figura 2 Se espera que frecuencias entre 925Hz y 1125Hz pasen por el filtro que posee ganancia unitaria y que seales de entrada con frecuencias arriba de los 1125Hz y debajo de 925Hz no se observen en la salida. Las ventanas son funciones matemticas usadas con frecuencia en el anlisis y el procesamiento de seales para evitar discontinuidades al principio y al final de los bloques analizados. Para observar una seal en un tiempo finito, la multiplicamos por una funcin ventana.
Pgina 3
Figura 5
Figura 4
FIR pasa banda y conociendo las frecuencias de seales que nos filtrar, procedemos a aplicar seales de entrada. Nuestro cdigo fue elaborado para que el sistema obtenga tres seales sen(w*t) de entrada que sumadas sern la seal de entrada al filtro. Las seales de entrada se muestran en tiempo continuo que luego el programa las normaliza y las convierte a tiempo discreto. Si se introducen las siguientes seales de
ANALISIS DE RESULTADOS Es importante detallar los trminos sobre las frecuencias a implementar en el cdigo del filtro pasa banda, se utiliza una frecuencia de muestro fS = 20kHz, frecuencias de corte fC = 925Hz y 1125Hz, las frecuencias de las seales de entrada al filtro sern digitadas por el usuario cuando se ejecute el cdigo. Se debe recordar que se utilizan frecuencias normalizadas. Analizando el filtro pasabanda, se observa en la figura 5 su respuesta en frecuencia donde la magnitud conserva la ganancia unitaria entre las frecuencias de corte, restringiendo nuestra salida a seales por debajo de la fc1 y por arriba de fc2. Esta grafica se obtiene luego de aplicar la ventana HAMMING a la respuesta al impulso, por lo que se observa poco rizado ya que la ventana ayuda a disminuir el efecto Gibbs.
entrada:
La grafica de cada seal introducida as como la suma de las tres seales se observa en la figura 6.
Figura 6
Pgina 4
Una vez que las seales de entrada pasen por el filtro, se espera que en la salida del filtro se eliminen las frecuencias debido a que son muy pequeas para el filtro creado. La figura 7 muestra la seal de entrada (parte superior) comparada con la seal de salida obtenida del filtro (parte inferior).
Conclusiones
Figura 7 Otra prueba seria que el filtro solamente deje pasar 2 seales de entrada, por lo que si se introducen las siguientes seales de entrada: Al finalizar el presente reporte hemos aprendido que para crear un filtro FIR tenemos que truncar la respuesta al impuls que equivale a limitar la seal con el tipo de ventana que utilizamos con la sinc, en nuestro caso lo hemos hecho con la ventana hamming. Por medio de la investigacin que hemos realizado concluimos que el primer paso que debemos de seguir para implementar el mtodo de ventaneo es determinar las especificaciones de respuesta en frecuencia, esto se logra utilizando las ecuaciones que se presentan en este documento, luego de esto como segundo paso solo nos queda elegir el tipo de ventana que nos interesa implementar, para nuestro caso la ventana Hamming y luego de haber realizado el procedimiento anterior no queda ms que digitar lneas de cdigo en Octave para observar a travs de las grficas la respuesta de funcionamiento de nuestro filtro.
(Abstract)
La grafica de cada seal introducida as como la suma de las tres seales se observa en la figura 8.
Bibliografa
http://www2.dis.ulpgc.es/~obolivar/apuntes/t ema5/tema5.htm http://www.tecnun.com/asignaturas/tratamie nto%20digital/frametds5.pdf http://www.cimubb.ubiobio.cl/data/Resumen_ FiltrosDigitales.pdf
Figura 8
http://www.uaq.mx/investigacion/difusion/... /ITQ%20Martinez%20Barrera.do
Pgina 5
figure (2) subplot(311) stem(w) title("Ventana HAMMING") ylabel("w[n]") xlabel("n [muestras]") grid subplot(312) %gra stem(n,hd) title("Filtro Pasa banda") ylabel("h_d[n]") grid subplot(313) stem(n,h) title("Filtro con ventana") ylabel("h[n]") grid %--------------------------------------------------------%------------Respuesta en Frecuencia del Filtro----------f = (0:512-1)*fnyq/(512-1); %Eje de frecuencias H = freqz(h,1); %Transformada Z al FPB HD =freqz(hd,1); W =freqz(w,1); figure (3) subplot(311) %Grafica de Magnitud del Filtro H stem(f,abs(H)) grid axis([min(f) 2000 1.1*min(abs(H)) 1.1*max(abs(H))]); title("Magnitud de H(e^jw)-----------------------H") xlabel("Frecuencia [Hz]") ylabel("|H(e^w)|") subplot(312) %Grafica de Magnitud del Filtro HD stem(f,abs(HD)) grid axis([min(f) 2000 1.1*min(abs(HD)) 1.1*max(abs(HD))]); title("Magnitud de H(e^jw)-------------------------HD") xlabel("Frecuencia [Hz]") ylabel("|H(e^w)|") subplot(313) %Grafica de Magnitud del Filtro W stem(f,abs(W)) grid axis([min(f) 2000 1.1*min(abs(W)) 1.1*max(abs(W))]); title("Magnitud de H(e^jw)-------------------------W") xlabel("Frecuencia [Hz]") ylabel("|H(e^w)|") figure(4) freqz(h,1) %Grafica de Fase grid title("Fase de H(e^jw)") ylabel("Grados[ ]") %--------------------------------------------------------%------------------graficos de h[n]*w[n]-----------------%-------------------------------------------------------%--------------------Salida del Filtro-------------------%--------------------y[n] = x[n]*h[n]--------------------
%Frecuencia de corte2: fc2 = ( fs2 + fp2 )/2; % fc2 = 1125 Hz %Frecuencia de corte1: fc1 = ( fs1 + fp1 )/2; % fc = 925 Hz %Frecuencia de corte normalizada fcn2 = fc2/fs; fcn1 = fc1/fs; %----------------------------------------------------N = 1500; % total de muestras t = 0:1/fs:2*(N-1)/fs; x1_t = sin(2*pi*f1*t); x2_t = sin(2*pi*f2*t); x3_t = sin(2*pi*f3*t); %tiempo %seal1 %seal2 %seal3 continuo en TC en TC en TC
x_t = x1_t + x2_t + x3_t; %seal de entrada en TC n = t*fs; x1_n = sin(2*pi*f1/fs*n); x2_n = sin(2*pi*f2/fs*n); x3_n = sin(2*pi*f3/fs*n); x_n = x1_n + x2_n + x3_n; en TD figure (1) subplot(211) plot(t,x1_t,";seal 1;",t,x2_t,";seal 2;",t,x3_t,";seal 3;") title('Componentes de la Senal de Entrada a Muestrear'); axis([0,0.035,-3,3]) grid subplot(212) plot(t,x_t,";seal entrada;"); title('Seal de Entrada'); xlabel("t [tiempo]"); ylabel("x(t)"); grid axis([0,0.035,-3,3]) %----------------------------------------------------%--------------CALCULO DE h[n]---------------------------L = 256; % longitud del filtro % Tiempo discreto % seal1 en tiempo discreto % seal2 en tiempo discreto % seal3 en tiempo discreto % seal de entrada a filtro
M = ceil((L-1)/2);% desplazamiento (alfa) n = [0:1:M-1]; % tiempo discreto w = (hamming(M))'; % aplicamos ventana HAMMING hd =2*fcn2*sinc(2*fcn2*(n-M))- 2*fcn1*sinc(2*fcn1*(nM)); % Funcion SINC desplazada y truncada h = hd.*w; Impulso % Filtro Pasabanda Respuesta al
figure (2)
subplot(311)
Pgina 6
y = conv(x_n,h); n = t*fs; Y = freqz(y,1); figure(5) subplot(313) Filtro
stem(f,abs(Y)) grid axis([500 1500 1.1*min(abs(Y)) 1.1*max(abs(Y))]); title("Magnitud de H(e^jw)------------------------Y") xlabel("Frecuencia [Hz]") ylabel("|H(e^w)|") subplot(312) plot(y) title("Salida Discreta del Filtro y[n]=x[n]*h[n]") axis([500,1500,-1.5,1.5]) xlabel("n [muestras]") ylabel("y[n]") grid on n = t*fs; % Tiempo discreto x1_n = sin(2*pi*f1/fs*n); % seal1 en tiempo discreto x2_n = sin(2*pi*f2/fs*n); % seal2 en tiempo discreto x3_n = sin(2*pi*f3/fs*n); % seal3 en tiempo discreto x_n = x1_n + x2_n + x3_n; % seal de entrada a filtro en TD subplot(311) plot(n,x_n) title("Senal Entrada Filtro") axis([500,1500,-3,3]) ylabel("x[n]") grid on
Figura 10
%------------------------------------------------------------CLC
Figura 9