Documentos de Académico
Documentos de Profesional
Documentos de Cultura
NACIONAL
UNIDAD CULHUACÁN
Grupo 7EV12
FILTROS FIR
1
FILTROS DIGITALES DE RESPUESTA
IMPULSIONAL FINITA. (FILTROS FIR).
¿Qué son los filtros?
E s un sistema que, dependiendo de las variaciones de las señales de entrada en el tiempo y amplitud,
se realiza un procesamiento matemático sobre dicha señal; generalmente mediante el uso de la
Transformada rápida de Fourier; obteniéndose en la salida el resultado del procesamiento matemático
o la señal de salida. Los filtros digitales tienen como entrada una señal analógica o digital y en su
salida tienen otra señal analógica o digital, pudiendo haber cambiado en amplitud, frecuencia o fase
dependiendo de las características del filtro digital.
El filtrado digital es parte del procesado de señal digital. Se le da la denominación de digital más por
su funcionamiento interno que por su dependencia del tipo de señal a filtrar, así podríamos llamar
filtro digital tanto a un filtro que realiza el procesado de señales digitales como a otro que lo haga de
señales analógicas. Comúnmente se usa para atenuar o amplificar algunas frecuencias. Por ejemplo,
se puede implementar un sistema para controlar los tonos graves y agudos de cualquier sistema de
audio. El procesamiento interno y la entrada del filtro serán digitales, por lo que puede ser necesario
una conversión analógica-digital o digital-analógica para uso de filtros digitales con señales
analógicas.
E l ancho de banda de un filtro digital está limitado por la frecuencia de muestreo, mientras que una
analógica depende de las características de los componentes físicos.
Se puede implementar tanto en software como en hardware.
Tipos de filtros.
H ay varios tipos de filtros, así como distintas clasificaciones para estos filtros. De acuerdo con la
parte del espectro que dejan pasar y que atenúan hay:
2
-segundo orden
-De acuerdo con el tipo de respuesta ante entrada unitaria:
-FIR (Finite Impulse Response)
-IIR (Infinite Impulse Response)
-TIIR (Truncated Infinite Impulse Response)
De acuerdo con la estructura con que se implementa:
-Laticce
-Varios en cascada
-Varios en paralelo
Debe ser “CAUSAL”, esto significa que tiene que tener un retraso hacia las frecuencias positivas y
no debe existir señal en frecuencia negativa.
Otra característica es que tiene la capacidad de ser usados con facilidad y poseer una fase lineal para
una respuesta al impulso par o impar. A esta propiedad se le conoce como “SIMETRIA”.
Que se define por si existe simetría en los coeficientes del filtro obteniendo así la “linealidad de fase”.
Linealidad de fase; aquella donde no hay distorsión de fase porque el cambio de fase del filtro es
lineal.
Dependiendo del número de coeficientes del filtro y del tipo de simetría tenemos varias posibilidades:
Existen 3 grandes bloques de métodos de diseños de filtros FIR con fase lineal.
3
MÉTODO DE LAS VENTANAS.
E l diseño de filtros FIR por medio del método de las ventanas se basa en acotar la respuesta
impulsional infinita de un filtro ideal.
1. Procedimiento
Como primer paso se obtiene la respuesta impulsional del filtro ideal que deseamos diseñar ℎ𝑖 (𝑛).
(Pasa altas, pasa bajas, etc.).
𝑁 – 1 /2 ≤ 𝑛 ≤ 𝑁 – 1/2
4
Código del programa en MATLAB.
PASABAJAS
%% Procesar mi voz, aniadir ruido y filtrarla con un FIR pasa baja.
Usando un filtro de orden 100.
y = audioread('C:\Users\emiHG\Documents\Grabaciones de sonido\Dani.m4a');
%sound(y,16000) % Señal de voz a filtrar
plot(t,x);
title('Senial de ruido');
xlabel('Tiempo(s)');
ylabel('Amplitud');
plot(x);
hold on;
plot(y);
hold on;
plot(f);
xlabel('Frecuencia(Hz)');
ylabel('Amplitud');
title('Filtrado de una señal de voz con un FIR pasa bajas');
PASA ALTAS
%% Procesar mi voz, aniadir ruido y filtrarla con un FIR pasa baja.
Usando un filtro de orden 100.
y = audioread('C:\Users\emiHG\Documents\Grabaciones de sonido\Dani.m4a');
%sound(y,16000) % Señal de voz a filtrar
5
N = 100; % Orden del filtro
t = linspace(0,6000,fs);
x = cos(2*pi*100*t)+1*randn(size(t)); % Senial de ruido
plot(t,x);
title('Senial de ruido');
xlabel('Tiempo(s)');
ylabel('Amplitud');
plot(x);
hold on;
plot(y);
hold on;
plot(f);
xlabel('Frecuencia(Hz)');
ylabel('Amplitud');
title('Filtrado de una señal de voz con un FIR pasa bajas');