Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
PRÁCTICA # 3
“Filtros FIR y Convolución de señales discretas”
OBJETIVOS:
Muestrear una señal continua con ruido para su procesamiento digital mediante
sistemas discretos.
Aplicar filtros de respuesta al impulso finito a un sistema para la eliminación de
componentes indeseadas.
Expresar la salida del sistema en función de la respuesta impulso mediante el uso
de la convolución.
MARCO TEÓRICO:
Filtros FIR
Los Filtros FIR (Respuesta al impulso finito) son sistemas donde cada muestra filtrada es
la suma de un número finito muestras de la secuencia de entrada [1].
Una simple transformación de una señal discreta en el tiempo es calcular la media móvil
o promedio móvil de dos o más números consecutivos de la secuencia de entrada,
formando una nueva secuencia del promedio de los valores. El filtro FIR es una
generalización del promedio móvil. El promedio se usa generalmente cuando los datos
fluctúan y se deben suavizar antes de la interpretación [1].
1
LABORATORIO DE SEÑALES Y SISTEMAS
1
𝑦[0] = (𝑥[0] + 𝑥[−1] + 𝑥[−2])
3
1
𝑦[1] = (𝑥[1] + 𝑥[0] + 𝑥[−1])
3
1 (3.1)
𝑦[𝑛] = (𝑥[𝑛] + 𝑥[𝑛 − 1] + 𝑥[𝑛 − 2])
3
2
LABORATORIO DE SEÑALES Y SISTEMAS
n n<-2 -2 -1 0 1 2 3 4 5 n>5
x[n] 0 0 -1 2 4 6 4 0 0 0
y[n] 0 0 -0.3 0.33 1.67 4 4.67 3.33 1.33 0
Un filtro que usa solo los valores presentes y pasados de la entrada es llamado un filtro
causal, lo que implica que la causa no procede al efecto correspondiente. Sin embargo,
un filtro que usa valores futuros de la entrada es llamado no causal. Sistemas no
causales no pueden ser implementados en aplicaciones en tiempo real porque la
entrada no está disponible cuando la salida es calculada [1].
Los filtros FIR causales tienen una ecuación de diferencia de la forma [1]:
𝑀
3
LABORATORIO DE SEÑALES Y SISTEMAS
El parámetro 𝑀 es el orden del filtro FIR. El número de coeficientes del filtro es también
llamado la longitud del filtro 𝐿. La longitud es mayor que el orden 𝐿 = 𝑀 + 1 [1].
El impulso unitario es una secuencia simple que solo toma un valor diferente de cero
cuando 𝑛 = 0 [1].
1, 𝑛=0
𝛿[𝑛] = {
0, 𝑛≠0 (3.3)
1, 𝑛 = 𝑛0
𝛿[𝑛 − 𝑛0 ] = {
0, 𝑛≠0 (3.4)
4
LABORATORIO DE SEÑALES Y SISTEMAS
𝑥[𝑛] = ∑ 𝑥[𝑘]𝛿[𝑛 − 𝑘]
𝑘
(3.6)
= ⋯ + 𝑥[−1]𝛿[𝑛 + 1] + 𝑥[0]𝛿[𝑛] + 𝑥[1]𝛿[𝑛 − 1] + 𝑥[2]𝛿[𝑛 − 2]
Cuando la entrada a un filtro FIR es 𝑥[𝑛] = 𝛿[𝑛], la salida del filtro es la respuesta al
impulso unitario denotado por 𝑦[𝑛] = ℎ[𝑛], tal que: [1].
𝑀
Una expresión general de la salida del filtro FIR (3.2), puede ser expresada en términos
de la respuesta al impulso. Donde los coeficientes en (3.2) son idénticos a los valores de
la respuesta al impulso, pudiendo reemplazar 𝑏𝑘 en (3.2) por ℎ[𝑘]:
𝑀
Cuando la relación entre la entrada y la salida del filtro FIR es expresado en términos de
la entrada y la respuesta al impulso como se muestra en (3.8), esto es llamado suma de
convolución finita, donde la salida puede ser obtenida como la convolución de las
secuencias 𝑥[𝑛] y ℎ[𝑛] [1].
5
LABORATORIO DE SEÑALES Y SISTEMAS
Para realizar la convolución entre dos secuencias discretas se puede utilizar el método
de la suma por columnas como se muestra en el siguiente ejemplo [2]:
𝑥[𝑛] = {4,1,3}
ℎ[𝑛] = {2,5,0,4}
Índice de
0 1 2 3
secuencia
h[n] 2 5 0 4
x[n] 4 1 3
8 20 0 16
2 5 0 4
6 15 0 12
y[n] 8 22 11 31 4 12
𝑦[𝑛] = {8,22,11,31,4,12}
ACTIVIDADES A DESARROLLAR:
Usando Matlab cree una secuencia de entrada 𝑥[𝑛] compuesta de una distribución
1 1
aleatoria uniforme 𝑥 ∈ [− 2 , 2] para valores de 0 ≤ 𝑛 ≤ 40 y cero para otros casos.
6
LABORATORIO DE SEÑALES Y SISTEMAS
Figura 3.7 Señal discreta y señal filtrada de 3 y 7 puntos del filtro promedio.
𝑦 = 𝑓𝑖𝑙𝑡𝑒𝑟(𝑏, 𝑎, 𝑥), filtra los datos de entrada 𝑥 usando una función de transferencia
racional definida por los coeficientes del numerador y denominador 𝑏 y 𝑎.
Por ejemplo:
7
LABORATORIO DE SEÑALES Y SISTEMAS
5. Genere la señal discreta 𝑦[𝑛] tomando una muestra cada 90 datos de la señal
𝑦(𝑡).
𝑦[𝑛] = ∑ 𝑏𝑘 𝑥[𝑛 − 𝑘]
𝑘=0
7. Mostrar las siguientes gráficas como se observa en las Figuras 3.8 y 3.9, para las
longitudes del filtro 𝐿 = 6 y 𝐿 = 11
8
LABORATORIO DE SEÑALES Y SISTEMAS
9
LABORATORIO DE SEÑALES Y SISTEMAS
Para poder determinar los índices de las componentes en tiempo discreto de la salida, se debe
recurrir a la siguiente función conv_m creada en Matlab que luego será llamada en su programa
principal para realizar la operación de convolución de señales discretas.
PREGUNTAS A CONTESTAR:
1. Dado los coeficientes del filtro 𝑏𝑘 = {2 , −1, −1, 3} , encuentre 𝑦[𝑛] en función
de 𝑥[𝑛]
2. Determine y grafique la respuesta impulso del filtro
10
4. El filtro FIR está dado por los coeficientes {𝑏𝑘 } = {1,0,2,0, −1,0,2}.
a) Si la señal de entrada al filtro es 𝑥[𝑛] = −7𝛿[𝑛 − 3], determine la salida
𝑦[𝑛], y realice un gráfico de la señal de salida.
5. Si los coeficientes del filtro FIR son {𝑏𝑘 } = {0,1,0,1,1}:
a) Realice un gráfico de la señal de salida cuando la señal de entrada es 𝑥[𝑛] =
0, 𝑛 < 0
𝜇[𝑛] = {
1, 𝑛 ≥ 0
b) Determine la longitud y el orden del filtro.
BIBLIOGRAFÍA:
10