ESTRUCTURAS EN CELOSÍA ESTRUCTURA EN CELOSÍA PARA FILTROS FIR Aplicación: - Procesado digital de la voz. - Implementac
Views 122 Downloads 0 File size 247KB
ESTRUCTURAS EN CELOSÍA
ESTRUCTURA EN CELOSÍA PARA FILTROS FIR Aplicación: - Procesado digital de la voz. - Implementación de filtros adaptativos. - Tratamiento de señales geofísicas...
Nomenclatura: y[n] =
m
∑ bm (k ) ⋅ x[n − k ]
k =0
⎧b (k ) 0 ≤ k ≤ m ⇒ h[n] = ⎨ m ; bm (0 ) = 1 0 resto ⎩
ESTRUCTURA EN CELOSÍA PARA FILTROS FIR
Filtro FIR de primer orden: m =1 ⎫ ⎬ b1(0) = 1⎭
⇒
y[n] = x[n] + b1(1) ⋅ x[n − 1] ⇒ Filtro de primer orden
Estructura en celosía de un filtro FIR de primer orden:
⎧ f 0 [n] = g 0 [n] = x[n] ⎪ ⎨ y[n] = f1[n] = f 0 [n] + k1 ⋅ g 0 [n − 1] ⎪ g [n] = k ⋅ f [n] + g [n − 1] ⎩ 1 1 0 0
⎧ y[n] = f1[n] = x[n] + k1 ⋅ x[n − 1] ⎨ ⎩ g1[n] = k1 ⋅ x[n] + x[n − 1]
k1 = b1(1)
ESTRUCTURA EN CELOSÍA PARA FILTROS FIR Filtro FIR de segundo orden: y[n] = x[n] + b2 (1) ⋅ x[n − 1] + b2 (2 ) ⋅ x[n − 2]
Estructura en celosía de un filtro FIR de segundo orden:
⎧ x[n] = f 0 [n] = g0 [n] ⎪ f [n] = f [n] + k ⋅ g [n − 1] 0 1 0 ⎪⎪ 1 ⎨ g1[n] = k1 ⋅ f 0 [n] + g0 [n − 1] ⎪ y[n] = f [n] = f [n] + k ⋅ g [n − 1] 2 1 2 1 ⎪ ⎪⎩ g 2 [n] = k2 ⋅ f1[n] + g1[n − 1]
⎧b2 (1) = k1 ⋅ (1 + k2 ) ⎨ ⎩b2 (2) = k 2
⎧ y[n] = f 2 [n] = x[n] + k1(1 + k 2 ) ⋅ x[n − 1] + k 2 ⋅ x[n − 2] ⎨ ⎩ g 2 [n] = k 2 ⋅ x[n] + k1(1 + k 2 ) ⋅ x[n − 1] + x[n − 2]
b2 (1) ⎧ ⎪k1 = 1 + b2 (2 ) ⎨ ⎪k = b (2 ) ⎩ 2 2
ESTRUCTURA EN CELOSÍA PARA FILTROS FIR Filtro FIR de orden M: y[n] = x[n] +
M
∑ bM (k ) ⋅ x[n − k ]
k =1
Estructura en celosía de un filtro FIR de orden M:
k m : coeficientes de reflexión
⎧ f 0 [n] = g 0 [n] = x[n] ⎪ f [n] = f ⎪ m m−1[n] + k m ⋅ g m−1[n − 1] ⎨ ⎪ g m [n] = km ⋅ f m−1[n] + g m−1[n − 1] ⎪⎩ y[n] = f M [n]
; m = 1,2,..., M ; m = 1,2,..., M
m ⎧ ⎪ f m [n] = ∑ bm (k ) ⋅ x[n − k ] ⎪ k =0 ⎨ m ⎪ ⎪ g m [n] = ∑ bm (m − k ) ⋅ x[n − k ] ⎩ k =0
;
bm (0) = 1
ESTRUCTURA EN CELOSÍA PARA FILTROS FIR Estructura en celosía de un filtro FIR de orden M: ⎧ f 0 [n] = g 0 [n] = x[n] ⎪ f [n] = f ⎪ m m−1[n] + km ⋅ g m−1[n − 1] ⎨ ⎪ g m [n] = k m ⋅ f m−1[n] + g m−1[n − 1] ⎪⎩ y[n] = f M [n]
; m = 1,2,..., M ; m = 1,2,..., M
Transformada z ⎧ F0 ( z ) = G0 ( z ) = X ( z ) ⎪ −1 ⎪ Fm ( z ) = Fm−1( z ) + k m z ⋅ Gm−1( z ) ; m = 1,2,..., M ⎨ ⎪Gm ( z ) = k m ⋅ Fm−1( z ) + z −1 ⋅ Gm−1( z ) ; m = 1,2,..., M ⎪ ⎩Y ( z ) = FM ( z )
⎡ Fm ( z )⎤ ⎡ 1 ⎢G ( z )⎥ = ⎢k ⎣ m ⎦ ⎣ m m ⎧ ⎪ f m [n] = ∑ bm (k ) ⋅ x[n − k ] ⎪ k =0 ⎨ m ⎪ [ ] g n = ∑ bm (m − k ) ⋅ x[n − k ] ⎪ m ⎩ k =0
;
bm (0 ) = 1
km ⎤ ⎡ Fm−1( z ) ⎤ ⋅ 1 ⎥⎦ ⎢⎣ z −1 ⋅ Gm−1( z )⎥⎦ m ⎧ ( ) ( ) F z X z = ⋅ ⎪ m ∑ bm (k ) ⋅ z −k = X (z ) ⋅ Pm (z ) ⎪ k =0 ⎨ m ⎪ −m ( ) ( ) G z z X z = ⋅ ⋅ ∑ bm (k ) ⋅ z k = z −m ⋅ Pm z −1 ⋅ X (z ) ⎪ m k =0 ⎩
( )
;
bm (0) = 1
ESTRUCTURA EN CELOSÍA PARA FILTROS FIR - CONVERSIÓN ESTRUCTURA EN CELOSÍA-FORMA DIRECTA: Fm ( z ) = Fm−1( z ) + k m z −1 ⋅ Gm−1( z )
⎧⎪ Fm ( z ) = X ( z ) ⋅ Pm ( z ) ⎨ ⎪⎩Gm ( z ) = z −m ⋅ Pm z −1 ⋅ X ( z )
( )
⎧⎪ P0 ( z ) = 1 ⎨ ⎪⎩ Pm ( z ) = Pm−1( z ) + k m ⋅ z −m ⋅ Pm−1 z −1
( )
Aplicando recursividad:
Y ( z ) = PM ( z ) ⋅ X ( z )
PM ( z ) ⇒ bM (k ) ; 0 ≤ k ≤ M
;
m = 0,1,2,..., M
ESTRUCTURA EN CELOSÍA PARA FILTROS FIR
Ejemplo: Los coeficientes de reflexión de un filtro FIR en celosía de tres etapas son: 1 1 1 k1 = ; k 2 = ; k3 = 4 2 3
Obtener los coeficientes del filtro FIR para estructura en forma directa ⎧ P0 ( z ) = 1 ⎪ 1 ⎪ P1( z ) = P0 ( z ) + k1z −1P0 z −1 = 1 + z −1 4 ⎪⎪ ⎨ 3 −1 1 −2 −2 −1 ( ) ( ) P z P z k z P z z + z 1 = + = + 2 1 2 1 ⎪ 8 2 ⎪ ⎪ P ( z ) = P ( z ) + k z −3 P z −1 = 1 + 13 z −1 + 5 z −2 + 1 z −3 2 3 2 ⎪⎩ 3 24 8 3
( ) ( ) ( )
5 1 ⎛ 13 ⎞ Y ( z ) = P3 ( z ) ⋅ X ( z ) = ⎜1 + z −1 + z − 2 + z −3 ⎟ ⋅ X ( z ) 8 3 ⎝ 24 ⎠
b3 (0 ) = 1; b3 (1) =
13 5 1 ; b3 (2 ) = ; b3 (3) = 24 8 3
ESTRUCTURA EN CELOSÍA PARA FILTROS FIR
Estructura en celosía de m etapas
m filtros FIR en Forma Directa H i ( z ) = Pi ( z ) ; i = 1,2,..., m
m coeficientes ki
⎧i = 1,2,..., m m(m + 1) coeficientes bi (k ) ; ⎨ 2 ⎩k = 0,1,..., i
Fórmula recursiva para la obtención de coeficientes:
( )
Pm ( z ) = Pm −1( z ) + km ⋅ z − m ⋅ Pm −1 z −1 ⎫ m m −1 m −1 ⎪⎪ −k −k −m k m ⎬ ⇒ ∑ bm (k ) ⋅ z = ∑ bm −1(k ) ⋅ z + km ⋅ z ⋅ ∑ bm −1(k ) ⋅ z −k Pm ( z ) = ∑ bm (k ) ⋅ z ⎪ k =0 k =0 k =0 ⎪⎭ k =0 m
m −1
k =0
k =0
∑ bm (k ) ⋅ z − k =
∑
m
bm −1(k ) ⋅ z − k + k m ⋅ ∑ bm −1(m − k ) ⋅ z − k k =1
bm (0 ) = 1
Comparando:
bm (m ) = km ⎧1 ≤ k ≤ m −1 bm (k ) = bm −1(k ) + k m ⋅ bm −1(m − k ) = bm −1(k ) + bm (m ) ⋅ bm −1(m − k ) ; ⎨ ⎩m = 1,2,..., M
ESTRUCTURA EN CELOSÍA PARA FILTROS FIR - CONVERSIÓN FORMA DIRECTA-CELOSÍA : ⎫ ⎪ ⎪ k =0 ⎬ ; bM (0) = 1 M ⎪ Y ( z ) = X ( z ) ⋅ H ( z ) = X ( z ) ⋅ ∑ bM (k ) ⋅ z −k ⎪ ⎭ k =0 y[n] =
DATOS:
M
∑ bM (k ) ⋅ x[n − k ]
Coeficientes de reflexión {ki} :
⇒ Y ( z ) = X ( z ) ⋅ PM ( z ) ⇒
H ( z ) = PM ( z )
→ k M = bM (M ) ⎧ PM ( z ) ⎪P k M −1 = bM −1(M − 1) ⎪ M −1( z ) → ⎨ .................................... ⎪ ⎪⎩ P1( z ) → k1 = b1(1)
Obtención de Pm(z) para m=M, M-1,…,1:
⎧⎪ F ( z ) = F ( z ) + k z −1 ⋅ G m m −1 m m −1 ( z ) ⎨ ⎪⎩Gm ( z ) = km ⋅ Fm −1( z ) + z −1 ⋅ Gm−1 ( z )
F ( z ) − k m ⋅ Gm ( z ) Fm−1( z ) = m 2 1 − km
Fm ( z ) = Fm−1( z ) + k m ⋅ [Gm ( z ) − k m ⋅ Fm−1( z )]
Pm−1( z ) =
( )
Pm ( z ) − k m ⋅ z −m ⋅ Pm z −1 2 1 − km
;
m = M , M − 1,...,1 km ≠ 1
ESTRUCTURA EN CELOSÍA PARA FILTROS FIR Ejemplo: Determina los coeficientes de reflexión de la estructura en celosía correspondiente A un filtro FIR cuya función del sistema es: H (z ) = 1 +
P3 ( z ) = H ( z ) = 1 +
13 −1 5 −2 1 −3 z + z + z 24 8 3
13 −1 5 − 2 1 −3 z + z + z 24 8 3
k3 = b3 (3) =
1 3
( )
Pm−1( z ) =
( )
Pm ( z ) − k m ⋅ z −m ⋅ Pm z −1
P ( z ) − k3 ⋅ z −3 ⋅ P3 z −1 3 1 P2 ( z ) = 3 = 1 + z −1 + z − 2 8 2 1 − k32
2 1 − km
P1( z ) =
( ) = 1 + 1 z −1
P2 ( z ) − k 2 ⋅ z − 2 ⋅ P2 z −1 1 − k 22
4
Fórmula recursiva para la obtención de coeficientes: k m = bm (m ); bm −1(0 ) = 1
b (k ) − bm (m ) ⋅ bm (m − k ) bm −1(k ) = m 2 (m ) 1 − bm
m = M ,...,2 1 ≤ k ≤ m −1
k 2 = b2 (2 ) =
k1 = b1(1) =
1 2
1 4
ESTRUCTURA EN CELOSÍA PARA FILTROS IIR Sistema IIR sólo polos: 1
H (z ) = 1+
N
∑ a N (k ) ⋅ z − k
=
1
PN ( z )
y[n] = x[n] −
N
∑ a N (k ) ⋅ y[n − k ]
k =1
k =1
⎧ f N [n] = x[n] ⎪f ⎪ m −1[n] = f m [n] − k m ⋅ g m −1[n − 1] ⎨ ⎪ g m [n] = k m ⋅ f m −1[n] + g m −1[n − 1] ⎪⎩ y[n] = f 0 [n] = g 0 [n]
;
m = N , N − 1,...,1
;
m = N , N − 1,...,1
ESTRUCTURA EN CELOSÍA PARA FILTROS IIR Ejemplo Sistema IIR sólo polos para N=2: Directa
FIR de orden 2
⎧ f 2 [n] = x[n] ⎪ f [n] = f [n] − k ⋅ g [n − 1] 2 2 1 ⎪ 1 ⎪⎪ g 2 [n] = k2 ⋅ f1[n] + g1[n − 1] ⎨ ⎪ f 0 [n] = f1[n] − k1 ⋅ g 0 [n − 1] ⎪ g1[n] = k1 ⋅ f 0 [n] + g 0 [n − 1] ⎪ ⎪⎩ y[n] = f 0 [n] = g 0 [n]
Generalizando:
IIR sólo polos de orden 2
Inversa
⎧ y[n] = f 0 [n] = x[n] − k1 ⋅ (1 + k 2 ) ⋅ y[n − 1] − k2 ⋅ y[n − 2] ⎨ ⎩ g 2 [n] = k 2 ⋅ y[n] + k1 ⋅ (1 + k2 ) ⋅ y[n − 1] + ⋅ y[n − 2]
N ⎧ ⎪ y[n] = f 0 [n] = x[n] − ∑ a N (k ) ⋅ y (n − k ) ⎪ k =1 ⎨ N ⎪ [ ] g n = ∑ a N (N − k ) ⋅ y(n − k ) ⎪ N ⎩ k =0
ESTRUCTURA EN CELOSÍA PARA FILTROS IIR Conclusiones: H D (z ) =
Y (z ) = X (z )
F0 ( z ) 1 = Fm ( z ) Pm ( z )
→
Función del sistema directa ( IIR sólo polos )
( )
G (z ) G (z ) H I ( z ) = m = m = z − m ⋅ Pm z −1 → Función del sistema inversa ( FIR ) Y (z ) G0 ( z )
Pm ( z ) =
m
∑ am (k ) ⋅ z − k
k =0
;
am (0 ) = 1
- Las estructuras en celosía tanto FIR como IIR se caracterizan por los mismo coeficientes de reflexión, ki, diferenciándose únicamente en su interconexión. - Los algoritmos de conversión de parámetros entre el sistema en forma directa bm(k) de un sistema FIR y los parámetros de la estructura en celosía, ki, se aplican también a la estructura sólo polos. - El sistema sólo polos será estable si sus polos se encuentran en el interior de la circunferencia de radio unidad lo cual implica que |km| < 1 para todo m.
ESTRUCTURA EN CELOSÍA PARA FILTROS IIR Estructura en celosía en escalera para un sistema de polos y ceros: M
∑ bM (k ) ⋅ z − k
B (z ) = M PN ( z ) 1 + ∑ a N (k ) ⋅ z − k
H (z ) = k =0 N
k =1
Para N = M
⇒
F.Directa II
N ⎧ ⎪w[n] = x[n] − ∑ a N (k ) ⋅ w[n − k ] ⎪ k =1 ⎨ M ⎪ ⎪ y[n] = ∑ bM (k ) ⋅ w[n − k ] k =0 ⎩
⎧ f N [n] = x[n] ⎪f [n] = f m [n] − km ⋅ g m −1[n − 1] ⎪ m −1 ⎪ g [n] = k ⋅ f m m −1[n] + g m −1[n − 1] ⎨ m ⎪ N ⎪ y[n] = ∑ vk ⋅ g k [n] ⎪⎩ k =0
;
m = N , N − 1,...,1
;
m = N , N − 1,...,1
IIR sólo polos (AR) FIR (MA)
ESTRUCTURA EN CELOSÍA PARA FILTROS IIR Cálculo de los coeficientes de la celosía en escalera: ⎧ ⎪ X ( z ) = FN ( z ) ⎪ F0 ( z ) 1 = ⎪H D (z ) = FN ( z ) PN ( z ) ⎪ ⎪ GM ( z ) = z − M ⋅ PM z −1 ⎨H I (z ) = G0 ( z ) ⎪ ⎪G0 ( z ) = F0 ( z ) ⎪ M ⎪ ⎪Y (Z ) = ∑ vk ⋅ Gk ( z ) ⎩ k =0
( )
M
H (z ) =
Y (z ) = X (z )
∑ vk ⋅ Gk (z )
BM ( z ) k = 0 = PN ( z ) FN ( z )
BM ( z ) =
M
=
M
G (z )
M
G (z ) F (z )
∑ vk ⋅ F k (z ) = ∑ vk ⋅ Gk (z ) ⋅ F 0 (z ) = k =0
k =0
( )
∑ vk ⋅ z − k ⋅ Pk z −1
k =0
∑ vk ⋅ z − k ⋅ Pk (z −1 ) M
N
k =0
0
⎧ PN ( z ) → ⎨ ⎩ BM ( z ) →
N
PN ( z )
ki
i = 1,2,..., N
vj
j = 0,1,...M
ESTRUCTURA EN CELOSÍA PARA FILTROS IIR Proceso de cálculo: 1.- Datos de partida: BM(z), PN(z) con N ≥ M. 2.- Cálculo de los coeficientes de reflexión, ki a partir de PN(z) utilizando las fórmulas de recurrencia obtenidas y los polinomios Pm(z) para m =0,1,...,M. 3.- Obtención de los polinomios Cm(z) = z-m . Pm(z-1) para m =0,1,...,M. 4.- Obtención de los parámetros de la escalera vm para m =0,1,...,M, de acuerdo con el siguiente procedimiento: Bm ( z ) =
Sea:
m
m −1
k =0
k =0
∑ vk ⋅ Ck (z ) = ∑ vk ⋅ Ck (z ) + vm ⋅ Cm (z ) = Bm −1(z ) + vm ⋅ Cm (z )
Bm ( z ) =
m
∑ bm (k ) ⋅ z
Cm ( z ) =
y
k =0 m
Entonces:
−k
∑ bm (k ) ⋅ z
k =0
Identificando para k = m:
−k
=
m
∑ cm (k ) ⋅ z − k
,
k =0
m −1
∑ bm −1(k ) ⋅ z
k =0
−k
+ vm ⋅
cm (m ) = 1
m
∑ cm (k ) ⋅ z − k
k =0
bm (m ) = vm ⋅ cm (m ) ⇒
bm (m ) = vm
Calculo de los polinomios Bm(z) de forma recursiva en sentido inverso, es decir para m=M,M-1,...2: Bm −1( z ) = Bm ( z ) − vm ⋅ Cm ( z )
⇒
bm (m )
⇒
vm
ESTRUCTURA EN CELOSÍA PARA FILTROS IIR Ejemplo: Obtener los parámetros de la estructura celosía en escalera para el siguiente sistema: H (z ) =
M ⎧ −k −1 −2 ⇒ M =2 ⎪ BM ( z ) = ∑ bM (k ) ⋅ z = 1 + 3 z + 4 z ⎪ k =0 ⎨ ⎪ P ( z ) = N a (k ) ⋅ z −k = 1 + 2 z −1 + 5 z −2 − 2 z −3 ⇒ N = 3 ∑ N ⎪ N ⎩ k =0
1 + 3 z −1 + 4 z − 2 1 + 2 z −1 + 5 z − 2 − 2 z −3
Obtención de los ki y los polinomios Pm(z):
k m = am (m ) am −1(0 ) = 1
a (k ) − am (m ) ⋅ am (m − k ) am −1(k ) = m 2 (m ) 1 − am
⎫ ⎪ ⎪ ⎪ ⎬ m = N ,...,2 ⎪ ⎪ 1 ≤ k ≤ m − 1⎪⎭
⎧k3 = a3 (3) = −2 ⎪a (0 ) = 1 ⎪ 2 ⎪ ⎧a2 (1) = −4 a (k ) − a3 (3) ⋅ a3 (3 − k ) ⇒ ⎨ ⎪a2 (k ) = 3 1 − a32 (3) ⎩a2 (2 ) = −3 ⎪ ⎪ ⎨k2 = a2 (2 ) = −3 ⎪a (0) = 1 ⎪ 1 a2 (1) − a2 (2) ⋅ a2 (1) ⎪ = =2 a 1 ( ) ⎪ 1 2 1 − a2 (2 ) ⎪ ⎪k1 = a1(1) = 2 ⎩
ESTRUCTURA EN CELOSÍA PARA FILTROS IIR
Polinomios Pm(z):
Polinomios Cm(z):
⎧ P ( z ) = 1 + 2 z −1 + 5 z −2 − 2 z −3 ⎪ 3 ⎪ −1 −2 ⎨ P2 ( z ) = 1 − 4 z − 3 z ⎪ −1 ⎪⎩ P1( z ) = 1 + 2 z ⎧C ( z ) = −2 + 5 z −1 + 2 z − 2 + z −3 ⎪ 3 ⎪ −1 −2 ⎨C2 ( z ) = −3 − 4 z + z Cm ( z ) = z − m Pm z −1 ⎪ −1 ⎪⎩C1 ( z ) = 2 + z
( )
Polinomios Bm(z): ⇒ bM ( M ) = v M ⎧ BM ( z ) ⎨ ⎩ Bm −1 ( z ) = Bm ( z ) − vm ⋅ C m ( z )
⇒
bm (m ) = v m
⎧ B ( z ) = 1 + 3z −1 + 4 z −2 ⇒ v = b (2) = 4 2 2 ⎪ 2 ⎪ −1 −2 −1 −2 = 13 + 19 z −1 ⇒ b1(1) = v1 = 19 ⎨ B1( z ) = B2 ( z ) − v2 ⋅ C2 ( z ) = 1 + 3z + 4 z − 4 ⋅ − 3 − 4 z + z ⎪ −1 −1 ⎪⎩ B0 ( z ) = B1( z ) − v1 ⋅ C1( z ) = 13 + 19 z − 19 ⋅ 2 + z = −25 ⇒ b0 (0) = v0 = −25
(
(
)
)
ESTRUCTURA EN CELOSÍA PARA FILTROS IIR Resultado: H (z ) =
1 + 3 z −1 + 4 z − 2 1 + 2 z −1 + 5 z − 2 − 2 z −3
Forma Directa II
⎧a3 (k ) = [1, 2, 5, − 2] ⎨ ⎩b2 (k ) = [1, 3, 4]
; k = 1,2,..., N ; k = 0,1,..., M
Celosía
; i = 1,2,..., N ⎧ki = [2, − 3, − 2] ⎨ ⎩v j = [− 25, 19, 4] ; j = 0,1,..., M