Professional Documents
Culture Documents
Tarea #1 ELO-313
Procesamiento digital de seales con aplicaciones
Felipe vila Crcamo 201121002-6
I. Evaluacin de propiedades de sistemas
Para el presente problema, se estudian 3 archivos de MATLAB precompilados bbox1.p, bbox2.p y bbox3.p, los cuales son 3
sistemas desconocidos o cajas negras, y de las cuales se quieren hacer pruebas para determinar propiedades caractersticas,
como linealidad, invarianza en el tiempo, causalidad y estabilidad.
Linealidad:
Para probar la linealidad de los sistemas estudiados, se sigue la sugerencia dada de excitar los sistemas con ruido blanco,
para as asegurar excitaciones ricas en frecuencia. Para esto se toman dos entradas, llamadas x1 (t) y x2 (t), generadas con
el comando de MATLAB wgn(m, n, p) siendo sus argumentos m, n la dimensin del vector (o matriz), y p la potencia en
dB con respecto a 1[W ]. A cada entrada se le asocia una salida de la forma yn = bboxN (xn ), con n = 1, 2 y N = 1, 2, 3. A
su vez se emplea una tercera entrada denominada y3 = bboxN (x3 ), con x3 (t) = a x1 (t) + b x2 (t), entonces si se tiene que
y3 6= a y1 + b y2 para algn a, b, entonces el sistema se considera no lineal, o sea:
bboxN (a x1 (t) + b x2 (t)) 6= a bboxN (x1 (t)) + b bboxN (x2 (t)) bboxN () Es no lineal
(1)
Amplitud
50
100
150
0.2
0.4
0.6
0.8
Tiempo [s]
x 10
ay1 + by2
y3
3
2
Amplitud
1
0
1
2
3
4
0.2
0.4
0.6
0.8
Tiempo [s]
40
15
ay1 + by2
y3
ay1 + by2
y3
30
10
20
5
Amplitud
Amplitud
10
0
10
5
20
10
30
40
0.2
0.4
0.6
0.8
15
4.2
4.4
4.6
Tiempo [s]
4.8
5
Tiempo [s]
5.2
5.4
5.6
5.8
5
x 10
(2)
O sea, que un corrimiento (hacia la izquierda o derecha) en la entrada del sistema, genera la misma salida corrida la misma
cantidad de tiempo que la original. Para esto se usan entradas sinusoidales en los sistemas, y se obtienen las siguientes figuras,
siendo en azul la respuesta y(t 0.2), siendo y(t) = bboxN (x(t)) la salida antre la entrada sinusoidal sin corrimiento, y en
rojo la respuesta de la sinusoide con corrimiento hacia la derecha de 0.2[s] bboxN (x(t 0.2)):
Amplitud
0.2
0.4
0.6
0.8
Tiempo [s]
Amplitud
30
20
10
10
0.1
0.2
0.3
0.4
0.5
Tiempo [s]
0.6
0.7
0.8
0.9
0.8
0.6
0.4
Amplitud
0.2
0
0.2
0.4
0.6
0.8
1
0.2
0.4
0.6
0.8
Tiempo [s]
invariantes, pues la demostracin debe ser para cualquier corrimiento, y para cualquier tipo de entrada). Por otra parte, las
respuestas obtenidas para bbox2 presentan diferencias, las cuales basta para afirmar que el sistema es variante en el tiempo.
Causalidad y estabilidad.
En esta seccin, se evaluar la causalidad y estabilidad de los sistemas. Para esto, se excitarn los sistemas con respuestas
a impulsos, siendo el impulso generado como [zeros(1, 29), 1, zeros(31, 60)]. Los resultados obtenidos fueron los siguientes:
Respuestas de bbox1() a impulso
1.5
1
0.8
0.6
0.4
1
Amplitud
Amplitud
0.2
0
0.2
0.5
0.4
0.6
0.8
10
20
30
Muestra
40
50
60
10
20
30
Muestra
40
50
60
1
0.8
0.6
0.4
Amplitud
0.2
0
0.2
0.4
0.6
0.8
1
10
20
30
Muestra
40
50
60
el impulso (muestra [k] = 30). Siendo en un principio igual a 2 y disminuyendo con razn
de 0.74 por cada muestra. Por
lo que se puede decir que su respuesta a impulso en este caso queda descrita por h1 = 2(0.74)n30 (30 n), con () la
funcin escaln unitario. Para el caso la condicn de estabilidad BIBO puede ser probada mediante:
(3)
n=
Y dado que la progresin geomtrica en este caso es de razn estrictamente menor a 1, entonces la sumatoria presentada es
acotada, por lo que el sistema es estable. Cabe recalcar como el sistema eso s no es causal, dado que la respuesta entregada
aparece en instantes anteriores al cual el impulso es recin aplicado. Basta este contraejemplo para asegurar que bbox1
entonces es no causal. En resumen entonces bbox1 hasta ahora es lineal, invariante, estable en sentido BIBO pero no es
causal, siendo un ejemplo claro de la independencia de estas propiedades en sistemas.
Por otra parte para bbox2(), tal como en el ejemplo anterior se aprecia que existe respuesta en instantes anteriores al cual se
aplica el impulso, por lo que basta como contra ejemplo para asegurar que el sistema no es causal. A su vez, dado que es un
sistema variante en el tiempo, no basta la respuesta a impulso para asegurar su estabilidad.
Por ltimo, para bbox3() presenta una respuesta a impulso igual a cero en todo instante para las muestras adquiridas. Dado
que el sistema es no lineal, no se puede concluir ni estabilidad o causalidad con el grfico obtenido.
1
y[n
2
1] x[n].
Parte A:
Se pide obtener una expresin para el sistema inverso y = SB (x) de modo tal que [n] = SB (SA ([n])), donde [n]
representa el impulso en tiempo discreto. Siendo un sistema lineal, se quiere entonces encontrar un SB (x) tal que anule el
efecto de SA (x) para cualquier x[n]. Para obtener el sistema se usa la herramienta de la transformada Z, que en el caso es
til, dado que como el sistema SA (x) es lineal, basta encontrar su respuesta a impulso con la transformada Z despejando
el cociente Y (z)/X(z), para luego as invertir la expresin y volver a componer la ecuacin de diferencias, siendo la que
represente entonces al sistema SB (x). Entonces, aplicando la transformada Z se tiene:
1
y[n 1] x[n]/Z
2
1 1
Y (z) = z Y (z) X(z)
2
Y (z)
1
= HA (z) = 1 1
X(z)
z
1
2
y[n] =
(4)
(5)
(6)
Por lo tanto y como se dijo anteriormente, se desea entonces un HB (z) tal que es (HA (z))1 , entonces:
HB (z) =
Y (z)
1
1 1
= z 1 1 Y (z) = X(z)
z 1
X(z)
2
2
1
x[n 1] x[n]
2
Siendo entonces la ltima ecuacin presentada el sistema inverso SB (x) buscado.
y[n] =
(7)
(8)
Parte B:
Se pide crear funciones en MATLAB que implementen los sistemas SA (x) y SB (x) para cualquier entrada x[n], y posterior
obtener las respuestas de impulso de SA , SB y SB (SA ).
Para el desarrollo de las funciones, se considera nicamente entradas causales, y que para ambos sistemas SA y SB se inicializa
la salida en un principio, siendo para las muestras n = 0 y[0] = x[0] = 0, y como x es causal, para las muestras n < 0 se
tiene salidas nulas. Las funciones se pueden observar en el anexo, seccin II.
Con estas funciones, graficando las respuestas a impulso se obtuvieron los siguientes resultados:
Amplitud
0.5
10
15
Muestra
20
25
30
1
0.9
0.8
0.7
Amplitud
0.6
0.5
0.4
0.3
0.2
0.1
0
10
15
Muestra
20
25
30
Parte A:
En esta seccin se busca formular sistemas en tiempo discreto que aproximen los formulados en tiempo continuo presentados
en el enunciado S1 y S2 . Se comenzar con el anlisis para la derivada, la cual se puede escribir aproximadamente en tiempo
discreto haciendo uso del tiempo de muestreo T como:
y(kT ) =
dx(t)
x(kT ) x((k 1)T )
dt t=kT
T
(9)
Haciendo uso de la notacin discreta en que n = kT (dado que T se supone fijo, y k es simplemente el nmero de la muestra),
se tiene entonces el sistema como:
x[n] x[n 1]
y[n] =
(10)
T
Ahora bien, para la integral se usa la aproximacin mediante la serie de Riemann, quedando expresado como:
y(kT ) =
k
X
x(uT )T
(11)
x[u]T
(12)
u=
n
X
u=
n1
X
!
x[u] + x[n]
= y[n 1] + x[n]T
(13)
u=
Siendo la ecuacin (13) la resultante de la aproximacin de la integral en sistema de tiempo discreto, teniendo as las ecuaciones
de diferencias para los sistemas S1 y S2 . Cabe destacar en primera instancias que las ecuaciones obtenidas corresponden
mutuamente a sus inversas, lo cual es vlido ya que la derivada y la integral son operaciones inversas de por s. Otro
comentario importante de los resultados obtenidos es que no son nicos, dado que por ejemplo en el caso se empleo para la
integral la aproximacin por series de Riemann o sumas de reas rectangulares, cuando tambin existe por ejemplo mediante
regla trapezoidal, y a su vez la derivada en vez de haberla trabajado con datos adyacentes, haberla realizado como la diferencia
de s misma con una muestra anterior, pero no lo antecesora, si no dos o tres muestras atras, y dividida la diferencia por el
factor correspondiente del periodo de muestreo entre ambas muestras.
Ahora bien para analizar la estabilidad, basta analizar las transformadas Z de las ecuaciones (10) y (13). Procediendo para
la derivada se obtiene:
x[n] x[n 1]
Y (z)
1 z 1
y[n] =
/Z
=
(14)
T
X(z)
T
Se observa que el polo se encuentra en z = 0, siendo dentro del crculo unitario en el plano complejo, por lo que es estable
el sistema. A su vez, se puede considerar la estabilidad vista en (3) donde se tiene que ante un impulso, la respuesta de la
salida sera simplemente { T1 , T1 }, por lo que la suma de esto es acotado, dado que el periodo de muestreo T 6= 0. Ahora bien,
para la integral se tiene:
Y (z)
T
y[n] = y[n 1] + x[n]T /Z
=
(15)
X(z)
1 z 1
Claramente en este caso, se posee un polo en z = 1, esto es sobre el circulo unitario en el plano complejo, por lo que se
considera el sistema como inestable. Esto se pudo haber deducido de igual considerando que ante una entrada acotada como
un escaln, la integral nos arroja una rampa que claramente no es acotada y diverge.
Parte B:
Para esta seccin se pide generar una seal x(t) = sin(2 100 t), duracin de un segundo y aplicarle los sistemas de
derivada discreta e integral discreta. Para escoger el periodo de muestreo de la seal, se decide que si se quiere tener 100
puntos por periodo, y el periodo dura 10 [ms], entonces con un periodo de 100 [s] se logra lo buscado. Se disean funciones
en MATLAB que implementan los sistemas discretos de S1 y S2 , y que tienen de argumento la seal a derivar (o integrar)
y el periodo de muestreo. A su vez se considera que y[0] = x[0] pues se toma en cuenta que la sinusoide de entrada a los
sistemas es causal (igual a cero para todo tiempo menor a cero). En el anexo del presente documento aparece en detalle el
cdigo usado. Los grficos obtenidos son los siguientes:
800
3.5
0.8
600
X: 0.005
Y: 0.003182
X: 0.01
Y: 627.9
x 10
0.6
400
2.5
200
0.4
Amplitud
Amplitud
Amplitud
0.2
1.5
0.2
200
400
0.5
600
0.4
0.6
0.8
0.01
0.02
0.03
Tiempo [s]
0.04
0.05
800
0.01
0.02
0.03
Tiempo [s]
0.04
0.05
0.5
0.01
0.02
0.03
Tiempo [s]
0.04
0.05
Figura 9: Grfica de los primeros 50[ms] de la seal sinusoidal, su derivada discreta e integral discreta.
Analizando los resultados, se puede afirmar que lo obtenido es muy cercano a lo esperado para los sistemas originales. Para
la derivada el resultado terico es:
d
{sin(2 100 t)} = 200cos(2 100 t)
(16)
dt
Siendo entonces la derivada un coseno de amplitud 200 628.31, y dando la amplitud para la derivada discreta muy cercano
a este valor (627.9), y cumpliendo a su vez con ser un coseno claramente. Por otra parte, la integral (dado que se considera
causal la entrada, entonces como la integral es continua, empieza en cero) tericamente es:
t
t
cos(200 ) =t
sin(2 100 )d =
sin(2 100 )d =
= 0.00159(1 cos(200t))
(17)
200
=0
0
Siendo entonces siempre el valor mayor o igual a cero, y a su vez teniendo amplitud igual a 0.00318 , resultado que es muy
similar al obtenido y que se ve en la figura (9). El resultado de la integral de igual manera es intuitivo, dado que como se
considera entrada causal, se parte integrando el lbulo positivo de la sinusoide llegando a un mximo, y luego disminuyendo
hasta llegar a cero, para volver a ser positivo, teniendo entonces la integral un valor medio mayor a cero.
Parte C:
Ahora, considerando una entrada como x[n] = [n] [n 5] entre los tiempos de muestreos 10 n 20 se desea graficar
la seal x[n] junto a la respuesta a los sistemas discretos de derivador e integrador. Para esto se usa las mismas funciones en
MATLAB definidas con anterioridad y que se encuentran en el anexo. Se obtiene el siguiente resultado:
0.8
0.8
0.9
0.6
0.6
0.8
0.4
0.4
0.7
0.2
0.2
0.6
Amplitud
Amplitud
Amplitud
0.5
0.2
0.2
0.4
0.4
0.4
0.3
0.6
0.6
0.2
0.8
0.8
0.1
1
10
5
Muestra
10
15
1
10
20
5
Muestra
10
15
0
10
20
5
Muestra
10
15
20
0.9
0.8
0.8
0.6
0.7
0.4
0.6
0.2
10
0.5
Amplitud
Amplitud
Amplitud
0.4
0.2
0.3
0.4
0.2
0.6
0.1
0.8
0
10
5
Muestra
10
15
20
1
10
5
Muestra
10
15
20
0
10
5
Muestra
10
15
20
10
a una rampa que comienza a crecer cuando comienza el efecto del escaln y termina de crecer cuando se aplica el otro escaln
de polaridad inversa, manteniendose constante, dado que deja de integrar valor alguno.
Parte E:
Para esta seccin, se carga en MATLAB mediante el comando audioread() los archivos de audio music.wav y speech.wav,
y se emplean de entrada al derivador e integrador discreto con los cuales se ha estado trabajando, y luego se describe cmo
afecta esto en la seal de audio.
Lo que se obtuvo fue interesante, dado que en primer lugar se aprecia una distorsin en ambas salidas (para derivador
e integrador), pero an se puede reconocer los sonidos, siendo entonces que las salidas de los sistemas obtenidos no son
irreconocibles. Por otra parte se not que la intensidad cambi de manera considerable. Para el derivador, lo obtenido tena
mayor volumen, o sea era ms intensa la salida y lo que se explica a que el derivador discreto divide la diferencia por el
tiempo de muestreo, entonces dado que el tiempo de muestreo es pequeo, entonces existe una amplificacin en las muestras
claro. Para el integrador, se not que la intensidad disminuy de manera abrupta, a lo cual se le encuentra explicacin de
manera anloga a lo descrito con anterioridad.
Aparte de lo descrito con anterioridad, tambin se recalca que lo obtenido de la derivacin de las seales de audio fueron
ms ruidosas, con alta ponderacin de los sonidos agudos y poco efecto de los tonos graves. Por otra parte lo obtenido con el
integrador se not que los graves estaban ms presentes, mientras que los tonos agudos disminuyeron y el ruido no se sinti
de manera intensa. La explicacin tiene que ver simplemente a que la derivacin es una operacin que favorece los cambios
abruptos, considerndose entonces en trmino de filtraje un filtro pasa alto en trminos frecuenciales y siendo el motivo que
se acenten los tonos agudos y el ruido (dado que el ruido es una seal aleatoria con grandes cambios en el tiempo), mientras
que el integrador el fenmeno es similar pero para bajas frecuencias, actuando como filtro pasa bajo.
Parte F:
Ahora se busca, en funcin de las aproximaciones realizadas con anterioridad, encontrar la ecuacin de diferencias de la
doble derivada y = S1 (S1 (x)), la doble integral y = S2 (S2 (x)), la derivada de la integral y = S1 (S2 (x)) y la integral de la
derivada y = S2 (S1 (x)).
Dado que tanto la derivada S1 e integral S2 son sistemas LTI, lo pedido se puede obtener con facilidad usando las respuesta
a impulso, considerando que sistemas en cascada es lo mismo que tener las funciones de impulso respectiva multiplicndose.
Para la doble derivada se tiene ya su respuesta a impulso en (14). Por lo tanto se tendr que:
Hdd (z) = Hd (z)Hd (z) =
1 2z 1 + z 2
T2
(18)
T2
1 2z 1 z 2
Por lo tanto, el sistema descrito en ecuacin de diferencias para la doble integral es:
Hii (z) = Hi (z)Hi (z) =
(19)
(20)
(21)
Finalmente, la derivada de la integral y la integral de la derivada, dado que tanto derivada con integral son operaciones inversas
y que se puede apreciar con que la transformada Z de las ecuaciones de diferencias vistas en (14) y 15) son recprocas, entonces
poner los sistemas en cascada anularan mutuamente sus efectos (pues es la multiplicacin de sus respuestas a impulsos) sin
importar el orden (dado que la multiplicacin es conmutativo), darn como salida la seal de entrada, es decir:
yid = x[n], ydi = x[n]
(22)
Ahora bien, si los sistemas mostrados anteriormente fuesen filtros, para el sistema ms simple visto en (22) son filtros pasa
todo, dado que la salida es igual a la entrada en todo instante y sin atenuacin en ninguna frecuencia, entonces por trminos
de estabilidad BIBO, para cualquier entrada acotada tendr una salida acotada, el sistema es estable.
A su vez, el sistema derivador doble dado que conserva polos y ceros del sistema derivador discreto simple pero ahora con
multiplicidad dos, tiene el polo en z = 0 por lo que su regin de convergencia contiene el crculo unitario y es estable, y ahora
atenuar an ms los efectos de baja frecuencia y aumentar las frecuencias altas siendo un sistema entonces pasa alto. Para
el sistema de integral doble, se tiene entonces claramente que su regin de convergencia ROC no contiene el crculo unitario,
pues conserva el mismo polo que el sistema de integral discreto, slo que ahora con el polo doble en z = 1. Para analizar el
filtro, dado que el sistema como se dijo, conserva los polos y ceros del sistema integrador discreto, pero ahora con multiplicidad
UTFSM - ELO-313 - 2016
11
dos, se puede concluir que ser del tipo pasa bajo, y lo cual se nota en el efecto del T 2 que entonces, mientras ms pequeo
el periodo de muestreo, ms se acentua el efecto de la entrada, siendo entonces como un efecto promedio de los valores pasados.
(23)
(24)
Parte A:
Se desea saber como poder calcular el retardo D usando la correlacin cruzada ryx [m]. Primero, la correlacin cruzada
entre dos seales se define como:
ryx [m] =
y[n]x[n m]
(25)
n=
ryx [m] =
(ax[n D] + v[n])x[n m] =
n=
ax[n D]x[n m] +
n=
v[n]x[n m]
(26)
n=
De esta ecuacin se puede apreciar que la correlacin en el caso est dada por dos sumatorias, una correlacionando la entrada
con la seal aleatoria y otra correlacionando la seal de entrada consigo mismo pero retardada. La informacin que se busca se
encuentra en la sumatoria formada por la entrada multiplicada por ella misma adelantada m muestras, y se puede demostrar
que la sumatoria claramente ser mxima, cuando m = D, o sea cuando x[n] se multiplique por ella misma en cada muestra,
sin desfase o retardos, por lo que en cercanas de m = D esta sumatoria ser mxima. El problema que presenta lo expuesto
anteriormente, es que se tiene datos determinsticos (la sumatoria de las entrada con retardo multiplicada por si mismo
adelantada m muestras) y datos aleatorios (la sumatoria que incluye la entrada adelantada m muestras por el ruido), por
lo que existira un grado de inexactitud en la obtencin del valor de D, fuertemente ligado a la energa que posea el ruido
asociado al sistema, a su vez al factor de ponderacin a usado. Entonces a mayor a, es mayor la precisin de la estimacin
del retardo D.
Para analizar si es posible usar la correlacin ryy [m] para encontrar el retardo, se procede como antes, trabajando la ecuacin
como sigue.
ryy [m] =
y[n]y[n m]
(27)
(28)
n=
n=
a2 x[n D]x[n D m] +
n=
ax[n D]v[n m] +
n=
av[n]x[n D m] + rvv
(29)
n=
En este caso, se tiene un valor determinstico que es la correlacin entre la seal con desfase consigo mismo adelantada m
muestras, y los demas valores aleatorios, pero si se desea maximizar el valor de la correlacin ryy que es de la manera en que
se procedi anteriormente, se requerir que m = 0, por lo que el retardo D no sera posible de obtener directamente.
Por ltimo, cabe recalcar que para el clculo de D mediante el uso de la correlacin cruzada ryx en trminos de que si es
ptimo en el sentido de mnimos cuadrados, se considera primero que el error en mnimos cuadrados es descrito por:
Els (f ) =
n
X
(yk f (xk ))2
k=1
(30)
DOnde yk es la seal misma de salida y f (xk la prediccin realizada, y dado que en este caso hay presencia de ruido en
el sistema, lo ptimo es usar algn mtodo que minimice este error entre la seal misma, y la prediccin. En el sentido
propuesto, el mtodo consiste en encontrar el retardo D ptimo de la entrada x[n] para que as el error muestra a muestra
de la salida propiamente tal y la prediccin realizada sea mnima.
12
Parte B:
Sea una secuencia x[n] conocida como secuencia de Barker, dada por:
x[n] = +1; +1; +1; +1; +1; 1; 1; +1; +1; 1; +1; 1; +1
(31)
y un ruido v[n] Guassiano de media cero y varianza = 0.01. Se escribe un cdigo en MATLAB que genera una secuencia
y[n], para muestras entre 0 n 199, con a = 0.9 y D = 20.
Para esto, se crea una funcin sisr ad() que aplica el sistema discreto del radar descrito anteriormente (cdigos se encuentran
en el anexo). Ahora bien la grfica obtenida es la siguiente
Entrada x[n] sec. Barker
1.5
0.8
0.6
0.4
0.2
0.5
0
0.2
0.4
0.6
0.5
0.8
1
20
40
60
80
100
120
Muestras
140
160
180
200
20
40
60
80
100
120
Muestras
140
160
180
200
14
12
12
10
10
8
6
6
4
4
2
0
2
20
40
60
80
100
Lag m
120
140
160
180
200
20
40
60
80
100
Lag m
120
140
160
180
200
n
X
Pseal
Pruido
y[k]2
(32)
(33)
k=1
Se crea una funcin en MATLAB llamada SN Rdb() que se encuentra en el anexo que permite obtener rpidamente lo buscado.
En el casose obtiene que para el ruido de varianza 2 = 0.01 da:
SN R(y) = 7.8211[dB]
(34)
Parte D:
Usando los cdigos mencionados anteriormente, se tiene entonces primero para un 2 = 0.1 una salida como la siguiente:
13
0.8
1.5
0.6
1
0.4
0.2
0.5
0
0
0.2
0.4
0.5
0.6
1
0.8
1
20
40
60
80
100
120
Muestras
140
160
180
200
1.5
20
40
60
80
100
120
Muestras
140
160
180
200
Figura 14: Grfico de entrada (secuencia de Barker) a la izquierda y salida a la derecha para 2 = 0.1.
Correlacin ryy[m]
30
12
25
10
8
20
6
15
4
10
2
5
20
40
60
80
100
Lag m
120
140
160
180
200
20
40
60
80
100
Lag m
120
140
160
180
200
Figura 15: Grfico de autocorrelacin a la izquierda, y a la derecha la correlacin cruzada para 2 = 0.1.
En el caso, la SNR es:
SN R(y) = 1.9863[dB] Para un 2 = 0.1
(35)
El valor claramente disminuye, pues al tener una mayor varianza, la seal de ruido tendr ms potencia pues su variacin
con respecto en la media es mayor. Ahora bien para un 2 = 1 se tiene:
Entrada x[n] sec. Barker
0.8
2
0.6
1
0.4
0.2
0
1
0.2
0.4
0.6
3
0.8
1
20
40
60
80
100
120
Muestras
140
160
180
200
20
40
60
80
100
120
Muestras
140
160
180
200
Figura 16: Grfico de entrada (secuencia de Barker) a la izquierda y salida a la derecha para 2 = 1.
14
Correlacin ryy[m]
250
10
200
150
0
100
5
50
10
50
20
40
60
80
100
Lag m
120
140
160
180
200
15
20
40
60
80
100
Lag m
120
140
160
180
200
(36)
En el caso, disminuy notablemente la SNR, dando a entender que la potencia de la salida es comparable a la del ruido
mismo, o sea el ruido afecta en gran medida a la salida, pues sus variaciones son mucho mayores que los casos anteriores.
Tambin se resalta, que en las correlaciones cruzadas vistas anteriores, en todas el mximo se encontr para m = 20, y a
su vez para la autocorrelacin el mximo estaba en m = 0, que coincide con el anlisis hecho en la parte A de la presente
seccin. A su vez, se ve que a mayor varianza, el mximo disminua en magnitud respecto a los otros valores, y lo que coincide
con el hecho que al incluir ms variabilidad en la seal de ruido, ms impreciso se vuelve el modo mostrado para calcular el
retardo.
Parte E:
Se pide hacer todo lo mencionado anteriormente, pero para una secuencia Barker repetida 10 veces. Entonces se tienen
los siguientes resultados usando los cdigos mostrados anteriormente (simplemente ahora hay que modificar la entrada x[n]).
Para el 2 = 0.01 se tiene:
Entrada x[n] sec. Barker
1.5
0.8
1
0.6
0.4
0.5
0.2
0
0.2
0.5
0.4
0.6
0.8
1
20
40
60
80
100
120
Muestras
140
160
180
200
1.5
20
40
60
80
100
120
Muestras
140
160
180
200
Figura 18: Grfico de entrada (secuencia de Barker repetida 10 veces) a la izquierda y salida a la derecha para 2 = 0.01.
Correlacin ryy[m]
120
120
100
100
80
80
60
60
40
40
20
20
20
20
40
60
80
100
Lag m
120
140
160
180
200
20
20
40
60
80
100
Lag m
120
140
160
180
200
Figura 19: Grfico de autocorrelacin a la izquierda, y a la derecha la correlacin cruzada para 2 = 0.01.
15
(37)
120
120
100
100
80
80
60
60
40
40
20
20
20
20
40
60
80
100
Lag m
120
140
160
180
20
200
20
40
60
80
100
Lag m
120
140
160
180
200
Figura 20: Grfico de entrada (secuencia de Barker repetida 10 veces) a la izquierda y salida a la derecha para 2 = 0.1.
Correlacin ryy[m]
140
120
120
100
100
80
80
60
60
40
40
20
20
0
20
20
20
40
60
80
100
Lag m
120
140
160
180
200
20
40
60
80
100
Lag m
120
140
160
180
200
Figura 21: Grfico de autocorrelacin a la izquierda, y a la derecha la correlacin cruzada para 2 = 0.1.
La SNR en el caso es de:
SN R(y) = 7.985[dB] Para un 2 = 0.1
(38)
0.8
3
0.6
2
0.4
0.2
0
0
0.2
0.4
0.6
2
0.8
1
20
40
60
80
100
120
Muestras
140
160
180
200
20
40
60
80
100
120
Muestras
140
160
180
200
Figura 22: Grfico de entrada (secuencia de Barker repetida 10 veces) a la izquierda y salida a la derecha para 2 = 1.
16
Correlacin ryy[m]
300
120
250
100
200
80
150
60
100
40
50
20
50
20
40
60
80
100
Lag m
120
140
160
180
200
20
20
40
60
80
100
Lag m
120
140
160
180
200
(39)
Con respecto a todo lo mostrado anteriormente, se observa que al igual que ante, en las correlaciones cruzadas el mximo
se encontraba en D = 20, y no slo eso, puesto que las SNR obtenidas fueron mayores respecto a las SNR obtenidas para
las mismas varianzas pero con una secuencia de Barker no repetida. La explicacin se debe a que en los casos en realidad lo
que se hizo fue hacer exhaustivamente el mismo experimento de antes de la nica secuencia de Barker, pero en este caso se
haca repetidas veces (10 precisamente), lo cual elimina la aleatoriedad presente en el experimento en el caso original. Esto
permite hacer un mejor clculo de D, pues ahora representa una extrapolacin del anlisis presentado con solo una secuencia
de Barker, y lo cual explica los mximos locales factores del retardo D presentes en los grficos de las correlaciones cruzadas.
Parte F:
Se busca encontrar la relacin matemtica entre rxx y ryy . Para esto primero se revisa la ecuacin (27) donde se tiene que:
ryy =
a2 x[n D]x[n D + m] +
ax[n D]v[n + m] +
v[n]ax[n D + m] + rvv
(40)
n=
n=
n=
Si se hace un cambio de variable i = n D en la primera sumatoria y segunda sumatoria se tiene entonces que:
ryy =
a2 x[i]x[i m] +
i=
ax[i]v[i + D m] +
i=
av[n]x[n D m] + rvv
(41)
n=
(42)
2
Por lo tanto, se puede ver la relacin entre ryy y rxx , siendo el ltimo multiplicado por a y con sumandos aleatorios. Por
lo tanto si se considera el ruido de baja potencia (o varianza), entonces ryy ser muy similar pero escalado con un valor de
a2 . Se hacen pruebas para ruido de varianza de 2 = 0.01 y un a = 2, y por entrada la secuencia Barker sin repeticin,
obteniendo los siguientes resultados de grficos:
Correlacin ryy[m]
60
14
X= 0
Y= 53.5093
50
40
10
30
20
10
10
20
X= 0
Y= 13
12
40
60
80
100
Lag m
120
140
160
180
200
20
40
60
80
100
Lag m
120
140
160
180
200
Figura 24: Con a = 2 y 2 = 0.01 grfico de autocorrelaciones, a la izquierda de ry y[m] y a la derecha de rxx [m]
Se ve claramente que son muy parecidas, slo el ruido presente en la autocorrelacin de la salida, y a su vez se ve en el
mximo un escalamiento, siendo el mximo de la autocorrelacin de la salida 53, y el de la entrada 13, considerando entonces
que est presente la amplificacin cercana a a2 = 4, por lo que el anlisis terico propuesto es vlido.
UTFSM - ELO-313 - 2016
17
1
2
3
4
5
6
t=0:1e6:1;
x1=wgn(1,length(t),0);
x2=wgn(1,length(t),0);
a=2;
b=10;
x3=a*x1+b*x2;
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
%Linealidad
%bbox1
y1=bbox1(x1);
y2=bbox1(x2);
y3=bbox1(x3);
figure
plot(t,a*y1+b*y2);
hold on
plot(t,y3,'r');
hold off
h = legend('$ay_1+by_2$','$y_3$');
set(h,'Interpreter','latex');
grid on;
ylabel('Amplitud');
xlabel('Tiempo [s]');
title('Respuestas de bbox1() a ruido blanco');
24
25
26
27
28
29
30
31
32
33
34
35
36
figure
plot(t(1,40:60),a*y1(1,40:60)+b*y2(1,40:60)),'bo';
hold on
plot(t(1,40:60),y3(1,40:60),'ro');
hold off
h = legend('$ay_1+by_2$','$y_3$');
set(h,'Interpreter','latex');
grid on;
ylabel('Amplitud');
xlabel('Tiempo [s]');
xlim([t(1,40) t(1,60)]);
title('Respuestas con zoom de bbox1() a ruido blanco');
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
%bbox2
y1=bbox2(x1);
y2=bbox2(x2);
y3=bbox2(x3);
figure
plot(t,a*y1+b*y2);
hold on
plot(t,y3,'r');
hold off
h = legend('$ay_1+by_2$','$y_3$');
set(h,'Interpreter','latex');
grid on;
ylabel('Amplitud');
xlabel('Tiempo [s]');
title('Respuestas de bbox2() a ruido blanco');
53
54
55
56
57
58
59
60
61
62
63
64
65
figure
plot(t(1,40:60),a*y1(1,40:60)+b*y2(1,40:60),'bo');
hold on
plot(t(1,40:60),y3(1,40:60),'ro');
hold off
h = legend('$ay_1+by_2$','$y_3$');
set(h,'Interpreter','latex');
grid on;
ylabel('Amplitud');
xlabel('Tiempo [s]');
xlim([t(1,40) t(1,60)]);
title('Respuestas con zoom de bbox2() a ruido blanco');
66
18
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
%bbox3
y1=bbox3(x1);
y2=bbox3(x2);
y3=bbox3(x3);
figure
plot(t,a*y1+b*y2);
hold on
plot(t,y3,'r');
hold off
h = legend('$ay_1+by_2$','$y_3$');
set(h,'Interpreter','latex');
grid on;
ylabel('Amplitud');
xlabel('Tiempo [s]');
title('Respuestas de bbox3() a ruido blanco');
82
83
84
85
86
87
88
89
90
91
92
93
94
figure
plot(t(1,40:60),a*y1(1,40:60)+b*y2(1,40:60),'bo');
hold on
plot(t(1,40:60),y3(1,40:60),'ro');
hold off
h = legend('$ay_1+by_2$','$y_3$');
set(h,'Interpreter','latex');
grid on;
ylabel('Amplitud');
xlabel('Tiempo [s]');
xlim([t(1,40) t(1,60)]);
title('Respuestas con zoom de bbox3() a ruido blanco');
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
%Invarianza
x1=sin(2*pi*30*t);
x2=[zeros(1,200000),sin(2*pi*30*t(1,200001:1000001))];
y1=bbox1(x1);
y2=bbox2(x1);
y3=bbox3(x1);
%bbox1
figure
plot(t,[zeros(1,200000),y1(1,1:800001)]);
hold on
plot(t,bbox1(x2),'r');
hold off
h = legend('$y(t0.2)$','$bbox1(x(t0.2))$');
set(h,'Interpreter','latex');
grid on;
ylabel('Amplitud');
xlabel('Tiempo [s]');
title('Prueba de invarianza para bbox1');
114
115
116
117
118
119
120
121
122
123
124
125
126
127
%bbox2
figure
plot(t,[zeros(1,200000),y2(1,1:800001)]);
hold on
plot(t,bbox2(x2),'r');
hold off
h = legend('$y(t0.2)$','$bbox2(x(t0.2))$');
set(h,'Interpreter','latex');
grid on;
ylabel('Amplitud');
xlabel('Tiempo [s]');
title('Prueba de invarianza para bbox2');
xlim([0.1 0.9]);
128
129
130
131
132
133
134
135
136
137
%bbox3
figure
plot(t,[zeros(1,200000),y3(1,1:800001)]);
hold on
plot(t,bbox3(x2),'r');
hold off
h = legend('$y(t0.2)$','$bbox3(x(t0.2))$');
set(h,'Interpreter','latex');
grid on;
19
138
139
140
ylabel('Amplitud');
xlabel('Tiempo [s]');
title('Prueba de invarianza para bbox3');
141
142
143
144
145
146
%Respuesta a impulso
impulso=[zeros(1,29),1,zeros(1,30)];
y1imp=bbox1(impulso);
y2imp=bbox2(impulso);
y3imp=bbox3(impulso);
147
148
149
150
151
152
153
figure
stem(y1imp);
grid on
ylabel('Amplitud');
xlabel('Muestra');
title('Respuestas de bbox1() a impulso');
154
155
156
157
158
159
160
figure
stem(y2imp);
grid on
ylabel('Amplitud');
xlabel('Muestra');
title('Respuestas de bbox2() a impulso');
161
162
163
164
165
166
167
figure
stem(y3imp);
grid on
ylabel('Amplitud');
xlabel('Muestra');
title('Respuestas de bbox3() a impulso');
1
2
3
4
5
function y = S_A(x)
y(1)=x(1)
for n= 2:length(x)
y(n)=0.5*y(n1)x(n);
end
function y = S_B(x)
y(1)=x(1)
for n= 2:length(x)
y(n)=0.5*x(n1)x(n);
end
imp=[1,zeros(1,29)];
figure
stem(S_A(imp));
grid on
xlabel('Muestra');
ylabel('Amplitud');
h = title('Respuesta a impulso del sistema $S_A(x)$');
set(h,'Interpreter','latex');
9
10
11
12
13
14
15
16
figure
stem(S_B(imp));
grid on
xlabel('Muestra');
ylabel('Amplitud');
h = title('Respuesta a impulso del sistema $S_B(x)$');
set(h,'Interpreter','latex');
17
20
18
19
20
21
22
23
24
figure
stem(S_B(S_A(imp)));
grid on
xlabel('Muestra');
ylabel('Amplitud');
h = title('Respuesta a impulso del sistema $S_B(S_A(x))$');
set(h,'Interpreter','latex');
function y = ddis(x,T)
y(1)=x(1);
for n= 2:length(x)
y(n)=(1/T)*(x(n)x(n1));
end
function y = idis(x,T)
y(1)=x(1);
for n= 2:length(x)
y(n)=y(n1)+ T*x(n);
end
Generacin de grficos:
1
2
3
4
5
6
7
8
9
10
11
T=1e4;
t=0:T:1;
x=sin(200*pi*t);
%Parte b
figure
subplot(1,3,1);
plot(t(1:500),x(1:500));
grid on
title('Sinusoide de 100[Hz] x(t)');
xlabel('Tiempo [s]');
ylabel('Amplitud');
12
13
14
15
16
17
18
subplot(1,3,2);
plot(t(1:500),ddis(x(1:500),T));
grid on
title('Derivada discretada de x(t)');
xlabel('Tiempo [s]');
ylabel('Amplitud');
19
20
21
22
23
24
25
subplot(1,3,3);
plot(t(1:500),idis(x(1:500),T));
grid on
title('Integracin discreta de x(t)');
xlabel('Tiempo [s]');
ylabel('Amplitud');
26
27
28
29
30
31
32
33
34
35
36
37
38
39
%Parte c
T=1;
t=10:T:20;
x=zeros(1,length(t));
x(1,11)=1;
x(1,16)=1;
figure
subplot(1,3,1);
stem(t,x);
grid on
h = title('Entrada $x[n]=\delta[n] \delta[n5]$');
set(h,'Interpreter','latex');
xlabel('Muestra');
21
40
ylabel('Amplitud');
41
42
43
44
45
46
47
subplot(1,3,2);
stem(t,ddis(x,T));
grid on
title('Derivada discretada de x(t)');
xlabel('Muestra');
ylabel('Amplitud');
48
49
50
51
52
53
54
subplot(1,3,3);
stem(t,idis(x,T));
grid on
title('Integracin discreta de x(t)');
xlabel('Muestra');
ylabel('Amplitud');
55
56
57
58
59
60
61
62
63
64
65
66
67
68
%parte D
T=1;
t=10:T:20;
x=zeros(1,length(t));
x(1,11:21)=1;
figure
subplot(1,3,1);
stem(t,x);
grid on
h = title('Entrada $x[n]=\mu[n] \mu[n11]$');
set(h,'Interpreter','latex');
xlabel('Muestra');
ylabel('Amplitud');
69
70
71
72
73
74
75
subplot(1,3,2);
stem(t,ddis(x,T));
grid on
title('Derivada discretada de x(t)');
xlabel('Muestra');
ylabel('Amplitud');
76
77
78
79
80
81
82
subplot(1,3,3);
stem(t,idis(x,T));
grid on
title('Integracin discreta de x(t)');
xlabel('Muestra');
ylabel('Amplitud');
83
84
85
86
87
88
89
90
%parte E
[x1,Fs1]=audioread('music.wav');
[x2,Fs2]=audioread('speech.wav');
y11=ddis(x1,1/Fs1);
y12=idis(x1,1/Fs1);
y21=ddis(x2,1/Fs2);
y22=idis(x2,1/Fs2);
function y=sis_rad(x,v,D,a)
y(1:D)=v(1,1:20);
for n=21:length(x)
y(n)=a*x(nD)+v(1,n);
end
function rxy=corr_cruz(x,y)
rxy=zeros(1,length(x));
for m=1:length(x)
for n=1:length(x)
22
if n+m1<=length(x)
rxy(m)=rxy(m)+y(n)*x(n+m1);
end
5
6
7
end
8
9
end
function val=snrdb(senal,ruido)
potsen=0;
potruido=0;
for n=1:length(senal)
potsen=potsen+(abs(senal(n)))^2;
end
for n=1:length(ruido)
potruido=potruido+(abs(ruido(n)))^2;
end
val=10*log10(potsen/potruido);
function y=parte4graf(x,y,rxy,ryy,muestra)
figure
subplot(1,2,1)
stem(muestra,x);
title('Entrada x[n] sec. Barker');
xlabel('Muestras');
grid on
subplot(1,2,2)
stem(muestra,y);
title('Salida y[n] del sist.con entrada x[n]');
xlabel('Muestras');
grid on
13
14
15
16
17
18
19
20
21
22
23
24
figure
subplot(1,2,1)
stem(muestra,ryy);
xlabel('Lag m');
grid on
title('Correlacin ryy[m]');
subplot(1,2,2)
stem(muestra,rxy);
xlabel('Lag m');
title('Correlacin cruzada rxy[m]');
grid on
muestra=0:1:199;
D=20;
a=0.9;
x=[1 1 1 1 1 1 1 1 1 1 1 1 1,zeros(1,187)];
%parte b
v=sqrt(0.01)*randn(1,200);
y=sis_rad(x,v,D,a);
ryy=corr_cruz(y,y);
rxy=corr_cruz(y,x);
parte4graf(x,y,rxy,ryy,muestra);
snr4c=snrdb(y,v)
12
13
14
15
16
17
18
19
%parte d sigma^2=0.1
v=sqrt(0.1)*randn(1,200);
y=sis_rad(x,v,D,a);
ryy=corr_cruz(y,y);
rxy=corr_cruz(y,x);
parte4graf(x,y,rxy,ryy,muestra);
snr4d1=snrdb(y,v)
20
23
21
22
23
24
25
26
27
%parte d sigma^2=1
v=sqrt(1)*randn(1,200);
y=sis_rad(x,v,D,a);
ryy=corr_cruz(y,y);
rxy=corr_cruz(y,x);
parte4graf(x,y,rxy,ryy,muestra);
snr4d2=snrdb(y,v)
28
29
30
31
32
33
34
35
36
37
38
%parte e
x=[x(1,1:13) x(1,1:13)];
x=[x(1,1:26) x(1,1:26) x(1,1:26) x(1,1:26) x(1,1:26),zeros(1,70)];
%parte e sigma^2=0.01
v=sqrt(0.01)*randn(1,200);
y=sis_rad(x,v,D,a);
ryy=corr_cruz(y,y);
rxy=corr_cruz(y,x);
parte4graf(x,y,rxy,ryy,muestra);
snr4e=snrdb(y,v)
39
40
41
42
43
44
45
46
%parte e sigma^2=0.1
v=sqrt(0.1)*randn(1,200);
y=sis_rad(x,v,D,a);
ryy=corr_cruz(y,y);
rxy=corr_cruz(y,x);
parte4graf(x,y,rxy,ryy,muestra);
snr4e1=snrdb(y,v)
47
48
49
50
51
52
53
54
%parte e sigma^2=1
v=sqrt(1)*randn(1,200);
y=sis_rad(x,v,D,a);
ryy=corr_cruz(y,y);
rxy=corr_cruz(y,x);
parte4graf(x,y,rxy,ryy,muestra);
snr4e2=snrdb(y,v)