Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Tema 3: Filtros Digitales: (Etsit-Upm) Filtros TDSÑ (95000028) 1 / 67

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 67

Tema 3: Filtros digitales

(ETSIT-UPM) Filtros TDSÑ (95000028) 1 / 67


Contenido

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

(ETSIT-UPM) Filtros TDSÑ (95000028) 2 / 67


Introducción

Introducción

3.1. Introducción

(ETSIT-UPM) Filtros TDSÑ (95000028) 3 / 67


Introducción Definición de filtro digital

Definición

Definición de filtro digital


filtro digital = ecuación en diferencias lineal con coeficientes constantes (LCCDE) con
condición auxiliar de reposo inicial
 N M
X X
a y[n − k] = b x[n − k]

k k

 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

Adecuación según el objetivo


análisis: H(z), diagrama de polos y ceros, H(ω), h[n]
implementación: ecuación en diferencias, h[n], H(z), estructura
diseño: H(ω), H(z)

(ETSIT-UPM) Filtros TDSÑ (95000028) 5 / 67


Análisis I: Definiciones y generalidades

Análisis I: Definiciones y generalidades

3.2. Análisis I: Definiciones y generalidades

(ETSIT-UPM) Filtros TDSÑ (95000028) 6 / 67


Análisis I: Definiciones y generalidades Función de transferencia y diagrama de polos y ceros

Función de transferencia (I)

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

(ETSIT-UPM) Filtros TDSÑ (95000028) 7 / 67


Análisis I: Definiciones y generalidades Función de transferencia y diagrama de polos y ceros

Función de transferencia (y II) y Diagrama de Polos y Ceros

Otras expresiones algebraicas


PM bk0 =bk /a0 ,ak0 =−ak /a0 PM

bk z −k 0 −k
k=0 bk z
básicas: H(z) = Pk=0
N a z −k
= 1− N
P
a0 z −k
k=0 k k=1 k
PM−N QNs b0k +b1k z −1 +b2k z −2
factores cuadráticos en serie: H(z) = k=1 ck z −k + k=1 1−a1k z −1 −a2k z −2
PM−N PNs e0k +e1k z −1
factores cuadráticos en paralelo: H(z) = k=1 ck z −k + k=1 1−a1k z −1 −a2k z −2

… cada una da lugar a una estructura de cálculo distinta

Diagrama de Polos y Ceros


representación esquemática de H(z) en el plano complejo
posición de ceros: #
posición de polos: ×
número de ceros = número de polos
propiedades del filtro:
fir: no polos (excepto en z = 0 y/o z = ∞)
iir: polos fuera de z = 0 y/o z = ∞)
estabilidad: polos dentro del círculo unidad
simetrías: conjugados
otras que se verán más adelante
(ETSIT-UPM) Filtros TDSÑ (95000028) 8 / 67
Análisis I: Definiciones y generalidades Respuesta al impulso

Respuesta al impulso

Clase FIR (Finite Impulse Response)


PM  
bk
ecuación en diferencias reducida (∀k > 0 ak = 0): y[n] = k=0 a0
x[n − k]
PM  
bk
con x[n] = δ[n] → y[n] = h[n] = k=0 a0
δ[n − k]

FIR = longitud de h[n]: M + 1, orden del filtro: M

Clase IIR (Infinite Impulse Response)


solución causal de la ecuación homogénea
si M ≥ N , extraer soluciones parciales y modificar la LCCDE hasta que N > M → h0 [n]
construir el polinomio característico P (z) = Nk=0 ak z −k
P
calcular las raíces de P
(z): {(zi , mi ), i = 1, . . . , L ≤ N }, mi multiplicidad de zi
Pmi −1 k z n u[n], con u[n] para imponer causalidad
por cada raíz: hi [n] = k=0 Ci,k n i
PM−N PL Pmi −1 k

solución general: h[n] = r=0 Kr δ[n − r] + i=1 k=0 Ci,k n zin u[n]
calcular las constantes Ci,k aplicando condiciones auxiliares
mucho más fácil de resolver con método indirecto: transformadas de Fourier o z (mejor)

(ETSIT-UPM) Filtros TDSÑ (95000028) 9 / 67


Análisis I: Definiciones y generalidades Respuesta en frecuencia

Respuesta en frecuencia (I)

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

directamente desde la función de transferencia: H(ω) = H(z)|z=e jω

pero ¿qué significa H(ω) si el sistema no es estable?


es la respuesta en frecuencia del sistema con |z| = 1 ⊂ ROC, no necesariamente causal

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 (ω)

(ETSIT-UPM) Filtros TDSÑ (95000028) 10 / 67


Análisis I: Definiciones y generalidades Respuesta en frecuencia

Respuesta en frecuencia (II)

Retardo y distorsión de fase


retardo:
H1 (ω) = e-jωn0 , n0 ∈ Z → h1 [n] = δ[n − n0 ]
Y (ω) = H1 (ω)X (ω) → |Y (ω)| = |X (ω)| , ∠Y (ω) = −ωn0 + ∠X (ω) → y[n] = x[n − n0 ]
fase lineal: ∠H(ω) = −ωn0 → no cambia la forma de onda
distorsión de fase:
H2 (ω) = e jφ(ω) → h2 [n]6=δ[n − n0 ]
Y (ω) = H2 (ω)X (ω) → |Y (ω)| = |X (ω)| , ∠Y (ω) = φ(ω) + ∠X (ω) → y[n] 6= x[n − n0 ]
fase no lineal: ∠H(ω) = φ(ω)→ sí cambia la forma de onda

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

∠H (ω) x[n] y[n]


0
2
2
−2

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

(ETSIT-UPM) Filtros TDSÑ (95000028) 11 / 67


Análisis I: Definiciones y generalidades Respuesta en frecuencia

Respuesta en frecuencia (III)

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

Observaciones sobre la fase


la fase de un complejo z = a + jb = re jω es ambigua ±2πm
valor principal de la fase: ARG(θ) ∈ (−π, π]
la fase se calcula con la función arctan(b/a), ¡multivaluada!
atan(b/a): 2 cuadrantes → θ ∈ (−π/2, π/2]
atan2(b,a): 4 cuadrantes → θ ∈ (−π, π]

la fase de una función analítica NO es ambigua, es continua y suave (= infinitas


derivadas continuas): ∠H(ω) = arg(H(ω)) = ARG(H(ω)) + 2πr(ω)
fase desenrollada: ' ∠H(ω) quitando saltos de ±π a ARG H(ω)
Z ω
si se dispone del retardo de grupo → ∠H(ω) = − τgr (Ω)dΩ
−∞

(ETSIT-UPM) Filtros TDSÑ (95000028) 12 / 67


Análisis I: Definiciones y generalidades Respuesta en frecuencia

Respuesta en frecuencia (y IV)

Interpretación geométrica de la respuesta en frecuencia


z − c0
sea H(z) = 1 − c0 z −1 = → cero en z = c0 = re jθ y polo en z = 0
z
e jω − re jθ
estable → H(ω) = H(z)|z=e jω =
e jω

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
θ
ω <

(ETSIT-UPM) Filtros TDSÑ (95000028) 13 / 67


Análisis I: Definiciones y generalidades Un ejemplo

Filtro paso bajo sencillo

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

Diagrama de polos y ceros ℎ[𝑛] 20 log10 (|𝐻 (𝜔)|)


1.0 0.20 0

0.5 0.15 −5

0.0 0.10 −10

−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

(ETSIT-UPM) Filtros TDSÑ (95000028) 14 / 67


Análisis II: Filtros notables

Análisis II: Filtros notables

3.3. Análisis II: Filtros notables

(ETSIT-UPM) Filtros TDSÑ (95000028) 15 / 67


Análisis II: Filtros notables Introducción

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

(ETSIT-UPM) Filtros TDSÑ (95000028) 16 / 67


Análisis II: Filtros notables Introducción

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

(ETSIT-UPM) Filtros TDSÑ (95000028) 17 / 67


Análisis II: Filtros notables Filtros paso todo

Filtros paso todo (I)

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 𝜔 𝜔

(ETSIT-UPM) Filtros TDSÑ (95000028) 18 / 67


Análisis II: Filtros notables Filtros paso todo

Filtros paso todo (y II)

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, π]

0.0438−0.1689z −1 +0.3077z −2 −0.1096z −3 +0.1767z −4 −0.4832z −5


Hap (z) = −0.4832+0.1767z −1 −0.1096z −2 +0.3077z −3 −0.1689z −4 +0.0438z −5
∠𝐻𝑎𝑝 (𝑧) 𝜏𝑔𝑟 (𝜔)
2.0
0
20.0
1.5
−2
17.5
1.0
−4
Parte imaginaria

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 𝜔 𝜔

(ETSIT-UPM) Filtros TDSÑ (95000028) 19 / 67


Análisis II: Filtros notables Filtros de fase mínima

Filtros de fase mínima

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

(ETSIT-UPM) Filtros TDSÑ (95000028) 20 / 67


Análisis II: Filtros notables Descomposición y Compensación

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


(ETSIT-UPM) Filtros TDSÑ (95000028) 21 / 67


Análisis II: Filtros notables Descomposición y Compensación

Ejemplo de descomposición

1+ 12 z −1 1−2z −1 1+ 32 z −1
  
Hd (z) = (1−0.64z −2 )

Hd (z) no de fase mínima con:


 
−1
1+ 1
2
z
H1 (z) = 1−0.64z −2
 de fase mínima
3 −1
H2 (z) = −1 1 + 2z , L = 2 ceros en z0 = 2 y z1 = − 32 , de no fase mínima
 
1 − 2z
1 reflejar ceros z0 = 1/a0∗ → a0∗ = 1/2, z1 = 1/a
 1

→ a ∗
1

= −2/3:
1 −1  1+ 23 z −1
−1 1− 2 z −1
H2 (z) = 1 − 2z  1+ z 3

 
1 −1 1− 2 z 2 2 −1 1+ 3 z

2 separar factores paso



todo:
      
−1 −1 1 3 −1 −1
1−2z z −2 1+ 2 z z +2
Hap
0
(z) = − 12  1 −1  =  , Hap
1 2
  3
 (z) = 3
  =  
1− 2 z 1− 12
z −1 2
1+ 3 z −1 2
1+ 3 z −1

3 separar factores de fase mínima:


1 −1
Hmin (z) = (−2) 1 − 2 z
0
, Hmin (z) = 1 + 23 z −1
 1 3
 
2
   
1 −1 1 −1 2 −1
1+ 2 z 1− 2 z 1+ 3 z
4 Hmin (z) = H1 (z)Hmin
0 1
(z)Hmin (z) = (−3) 1−0.64z −2

       
−1 3 −1 −1 1 −1 2
1−2z 1+ z z −2 z +3
Hap (z) = Hap
0 1
(z) = − 12  1 −1  23  22 −1  =  1 −1
 
5 (z)Hap  
2 −1

1− 2 z 1+ 3 z 1− 2 z 1+ 3 z

(ETSIT-UPM) Filtros TDSÑ (95000028) 22 / 67


Análisis II: Filtros notables Descomposición y Compensación

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

Hmin (z) = (−3) 2 2


1−0.64z −2
 3
−5

  −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

0.0 0.5 1.0 1.5 2.0 2.5 3.0

   
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−α)

si α = nd ∈ Z → hid [n] = δ[n − nd ] → y[n] = x[n − nd ]


si α ∈
/ Z → y[n] = x[n] ∗ hid [n] → y[n] = xc (nT − αT )

Filtro de fase lineal


H(ω) = |H(ω)| e-jωα con α ∈ R → ∠H(ω) = −ωα y τgr [H(ω)] = α
H(ω) = ∞
P
h[n]e -jωn =
?
A(ω)e -jωα , con A(ω) ≥ 0
n=−∞
si 2α ∈ Z existe simetría h[2α − n] = h[n], pero no es necesario

Filtro de fase lineal generalizada


H(ω) = A(ω)e-jαω+jβ , con A(ω) ∈ R, posiblemente bipolar → τgr [H(ω)] = α
P∞
condición necesaria (no suficiente): n=−∞ h[n] sin (ω(n − α) + β) = 0 → ¿¿⁇

(ETSIT-UPM) Filtros TDSÑ (95000028) 24 / 67


Análisis II: Filtros notables Filtros de fase lineal

Filtros causales de fase lineal generalizada

Sistema causal de fase lineal generalizada


IIR: H(z) no racional → no es un filtro digital
FIR: h[n] de orden M (longitud M + 1) con simetría h[n] = ±h[M − n]

Ceros de los filtros FIR de fase lineal generalizada


PM −n m=M−n PM m
H(z) = ± n=0 h[M − n]z = ±z −M m=0 h[m]z = ±z −M
H(z −1
)
h[n] real → si z0 es un cero, también lo es z0∗
h[n] simétrica → si z0 es un cero, también lo es z0−1
h[n] real y simétrica → ceros en grupos de 4 colapsables
n o
∗ −1 −1 ∗
|z0 | 6= 1, z0 ∈
/ R → z0 , z0 , z0 , (z0 )
|z0 | = 1, z0 ∈/ R → z0 = (z0−1 )∗ y z0∗ = z0−1 → z0 , z0∗

n o
∗ −1 −1 ∗ −1
|z0 | 6= 1, z0 ∈ R → z0 = z0 y z0 = (z0 ) → z0 , z0
|z0 | = 1, z0 ∈ R → z0 = z0−1 = z0∗ = (z0−1 )∗ → {z0 }
filtro con simetría impar: H(1) = −H(1) → H(1) = 0
filtro con simetría par (impar) de orden par (impar): H(−1) = −H(−1) → H(−1) = 0

(ETSIT-UPM) Filtros TDSÑ (95000028) 25 / 67


Análisis II: Filtros notables Filtros de fase lineal

Tipos de filtros FIR de fase lineal generalizada (I)

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

ceros sin restricciones

ℎ[𝑛], 𝑀 = 12 Diagrama de polos y ceros


1.0
0.2
0.5
12
0.0 0.0

−0.5
−0.2
𝑛 −1.0
0 2 4 6 8 10 12 −1 0 1 2

20 log10 (|𝐻 (𝜔)|) ∠𝐻 (𝜔)


5
0
0
−20
−5
−40
−10

−60 −15

−80
𝜔 −20 𝜔
0 π/4 π/2 3π/4 π 0 π/4 π/2 3π/4 π

(ETSIT-UPM) Filtros TDSÑ (95000028) 26 / 67


Análisis II: Filtros notables Filtros de fase lineal

Tipos de filtros FIR de fase lineal generalizada (II)

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

ℎ[𝑛], 𝑀 = 13 Diagrama de polos y ceros


1.0
0.2
0.5
13
0.0 0.0

−0.5
−0.2
𝑛 −1.0
0 2 4 6 8 10 12 −1 0 1 2

20 log10 (|𝐻 (𝜔)|) ∠𝐻 (𝜔)


5
0
0
−20
−5
−40
−10

−60 −15

−80
𝜔 −20 𝜔
0 π/4 π/2 3π/4 π 0 π/4 π/2 3π/4 π

(ETSIT-UPM) Filtros TDSÑ (95000028) 27 / 67


Análisis II: Filtros notables Filtros de fase lineal

Tipos de filtros FIR de fase lineal generalizada (III)

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

ℎ[𝑛], 𝑀 = 12 Diagrama de polos y ceros

0.2 1

12
0.0 0

−0.2 −1
𝑛
0 2 4 6 8 10 12 −1 0 1

20 log10 (|𝐻 (𝜔)|) ∠𝐻 (𝜔)


5
0
0
−20
−5
−40
−10

−60 −15

−80
𝜔 −20 𝜔
0 π/4 π/2 3π/4 π 0 π/4 π/2 3π/4 π

(ETSIT-UPM) Filtros TDSÑ (95000028) 28 / 67


Análisis II: Filtros notables Filtros de fase lineal

Tipos de filtros FIR de fase lineal generalizada (y IV)

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

ℎ[𝑛], 𝑀 = 13 Diagrama de polos y ceros

0.2 1

13
0.0 0

−0.2 −1
𝑛
0 2 4 6 8 10 12 −1 0 1

20 log10 (|𝐻 (𝜔)|) ∠𝐻 (𝜔)


5
0
0
−20
−5
−40
−10

−60 −15

−80
𝜔 −20 𝜔
0 π/4 π/2 3π/4 π 0 π/4 π/2 3π/4 π

(ETSIT-UPM) Filtros TDSÑ (95000028) 29 / 67


Diseño

Diseño

3.4. Diseño

(ETSIT-UPM) Filtros TDSÑ (95000028) 30 / 67


Diseño Introducción

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

IIR contra FIR


IIR FIR

aproximación racional aproximación polinómica


fase no lineal pueden ser de fase lineal
pueden desestabilizarse siempre estables
orden bajo, más barato de implementar orden alto, más caro de implementar
mucha historia en continuo muy poca historia en continuo

(ETSIT-UPM) Filtros TDSÑ (95000028) 31 / 67


Diseño Introducción

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

(ETSIT-UPM) Filtros TDSÑ (95000028) 32 / 67


Diseño Introducción

Especificaciones (y II)

Esquemas FIR e IIR


FIR IIR

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

(ETSIT-UPM) Filtros TDSÑ (95000028) 33 / 67


Diseño Diseño de filtros IIR

Introducción

Diseño de filtros discretos a partir de filtros continuos


gran cantidad de historia y procedimientos analíticos disponibles y aprovechables
Hc (s) → H(z), hc (t) → h[n]
condiciones:
comportamiento en frecuencia: eje jΩ (plano s) ↔ círculo unidad (plano z)
estabilidad: polos y ceros (plano s) ↔ polos y ceros (plano z)

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

Filtros clásicos continuos (I)

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)

(ETSIT-UPM) Filtros TDSÑ (95000028) 35 / 67


Diseño Diseño de filtros IIR

Filtros clásicos continuos (II)

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

(ETSIT-UPM) Filtros TDSÑ (95000028) 36 / 67


Diseño Diseño de filtros IIR

Filtros clásicos continuos (III)

Chebyshev II
1
|H(Ω)|2 = −1 , V N (x) = cos(N cos−1
x)
1 + [ε VN (Ωs /Ω)]
2 2

tres parámetros: orden N (∈ Z+ ), frecuencia de rechazo Ωs y ε


|H(Ω)| rizado igual en la banda rechazada
|H(Ω)| muy plano Ω → 0
ε controla el rizado en la banda rechazada y N el ancho de la banda de transición
2N polos en una elipse, 2N ceros en el eje jΩ

(ETSIT-UPM) Filtros TDSÑ (95000028) 37 / 67


Diseño Diseño de filtros IIR

Filtros clásicos continuos (y IV)

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Ω

(ETSIT-UPM) Filtros TDSÑ (95000028) 38 / 67


Diseño Diseño de filtros IIR

Invariancia al impulso (I)

Definición
muestreo de la respuesta al impulso continua:
 
P∞
h[n] = Td hc (nTd ) → H(ω) = k=−∞ Hc Tωd − 2πk
Td

Td irrelevante, puede ser Td = 1

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)

(ETSIT-UPM) Filtros TDSÑ (95000028) 39 / 67


Diseño Diseño de filtros IIR

Invariancia al impulso (II)

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

− −

(ETSIT-UPM) Filtros TDSÑ (95000028) 40 / 67


Diseño Diseño de filtros IIR

Invariancia al impulso (III)

Especificaciones
filtro de tipo Butterworth
puntos singulares:
ωp = 0.1π, |H (ωp )| = 0.708
ωs = 0.38π, |H (ωs )| = 0.056

1. Especificaciones en tiempo continuo


máscara discreta máscara continua

Ω = ω/Td
Td = 1
7−→

(ETSIT-UPM) Filtros TDSÑ (95000028) 41 / 67


Diseño Diseño de filtros IIR

Invariancia al impulso (IV)

2. Diseño en tiempo continuo


(
10As /10 −1 As = −20 log10 (|H (Ωs )|)
   
orden del filtro: N ≥ log10 A /10 /2 log10 Ωs
, con
10 p −1 Ωp
Ap = −20 log10 (|H (Ωp )|)

en el ejemplo: As = 25 dB, Ap = 3 dB → N ≥ 2.16 → N = 3


prototipo continuo (Ωc = 1) (tablas):
1 1
Hc (s̄) = =
(s̄ + 1)(s̄ 2 + s̄ + 1) (s̄ + 1)(s̄ + 0.5 + j0.866)(s̄ + 0.5 − j0.866)
r
selección de frecuencia de corte: Ωc (Ω) = Ω/ 2N 1
|H(Ω)|2
−1

ajuste a banda de paso: Ωc (Ωp ) ≈ 0.1π → preferible para minimizar solapamiento


ajuste a banda rechazada: Ωc (Ωs ) ≈ 0.15π
des-normalización: s̄ = s/Ωc
(0.1π)3
Hc (s) =
(s + 0.1π)(s + 0.05π + j0.0866π)(s + 0.05π − j0.0866π)
0.0310
Hc (s) = ... = 3
s + 0.6283s 2 + 0.1974s + 0.0310

(ETSIT-UPM) Filtros TDSÑ (95000028) 42 / 67


Diseño Diseño de filtros IIR

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

(ETSIT-UPM) Filtros TDSÑ (95000028) 43 / 67


Diseño Diseño de filtros IIR

Transformación bilineal (I)

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

(ETSIT-UPM) Filtros TDSÑ (95000028) 44 / 67


Diseño Diseño de filtros IIR

Transformación bilineal (II)

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

2 diseño continuo con técnicas analíticas clásicas


3 transformación bilineal aplicada al filtro continuo

(ETSIT-UPM) Filtros TDSÑ (95000028) 45 / 67


Diseño Diseño de filtros IIR

Transformación bilineal (III)

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.

(ETSIT-UPM) Filtros TDSÑ (95000028) 46 / 67


Diseño Diseño de filtros IIR

Transformación bilineal (IV)

Especificaciones
filtro de tipo Butterworth
puntos singulares:
ωp = 0.1π, |H (ωp )| = 0.708
ωs = 0.38π, |H (ωs )| = 0.056

1. Especificaciones en tiempo continuo


máscara discreta máscara continua

= T2d tan ω

Ω 2
Td =1
7−→

(ETSIT-UPM) Filtros TDSÑ (95000028) 47 / 67


Diseño Diseño de filtros IIR

Transformación bilineal (V)

2. Diseño en tiempo continuo


(
10As /10 −1 As = −20 log10 (|H (Ωs )|)
   
orden del filtro: N ≥ log10 A /10 /2 log10 Ωs
, con
10 p −1 Ωp
Ap = −20 log10 (|H (Ωp )|)

en el ejemplo: As = 25 dB, Ap = 3 dB → N ≥ 1.98 → N = 2


prototipo continuo (Ωc = 1) (tablas):
1
Hc (s̄) = √
(s̄ + 2s̄ + 1)
r
selección de frecuencia de corte: Ωc (Ω) = Ω/ 2N 1
|H(Ω)|2
−1

ajuste a banda de paso: Ωc (Ωp ) ≈ 0.101π


ajuste a banda rechazada: Ωc (Ωs ) ≈ 0.103π → preferible para mejorar banda de paso
des-normalización: s̄ = s/Ωc
(0.103π)2
Hc (s) = 2 √
s s

0.103π
+ 2 0.103π + 1
0.1047
Hc (s) = ... =
s 2 + 0.4576s + 0.1047

(ETSIT-UPM) Filtros TDSÑ (95000028) 48 / 67


Diseño Diseño de filtros IIR

Transformación bilineal (y VI)

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(ω)

Minimización del error cuadrático medio


PN
bk z −k
filtro calculado: H(z) = Pk=0
N a z −k
, orden N
k=0 k

valores deseados: Hd (ωk ), k = 1, . . . , M


M
X
ak y bk para minimizar E = W (ω) (|H(ω)| − |Hd (ωk )|)2 ,W (ω) ventana de ponderación
k=1
sistema de ecuaciones no lineales con solución iterativa (método de Yule-Walker, Levi…)

Mínimos cuadrados inversos


b0
filtro calculado: H(z) = PN
a z −k
, orden N ↔ h[n]
k=0 k

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

Diseño de filtros no paso-bajo


esquemas de tolerancias similares: paso-alto, paso-banda o banda-eliminada
se podría usar transformación bilineal pero no invariancia al impulso (por solapamiento)
más fácil con filtro paso-bajo Hlp (z̄) y una transformación: z̄ −1 = G(z −1 )
la transformación debe preservar:
condición de función racional
interior del círculo unidad para preservar estabilidad y causalidad
circunferencia unidad para preservar amplitudes y cambiar frecuencias

Transformación paso-bajo a paso-bajo


z −1 −α sin[(θp −ωp )/2]
G(z −1 ) = 1−αz −1
,α = sin[(θp +ωp )/2]
, con θp y ωp las frecuencias de corte original y deseada

si α = 0 ⇒ G(z −1 ) = z −1 , sin efecto


permite cambiar la frecuencia de corte con un único parámetro: α

Transformación paso-bajo a paso-alto


z +α −1 cos[(θp +ωp )/2]
G(z −1 ) = − 1+αz −1 , α = cos[(θp −ωp )/2]
, con θp y ωp las frecuencias de corte original y deseada

si α = 0 ⇒ G(z −1 ) = −z −1 , equivalente a una traslación de frecuencia de π


(ETSIT-UPM) Filtros TDSÑ (95000028) 51 / 67
Diseño Diseño de filtros FIR

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)


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

Tipo Fórmula Atenuación del Anchura del Error de


lóbulo lateral lóbulo central aproximación de
pico
Rectangular w[n] = 1 −13 dB 2π/M −21 dB
Hanning w[n] = 0.5 + 0.5 cos(2πn)/M −31 dB 4π/M −44 dB
Hamming w[n] = 0.54 + 0.46 cos(2πn)/M −41 dB 4π/M −53 dB
Blackman w[n] = 0.2 + −57 dB 6π/M −74 dB
0.5 cos(2πn)/M+0.02 cos(4πn)/M

(ETSIT-UPM) Filtros TDSÑ (95000028) 53 / 67


Diseño Diseño de filtros FIR

Ejemplo de diseño

Especificaciones

δ1 = 1.00115 − 1 = 0.00115

δ2 = 1 − 0.99 = 0.01 → δ = 0.00115

δ3 = 0.005

Ep = 20 log10 (δ) = −58.79


ωc = (0.2π + 0.4π)/2 = 0.3π

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

(ETSIT-UPM) Filtros TDSÑ (95000028) 54 / 67


Diseño Diseño de filtros FIR

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]

(ETSIT-UPM) Filtros TDSÑ (95000028) 55 / 67


Diseño Diseño de filtros FIR

Ejemplo de diseño

Especificaciones

δ1 = 1.00115 − 1 = 0.00115

δ2 = 1 − 0.99 = 0.01 → δ = 0.00115

δ3 = 0.005

Ep = 20 log10 (δ) = −58.79


ωc = (0.2π + 0.4π)/2 = 0.3π

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

(ETSIT-UPM) Filtros TDSÑ (95000028) 56 / 67


Diseño Diseño de filtros FIR

Muestreo en frecuencia (I)

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

(ETSIT-UPM) Filtros TDSÑ (95000028) 57 / 67


Diseño Diseño de filtros FIR

Muestreo en frecuencia (y II)

Solución
permitir banda de transición más suave con uno o más puntos

(ETSIT-UPM) Filtros TDSÑ (95000028) 58 / 67


Diseño Diseño de filtros FIR

Métodos algorítmicos

Métodos IIR adaptados


valen los explicados para IIR forzando ak = 0, k 6= 0

Método de rizado igual


especificaciones:
banda de paso: 1 − δ1 ≤ |H(ω)| ≤ 1 + δ1
banda rechazada: −δ2 ≤ |H(ω)| ≤ δ2
H(ω) = Ae (ω)e-jM/2 , Ae (ω) con fase nula
PL
formular Ae (ω) como Ae (ω) = k=0 ak cos(ω)k
error E(ω) = W (ω)[Hd (ω) − H(ω)]
algoritmo de Remez: minimización iterativa del error máximo:
más costoso
en desuso
algoritmo de Parks y McClellan: relación δ1 /δ2 fija y δ1 o δ2 variable
muy usado debido a la potencia de cálculo de los ordenadores actuales

(ETSIT-UPM) Filtros TDSÑ (95000028) 59 / 67


Implementación

Implementación

3.5. Implementación

(ETSIT-UPM) Filtros TDSÑ (95000028) 60 / 67


Implementación Estructuras básicas para filtros IIR y FIR

Formas directas (I)

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

Forma directa I (IIR)


H(z) = B(z) · 1/A(z)
b0
x[n] y[n]

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]

memoria interna: M + N registros

(ETSIT-UPM) Filtros TDSÑ (95000028) 61 / 67


Implementación Estructuras básicas para filtros IIR y FIR

Formas directas (y II)

Forma directa I (FIR)


H(z) = B(z)
z −1 z −1 z −1 z −1
x[n]

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

memoria interna: max {N , M} registros


(ETSIT-UPM) Filtros TDSÑ (95000028) 62 / 67
Implementación Estructuras básicas para filtros IIR y FIR

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

Forma directa II transpuesta


IIR FIR
b0 x[n]
x[n] y[n]
bM bM −1 b2 b1 b0
z −1
z −1 z −1
z −1
z −1
b1 a1 y[n]

z −1
b2 a2

z −1

(ETSIT-UPM) Filtros TDSÑ (95000028) 63 / 67


Implementación Cuantificación de coeficientes

Problema (I)

Filtro elíptico (IIR) de orden 12


[B, A] = ellip(12, 0.5, 120, 500/4000)
|H(f)| Diagrama de polos y ceros
0 1

Imaginary Part
-50 0.5
dB

0
-100

-0.5

-150
-1

0 200 400 600 800 1000 -1 -0.5 0 0.5 1


Real Part
f (Hz)

banda de transición: [500, 612], ∆ = 112Hz


número de octavas: log2 500 = 0.292
612

−120
pendiente: p = 0.292
≈ −411dB/octava
módulos de los polos: 0.9283 ≤ |zp | ≤ 0.9958
(ETSIT-UPM) Filtros TDSÑ (95000028) 64 / 67
Implementación Cuantificación de coeficientes

Problema (y II)

Filtro elíptico (IIR) de orden 12


con aritméticas de 64, 32, 24 y 16 bits

DPZ (64 bits) DPZ (32 bits)


1 1
Imaginary Part

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

con 32 bits el filtro es inestable


se necesitan aritméticas muy caras o más robustas
(ETSIT-UPM) Filtros TDSÑ (95000028) 65 / 67
Implementación Cuantificación de coeficientes

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

Filtro elíptico (IIR) de orden 12


∂z1
coeficiente de sensibilidad de z1 respecto a a12 : ∂a12
= 1.23 × 106 + j1.88 × 106
si ∆a12 = 10−6 (¡una millonésima!) el polo z1 se mueve fuera del círculo unidad

(ETSIT-UPM) Filtros TDSÑ (95000028) 66 / 67


Implementación Cuantificación de coeficientes

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

equilibrar los márgenes dinámicos


(ETSIT-UPM) Filtros TDSÑ (95000028) 67 / 67

También podría gustarte