Document

Anuncio
Procesamiento Digital de Señales
Adquisición y Procesamiento de Señales Biológicas
Facultad de Ingeniería y Ciencias Exactas y Naturales
FILTRADO DIGITAL FIR E IIR
La función principal de un filtro digital, es discriminar las frecuencias de una señal de
entrada discreta x[n], convirtiéndola en una señal de salida y[n]. Para ello, se parte de
una señal digitalizada (por medio de conversores analógico-digital) y según la ubicación
de polos y ceros del filtro digital H(z), será la secuencia de salida obtenida, la cual
puede ser transformada nuevamente en una señal analógica (conversores digitalanalógico). La Figura siguiente muestra un diagrama en bloques de un filtro digital.
x(t)
H (e jω )
CAD
y(t)
CDA
Los conceptos necesarios para trabajar con filtros digitales se basan en el conocimiento
de la Transformada Z, Transformada de Fourier de una secuencia y las propiedades de
ambas. Es fundamental el manejo de estas propiedades para el diseño y cálculo de los
diferentes filtros digitales.
Transformada Z
Sea x[n] una señal discreta absolutamente integrable para −∞ < n < ∞ . Se define la
Transformada Z Bilateral (TZB) de x[n] como:
X B ( z ) = Z {x[n]} =
+∞
∑ x[n]z − n , con R1 < z < R2
(1)
n = −∞
La Transformada Z Bilateral de una secuencia, tendrá una cierta región de validez, en la
cual XB(z) es convergente, llamada región de convergencia (ROC).
Si x[n] es una señal causal, es decir x[n]=0 para n < 0 , se define la Transformada Z
Unilateral (TZ) de x[n] como:
X ( z ) = Z {x[n]} =
+∞
∑ x[n]z − n , con
(2)
R< z
n=0
Al ser la señal x[n] causal, su ROC estará formada por todos los puntos del plano
complejo Z que se encuentran fuera de un círculo de radio R.
La TZ debe ir siempre acompañada de su ROC ya que dos señales completamente
diferentes pueden tener la misma Transformada Z, solamente diferenciándose por su
correspondiente ROC.
Ejemplo
Encontrar la Transformada Z de la señal causal x[n] = a nu[n]
X (z ) =
∞
∞
∞
⎛a⎞
∑ x[n] ⋅ z − n = ∑ a n ⋅ z − n = ∑ ⎜ z ⎟
n=0
n=0
n=0
⎝ ⎠
n
=
1
a
1−
z
⇒ X (z ) =
z
z−a
con z > a
(3)
La expresión (3) indica que la TZ de x[n], está formada por un cero en el origen y un
polo ubicado en a y es convergente para todos los puntos del plano complejo
exteriores a un círculo de radio a .
Msc. Ing. Franco Martin Pessana
[email protected]
Procesamiento Digital de Señales
Adquisición y Procesamiento de Señales Biológicas
Facultad de Ingeniería y Ciencias Exactas y Naturales
Fórmula de antitransformación
Como toda transformada, las Transformada Z Bilateral o Unilateral tendrán una fórmula
de antitransformación que permitirá obtener la secuencia x[n] a partir de su
Transformada Z. Esa expresión está dada por:
x[n] =
1
X ( z )z n −1dz
∫
2πj C
(4)
La expresión (4) es válida tanto para Transformada Bilateral como para Unilateral.
Calcular la Transformada Z Inversa, implica realizar una integral curvilínea cerrada,
perteneciendo la curva de integración C a la ROC de la TZB o TZ.
Propiedades de la Transformada Z
A partir de las definiciones (1) y (2), pueden desprenderse un conjunto de propiedades
(linealidad, desplazamiento, convolución, etc.), tanto para TZB como para TZ.
Propiedades comunes (TZB y TZ)
f [n ] =
1
F (z )·z n−1 dz , n ∈ Ζ
2πj C∫
1
a1 f 1[n ] + a2 f 2 [n ]
2
f [n ]
Fb (z) =
4
Im{ f [n ] }
5
n k f [n ]
6
a ± n f [n ] , a ≠ 0
n = −∞
∞
F(z) = ∑ f [n ] z − n
n=0
a1 F1 ( z ) + a2 F2 ( z )
F (z )
Re{ f [n ] }
3
∞
∑ f [n ] z − n ;
1
2
1
2j
[F (z ) + F (z )]
[F (z ) − F (z )]
k
{f[ ]}* {g[ ]}
7
8
9
⎛ d ⎞
( −1 )k ⎜ z ⎟ F ( z ), k ∈ ℵ ∪ {0}
⎝ dz ⎠
F (a m1 z )
n
1
n −1
∫ F ( z )z dz , n ∈ Ζ
2πj γ
F( z )
π
1 σ
j ωT
jnωT
∫ F ( e ) ⋅ e dω , σ =
2σ −σ
T
F( z )
f [n ] =
f [n ] =
F ( z ) ⋅ G( z )
n
1 1
⎛z⎞
∫ F (ω) ⋅ G ⎜ ⎟dω
2 πj γ ω
⎝ ω⎠
f [n ] ⋅ g [n ]
10
Propiedades exclusivas de TZB
f [n ] =
1
F (z )·z n−1 dz , n ∈ Ζ
2πj C∫
Fb (z) =
∞
∑ f [n ] z − n
n = −∞
1
f [n + a ]
z F( z )
2
f [n − a ]
z −a F( z )
3
f [− n ]
⎛1⎞
F⎜ ⎟
⎝z⎠
4
f [n ]
n+a
− z a ∫ z −1−a F ( z )dz
5
f [−n ]
⎛1⎞
F⎜ ⎟
⎝z⎠
a
Msc. Ing. Franco Martin Pessana
[email protected]
Procesamiento Digital de Señales
Adquisición y Procesamiento de Señales Biológicas
Facultad de Ingeniería y Ciencias Exactas y Naturales
Propiedades exclusivas de TZ
f [n ] =
1
F (z )·z n−1 dz , n ∈ ℵ ∪ {0}
2πj C∫
∞
F(z) = ∑ f [n ] z −n
n =0
1
f [n + a ]
z [F (z ) − f [0 ] − z f [1] − L − z − a +1 f [a −1] ] , a ∈ ℵ
2
f [n − a ]
z − a F (z ) , a ∈ ℵ
3
f [n − a ]
4
f [0 ]
z − a F (z ) + f [−a ] + z −1 f [−a +1] + z −2 f [−a + 2 ] + L + z − a +1 f [−1]
lim F (z )
lim f [n ]
lim 1 − z −1 ·F (z )
6
∇f [ n ]
z −1
F (z )
z
7
∇ m f [n ]
8
Δf [n ]
9
Δm f [n ]
5
−1
a
z →∞
n →∞
z →1
(
)
m
⎛ z −1⎞
⎜
⎟ F (z )
⎝ z ⎠
(z − 1)F (z ) − zf [0 ]
(z − 1) F (z ) − z ∑ (z − 1)
m
Siendo:
k =0
f [n ]
n
Δk f [0 ]
z
F (z )
z −1
∞ F (z ′)
f
dz ′ + lím [n ]
∫
→
∞
n
′
z
z
n
n
11
m − k −1
k =0
∑ f [k ]
10
m −1
, n ∈ℵ
Identidad de Parseval
∞
1
⎛ 1 ⎞ −1
∑ f [n ] g [n ] =
∫ F (ω) ⋅ G⎜ ⎟ω dω
n = −∞
2 πj γ
⎝ ω⎠
⎪⎧∇f [n ] = f [n ] − f [n−1]
⎨
⎪⎩Δf [n ] = f [n+1] − f [n ]
∞
2
∑ f [n ] =
n = −∞
1
⎛ 1 ⎞ −1
∫ F (ω) ⋅ F ⎜ ⎟ω dω
2πj γ
⎝ ω⎠
Transformada de Fourier de una Secuencia
Sea x[n] una señal discreta absolutamente integrable para −∞ < n < ∞ . Se define la
Transformada de Fourier de la secuencia (TFS) de x[n] como:
( )
X e jω = ℑ{x[n]} =
+∞
∑ x[n]⋅ e − jωn
(5)
n = −∞
La expresión (5) se caracteriza por ser una señal continua de la variable ω (a pesar de
haber partido de una secuencia) y es periódica en ω de período 2π. Esta característica
particular de la TFS, permite obtener su expresión de antitransformación mediante la
Serie Exponencial de Fourier, siendo los coeficientes de la serie, la señal x[n].
x[n] =
1
2π
π
jω
jω n
∫ X (e )·e dω , con
−∞ < n < ∞
(6)
−π
Al igual que la Transformada Z, la TFS tiene una serie de propiedades que permiten su
cálculo en forma eficiente, principalmente cuando se trabaja con la respuesta en
frecuencia de un filtro digital, es decir, la representación gráfica de su respuesta de
amplitud y fase en función de ω.
Las propiedades que se muestran a continuación, son las básicas para trabajar con la
TFS en filtros digitales FIR e IIR.
Msc. Ing. Franco Martin Pessana
[email protected]
Procesamiento Digital de Señales
Adquisición y Procesamiento de Señales Biológicas
Facultad de Ingeniería y Ciencias Exactas y Naturales
Propiedades TFS
f [n] =
1
2π
π
( )
jω
jω n
∫ F e ·e dω
−π
a1 f 1[n ] + a2 f 2 [n ]
1
f [n]·e
3
− jω n
n = −∞
( )
)
)
F (e (
Y (e ) = X (e )⋅ H (e )
F e jω ·e m jωn0
± jω 0 n
y[n] = x[n]∗ h[n] =
4
+∞
a1 F1 ( e jω ) + a 2 F2 ( e jω )
f [n m n 0 ]
2
( ) ∑ x[n]⋅ e
F e jω =
j ω mω 0
∞
∑ x[i ]·h[n − i]
i = −∞
jω
jω
jω
Relación entre TFS y TZB
Existe una relación entre la Transformada de Fourier de una Secuencia y la
Transformada Z Bilateral. Si la ROC de la TZB de una secuencia x[n] contiene al
círculo de radio unidad en el plano complejo Z, entonces se puede demostrar que:
( )
H e jω = H B ( z ) z = e j ω
con −π ≤ ω ≤ π y e jω ∈ ROC de HB(z)
(7)
Filtros Digitales
Un filtro digital puede ser definido como la transformada Z de un sistema lineal e
invariante al desplazamiento (SLID). Considerando que todo SLID puede ser
representado mediante una ecuación en diferencias lineal de orden n:
a 0 y[n] + a1 y[n − 1] + a 2 y[n − 2] + L + a N y[n − N ] = b0 x[n] + b1 x[n − 1] + b2 x[n − 2] + L + b M x[n − M ]
(8)
Transformando miembro a miembro (8) y considerando las propiedades de la TZ:
a 0 Y ( z ) + a1 z −1Y ( z ) + a 2 z −2 Y ( z ) + L + a N z − N Y (z ) = b0 X ( z ) + b1 z −1 X ( z ) + b2 z −2 X ( z ) + L + b N z − M X ( z )
H (z ) =
−1
−2
−M
Y ( z ) b0 + b1 z + b2 z + L + b N z
=
X ( z ) a 0 + a1 z −1 + a 2 z − 2 + L + a N z − N
(9)
La expresión (9) es la transferencia general de un filtro digital IIR (Infinite Impulse
Response), también conocida como filtro ARMA (Auto Regresive Moving Average).
En el caso que a1 = a 2 = a 3 = L = a N = 0 , la transferencia del filtro IIR queda:
H (z ) =
−1
−2
−M
b z M + b1 z M −1 + b2 z M − 2 + L + b N
Y ( z ) b0 + b1 z + b2 z + L + b N z
=
= 0
X (z )
a0
a0 z M
(10)
La expresión (10) es la transferencia de un filtro digital denominado FIR (Finite
Impulse Response), también conocido como filtro AR (Auto Regresive).
Características generales de los filtros FIR
•
•
Respuesta Finita al Impulso h[n], es decir h[n] ≠ 0 para N 1 ≤ n ≤ N 2 = N 1 + N − 1 , donde
si N 1 ≥ 0 el filtro FIR será causal.
Su respuesta en frecuencia estará dada por H (e jω ) = ℑ{h[n]} = ∑ h[n]⋅ e − jωn
N2
n = N1
•
La Transformada Z de un filtro FIR de orden N está formada por N polos ubicados
en el origen de coordenadas del plano complejo Z y N ceros ubicados en cualquier
zona del plano Z.
Msc. Ing. Franco Martin Pessana
[email protected]
Procesamiento Digital de Señales
Adquisición y Procesamiento de Señales Biológicas
Facultad de Ingeniería y Ciencias Exactas y Naturales
•
•
La fase de los FIR es siempre lineal.
La relación entre la frecuencia angular continua Ω y el ángulo discreto ω es lineal
siendo Ω =
•
•
•
ω
Ts
.
Debido a que los FIR tienen respuesta finita al impulso, prácticamente (en tiempo
real), el filtrado de señales se realiza con la operación de convolución en el tiempo o
por medios de la FFT en el dominio frecuencial.
Al estar todos sus polos en el origen, carecen de realimentaciones de la salida, lo
que los hace insensibles al ruido por redondeo. Hay que tener en cuenta que el ruido
por de cuantificación puede ser crítico según la longitud de palabra que se utilice
para diseñar los coeficientes del filtro FIR.
Los filtros FIR se diseñan según la ubicación de sus ceros, o mediante ventanas de
observación temporal.
Características generales de los filtros IIR
•
h[n] tiene un número infinito de muestras.
M
•
La respuesta en frecuencia está dada por H (e jω ) =
∑ bk e − jωk
k =0
N
∑ a k e − jω k
.
k =0
•
•
•
•
•
El orden del filtro (N polos), determina el número previo de muestras de la salida
que se necesitan almacenar y realimentar en el filtro.
Los filtros IIR se implementan prácticamente mediante ecuaciones en diferencias de
orden N que determinan la ubicación de los polos y ceros del filtro.
Son de fácil implementación para N ≤ 6 .
La fase de los filtros IIR es alineal. Sin embargo para f s >> f máx , la relación de fase
es aproximadamente lineal.
Los filtros IIR se diseñan clásicamente a partir de filtros analógicos mediante la
transformada bilineal, que relaciona la frecuencia compleja S con la variable
compleja z.
Estabilidad de los filtros digitales
Un sistema discreto se dice estable si ante una entrada acotada en amplitud, la salida del
mismo también está acotada en amplitud. Este concepto llevado al plano complejo Z y
haciendo uso de la relación entre TFS y TZB indica que:
“Un filtro digital (FIR o IIR) será estable si la ROC de su Transformada Z
incluye al círculo de radio unidad, es decir z = e jω . Esto equivale a decir que
para filtros causales, los polos de su transferencia deben estar dentro del círculo
de radio unitario”.
Los filtros FIR siempre serán estables ya que tienen todos sus polos en el origen de
coordenadas del plano Z, en cambio los filtros IIR pueden llegar a ser inestables si el
módulo de sus polos queda fuera de z = 1 .
Diseño de Filtros IIR mediante Transformada Bilineal
El diseño de los filtros IIR se basa en el conocimiento de la respuesta en frecuencia
H (s ) de filtros analógicos. En consecuencia, se debe encontrar una transformación
conforme que transforme el plano complejo S = σ + jΩ en el plano complejo Z = x + jy .
Msc. Ing. Franco Martin Pessana
[email protected]
Procesamiento Digital de Señales
Adquisición y Procesamiento de Señales Biológicas
Facultad de Ingeniería y Ciencias Exactas y Naturales
La función de variable compleja que realiza esta transformación es la Transformada
Bilineal y está dada por:
s = f (z ) =
2 1 − z −1
Ts 1 + z −1
(11)
Esta transformación, mapea el semiplano izquierdo σ ≤ 0 , del plano complejo S en el
círculo de radio unidad z ≤ 1 del plano complejo Z, asegurando que cualquier filtro
analógico estable y causal (todos sus polos a la izquierda del eje jΩ), se encuentren
dentro del círculo de radio unidad en el plano Z, condición esencial de todo filtro digital
causal para ser estable.
Para analizar la relación entre la frecuencia angular Ω del plano complejo S y el ángulo
ω del plano complejo Z, se reemplaza z = e jω en la expresión (11) obteniéndose:
2 1 − z −1
s = σ + jΩ =
Ts 1 + z −1
j
z = e jω
ω
j
ω
−j
ω
2 z −1
2 e jω − 1 2 e 2 e 2 − e 2
=
=
=
ω
Ts z + 1 z = e ω Ts e jω + 1 Ts j ω2 j ω2
−j
e
e +e 2
j
⎛ω ⎞
sen⎜ ⎟
2
2 ⎛ω ⎞
⎝2⎠
= j tg ⎜ ⎟
s = σ + jΩ = j
T
Ts
ω
⎛ ⎞
⎝2⎠
s
cos⎜ ⎟
⎝2⎠
⇒
Ω=
2 ⎛ω ⎞
tg ⎜ ⎟
Ts ⎝ 2 ⎠
(12)
De la expresión (12), puede observarse la relación alineal entre la frecuencia angular
continua Ω y el ángulo ω. Sin embargo, para frecuencias de muestreo de varios órdenes
de magnitud de las señales a filtrar (el filtro a diseñar), la relación es aproximadamente
lineal ya que tg (x ) ≈ x para x << 1 , y ello ocurre cuando estamos a más de una década del
polo dominante del filtro a diseñar. La relación lineal que se obtiene ante estas
frecuencias de muestreo es Ω =
ω
Ts
= ω ⋅ fs ,
exactamente igual a la relación lineal entre Ω
y ω de los filtros digitales FIR.
Ejemplo
Dado un filtro Pasa Bajos RC de primer orden, se pide encontrar el filtro digital IIR
correspondiente mediante el uso de la transformada bilineal.
En la figura siguiente, se observa el filtro analógico RC de primer orden:
x(t)
La ecuación diferencial que modeliza la relación
entrada-salida de este filtro está dada por:
R
y(t)
dy (t ) 1
1
+
y (t ) =
x(t )
dt
RC
RC
C
(13)
Transformando miembro a miembro por Laplace la ecuación (13) se tiene que:
1
1
sY (s ) +
Y (s ) =
X (s ) ⇒
RC
RC
Y (s )
H (s ) =
=
X (s )
1
RC = Ω c , siendo Ω = 1
c
1
s +Ωc
RC
s+
RC
(14)
Si se utiliza la transformación bilineal para encontrar el filtro digital equivalente, se
tiene que:
s=
2 1 − z −1
T s 1 + z −1
⇒ H ( z ) = H (s ) s = f ( z ) =
Ωc
s + Ωc
Msc. Ing. Franco Martin Pessana
[email protected]
z=
2 1− z − 1
Ts 1+ z −1
Procesamiento Digital de Señales
Adquisición y Procesamiento de Señales Biológicas
Facultad de Ingeniería y Ciencias Exactas y Naturales
Ω c T s + Ω c Ts z
Ω c T s + Ω c T s z −1
H( z ) =
=
(Ω c Ts − 2) + (Ω c Ts + 2)z (Ω c Ts + 2) + (Ω c Ts − 2)z −1
H( z ) =
b0 + b1 z −1
a 0 + a1 z −1
,
siendo:
⎧
⎪ b0
⎪
⎪b
⎪ 1
⎨
⎪a 0
⎪
⎪ a1
⎪⎩
Ω c Ts
Ω c Ts + 2
Ω c Ts
=
Ω c Ts + 2
=
(15)
=1
=
Ω c Ts − 2
Ω c Ts + 2
Como puede apreciarse en la expresión (15), el filtro IIR correspondiente al filtro
analógico Pasa Bajos RC, está compuesto por un cero en z 0 = −1 y un polo ubicado en
zP =
2 − Ω c Ts
2 + Ω c Ts
, es decir, dentro del círculo de radio unidad.
Diseño de Filtros FIR mediante ventanas
El diseño de filtros FIR mediante ventanas se compone por 3 etapas en el diseño:
1. Calcular la respuesta al impulso del filtro ideal deseado, es decir:
1 π
hd [n] =
H d e j ω ⋅ e j ωn d ω
∫
2π −π
2. Si la ventana de observación W N [n] es de longitud N, la respuesta en
frecuencia del filtro ideal deseado debe contener un término lineal de fase
(característica de los filtros FIR), como el siguiente filtro Pasa Bajos digital
ideal:
( )
( )
Hd e
jω
⎧ − jω N −1 , − ω ≤ ω ≤ ω
2
⎪
c
c
= ⎨1 ⋅ e
ω
≤
ω
≤
π
,
c
⎪⎩
0
3. Crear los coeficientes del filtro digital FIR (coeficientes b0 , b1 ,L , b N ),
multiplicando hd [n] por la ventana de observación deseada W N [n] .
h[n] = hd [n]⋅ W N [n]
Filtro Ideal Pasa Bajos Digital
H d (e jω )
1
−π
−ωc
0
ωc
⎧1 ⋅ e − jωα , − ω c ≤ ω ≤ ω c
H d e jω = ⎨
⎩ 0 , ωc ≤ ω ≤ π
( )
π
, siendo α =
N −1
2
ω
(16)
De la respuesta en frecuencia ideal del filtro Pasa Bajos Digital (16), se tiene que:
1
hd [n] =
2π
π
∫ H d (e )⋅ e
−π
jω
jωn
1
dω =
2π
ωc
∫e
−ω c
− jωα
⋅e
jω n
1
dω =
2π
Msc. Ing. Franco Martin Pessana
[email protected]
ωc
∫e
−ω c
jω ( n −α )
ωc
1 e jω (n−α )
dω =
2π j (n − α ) −ω
c
Procesamiento Digital de Señales
Adquisición y Procesamiento de Señales Biológicas
Facultad de Ingeniería y Ciencias Exactas y Naturales
hd [n] =
[
1
e jω (n −α ) − e − jω (n −α )
j 2π (n − α )
c
c
]
⇒ hd [n] =
ωc
N −1
sin c[ω c (n − α )] , α =
2
π
(17)
Filtro Ideal Pasa Banda Digital
H d (e jω )
1
−π
−ω2
−ω1
0
ω1
ω2
π
ω
⎧1 ⋅ e − jωα , ω 1 ≤ ω ≤ ω 2
N −1
, siendo α =
H d (e jω ) = ⎨
2
⎩ 0 , otros casos
(18)
De la respuesta en frecuencia ideal del filtro Pasa Banda Digital (18), se tiene que:
hd [n] =
1
2π
π
∫ H d (e
jω
)⋅ e
jωn
dω =
−π
hd [n] =
1
2π
ω
ω
−ω
⎡ −ω − jωα jωn
⎤
⎤
1 ⎡ jω (n−α )
⋅ e dω + ∫ e − jωα ⋅ e jωn dω ⎥ =
dω + ∫ e jω (n−α )dω ⎥
⎢ ∫e
⎢ ∫e
⎢⎣ −ω
⎥⎦ 2π ⎢⎣−ω
⎥⎦
ω
ω
1
2
e
1 ⎡e
⎢
+
j (n − α ) ω
2π ⎢ j (n − α ) −ω
⎣
−ω1
jω ( n −α )
jω ( n −α )
ω2
2
1
2
1
2
1
2
1
⎤
1
⎥=
e − jω (n−α ) − e − jω (n−α ) + e jω (n−α ) − e jω (n−α )
⎥⎦ j 2π (n − α )
[
1
2
2
1
]
1
[sen[ω 2 (n − α )] − sen[ω 1 (n − α )]] = ω 2 sen[ω 2 (n − α )] − ω1 sen[ω 1 (n − α )] ⇒
hd [n] =
π (n − α )
πω 2 (n − α )
πω 1 (n − α )
hd [n] =
ω2
ω
N −1
sin c[ω 2 (n − α )] − 1 sin c[ω1 (n − α )] , α =
π
π
2
(19)
Filtro Ideal Pasa Altos Digital
H d (e jω )
1
−π
−ωc
0
ωc
π
ω
De la figura anterior, que indica la respuesta en frecuencia de un filtro ideal Pasa Altos,
puede apreciarse que es la misma que se obtendría a partir de la respuesta de un filtro
ideal Pasa Bajos con una frecuencia de corte ω = π − ω c desplazado a la derecha en una
frecuencia ω 0 = π . Por otra parte (propiedad 3 de TFS), se tiene que:
h[n]
h[n] ⋅ e
↔
± jω 0 n
( )
H e jω
↔
H (e j (ω mω
0
)
)
(20)
En consecuencia, de (20) se tiene que:
π − ωc
n
sin c[(π − ω c )(n − α )]⋅ (e jπ ) , pero e jπ = −1 ⇒
π
N −1
n π − ωc
hd [n] = (− 1)
sin c[(π − ω c )(n − α )] , α =
2
π
hd [n] = hdLP [n ]⋅ e jπn =
Filtro Ideal Elimina Banda Digital
1
−π
−ω2
−ω1
0
H d (e jω )
ω1
ω2
Msc. Ing. Franco Martin Pessana
[email protected]
π
ω
(21)
Procesamiento Digital de Señales
Adquisición y Procesamiento de Señales Biológicas
Facultad de Ingeniería y Ciencias Exactas y Naturales
El filtro Elimina banda ideal puede ser visto como una combinación lineal (suma) de un
filtro Pasa Bajos con una frecuencia de corte ω = ω1 y un filtro Pasa Altos con una
frecuencia de corte ω = ω 2 . En consecuencia:
H dRB (e jω ) = H LP (e jω ) + H HP (e jω ) ⇒ hdRB [n] = hdLP [n] + hdHP [n]
ω
N −1
n π −ω2
hdRB [n] = 1 sin c[ω1 (n − α )] + (− 1)
sin c[(π − ω 2 )(n − α )] , ω1 < ω 2 y α =
π
π
2
(22)
Ventanas de Observación
Tipo de Ventana
Función ventana WN[n], 0 ≤ n ≤ N − 1
1
Rectangular
2n
N −1
para 0 ≤ n ≤
N −1
2
Barlett
2−
2n
N −1
para
≤ n ≤ N −1
N −1
2
Hanning
⎛
⎛ 2·π·n ⎞ ⎞
0.5⎜⎜ 1 − cos⎜
⎟ ⎟⎟
⎝ N − 1 ⎠⎠
⎝
Hamming
⎛ 2·π·n ⎞
0.54 − 0.46 cos⎜
⎟
⎝ N −1⎠
Blackman
⎛ 4·π ·n ⎞
⎛ 2·π ·n ⎞
0.42 − 0.5 cos⎜
⎟
⎟ + 0.08 cos⎜
N
−
1
⎝ N − 1⎠
⎠
⎝
2
⎡
2·n ⎞
⎛
I 0 ⎢β· 1 − ⎜ 1 −
⎟
N −1⎠
⎢
⎝
⎣
I 0 [β]
Kaiser
⎤
⎥
⎥
⎦
Donde I0 es la Función de Bessel modificada de orden cero
Características de las Ventanas de Observación
Ancho de Banda de Transición
Δω [rad]
Atenuación Mínima en Banda
de Transición [dB]
Rectangular
1.8 π
N
21
Barlett
5.6 π
N
25
Hanning
6.2 π
N
44
Tipo de Ventana
Hamming
Blackman
Kaiser (β=4.54)
Kaiser (β=5.67)
6.6 π
N
11π
N
5.8 π
N
7.8 π
N
53
74
50
60
Las tablas anteriores muestras las características temporales y frecuenciales de las
ventanas de observación de uso frecuente. La atenuación mínima que se obtiene para
cada una de las ventanas, es función del orden del filtro FIR (número de muestras N+1)
y en consecuencia, la selectividad aumenta incrementando la cantidad de coeficientes
del filtro.
Msc. Ing. Franco Martin Pessana
[email protected]
Procesamiento Digital de Señales
Adquisición y Procesamiento de Señales Biológicas
Facultad de Ingeniería y Ciencias Exactas y Naturales
Ejemplos de diseño de Filtros Digitales FIR e IIR
Primera Parte. Filtros FIR (Finite Impulse Response)
1. Para cada una de las siguientes especificaciones de diseño, se pide implementar los
FIR correspondientes mediante una ventana rectangular. En todos los caso el valor
de N es 67. Se pide además graficar la respuesta al impulso de cada uno de ellos y la
respuesta en frecuencia (lineal y semilogarítmica) para cada uno de ellos verificando
su diseño. Utilice para estos gráficos MatLab.
a) Filtro Pasa Bajos con las siguientes características: Frecuencia de Muestreo fs de
8 KHz; Banda de Paso: 0 – 1 KHz.
A partir de los datos del problema, se tiene que:
f s 2π
=
fc ωc
ω c = 2π
⇒
fc
1000 1
= 2π
= π = 0.25π [rad ]
fs
8000 4
De la expresión (17) se tiene que:
hd [n] =
ωc
N −1
y además W N [n] = u[n] − u[n − N ]
sin c[ω c (n − α )] , α =
2
π
En consecuencia los coeficientes del filtro FIR (su respuesta al impulso) serán:
h[n] = hd [n]⋅ WN [n] =
ωc
sin c[ω c (n − α )]⋅ (u[n] − u[n − N ])
π
N −1
y N = 67
2
b) Filtro Pasa Altos con las siguientes características: Frecuencia de Muestreo fs de
8 KHz; Banda de Paso: 3 – ∞ KHz.
con ω c = 0.25π , α =
A partir de los datos del problema, se tiene que:
f s 2π
=
fc ωc
ω c = 2π
⇒
fc
3000 3
= 2π
= π = 0.75π [rad ]
fs
8000 4
De la expresión (21) se tiene que:
hd [n] = (− 1)
n
π − ωc
N − 1 y además
W N [n ] = u [n ] − u [n − N ]
sin c[(π − ω c )(n − α )] , α =
π
2
En consecuencia los coeficientes del filtro FIR (su respuesta al impulso) serán:
h[n] = hd [n]⋅ WN [n] = (− 1)
n
π − ωc
sin c[(π − ω c )(n − α )]⋅ (u[n] − u[n − N ])
π
N −1
y N = 67
2
c) Filtro Pasa Banda con las siguientes características: Frecuencia de Muestreo fs
de 8 KHz; Banda de Eliminación Inferior: 0 – 1 KHz; Banda de Paso: 1 – 2
KHz; Banda de Eliminación Superior: 2 – ∞ KHz.
con ω c = 0.75π , α =
A partir de los datos del problema, se tiene que:
f s 2π
=
fc ωc
f s 2π
=
fc ωc
⇒
⇒
f1
1000 1
= 2π
= π = 0.25π [rad ]
fs
8000 4
f
2000 1
ω 2 = 2π 2 = 2π
= π = 0.5π [rad ]
fs
8000 2
ω1 = 2π
Msc. Ing. Franco Martin Pessana
[email protected]
Procesamiento Digital de Señales
Adquisición y Procesamiento de Señales Biológicas
Facultad de Ingeniería y Ciencias Exactas y Naturales
De la expresión (19) se tiene que:
hd [n] =
ω2
ω
N −1
y además
sin c[ω 2 (n − α )] − 1 sin c[ω1 (n − α )] , α =
π
π
2
W N [n ] = u [n ] − u [n − N ]
En consecuencia, los coeficientes del filtro FIR (su respuesta al impulso) serán:
ω
⎛ω
⎞
h[n] = hd [n]⋅W N [n] = ⎜ 2 sin c[ω 2 (n − α )] − 1 sin c[ω 1 (n − α )]⎟ ⋅ (u[n] − u[n − N ])
π
⎝π
⎠
N −1
y N = 67
2
d) Filtro Elimina Banda con las siguientes características: Frecuencia de Muestreo
fs de 8 KHz; Banda de Paso Inferior: 0 – 1 KHz; Banda de Eliminación: 1 – 2
KHz; Banda de Paso Superior: 2 – ∞ KHz.
con ω1 = 0.25π , ω 2 = 0.5π , α =
A partir de los datos del problema, se tiene que:
f s 2π
=
fc ωc
f s 2π
=
fc ωc
⇒
⇒
f1
1000 1
= 2π
= π = 0.25π [rad ]
fs
8000 4
f
2000 1
ω 2 = 2π 2 = 2π
= π = 0.5π [rad ]
fs
8000 2
ω1 = 2π
De la expresión (22) se tiene que:
hd [n] =
ω1
N −1
n π − ω2
y además
sin c[ω1 (n − α )] + (− 1)
sin c[(π − ω 2 )(n − α )] , α =
π
π
2
W N [n ] = u[n] − u[n − N ]
En consecuencia los coeficientes del filtro FIR (su respuesta al impulso) serán:
⎛ω
⎞
n π − ω2
h[n] = hd [n]⋅ WN [n] = ⎜ 1 sin c[ω1 (n − α )] + (− 1)
sin c[(π − ω 2 )(n − α )]⎟ ⋅ (u[n] − u[n − N ])
π
⎝π
⎠
N −1
y N = 67
2
e) Reduzca el orden N de los filtros y observe como cambian las características de
los filtros diseñados. ¿Qué puede concluir al respecto?.
con ω1 = 0.25π , ω 2 = 0.5π , α =
A responder por el alumno en base al análisis de los algoritmos diseñados.
2. Para cada una de las siguientes especificaciones de diseño, se pide implementar los
FIR correspondientes mediante la técnica de ventanas. Se pide además graficar la
respuesta al impulso de cada uno de ellos y la respuesta en frecuencia (lineal y
semilogarítmica) para cada uno de ellos verificando su diseño. Utilice para estos
gráficos MatLab.
a) Diseñe un filtro Pasa Bajos con las siguientes características: Frecuencia de
Muestreo fs de 8 KHz; Banda de Paso: 0 – 1 KHz; Banda de Eliminación: 1.4 –
∞ KHz; Atenuación en Banda de Eliminación: 50 dB.
A partir de los datos del problema, se tiene que:
Δf = 1400 − 1000 = 400 [Hz ] . De la tabla de características de atenuación
(ventanas de observación), se elige una ventana de Hamming, es decir:
Msc. Ing. Franco Martin Pessana
[email protected]
Procesamiento Digital de Señales
Adquisición y Procesamiento de Señales Biológicas
Facultad de Ingeniería y Ciencias Exactas y Naturales
⎛ 2·π ·n ⎞
WN [n] = 0.54 − 0.46 cos⎜
⎟ ⇒ de la tabla de atenuaciones de ventanas:
⎝ N − 1⎠
6.6π
400
1
Δf
N=
⇒ Δω = 2π
= 2π
= π = 0.1π [rad ]
Δω
fs
8000 10
6.6π 6.6π
N=
=
= 66 . Se elige un valor de N = 67 .
Δω 0.1π
Por otra parte, al tener una banda de transición desde la banda de paso a la banda
de eliminación que no es infinita, se tiene que:
fc =
f
1000 + 1400
1200 3
= 1200 [Hz ] ⇒ ω c = 2π c = 2π
= π = 0.3π [rad ]
2
fs
8000 10
De la expresión (17) se tiene que:
hd [n] =
2·π ·n ⎞
ωc
N −1
y además WN [n] = 0.54 − 0.46 cos⎛⎜
sin c[ω c (n − α )] , α =
⎟
2
π
⎝ N − 1⎠
En consecuencia los coeficientes del filtro FIR (su respuesta al impulso) serán:
h[n] = hd [n]⋅WN [n] =
ωc
⎡
⎛ 2·π ·n ⎞⎤
sin c[ω c (n − α )]⋅ ⎢0.54 − 0.46 cos⎜
⎟⎥, 0 ≤ n ≤ N − 1
π
⎝ N − 1 ⎠⎦
⎣
N −1
y N = 67
2
b) Diseñe un filtro Pasa Altos con las siguientes características: Frecuencia de
Muestreo fs de 10 KHz; Banda de Eliminación: 0 – 3 KHz; Banda de Paso: 3.5 –
∞ KHz; Atenuación en Banda de Eliminación: 40 dB.
con ω c = 0.3π , α =
A partir de los datos del problema, se tiene que:
Δf = 3500 − 3000 = 500 [Hz ] . De la tabla de características de atenuación
(ventanas de observación), se elige una ventana de Hanning, es decir:
WN [n] =
1⎡
⎛ 2·π ·n ⎞⎤
1 − cos⎜
⎟⎥ ⇒ de la tabla de atenuaciones de ventanas:
⎢
2⎣
⎝ N − 1 ⎠⎦
Δf
6.2π
500
1
N=
⇒ Δω = 2π
= 2π
= π = 0.1π [rad ]
Δω
fs
10000 10
6.2π 6.6π
=
= 62 . Se elige un valor de N = 63 .
N=
Δω 0.1π
Por otra parte, al tener una banda de transición desde la banda de paso a la banda
de eliminación que no es infinita, se tiene que:
f
3250
65
3000 + 3500
= 3250 [Hz ] ⇒ ω c = 2π c = 2π
=
π = 0.65π [rad ]
fs
10000 100
2
De la expresión (21) se tiene que:
fc =
hd [n] = (− 1)
n
π − ωc
N − 1 y además
1⎡
⎛ 2·π ·n ⎞ ⎤
sin c[(π − ω c )(n − α )] , α =
W N [n ] = ⎢1 − cos ⎜
⎟⎥
π
2
2⎣
⎝ N − 1 ⎠⎦
En consecuencia los coeficientes del filtro FIR (su respuesta al impulso) serán:
h[n] = hd [n]⋅ WN [n] = (− 1)
n
π − ωc
1⎡
⎛ 2·π ·n ⎞⎤
sin c[(π − ω c )(n − α )]⋅ ⎢1 − cos⎜
⎟⎥, 0 ≤ n ≤ N − 1
π
2⎣
⎝ N − 1 ⎠⎦
Msc. Ing. Franco Martin Pessana
[email protected]
Procesamiento Digital de Señales
Adquisición y Procesamiento de Señales Biológicas
Facultad de Ingeniería y Ciencias Exactas y Naturales
N −1
y N = 63
2
c) Diseñe un filtro Pasa Banda con las siguientes características: Frecuencia de
Muestreo fs de 8 KHz; Banda de Eliminación Inferior: 0 – 0.6 KHz; Banda de
Paso: 1 – 2 KHz; Banda de Eliminación Superior: 2.6 – ∞ KHz. Atenuación en
las Bandas de Eliminación: 40 dB. Utilice una ventana de Blackman.
con ω c = 0.65π , α =
A partir de los datos del problema, se tiene que:
Δf1 = 1000 − 600 = 400 [Hz ] y Δf 2 = 2600 − 2000 = 600 [Hz ]
De los dos anchos de banda de atenuación, se elige el mínimo, que dará lugar a
un mayor número de muestras del filtro FIR a diseñar. A partir de la tabla de
características de atenuación de la ventana de Blackman, se tiene que:
⎛ 4·π ·n ⎞
⎛ 2·π ·n ⎞
WN [n ] = 0.42 − 0.5 cos⎜
⎟ ⇒ de la tabla de atenuaciones de
⎟ + 0.08 cos⎜
⎝ N − 1⎠
⎝ N − 1⎠
ventanas:
N=
11π
⇒ Δω = 2π
Δf1
= 2π
400
1
= π = 0.1π
8000 10
Δω
fs
11π 11π
N=
=
= 110 . Se elige un valor de N = 111 .
Δω 0.1π
[rad ]
Por otra parte, no ser las bandas de transición infinitas, se tiene que:
f
800
2
600 + 1000
= 800 [Hz ] ⇒ ω1 = 2π 1 = 2π
= π = 0.2π [rad ]
fs
8000 10
2
f
2300 23
2000 + 2600
= 2300 [Hz ] ⇒ ω 2 = 2π 2 = 2π
= π [rad ]
f2 =
fs
8000 40
2
De la expresión (19) se tiene que:
f1 =
hd [n] =
ω2
ω
N −1
y además:
sin c[ω 2 (n − α )] − 1 sin c[ω 1 (n − α )] , α =
π
π
2
⎛ 4·π ·n ⎞
⎛ 2·π ·n ⎞
WN [n] = 0.42 − 0.5 cos⎜
⎟
⎟ + 0.08 cos⎜
⎝ N −1 ⎠
⎝ N −1⎠
En consecuencia los coeficientes del filtro FIR (su respuesta al impulso) serán:
ω
⎛ω
⎞
h[n] = hd [n]⋅WN [n] = ⎜ 2 sin c[ω 2 (n − α )] − 1 sin c[ω1 (n − α )]⎟ ⋅ WN [n], 0 ≤ n ≤ N − 1 con:
π
⎝π
⎠
23
N −1
⎛ 2·π ·n ⎞
⎛ 4·π ·n ⎞
ω1 = 0.2π , ω 2 = π , WN [n] = 0.42 − 0.5 cos⎜
y N = 111
⎟ + 0.08 cos⎜
⎟, α =
40
2
⎝ N −1⎠
⎝ N −1⎠
d) Diseñe un filtro Elimina Banda con las siguientes características: Frecuencia de
Muestreo fs de 8 KHz; Banda de Paso Inferior: 0 – 0.6 KHz; Banda de
Eliminación: 1 – 2 KHz; Banda de Paso Superior: 2.6 – ∞ KHz. Atenuación en
la Banda de Eliminación: 70 dB.
A partir de los datos del problema, se tiene que:
Δf1 = 1000 − 600 = 400 [Hz ] y Δf 2 = 2600 − 2000 = 600 [Hz ]
De los dos anchos de banda de atenuación, se elige el mínimo, que dará lugar a
un mayor número de muestras del filtro FIR a diseñar. A partir de la tabla de
características de atenuación, se elige la ventana de Blackman:
Msc. Ing. Franco Martin Pessana
[email protected]
Procesamiento Digital de Señales
Adquisición y Procesamiento de Señales Biológicas
Facultad de Ingeniería y Ciencias Exactas y Naturales
⎛ 2·π ·n ⎞
⎛ 4·π ·n ⎞
WN [n ] = 0.42 − 0.5 cos⎜
⎟ + 0.08 cos⎜
⎟ ⇒ de la tabla de atenuaciones de
N
−
1
⎝
⎠
⎝ N − 1⎠
ventanas:
N=
11π
⇒ Δω = 2π
Δf1
= 2π
400
1
= π = 0.1π
8000 10
Δω
fs
11π 11π
N=
=
= 110 . Se elige un valor de N = 111 .
Δω 0.1π
[rad ]
Por otra parte, no ser las bandas de transición infinitas, se tiene que:
600 + 1000
f
800
2
= 800 [Hz ] ⇒ ω1 = 2π 1 = 2π
= π = 0.2π [rad ]
2
fs
8000 10
f
2300 23
2000 + 2600
= 2300 [Hz ] ⇒ ω 2 = 2π 2 = 2π
= π [rad ]
f2 =
fs
8000 40
2
De la expresión (22) se tiene que:
f1 =
ω1
N −1
n π − ω2
sin c[ω1 (n − α )] + (− 1)
sin c[(π − ω 2 )(n − α )] , ω1 < ω 2 y α =
π
π
2
y además WN [n] = 0.42 − 0.5 cos⎛⎜ 2·π ·n ⎞⎟ + 0.08 cos⎛⎜ 4·π ·n ⎞⎟
⎝ N −1 ⎠
⎝ N −1⎠
hd [n] =
En consecuencia los coeficientes del filtro FIR (su respuesta al impulso) serán:
⎛ω
⎞
n π −ω2
h[n] = hd [n]⋅WN [n] = ⎜ 1 sin c[ω1 (n − α )] + (− 1)
sin c[(π − ω 2 )(n − α )]⎟ ⋅ WN [n], 0 ≤ n ≤ N − 1
π
⎝π
⎠
siendo:
ω1 = 0.2π , ω 2 =
23
N −1
⎛ 2·π ·n ⎞
⎛ 4·π ·n ⎞
π , WN [n] = 0.42 − 0.5 cos⎜
y N = 111
⎟ + 0.08 cos⎜
⎟, α =
40
2
⎝ N −1⎠
⎝ N −1⎠
3. Diseñe un filtro FIR Notch de segundo orden (N=2) que elimine la frecuencia de
ruido de línea de 50 Hz de un Electrocardiógrafo. La frecuencia a la cual se
muestrea la señal de ECG es de 250 Hz (más del doble del ancho de banda de una
señal de electrocardiograma que es aproximadamente 100 Hz en el humano).
Para diseñar un filtro FIR Notch de segundo orden, sus dos polos tienen que estar en
el origen del plano complejo Z, en tanto que los dos ceros complejos conjugados
deber estar sobre el círculo de radio unidad. En consecuencia:
f s 2π
=
f0 ω0
⇒
ω 0 = 2π
f0
50
2
= 2π
= π = 0.4π [rad ]
fs
250 5
Los ceros del filtro FIR Notch serán entonces: z0 = 1 ⋅ e ± jω . Por lo tanto, la respuesta
del filtro en la transformada Z será:
0
H (z ) = k
( z − z ) ⋅ ( z − z ) = k (z − e ω ) ⋅ (z − e
j
01
0
02
z
2
z
2
− jω 0
)=k z
2
− 2 z cos ω 0 + 1
z2
Se desea que a ω = 0 la ganancia del filtro Notch sea 1. En consecuencia:
(
H z = e jω
ω =0
)
=1 =1 ⇒ k
1 − 2 cos ω 0 + 1
1
=1 ⇒ k =
2(1 − cos ω 0 )
1
Finalmente, se tiene que:
H (z ) =
z 2 − 2 z cos ω 0 + 1
1
2(1 − cos ω 0 )
z2
Msc. Ing. Franco Martin Pessana
[email protected]
Procesamiento Digital de Señales
Adquisición y Procesamiento de Señales Biológicas
Facultad de Ingeniería y Ciencias Exactas y Naturales
Antitransformando la expresión anterior, se encuentran los coeficientes del filtro
digital FIR Notch de segundo orden que elimina la frecuencia de línea en una señal
de ECG:
h[n] =
cos ω 0
1
1
2
δ [n] −
δ [n − 1] +
δ [n − 2], con ω 0 = π [rad ]
2(1 − cos ω 0 )
2(1 − cos ω 0 )
2(1 − cos ω 0 )
5
4. Diseñe un diferenciador FIR de primer orden si la frecuencia a la cual se quiere
muestrear la señal a derivar es de fs=1000 Hz.
La derivada discreta de una señal digitalizada, se puede expresar como:
y[n] =
x[n] − x[n − 1]
= f s ⋅ ( x[n] − x[n − 1])
Ts
Si se reemplaza x[n] = d [n] , se obtendrá la respuesta al impulso del filtro FIR
derivador, es decir:
h[n] = f s ⋅ δ [n] − f s ⋅ δ [n − 1]
Transformando la expresión anterior, se obtiene la transferencia del filtro digital:
H [z ] = f s ⋅ (1 − z −1 ) = f s
z −1
z
Segunda Parte. Filtros IIR (Infinite Impulse Response)
En la sección de diseño de filtros IIR mediante Transformada Bilineal, se explicitó el
procedimiento utilizado para el cálculo de los coeficientes del filtro digital. En
consecuencia, estos ejercicios se encuentran desarrollados íntegramente en Matlab,
debido a la complejidad de los cálculos si se realizaran en forma manual.
1. Dada la respuesta en frecuencia de un filtro Pasa Bajos de primer orden RC, se pide
implementarlo en forma digital con un filtro IIR (mediante el uso de la
Transformada Bilineal) con las siguientes características: Frecuencia de Muestreo
fs=1 KHz y una frecuencia de 3 dB del filtro de 60 Hz.
2. Verifique la correcta implementación del filtro IIR anterior mediante MatLab,
calculando y graficando su respuesta al impulso, su función de Transferencia y
graficando la salida temporal y(t) que se obtiene de haber filtrado la señal de
entrada x(t ) = 2 sen(2π50 ⋅ t ) + sen(2π300 ⋅ t ) con el filtro digital IIR.
3. Diseñe un filtro Pasa Bajos Butterworth IIR suponiendo que se requiere que la
banda de paso sea constante dentro de 1 dB para frecuencias por debajo de 100 Hz y
que la banda de atenuación sea mayor que 15 dB para frecuencias superiores a 150
Hz (se recomienda utilizar MatLab para obtener la función de transferencia del filtro
pedido). La frecuencia de muestreo que se utiliza para el diseño del filtro es de 1
KHz. Verifique su diseño graficando la respuesta al impulso del filtro como así
también su respuesta en frecuencia.
4. Diseñe un filtro Pasa Altos Chebyshev IIR con una frecuencia de –3 dB a 1 KHz y
una banda de atenuación de 50 dB a 0.5 KHz. La frecuencia de muestreo que se
utiliza para el diseño del filtro es de 10 KHz. Verifique su diseño graficando la
respuesta al impulso del filtro como así también su respuesta en frecuencia.
Msc. Ing. Franco Martin Pessana
[email protected]
Procesamiento Digital de Señales
Adquisición y Procesamiento de Señales Biológicas
Facultad de Ingeniería y Ciencias Exactas y Naturales
Desarrollos de los ejemplos en lenguaje MatLab
Primera Parte. Filtros FIR (Finite Impulse Response)
1.
%
%
%
%
Resultados MatLab.
a) Filtro Pasa Bajos con las siguientes características: Frecuencia de Muestreo fs de
8 KHz; Banda de Paso: 0 – 1 KHz. Ventana rectancular con N=67.
Filtro Pasa Bajos FIR con Ventana Rectangular
FIR con su respuesta de frecuencia y fase. Diseño mediante ventana cuadrada
Copyright @2004
Msc. Ing. Franco Martín Pessana. Universidad Favaloro
function G6_1a
fs=8000;
figure(1)
N=67;
alfa=(N-1)/2; % Linealidad de fase
wc=0.25*pi;
n=0:N-1;
hn=zeros(size(n));
hn=wc/pi*sinc(wc*(n-alfa)/pi);
subplot(221)
plot(n,hn);
title('Pasa Bajos. h[n]')
grid on
[H,W]=freqz(hn,1,N);
f=W*fs/(2*pi);
subplot(222)
plot(f,abs(H));
grid on
title('Resp. de Amplitud')
subplot(223)
Hdb=20*log(abs(H));
plot(f,Hdb);
grid on
title('Resp. de Amplitud (dB)')
xlabel('f [Hz]')
subplot(224)
plot(f,angle(H));
title('Resp. de Fase')
grid on
xlabel('f [Hz]')
b) Filtro Pasa Altos con las siguientes características: Frecuencia de Muestreo fs de
8 KHz; Banda de Paso: 3 – ∞ KHz. Ventana rectancular con N=67.
% Filtro Pasa Altos FIR con
Ventana Rectangular
% Copyright @2004
% Msc. Ing. Franco Martín Pessana.
Universidad Favaloro
function G6_1b
fs=8000;
figure(1)
N=67;
alfa=(N-1)/2;
n=0:N-1;
hn=zeros(size(n));
wc=0.75*pi;
hn=zeros(size(n));
expo=(-1).^n;
hn=(pi-wc)/pi*sinc((pi-wc)…
*(n-alfa)/pi).*expo;
subplot(221)
plot(n,hn);
title('Pasa Altos. h[n]')
Msc. Ing. Franco Martin Pessana
[email protected]
Procesamiento Digital de Señales
Adquisición y Procesamiento de Señales Biológicas
Facultad de Ingeniería y Ciencias Exactas y Naturales
grid on
[H,W]=freqz(hn,1,N);
f=W*fs/(2*pi);
subplot(222)
plot(f,abs(H));
grid on
title('Resp. de Amplitud')
subplot(223)
Hdb=20*log(abs(H));
plot(f,Hdb);
grid on
title('Resp. de Amplitud (dB)')
xlabel('f [Hz]')
subplot(224)
plot(f,angle(H));
title('Resp. de Fase')
grid on
xlabel('f [Hz]')
c)
%
%
%
%
Filtro Pasa Banda con las siguientes características: Frecuencia de Muestreo fs
de 8 KHz; Banda de Eliminación Inferior: 0 – 1 KHz; Banda de Paso: 1 – 2
KHz; Banda de Eliminación Superior: 2 – ∞ KHz. Ventana rectancular con
N=67.
Filtro Pasa Banda FIR con Ventana Rectangular
FIR con su respuesta de frecuencia y fase. Diseño mediante ventana cuadrada
Copyright @2004
Msc. Ing. Franco Martín Pessana. Universidad Favaloro
function G6_1c
% Filtro FIR Pasa Banda f1=1 KHz y f2=2 KHz
fs=8000;
figure(1)
N=67;
% tamaño del filtro FIR
alfa=(N-1)/2; % Linealidad de fase
n=0:N-1;
hn=zeros(size(n));
w1=0.25*pi;
w2=0.5*pi;
hn=zeros(size(n));
hn=w2/pi*sinc(w2*(n-alfa)/pi)…
-w1/pi*sinc(w1*(n-alfa)/pi);
subplot(221)
plot(n,hn);
title('Pasa Banda. H[n]')
grid on
[H,W]=freqz(hn,1,N);
f=W*fs/(2*pi);
subplot(222)
plot(f,abs(H));
grid on
title('Resp. de Amplitud')
subplot(223)
Hdb=20*log(abs(H));
plot(f,Hdb);
grid on
title('Resp. de Amplitud (dB)')
xlabel('f [Hz]')
subplot(224)
plot(f,angle(H));
grid on
title('Resp. de Fase')
grid on
xlabel('f [Hz]')
d) Filtro Elimina Banda con las siguientes características: Frecuencia de Muestreo
fs de 8 KHz; Banda de Paso Inferior: 0 – 1 KHz; Banda de Eliminación: 1 – 2
KHz; Banda de Paso Superior: 2 – ∞ KHz.
Msc. Ing. Franco Martin Pessana
[email protected]
Procesamiento Digital de Señales
Adquisición y Procesamiento de Señales Biológicas
Facultad de Ingeniería y Ciencias Exactas y Naturales
%
%
%
%
Filtro Elimina FIR con Ventana Rectangular
FIR con su respuesta de frecuencia y fase. Diseño mediante ventana cuadrada
Copyright @2004
Msc. Ing. Franco Martín Pessana. Universidad Favaloro
function G6_1d
fs=8000;
figure(1)
N=67;
alfa=(N-1)/2;
n=0:N-1;
hn=zeros(size(n));
w1=0.25*pi;
w2=0.5*pi;
expo=(-1).^n;
hn=w1/pi*sinc(w1*(n-alfa)/pi)…
+(pi-w2)/pi*sinc((pi-w2)…
*(n-alfa)/pi).*expo;
subplot(221)
plot(n,hn);
title('Elimina Banda H[n]')
grid on
[H,W]=freqz(hn,1,N);
f=W*fs/(2*pi);
subplot(222)
plot(f,abs(H));
grid on
title('Resp. de Amplitud')
subplot(223)
Hdb=20*log(abs(H));
plot(f,Hdb);
grid on
title('Resp. de Amplitud (dB)')
xlabel('f [Hz]')
subplot(224)
plot(f,angle(H));
grid on
title('Resp. de Fase')
grid on
xlabel('f [Hz]')
2.
Resultados MatLab.
a) Diseñe un filtro Pasa Bajos con las siguientes características: Frecuencia de
Muestreo fs de 8 KHz; Banda de Paso: 0 – 1 KHz; Banda de Eliminación: 1.4 –
∞ KHz; Atenuación en Banda de Eliminación: 50 dB.
% Filtro Pasa Bajos FIR con
Ventana Hamming
% FIR con su respuesta de
frecuencia y fase. Diseño
mediante ventana cuadrada
% Copyright @2004
% Msc. Ing. Franco Martín
Pessana. Universidad Favaloro
function G6_2a
fs=8000;
figure(1)
N=67;
alfa=(N-1)/2;
wc=0.3*pi;
n=0:N-1;
hn=zeros(size(n));
hn=wc/pi*sinc(wc*(n-alfa)/pi);
Wn=hamming(N)';
hn=hn.*Wn;
subplot(221)
plot(n,hn);
Msc. Ing. Franco Martin Pessana
[email protected]
Procesamiento Digital de Señales
Adquisición y Procesamiento de Señales Biológicas
Facultad de Ingeniería y Ciencias Exactas y Naturales
title('Pasa Bajos. h[n]')
grid on
[H,W]=freqz(hn,1,N);
f=W*fs/(2*pi);
subplot(222)
plot(f,abs(H));
grid on
title('Resp. de Amplitud')
subplot(223)
Hdb=20*log(abs(H));
plot(f,Hdb);
grid on
title('Resp. de Amplitud (dB)')
xlabel('f [Hz]')
subplot(224)
plot(f,angle(H));
title('Resp. de Fase')
grid on
xlabel('f [Hz]')
b) Diseñe un filtro Pasa Altos con las siguientes características: Frecuencia de
Muestreo fs de 10 KHz; Banda de Eliminación: 0 – 3 KHz; Banda de Paso: 3.5 –
∞ KHz; Atenuación en Banda de Eliminación: 40 dB.
%
%
%
%
Filtro Pasa Altos FIR con Ventana Hanning
FIR con su respuesta de frecuencia y fase. Diseño mediante ventana cuadrada
Copyright @2004
Msc. Ing. Franco Martín Pessana. Universidad Favaloro
function G6_2b
fs=10000;
figure(1)
N=63;
alfa=(N-1)/2;
n=0:N-1;
hn=zeros(size(n));
wc=0.65*pi;
hn=zeros(size(n));
expo=(-1).^n;
hn=(pi-wc)/pi*sinc((pi-wc)…
*(n-alfa)/pi).*expo;
Wn=hanning(N)';
hn=hn.*Wn;
subplot(221)
plot(n,hn);
title('Pasa Altos. h[n]')
grid on
[H,W]=freqz(hn,1,N);
f=W*fs/(2*pi);
subplot(222)
plot(f,abs(H));
grid on
title('Resp. de Amplitud')
subplot(223)
Hdb=20*log(abs(H));
plot(f,Hdb);
grid on
title('Resp. de Amplitud (dB)')
xlabel('f [Hz]')
subplot(224)
plot(f,angle(H));
title('Resp. de Fase')
grid on
xlabel('f [Hz]')
c)
Diseñe un filtro Pasa Banda con las siguientes características: Frecuencia de
Muestreo fs de 8 KHz; Banda de Eliminación Inferior: 0 – 0.6 KHz; Banda de
Msc. Ing. Franco Martin Pessana
[email protected]
Procesamiento Digital de Señales
Adquisición y Procesamiento de Señales Biológicas
Facultad de Ingeniería y Ciencias Exactas y Naturales
Paso: 1 – 2 KHz; Banda de Eliminación Superior: 2.6 – ∞ KHz. Atenuación en
las Bandas de Eliminación: 40 dB. Utilice una ventana de Blackman.
%
%
%
%
Filtro Pasa Banda FIR con Ventana Blackman
FIR con su respuesta de frecuencia y fase. Diseño mediante ventana cuadrada
Copyright @2004
Msc. Ing. Franco Martín Pessana. Universidad Favaloro
function G6_2c
fs=8000;
figure(1)
N=111;
alfa=(N-1)/2;
n=0:N-1;
hn=zeros(size(n));
w1=0.2*pi;
w2=23*pi/40;
hn=zeros(size(n));
hn=w2/pi*sinc(w2*(n-alfa)/pi)…
-w1/pi*sinc(w1*(n-alfa)/pi);
Wn=blackman(N)';
hn=hn.*Wn;
subplot(221)
plot(n,hn);
title('Pasa Banda. H[n]')
grid on
[H,W]=freqz(hn,1,N);
f=W*fs/(2*pi);
subplot(222)
plot(f,abs(H));
grid on
title('Resp. de Amplitud')
subplot(223)
Hdb=20*log(abs(H));
plot(f,Hdb);
grid on
title('Resp. de Amplitud (dB)')
xlabel('f [Hz]')
subplot(224)
plot(f,angle(H));
grid on
title('Resp. de Fase')
grid on
xlabel('f [Hz]')
d) Diseñe un filtro Elimina Banda con las siguientes características: Frecuencia de
Muestreo fs de 8 KHz; Banda de Paso Inferior: 0 – 0.6 KHz; Banda de
Eliminación: 1 – 2 KHz; Banda de Paso Superior: 2.6 – ∞ KHz. Atenuación en
la Banda de Eliminación: 70 dB.
%
%
%
%
Filtro Elimina FIR con Ventana Blackmamn
FIR con su respuesta de frecuencia y fase. Diseño mediante ventana cuadrada
Copyright @2004
Msc. Ing. Franco Martín Pessana. Universidad Favaloro
function G6_2d
fs=8000;
figure(1)
N=111;
alfa=(N-1)/2;
n=0:N-1;
hn=zeros(size(n));
w1=0.2*pi;
w2=23*pi/40;
expo=(-1).^n;
hn=w1/pi*sinc(w1*(n-alfa)/pi)+…
Msc. Ing. Franco Martin Pessana
[email protected]
Procesamiento Digital de Señales
Adquisición y Procesamiento de Señales Biológicas
Facultad de Ingeniería y Ciencias Exactas y Naturales
(pi-w2)/pi*sinc((pi-w2)*…
(n-alfa)/pi).*expo;
Wn=blackman(N)';
hn=hn.*Wn;
subplot(221)
plot(n,hn);
title('Elimina Banda H[n]')
grid on
[H,W]=freqz(hn,1,N);
f=W*fs/(2*pi);
subplot(222)
plot(f,abs(H));
grid on
title('Resp. de Amplitud')
subplot(223)
Hdb=20*log(abs(H));
plot(f,Hdb);
grid on
title('Resp. de Amplitud (dB)')
xlabel('f [Hz]')
subplot(224)
plot(f,angle(H));
grid on
title('Resp. de Fase')
grid on
xlabel('f [Hz]')
3. Diseñe un filtro FIR Notch de segundo orden (N=2) que elimine la frecuencia de
ruido de línea de 50 Hz de un Electrocardiógrafo. La frecuencia a la cual se
muestrea la señal de ECG es de 250 Hz (más del doble del ancho de banda de una
señal de electrocardiograma que es aproximadamente 100 Hz en el humano).
%
%
%
%
Filtro Notch Segundo Orden
FIR con su respuesta de frecuencia y fase. Diseño mediante ventana cuadrada
Copyright @2004
Msc. Ing. Franco Martín Pessana. Universidad Favaloro
function G6_4
fs=250;
% Frecuencia de Muestreo
f0=50;
% Frecuencia de Eliminación
figure(1)
N=3;
% tamaño del filtro FIR
n=0:N-1;
w0=0.4*pi;
% Frecuencia normalizada en el plano Z
hn=zeros(size(n));
hn(1)=1/(2*(1-cos(w0)));
hn(2)=-cos(w0)/(1-cos(w0));
hn(3)=1/(2*(1-cos(w0)));
subplot(221)
stem(n,hn);
title('Elimina Banda H[n]')
grid on
[H,W]=freqz(hn,1);
f=W*fs/(2*pi);
subplot(222)
plot(f,abs(H));
grid on
title('Resp. de Amplitud')
subplot(223)
Hdb=20*log(abs(H));
plot(f,Hdb);
grid on
title('Resp. de Amplitud (dB)')
subplot(224)
plot(f,angle(H));
grid on
title('Resp. de Fase')
grid on
Msc. Ing. Franco Martin Pessana
[email protected]
Procesamiento Digital de Señales
Adquisición y Procesamiento de Señales Biológicas
Facultad de Ingeniería y Ciencias Exactas y Naturales
4. Diseñe un diferenciador FIR de primer orden si la frecuencia a la cual se quiere
muestrear la señal a derivar es de fs=1000 Hz.
% Filtro Diferenciador de Segundo Orden
% FIR con su respuesta de frecuencia y fase. Diseño mediante ventana
cuadrada
% Copyright @2004
% Msc. Ing. Franco Martín Pessana. Universidad Favaloro
function G6_5
fs=1000;
% Frecuencia de Muestreo
figure(1)
N=2;
% tamaño del filtro FIR
n=0:N-1;
hn=zeros(size(n));
hn(1)=fs;
hn(2)=-fs;
subplot(221)
stem(n,hn);
title('Diferenciador H[n]')
grid on
[H,W]=freqz(hn,1,N);
min(abs(H))
f=W*fs/(2*pi);
subplot(222)
plot(f,abs(H));
grid on
title('Resp. de Amplitud')
subplot(223)
Hdb=20*log(abs(H));
plot(f,Hdb);
grid on
title('Resp. de Amplitud (dB)')
subplot(224)
plot(f,angle(H));
grid on
title('Resp. de Fase')
grid on
Segunda Parte. Filtros IIR (Infinite Impulse Response)
1. Dada la respuesta en frecuencia de un filtro Pasa Bajos de primer orden RC, se pide
implementarlo en forma digital con un filtro IIR (mediante el uso de la
Transformada Bilineal) con las siguientes características: Frecuencia de Muestreo
fs=1 KHz y una frecuencia de 3 dB del filtro de 60 Hz.
%
%
%
%
%
%
%
%
Función que demuestra la salida de un filtro pasa bajos RC, implementado
en forma digital mediante el método de Transformada Bilineal
Se ingresan los vectores del filtro B y A. Se usa Una frecuencia de
muestreo de 1KHz, una señal de entrada correspondiente a la suma de
dos senoidales de 50 y 300 Hz. Se usó una frecuencia de polo en el
filtro de fp=60 Hz.
Copyright @2004
Msc. Ing. Franco Martín Pessana. Universidad Favaloro
function Y=G6_b1()
% Definición de las constantes
Fs=1000;
Fp=60;
wp=2*pi*Fp;
Ts=1/Fs;
t=0:Ts:1-Ts; % 1000 puntos
h=figure(1);
Msc. Ing. Franco Martin Pessana
[email protected]
Procesamiento Digital de Señales
Adquisición y Procesamiento de Señales Biológicas
Facultad de Ingeniería y Ciencias Exactas y Naturales
set(h,'name','Filtro Digital. Transformada Bilineal');
x=2*sin(2*pi*50*t)+sin(2*pi*300*t);
figure(1);
subplot(221);
plot(t(1:200),x(1:200));
title('Señal de Entrada');
ylabel('x(t)');
grid;
B=[wp*Ts wp*Ts];
A=[wp*Ts+2 wp*Ts-2];
[H,w]=freqz(B,A,256);
F=Fs*w./(2*pi);
subplot(222);
plot(F,abs(H))
title('Respuesta del Filtro');
grid;
subplot(223);
semilogy(F,(abs(H)));
title('Respuesta del Filtro dB');
ylabel('H(f)');
Y=filter(B,A,x);
grid;
subplot(224);
plot(t(1:200),Y(1:200));
title('Señal de Salida');
ylabel('y(t)');
grid;
n=zeros(size(t));
n=0:size(t,2)-1;
delta=zeros(size(n));
delta(1)=1;
hn=filter(B,A,delta);
hn(1:2)
figure(2)
subplot(221)
plot(t(1:50),hn(1:50));
title('Pasa Bajos. h[n]')
grid on
[H,W]=freqz(hn,1,256);
subplot(222)
%size(H)
%size(F)
plot(F,abs(H));
grid on
title('Resp. de Amplitud')
subplot(223)
Hdb=20*log(abs(H));
plot(F,Hdb);
grid on
title('Resp. de Amplitud (dB)')
xlabel('f [Hz]')
subplot(224)
plot(F,angle(H));
title('Resp. de Fase')
grid on
xlabel('f [Hz]')
2. Verifique la correcta implementación del filtro IIR anterior mediante MatLab
calculando y graficando su respuesta al impulso, su función de Transferencia y
graficando la salida temporal y(t) que se obtiene de haber filtrado la señal de
entrada x(t ) = 2 sen(2π50 ⋅ t ) + sen(2π300 ⋅ t ) con el filtro digital IIR.
3. Diseñe un filtro Pasa Bajos Butterworth IIR suponiendo que se requiere que la
banda de paso sea constante dentro de 1 dB para frecuencias por debajo de 100 Hz y
que la banda de atenuación sea mayor que 15 dB para frecuencias superiores a 150
Hz (se recomienda utilizar MatLab para obtener la función de transferencia del filtro
pedido). La frecuencia de muestreo que se utiliza para el diseño del filtro es de 1
Msc. Ing. Franco Martin Pessana
[email protected]
Procesamiento Digital de Señales
Adquisición y Procesamiento de Señales Biológicas
Facultad de Ingeniería y Ciencias Exactas y Naturales
KHz. Verifique su diseño graficando la respuesta al impulso del filtro como así
también su respuesta en frecuencia.
% Copyright @2004
% Msc. Ing. Franco Martín Pessana. Universidad Favaloro
function G6_b4()
% Orden y Frecuencia Natural de Diseño
[N,Wn]=BUTTORD(2*pi*100,2*pi*150,1,15,'s')
[B,A]=butter(N,Wn,'s');
H=tf(B,A)
figure(1)
bode(H)
Fs=1000;
[Numz,Denz]=bilinear(B,A,Fs);
[Hd,W]=freqz(Numz,Denz);
figure(2)
F=Fs*W./(2*pi);
subplot(211)
plot(F,abs(Hd));
xlabel('Hz')
ylabel('Hd')
HHd=tf(Numz,Denz,1/Fs)
Z=roots(Numz);
P=roots(Denz);
subplot(212)
zplane(Z,P)
En la Pantalla observamos
N=6
Wn = 7.086537346688198e+002
Transfer function:
1.266e017
--------------------------------------------------------------------------------------------------------------------s^6 + 2738 s^5 + 3.748e006 s^4 + 3.253e009 s^3 + 1.882e012 s^2 + 6.905e014 s + 1.266e017
Transfer function:
0.0005135 z^6 + 0.003081 z^5 + 0.007702 z^4 + 0.01027 z^3 + 0.007702 z^2 + 0.003081 z + 0.0005135
------------------------------------------------------------------------------------------------------------------------------z^6 - 3.377 z^5 + 5.114 z^4 - 4.329 z^3 + 2.139 z^2 - 0.5805 z + 0.06733
4. Diseñe un filtro Pasa Altos Chebyshev IIR con una frecuencia de –3 dB de 1 KHz y
una banda de atenuación de 30 dB a 0.5 KHz. La frecuencia de muestreo que se
utiliza para el diseño del filtro es de 2 KHz. Verifique su diseño graficando la
respuesta al impulso del filtro como así también su respuesta en frecuencia.
Msc. Ing. Franco Martin Pessana
[email protected]
Procesamiento Digital de Señales
Adquisición y Procesamiento de Señales Biológicas
Facultad de Ingeniería y Ciencias Exactas y Naturales
% Copyright @2004
% Msc. Ing. Franco Martín Pessana. Universidad Favaloro
function G6_b6()
[N,Wn]=CHEB1ORD(2*pi*500,2*pi*1000,1,50,'s');
%[B,A]=BUTTER(N,1,'s');
[B,A]=CHEBY1(N,1,1,'s');
Wc=2*pi*1000;
[NUMT,DENT]=lp2hp(B,A,Wc); % Transformación de pasa Bajos a Passa Altos
%H=tf(B,A)
H=tf(NUMT,DENT)
figure(1)
bode(H)
Fs=10000;
% Frecuencia de Muestreo
[Numz,Denz]=bilinear(NUMT,DENT,Fs);
% Transformada Bilineal para obtener
IIR
[Hd,W]=freqz(Numz,Denz);
figure(2)
F=Fs*W./(2*pi);
subplot(211)
plot(F(1:200),abs(Hd(1:200)));
xlabel('Hz')
ylabel('Hd')
HHd=tf(Numz,Denz,1/Fs)
% Filtro Butterworth de 6to orden digital
Z=roots(Numz);
P=roots(Denz);
subplot(212)
zplane(Z,P)
En la Pantalla observamos:
N=6
Wn = 3.141592653589793e+003
Transfer function:
0.8913 s^6 - 1.808e-012 s^5 - 6.361e-008 s^4 - 5.699e-014 s^3 - 5.022 s^2 + 986.1 s + 4.2e-023
-------------------------------------------------------------------------------------------------------------------------s^6 + 2.8e004 s^5 + 5.382e008 s^4 + 4.327e012 s^3 + 4.367e016 s^2 + 1.319e020 s + 8.929e023
Transfer function:
0.1931 z^6 - 1.159 z^5 + 2.897 z^4 - 3.863 z^3 + 2.897 z^2 - 1.159 z + 0.1931
----------------------------------------------------------------------------------------------z^6 - 2.925 z^5 + 4.155 z^4 - 3.344 z^3 + 1.735 z^2 - 0.5691 z + 0.1409
Msc. Ing. Franco Martin Pessana
[email protected]
Descargar