Tema 3: Filtros Digitales: (Etsit-Upm) Filtros TDSÑ (95000028) 1 / 67
Tema 3: Filtros Digitales: (Etsit-Upm) Filtros TDSÑ (95000028) 1 / 67
Tema 3: Filtros Digitales: (Etsit-Upm) Filtros TDSÑ (95000028) 1 / 67
3.1. Introducción
3.2. Análisis I: Definiciones y generalidades
Función de transferencia y diagrama de polos y ceros
Respuesta al impulso
Respuesta en frecuencia
Un ejemplo
3.3. Análisis II: Filtros notables
Introducción
Filtros paso todo
Filtros de fase mínima
Descomposición y Compensación
Filtros de fase lineal
3.4. Diseño
Introducción
Diseño de filtros IIR
Introducción
Filtros clásicos continuos
Invariancia al impulso
Transformación bilineal
Métodos algoritmos
Transformaciones frecuenciales
Diseño de filtros FIR
Método de la ventana
Otros métodos
3.5. Implementación
Introducción
3.1. Introducción
Definición
k=0
k=0
reposo inicial
Observaciones
a0 6= 0 y es habitual normalizar los coeficientes dividiéndolos por a0 de modo que a0 = 1
normalmente N > M pero no es imprescindible
el orden de la ecuación es N , el orden del filtro es N si N 6= 0 o M si N = 0
una LCCDE con reposo inicial define un sistema LTI causal, no necesariamente estable
la causalidad permite calcular la ecuación como una recurrencia:
P
M N
y[n] = a10 k=0 bk x[n − k] − k=1 ak y[n − k]
P
si ∀k ak = 0 la LCCDE es no recursiva
(ETSIT-UPM) Filtros TDSÑ (95000028) 4 / 67
Introducción Formas de representación
Formas de representación
Formas de representación
dominio del tiempo:
PN PM
ecuación en diferencias: k=0 ak y[n − k] = k=0 bk x[n − k]
respuesta al impulso: h[n]
dominio de la frecuencia (extendido):
función de transferencia (system function): H(z)
diagrama de polos y ceros
respuesta en frecuencia: H(ω)
dominio “algorítmico”:
flujograma(s): estructuras de cálculo
espacio de estados: estados + matrices de entrada, salida y transición
Forma general
aplicando transformada z a la LCCDE y teniendo en cuenta que s[n − k] ↔ z −k S(z)
PN −k PM
k=0 ak z Y (z) = k=0 bk z −k X (z)
PM −k
Y (z) bk z
= H(z) = Pk=0 N
X (z) k=0 ak z
−k
Observaciones
función racional H(z) = N (z)/D(z) = B(z)/A(z), no necesariamente propia:
1−z −3
j 2π -j 2π
(1−z −1 )(1−e 3 z −1 )(1−e 3 z −1 ) −1 −2
H(z) = 1−z −1 = (1−z −1 )
= 1 + z + z
si H(z) es propia: D(z) 6= 1 ↔ recursiva ↔ IIR ↔ ∃pi |pi 6= 0
QM −1
b0 k=1 (1 − ci z )
factorización: H(z) = QN
a0 k=1 (1 − pi z
−1 )
ceros: ci , polos: pi
Respuesta al impulso
Forma general
aplicando DTFT a la LCCDE y teniendo en cuenta que s[n − k] ↔ e-jωk S(ω)
Y (ω)
PM
b e -jωk
k
= H(ω) = Pk=0
X (ω) N -jωk
k=0 ak e
Definiciones (I)
respuesta en frecuencia: H(ω) = |H(ω)| e j∠H(ω)
respuesta (o distorsión) en amplitud o ganancia: |H(ω)| o 20 log10 (|H(ω)|) (en decibelios)
respuesta (o distorsión) en fase o desplazamiento de fase: ∠H(ω) (en radianes o grados)
filtrado: Y (ω) = H(ω)X (ω) →|Y (ω)| = |H(ω)| |X (ω)| , ∠Y (ω) = ∠H(ω) + ∠X (ω)
Ejemplo
x[n] = sin(0.1πn) + sin(0.3πn) + sin(0.5πn)
1/3−1/2z −2
H(z) = −1/2+1/3z −2
, |H(ω)| = 1, fase no lineal
0 0
−4
−2
−2
−6 ω/π n n
0.0 0.2 0.4 0.6 0.8 60 63 66 69 72 75 78 81 84 87 90 93 96 99 60 63 66 69 72 75 78 81 84 87 90 93 96 99
Definiciones (y II)
retardo de fase: τph (ω) , − ω1 ∠H(ω)
d
retardo de grupo: τgr (ω) , − dω ∠H(ω)
si la fase es lineal, τgr (ω) = cte
refleja la no linealidad de la fase
v1 − v2 v3
H(ω) = =
= φ3 v1 v1
|v3 |
c0 |H(ω)| = = |v3 |
|v1 |
∠H(ω) = ∠ (v3 ) − ∠ (v1 ) = φ3 − ω
v3 φ3 = ∠H(0)
extensible a cualquier número de factores
v2
v1
θ
ω <
ecuación en diferencias:
y[n] = (1 − α)x[n] + αy[n − 1], α ∈ R, α < 1
función del sistema:
1−α
H(z) = , |z| > α
1 − αz −1
respuesta al impulso:
h[n] = (1 − α)αn u[n]
respuesta en frecuencia (magnitud):
1−α
|H(ω)| = p
1 − 2α cos(ω) + α2
0.5 0.15 −5
−0.5
0.05
−15
𝜔
−1.0
0.00
𝑛 𝜋
−1.5 −1.0 −0.5 0.0 0.5 1.0 1.5 −20
0 5 10 15 20 0.0 0.2 0.4 0.6 0.8 1.0
Introducción (I)
Problema 1
sea un sistema distorsionador Hd (z) causal y estable
x[n] y[n]
Hd (z)
¿se puede eliminar la distorsión con otro sistema Hc (z) en cascada causal y estable?
x[n] y[n] xc [n]
Hd (z) Hc (z)
1
el compensador ideal es el sistema inverso: Hc (z) = , pero puede ser inestable
Hd (z)
en general no existe Hc (z) causal y estable tal que xc [n] = x[n] → la compensación no
puede ser perfecta
el objetivo es encontrar Hc (z) que permita recuperar parte de la distorsión espectral
habitual: recuperar la distorsión de amplitud sacrificando la fase
raro: recuperar la distorsión de fase sacrificando la amplitud
es necesario definir dos tipos de filtro: paso todo y de fase mínima
Introducción (y II)
Ejemplo
distorsión producidapor el sistema causal y estable
1 −1 −1 3 −1
1 + 2z 1 + 2z
1 − 2z
Hd (z) =
(1 − 0.64z −2 )
−2
1 − 0.64z
sistema inverso Hc (z) = causal, pero no estable
1 + 2z
1 −1
(1 − 2z ) 1 + 2 z
3 −1
−1
1.0 1.0
0.5 0.5
Parte imaginaria
Parte imaginaria
0.0 0.0
−0.5 −0.5
−1.0 −1.0
−1.5 −1.0 −0.5 0.0 0.5 1.0 1.5 2.0 −1.5 −1.0 −0.5 0.0 0.5 1.0 1.5 2.0
Parte real Parte real
Problema 2
se desea procesar una señal con un sistema H(z) que no modifique la forma de onda
si se desea causalidad es necesario definir un tipo de filtro: de fase lineal
Definición
sistema racional causal y estable con ganancia unidad ∀ω
Orden 1
polo y cero en posiciones recíproco–conjugadas: zp = a → zc = 1/a∗
z −1 − a∗ ∗
1 − a1∗ z −1
Hap (z) = = −a con |a| < 1 y ROC = {z | |z| > |a|}
1 − az −1 1 − az −1
e-jω − a∗ -
∗ jω
jω 1 − a e
Hap (ω) = =e → |Hap (ω)| =1
1 − ae-jω 1 − ae-jω
∠Hap (ω) monótona decreciente en [0, π] → τgr (ω) > 0 en [0, π]
z −1 − 3 e jπ/6
Hap (z) = 1− 3
4
e-jπ/6 z −1
4
∠𝐻𝑎𝑝 (𝑧) 𝜏𝑔𝑟 (𝜔)
1.0 3.5
1
3.0
0.5
Parte imaginaria
0
2.5
0.0 2.0
rad
rad
−1
1.5
−0.5 −2
1.0
−3 0.5
−1.0
0.0
−1.0 −0.5 0.0 0.5 1.0 0.0 0.5 1.0 1.5 2.0 2.5 3.0 0.0 0.5 1.0 1.5 2.0 2.5 3.0
Parte real 𝜔 𝜔
Orden N
N filtros de orden 1 en cascada
NY
−1
z −1 − ak∗
NY
−1 1 − a1∗ z −1
∗ k
Hap (z) = = (−ak )
1 − ak z −1 1 − ak z −1
k=0 k=0
|Hap (ω)| =1
∠Hap (ω) monótona decreciente en [0, π] → τgr (ω) > 0 en [0, π]
15.0
0.5 −6
12.5
0.0
rad
rad
−8
10.0
−0.5 −10
7.5
−1.0 −12
5.0
−1.5 −14
2.5
−16
−2.0
−2 −1 0 1 2 0.0 0.5 1.0 1.5 2.0 2.5 3.0 0.0 0.5 1.0 1.5 2.0 2.5 3.0
Parte real 𝜔 𝜔
Definición
sistema racional cuyos polos y ceros están dentro del círculo unidad
Consecuencias
un sistema de fase mínima causal es estable y viceversa
el sistema inverso de un sistema de fase mínima es un sistema de fase mínima
un sistema de fase mínima causal y estable puede compensarse exactamente con un
sistema inverso causal y estable
Propiedades
sea H = {Hi (z)} el conjunto de todos los sistemas estables con la misma respuesta en
amplitud y Hmin (z) ∈ H el correspondiente filtro de fase mínima. Se cumple:
mínimo retardo de fase: τph (H1 (ω)) < τph (H2 (ω)) < · · · < τph (Hmin (ω))
mínimo retardo de grupo: τgr (H1 (ω)) < τgr (H2 (ω)) < · · · < τgr (Hmin (ω))
mínimo retardo de energía: Ei [n] = nk=0 |h[k]|2 → E1 [n] < E2 [n] < · · · < Emin [n]
P
Descomposición
Teorema de descomposición
sea H(z) causal, estable, de fase no mínima y sin ceros en la circunferencia unidad
el sistema puede descomponerse como la combinación en serie de un sistema de fase
mínima Hmin (z) y un sistema paso todo Hap (z): H(z) = Hmin (z)Hap (z) = Hap (z)Hmin (z)
Demostración (y procedimiento)
H(z) no de fase mínima → H(z) = H1 (z)H2 (z) con
H1 (z) de fase mínima
H2 (z) con L ceros zk = 1/ak∗ fuera del círculo unidad
procedimiento:
1−ak z −1
1 para cada cero zk = 1/ak∗ añadir a H2 (z) polo y cero en zi = ak (=reflejar el cero): 1−ak z −1
−1 ∗
z −ak
2 k (z) =
separar factores paso todo (cero en zk y polo en zi ): Hap 1−ak z −1
k (z) = −1/a ∗
separar factores de fase mínima (ceros en zi ): Hmin a z −1
3
k 1 − k
QL−1
Hmin (z) = H1 (z) k=0 −1/ak∗ 1 − ak z −1
4
QL−1 z −1 −ak∗
5 Hap (z) = k=0 1−ak z −1
Ejemplo de descomposición
1+ 12 z −1 1−2z −1 1+ 32 z −1
Hd (z) = (1−0.64z −2 )
Compensación
Compensación
sea Hd (z) = Hmin (z)Hap (z) un sistema distorsionador
el compensador de ganancia es: Hc (z) = 1/Hmin (z) causal, estable y de fase mínima
Hd (z)Hc (z) = Hmin (z)Hap (z)/Hmin (z) = Hap (z)
la distorsión residual Hap (z) solo afecta a la fase
1+ 12 z −1 1−2z −1 1+ 32 z −1
Hd (z) = (1−0.64z −2 )
20 20 log10 (|𝐻𝑑 (𝜔)|)
20 log10 (|𝐻𝑐 (𝜔)|)
−1 −1 3 z −1
1+ 1 z 1−2z 1+ 15
20 log10 (|𝐻𝑟 (𝜔)|)
Hd (z) = 2
1−0.64z −2
2
10
5
−1 1 z −1 2 z −1
1+ 1 z 1− 1+ 0
−10
−2
1−0.64z
Hc (z) = Hmin1(z) = − 13 1 −1 1 −1 2 −1
−15
1+ 2 z 1− 2 z 1+ 3 z −20
1−2z −1 1+ 3 z −1
distorsión residual Hr (z) = Hd (z)Hc (z) = − 3 1
= Hap (z)
2
1− 1
2
z −1 1+ 2 z −1
3
(ETSIT-UPM) Filtros TDSÑ (95000028) 23 / 67
Análisis II: Filtros notables Filtros de fase lineal
Definiciones
Retardo ideal
Hid (ω) = e-jωα con α ∈ R → |Hid (ω)| = 1, ∠Hid (ω) = −ωα y τgr [Hid (ω)] = α
sin(π(n−α))
hid [n] = π(n−α)
Tipo I
M par, simetría par h[n] = h[M − n]
-jωM/2 = A (ω)e-jωM/2
P
M/2
H(ω) = k=0 a[k] cos(ωk) e I
−0.5
−0.2
𝑛 −1.0
0 2 4 6 8 10 12 −1 0 1 2
−60 −15
−80
𝜔 −20 𝜔
0 π/4 π/2 3π/4 π 0 π/4 π/2 3π/4 π
Tipo II
M impar, simetría par h[n] = h[M − n]
b[k] cos(ω(k − 1/2)) e-jωM/2 = AII (ω)e-jωM/2
P
(M+1)/2
H(ω) = k=1
cero en z = −1
−0.5
−0.2
𝑛 −1.0
0 2 4 6 8 10 12 −1 0 1 2
−60 −15
−80
𝜔 −20 𝜔
0 π/4 π/2 3π/4 π 0 π/4 π/2 3π/4 π
Tipo III
M par, simetría impar h[n] = −h[M − n]
-jωM/2+jπ/2 = A (ω)e-jωM/2+jπ/2
P
M/2
H(ω) = k=1 c[k] sin(ωk) e III
ceros en z = 1 y z = −1
0.2 1
12
0.0 0
−0.2 −1
𝑛
0 2 4 6 8 10 12 −1 0 1
−60 −15
−80
𝜔 −20 𝜔
0 π/4 π/2 3π/4 π 0 π/4 π/2 3π/4 π
Tipo IV
M impar, simetría impar h[n] = −h[M − n]
d [k] sin(ω(k − 1/2)) e-jωM/2+jπ/2 = AIV (ω)e-jωM/2+jπ/2
P
(M+1)/2
H(ω) = k=1
cero en z = 1
0.2 1
13
0.0 0
−0.2 −1
𝑛
0 2 4 6 8 10 12 −1 0 1
−60 −15
−80
𝜔 −20 𝜔
0 π/4 π/2 3π/4 π 0 π/4 π/2 3π/4 π
Diseño
3.4. Diseño
Generalidades
Introducción
sistema LTI causal descrito por LCCDE
casi siempre interesa que sea estable
respuesta en frecuencia no necesariamente constante por partes
desarrollo basado en filtro paso bajo
transformaciones, por ejemplo: H(z) → HR (z) = H(−z) → HR (ω) = H(ω − π)
en algunos casos mucha matemática pero oculta por los programas de diseño
Especificaciones (I)
Esquema de tolerancias
los filtros ideales no son realizables: Hi (ω) = e-jωn0 , |ω| ≤ ωc ↔ hi [n] = sin(ωc (n−n0 ))
π(n−n0 )
se definen bandas de paso, de transición y rechazada (atenuada, eliminada)
se definen en el dominio de la frecuencia: |H(ω)|
coeficientes reales → solo se especifican las frecuencias positivas
fase → la “mejor” posible
se define un esquema o máscara de tolerancias en cada banda
Esquema genérico
Especificaciones (y II)
Diseño
fases:
1 especificación
2 aproximación racional (IIR) o polinómica (FIR) que cumpla con la especificación
3 implementación
4 evaluación
5 ¿rediseño? ir a 2.
6 solución final
técnicas:
analíticas: formulación cerrada
algorítmicas: optimización iterativa
Introducción
Un método malo
cambiar derivadas por diferencias :
dk yc (t)
PN PM dk xc (t)
ecuación diferencial: k=0 ck
dt k
= d
k=0 k dt k
dyc (t) y[n+1]−y[n]
yc (t) → y[n], dt = ∆(1) [y[n]] = T
, ∆(k) = ∆(1) [∆(k−1) ]
t=nT
ecuación en diferencias: Nk=0 ck ∆(k) [y[n]] = M k=0 dk ∆
(k) [x[n]]
P P
mapeo:
dyc (t) y[n+1]−y[n]
h i h i
z−1
L dt
= sYc (s) → Z T
= T
Y (z) → H(z) = Hc (s)|s=(z−1)/T
s = (z − 1)/T → z = 1 + sT o jΩ → z = 1 + jΩT línea vertical en z ⇒ ¡¡ mal ‼
solo útil en frecuencias bajas (alrededor de z = 1) y con periodos T muy pequeños
no preserva la estabilidad
la diferencia hacia atrás es también mala, pero sí preserva la estabilidad
(ETSIT-UPM) Filtros TDSÑ (95000028) 34 / 67
Diseño Diseño de filtros IIR
Butterworth
1
|H(Ω)|2 =
1 + (Ω/Ωc )2N
dos parámetros: orden N (∈ Z+ ) y frecuencia de corte Ωc
|H(Ω)| monótona decreciente ≈ −6N dB/octava ≈ −20N dB/decada
|H(Ω)| máximamente plana (2N − 1 derivadas nulas en Ω = 0 )
N controla la planicidad en la banda de paso y la anchura de la banda de transición
N polos en sk = (−1)1/2N (jΩc ) = Ωc e(jπ/2N )(2k+N −1) (círculo)
Chebyshev I
1
|H(Ω)|2 = , VN (x) = cos(N cos−1 x)
1+ ε2 VN2 (Ω/Ωc )
tres parámetros: orden N (∈ Z+ ), frecuencia de corte Ωc y ε
|H(Ω)| rizado igual en la banda de paso
|H(Ω)| muy plano Ω → ∞
ε controla el rizado en la banda de paso y N el ancho de la banda de transición
2N polos en una elipse
Chebyshev II
1
|H(Ω)|2 = −1 , V N (x) = cos(N cos−1
x)
1 + [ε VN (Ωs /Ω)]
2 2
Elíptico
1
|H(Ω)|2 = , UN (x) función elíptica Jacobiana
1 + ε2 UN2 (Ω)
cuatro parámetros: orden N (∈ Z+ ), frecuencia de corte Ωs , δp , δs
|H(Ω)| rizado igual en las bandas de paso y rechazada
δp controla el rizado en la banda de paso, δs el rizado en la banda rechazada y N el ancho
de la banda de transición
2N polos (en posiciones complicadas) y 2N ceros en el eje jΩ
Definición
muestreo de la respuesta al impulso continua:
P∞
h[n] = Td hc (nTd ) → H(ω) = k=−∞ Hc Tωd − 2πk
Td
Características
posible solapamiento (tolerable o no)
preserva la forma de hc (t) y de Hc (Ω) (excepto solapamiento)
no es un mapeo de planos, solo de polos (los ceros se mapean de forma más complicada)
ejes de frecuencias: jΩ ↔ |z| = 1, sí con solapamiento
polos:
PN Ak PN sk t
Hc (s) = k=1 s−sk → h c (t) = k=1 Ak e u(t) →
Ak Td
h[n] = Td Nk=1 Ak esk nTd u[n] → H(z) =
P
1−esk Td z −1
s = sk → z = esk Td , Ak → Td Ak
sk = σk + jΩk → zk = eσk Td e jΩk Td , |σk | < 0 ⇒ |zk | < 1 (preserva estabilidad)
Ejemplo
1
s + 14 Td 1 − e− 4 Td cos(Td )z −1
Hc (s) 1 2
→ Hd (z) =
1 − e 4 d e-jTd z −1 1 − e 4 d e jTd z −1
1T
1T
s+ 4 +1
− −
Especificaciones
filtro de tipo Butterworth
puntos singulares:
ωp = 0.1π, |H (ωp )| = 0.708
ωs = 0.38π, |H (ωs )| = 0.056
Ω = ω/Td
Td = 1
7−→
Invariancia al impulso (y V)
3. Conversión a discreto
en fracciones simples:
0.3142 −0.1571 + j0.0907 −0.1571 − j0.0907
Hc (s) = + +
(s + 0.1π) (s + 0.05π + j0.0866π) (s + 0.05π − j0.0866π)
Hc (s) → H(z) mediante mapeo de polos s = sk → z = esk Td , Ak → Td Ak :
0.3142 −0.1571 + j0.0907 −0.1571 − j0.0907
H(z) = + +
(1 − e−0.1π z −1 ) (1 − e−0.05π−j0.0866π z −1 ) (1 − e−0.05π+j0.0866π z −1 )
0.0125z −1 + 0.0101z −2
H(z) = · · · =
1 − 2.3768z −1 + 1.9329z −2 − 0.5335z −3
Definición
−1
1 + sTd /2 2 z −1 2 1−z
1
mapeo z = esTd ≈ ↔s= log(z) ≈ =
1 − sTd /2 Td Td z + 1 Td 1 + z −1
aproximación Padé de 1er orden obtenida mediante regla del trapecio
−1
2 1−z
H(z) = Hc (s)| 2 1−z −1 = Hc
s= T
d 1+z −1
Td 1 + z −1
Td irrelevante, puede ser Td = 1 o Td = 2
Ejes de frecuencia
2
1 − e -jω 2 ω
ΩT
d
z = e jω → s = = j tan = jΩ → ω = 2 arctan
Td 1 + e jω Td 2 2
jΩ ↔ |z| = 1 → todo el eje continuo en la circunferencia unidad, sin solapamiento
la transformación de frecuencias no es lineal
Polos
1 + σk Td /2 + jΩk Td /2
sk = σk + jΩk → zk = , σk < 0 → |zk | < 1
1 − σk Td /2 + jΩk Td /2
preserva la estabilidad
Consecuencias
el eje de amplitudes se mantiene pero el eje de frecuencias se distorsiona
una función lineal no se convierte en una función lineal
→ no se puede hacer un filtro diferenciador
una función constante a trozos sí se convierte en una función constante a trozos
→ sí se pueden usar para hacer filtros selectivos en frecuencia (incluso no ideales)
Fases de diseño
1 especificaciones:
1 en tiempo discreto: ωp , |H(ωp )| , ωs y |H(ωs )|
2 en tiempo continuo: frecuencias pre-distorsionadas Ωp y Ωs , mismas amplitudes
Figure 7.8 Frequency warping inherent in the bilinear transformation of a continuous-time lowpass filter into a
discrete-time lowpass filter. To achieve the desired discrete-time cutoff frequencies, the continuous-time cutoff
frequencies must be prewarped as indicated.
Discrete-Time Signal Processing, Third Edition Copyright ©2010, ©1999, ©1989 by Pearson Education, Inc.
Alan V. Oppenheim • Ronald W. Schafer All rights reserved.
Especificaciones
filtro de tipo Butterworth
puntos singulares:
ωp = 0.1π, |H (ωp )| = 0.708
ωs = 0.38π, |H (ωs )| = 0.056
= T2d tan ω
Ω 2
Td =1
7−→
3. Conversión a discreto
2 1−z −1
Hc (s) → H(z) mediante H(z) = Hc Td 1+z −1
:
0.1047
H(z) =
−1 2
1−z −1
2 1−z
1+z −1
+ 0.4576 2 1+z −1 + 0.1047
1 + 2z −1 + z −2
H(z) = · · · = 0.0209
1 − 1.5519z −1 + 0.6354z −2
1+sTd /2
mapeo de ceros y polos: z = 1−sTd /2
o calculando las raíces de H(z)
los ceros en z = −1 provienen de ceros en s = ∞
(ETSIT-UPM) Filtros TDSÑ (95000028) 49 / 67
Diseño Diseño de filtros IIR
Métodos algorítmicos
Definición
aproximación condicionada de Hd (ω) (respuesta deseada) por H(ω)
sea G(ω) = Hd (ω)/H(ω) ↔ g[n] = hd [n] ∗ hi [n], con DTFT {hi [n]} = 1/H(ω)
selección de ak para minimizar E = ∞ 2
P
k=0 (g[n] − δ[n])
sistema de ecuaciones lineales con solución sencilla (métodos de Prony, lpc…)
se usa habitualmente para modelado espectral
(ETSIT-UPM) Filtros TDSÑ (95000028) 50 / 67
Diseño Diseño de filtros IIR
Transformaciones frecuenciales
Método de la ventana
Procedimiento
1 especificaciones ideales en frecuencia: δ = min (δ1 , δ2 , δ3 ), ωc = (ωp + ωs )/2
2 respuesta ideal hd [n] infinita y no causal
3 seleccionar la ventana w[n]
4 calcular h0 [n] = w[n]hd [n]
5 añadir la fase retardando D = b(M + 1)/2c: h[n] = h0 [n − D]
Análisis en frecuencia
H(ω) = Hd (ω) ~2π W (ω), con W (ω) la DTFT de la ventana
sin(ω(M+1)/2)
ventana rectangular: w[n] = 1 (con fase nula) → V (ω) = sin(ω/2)
2π
el lóbulo principal produce la banda de transición: ∆ω = 2 M+1
los lóbulos secundarios producen el rizado de las bandas de paso y rechazada (≈ iguales)
(ETSIT-UPM) Filtros TDSÑ (95000028) 52 / 67
Diseño Diseño de filtros FIR
Ventanas comunes
Ejemplo de diseño
Especificaciones
δ1 = 1.00115 − 1 = 0.00115
δ2 = 1 − 0.99 = 0.01 → δ = 0.00115
δ3 = 0.005
Diseño
Ep = −58.79 dB → ventana de Blackman → 2 × 4π/M ≤ 0.2π → M = 60
filtro ideal: hd [n] = sin(ωc n)/(πn), −∞ < n < ∞
ventana: h0 [n] = wB [n]hd [n], −M/2 ≤ n ≤ M/2
retardo: D = b61/2c = 30, h[n] = h0 [n − 30], 0 ≤ n ≤ M
Método de Kaiser
Ventana de Kaiser
1/2
Io β 1−[(n−α)/α]2
wK [n] = Io (β)
,0 ≤ n ≤ M
β parámetro de forma, α = M/2, I0 función modificada de Bessel de primera especie y orden 0
aproxima otras ventanas: β = 0 → rectangular, β = 4.86 → Hamming, β = 7.04 → Blackman
Método de diseño
1 especificaciones:
banda de paso: ωp , 1 − δ ≤ |H(ω)| ≤ 1 + δ
banda rechazada: ωs , |H(ω)| ≤ δ
2 calcular ∆ω = ωs − ωs , A = −20 log10 (δ)
3 estimar orden M ≈ (A − 8)/(2.285∆ω)
0.1102(A − 8.7),
A > 50
4 calcular β = 0.5842(A − 21)0.4 + 0.07886(A − 21), 21 ≤ A ≤ 50
A < 21
0.0
5 calcular wK [n]
6 aplicar la ventana y retardar: h0 [n] = w[n]hd [n] y h[n] = h0 [n − D]
Ejemplo de diseño
Especificaciones
δ1 = 1.00115 − 1 = 0.00115
δ2 = 1 − 0.99 = 0.01 → δ = 0.00115
δ3 = 0.005
Diseño
ventana de Kaiser: β = 5.52, M = 36, mucho menor que con Blackman, porque se ajusta mejor
filtro ideal: hd [n] = sin(ωc n)/(πn), −∞ < n < ∞
ventana: h0 [n] = wK [n]hd [n], −M/2 ≤ n ≤ M/2
retardo: D = b36/2c = 18, h[n] = h0 [n − 18], 0 ≤ n ≤ M
Procedimiento
tomar N = M + 1 muestras equiespaciadas de la respuesta deseada:
Hd (ωk ), ωk = 2πk/N , k = 0, . . . N − 1
calcular la respuesta al impulso h[n] mediante la DFT inversa
¿Filtrado ideal?
NO, banda de transición es muy abrupta → interpolación problemática
Solución
permitir banda de transición más suave con uno o más puntos
Métodos algorítmicos
Implementación
3.5. Implementación
PM −k M N
B(z) k=0 bk z X X
H(z) = = N → y[n] = bk x[n − k]+ ak y[n − k]
A(z) 1− k=1 ak z
P −k
k=0 k=1
z −1 z −1
b1 a1
x[n − 1] y[n − 1]
z −1 z −1
b2 a2
x[n − 2] y[n − 2]
z −1 z −1
b3 a3
x[n − 3] y[n − 3]
b0 b1 b2 bM −1 bM
y[n]
Forma directa II
H(z) = 1/A(z) · B(z)
b0
x[n] y[n]
z −1
a1 b1
z −1
a2 b2
Formas transpuestas
Teorema de transposición
dado un grafo G1 , su transpuesto G2 implementa la misma función de transferencia H(z)
grafo transpuesto G1 → G2 :
intercambiar los nodos de entrada y salida
invertir el sentido de los arcos
normalmente dibujar al revés, aunque no es estrictamente necesario
z −1
b2 a2
z −1
Problema (I)
Imaginary Part
-50 0.5
dB
0
-100
-0.5
-150
-1
Problema (y II)
Imaginary Part
0.5 0.5
0 0
-0.5 -0.5
-1 -1
-1 0 1 -1 0 1
Real Part Real Part
DPZ (24 bits) DPZ (16 bits)
1 1
Imaginary Part
Imaginary Part
0.5 0.5
0 0
-0.5 -0.5
-1 -1
-1 0 1 2 -1 0 1 2
Real Part Real Part
Análisis
Coeficientes de sensibilidad
los polos pi dependen de los coeficientes ak de forma altamente no linealidad
la cuantificación de coeficientes provoca movimiento de los polos:
aˆk = ak + ∆ak → p̂i = pi + ∆pi
∆pi = Nk=1 ∂a ∂pi
P
k
∆ak
∂pi piN −k
coeficientes de sensibilidad: = QN
j=1,j6=i (pi − pj )
∂ak
∂pi
si (pi − pj ) ≈ 0 → ∂ak
≈∞
filtro muy selectivo en frecuencia:
polos muy juntos → (pi − pj ) muy pequeños → coeficientes de selectividad muy grandes
∆pi puede hacer que los polos cercanos a |z| = 1 se muevan del círculo unidad
Solución
Solución
secciones de 2º orden reales
emparejando los polos conjugados los factores (pi − pj ) nunca son “muy pequeños”
con aritmética de 8 bits se mantiene estabilidad con distorsión pequeña
Sección de 2º orden
basada en la descomposición de H(z) en factores cuadráticos:
M−N NS
X Y b0k + b1k z −1 + b2k z −2
serie: H(z) = ck z −k +
k=1 k=1
1 − a1k z −1 − a2k z −2
M−N NP
X
−k
X e0k + e1k z −1
paralelo: H(z) = ck z +
k=1 k=1
1 − a1k z −1 − a2k z −2
cada factor cuadrático en forma directa II o forma directa II transpuesta
pueden ser bloques funcionales hardware o software
son estructuras muy robustas desde el punto de vista aritmético
en la estructura serie es habitual repartir la ganancia G = b01 b02 · · · b0Ns para
p
Ns