DEPARTAMENTO DE SEÑALES, SISTEMAS Y RADIOCOMUNICACIONES
ESCUELA TÉCNICA SUPERIOR DE INGENIEROS DE TELECOMUNICACIÓN
UNIVERSIDAD POLITÉCNICA DE MADRID
LABORATORIO DE SEÑALES Y COMUNICACIONES
PRACTICA PRACTICA 3: 3: FILTRADO FILTRADO DE DE SEÑALES SEÑALES
1
LSCM-3
OBJETIVOS DE LA PRÁCTICA
• Revisar la convolución y su aplicación a sistemas lineales.
• Observar los efectos de filtrado de una señal sobre la señal de salida.
• Destacar las analogías y diferencias entre sistemas
lineales en tiempo continuo y en tiempo discreto, con especial interés en los filtros.
2
LSCM-3
Página 1
ÍNDICE
• Sistemas Discretos • Caracterización de entrada a salida (E/S) • Convolución discreta • Convolución discreta mediante FFT
• Filtros Discretos • • • • •
Caracterización de un filtro discreto Representación en MATLAB Diagrama de polos y ceros Respuesta al impulso y Respuesta en frecuencia Diseño de filtros discretos
• Filtros Analógicos • Caracterización • Analogías entre filtros analógicos y filtros discretos. • Función de transferencia
• Introducción a los ejercicios de la práctica • Utilización de fdatool • Efectos de la simulación
3
LSCM-3
SISTEMAS DISCRETOS Caracterización de sistemas de entrada a salida (e/s) Mientras que en un sistema en tiempo continuo la relación e/s viene dada por una Convolución en tiempo continuo: ∞
∫ h(t - τ ) ⋅ x( τ )d τ
y(t) = h(t)* x(t) =
-∞
En un sistema discreto la relación e/s viene dada por una Convolución de secuencias:
y(n) = h(n) ∗ x(n) =
∞
∑
h(n - k) ⋅ x(k)
k=-∞
x(n)
h(n)
y(n)
δ (n) Impulso
y(n) = h(n) * x(n)
h(n)
h(n) Respuesta al impulso
h(n) = h(n) * δ (n)
4
LSCM-3
Página 2
SISTEMAS DISCRETOS Dominio Z El dominio transformado en los sistemas discretos es el Dominio Z: ∞
H(z) =
∑
h(n) ⋅ z - n
k= -∞
Por la propiedad de la convolución, la relación e/s se transforma en un producto en el dominio transformado:
X(z)
H(z)
Y(z)
Y(z) = H(z) ⋅ X(z)
Análogamente, en los sistemas continuos el dominio transformado es el Dominio de Laplace, y se cumple:
Y(s) = H(s) ⋅ X(s) 5
LSCM-3
Convolución discreta Longitud de la convolución Si h(n) longitud N, x(n) longitud M,
⇒ h(n)*x(n) longitud N+M−1
Ejemplo: Sea h(n)= x(n)= 1, 0≤n≤3; h(n)= x(n) = 0 (resto) Entonces h(n)*x(n) es de longitud 7 (ver Fig.)
6
LSCM-3
Página 3
Convolución discreta Si h(n) ≠ 0, N1 ≤ n≤N2 (longitud N2-N1+1) x(n) ≠ 0, M1≤ n ≤M2 (longitud M2-M1+1), entonces y(n)=h(n)*x(n)≠ ≠0, N1+M1≤ n≤ N2+M2 (long. N2+M2-N1-M1+1)
• Efectos de la convolución:
• Alarga la duración de las señales (desparrama la señal) • Señal resultante más suave (más lisa, más “filtrada”) • Convoluciones reiteradas: señal gaussiana
7
LSCM-3
Convolución discreta mediante FFT Si h(n) tiene sólo N valores no nulos (longitud N) se define su DFT como: N -1
~ H ( k ) = H(z) z =e
j
2πk N
= ∑ h(n) ⋅ e- j
2 πkn N
; k = 0,1,..., N - 1
n=0
que también serán N valores, pero en el dominio transformado. Su inversa es (reconstrucción de h(n) a partir de los N valores de la DFT):
h(n) =
1 N
N -1
~
∑ H(k) ⋅ e
j
2πkn N
; n = 0,1,..., N - 1
k =0
• El Algoritmo FFT (Fast Fourier Transform) es simplemente un algoritmo ágil para el cálculo de la DFT de una secuencia. Simbólicamente:
~ H(k) = FFT[ h(n) ] ; k = 0,1,..., N − 1 ~ h(n) = FFT -1 [ H(k) ] ; n = 0,1,..., N - 1
8
LSCM-3
Página 4
Convolución discreta mediante FFT Puede obtenerse la salida de un sistema mediante FFTs:
~ ~ ~ Y (k) = H(k) ⋅ X(k) ; k = 0,1,..., N - 1 y(n) = FFT -1 [ FFT[h(n)] ⋅ FFT[x(n)] ]; n = 0,1,..., N - 1 pero hay que tener en cuenta que esta última expresión realiza una Convolución Circular, que sólo coincide con la Convolución lineal si no se producen solapamientos. Es decir, para que el resultado sea correcto todos los vectores que entran en las operaciones (h(n), x(n), y(n)) han de tener la misma longitud.
• Método a seguir: • A partir de las longitudes de h(n) y x(n), calcular el tamaño de su convolución lineal (Ny) • Rellenar con ceros hasta que long[h(n)] =long[x(n)] = Ny • Realizar la convolución mediante FFT
9
LSCM-3
FILTROS DISCRETOS Caracterización de un filtro discreto Un filtro queda caracterizado por su respuesta en frecuencia, que tiene un significado físico. • Obtención a partir de la transformada Z:
H (e
jΩ
) = H(z)
z =e
jΩ
=
∞
∑
h(n) ⋅ e - jΩ n
k=-∞
|H(ejΩ)|
arg{H(ejΩ)}
Respuesta en amplitud
Respuesta en fase
• Nomenclatura: |H(ejΩ)| ó |H(Ω)| • La variable es la pulsación Ω y su margen de valores distintos es de 0 a π, debido a que un sistema discreto está asociado a la existencia de un muestreo.
• Retardo de grupo: τ ( Ω ) = -
d [argH( e jΩ )] dΩ
10
LSCM-3
Página 5
Caracterización de un filtro discreto • Respuesta en amplitud: indica qué componentes de frecuencia son atenuadas por el filtro
• A partir de |H(ejΩ)| puede “estimarse” el diagrama de polos y ceros del filtro, y viceversa
• Respuesta de fase: indica el desfase que sufren las distintas componentes de frecuencia cuando atraviesan el filtro
• En los ceros de la respuesta en frecuencia cambia bruscamente (saltos de fase de 180º ó π) • Los filtros que tienen una respuesta de fase lineal, no producen distorsión sobre la señal de entrada
• Retardo de grupo: indica el retardo (en muestras o unidades de
tiempo) que sufren las distintas componentes de frecuencia cuando atraviesan el filtro • Un retardo de grupo no constante, produce una distorsión sobre las señales • Ejemplo: cadena de filtros paso-todo
11
LSCM-3
Representación en MATLAB • En el paso de continuo a discreto la frecuencia máxima de la señal muestreada es la mitad de la frecuencia de muestreo: • ½ pulsación de muestreo: ωs /2
Ω=π
• ½ frecuencia de muestreo: fs /2
frecuencia normalizada: f=1
|H(ejΩ)| arg{H(ejΩ)}
Retardo de grupo: k(Ω) = - d(arg{H(ejΩ)})/dΩ
12
LSCM-3
Página 6
Diagrama de polos-ceros: Estabilidad • Supuesto filtro causal, es decir, h(n)=0, n<0; entonces: ∞
filtro estable ⇔ ∑ | h(n) | < ∞ n=0
• En el plano Z:
filtro estable ⇔ polos de H(z) en |z| < 1
13
LSCM-3
Respuesta al impulso del filtro
• Tomemos como ejemplo un filtro paso bajo de orden 1: • • • •
h[n]=anu[n] 1 z H (z ) = = , z >a Un único polo en z=a (eje real) −1 z−a 1 − az Estable si |a|<1 Si |a| disminuye => la respuesta al impulso decrece rápidamente, la respuesta al escalón se estabiliza rápidamente • Si |a|→ →1 => la respuesta al impulso decrece lentamente y la respuesta al escalón también va llegando lentamente a su máximo.
• Con sistemas de orden superior (mayor número de
polos), el tiempo que tarda en decrecer la respuesta al impulso depende de la posición de los mismos, teniendo mayor influencia los más cercanos a |z|=1 • Los sistemas de orden superior pueden descomponerse en sistemas de orden 1 o 2.
14
LSCM-3
Página 7
Influencia de los polos en la Respuesta al impulso • Polo próximo a |z|=1 (|a|→ →1) => Transitorio largo • Polo lejos de |z|=1 (próximo a |z|=0) => Transitorio corto Im
v1 a
h [n ]
1
1 − a n+1 ⋅ u[n] 1− a
h [n ]
1
0.6
0 .6
a = 0 .7 5
0.4
0 .4
0.2
0 .2 0
0
5
10
15
20
25
30
35
40
45
50
s [n ]
4
a = 0 .5
0
5
10
15
20
25
30
35
40
45
50
30
35
40
45
50
s [n ]
2 1 .5
3
1
2
0 .5
1 0
[]
0 .8
0.8
0
[]
Respuesta al escalón: s n =
Re
1
[]
Respuesta al impulso: h n = a n ⋅ u n
Ω
v2
filtro paso bajo de orden 1
0
0
5
10
15
20
25
30
35
40
45
50
0
5
10
15
20
25
n
n
15
LSCM-3
Influencia de los polos en la Respuesta en frecuencia filtro paso bajo de orden 1
( )
H e jΩ
1 e jΩ = = 1 − ae − j Ω e jΩ − a
→
( )
H e jΩ =
v2
=
1 e −a jΩ
2 0 ·lo g 1 0 (a b s (H (Ω )))
0
Im
v1
-2
|a | d is m in u y e
a =0.05 a =0.75 a =0.5
-4
v1
-8
dB
v2 a
-6
Ω 1
Re
-1 0 -1 2 -1 4 -1 6 -1 8 -2 0
0
0.5
1
1.5
2
2.5
3
Ω
• Polo próximo a |z|=1 (|a|→ →1) => Respuesta en frecuencia “abrupta” • Polo lejos de |z|=1 (próximo a |z|=0) => Respuesta en frecuencia “suave” 16
LSCM-3
Página 8
Diseño de filtros discretos
• El dato es la “máscara de transferencia” para el módulo de la respuesta en frecuencia |H(ejΩ)|
Respuesta frecuencial de filtro discreto paso bajo
Por lo dicho anteriormente, filtros con “máscaras” muy abruptas ⇒ órdenes elevados y polos próximosz=1 ⇒ gran duración del transitorio 17
LSCM-3
Diseño de filtros discretos
• La respuesta en frecuencia también puede representarse mediante la Función de Atenuación (inversa de la ganancia) 1 α ( Ω ) = 20 ⋅ log = - 20 ⋅ log | H( e jΩ ) | jΩ | H( e ) |
αc = atenuación máxima en la banda de paso ó rizado (valor típico: αc= 0.5 dB). αa = atenuación mínima en la banda atenuada (valor típico: αa = 60 dB).
18
LSCM-3
Página 9
Diseño de filtros discretos Filtro paso-bajo ideal h[n ] =
Ωc Ω sinc c n π π ωc π
1 Ω ≤ Ω c H e jΩ = 0 Ω c < Ω ≤ π
( )
H(ejΩ)
… -π
… -Ωc
Ωc
π
π ωc
19
LSCM-3
Diseño de filtros discretos Filtros de Butterworth, Chebychef y Elíptico. • Filtros de Butterworth: [b,a] = butter(orden,wn); • La respuesta en amplitud es monótona en ambas bandas • Banda de transición muy ancha • Transitorio suave y corto
• Filtros de Chebychef: [b,a] = cheby1(orden,rizado,wn); • La respuesta en amplitud tiene un rizado “controlable” en una de las bandas (la de paso en el Chebychef directo o tipo 1, la atenuada en el inverso o tipo 2) y es monótona en el resto • Banda de transición estrecha • Transitorio largo
• Filtros elípticos (o de Cauer):
[b,a]=ellip(orden,rizado,atenuacion,wn); • La respuesta en amplitud tiene un rizado máximo en ambas bandas • Banda de transición muy estrecha • Transitorio muy largo con oscilaciones
20
LSCM-3
Página 10
Diseño de filtros discretos Filtros de Butterworth, Chebychef y Elíptico. Diagramas de polos-ceros Filtro de Butterworth
0.8 0.6
Butterworth
0.6
Chebychev
0.4
directo
0.8
0.4
rt a P y r a ni g a m I
Filtro de Che byche f
1
1
0.2
rt a P y r a ni g a m I
4 0 -0.2
0.2 4 0 -0.2 -0.4
-0.4
-0.6
-0.6
Filtro e líptico
-0.8
-0.8
1
-1 -1
-0.5
0 Re al P art
0.5 0.8
0.6
-1
Elíptico
-1
1
-0.5
0 Re al P art
0.5
1
0.4
rt a P y r a ni g a m I
0.2 0 -0.2 -0.4 -0.6 -0.8 -1 -1
-0.5
0 Real P art
21
0.5
1
LSCM-3
Diseño de filtros discretos Filtros de Butterworth, Chebychef y Elíptico. Módulo de la Respuesta en Frecuencia 10
Datos de ejemplo: wn=0.2, αpaso=1.5 dB, αaten=40 dB Orden: 4
Amplitud: 20*lo g 10 (abs (H))
-10
2
-20
-30
-40
butte r c he by1 e llip
-50
-60
1
)) H ( s b a( 0 1 g ol * 0 2 : d ut i pl m A
butte r che by1 ellip
0
-70
0
-80 -1
0
0.5
1
1.5
2
2.5
3
ω
-2
-3
-4 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
ω
22
LSCM-3
Página 11
Diseño de filtros discretos Filtros de Butterworth, Chebychef y Elíptico. Comparación de características Butterworth
Chebychef
Elíptico
Anchura de la banda de transición para un orden dado
Alta
Media
Baja
☺
Regularidad del retardo de grupo
☺
Rizado de amplitud en las bandas
No
En banda de paso (tipo 1)
En ambas bandas
Deformaciones en régimen transitorio
☺
Orden para selectividad determinada
☺
No tiene
No tiene
En banda atenuada
Ceros de transmisión
23
LSCM-3
FILTROS ANALÓGICOS Caracterización
• Sistema analógico ⇒ Convolución en tiempo continuo ∞
y (t ) = x(t ) * h(t ) = ∫ h(t − τ ) x(τ )dτ ⇒ Y ( s ) = H ( s ) X ( s ) −∞
∞
• Función de red (plano s): H ( s ) = ∫ h(t )e − st dt −∞
• Comportamiento en frecuencia: s=jw (eje imaginario), 0
• Filtro estable: polos de H(s) en Re[s]<0, ∫ h ( t ) dt −∞
<0
• Máscara |H(jw)|: se define para - ∞
LSCM-3
Página 12
FILTROS ANALÓGICOS Analogías entre filtros analógicos y discretos s=jω
Im
v1 a
Ω
v2 1
v2
v1
a
Re
FILTRO DISCRETO
ω Re
FILTRO ANALÓGICO
25
LSCM-3
Filtros analógicos: Función de Transferencia Ejemplo:
|H(s)| a partir del diagrama de polos y ceros
Filtro elíptico paso bajo de orden 4 26
LSCM-3
Página 13
Filtros analógicos: Función de Transferencia (II)
27
LSCM-3
Filtros analógicos: Función de Transferencia (III) Deducción del Módulo de la Función de transferencia a partir de |H(s)|
H ( jω ) = H(s) s = jω
28
LSCM-3
Página 14
Influencia de la posición de los polos
• Propiedades reconocibles examinando las posiciones de los polos en los filtros paso bajo
• A mayor orden, mayor número de polos, y por tanto banda de transisión con caída más abrupta. • La proximidad de los polos al eje jw hace dismunir la velocidad con que se atenúa la respuesta al impulso (tarda mucho tiempo en atenuarse, es decir, el transitorio del filtro es largo en el tiempo). • La proximidad de los polos al eje real hace dismunir la frecuencia de la oscilación de la respuesta al impulso (oscilación lenta).
EXPLICACIÓN: Si se desarrolla H(s) en torno a los polos: H(s) = A1/(s-s1) +A2(s-s2)+ A3/(s-s3)+... Como F (s + α )
L−1
→
e
-α t
f(t)
K s
L -1
→
K u (t)
resulta: h(t) = [A1exp(s1t)+ A2exp(s2t)+ A3exp(s3t)+ ...]u(t)
29
LSCM-3
Influencia de la posición de los polos Cada polo si influye en con su parte real e imaginaria en la rápidez con que oscila y con la que se atenúa la respuesta al impulso: st
ei =e
(Re[ si ] t + j Im[ si ] t )
=
= e Re[ si ]t (cos(Im[ si ]t ) + jsen (Im[ si ]t )) Término que se anula en la expresión de h(t) por que los polos de H(s) aparecen por pares conjugados La parte real del polo es negativa para un filtro estable, por eso la exponencial atenúa
30
LSCM-3
Página 15
EJERCICIOS (I) Ejercicio 3.1: p31a, p31b. Convolución de señales - Convolución lineal y mediante FFT - Convoluciones reiteradas de pulso con vector rectangular - Funciones de Matlab: conv, fft, ifft; whitebg
Ejercicio 3.2: p32. Resp. en frecuencia de filtros discretos - Entrada: datos del filtro (n, wc , αc , αa) - Resultados: estabilidad, diagrama polos-zero, rizado, ... - Funciones de Matlab: abs, arg, grpdelay, zplane, freqz - Diseño de filtros: butter, cheby1, cheby2, ellip - Herramienta de Matlab: fdatool - Signal Processing (y Filter Design) Toolbox (filtros, transformadas, enventanado, ...)
31
LSCM-3
EJERCICIOS (II)
Interfaz gráfica de fdatool
32
LSCM-3
Página 16
EJERCICIOS (III) Ejercicio 3.3: p33.p. Respuesta de un filtro a diferentes entradas - Datos del filtro: n, αc , αa ; wc dependerá de la señal de entrada - Resultados: señal filtrada, estudio espectros - Funciones de Matlab: filter, freqz, fftshift Limitaciones: - Intervalo temporal finito: ventana de observación. Debe ser mayor que el transitorio del filtro. N > longitud de h(n) - Ruido de cálculo.
33
LSCM-3
EJERCICIOS (IV) Ejercicio 3.4: p34. Resp. en frecuencia de filtros analógicos - Entrada: datos del filtro (n, wc , αc , αa) - Resultados: estabilidad, diagrama polos-zero, rizado, respuesta al impulso, ... - Funciones de Matlab: zplane, freqs, impulse
34
LSCM-3
Página 17