cn - TESIUAMI

Anuncio
UNIVERSIDAD AUTONOMA METROPOLITANA
UNIDAD
ISTAPALAPA
PRESENTAN
DE LA LUZ PUEBLA
S
VICTOR " J W L
GHEWO FLORES JULIO CESAR
1
J
PREsEElTACION
En l o s affos
recientes, h a habido un tremendo incremento en e l
de computadoras
digitales
e s p e c ip
aa
ld
r ae s a r r o l l a r
y
cireuiterla
digital
una
amplia
gama
de
de
uso
propbsito
funciones
procesamiento de seffales que i n i c i a l m e n t ef u e r o nl l e v a d a s
de
a
cabo
con equipamientoanaldgico.
La
evolucidn
continua
baratos
a
de
propiciado
una
minicoaputadoras que
pueden
c i r c u i t oi n
st e g r a d or e
slativarente
variedad
de
y
microcobputadoras
ser usadas paravariasfunciones
de
procesamiento de seffales.
Ahora es p o s i b l ec o n s t r u i r
procesadores
digitales
de
m i s m o tamaKo y a l mismo costo de
especialdentrodel
propdsito
aquellos
de
naturaleza analdgica.
E s t et r a b a j o
aborda una pequeffa p a r t e
adaptivosanalizando
(algoritmos para
el desenpcf’fo
de
de
los
filtros
l o s algoritmos
LMS
y
VSLHS
f i l t r o s digitales adaptivos no recursivos o FIIRI
mediante el uso de programas conputacionales para
t a l e sa l g o r i t m o s
digitales
observando cual es su desempeffo
t i p o s de secuencias de entrada,
p a r ad i f e r e n t e s
d i f e r e n t e sn i v e l e s
condiciones cambiantes de
medio
de
funcibn de t r a n s f e r e n c i a d e l
l a simulacibn de
transrrioion,
medio.
2
8s
de
decir,
ruido
de
y
la
INTROWCCION
Un f i l t r o d i g i t a l puede ser d e f i n i d o como un procesocombputacional
o
a l g o r i t m oq u ec o n v i e r t eu n as e c u e n c i a
una seffal d e entrada e n o t r a s e c u e n c i a
sefial
de
sal i d a ,
en
y
el
Un
filtro
digital
es
d e ndrrerosrepresentandouna
cual
caracteristicas d e l a ssRlal enuna
n d m e r o sr e p r e s e n t a n d o
de
1a
conversidn
Los
las
f o r m a preescrita.
la
d i s e f i ap
do r
deterainacion
de
los
a l q h proceso
c o e f i e i c n t e s d e l a l g o r i t m o de e n t r a d a / s a l i d ap o r
a p r ox ímac i dn
carnbi a
de
.
filtros
digitales
presentan
varias
ventajas
sobre
sus
c o n t r a p a r t e sa n a l b g i c o s r
1.-
I n t e r v a l od i n h i c o .
E l llmite s u p e r i o r es f í j a d op o r
el tanafio d e l nirmero
hardware d i g i t a l p u e d re e p r e s e n t a r ,
fijadopor
y el
limite
que
el
inferior
es
el r u i d o d e c u a n t i z a c i b n y errores dm redondeo.
E l i n t e r v a l o entre e s t olsl n i t eds e p e n d C
e lnicamente
l o n g i t u d e s d e palabra u t i l i z a d a s t o sea,
el
numero
u s a d o s en l a r a p r e s e n t a c i dbni n a r i a
Ir
seRlal).
l o n g i t u d e s de
grandes,
palabra
e np r i n c i p i o
se
pueden
de
hacer
el i n t e r v a l o d i n b i c o
L o s limites s o ni m p u e s t o se n
las
de
de
bits
Si
las
lsou f i c i e n t e m e n t e
no t i e n e limite.
l a practica a d r p t h d o s e d e manera
c o n v e n i e n t e a l o s limites d e v e l o c i d a d ,r e n d i m i e n t o
3
y costo.
2,- &usencia de problecnas decomponentes.
se
L o s pararnetros de l o s f i l t r o s
representan
por
nClrneros b i n a r i o y no derivan con e l tiempo.
cI1
medio
de
aumentar
l o n g i t u d de palabra se hace p o s i b l e l a obtencibn de
grado de e x a c t i t u d deseado.
e x a c t i t u de
, l
Dentro
+ i l t r o funciona t a l y como
problemas de t o l e r a n c i a o d e r i v a
asociado
los
de
con
un
comportamiento
capacitores,
inductores
o
no
se
diseffo.
ideal
Y
de
amplificadores.
problemas de impedancia de entrada
y
cualquier
llrnites
de
componentes.
de
esa
No
hay
ninguno
resistores,
Tappoco
salida
la
ni
existen
efectos
de
carga e n t r e etapas.
3.
-
Conmutabi1idad
Si l o s paratnett-os d e l f i l t r o se conservan en
c o n t r a r i o de conectarsefisicaaente),
el
contenido
r e g i s t r o s se puede cambiar a voluntad y en
(es decir, entre
registros
forma
de
(
lo
estos
instantanea
t i e m p o s de mucstreo consecutivos), p o r tanto,
l o s f i l t r o s se pueden hacer perfectamente conwtables.
f i l t r o conmutabletambien
Un s o l o
se puede m u l t i c a n a l i z a r en e l tiempo
para procesar entradas mdltipler.
4
4.-
Adaptabilidad.
Un f i l t r o d i g i t a l p u e d ei m p l e a e n t a r s ee n
programa d e computadora. L o s
tambien
se
filtros
hardware o b i e n
digitales
para
a d a p t sadinn
ificultad
como
hardware
de
c o n t rpool r
el
computadora d e s u s p a r a m e t r o s .
E x is t e nm u c h a s
a p l i caci o n e s d e p r o c e s a m i e n t o
de
c u a l e s l a s r e l a c i o n e s d e fase s o inm p o r t a n t e s ,
p e r t u r b a d a s p o r el f i l t r a d oP.a r a
f i l t r oc o nd e f a s a n i e n t o
ceros
f i l t r o c u y od e s p l a z a m i e n t o
estos
deben
ser
no
re
ideal
un
buscar
un
sTla
debe
sea p r o p o r c i o n a l a l a f r e c u e n c i a .
sistemas dm d a t o sm u a s t r e a d o r
Una d i s t i n c i d nf u n d a m e n t a le nl o s
p a r t i c u l a r m e n t ee nl o sf i l t r o s
r e s p u e s t a al impulso.
las
y
fines
e n l a practica
seffales e n
digitales,
Se h a b l a d e
(FIR, d e f i n i t e i m p u l sree s p o n s e )
e5
la
duracibn
r e s p u e s t fa i n i t a
y
de
sistemas
al
de
de
respuesta
a3 I I R
IIR cn uno en el c u a l l a r e s p u e s t ai m p u l r i v aH ( n )t i e n e
un n h e r o i n f i n i t o
dm muestras.
h i , H(n) es no c a r o
i n f i n i t o d e puntos.
5
M
la
impulso
i n f i n i t a a l i m p u l s o ( I I R de i n f i n i t ei m p u l s er e s p o n s e ) :
Un f i l t r o
y
un na-0
b> FIR
Un filtro F I R
limitada
es
uno en el cual la respuesta al
H(n)
es
a un namero finito de muestras-
los
Entre las posibles ventajas de
realizacidn
de
filtros
caracteristicas
ideales
susceptibilidad de la implementacion
cuantitacidn, adernas de
cualquier
impulso
que
FIR
son la posible
de
fase
a efectos de
y
menos
parametros
de
estos, son siempre estables bajo
variaci6n en sus coeficientes.
1
de
Entre las desventajas son los grandes tiempos
necesidad d e funciones de mas alto orden para llevar
requerimientos
preescritosde filtrado, y la
mientos ma5 simples
directa de las
de
disefio
ESTRUCTURA
FILTRO F I R
a
cabo
los
carencia de procedi--
que permitirían
especificacionesdel filtro
retardo, la
la
consecucih
FILTRO I I R
ESTRUCTURA
Que
hacen
Los filtros
los
filtros
adaptivos?
adaptivos se adaptan a las circunstancias cambiantes.
CI diferencia de la mayoría
de
los filtros convencionales, los
filtros adaptivos pradictivos son autodefinidos
en el "vuelo" por
la
secuencia
de
datos
de
entrada que
maspor un modelo
la sMal e s p w a d a y las estadísticas de ruido.
filtros
de entradaestacionarias,los
filtrobptiroWihner,
el
cual
desde
Para
a
prioride
estadísticas
rdaptivorconvergen
suprimera
forotulrci6n
explícita en 1949, es el m e j o r predictor
de
para procesos
continuos
en tiempo.
estocarticos
estacionarios
7
al
mínimos cuadrados
La p r e d i c c i d nl i n e a l
es una t k n i c a c l a s i c a
de
procesamiento
seflales que provee calculos aproximados d e l v a l o r
de
de un proceso de
entrada en un tiempo donde l o s datos medidos n o estan disponibles,
basados
en
mediciones
del
mismo
proceso
realizadas
durante
Las
i n t e r v a l o s que n o contienen e l tiempo de i n t e r d s .
son usadas generalmente
en
la
basados en l a s d i f e r e n c i a r d e l
seprracibn
de
t + c n i cas
y
sefialeo
ruido
tiempo de coherencia de l a sefial
y
e lr u i d o .
a una
Estohasidoexitosarenteaplicado
incluyendo
radar,
teorla
de
sonar,
estirnacibn
espectral,
control.
cancelacibn
identificacidn,
amplia
de
astronomía,procesamiento
gapa
de
campos
comunicaciones,
ruido,
sistema
de inagenes,
de
ingenierla
b i o d d i c a y o t r a s muchos areas.
Wiener f u ee p
l rimero
predictor bptimo por
continuos en tiempo.
predictor bptimo por
en d w i v a r
una
f o r m u l a c i b ne x p l í c i t ad e l
m l n i m o s cuadrados para procesos e s t a c i o n a r i o s
Se puede mostrar que
los
c o e f i c i e n t e sd e l
mlniaos cuadrados estan definidos
de l a s eatadisticas de
segundo
orden
proceso
del
en terminos
estocastico.
Consecuentemente, l a d e t e r r i n a c i d n de l o s c o e f i c i e n t e s d e l
dptimo
requiere
conocimiento
explfcito
de
c o v a r i a n c i a de l a sefial de datos de entrada.
8
la
fu
sn c i o n e s
filtro
de
Ed
l iscfio
acerca
a
de f i l t r o s de Wiener equiere
de
l od sa t oe s t a d í s t i c o s
procesada.
Cuando
priori
la
de
i n f o r m a cni oh n
tal
d a t o s d e entrada u s a n d oe s t i m a c i h n
informaci6n
esta
i n f o r n a c i h n estadística r e q u e r i dpa u e d e
sor
Lpar e d i c c i band a p t i v a
t a m b i e nu s a d a
ser
a
disponible,
determinada
de
la
los
d e mínimoscuadrados.Algunas
t e c n i c a s como m l n i m o sc u a d r a d o sr e c u r s i v o s ,p u e d e n
para p r o v e e ru n ai m p l e m a n t a c i d n
infornacihn
de
utilizadas
ser
mas e f i c i e n t e ,
basada
cstiaacihn
en
de ,gradiente
es
para predecir u n as e c u e n c i ae nt i e m p oc o np a r h n e t r o s
estadísticosdeeconocidos.
Los f i l t r o s d a p t i v o s o na u t o d i s e f i a d o sb a s a d o se n
r e c u r s i v o el
cual
permite
e s t a d í s t i c oisn i c i a l e s
l e n t a m e n t ee n
de
algoritmo
f i l t raop r e n d el orpsa r i n e t r o s
al
la
un
entrada
y
rastrearlos
si
varlan
el tiempo.
T afliel st er omsp i e z a n
de
de
l a r c u a l e sn oc o n t i e n e ns u p o s i c i o n e s
condicionesiniciales,
d e l a s carrcteristicas
a c t u a l i z laocso e f i c i e n t e s
a d a p t i v os e l e c c i o n a d o
c o n j upnrteod e t e r m i n a d o
un
estadísticas
del
de
105
f i l t rboa s a d o
y la secuencia
9
datos
en
acerca
y
entonces,
el
algoritmo
d e v a l o r e s westreados.
P aernat r a deasst a c i o n a r i a s ,
ha
s im
d oo s t r a qdfuoi let r o s
a d a p t i v odsi s e f i a d oasp r o p i a d a m e n t e
al
f i l t rd
optino
de
Weiner
d e n t r o d e un f a c t o rc o n o c i d o
como r u i d o d e d e s a j u s t e .E lr u i d o
d e s a j u s t e e5 d e t e r m i n a d op o r
l a magnitud d e 1 0 5 e r r o r e s i n h e r e n t e s
d e l o sd a t o s
la
a d a p t i v a , y puede ser
de estinacidn
a p r o p i a sdeal e c c i d n
de
a d a p t i v o - L o s p a r i n e t r o fsi j o s
t a l e s como :
orden
del
c o n t r o l a d op o r
lo
p sa r a m e t r o
f isj o s
filtro
del
f i l t r co o, n s t a n t e
de
del
filtro
s oanl g u n o s
diqital
adaptacidn,
de
y
d i s t a n c i a de prediccibn.
I
L ar a t b n
a l a c u a l el f i l t r oc o n v e r g e
de aprendizaje
adaptiva).
del
p r o c e sa od a p t i v o
es d e f i n i d a como
(la
constante
el
tiempo
de
tiempo
L a magnitud d e l a c o n s t a n t e d e t i e m p ao d a p t i v o
y
el
r u i d o d e d e s a j u s t e , son i n v e r s a m e n t er e l a c i o n a d o s .
E l ma5 s i m p l e y mas e x t e n s i v a m e n t e a l g o r i t m o a d a p t i v o u t i l i z a d o
es
el LSS (least mean square).
E s t ea l g o r i t m ou t i l i z au n at k n i c a
de
busqueda d e g r a d i e n t e
d e t e r m i n al roCso e f i c i e n t e s ,
c u a l e sm i n i m i z a n
para
1os
el error c u a d r i t i c o medio d e p r e d i c c i d n .
Los a l g o r i t m o s LtlS r-aquimrcn s o l o
2N
o p e r a c i o n ep
s o irt e r a c i d n
para d a t o s reales, y no r e q u i e r e n d e l a d e t e r a i n a c i b n e x p l i c i t 8
l o s c o e f i c i e n t e s d e l a c o r r e l a c i d n d e l a seffal d e e n t r a d a .
10
de
avances recientes de algoritmos para filtrado adaptivoy
digital de a l t a velocidad han producido familias
de
hardware
algoritmos
conputacionalmente efectivos, l o s cuales, pueden ser iopleaentados
en tiempo r e a l para muchas aplicaciones.
11
ALGORITMO LMS
E n t r e l o s algoritmos adaptivos mas usados tenemos aquellos basados
se debs
en l a bdsqueda delgradiente.Esto
principalmente
a
su
robustez y simplicidad.
x (n)
b
En general un a l g o r i t m o basadoen
l a bCIsqueda d e l
grodiente
esta
dado p o r :
H(n+l) = Htn)
-
(1)
p Vtn)
donde :
H(n) = tho , ha,
.....
hn-13
T
(2)
Es e l v e c t o r de c o e f i c i e n t e s . Y :
Es el g r a d i e n t e de
e r r o r c u a d r i t i c o medio y p
es
un
factor
c o n t r o l a la e s t a b i l i d a d y velocidad da adrptaci6n del algoritmo.
12
que
D e l a f i g u r aa n t e r i o rt e n e m o sq u e
:
e(n) = d(n)
-
y(n)
A s i asumiendoque:
X(n) = C x ( n ) ,x ( n - 1 )
.....,x ( n - N + l ) I
T
r e p r e s e n t a el v e c t o r d e e n t r a d a , d e 2,4 y 5 obtenemos :
y
s u s t i t u y e n d o ( 6 ) e n ( 3 ) obtenemos:
E lc a l c u l o
de
V(n)no
es simple e n l a prictica d e b i d o al o p e r a d o r
c s p e c t a c i d nE. s t ad i f i c u l t a d
radica p r i n i c i p a l m e n t e n
el
d e q u e l a s u p e r f i c i e d e e r r o r es e ng e n e r a ld, e s c o n o c i d ae n
hecho
la
p r k t i c a , y d e b e ser estimada p a r t i r d e l o s d a t o s d e e n t r a d a .
Una s o l u c i d n a este p r o b l e m ac o n s i s t e nr e m p l a z a r
dado por (71, p o r el g r a d i e n t ei n s t a n t a n e od a d op o r
13
el
I
gradiente
El c u r l de
( 6 ) se puede r e e s c r i b i r como:
V ( n ) = -2 Ce(n)x (n)
, e l n l x (n-l),
...
,e(n)x (n-N+l) 3
&si, reemplazando V ( n ) por V' (n) en (11,
= H(n)
H(n+l)
La cual 5epuede
-y
de ( 9 ) obtendremos:
V' (n)
r e e s c r i b i r comoz
h r ( n + l ) = hr(n)
+
2yctn)xtn
-
(11)
I)
Las ecurcionas 10 y 11 se conocen como e la l g o r i t m o
LMS
( 1 east
means square) o algoritmo de Widrow-Hopf.
Solucion Optima.
Considerando l a m i n i a i z r c i d n d e l
error
curdrAtico medio dado P o r
La cual de ( 2 ) y ( S ) se puede r e e s c r i b i r como o
E C e*(nl
3 = E C(d(n)
-
X'HI'I
14
(13)
el p r i n c i p i o d e
La a i n i n i z a c i d n d e 13 puede llevarse a c a b ou s a n d o
o r t o g o n a l i d a d el c u a l c o n s i s t e e n s e l e c c i o n a r
H d e modo t a l q u e l a
seffal d e e r r o r sea o r t o q o n a l al v e c t o r d e e n t r a d a , es decir:
&sumiendo que l o s c o e f i c i e n t e s
el
y
vector
da
entrad
s on
a no
c o r r e l a c i o n a d o s , d e (15) obtenemos:
I
P = R H
donde:
es
el v e c t o r de c o r r c l a c i h n e n t r r
de referencia,
el vector da entrada y l a
y :
R = E CX(n)X'(n)J
es l a matriz dm a u t o c o r r m l a c i c h d e l a sefial da e n t r a d a .
M u l t i p l i c a n d o a (16) p o r el l a d oi z q u i e r d o
H I R-'P
OP
15
por R
-a
, obtenemos
I
(19)
C o n v e r g e n c i a d e l a l g o r i t m o LMS.
C o n s i d e r e la s d a l d e error la cual esta dada p o r :
e(n) = d(n)
-
XT(n)H
donde :
H = tho, h a , hn,
Y
.....,
hw-il
T
T
X(n) = x(n-l)...,..x(n-N+l)l
Cx(n),
S u s t i t u y e n d o 20 e n l a e x p r e s i d n c o r r e s p o n d i e n t e
(211
a1 a l g o r i t m o LMS
obtenecnos:
H(n) = H(n-1)
+ 2 p X (tnd)t n )
-
XTH I
(23)
Tomando el v a l o re s p e r a d o
d e 24, asumiendo
que
s o nn oc o r r e l r c i o n r d o re n
l a seea1 da e n t r a d a ,o b t a n e m o s r
S e g u i d u n e n t ms, u s t r a y e n d o
Hop
ecuacidn (251,
obtenemos:
l o sc o e f i c i e n t e s
dado por (19) en ambos 18dOS
de
la
EtH(n)3
Donde
-
= ECHtn-1)
3
-
-
R-'P
= ECH(n-113
+ aRR"P
R-'P
y:
R = ECX(n)XT(nl3
I
EfH(n)l
R"P
-
+
R"P
-
~cIRECH~)~
P = ECd(n)X'(n) 1
2pRCR-'P
-
(271, (28)
(29)
EfH(n-1)13
1
(311
donde8
El
significado
de
srte
Seguidamente, usando
una
proceso
es
una
traslacibn
da
matriz ortonormal representamos R
ejes.
de
siguiente manera:
R = K'Q K
Dondcr
K'K
= I
h
i de 32 y 33 o b t m r r o r
R = K% K
17
(34)
la
K R K ~= K K ~ QK K ~
(35)
Q = KRKT
donde
I
Q = diagCAí, X 2 , . . . .
y Xi es el i - e s i nm
o igenvalor
o
,AN)
v a l opr r o p i o
de
la
matriz
de
a u t o c o r r a l e c i d n R.
s u s t i t u y e n d o 34
M
f ( n ) = (I
-
30 obtenemos
I
2pKTQK)e(n-l)
E l s i g n i f i c a d o d e esta o p w r e i b n es una r o t r c i d n d e ejes.
18
(38)
Iterando l a ecuacidn (32) obtenemos:
I
I
I
I
I
I
I
I
1
(44)
De
donde
<
O
se obtiene que s i
l a i - e s i r a componente delvector
A s i con e l
objeto
de
asegurar
<
p
V convergwi a O (cero).
la
convergencia
componentes del vector V se requiere que :
O
E s t o se deducede
<
p
<
(45)
1 / Ai
1 /.A
e l hechodeque
19
YAX
de
todos
los
Llna c o n d i c i d n d e c o n v e r g e n c i a ,
necesaria, se p u e d o
e btener
cual
es
s u f i c i e n t pe w o
de la teoria
de
matrices
la
no
observando
que:
trR
Donde t r R s i g n i f i c a
> A
(47)
MAX
l a suma d e t o d o s l o s e l e m e n t o se n
p r i n c i p a l d e R, Y a q u e R esta dadopor
la
diagonal
(l8),es facil d e d u c i r
-
trR = N x2h)
Donde x P ( n ) d e n o t a
/
que
(48)
l a p o t e n c i a d e l a sePlal d e e n t r a d a .
A 5 i f i n a l m e n t ao b t e n e m o sq u e
a l a l g o r i t m o LFIS sera c o n v e r g e n t e
si:
P a rpao d etre n eurnoap t i m i r a c i dcno m p l e tean
a d a p tdi ve ab,e m o s
de
la
tcouem
enna tr a ,
la
aproximacidn
velocidad
de
convergencia, l a d i s t o r s i d n de l a sena1 y l o s r e t a r d o s de transmis i b d e d a t o sl ,ocsu a l eds e b e n
e s t r u c t u raads a p t i v a s
mínimos.
Generalmente
5-
p u e dperno v e e r
no
un
las
g r af anc t o r
de
d e c i n a c i b n y un pequepZo r e t a r d o d e t r a n r r i s i d nm i e n t r a sm a n t i e n e
u n ag r a nv a l o r
de
ERLE ( e c h or r t u r
loss enhancement). Con un
gran
f a c t o r d e decirnacidn y una a l t a a t m u a c i b n d e e c o r e p u w i r l r n o s
de
un orden d e l f i l t r o
de
muy
alto
y
c a u s a r ígar a n d arse t a r d o s
trmsaisidn.
Eal l g o r i t m o
VLcls es u np
aropuesta
cual
el
d a t e c c i o n precisa p a r a l a a p r o x i n e c i b n
fitro
de
permite
los
coeficientes
y
del
adaptivo.
El p r i n c i p i ob 4 r i c o
d e l f u n c i o n u i m t o de este
v a r i a n d o el t r a l f f o dm1 p a r o a medida e nq u e
algoritmo,
a l g o r i t mvcoao n v e r g i e n d o
hrcia
aproximaci6n.
21
es
ir
esta 5e vaaproximando
a Ir rrffrl, m% decir, e1 t a M o d e l p a s ov ad i s m i n u y e n d o
q u e al
velocidad
el
vector
a
medida
dptirno
de
Epl r i n c i p i o
es
de este
algoritmo
descrito
anteriormente
diferencia
a
cuales va a v a r i a r e l
pasode
de
u s L
N
condiciones
2
e ( k )
k =1
la siguiente manera:
N - l
N - 1
&si p o r 10tanto
las
t
22
LMS
s i m i l aa
rl
convergencia.
N- 1
P o r l o cual a h ) quedada
basicarnente
+ -1e 2 (N)
N
en
la
CIsi para que e l algoritmoconverja
las
mas ripidamentedefinimos
siguientes condiciones:
si
si
Las siguientes paginas n w t r a n el program
se ímplemntan a d x m a l g o r í t m s , asi c o w
usuarfo.
23
la
computpcfonal
interfaz
donda
hacía
el
"_
(*
(*
...................................
PROGRAMA VSNLMS AND LMS
~""~~""~~""~"""""-------------------
E s t o programa
implementa
l oasl g o r i t m ovss n l m s
y lms
para l a s i r n u l a c i o d
n fei l t r oas d a p t i v ons roe c u r s i v o s
el c u aml u e s t r a
l a r e l a c i osne ñ a l / r u i d o
que presenta
t a l s i m u l a c i oEnsp
.t reo g r a m a
es c a p a z d e a n a l i z a r
d i s t i n t a s seRales d e e n t r a d a d e s d e l a mas s i m p l e f u n c i o n
e s c a l o n h a s t a u nsae ñ at lo t a l m e n tael e a t o r i a ,
la cual
i r a s i e n d oa p r o x i m a d ap o r
el f i l t r oa d a p t i v oc o n v e r g i e n d o
a un v a l o r ddea dgoa n a n c i a
*)
*)
*I
*)
*)
*)
*)
*I
*)
*I
*)
3ROGRAM VSLMS-LMS;
( * el programa se a u x i 1 i a d e e s t a s
( * u n i d a d e s , 1 a s c u a l e s s i r v e n para
( * r e a l i z a r l a parte d e g r a f i c a c i o n ,
( w l a parte d e i n t e r f a c e a u s u a r i o y
( * para p r o p o s l t op r o p i o s d e l l e n g u a j e
USES
CRT,
VENTANAS,
GRAPH,
PTOOLS;
CONST
*I
*)
*)
*)
*)
( * E s t a s c o n s t a n t e s s o n declaradas para *)
(* para p o d e r i d e n t i f i c a r l o sa r c h i v o s *)
(* de t e x t oq u eg e n e r a r a y u t i l i z a r a el * I
( * programa
*)
fct = '.FCT';
erl = ' . E R L ' ;
si9 = ' . S I G ' ;
TYPE
v e c t o r - a r r a y t o . . 3001 o f real ;
cadena = s t r i n g C 3 0 3 ;
cadena1 = s t r i n g C 4 3 ;
VAR
A,
A T , XT,
n,ix2,ixl
AR,
AR1,
XR,
XS,
DT
libre
(*""""""""""""""""""""""""""""""(*
GAUSSIAN0
RUIDO
GENERADOR DE
(*"""""""""""""-"""""""""""""""""
(*
g e n e r a d o r de n u muenr iofso r m e mdeins t er i b u i d o s
(* p a r a a s i p o d e r r e a l i z a r l a s i m u l a c i o n d e l
. o r o c e d u r eu n i f( u n i
: integer;
VAR i x l , i x 2 : i n t e g e r ;
VAR r y : r e a l ) ;
'JAR
i x : integer;
: vector;
: integer;
: boolean5
r u i dbol a n c o
*)
*)
W)
*)
*)
BEG I N
i f u n i = lt h e n
ix:=ixl
e l se
ix:=ix2;
is:=ix*l79;
i f i x < Ot h e n
ix:=ix+32767+1;
ry:=ix/32768.0;
i f u n i = lt h e n
ixl:=ix
el se
ix2:xix;
END;
*
*
*
G a u snsui amneorso s d e g e n e r a d o r
E s t pe r o c e d i m i e n t o
se ayuda d e l p r o c e d i m i e n t o UNIF para
g e n e r aarl e a t o r i a m e n tde a t oqs usei r v a p
n a rda e t e r m i n a r
u n as e ñ a l
d e e n t r a d a y l a r e s p u e s t ai m p u l s i v a
d e l sistema
U
*)
*)
*)
*)
r o c e d u r en o i s e ( u n i
: integer;
sd : real;
VFIR i x l , i x 2 : i n t e g e r ;
VAR x 1 , x 2 : r e a l ) ;
LABEL 1 ;
VAR
vl,vZ,r,s,b,y
: real;
BEGIN
1:unif (uni,ixl,ixZ,r);
vl:=2*r-1;
unif (uni,ixl,ix2,r);
v2: =2*r-l;
S : =sqr ( v l ) +sqr (vZ) ;
i f s 3 1 . 0 t h e ng o t o
b: =-2.O*ln ( 5 ) ;
y: = s q r t ( b / s ) ;
x 1 := s d * v l + y ;
x 2: =sd%v2*y;
1;
END;
:*"""""""""""""""""""""""""""-""":*
RESIMP
PROCEDIMIENTO
[*"""""""""""""""""""""""""""""""
:*
(*
(*
(*
(*
E s t e p r o c e d i m i e n t o se a y u d a r a d e l p r o c e d i m i e n t o NOISE
para d e t e r m i n a r la r e s p u e s ti m
a pulsiva
d e l sistema, l a
c u a l s e r v i r a p a r ap o d e ar n a l i z a r
l a parte g e n e r a d
l el o s
a l g o r i t m o s y e v a l u a r l a s a l i d a d e l sistema tomando como
base t a m b i e n l a señal d e e n t r a d a
*)
*)
*)
*I
*)
*)
*)
*)
r o c e d u r er e s i m p
:ma : lr,c'3qe"rj VS;K sal ,
VAR AR,AR1 : v e c t o r ) ;
S I , X L
: rear;
VAR
j , k , i x l , i x Z : integer;
BEGIN
s d l := I ;
i x 1 :=232;
ix2: 445;
FOR k:=O t o ma-1 DO
begin
noise~l,sdl,ixl,ix2,~l,x2);
ARCkl:=(xl/3.0)*exp(-(b.0+k)/(ma-l));
ARlCkJ:-(x2/3.0)*exp(-(6.0*k)/(ma-l));
end;
END ;
*)
*)
*)
(*"""""""-"""""""""
:*
PROCEDIMIENTO TRANSV
(*"""""-"""""""""""
(*
(*
[*
(*
E s tper o c e d i m i e n toob t i e ne
vee
l ctor
o lm
a atriz
de
s a l i dd
aesli s t e m a
empleando l a sumatoria de
convol u c i on, p a r a l a c u ai nl v i e r tls
eae ñ a l
de
entrada
y es l a que
va
r e c o r r i e n d os o b r e
l a r e s p u e s t ai m p u l s i v a
,
9)
*)
*)
*)
r o c e d u r et r a n s v ( V A R ma,na : i n t e g e r ;
VAR x 1 , y : r e a l ;
VAR AT,XT : v e c t o r ) ;
VAR
k : integer;
BEG I N
FOR k:=O t o na-1 DO
begin
XTC k 3 :=XTC k + l I
end ;
XTfnal:=xl;
y : =o. o;
FOR k:=O t o ma-1 DO
begin
y:=y+6TCkl*XTCna-k3
end;
END;
(* r e c o r r e
(*
l a l i n e a de r e t a r d o
i n t r o d u c e la señal de e n t r a d a
(* convoluciona
obteniendo
y(t)
*)
*)
*)
rocedurestepsrze(VAR
ma,na : i n t e g e r ;
VAR m i u , e r r o r , a l f a
: real;
VAR XT : v e c t o r ;
ch : char 1 ;
VAR
k : integer;
ami u, m i up, mmax m m i n : r e a l ;
,
BEGIN
ami u: =O. O;
FOR k:=O t o ma-1 DO
begin
amiu:=amlu+sqr (XTCna-kl)
end;
( * c a l c u l o de l a p o t e n c i a *)
(* de l a señaldeentrada * I
( a p a r aa s id e t e r m i n a r
el *I
( * paso
*)
i f ch = ' L '
then
m i u := a l f a / a m i u
e l se
begin
mmax: = l . O/amiu;
mmin:=O.Ol/amiu;
i f miu=O.O then
m i up :=mmax
e l se
(*
(* r a d i o
*)
c a l c u l o de m i u
de convergencia
de
miu
*)
miup:=0.999*miu+O.O0048*error*error;
(* c o n d i c i o n e s de m i u
( * l a c o n v e r g e n c i da e l
( * algoritmo
miu:=miup;
I f miup>mmax t h e n m i u : =mmax;
I f miupcmmin t h e n miu:=mmin;
end;
para
*I
END;
'*"""""""""""^"""""""""""""""""""""
:*
*I
PROCEDIMIENTO
LMS
I*""""""""""""""""""""""""""""""""
:Y
E s tp
er o c e d i m i e n te
ov a l ue
all g o r i t m o
con ecl u ael l
f i l t r o adaptiva
ira
aproximando su r e s p u e s tiam p u l s i v a
:*
a l a r essiip
smtue
p
d
em
u
e
sltasai v a
:*
procedure lms(UAR ma,na : i n t e g e r ;
VAR e r r o r , m i u : r e a l ;
VAR AT,XT : v e c t o r ) ;
VAR
k: i n t e g e r ;
*)
*)
*I
*)
*I
*)
*)
FOR k r = 0 to ma-1 DO
begin
AT~k3:=ATCkI+miu*error*XT~na-k1
end ;
END;
*"""
"""""""""""""""------------------**"""""""""""""""~"""""-------------------PRESENTACION
*)
*)
*)
'rocedure presentacion;
BEGIN
ventana(l,l,80,24,1,",1,14);
gotoxy(22,6) ;
write('SIMULACI0N DE FILTROS ADAPTIVOS MEDIANTE');
gotoxy(22,7) ;
write('L0S ALGORITMOS VLMS Y LMS');
gotoxy(22,9);
write ( '
ELABORADO POR : 1 ;
gotoxy(Z2,lO) ;
write ( '
DE LA LUZ PUEBLA VICTOR
MANUEL');
gotoxy (22,ll);
write( '
GHENOFLORESJULIO
CESAR');
gotoxy(22,14) ;
write('
BAJO LAASESORIA
DE:');
gotoxy (22,lS);
Dr. HECTOR
PEREZ
MEANA');
write ( '
UAM-I
1994'1 ;
gotoxy (20,18);Write ( '
textcolor(31);Gotoxy(70,22);
write(
'<<ESPERE>>');
delay (2000);
textcol or (14);
END ;
*)
*)
*)
'*"~""""~""""~"""""""""""""""""~"---
:*
INICIALIZACION
PROCEDIMIENTO
DE
'*"""""~"""""""~""~"""""~""""""""--:*
(*
:*
Este procedimiento inicializa los vectores
durante la ejccucion del programa, esto
introducido
evitar
pueda
ser
ruido
que
con
a utilizar
el fin de
rocedure inicializatVAR A,AT,XT,AR,ARl,XR,XS,DT:vector);
VAR
k : integer;
BEGIN
FOR k: =O t o 300 DO
begin
A r k 3 :=O.0;
A T C k l : = O . 1;
I
.
"
a
.
-
-P.
*-
*I
*)
*I
XTCkl:=O.O;
XSCKJ:=O.O;
DTCkl:=O.O;
end;
END;
*)
*)
*)
(*"""""""""""-"""""""""""""""""""""
(*
DATOS
(*""""""""""""""-""""""""""""""""""
EN ARCHIVO
GUARDAR
En e s tper o c e d i m i e n t o
damos l a opcion de que e
uls u a r i o
pueda
guardar
e n a r c h i v o s de t e x t o l o s d a t o s que haya
generado e l programa,
dandole
l a opcion que
de
l o pueda
guardar en c u a l q u iuen
ridad
de d i s c o y b acj u
oa l q u i e r
s u b d i r e c t o r i o . Y l a e x t e n s id
o
aen
r lc h i v o
l a generara
e s t e de acuerdo
p r o c ead
l im
r ei e
an
l itzoa d o
(*
(*
(W
(*
(*
(*
r o c e d u r eg u a r d a r c
8)
*)
*I
*)
*)
*)
(DT:vector;extension:cadenal);
VAR
i ,resu1 tado
s a l 1 da
nombre,archivo
OUDA
:
:
:
:
integer;
char;
cadena;
text;
BEGIN
ptwset(1,13,7,67,17,1,7,0,");
ptwopen ( 1 ) ;
w r i t e l n ( ' T E C L E E EL NOMBRE DEL ARCHIVO SIN EXTENSION. L A EX- ' 1 ;
w r i t e l n ( ' T E N S I 0 N ASIGNADA
SERA
',extension,'
EL ARCHIVO S E ' ) ;
writeln('GUARDARA EN L A UNIDAD D E TRABAJO, S I DESEA GRABARLO');
w r i t e l n ( ' E N OTRA UNIDAD
INDICARLA
DE L A SIGUIENTE MANERA:
'1;
writeln('
CUNIDAD3:€\CSUBDIR3\>CNOMBREl
'1 ;
wri t e l n ( '
ABORTAR
PARA
FIN
TECLEE
');
writeln;
repeat
.
ptwset(2,13,15,67,17,1,4,15,"~;
ptwopen (2);
r e a d l n (nombre) ;
i f
(nombre'' ' ) then
begin
resultado:=l;
ptwcl ose;
end
el se
begin
i f (nombre 0 ' F I N ' ) then
begin
a r c h i v o := concat (nombre,extension) ;
assign(OUDA,archivo);
<%I->
rewrite(OUDA1;
r e s u l t a d o : =IOResul t ;
<%I+>
i f r e s u l t a d o 0 O then
Begin
ptwset(3,19,9,61,15,1,3,0,");
ptwopen ( 3 ) ;
.
-
'---nn
n=
cermlm IRA.
DISCO PROTEGIDO 0' :
t e l n ( 'UNIDAD D E DESTINC MO V A L I D G ' > ;
writeln;
w r i t e ( ' P R E S I 0 N E INTRO
PARA
CONTINUAR');
s a l i d a := r e a d k e y ;
p t w c l o s e ;{ c i e r r e
de 3)
p t w c l o s e ;. : c i e r r e
de 2)
End;
end;
end;
u n t i l( r e s u l t a d o
= 0 ) o r (nombre = ' F I N ' ) ;
i f nombre < > ' F I N ' then
begin
F o r i := 1 t o 180 d o
wr1
writeln(OUDA,i:&,DTCiI:l4:6);
close(ouda);
end ;
p t wocsl{
ec; i e r r e
p t wocsl{
ec; i e r r e
de 23
de 1 3
END;
*"""""""""""""""""""""""""""""""
*
LEER DATOS DE ARCHIVO
*"""""""""""""""""""""""""""""""
*
E sptreo c e d i m i e nl teoe
de a r c h i v o , l o s d a t o s que
han
*
s i deod i t a d opsr e v i a m e n t c
eo
,n
l a e x t e n s i o n que r e q u j e r a
*
c afduan c i o
Tn
a.m b i e
t ine,n e
l a c a p a c i d a d de l e e r de
*
c u aul q
nu
i di e
a rd
de d i s c o y / o s u b d i r e c t o r i o
lrocedure
leearc
(VAR 5T
: v e c t o re
; xtension
VAR a r c h i v o : c a d e n a ) ;
VAR
i n d i c e ,r e s u l t a d o ,
aux I
sal ida
nombre
I NDA
dux
*)
*)
*)
*I
*)
*)
: cadenal;
:
:
:
:
:
integer;
real;
char;
cadena;
text;
BEGIN
ptwset(4,13,7,67,17,1,7,0,");
ptwopen ( 4 ) ;
w r i t e l n ( ' T E C L E E EL NOMBRE DEL ARCHIVO SIN EXTENSION. L A EX- ' 1 ;
w r i t e l n ( ' T E N S 1 O N ASIGNADA
SERA
',extension,'
EL ARCHIVO S E ' ) ;
w r i t e l n ( ' L E E R DE L A UNIDAD D E TRABAJO, S I DESEA LEER DESDE
'1;
w r i t e l n ( ' 0 T R A UNIDAD INDICARLA, DE L A SIGUIENTE MANERA:
' 1;
writeln ( '
CUNIDAD3:C\CSUEDIR3\3CNOMEREJ
');
w r i teln ( '
ABORTAR
PARA
TECLEE FIN
'1;
writeln;
repeat
ptwset15,13,15,67,17,1,4,15,");
ptwopen (5);
r e a d l n (Nombre) ;
i f nombre =
then
begin
r e s u l t a d o := I ;
ptwcl o s e ;
end
.
"
st)
begin
i f nombre < > ' F I N ' then
begin
archivo := concat (nombre,extension);
assign(INDA,archivo);
.[$I->
reset
(INDA)
;
resultado:= IOResult;
CBI+I
i f resultado
<>
O then
Begin
ptwset~b,19,9,61,15,1,3,0,");
ptwopen ( 6 );
writeln('EL ARCHIVO ESPECIFICADO NO SE E N C U E N T R A ' , ) ;
writeln;
write('PRESI0NE INTRO PARA CONTINUAR');
salida := readkey;
ptwcl ose;
ptwcl ose;
End;
end;
end;
until (resultado = O) or (nombre = 'FIN') ;
if nombre < > ' F I N ' then
begin
indice := O;
WHILE ((not eo+ (INDA)) or (indice<l80)) d o
begin
readln(IND&,aux,AUXl);
DTCindicel :=auxl;
indice:=indice + 1;
end ;
cl ose (INDA);
end
else archivo := 'FIN';
ptwclose;
ptwcl ose;
END:
(*"""~"""""""""""""""""""""""~"""""
:*
SELECCION DE L A SEijAL
(*""""""""""""""""""""""""""""""""
Este
procedimiento
genera
la
señal
de
entrada
a la
que
estara
sujeto
el programa,
proporciona
algunas
señales tales como, senoidal,escalon,trendepulsos
y señalesaleatorias;tambientiene
la opcion de que
puedaescribir a, o leer de disco señales elegidos
por
el usuari o
(*
(*
(*
(*
(*
(*
XS : vector; VAR
signal : cadena;
VAR x l , x 2 : real; VAR flag-sig :boolean;
archivo : cadena) ;
rocedure selec-sig(WR
3
VAR
indice,ixl,ixZ,k,ki
X
t
: integer;
: char;
: real;
*)
*)
*I
*)
*)
*I
*I
*I
W)
(*
(*
estp
erocedrmrento
sirve p a r a
s e l e c c l o n aerpl e r i o d o
de las señales que 1o r e q u i e r a n
p r o c e d u r ep e r i o d o ( v a r
VAR
bandera : b y t e ;
t
*)
*)
: real );
BEGIN
Repeat
ptwset(7,15,1O,65,14,1,6,14,"~;
ptwopen (7);
w r i t e l n ( ' Q U E PERIODO TENDRA L A SEÑAL ? ' I ;
write('T:= ' ) ;
€$I-)
readln (T) ;
.C$I+) ;
bandera := i o r e s u l t;
if bandera ( > O t h e n
ptwclose
U n t i l (bandera = O ) ;
t e x t c o l o r (311 ;
write('.~,~~EVALUANDO>>)');
END;
y""""""""""""""""
'"""""""""""""
*
'*""""""""""""""""""""""""""""""""
*
En l assi g u i e n t e s
'*
T"""
FUNCIONES DE SEZALES
1i n e a s s e e d i t aanl g u n a
fu
sn c i o n e s
que s o n l a su t i l i z a d a s
en e l programa
UAR
j
: byte;
BEG I N
k: =O;
w h i l e k <= 180 d o
BEGIN
f o r j :=I t o 4 d o
XSCk+j-21 := 1;
f o r j :=S t o 8 d o
XSCk+j-23 := O;
k := k + 8 ;
END ;
END;
*)
*)
*)
*I
W)
".
",","""""""""""""""-"-*)
[*""""""
;*
cuerpo
principal
del
;*~""""""~""""""""""""--------------------
generador de seGales
*)
46)
BEGIN
x := ' 2 ';
WHILE x < > 'S' do
BEG I N
ventana(1,1,80,24,1,",1,14);
gotoxy(12,2);
write('EN ESTA OPCION PODRA INTRODUCIR LA SEZAL DE ENTRADA '1;
gotoxy(l8,3);
write('DEL SISTEMA DE COMUNICACION');
textcolor (15);
gotoxy(2,8); write('[[
A 33');
gotoxy(2,10);write('CC B 33');
gotoxy(2,1Z);write('CC C 33');
gotoxy(2,14);write('CC D 3 3 ' ) ;
gotoxy(2,16);write('CC E 33');
qotoxy(2,18);write('Cf F 13');
g~toxy(2,2Q);write('Cf S 33');
textcolor(l4);
g o t o x y ( 1 2 , 8 ) ; write('SEZAL
ESCALON
'1;
gotoxy(l2,lO);write('SEÑAL SENOIDAL
');
gotoxy(l2,12);write('SEÑAL ALEATORIA
'1 ;
gotoxy(l2,14);write('LEER SESAL DE DISCO
'1;
gotoxy(l2,16);write('ESCRIEIR SEÑAL EN DISCO
'1;
gotoxy(12,18);write('TREN DE PULSOS
');
gotoxy(12,20);write('REGRESAR AL MENU PRINCIPAL');
ptwset(8,1,22,8Q,24,1,4,15,");
ptwopen ( 8 ) ;
REPEAT
clrscr;
gotoxy(4,21);
write('SELECC1ONE LA LETRA DE SU OPCION ' 1 ;
x: = upcase
(readkey)
;
UNTIL (x = ' A ' ) or ( x = 'B') or (x = 'C') or
(x = 'D'I or (x = 'E') or (x = ' F ' ) or
(x = ' S ' ) ;
write(x);
CASE x OF
'A '
.
BEGIN
si gnal := ' lSCALON ' ;
for k : y : O t o 180 d o
X S C k l := escalon;
textcol or (31);
write(' <<<EVALUANDO>>>')
END;
'E'
'C'
BEGIN
signal := 'SENOIDE';
periodo(t);
for k := O t o 180 d o
XSLKI :=senoidal (t,k);
ptwclose; (cierre
de 7 9
END;
BEGIN
signal := 'ALEATORIA';
ventana(30,10,70,13,3,",7,0);
gotoxy(31,ll) ;
write('ESTA SESAL LA CALCULAEL PROGRAMA ' 1 ;
textcolor(31);gotoxy(40,12I;
write('
<<<EVALUANDO>>>');
i x l := 2216;
ixZ := 345;
---
1-
m -
n
C m
da
BEGIN
noise(l,l,ixl,lx2,xl,xZ)i
XSCKI
END:
:=x 1 ;
END;
'D'
:
BEGIN
s i g n a l := ' D E
ARCHIVO';
leearc(XS,SIG,archivo);
'E'
:
:
guardarc(XS,SIG);
BEGIN
s i g n a l := ' T R E ND EP U L S O S ' ;
t r e n d e p u l s o ( X S );
'F
END;
'
END;
E N D ; .:case>
p t w c l o s e ; { c i e r r e de 83.
f l a g - s i g := t r u e ;
END;
END ;
'*"""""~""""""""""""""""""""
*
S E LDE ECLC I O N
TAMANO D E M I U
'*""~""""""""~"""""""""""""~"""""""*
Este p r o c e d i m i e n t o es l a i n t e r f a z dque t i e n e
:* p a r a determinar que a l g o r i t m o desea u t i l i z a r
'*
d e l p a sq ou
d ee s e e
""_
el usuar)o
y e l tamaño
r o c e d u r es e l e c - a l g ( V A R
a l f a : r e a l ; VAR ch : c h a r ;
VBR a l g o r i t m o : c a d e n a ; VAR f l a g - a l g
*)
*)
*)
*)
*I
9)
: boolean);
BEGIN
ventana(1,1,80,24,1,",1,15);
gotoxy(l5,2);textcolor~14);
w r i t e l n ( ' E S T E PROGRAMA PUEDEIMPLEMENTAR
DOS T I P O SD EA L G O R I T M O S ' ) ;
gotoxy[15,2)j
w r i t e l n ( ' E L ALGORITMO IILMS" Q U EU T I L I Z AU NP A S O
DE AFROXIMACION ' 1 ;
gotoxy(15,3);
'1 ;
w r i t e l n ( ' C O N S T A N T E , EL C U A L ES INTRODUCIDOPOR
EL U S U A R I O
gotoxy(15,4);
'1;
w r i t e l n ( ' Y , E L A L G O R I T M O" V L M S " ,
EL C U A LU T I L I Z A UN P A S OD E
gotoxy(15,5)g
'1 ;
w r i t e l n ( ' A P R O X 1 M A C I O NV A R I A B L E ,
EL CUAL EL PROGRAMA E V A L U A .
gotoxy(15,10);
w r i t e l n ( ' S E L E C C 1 O N E EL ALGORITMO A IMPLEMENTAR: ' 1 ;
gotoxy(20,13);textcolor(l5);write('<< L > > ' I ;
gotoxy(40,13);write('<< V >>');textcolor(l41;
g o t o x y (28,13); w r i t e ( ' L M S ' 1 ;
gotoxy(48,13>;write('VLMS ' 1 ;
REPEAT
ch := u p c a s e ( r e a d k e y 1 ;
UNTIL ( ( c h = ' L ' ) o r (ch = ' U ' ) ) ;
I F ch = 'L' then
BEGIN
Repeat
ventana(32,15,48,17,3r'LMS',4,15);
gotoxy(33,16) ;
w r i t e ( 'PASO: ' 1 ;
***
I
r e a d ( a l f a:
)
<%I+>
u n t i 1 i o r e s u l t '0;
a l g o r i t m o := ' L M S ' ;
END
ELSE a l g o r i t m o :=
f l a g - a l q := t r u e ;
END;
'VLMS';
*I
(*""""""""""""""""""""""""""""""""
SELECCION DEL VALOR DE RUIDO
:*
"""""*(
En e s tper o c e d i m i e n tu
eos
l u a rd
i oe t e r m i nn
eail v e l
r u i d o que desee en l a s i m u l a c i o n , donde
i n d i cefala c t o r
de r e l a c i oenn t rerelu i d o
:*
(*
:*
+ocedure
selec-noise(VAR
de
el valor
mostrado
y l a señal
*)
*)
*)
*)
*)
op : c h a r ; VAR p o t r : r e a l ;
VAR f l a g - n o i s e : b o o l e a n ) ;
BEG I N
ventana(1,1,80,24,1,",1,15);
gotoxy(15,5);
J
w r i t e ( ' E N ESTA OPCIONUSTEDPUEDE
VARIAR EL N I V E L D E RUIDO ' I ;
gotoxy (15,6);
write('G!UE PRESEDE A L A SEÑAL PARAOBSERVAR
SU CONVERGENCIA');
gotoxy (15,7);
w r i t e ( ' A N T E DIVERSOS FACTORES DE RUIDO.
ESTE PROGRAMA LE
'1;
gotoxy(15,8);
write('PROP0RCIONA 4 OPCIONES :
'1 ;
g o t o x y ( l 5 , 1 0 );
write('
A := 1
B := 0.1
c := 0.01
') ;
gotoxy(29,15);
w r i t e ( ' T E C L E E L A LETRA DE SU OPCION');
repeat
ptwset(9,38,18,42,20,1,4,15,");
ptwopen ( 9 )
;
op := u p c a s e ( r e a d k e y );
w r i t e ('', o p ) ;
d e l ay (500);
p t w c l o s e ; € c i e r r e de 93.
u n t i(l o p = ' A ' )
o r (op='B') o r (op='C');
case op o f
'A'
: p o t r :- 1;
'B'
: potr := 0.1;
'C '
: p o t r := 0 . 0 1 ;
end;
f lag-no1 se := t r u e ;
END:
(*"""""""""""""""""""""""""""""""(*
PROCEDIMIENTO
(*"""""""""""""""""""""""""""""""(*
E s tper o c e d i m i e n ti n
o d i cu
aas
l uario
(*
que t i e n e
para
la
seleccion
(*
c i a a ls a
is
es
ts
ce
u
tulm
a
jaerlata.a
SELECFUNTRAS
las posibilidades
de l a f u n c i o n de t r a n s f e r e n -
*)
*)
*)
*)
*)
*)
r r o c e d u r es e l e c - f u n t r a n s (
'JAR
opcl
k
VAR AR, A R l : v e c t o r ;
VAR s d l , x l , x 2
: real;
VAR opc
: char;
VAR f l a g - f u n : boolean;
: cadena) ;
archivo
: char;
: byte;
BEG IN
ventana(l,1,80,24,1,",1,14);
gotoxy(21,5);write('SELECCION
DE FUNCION
DE
TRANSFERENCIA");
gotoxy(28,10);write('A:
CALCULO FOR PROGRAMA');
g o t o x y ( 2 8 , 1 2 ) ; w r i t e ( 'B: LEER DATOS DE DISCO ' 1 ;
gotoxy(31,16);write('SELECCIONE SU OPCION');
repeat
ventana(35,18,45,20,2,",4,15);
opc := upcase (readkey) ;
u n t i l (opc = ' f i ' ) o r Copc = 'B.);
gotoxy(39,19);write(opc);
i f opc = 'E' t h e n
leearc(AR,FCT,archivo)
e l se
begin
repeat
1
ptwset(10,1,22,80,24,-1,4,15,");
ptwopen (10)
;
write('LDESEAS GUARDAR EN ARCHIVO LOS DATOS GENERADOS? CSI o [NI
opc 1 := upcase (readkey) ;
u n t i l( o p c l = ' S ' )
o r (opcl = ' N ' ) ;
write(opc1);
delay(500) ;
p t w c l ose;
resimp(l60,sdl,xl,xZ,AR,ARl);
f o r k := 1 t o 20 do
ARC160 + k 3 := 0;
i f opcl = ' S ' then
guardarc (AR,FCT) ;
end;
i f a r c h i v o 0 ' F I N t' h e n
f l a g - f u n := t r u e ;
END;
(*""""""""""""""""""""""""""""""""(*
PROCEDIMIENTO EJECUTAR
(*""""""""""""""""""""""""""""""""(* E s t ep r o c e d i m i e n t oe v a l u aeal l g o r i t m om o s t r a n d o
l o s valores
(* de l ap o t e n c i a de la s e ñ a l ,p o t e n c i a de r u i d o , y l ar e l a c i o n
(* señal a r u i d o que e s t apso t e n c i at ise n e na ,n a l i z a n deol
(* a l g o r i t m o de acuerdo a l o r d e nd e l f i l t r o u t i l i z a d o Cl60 p a r a
(*
n u e s t r o caso3
p r o c e d u r ee j e c u t a r( a l f a , p o t r : r e a l ;c h : c h a r ; a l g o r i t m o ,
x i : real 1 ;
*)
Y)
*)
*)
*)
*)
*I
*I
signa1:cadena;
'1;
VAR
ki, k , j
respuesta,opc
11..
,\,ixnl,ixnZ,ma,na
serrm, errm, ssig, serr, semiu, sdnl, xnl, xn2, yor,x2,
yot, xnr, yspn, error, erle, erledb, omiu, emiudb,miu
: byte;
: char;
: integer;
: real;
BEGIN
IF libre = true THEN
BEGIN
ventana(l,1,80,24,1,",1,15);
gotoxy(5,2); write('ALGORITM0');
gotoxy(45,2); write('RELACI0N
SEÑAL / ERROR
(dB)' 1 ;
gotoxy(20,2); write('N1VEL DE RUIDO');
gotoxy(5,7); write('PARAMETR0
DE CONVERGENCIA');
gotoxy(5,13); write('SEKAL DE ENTRADA');
ptwsetIl1,5,3,15,5,2,4,15,");
ptwset(12,20,3,30,!5,2,4,15,");
ptwset(13,5,!3,15,10,2,4,15,");
ptwset114,5,15,25,17,2,4,15,"~;
ptwset(l5, 40,3,75,22,1,7,0,");
ptwopen ( 1 1 ) ;
write('
',algoritmo);
ptwopen (12)i
write('
',potr:l:4);
ptwopen ( 1 4 ) ;
1
write(' ',signal);
ptwopen (15);
(* adaptacion de condiciones*)
ptwopen (13);
ixnl := 286;
ixn2 := 298;
ma
:= 160;
na
:= 190;
i x l := 2216;
i x 2 := 345;
iix:=O;
serrm: =O.
O;
errm: =O.
O;
FOR ki:=l t o 18 DO
begin
FOR k:=l to 10 DO
begin
ssig:=O.O;
serr: =O. O;
semiu:=O.O;
FOR j : = 1 t o 160 DO
( # determinacion
de la señal
begin
(* aleatoria (si se eligio)
if signal = ' A L E A T O R I A ' THEN
noise(l,l,ixl,ix2,xl,x2)
el se
x 1 := X S r j l ;
noise(2,1,ixnl,ixn2,xn19xn2);
i f opc = ' A ' then
begin
I F ki)=lO THEN
transv(ma,na,xl,yor,fiRl,XR)
ELSE
transv(ma,na,xl,yor,AR,XR);
end
el se
transv(ma,na,xl,yor,AR,XR);
transv(ma,na,xl,yot,AT,XT);
I F ki=8 THEN
- -.."I
*>
*)
ELSE
begin
I F k i = l 5 THEN
xnr:=xn2
ELSE
xnr:=xn2*potr
end;
yspn:=yor + x n r ;
error:=yspn-yot;
ssig:=ssiq+(yor*yor);
serr:=serr+( (yor-yot)*(yor-yot) 1 ;
semiu: =semiu+sqr ( e r r o r ;
stepsize(ma,na,miu,error,alfa,XT,ch);
LMS(ma,na,error,miu,AT,XT);
end;
w r i t'e, m
('iu:l:4);
iix:=iix+l;
erle:=ssig/serr;
erledb:=l0.O*ln(erle)/ln(lO.O);
emiu:=semiu/ssig;
emiudb:=lO.O+ln(emiu)/Ln(lO.O);
ptwcl o s e ;
w r i t e l n ( i i x : 3 , 'e r l e d b' , e r l e d b : 1 4 : 6 ) ;
D T C i i x J := e r l e d b ;
ptwopen (13);
write('
',miu:l:4);
end
end;
repeat
ptwset(16,15,9,65,14,1,3,~,");
ptwopen (16);
w r i t e l n ( ' L A RELACIONSEÑAL
A RUIDO NO
HA
SIDOSALVADA
w r i t e l n ( ' D E S E A HACERLO AHORA ? ' 1 ;
writeln;
write('
ES3 I
CN30' 1 ;
r e s p u e s t a := u p c a s e ( r e a d k e y 1 ;
UNTIL ( r e s p u e s t a = ' S ' ) o r ( r e s p u e s t a = ' N ' ) ;
I F r e s p u e s t a = ' S ' THEN
begin
ptwclose;
guardarc(DT,ERL)
end
el se
ptwcl ose;
end
1
AUN');
ELSE
BEGI N
ptwset117,15,8,65,16,1,1,14,");
ptwopen (17) ;
w r i t e l n ( ' L A RELACION SEÑAL A RUIDO NO PUEDESER
EVALUADA');
w r i t e l n ( ' D E B I D 0 A QUE NO
HAN
SIDO ESTABLECIDOS TODOS S U S ' ) ;
writeln('PARAMETR0S[NIVEL
DE RUIDO, SEÑAL, ALGORITMO, O ' 1 ;
w r i t e l n ( ' F U N C I 0 N DE TRANSFERENCIA]. ' ) 5
writeln;
w r i t e l n ( ' PULSE CUALQUIER TECLA PARA
CONTINUAR
'1;
r e s p u e s t a := r e a d k e y ;
ptwcl ose;
END ;
END;
*I
(~"~~"""""""""""""""""""""""-"""----
(*
RUTINA DE GRAFICACION
-""""""""""""""""""""----
*I
*)
*
*
*
Esteprocedimiento reallza la gratrcacron oe L B S
funciones que hayan s i d o grabadas bajo la extencion
"erl", es decir l a relacion señal a ruido CERLEdbI
de un sistema evaluado en este programa
Y
=a
*I
*I
*)
rocedure grafictarchivo : cadena);
TYPE
arreglo = arrayC0.. 1 0 3
ot
strinqL301;
VQR
fila1:arreglo;
bandera,graphdriver,graphmode,errorcode,gmaxx,gmaxy,
pa5ox,pa~oy,elec,aux,aux2,j,m,anterior,actual,max
d u x 1, aux3
car
nombre,nombrel
datos,datosl
,graf
graf
1
:array C0..3OOJ
:integer;
:real ;
:char;
:cadena;
:t e x t ;
of
integer;
BEG I N
REPEAT
J
clrscr;
ptwset(18,1,1,80,24,l,l,lS,");
ptwopen (18);
write1n;writeln;writeln;writeln;
write('CUANTAS GRAFICAS QUIERES HACER SIMULTANEAMENTE, MAXIM0 4:
[$I->
read(e1ec) ;
{$I+?;
UNTIL
(elec<=4) and (ioresult = O);
j:=l;
bandera: = O;
FOR j:=1 to elec DO
begin
;
leearc
(DT,ERL,archivo)
filalCjl:= archivo;
i f filalCj1 = ' F I N ' then
bandera: = S ;
end;
i f bandera = O then
Begin
ptwclose;
graphdriverrrDEfECTg
initqraph(qraphdrivsr,graphmode,' ' ) ;
errorcode:=graphresult;
i f errorcode<>grok then
begin
writeln('ERROR GRAFICO ',grapherrormsg(errorcode));
wr i te1 n ( 'PROGRAMA
ABORTADO
'1;
halt(1);
end;
grnaxx:=getmaxx;
gmaxy: =getmaxy;
pasox: =gmaxx di v 180;
pasoy: =grnaxy div 100;
j :=O;
anteri or: =O;
cl eardevi ce;
~
-.
"
1 7 ,
'1;
(setcol (or
1) ;
outtextxy(S,O,'dB');
outtextxy(50,0, ' 7 0 ' ) ;
line(40,0,40,gmaxy);
line(41,70+pasoy,40+180*pasoy);
for j:=1 t o 18 do
begin
max :=j*10*pasox ;
line(4O+max,70*pasoy-5,4O+max,7O*pa~oy+5);
end;
outtextxy(40+180*pasox-l0,70*pasoy+5,'T'~;
outtextxy(40+180*pasox-lO,7O*pasoy-15,'180'~;
for j:=O to 1 1 do
begin
max:=j*lO*pasoy;
line(35,max,45,max);
end;
m: =O;
f a r m : = 1 t o elec do
begin
case
1
2
3
4
m of
:
:
..
setcolor(l1);
setcol (10)
or ;
setcol o r ( 1 2 ) ;
setcol or ( 1 4 ) ;
end;
for j : = l to 300 do
begin
g r a f C j3:=0;
end ;
nombre:=filalCml;
assiqn(datos,nombre);
reset
(datos)
;
j: =O;
WHILE < j<180) or (not eof (datos)
1 DO
begin
readln(datos,aux,auxl);
qrafCjl:=round(auxl);
j:=j+1;
end;
cl ose (datos);
j: =O;
WHILE j<=180 DO
begin
i f j=O then
begin
i f graf C j I t 0 then
anterior:=O
el se
anterior:=gra+Cjl*pasoy;
end;
actual :=pasoy+grat I:j 3;
if j < > 0 then
line~40+pasox~~j-l~,7O*pasoy-anterior,40+pasox~j,7O*pasoy-actual~;
anterior:=pasoy+qraf t j l ;
j:=j+1;
end;
outtextxy(gmaxx-200,gmaxy-~llO-lO*m~ ,filalCml);
end;
setcol or ( 11 ;
outtextxy(Q,gmaxy-10,'PULSE UNA T E C L AP A R AC O N T I N U A R ' ) ;
c a r : =readkey;
cl oseqraph;
restoreCRTMode;
End;
'*""""~"""~"""~"~""""""""""""""""--*
*"""""""""""""""""'--'"'""""""""""
*
E
i ns t ea m
r fu
a ze s t r a
.*
el
e j eupcsu
aurtaa rri o
*I
MENU
W)
*)
*)
*)
l a s o p c itoqi enuneees
el programa
l r o c e d u r e menu(VAR a , A T , X T , A R , A R l , X R , X S , D T: v e c t o r ) ;
CONST
f c t = '.FCT';
erl = ' . E R L ' ;
sig
= '.SIG';
VAR
opcion,
f 1 a g - f u n , f 1 ag-al g
h ai vl goo r i t ms oi g, n a l ,
e x t e n s i on
x 2 a sl d
f al , x pl ,o t r ,
ixl,
,
f 1 ag-si g , f 1 a g - n o i s e , b a n d e r a
char;
boolean;
cadena;
cadenal;
real ;
: integer;
:
:
:
:
:,
*I
(*"""""~"""""~""""""
:*
DECLARACION
(*"""""""""""""~"""~"""""~"""~"""""
DE CONSTANTES
*I
*)
P r o c e d u r ec o n d - i n i c ;
Begin
f l a g - f un
:= FALSE;
:=
FALSE;
f lag-sig
f lag-alg
:= FALSE;
f 1 a g - n o i se := FALSE;
1 i bre
:= FALSE;
End;
BEG I N
cond-inic;
REPEAT
clrscr;
ventana11,1,80,24,1,'MENU',15,0);
t e x t c o l o r (4);
gotoxy(2,8);
write('F1 ' 1 ;
g o t o x y ( 4 2 ,w
S )r;i t e ( ' F 2
g o t o x y ( 2 , 1 0 1 ; write ( 'F3 ' I ;
g o t o x y ( 4 2 , l O ) ;w r i t e ( ' F 4
g o t o x y ( 2 , l Z I ; write('F5 ' I ;
g o t o x y ( 4 2 , 1 2w
) ;r i t e ( ' F 6
g o t o x y ( 2 , 1 4 ) ; write < 'F7 ' ) ;
t e x t c o l o r ( 0 );
gotoxy(4,8) ;
write('.- SELECCION DE SEÑAL
INTRODUCIDA
'1;
gotoxy(44,8);
writel'.SELECCION DE
ALGORITMO
A APLICAR ' I ;
gotoxy(4,lOI ;
write('.- SELECCION DE TAMAÑO DE R U I D O ' 1 ;
--L-~<,
tna
1n) I
'1;
'I;
'I;
write('.- FUNCION DE TRANSFERENCIA');
gotoxy(4,12) j
write('.- EJECUTAR')?
gotoxy(44,12) ;
write ' - GRAFICAR RESPUESTA ' 1 ;
gotoxy(4,14) ;
write('.- SALIR');
.
ventana(30,20,5Q,22,3,",1,14);
gotoxy(32,21);
write ( 'Escoja su opci on ' ;
opcion := readkey;
bandera := false;
i f opci on= #Q then
BEGIN
opcion := readkey;
CASE opci onof
chr(59) : selec-sig(XS,signal ,xl,x2,flag_sig,archivo);
chr ( 6 0 ) : selec~alg(alfa,ch,algoritmo,flag~alg);
chr (61) : selec-noise(op,potr,flag-noise);
chr (62) : selec_funtrans(~R,ARl,sdl,xl,x2,opc,flag~fun,archivo~;
chr(63) : Begin
libre := (flag-sig) and (flag-noise)
and (flag-alg) and (flag-fun);
ejecutar (alfa,potr,ch,algoritmo,signal ,xl);
END;
chr(64) : graf ic (archivo);
chr(65) : bandera := true
END <case>
I
END:
UNTIL (bandera = true);
textbackground (0);
textcol or (15) ;
clrscr;
END;
w)
(*""~""""""""""""""""~""-""--------------
((*"""""~""""""~"""""""""""--------------*
MAIN
BEGIN
inicializa~A,AT,XT,A,ARl,XR,XS,DT);
presentaci o n ;
menu(A,AT,XT,AR,ARl,XR,XS,DT);$
END.
W)
w)
-
O
m
O
9
I-
o
O
2
O
O
o
D
z
"I
O
C
z
cn
I-
2
rn
O
N
n
U
O
O
cn
O
o
a
O
O
D
0
D
N
10
9
1
cn
O
N
O
O
u)
O
m
O
9
I-
cn
o
O
O
o
1
O
O
A
cn
O
9
o
D
cn
cn
O
O
2
N
O
O
m
I
N
A
O
O
O
O
&
O
x
mr
n
Q
IXI
W
O
z
71
9
9
c)
cn
O
O
z
m
2
O
O
A
cn
O
N
O
O
4
5
cn
<
u>
.
<
5
cn
CONCLUSIONES
E n la
tt-Act-ica se
debe
encont.rav
opt.imizacisn
un
ent.re
estructura5 de cflct-tctc, f i l t r ü s para lograr una mdxlma ganancia
afeict.ar
not.uriamente
l a velocidad de
cünvergencla
t.lempo de retardo en los calculas, minimu:
y
obtener
para que el f i f t r o
las
-sir1
un
as¡
cumpla con lüs abJetiVoS para el cual fue dlseKadct.
Lompar ando e 1 desempeKo de 1 CIS a lgur 1 t-mas podemos conc 1 ui t- que
el
a l g o r lt-mo VLMS presenta una ganancia mixima menor que
LMS
si
embargo,
la
=.E
"
le
irrt-roduce
el
mismo
factor
de
ruido,
velocidad de convergencia es mayctr en el VLMS.
sin
e1
113
J.
R.
Zeidler.
prediction filters". P r o c of
the
IEEE
LMS
of
"Performance Clnalysis
Vol
78,
Adoptive
No
12
pp
1780-1886 December 1990.
t23
Perez H. Anano F. "Acoustic Echo Cancellation Using Hultirate
Techniques" Trans. o f the IEICE vol E 74 No.11 November 1991/
C33
Shahid U. H. Qureshi "Adaptive equalization".
Proc.
of
the
IEEE vol 73 No. 9 September 1985.
C 4 3 Stanley,
William
D.
"Digital
Signal
Procerring*
Second
edition, Prcntica Hall, 1984.
153
Belove, C. "Enciclopedia de la Electronics" Centrun ediciones
Barcelona E s p a r 1990-
C 6 3 T r e i c h l w J.,
Johnson
signal procmssing
C.,
Theory
Larimova
and
Wi ley Intcrscimce.
27
Design
H.
"Topics
of
in
adaptive
digital
f i Itarb"
Descargar