Informe - Escuela de Ingeniería Eléctrica

Anuncio
Universidad de Costa Rica
Facultad de Ingeniería
Escuela de Ingeniería Eléctrica
Hallazgo de patrones óptimos de muestras espaciadas
no-uniformemente para el diseño de filtros digitales
FIR
Por:
Enmanuel Murillo Murillo
Ciudad Universitaria Rodrigo Facio
Diciembre de 2007
Hallazgo de patrones óptimos de muestras espaciadas
no-uniformemente para el diseño de filtros digitales
FIR
Por:
Enmanuel Murillo Murillo
Sometido a la Escuela de Ingeniería Eléctrica
de la Facultad de Ingeniería
de la Universidad de Costa Rica
como requisito parcial para optar por el grado de:
BACHILLER EN INGENIERÍA ELÉCTRICA
Aprobado por el Tribunal:
_________________________________
Ing. Jorge A. Romero Chacón, PhD.
Profesor Guía
________________________________
Ing. Victor Hugo Chacón Prendas, MSc.
Profesor lector
ii
_________________________________
Ing. Mauricio Ávila Duarte.
Profesor lector
PARA MI MADRE
iii
ÍNDICE GENERAL
ÍNDICE DE FIGURAS....................................................................................v
ÍNDICE DE TABLAS.....................................................................................vi
NOMENCLATURA.......................................................................................vii
RESUMEN.................................................................................................... viii
CAPÍTULO 1: Introducción ...........................................................................1
1.1
Objetivos.................................................................................................................3
Objetivo general..............................................................................................3
Objetivos específicos ......................................................................................3
Metodología ............................................................................................................4
1.1.1
1.1.2
1.2
CAPÍTULO 2: Desarrollo teórico ..................................................................5
2.1
Reproducción de núcleos ........................................................................................5
2.1.1 Definiciones básicas ..............................................................................................5
2.1.2 Cálculo del núcleo reproductor..............................................................................7
2.2
Expansiones de muestreo......................................................................................10
CAPÍTULO 3: Diseño de un filtro digital FIR de fase lineal.....................14
3.1
3.2
3.3
Filtros FIR de fase lineal.......................................................................................14
Patrones de muestras espaciadas no-uniformemente............................................16
Diseño de un filtro digital FIR de fase lineal en el dominio de la frecuencia ......19
CAPÍTULO 4: Conclusiones y recomendaciones .......................................37
REFERENCIAS .............................................................................................40
BIBLIOGRAFÍA............................................................................................42
APÉNDICES...................................................................................................44
APÉNDICE I. Relaciones previas (polinomios ortogonales) .....................45
APÉNDICE II. Programa para obtener filtros de Legendre .....................48
iv
ÍNDICE DE FIGURAS
Figura 3.1 Tipos de filtros FIR con fase lineal .................................................................16
Figura 3.2 Patrones de muestras para los polinomios de Laguerre y Legendre ...............17
Figura 3.3 Filtro paso bajo, diseñado con los polinomios de Laguerre y Legendre, en
comparación con tres basados en la técnica de ventanas..................................................23
Figura 3.4 Filtro paso bajo diseñado con el polinomio de Legendre de orden 30, en
comparación con tres basados en la técnica de ventanas..................................................25
Figura 3.5 Filtro paso alto diseñado con el polinomio de Legendre de orden 34, en
comparación con tres basados en la técnica de ventanas..................................................27
Figura 3.6 Filtro rechaza banda basado en el polinomio de Legendre de orden 40, en
comparación con tres basados en la técnica de ventanas..................................................30
Figura 3.7 Filtro pasa banda basado en el polinomio de Legendre de orden 40, en
comparación con tres basados en la técnica de ventanas..................................................32
Figura 3.8 Filtro pasa banda de orden 76 basado en el polinomio de Legendre de orden
38, en comparación con tres basados en la técnica de ventanas .......................................36
v
ÍNDICE DE TABLAS
Tabla 3.1 Distribución de los coeficientes según el valor de M. ......................................15
vi
NOMENCLATURA
f(ti)
Plantilla de diseño del filtro.
FIR
Finite Impulse Response (Respuesta finita al impulso).
h(n)
Respuesta al impulso.
H(w)
Respuesta en frecuencia.
K(x,y)
Núcleo reproductor (Kernel) de variables x y y.
Pn(t)
Polinomio ortogonal de orden n y variable t.
Si(t)
Expansión de muestreo.
SVD
Singular Value Decomposition (Descomposición de valor singular).
ti
Raíces del polinomio ortogonal de orden N+1.
T
Periodo de muestreo.
α
Parámetro libre de los polinomios de Jacobi.
β
Parámetro libre de los polinomios de Jacobi.
ρ
Parámetro libre de los polinomios Ultra-esféricos.
ω
Vector de frecuencias, en radianes por segundo.
vii
RESUMEN
En este trabajo se presenta una técnica para el diseño de filtros digitales FIR
de fase lineal en el dominio de la frecuencia, utilizando muestras espaciadas
no uniformemente, las cuales se obtienen de los polinomios ortogonales que
presentan una característica de no linealidad entre sus raíces, ya que son éstas
y su relación, las que se utilizan para definir las muestras. Los polinomios
estudiados en este trabajo son los de Legendre, para estos, sus raíces se
presentan muy juntas en los extremos y separadas hacia el centro, mostrando
su no linealidad; para poder utilizar estas raíces como muestras, se desarrolló
una expansión de muestreo que permite su relación con la función que se
desea obtener; fue de esta manera, utilizando dicha expansión de muestreo y
una plantilla de filtro de diseño en frecuencia basada en las raíces (muestras)
del polinomio, que se lograron obtener las cuatro configuraciones típicas de
los filtros con resultados muy satisfactorios. Las bandas de transición de los
filtros diseñados son tan buenas como las que se obtienen con la técnica de
ventanas y la atenuación en la banda de rechazo es superior a algunas de las
ventanas más famosas, según la tendencia con que se haya diseñado el filtro,
ya que se encontró que dependiendo del orden de estos polinomios, se logran
tendencias de atenuación plana en la banda de rechazo o aumento de la
atenuación en dicha banda, conforme aumenta la frecuencia. Dado que el
enfoque de este trabajo fue el diseño de filtros digitales FIR de fase lineal y se
reconoce la importancia del muestreo no uniforme dentro de otros tópicos, se
insta a un estudio más profundo de la propuesta en otros temas dentro del
procesamiento digital de señales, pues es necesario ahondar en estos temas
tanto como se ha hecho con el muestreo uniforme.
viii
CAPÍTULO 1: Introducción
Los filtros digitales de respuesta finita al impulso (FIR) son muy utilizados en el
procesamiento digital de señales, pues poseen las ventajas de ser relativamente sencillos de
diseñar, tener gran estabilidad y ser poco susceptibles a errores de redondeo en las
operaciones de diseño; además, con solo imponer cierta restricción a los coeficientes de
este tipo de filtros, se obtiene una característica de suma importancia cuando se trabaja con
señales digitales, la fase lineal.
Conjuntamente con la característica de fase lineal, se presenta la distorsión que se
produce en la señal, la cual es de las más bajas que se obtienen en el diseño de filtros
digitales. Estas peculiaridades de los filtros con fase lineal son criterios de diseño para los
filtros digitales de aplicación general, de aquí que se utilicen mayormente los filtros FIR.
Los filtros digitales FIR se diseñan generalmente mediante la técnica de ventanas,
que utiliza funciones especiales de determinada longitud, las cuales al multiplicarlas por la
respuesta al impulso (que es infinita), la acortan, esto en el dominio del tiempo discreto. Sin
embargo, la técnica que se presenta en este trabajo se conoce como de muestreo en
frecuencia, con ésta se trabaja en el dominio de la frecuencia y aunque no es tan utilizada,
ni tan sencilla como la anterior, es de suma importancia en el procesamiento de señales
aleatorias, como la voz.
Utilizando la técnica mencionada, se quiere diseñar un filtro digital FIR, cuyas
muestras no estén separadas por la misma distancia (es decir, que estén separadas en forma
1
2
no uniforme). Para lograrlo se utilizan los polinomios denominados ortogonales, y entre
éstos los que posean una distribución no lineal de sus raíces.
La idea es utilizar esas raíces como las muestras del filtro, para diseñarlo a partir de
ellas, con la peculiaridad de ser muestras no uniformes. Lo anterior ya fue realizado para
los polinomios ortogonales de Laguerre, Hermit, Jacobi y Bessel, por lo que el enfoque de
este trabajo es encontrar nuevos patrones para el mismo fin (diseñar filtros FIR), que
también superen los resultados que se obtienen con otras técnicas, como la de ventanas.
3
1.1 Objetivos
1.1.1 Objetivo general
•
Hallar patrones de muestras espaciadas no-uniformemente, para el diseño de
filtros digitales FIR de fase lineal obtenidos mediante la técnica de muestreo en
frecuencia, que superen los resultados que se han logrado mediante otras
técnicas.
1.1.2 Objetivos específicos
•
Reproducir patrones de muestras espaciadas no-uniformemente utilizadas en el
diseño de filtros digitales FIR.
•
Evaluar distintos datos que optimicen la propuesta de diseño del filtro digital
FIR (Elaborar patrones).
•
Comparar las características del filtro digital obtenido mediante los patrones de
muestras espaciadas no-uniformemente, con filtros similares diseñados por otras
técnicas.
4
1.2 Metodología
La investigación bibliográfica es el punto de partida de este trabajo, ya que con ella
se obtiene la información sobre el estado de la cuestión, así como la información necesaria
para respaldar los resultados.
Posteriormente, se revisará el procedimiento que llevó a la solución del problema en
cuestión utilizando los polinomios ortogonales de Laguerre, Hermit, Jacobi y Bessel, lo
anterior a fin de obtener los mismos resultados y con esto comprobar, tanto el dominio del
tema, como el algoritmo computacional que debe desarrollarse; los resultados de éste deben
corresponder con los resultados obtenidos previamente con los polinomios mencionados.
Luego, se deberá adaptar el algoritmo desarrollado para poder obtener nuevos
patrones de muestras, con las cuales se pueda diseñar el filtro digital (FIR). En este punto
se debe elegir el tipo de polinomios con que se va a trabajar, los cuales, idealmente,
deberán aportar alguna novedad al estado de la cuestión.
Finalmente, los resultados que se obtengan se compararán con resultados similares
utilizando otras técnicas, siendo la de ventanas la elegida para este fin por su relativa
facilidad de diseño; de esta forma se determinará si estos patrones de muestras no
uniformes realmente optimizan la respuesta de los filtros que se diseñan en condiciones
equitativas.
CAPÍTULO 2: Desarrollo teórico
2.1 Reproducción de núcleos
2.1.1 Definiciones básicas [8, 9, 13]
Definición 2.1-1 Sea V un espacio lineal. Una norma en V es un dominio γ que
asigna un número real γ(φ) a cada φ ∈ V y satisface los axiomas siguientes:
1. γ (αφ ) = α γ (φ )
2. γ (φ + ψ ) ≤ γ (φ ) + γ (ψ )
3. γ (φ ) = 0 ⇔ φ es el elemento cero de V
donde φ ,ψ ∈ V y α es un número complejo.
Definición 2.1-2 Sea I un intervalo abierto en el eje real, tal que a < x < b ,
donde se puede dar que a = − ∞ y b = ∞ . Una función f(x) es cuadráticamente
integrable en I si es localmente integrable en I, de tal forma que:
α 0 ( f ) =  ∫ f ( x) dx 
a
b
2

1/ 2

<∞
(2.1-1)
Con esto se define un espacio lineal completo L2(I), en el que α0 es una norma, más
aun α0 es una multinorma (es un único elemento).
Definición 2.1-3 El producto escalar es una operación que asigna un número
complejo (f, g) a cada par de elementos f, g en L2(I), de la forma:
b
( f , g ) = ∫ f ( x) g ( x)dx
a
5
(2.1-2)
6
donde g (x) es el complejo conjugado de g(x). Además el producto escalar es
continuo con respecto a sus argumentos, o sea, si f m → f conforme m → ∞ ,
entonces:
( f m , g) → ( f , g ) y (g, f m ) → (g, f )
De lo anterior se deriva que un conjunto de funciones {ψn} es ortonormal si:
0 n ≠ m
(ψ n ,ψ m ) = 
1 n = m
La completitud de un conjunto de funciones ortonormales {ψn}, significa que
existe una serie, en términos de {ψn} que define cada f ∈ L2(I); como se expresa en la
siguiente relación:
∞
f = ∑ ( f ,ψ n )ψ n
(2.1-3)
n=0
Y se conoce como expansión en series ortonormales de f con respecto a {ψn}, la
cual converge en L2(I), o sea:

N


n=0

α 0  f − ∑ ( f ,ψ n )ψ n  → 0
(2.1-4)
conforme N → ∞ .
Definición 2.1-4 Un espacio de Hilbert (complejo o real) es el que se obtiene
cuando el producto escalar sobre un espacio C (complejo) o R (real) es completo
con respecto a la norma.
7
Definición 2.1-5 Un espacio de Hilbert H es completo cuando cada secuencia
de Cauchy converge a un elemento en H [10].
Definición 2.1-6 La función K(x,y) de variables x, y en Ε, se conoce como
núcleo reproductor Λ, donde Λ es una clase de funciones definidas en Ε, si satisface
las propiedades (a) y (b) siguientes.
(a) Para cada y, K(x,y) como función de x pertenece a Λ.
(b) Propiedad reproductora [10]: para cada y ∈ Ε y cada f ∈ Λ
f ( y ) = ( f ( x), K ( x, y ) ) = ∫ f ( x) K ( x, y )dx
(2.1-5)
E
2.1.2 Cálculo del núcleo reproductor
De acuerdo a 2.1-3 cada f ∈ L2(I), se puede expresar como [9]:
∞
∞
n=0
n =0
f = ∑ ( f ,ψ n )ψ n = ∑ F (n)ψ n
(2.1-6)
donde
F (n) = ( f ( x),ψ n ( x) ) = ∫ f ( x)ψ n ( x)dx
I
(2.1-7)
F(n) es una función discreta, e I es un intervalo real donde hay ortonormalidad.
Ahora, si se descompone f en una suma finita de funciones, se obtendrá una
expansión dentro del intervalo discreto {0, N} y para valores fuera de este intervalo
8
(n > N), F(n) = 0. La justificación de esta idea y la ampliación de la misma se
encuentran en [13]. Por tanto:
N
f = ∑ F (n)ψ n ( x)
(2.1-8)
n=0
El núcleo reproductor, considerado aquí, según 2.1-7 sería:
K (n, y ) = ∫ K ( x, y )ψ n ( x)dx =ψ n ( y )
I
(2.1-9)
de acuerdo a la propiedad reproductora de K, con lo que:
N
N
n =0
n=0
K ( x, y ) = ∑ K (n, y )ψ n ( x) = ∑ψ n ( y )ψ n ( x)
(2.1-10)
El conjunto ortonormal de funciones, se obtiene de polinomios ortogonales [4],
los cuales se normalizan [9] para formar el conjunto de funciones {ψn}, como sigue:
 w( x) 
ψ n ( x) = p n ( x) 

 hn 
1/ 2
(2.1-11)
Con pn(x) el polinomio de orden n, w(x) una función de peso que define
ortogonalidad y hn un factor que define normalidad, ambas en el intervalo I [7, 12].
Lo anterior, junto con la identidad de Cristoffel-Darboux [14, 4]
n
(t − x)∑ p k (t ) p k ( x) =
k =0
an
[ pn+1 (t ) p n ( x) − p n (t ) pn+1 ( x)]
a n+1
(2.1-12)
9
convierten la ecuación 2.1-10 en:
 a   p ( x) p N ( y ) − p N +1 ( y ) p N ( x) 
K ( x, y ) = [ w( x) w( y )]1 / 2  N   N +1

hN ( x − y)
 a N +1  

(2.1-13)
donde a N es el coeficiente más elevado del polinomio de orden N.
Los núcleos reproductores para los polinomios de Laguerre, Jacobi, Hermit y
Bessel ya fueron desarrollados para este propósito en [13].
Ahora se ampliará la propuesta utilizando los polinomios Ultra-esféricos,
específicamente, los polinomios de Legendre. Para calcular el núcleo reproductor de
estos, primero se debe conocer su función de peso, w(x) y factor de normalización, hn,
los cuales son [9]:
w( x)
= N + 12
hn
Con la información anterior y la ecuación 2.1-13, se puede proceder a calcular el
núcleo reproductor de dichos polinomios.
 a   C ( x)C N ( y ) − C N +1 ( y )C N ( x) 
K ( x, y ) = ( N + 12 )  N   N +1

( x − y)
 a N +1  

(2.1-14)
donde C N es el polinomio de Legendre de orden N (α = β = 0 en los polinomios de
Jacobi o ρ = 1/2 en los polinomios Ultra-esféricos), definido en el intervalo
I = [-1,1].
10
2.2 Expansiones de muestreo
La expansión de muestreo más conocida quizá sea el Teorema del muestreo [6],
sin embargo éste es muy limitado, ya que solo puede ser utilizado cuando las
muestras tienen una separación uniforme entre ellas (nT). Esto ha provocado un
interés por el desarrollo de otras expansiones de muestreo que sirvan para muestras
separadas no-uniformemente. Con este fin en [13] se desarrolló una expansión de
muestreo basada en los núcleos reproductores, la cual es la base para extraer otra
expansión de muestreo, ahora utilizando los polinomios de Legendre.
Según el Teorema de muestreo generalizado de Kramer [11] una señal f(t)
puede ser reconstruida por medio de sus muestras de la siguiente manera:
f (t ) = lim
N →∞
∑ f (t
n
) S n (t )
(2.2-1)
n ≤N
donde Sn(t) es una nueva función de muestreo dada por:
S n (t ) =
∫ K ( x, t ) K ( x, t ) dx
∫ K ( x, t ) dx
n
I
2
I
(2.2-2)
n
Para encontrar esta función se parte de la expresión general para el núcleo
reproductor (ecuación 2.1-13); y por la propiedad reproductora se obtiene:
∫ K ( x, t )K ( x, t
1
2
) = K (t1 , t 2 ) =
I
 a   p (t ) p (t ) − p N +1 (t 2 ) p N (t1 ) 
[ w(t1 ) w(t 2 )]1 / 2  N   N +1 1 N 2

hN (t1 − t 2 )
 a N +1  

(2.2-3)
11
La ecuación anterior debe ser cero, para cumplir con la ortogonalidad de K(x,t1) y
K(x,t2), lo anterior solo es posible cuando:
p N +1 (t1 ) p N (t 2 ) − p N +1 (t 2 ) p N (t1 ) = 0
Para cumplirla en [13], se eligieron los ti como las raíces del polinomio de orden
N+1, pN+1(x). Por tanto, el numerador se simplifica al aplicar directamente:
∫ K ( x, t ) K ( x, t ) = [ w(t ) w(t )]
1/ 2
i
i
I
 a N   p N +1 (t ) p N (t i ) 

 

 a N +1   hN (t − t i ) 
(2.2-4)
Entonces para los polinomios de Legendre se obtiene que el numerador de Sn(t)
es:
 a   C (t )C N (t i ) 
K (t , t i ) = ( N + 12 )  N   N +1

(t − t i )
 a N +1  

(2.2-5)
Para hallar el denominador, si se tiene presente la elección de los ti como las
raíces del polinomio de orden N+1, se logra una simplificación, por lo que:
∫ K ( x, t )
i
I
2
dx = lim ∫ K ( x, t i ) K ( x, t )dx
t →t i
I
1/ 2
= lim [w(t ) w(t i )]
t →t i
 a N   p N +1 (t ) p n (t i ) 

 

 a N +1   hN (t − t i ) 
(2.2-6)
12
Por tanto el denominador de Sn(t) será:
1
∫
−1
 a   C (t )C N (t i ) 
2
K ( x, t i ) dx = lim ( N + 12 ) N   N +1

t →t i
(t − t i )
 a N +1  

 C (t )C N (t i ) 
 a 
= ( N + 12 ) N  lim  N +1

(t − t i )
 a N +1  t →ti 

a 
d

= ( N + 12 )  N  C N (t i )  C N +1 (t )
 dt
 t = ti
 a N +1 
Ahora, de la ecuación diferencial encontrada en [14]:
C ' n +1 ( x) − C ' n −1 ( x) = (2n + 1) C n ( x)
se obtiene que la derivada del polinomio de Legendre de orden N+1 es:
C ' n +1 ( x) = (2n + 1) C n ( x) + C ' n−1 ( x)
Y por extensión de la misma ecuación, para el polinomio de Legendre de orden
N-1, C ' n−1 ( x) , se obtiene la expresión que definirá por completo el denominador, la
cual es:
N
d
C N +1 (t ) = ∑ [2 ( N − j ) + 1]C N − j (t i ) , j = 0, 2, 4, ...
dt
j =0
{
}
Por tanto, el denominador de la expansión de muestreo, Sn(t), queda descrito de la
siguiente manera:
13
1
∫
−1
N
 a 
2
K ( x, ti ) dx = ( N + 12 )  N C N (ti )∑ [2 ( N − j ) + 1]C N − j (ti )
j =0
 aN +1 
{
}
(2.2-7)
para j par.
Luego, la expresión para la función de muestreo se obtiene al dividir 2.2-5 por 2.2-7.
Si (t ) =
1
⋅
(t − ti )
C N +1 (t )
N
∑ {[2 ( N − j) + 1]C
N− j
}
(2.2-8)
(ti )
j =0
Finalmente la señal puede ser reconstruida por medio de:
N +1
f (t ) =
∑ f (t )S (t )
i
i
(2.2-9)
i =1
donde los N+1 ti´s, son las raíces del polinomio de Legendre de orden N+1, C N +1 ( x)
y Si(t) la expansión de muestreo para estos polinomios (ecuación 2.2-8).
14
CAPÍTULO 3: Diseño de un filtro digital FIR de fase lineal
3.1 Filtros FIR de fase lineal
Los filtros digitales FIR pueden forzarse para obtener la característica de fase
lineal mediante cierta relación entre sus coeficientes, para esto, es necesario conocer
primero la respuesta en frecuencia de dichos filtros, la cual es:
M
H (ω ) = ∑ h(n) e− jωT
(3.1-1)
n=0
donde h(n) es la respuesta al impulso o coeficientes del filtro, ω es la frecuencia en
radianes por segundo y T el periodo de muestreo.
La relación entre los coeficientes del filtro, necesaria para lograr la fase lineal,
se define entonces, en forma general, como:
h ( n) = ± h* ( M − n )
(3.1-2)
donde h * denota el complejo conjugado, sin embargo, restringiéndose solo a
coeficientes reales se obtiene:
h ( n) = ± h ( M − n )
(3.1-3)
La relación anterior da como resultado cuatro tipos diferentes de filtros, esto
porque M puede tomar valores pares o impares.
15
Tabla 3.1 Distribución de los coeficientes según el valor de M.
M par
M impar
Tipo I:
Tipo II:
h ( n) = h( M − n )
h ( n) = h( M − n )
Tipo III:
Tipo IV:
h ( n) = − h( M − n )
h ( n) = − h( M − n )
En la tabla 3.1 se muestra el tipo de filtro y el valor de los coeficientes del
mismo, según sea M, par o impar; a su vez, el tipo de filtro tiene que ver con la
disposición y relación (+/-) entre los coeficientes del filtro.
Esta disposición de los coeficientes se relaciona en forma directa con M. Si M es
par, se logra colocar un coeficiente del filtro en la posición M y otro en la posición
M/2, siendo los coeficientes iguales (Simétricos, Tipo I) u opuestos (Anti-simétricos,
Tipo III), con respecto a esta última posición.
Por otro lado, si M es impar, solo se logrará colocar un coeficiente del filtro en
la posición M, pero conservando la misma posibilidad de los coeficientes de ser
iguales (Simétricos, Tipo II) u opuestos (Anti-simetricos, Tipo IV), con respecto al
punto medio, M/2. Dichas relaciones se ejemplifican en forma más simple en la
figura 3.1.
16
Figura 3.1 Tipos de filtros FIR con fase lineal
3.2 Patrones de muestras espaciadas no-uniformemente
Antes de proceder al diseño del filtro digital, se debe conocer si el patrón de
muestras a utilizar cumple con la condición de que cada una de éstas esté separada de
las otras de una manera no lineal.
Para comprobar lo anterior, se obtuvieron los ceros de los polinomios a utilizar,
específicamente, los ceros de los polinomios de Laguerre y Legendre. El orden
utilizado para dichos polinomios fue 21, aunque se puede utilizar cualquier orden con
el que se obtenga un número considerable de muestras, ya que con éstas solo se está
17
Figura 3.2 Patrones de muestras para los polinomios de Laguerre y Legendre
18
tratando de comprobar que los polinomios, en general, cumplen con la característica
de no-uniformidad entre sus ceros.
Una vez obtenidos los ceros de los polinomios, se normalizan y se comparan
con un patrón o distribución uniforme (lineal), también normalizado. Estos patrones
de ceros (o muestras) se ejemplifican en forma de gráfico en la figura 3.2, donde se
logra apreciar de mejor forma, que en efecto, tanto los polinomios de Laguerre como
los de Legendre guardan una relación no-lineal entre sus ceros, por lo que se puede
continuar con estos polinomios para el desarrollo del trabajo.
Cabe mencionar que el patrón que se obtiene con los polinomios de Legendre no
cambia para un mismo orden de polinomio, pues el parámetro libre que poseen los
polinomios Ultra-esféricos se fijó en el valor de ½, a fin de dar paso a los polinomios
en cuestión (Legendre). Por otro lado, el patrón de ceros de los polinomios de
Laguerre, puede cambiar para un mismo orden de polinomio, con solo cambiar el
parámetro α (en los resultados de la figura 3.2 se fijó en 9), esto brinda mayor
flexibilidad a la hora de trabajar con los polinomios de Laguerre; sin embargo se
eligió de esta manera, pues los polinomios Ultra-esféricos presentan el inconveniente
de poseer raíces complejas, las cuales debido a su parte imaginaria, no permiten su
relación con un conjunto de muestras ubicadas en un intervalo de tiempo real.
La única manera de no obtener raíces complejas fue fijando el parámetro libre,
caso en el que se convierten en polinomios de Legendre. El hecho de no poder variar
dicho parámetro, no los coloca en desventaja, solo limita sus características, las que
19
se puedan obtener con determinado orden de polinomio. Por lo que el cambio de
orden es necesario si se desean cambiar las características.
3.3 Diseño de un filtro digital FIR de fase lineal en el dominio de la
frecuencia
Considérese un filtro FIR de fase lineal Tipo I, esto es con M par y con
coeficientes simétricos con respecto al punto medio (M/2). Con lo anterior y la
ecuación 3.1-1 se puede obtener la expresión matemática para dicho tipo de filtro,
esto es:
M
2
−1
H (ω ) = ∑ h(m) e − jω mT + h( M2 ) e
− jω M2 T
m =0
M
+
∑ h ( m) e
m = M2
− jω mT
(3.3-1)
+1
Dada la simetría de los coeficientes se puede reescribir la ecuación anterior de
una manera más compacta. Si se toma la exponencial de M/2 como factor común se
obtiene:
−1
2

− jωT ( m − M2 )
− jωT ( M2 − m )
M
+e
h ( 2 ) + ∑ h ( m ) e

m=0
M
H (ω ) = e
− jω M2 T
[
]

Finalmente, al reescribir el término entre paréntesis cuadrados como un coseno,
se obtiene la expresión final para un filtro Tipo I:
−1
2


M
M
h( 2 ) + 2 ∑ h(m) cos[ωT ( 2 − m)]
m=0


M
H (ω ) = e
− jω M2 T
(3.3-2)
20
La ecuación para un filtro Tipo II (con M impar) es muy similar a la anterior,
solamente que este tipo de filtro no cuenta con un coeficiente en el punto medio (pues
la posición no es entera):
 2

M
 2 ∑ h(m) cos[ωT ( 2 − m)]
 m=0

M −1
H (ω ) = e
− jω M2 T
(3.3-3)
En ambos casos (Tipo I y II), la expresión entre llaves es función de la
frecuencia ω y la respuesta al impulso h(n), parámetro que se desea conocer. Dado
que la frecuencia es una variable real y que la respuesta al impulso debe ser real,
dicha función tiene que ser real, es por esto que la podemos aproximar por medio de
la expresión 2.2-9, o sea, utilizando la expansión de muestreo obtenida de los
polinomios de Legendre.
Entonces, para un filtro Tipo I se tiene:
M
2
N +1
∑ f (t
n
−1
) S n (ω ) = h ( ) + 2 ∑ h (m) cos [ωT ( M2 − m)]
n =1
M
2
(3.3-4)
m =0
donde f(tn) es la plantilla de diseño en frecuencia del filtro deseado, que depende de
las raíces ti del polinomio de Legendre y Sn(ω) la expansión de muestreo obtenida de
estos, la cual se evalúa en un vector de frecuencias ω y depende de cada ti, por tanto
el lado izquierdo queda definido como un vector de N+1 valores con solo establecer el
vector de frecuencias [13].
21
Por su parte, el lado derecho cuenta con
que
M
2
M
2
+ 1 incógnitas, por lo que se obtiene
= N . Con esto se logra un sistema de ecuaciones de la forma Bh=d, de donde
se deduce que la longitud del vector de frecuencias debe ser como mínimo N+1
(
M
2
+ 1 ) para formar un sistema cuadrado, o mayor para formar un sistema
sobredeterminado.
En este caso se necesita un sistema sobredeterminado para mejorar la resolución
de la respuesta del filtro. Este sistema sobredeterminado de ecuaciones lineales se
resuelve por el método de descomposición de valor singular (SVD por sus siglas en
inglés).
Dicha solución se obtiene en términos del vector singular derecho v y los
valores singulares σi, que corresponden a la descomposición de valor singular de la
matriz B, de la siguiente manera [13]:
R
h= ∑
1
i =1 σ i
vi viT B T d
(3.3-5)
donde h es el vector de coeficientes del filtro (respuesta al impulso), R es el número
de columnas linealmente independientes de B (rango de B), d es el vector de los N+1
valores obtenidos del lado izquierdo de la expresión 3.3-4 y B la matriz de cosenos
que se origina en la sumatoria del lado derecho de la misma expresión, evaluada en
los distintos valores del vector de frecuencias ω.
22
Mediante esta técnica y utilizando los polinomios de Laguerre, ya se habían
obtenido resultados satisfactorios para el diseño de filtros digitales. Es precisamente
lo anterior lo que se muestra en la figura 3.3, donde se expone el diseño de un filtro
digital FIR de fase lineal paso bajo, con frecuencia de corte de 0.1 (normalizada de 0
a 0.5) y que cuenta con un numero impar de coeficientes (M par).
El orden del polinomio (N+1) de Laguerre utilizado fue 20, con el parámetro
libre α=9.89. Este diseño es independiente del anterior, aunque igualmente
satisfactorio, ya que al compararlo con tres diseños del mismo orden e igual número
de coeficientes, obtenidos mediante la técnica de ventanas (Hamming, Von Hann y
Blackman), se aprecia que la banda de transición es más estrecha y por tanto la
respuesta es más rápida con estos polinomios y aunque no supera la atenuación que se
logra con las ventanas, sí se logra superar la atenuación mínima en la banda de
rechazo de 50 dB, lo cual ya se había comprobado en [13].
En dicha figura, se adiciona el diseño del mismo tipo de filtro, pero utilizando el
polinomio de Legendre de orden 20, el cual no es tan rápido como el de Laguerre,
pero sí presenta una similitud en la banda de transición con las ventanas de Von Hann
y Hamming, logrando mejorar la que se obtiene con la ventana Blackman. La
atenuación en la banda de rechazo se logra superar, pese a que en el primer lóbulo
solo se logran aproximadamente 45 dB; esto sin embargo, no significa que el filtro
sea un mal diseño, pues como se puede apreciar el filtro de Von Hann también
presenta dicha ganancia en su primer lóbulo.
23
Figura 3.3 Filtro paso bajo, diseñado con los polinomios de Laguerre y Legendre, en
comparación con tres basados en la técnica de ventanas
24
Por otro lado, dicho orden de polinomio (20) no es la mejor representación de la
respuesta de un filtro que se pueda obtener con el patrón de muestras de un polinomio
de Legendre, solamente se obtuvo con el propósito de comprobar la eficacia del
algoritmo desarrollado, al compararlo con el filtro paso bajo diseñado en [13], de esta
manera, posteriormente se puede proceder a determinar el o los órdenes que
optimicen la respuesta de un filtro de Legendre, además se logra apreciar una
tendencia similar a la del diseño de Hamming, siendo una característica de relevancia
que se debe tener presente.
En la figura 3.4 se tiene un filtro paso bajo con frecuencia de corte de 0.1 y
con un numero impar de coeficientes (los cuales son simétricos respecto al punto
medio M/2), diseñado con la técnica expuesta, utilizando el polinomio de Legendre de
orden, N+1 = 30. Este diseño es comparado, nuevamente, con tres filtros del mismo
tipo (mismo orden e igual número de coeficientes) obtenidos mediante el método de
ventanas, en esta figura se puede apreciar que este filtro conserva la característica del
diseño anterior, de tener la banda de transición muy similar a las de los filtros de
VonHann y Hamming, en este caso se consigue una mejoría, pero el valor es muy
pequeño; de nuevo, se obtiene una banda de transición mucho más corta con el filtro
de Legendre que con el filtro Blackman, esto se logra apreciar claramente, pues el
primer lóbulo del filtro de Legendre está dentro de la banda de transición del filtro de
Blackman.
25
Figura 3.4 Filtro paso bajo diseñado con el polinomio de Legendre de orden 30, en
comparación con tres basados en la técnica de ventanas
26
El filtro de la figura 3.4 esquematiza una de las mejores representaciones de un
diseño paso bajo que se puede alcanzar con los polinomios de Legendre, no solo por
su velocidad en la banda de transición, también por la atenuación que se logra en la
banda de rechazo, la cual continúa aumentando conforme aumenta la frecuencia,
semejando mucho la respuesta del filtro de Von Hann, inclusive éstos dos tipos de
filtros tienen su primer lóbulo en el mismo valor (cercano a los 45 dB), y en el último
lóbulo, se da una diferencia de aproximadamente 10 dB a favor del filtro de Von
Hann.
Es importante resaltar que el diseño anterior, corresponde a una de las mejores
representaciones de un filtro paso bajo que posea una similitud con los filtros de Von
Hann, ya que se ha observado que con estos polinomios también se pueden obtener
características similares a las de un diseño de Hamming; en cuyo caso el orden del
polinomio de Legendre que optimiza la respuesta del filtro podría ser otro.
Para reforzar lo planteado anteriormente, en la figura 3.5 se generó un filtro
paso alto con características similares a las de un filtro de Hamming, o sea, con una
atenuación casi constante en la banda de rechazo, cumpliendo, por supuesto, con la
atenuación mínima de 50 dB en dicha banda.
La frecuencia de corte para este filtro paso alto es 0.4 (normalizada de 0 a 0.5),
además M es par. Una de las mejores representaciones para este tipo de filtro, con la
que se logra una optimización de la respuesta del mismo, es la expuesta en la figura
3.5, que cuenta con un orden de polinomio (N+1) de Legendre de 34.
27
Figura 3.5 Filtro paso alto diseñado con el polinomio de Legendre de orden 34, en
comparación con tres basados en la técnica de ventanas
28
Al comparar este diseño paso alto con sus similares, diseñados mediante la
técnica de ventanas, con el mismo orden e igual número de coeficientes, se aprecia un
comportamiento similar al de los ejemplos que ya fueron planteados, esto es, que el
ancho de su banda de transición es mucho menor que el ancho de dicha banda para un
diseño por medio de la ventana de Blackman, pues un lóbulo entero del filtro de
Legendre, junto con su banda de transición, caben por completo dentro de la banda
del filtro de Blackman; es evidente además, la similitud que se obtiene con las
restantes dos ventanas (Von Hann y Hamming), aunque para este caso se aprecia una
pequeña variación en el ancho de la banda, siendo un poco más estrechas las bandas
de transición obtenidas con los diseños de Von Hann y Hamming.
Específicamente para este orden y tipo de filtro, para el cual se deseaba una
respuesta similar a la de un filtro de Hamming, se logra obtener un comportamiento
más plano en la banda de rechazo, esto es, que la atenuación en dicha banda es
prácticamente la misma (excepto para el primer lóbulo), logrando superar con este
factor, el diseño de Hamming que presenta una forma más escalonada en los primeros
lóbulos.
Al extender el estudio a las diferentes configuraciones típicas de filtros
existentes, cabe recalcar que la técnica desarrollada tiene la capacidad de generarlas,
con tan solo cambiar la plantilla de diseño en frecuencia, lo cual es evidente en la
ecuación 3.3-4, considerando que la expansión de muestreo no cambia, pues se cuenta
con una para los polinomios en cuestión (Legendre); se menciona este hecho como
29
parte importante del trabajo, debido a que la especialización de un sistema, lo hace
ineficiente ante cambios futuros, por otro lado, un diseño flexible y multi-adaptable es
menos susceptible a estos cambios. Específicamente, el algoritmo diseñado tiene la
capacidad de realizar las diferentes configuraciones con solo cambiar el “tipo” de
filtro y la o las frecuencias de corte, pues las plantillas se generan a partir de esta
información.
Al definir una plantilla rechaza banda con frecuencias de corte en 0.1 y 0.4
(normalizadas de 0 a 0.5), se obtuvo el filtro FIR de fase lineal rechaza banda de
Legendre de la figura 3.6, el cual cuenta con un numero impar de coeficientes, esto es
M par. Dicha representación es para un polinomio de Legendre de orden, N+1 = 40 y
corresponde a uno de los mejores diseños para este tipo de filtro.
Al compararlo con los diseños basados en la técnica de ventanas (de Hamming,
Von Hann y Blackman), se da por sentado la característica que se ha venido
mencionando con respecto a su banda de transición; y es que este ejemplo no es la
excepción, pues el ancho de banda de los filtros diseñados mediante Legendre, Von
Hann y Hamming, es prácticamente del mismo valor (lo cual implica que sus bandas
de transición también tendrán un valor similar), por lo que en cuanto al ancho de
banda respecta, el método expuesto es igualmente elegible que estos ante determinada
situación, con la característica especial de haber sido diseñado a partir de un patrón de
30
Figura 3.6 Filtro rechaza banda basado en el polinomio de Legendre de orden 40, en
comparación con tres basados en la técnica de ventanas
31
muestras espaciadas no-uniformemente. También se obtiene un ancho de banda
superior al que se obtiene con la ventana Blackman, lo cual ya se conocía de los
ejemplos anteriores, por lo que se logra reforzar este hecho.
En cuanto a la atenuación en la banda de rechazo, se logra un resultado muy
satisfactorio y a la vez bastante similar al que se obtiene con la ventana de Von Hann,
superando la atenuación que se logra con el diseño de Hamming, para este tipo de
filtros también se pueden obtener resultados de atenuación constante en la banda de
rechazo y de igual forma que se supere el mínimo de atenuación establecido para esa
banda.
Con los ejemplos que se han presentado hasta ahora, se aprecia que el diseño de
filtros digitales FIR mediante los polinomios de Legendre, resulta una técnica con
resultados muy variados y placenteros, importante de tener presente. Sin embargo, es
de suma importancia conocer que no todos los patrones de muestras obtenidos a partir
de estos polinomios, optimizan los resultados que se obtienen mediante la técnica de
ventanas, de hecho, en el diseño de filtros pasa banda los resultados más satisfactorios
se obtuvieron para N+1 = 40, tanto para M par como impar.
Como se aprecia en la figura 3.7 (que corresponde al diseño con M impar), la
respuesta para un filtro pasa banda no supera los resultados que se obtienen con los
filtros de Hamming, Von Hann o Blackman; el ancho de banda es, inclusive, mayor al
del filtro de Blackman y por tanto, mucho mayor al de los otros dos diseños, siendo
32
Figura 3.7 Filtro pasa banda basado en el polinomio de Legendre de orden 40, en
comparación con tres basados en la técnica de ventanas
33
las frecuencias de corte, de 0.4 y 0.6 (normalizadas de 0 a 1), las mismas para los
cuatro diseños.
La atenuación mínima de 50 dB en la banda de rechazo, se logra en el tercer
lóbulo aproximadamente, considerando esto, se podría decir que las bandas de
transición equivalen a la mitad del valor de la frecuencia de corte inferior, por lo que
la respuesta es sumamente lenta; posiblemente lo único rescatable de este diseño sea
el hecho de que en la banda de rechazo se continúa aumentando la atenuación
conforme se aleja la frecuencia de los puntos de corte.
Cambiando los puntos de corte se obtienen resultados similares; y en los que se
logra cumplir con la atenuación mínima, crece mucho el ancho de banda; por otro
lado, los que cumplen con el ancho de banda presentan ganancias bastante bajas.
Con lo anterior se hace evidente que el diseño de un filtro digital pasa banda a
partir del patrón de ceros de los polinomios de Legendre, no es posible con resultados
satisfactorios, al menos no de una forma directa. Por tanto, se considera ahora una
técnica de diseño muy conocida, que se utiliza cuando el filtro deseado presenta
simetría, con respecto a algún punto en su respuesta; estos son los filtros rechaza
banda y pasa banda. Con este método se diseña solo parte del filtro, la otra parte se
obtiene por simetría; tiene la ventaja de que las características se conservan, pues una
parte es la imagen reflejada del segmento diseñado.
34
Dado que los filtros pasa banda son los que presentan problemas de diseño, solo
se utilizará el método mencionado para la optimización de éstos. De esta manera, el
segmento del filtro pasa banda a diseñar, es un filtro paso alto con frecuencia de corte
igual a la frecuencia de corte inferior del filtro pasa banda; este filtro paso alto debe
cumplir con la atenuación mínima en la banda de rechazo y tener una banda de
transición estrecha, de modo que al hacer la reflexión para obtener el filtro completo,
éste ultimo también cumpla con los requerimientos; como se ha visto en los ejemplos
anteriores, los diseños paso bajo y paso alto, cumplen a cabalidad con los
requerimientos mínimos de diseño e inclusive se logran superar ciertas características
de diseños similares obtenidos mediante la técnica de ventanas.
Desde el punto de vista de las muestras, se tendría un orden de polinomio que
definiría el patrón de muestras para el filtro paso alto y el mismo patrón de muestras,
pero invertido, es decir la imagen de espejo (o reflexión) del patrón, para definir el
filtro paso bajo (que tiene su frecuencia de corte igual a la frecuencia de corte
superior del filtro pasa banda), que complementa el diseño pasa banda, por tanto el
orden del filtro es el doble del orden del polinomio.
De esta manera, utilizando las mismas frecuencias de corte que en el filtro pasa
banda anterior (0.4 y 0.6 normalizadas de 0 a 1) y con el uso de un polinomio de
orden, N+1=38, que define un filtro paso alto con M par; se obtiene el filtro pasa
banda optimizado de orden 76 de la figura 3.8, el cual, como en los ejemplos
anteriores, presenta una banda de transición tan estrecha como la que se obtiene con
35
los diseños de Von Hann y Hamming y por consiguiente un ancho de banda tan
bueno como los de dichas ventanas; éste a su vez es mejor que el que se obtiene con
la ventana de Blackman. Todo lo anterior, es el común denominador entre los
distintos diseños, pues ha sido un hecho presente en todos los ejemplos anteriores; sin
embargo, en este ultimo ejemplo, esto era lo que se esperaba, pues el punto de partida
es un filtro paso alto, el cual presenta dicha característica.
En la figura 3.8, se aprecia además, que la característica de similitud con la
ventana de Von Hann o Hamming no cambia, en este caso se asemeja a la de
Hamming, pero consolida un distintivo que se había presentado en el filtro paso alto y
es el hecho de que la respuesta en la banda de rechazo es más plana para el filtro de
Legendre; además, también presenta una mejoría en la ganancia de dicha banda, la
cual es de aproximadamente 5 dB.
Con esta variación en el diseño del filtro pasa banda, se logran optimizar todas
las configuraciones típicas de los filtros, con esto se quiere destacar la potencia de
este método en el diseño de filtros digitales FIR de fase lineal, pues es capaz de
igualar y hasta mejorar en ciertas características a los diseños más comunes, con el
distintivo especial de ser un diseño enteramente en el dominio de la frecuencia y que
utiliza patrones de muestras no uniformes.
36
Figura 3.8 Filtro pasa banda de orden 76 basado en el polinomio de Legendre de orden 38,
en comparación con tres basados en la técnica de ventanas
CAPÍTULO 4: Conclusiones y recomendaciones
•
Con los polinomios de Legendre, específicamente con la posición relativa de
sus raíces, se logran obtener patrones de muestras espaciadas de una manera no
uniforme y a partir de éstos, se puede proceder al procesamiento digital de
señales. Dentro del procesamiento digital de señales se encuentra el diseño de
filtros digitales, los cuales se pueden obtener, mediante la técnica de muestreo
en frecuencia, utilizando estas muestras no-uniformes.
•
Se logró obtener una nueva expansión de muestreo, esto es una relación similar
a la del teorema del muestreo (que es una expansión para muestras separadas
uniformemente), basada en los polinomios de Legendre, con el fin de poder
relacionar de manera adecuada las muestras no-uniformes que se obtienen de
dichos polinomios, con la señal (o función) que se desea reconstruir, para así
lograr utilizarlas en el procesamiento digital de señales.
•
En el diseño de filtros digitales FIR de fase lineal, se logran obtener las
distintas configuraciones típicas de filtros existentes (paso alto, paso bajo, pasa
banda y rechaza banda), para éstas existen muchos patrones de muestras de los
polinomios de Legendre con los que se logran resultados que satisfacen los
requerimientos de diseño de un filtro (atenuación y transición) y otros patrones
37
38
de muestras con los que se logran superar algunas de las características de
diseños similares obtenidos con la técnica de ventanas.
•
La respuesta de los filtros diseñados con los polinomios de Legendre presentó
una variación importante para ciertos órdenes de polinomio. Fue la similitud
con la respuesta de Von Hann o Hamming según dicho orden. Este orden no se
logró establecer, pues varía con la frecuencia de corte, el tipo de filtro y además
depende de M. Sin embargo, lo importante es que cuando la respuesta es similar
a la de Von Hann se logra superar la atenuación que se obtiene con el diseño de
Hamming, aunque éste ultimo tiene mejor atenuación en los primeros lóbulos;
por su parte, cuando la respuesta de Legendre se asemeja a la del diseño de
Hamming, se tiene una mejor atenuación en los primeros lóbulos, en
comparación con la respuesta de Von Hann, e inclusive una mayor estabilidad
en la banda de atenuación que su similar (Hamming).
•
Mediante una técnica muy conocida y simple, se logró optimizar la respuesta
del filtro pasa banda. Esta técnica se utiliza solamente para diseñar filtros pasa
banda y rechaza banda; consiste en diseñar únicamente la primera mitad del
filtro deseado y la otra mitad se obtiene por la reflexión de dicha primera mitad.
Con esto se logra la simetría entre las dos partes y por supuesto las mismas
características de banda de transición y atenuación para todo el filtro.
39
Como recomendaciones para profundizar en este tema se considera:
•
Ampliar el uso de los polinomios de Legendre a otros tópicos dentro del
procesamiento digital de señales, ya que en este trabajo solamente se utilizaron
en el diseño de filtros digitales FIR de fase lineal; sin embargo las muestras no
uniformes se pueden utilizar en todos los temas que comprenden el muestreo
uniforme, como por ejemplo en compresión y reconstrucción de señales.
•
Desarrollar un tipo de polinomio que sea complementario con los polinomios de
Legendre, esto es, que tenga sus raíces dispuestas de manera tal, que sean la
imagen espejo de las raíces de Legendre. Con lo anterior se pueden obtener
nuevas expresiones para el núcleo reproductor y para la expansión de muestreo,
las cuales serían complementarias a las obtenidas en este trabajo; esta nueva
expansión de muestreo, en conjunto con la ya obtenida, podrían ayudar a
mejorar la respuesta del filtro pasa banda y se podrían obtener resultados
interesantes para las otras configuraciones.
40
REFERENCIAS
1. Azofeifa, I. F. – “Guía para la investigación y desarrollo de un tema”, Segunda
edición, Universidad de Costa Rica, 2006.
2. De Freitas, J. M. – “Digital Filter Design Solutions”, Artech House, 2005.
3. Lorente, G. G. - “Bernstein Polynomials”, Mathematicals expositions Nº 8, Board,
Toronto, 1953.
4. Szegö, G. - “Orthogonal Polynomials”, Vol. XXIII, American Mathematical
Society, New York, 1939.
5. Askey, R. - “Orthogonal Polynomials and special functions”, Society for
Industrial and Applied Mathematics, 1975.
6. Antoniou, A. - “Digital Filters: Analysis, design and applications”, Segunda
edición, McGraw Hill, 1993.
7. Nikiforov, A. F., Suslov, S. K. and Uvarov, V. B. - “Classical Orthogonal
Polynomials of a discrete variable”, Springer-Verlag, Berlin Heidelberg, 1991.
8. Hochstadt, H. - “Integral Equations”, Wiley-Interscience Publications, New York,
1973.
9. Zemanian, A. H. - “Generalized Integral Transformations”, Vol. XVIII,
Interscience Publishers, 1968.
10. Bergman, S. - “The Kernel function and conformal mapping”, American
Mathematical Society, New York, 1950.
11. Kramer, H. P. - “A generalized sampling theorem”, Vol. 11, Journal of
Mathematics and Physics, 1967.
41
12. Koelink, E. and Van Assche, W. - “Orthogonal Polynomials and special
functions”, Springer-Verlag, Berlin Heidelberg, 2003.
13. Romero, J. A. - “Signal Processing based on Irregular Sampling:
Reconstruction,
Compression
and
signal
transformation”,
Concordia
University, Montréal Canada, 1996.
14. Jackson, D. - “Fourier Series and Orthogonal Polynomials”, Vol. VI, The
Mathematical Association of America, 1941.
BIBLIOGRAFÍA
Libros
•
Antoniou, A. - “Digital Filters: Analysis, design and applications”, Segunda
edición, McGraw Hill, 1993.
•
Askey, R. - “Orthogonal Polynomials and special functions”, Society for
Industrial and Applied Mathematics, 1975.
•
Azofeifa, I. F. – “Guía para la investigación y desarrollo de un tema”, Segunda
edición, Universidad de Costa Rica, 2006.
•
Bergman, S. - “The Kernel function and conformal mapping”, American
Mathematical Society, New York, 1950.
•
De Freitas, J. M. – “Digital Filter Design Solutions”, Artech House, 2005.
•
Hochstadt, H. - “Integral Equations”, Wiley-Interscience Publications, New York,
1973.
•
Jackson, D. - “Fourier Series and Orthogonal Polynomials”, Vol. VI, The
Mathematical Association of America, 1941.
•
Koelink, E. and Van Assche, W. - “Orthogonal Polynomials and special
functions”, Springer-Verlag, Berlin Heidelberg, 2003.
•
Kramer, H. P. - “A generalized sampling theorem”, Vol. 11, Journal of
Mathematics and Physics, 1967.
•
Lorente, G. G. - “Bernstein Polynomials”, Mathematicals expositions Nº 8, Board,
Toronto, 1953.
•
Nikiforov, A. F., Suslov, S. K. and Uvarov, V. B. - “Classical Orthogonal
Polynomials of a discrete variable”, Springer-Verlag, Berlin Heidelberg, 1991.
42
43
•
Romero, J. A. - “Signal Processing based on Irregular Sampling:
Reconstruction,
Compression
and
signal
transformation”,
Concordia
University, Montréal Canada, 1996.
•
Szegö, G. - “Orthogonal Polynomials”, Vol. XXIII, American Mathematical
Society, New York, 1939.
•
Zemanian, A. H. - “Generalized Integral Transformations”, Vol. XVIII,
Interscience Publishers, 1968.
44
APÉNDICES
45
APÉNDICE I. Relaciones previas (polinomios ortogonales)
Los siguientes son algunos resultados relacionados con los temas del capítulo 2, que
fueron previamente obtenidos para los polinomios mencionados en este trabajo [13, 9, 4].
•
Polinomios de Laguerre
Con la función de peso w(x), factor de normalización hN y coeficiente de mayor
orden aN
N +α 
(−1) N
 , a N =
w( x) = x α e − x , hN = Γ(α + 1)
N!
 N 
se obtiene el núcleo reproductor de estos
α
K ( x, y ) =( xy ) e
2
−
x+ y
2
Γ ( N + 2)  LαN ( x) LαN +1 ( y ) − LαN ( y ) LαN +1 ( x) 


Γ ( N + α + 1) 
x− y

Y con éste, la expansión de muestreo correspondiente
α
S n (t ) =
1−
α
 t −t n 
−

2 

[
t (t n ) e
− LαN +1 (t )
(t − t n )( N + α + 1) LαN (t n )
2
2
]
donde LαN (t ) es el polinomio de Laguerre de orden N y parámetro α.
•
Polinomios de Jacobi
Se tiene
46
w( x) = (1 − x) α (1 + x) β
hN =
Γ (α + N + 1) Γ (β + N + 1)
2α + β +1
⋅
α + β + 2N + 1
Γ (α + β + N + 1) N !
aN =
1 Γ (α + β + 2 N + 1)
⋅
2 N Γ (α + β + N + 1) N !
Con ello, se obtiene el núcleo reproductor
1
K ( x, y ) = [w( x) w( y )]2
Γ ( N + 2) Γ ( N + α + β + 2)
2 −α − β
⋅
2 N + α + β + 2 Γ ( N + α + 1) Γ ( N + β + 1)
 PNα+, 1β ( x) PNα , β ( y ) − PNα+, 1β ( y ) PNα , β ( x) 


x− y


Y finalmente, la expansión de muestreo
1
 w(t )  2
2 PNα+, β1 (t )

S n (t ) = 
α +1, β +1
(t n )
 w(t n )  (t − t n )( N + α + β + 2) PN
donde PNα , β (t ) es el polinomio de Jacobi de orden N y parámetros α, β.
•
Polinomios de Hermite
Para estos
2
w( x) = e − x , hN = 2 N π N ! , a N = 2 N
con lo cual se determina el núcleo reproductor
K ( x, y ) =
e
−
2 N +1
x2 + y2
2
 H N +1 ( x) H N ( y ) − H N +1 ( y ) H N ( x) 


x− y
π N! 

47
luego, la expansión de muestreo sería
S n (t ) =
 t 2 − t n2
−

2





[H
]
(t )
2(t − t n )( N + 1) H N (t n )
π e
N +1
donde H N (t ) es el polinomio de Hermite de orden N.
•
Polinomios de Bessel
Conociendo
Γ (a )  b 
w( x ) =
− 
∑
2π j n =0 Γ (a + n − 1)  x 
1
hN =
∞
n
( −1) N +1 b N !Γ ( a )
( 2 N + a − 1) Γ (a + N − 1)
Γ ( 2 N + a − 1)
b N Γ ( N + a − 1)
el núcleo reproductor calculado es
aN =
1
K ( x, y ) = [w( x) w( y )]2
(−1) N +1 Γ ( N + a)  y N +1 ( x) y N ( y ) − y N +1 ( y ) y N ( x) 


(2 N + a) Γ (a) N! 
x− y

el cual da paso a la siguiente expansión de muestreo
1
 w(t )  2 t n2 [2( N + 1) + a − 2] y N +1 (t )
S n (t ) = 

(t − t n ) b ( N + 1) y N (t n )
 w(t n ) 
donde y N (t ) es el polinomio de Bessel de orden N.
48
APÉNDICE II. Programa para obtener filtros de Legendre
El programa desarrollado en Matlab para la elaboración de este trabajo se
muestra a continuación.
El segmento principal de código se llamó “Raices”
clear; clc;
n=19;
% Orden deseado del filtro.
par=1;
% Se relaciona con "m". Un 1 implica paridad
alf=9.89;
% Parametro libre del polinomio de Laguerre.
freci=0.20; % Frecuencia de corte inferior
frecs=0.80; % Frecuencia de corte superior
tipo='bajo'; % Con tipo se establece si se quiere un paso bajo (bajo),
%paso alto (high), pasa banda (pass) o atrapa banda (stop)
[Lalf]=laguerre (n+1,alf);
[Crho]=legendre (n+1);
% Calculo de los coeficientes del polinomio
% de orden n+1 (laguerre y Legendre).
Crho=(2)^(-(n+1)).*Crho; % Lg % La funcion legendre posee ecuaciones para
%Crho=gamma(n+2).*Crho; % H
% polinomios de Legendre (Lg), Hermite (H)y
%Crho=(n/2).*Crho; % T
% Tchebichef (T).
zl=roots(Lalf);
% Calculo y normalizacion de las raices del
m=length(zl);
zl=sort(zl)
% polinomio de Laguerre de orden n+1.
[lmin,xlmin]=min(zl);
if lmin>=0
l=zl-lmin;
[lm,xlm]=max(l);
l=l./lm
else
lmin=abs(lmin);
l=zl+lmin;
[lm,xlm]=max(l);
l=l./lm
end
figure (1);clf;
u=0:1/(m-1):1;
plot(u,u,'-.')
grid on
hold on
figure (1)
plot(u,l,'o');
% Grafico de relacion Lineal.
% Grafico de las n+1 raices de Laguerre.
49
zc=roots(Crho);
% Calculo y normalizacion de las raices del
m=length(zc);
zc=sort(zc)
% polinomio de Legendre de orden n.
[cmin,xcmin]=min(zc);
if cmin>=0
c=zc-cmin;
[cm,xcm]=max(c);
c=c./cm
else
cmin=abs(cmin);
c=zc+cmin;
[cm,xcm]=max(c);
c=c./cm
end
u=0:1/(m-1):1;
plot(u,c,'b.');
% Grafico de las n raices de Legendre.
title('Posición de las Raices')
xlabel('Distribución uniforme (Normalizada)')
ylabel('Raices (Normalizadas)')
legend('Distribución Lineal','Laguerre','Legendre',2)
figure (6)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (tipo=='pass');
cp=c/2;
cm=max(cp);
cc=cp+cm;
cp=[cp;cc]
plot(cp,0,'ro')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
else
plot(c,0,'ro')
end
grid on;
%hold on;
%plot(l,0,'bx')
%tkl=zl.*pi;
%tkc=zc.*pi;
% Disposicion de las raices de los polinomios de orden
% n+1 (Laguerre l y Legendre c) entre 0 y pi.
nm=512;
w=0:pi/(nm-1):pi;
% Numero de muestras
% vector de frecuencias equidistantes.
v=length(w);
% Tamaño del vector de frecuencias.
50
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (tipo=='pass');
w=0:pi/((nm/2)-1):pi;
v=length(w);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
k=length(zl);
% Tamaño del vector de ceros.
Bl=zeros(v,k);
% Matriz de cosenos (que acompañan los
if (par==1)
% coeficientes del filtro) para cada
for i=n:-1:1
% frecuencia w
Bl(:,k-i)=2*cos(i*w);
end
% En la cual el valor que acompaña el
Bl(:,k)=1;
% ultimo coeficiente es uno ( h(n)).
else
for i=2*n+1:-2:1
Bl(:,fix((2*k+1-i)/2))=2*cos(i*w/2);
end
end
% B es un vector de cero a n (1 a n+1), evaluado en v frecuencias
%(w)
[Ul,Dl,Vl]=svd(Bl);
sigl=diag(Dl);
% Descomposicion de valor singular de B.
% Vector de valores singulares (diagonal de Dl).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
nm=512;
% Numero de muestras
w=0:pi/(nm-1):pi;
% vector de frecuencias equidistantes.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (isreal(zl)==1)
% Calculo de los coeficientes con Laguerre
%(Raices reales)
respfl = calcoefl (n,freci,frecs,w,zl,l,Lalf,alf,Bl,sigl,Vl,tipo,nm);
resl=0;
else
respfl=1;
resl=1;
display(' ');display(' ');
display('
Raices Complejas en Polinomio de Laguerre');
display(' ');display(' ');
end
if (isreal(zc)==1)
% Calculo de los coeficientes con Legendre (Raices
%reales)
respfc = calcoefc (n,freci,frecs,w,zc,c,Crho,Bl,sigl,Vl,tipo,nm);
resc=0;
else
respfc=1;
resc=1;
51
display(' ');display(' ');
display('
Raices Complejas en Polinomio de Legendre');
display(' ');display(' ');
end
if (resl~=1 || resc~=1)
compwind (n,freci,frecs,w,respfl,respfc,tipo);
else
end
Segmento del programa que calcula los parámetros para el filtro de Laguerre
function [respfl] =
calcoefl(n,freci,frecs,w,l,ln,Lalf,alf,Bl,sigl,Vl,tipo,nm)
% Funcion para calcular los coeficientes del filtro, utilizando
% los polinomios de Legendre
% Redistribucion de los ceros dentro del vector de frecuencias (w)
fcil=freci*max(ln); % ln: ceros normalizados (0 a 1)
fcsl=frecs*max(ln);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (tipo=='pass')
w=0:pi/((nm/2)-1):pi;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
wl=((max(l)-min(l))*w+(min(l)*max(w)-max(l)*min(w)))/(max(w)-min(w));
tkl=l;
v=length(w);
k=length(tkl);
% Tamaño del vector de frecuencias.
% Tamaño del vector de ceros.
fl=zeros(1,k);
if (tipo=='bajo')
ml=find(ln<=fcil);
% Plantilla PB para el diseño del filtro, vector
fl(1:length(ml)+1)=1; % con 1`s hasta la frecuencia de corte y ceros
fl(length(ml)+2:k)=eps;
%fl((length(ml))+(1:2))=1;
fl(length(ml)+2)=0.69;
% despues de esta, tomando 2 puntos de
%transicion
fl(length(ml)+3)=0.18;
else if (tipo=='high')
ml=find(ln<fcsl);
% Plantilla PA para el diseño del filtro,
%vector
52
fl(1:length(ml))=eps; % con 1`s hasta la frecuencia de corte y
%ceros
fl(length(ml):k)=1;
%fl((length(ml))+(1:2))=1;
fl(length(ml))=0.69;
% despues de esta, tomando 2 puntos de
%transicion.
fl(length(ml)-1)=0.18;
else if (tipo=='pass')
ml=find(ln<2*fcil);
% Plantilla Pbanda para el diseño del
%filtro
fl(1:length(ml))=eps;
fl(length(ml):k)=1; % PA con la frecuencia de corte inferior
%fl((length(ml))+(1:2))=1;
fl(length(ml))=0.92;
% Tomando 2 puntos de transicion
fl(length(ml)-1)=0.23;
%ml=find(ln<=fcsl);
% PB con frecuencia de corte superior
%fl(length(ml)+2:k)=eps;
%%fl((length(ml))+(1:2))=1;
%fl(length(ml)+1)=0.92; % Tomando 2 puntos de transicion
%fl(length(ml)+2)=0.23;
else if (tipo=='stop')
ml=find(ln<=fcil);
% Plantilla Atrapa banda para el
%diseño del filtro
fl(1:length(ml)+1)=1;
fl(length(ml)+2:k)=eps;
% PB con frecuencia de corte
%inferior
%fl((length(ml))+(1:2))=1;
fl(length(ml)+1)=0.92;
% Tomando 2 puntos de transicion
fl(length(ml)+2)=0.23;
ml=find(ln<fcsl);
% PA con frecuencia de corte superior
fl(length(ml):k)=1;
%fl((length(ml))+(1:2))=1;
fl(length(ml))=0.92;
% Tomando 2 puntos de transicion
fl(length(ml)-1)=0.23;
end
end
end
end
[Ln]=laguerre (n,alf);
% Calculo del polinomio de Laguerre de orden n
LAlf=polyval(Lalf,wl);
LN=polyval(Ln,tkl);
% Evaluacion de los polinomios de orden n+1 en w,
% y los de orden n en la disposicion de ceros
for i=1:k % tkl
for j=1:v
%w
restl=wl(j)-tkl(i);
if (abs(restl)<0.0001)
% Condicion para evitar indefiniciones
53
Sl(j,i)=1;
else
% Calculo de la expansion de muestreo
Sl(j,i)=((wl(j)^(alf/2))*(tkl(i)^(1-alf/2))*(exp(-restl/2))*LAlf(j))/(restl*(n+1+alf)*LN(i));
end
end
end
dl=Sl*fl';
m=find(dl>1);
dl(m)=1;
% Vector de valores conocidos (d), apartir de la expansion
% y la plantilla de diseño. No debe ser mayor a 1
%figure (2);clf;
%plot(w/pi,dl,'b-')
%grid on
% Grafico de la aproximacion del filtro por la
% expansion de muestreo S
hl=zeros(k,1);
for i=1:k
hl=Vl(:,i)*Vl(:,i)'*(1/(sigl(i))^2)*Bl'*dl+hl;
end
%hl Vector de coeficientes del filtro de Laguerre.
respfl=(Bl*hl);
% Respuesta en frecuencia del filtro
if (fl(k)==0)
respfl(v)=0.0001;
% Ajuste segun plantilla de diseño
else
respfl(v)=respfl(v-k);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (tipo=='pass')
respflc=flipud(respfl);
respfl=[respfl; respflc];
w=0:pi/(nm-1):pi;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure (3);clf;
plot(w/(2*pi),respfl,'r-')
grid on
% Grafico de la respuesta en frecuencia
% contra la frecuencia normalizada.
figure (4);clf;
plot(w/(2*pi),20*log10(abs(respfl)),'r-')
grid on
% Grafico de la respuesta en
% frecuencia en dB contra la
% frecuencia normalizada.
54
Segmento del programa que calcula los parámetros para el filtro de Legendre
function [respfc] =
calcoefc (n,freci,frecs,w,c,cn,Crho,Bl,sigl,Vl,tipo,nm)
% Funcion para calcular los coeficientes del filtro, utilizando
% los polinomios de Legendre
% Redistribucion de los ceros dentro del vector de frecuencias (w)
fcic=freci*max(cn); % cn: ceros normalizados (0 a 1)
fcsc=frecs*max(cn);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (tipo=='pass')
w=0:pi/((nm/2)-1):pi;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
wc=((max(c)-min(c))*w+(min(c)*max(w)-max(c)*min(w)))/(max(w)-min(w));
tkc=c;
v=length(w);
k=length(tkc);
% Tamaño del vector de frecuencias.
% Tamaño del vector de ceros.
fc=zeros(1,k);
if (tipo=='bajo')
mc=find(cn<=fcic);
% Plantilla PB para el diseño del filtro, vector
fc(1:length(mc))=1;
% con 1`s hasta la frecuencia de corte y ceros
fc(length(mc):k)=eps;
%fc((max(mc))+(1:3))=1;
fc(length(mc))=0.450;
% despues de esta, tomando 2 puntos de
%transicion.
fc(length(mc)+1)=0.170;
% 0.45, 0.17
else if (tipo=='high')
mc=find(cn<fcsc);
% Plantilla PA para el diseño del filtro,
%vector
fc(1:length(mc))=eps;
% con 1`s hasta la frecuencia de corte
%y ceros
fc(length(mc)+1:k)=1;
%fc((length(mc))+(1:2))=1;
fc(length(mc)+1)=0.45;
% despues de esta, tomando 2 puntos de
%transicion.
fc(length(mc))=0.16;
else if (tipo=='pass')
mc=find(cn<2*fcic);
% Plantilla PBanda para el diseño del
%filtro
fc(1:length(mc))=eps;
fc(length(mc)+1:k)=1;
% PA con frecuencia de corte inferior
%fc((length(mc))+(1:2))=1;
% Tomando 2 puntos de transicion
fc(length(mc)+1)=0.45;
55
fc(length(mc))=0.16;
%16
%mc=find(cn<=fcsc);
% PB con frecuencia de corte superior
%fc(length(mc)+1:k)=eps;
%%fc((max(mc))+(1:3))=1;
%fc(length(mc)+1)=0.450;
% Tomando 2 puntos de transicion
%fc(length(mc)+2)=0.17; %17
else if (tipo=='stop')
mc=find(cn<=fcic);
% Plantilla Atrapa Banda para el
%diseño del filtro
fc(1:length(mc))=1;
fc(length(mc):k)=eps;
% PB con frecuencia de corte
%inferior
%fc((max(mc))+(1:3))=1;
fc(length(mc))=0.450;
% Tomando 2 puntos de transicion
fc(length(mc)+1)=0.170;
mc=find(cn<fcsc);
% PA con frecuencia de corte
%superior
fc(length(mc)+1:k)=1;
%fc((length(mc))+(1:2))=1;
fc(length(mc)+1)=0.45;
% Tomando 2 puntos de transicion
fc(length(mc))=0.16;
end
end
end
end
%[Cn]=(2)^(-(n))*(2*n+1)*legendre (n);
%Cn=gamma(n+1).*legendre (n); % H
Cn=derleg (n);
% Calculo del polinomio de Legendre de orden n
%Cn=ultraesf (n,3/2);
CRho=polyval(Crho,wc);
CN=polyval(Cn,tkc);
% Evaluacion de los polinomios de orden n+1 en w,
% y los de orden n en la disposicion de ceros
for i=1:k % tkc
for j=1:v
%w
restc=wc(j)-tkc(i);
if (abs(restc)<0.15)
% Condicion para evitar indefiniciones
Sc(j,i)=1;
else
% Calculo de la expansion de muestreo
Sc(j,i)=((CRho(j))/(restc*CN(i))); % Lg
%Sc(j,i)=(sqrt(pi)*(exp(-((wc(j)^2)% (tkc(i)^2))/2))*CRho(j))/(2*(n+1)*restc*CN(i)); % H
end
end
end
56
dc=Sc*fc';
m=find(dc>1);
dc(m)=1;
% Vector de valores conocidos (d), apartir de la expansion
% y la plantilla de diseño. No debe ser mayor a 1
%figure (2);
% Grafico de la aproximacion del filtro por la
%grid on; hold on
% expansion de muestreo S
%plot(w/pi,dc,'r--')
%title('Aproximación por expansión de muestreo (S)')
%xlabel('Frecuencia Normalizada')
%ylabel('Respuesta en frecuencia')
%legend('Laguerre','Legendre')
hc=zeros(k,1);
for i=1:k
hc=Vl(:,i)*Vl(:,i)'*(1/(sigl(i))^2)*Bl'*dc+hc;
end
%hc Vector de coeficientes del filtro de Legendre.
respfc=(Bl*hc); % Respuesta en frecuencia del filtro
if (fc(k)==0)
respfc(v)=0.0001;
% Ajuste segun plantilla de diseño
else
respfc(v)=respfc(v-k);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (tipo=='pass')
respfcc=flipud(respfc);
respfc=[respfc; respfcc];
w=0:pi/(nm-1):pi;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure (3);
% Grafico de la respuesta en frecuencia contra la
grid on; hold on % frecuencia normalizada.
plot(w/(2*pi),respfc,'b--')
title('Filtro FIR diseñado')
xlabel('Frecuencia Normalizada')
ylabel('Respuesta en frecuencia')
legend('Laguerre','Legendre')
figure (4);
% Grafico de la respuesta en frecuencia en dB contra la
grid on; hold on % frecuencia normalizada.
plot(w/(2*pi),20*log10(abs(respfc)),'b--')
title('Filtro FIR diseñado')
xlabel('Frecuencia Normalizada')
ylabel('Respuesta en frecuencia en dB')
legend('Laguerre','Legendre')
57
Segmento que ayuda al cálculo del denominador de la expansión de muestreo
function [Cn] = derleg (n)
Cn=(2*n+1)*legendre(n);
for i=2:2:n
cy=(2*(n-i)+1)*legendre(n-i);
C=zeros(1,length(Cn));
C(1:length(cy))=cy;
Cn=Cn+C;
end
Segmento del programa que calcula los polinomios de Laguerre
function [Lalf] = laguerre (n,alf)
%
%
%
%
Funcion para el calculo de los coeficientes del polinomio
de Laguerre de orden n y parametro alfa, considerando que
en Matlab el primer elemento de un vector acompaña a la
variable de mayor orden.
for i=1:n+1
% Coeficientes desde 0 hasta n.
Lalf(n+2-i)=((gamma(n+alf+1)*(-1)^(i-1))/(gamma(i)*gamma(ni+2)*gamma(alf+i)));
End
Segmento del programa que calcula los polinomios de Legendre
function [Crho]=legendre (n)
%
%
%
%
Funcion para el calculo de los coeficientes de los polinomios
de Legendre (Lg), Hermite (H), o Tchebichef (T) de orden n.
Considerando que en Matlab, el primer elemento de un
vector acompaña a la variable de mayor orden.
a=n/2; b=round(a); d=2*b;
% Segun sea n par o impar, los coeficientes se guardan en
% posiciones pares o impares.
if d==n
58
for k=1:(n/2+1)
Crho(2*k-1)=(((-1)^(k-1)*gamma(2*n-2*(k-1)+1)*(1)^(n-2*(k1)))/(gamma(k)*gamma(n-k+2)*gamma(n-2*(k-1)+1))); % Lg
%Crho(2*k-1)=(((-1)^(k-1))*(2^(n-2*(k-1))))/(gamma(k)*gamma(n%2*(k-1)+1)); % H
%Crho(2*k-1)=(((-1)^(k-1))*gamma(n-k+1)*2^(n-2*(k%1)))/(gamma(k)*gamma(n-2*(k-1)+1)); % T
end
else
Crho(n+2)=0;
for k=1:((n-1)/2+1)
Crho(2*k)=(((-1)^(k-1)*gamma(2*n-2*(k-1)+1)*(1)^(n-2*(k1)))/(gamma(k)*gamma(n-k+2)*gamma(n-2*(k-1)+1))); % Lg
%Crho(2*k)=(((-1)^(k-1))*(2^(n-2*(k-1))))/(gamma(k)*gamma(n-2*(k%1)+1)); % H
%Crho(2*k)=(((-1)^(k-1))*gamma(n-k+1)*2^(n-2*(k%1)))/(gamma(k)*gamma(n-2*(k-1)+1)); % T
end
end
Segmento del programa que compara los filtros diseñados con algunas de las
conocidas “ventanas”
function compwind (n,freci,frecs,w,respfl,respfc,tipo)
% Funcion para comparar la respuesta en frecuencia
% de los filtros diseñados con los polinomios de
% Laguerre y Legendre, con filtros que se obtienen
% mediante la tecnica de ventanas
if (tipo=='high')
frecs=0.92*frecs;
dhamm=fir1(2*n,frecs,tipo,hamming(2*n+1));
% Calculo de los
dhann=fir1(2*n,frecs,tipo,hann(2*n+1));
% coeficientes de cada
dblack=fir1(2*n,frecs,tipo,blackman(2*n+1)); % tipo de ventana
dkai=fir1(2*n,frecs,tipo,kaiser(2*n+1));
% deseada (Paso Alto)
else if (tipo=='pass')
frec=[0.93*freci 1.05*frecs];
dhamm=fir1(4*n,frec,'bandpass',hamming(4*n+1)); % Calculo de los
dhann=fir1(4*n,frec,'bandpass',hann(4*n+1));
% coeficientes
%de cada
dblack=fir1(4*n,frec,'bandpass',blackman(4*n+1)); % tipo de
%ventana
dkai=fir1(4*n,frec,'bandpass',kaiser(4*n+1));
% deseada
%(Pasa Banda)
59
else if (tipo=='stop')
frec=[1.35*freci 0.91*frecs];
dhamm=fir1(2*n,frec,tipo,hamming(2*n+1));
% Calculo de los
% coeficientes
dhann=fir1(2*n,frec,tipo,hann(2*n+1));
%de cada
dblack=fir1(2*n,frec,tipo,blackman(2*n+1)); % tipo de ventana
dkai=fir1(2*n,frec,tipo,kaiser(2*n+1));
% deseada (Atrapa
%banda)
else if (tipo=='bajo')
freci=1.35*freci;
dhamm=fir1(2*n,freci,'low',hamming(2*n+1)); % Calculo de
%los
dhann=fir1(2*n,freci,'low',hann(2*n+1));
% coeficientes
%de cada
dblack=fir1(2*n,freci,'low',blackman(2*n+1)); % tipo de
%ventana
dkai=fir1(2*n,freci,'low',kaiser(2*n+1));
% deseada
%(Paso bajo)
end
end
end
end
hhamm=freqz(dhamm,1,w);
hhann=freqz(dhann,1,w);
hblack=freqz(dblack,1,w);
hkai=freqz(dkai,1,w);
% Calculo de la respuesta en frecuencia
% para las distintas ventanas
figure (5);clf;
plot(w/(2*pi),20*log10(abs(hhamm)),'b-.');hold on
plot(w/(2*pi),20*log10(abs(hhann)),'r--');hold on
plot(w/(2*pi),20*log10(abs(hblack)),'b.');hold on
%plot(w/(2*pi),20*log10(abs(hkai)),'g-');hold on
plot(w/(2*pi),20*log10(abs(respfl)),'m:');hold on
plot(w/(2*pi),20*log10(abs(respfc)),'k-');hold on
grid on
title('Comparación con "ventanas"')
xlabel('Frecuencia normalizada')
ylabel('Respuesta en frecuencia (dB)')
legend('Hamming','Hann','Blackman','Laguerre','Legendre',3);
Descargar