Post on 18-Dec-2015
description
13-5-2015
Captulo 1 Seales y sistemas en tiempo discreto
Mauricio Navarrete
QUINTO ELECTRNICA E INTRUMENTACIN
CAPITULO 1 SORIA DESARROLLAR LOS EJER CICIOS PROPUESTOS DEL CAPITULO 1 DE SORI A
1.47 Dadas las frecuencias siguientes:
X(n)= {-3,-2,-1,0,2,4,6}; y(n)={1,3,5,0,2}; w(n)={-5,3,2,1}
Calcule y represente las siguientes secuencias:
a(n)=x(n)+y(n)
a(n)={-3,-1,2,5,1.8,4,6}
b(n)=x(n)y(n)
b(n)={0,-2,-3,0,-0.4,0}
c(n)=x(n)+y(n)-w(n)
c(n)={0,2,0,0,4,2,4,6}
d(n)=0.72x(n)
d(n)={ -2.16 , 1.44,-0.72, 0, 1.44 , 2.88, 4.32}
e(n)=w(n)*y(n)
e(n)={ -5,-12,-14, 23 12.4,4.6,-0.2}
1.49 Determine para que los valores de , la seal x(n)= ejn es peridica. Cul es el periodo para = /6?
= /6
=2
=2
=26
= 12
1.50 Calcule la correlacin rxy de las secuencias x(n)=u(n) , y(n)=2n u(-n)
= [] [+]
+
=
[] = []
[] = 2 ()
[] = [] desde -, hasta +,
= ()2 ()
+
=
= (21)
+
=0
+ (21)
1
=
=1
1 1 2+ (2)
+
=1
= 2 +2
1 2= 0
No existe interseccin.
1.54.- Evaluando directamente la suma de convolucin, determine la respuesta al escaln de un
sistema LIT cuya respuesta al impulso es () = () con || < 1
[] = [] []
[] = [] []
0
=
[] =
0
=
[] =1
0
=
[] =1
=0
[] =1
.
1
1
1.59 calcule la expresin general de la auto correlacin de la seal x(n)= 2-nu(n). A partir de
ellas determine el valor de la energa de dicha seal.
[] = 2. []
() = () ()
(0) = (). ( )
=
(0) = (1
4)
=
(0) = (1
4)
=0
=
=1
1 (14)
= 1
4 14
=4
3
PRACTICAS CON MATLAB
Esta seccin contiene varios ejemplos prcticos sobre conceptos esenciales al tratar con seales y
sistemas discretos como son el muestreo, cuantificacin, las propiedades de estabilidad, linealidad e
invarianza temporal de los sistemas y la correlacin entre seales.
En esta prctica se estudiaran las consecuencias del teorema de muestreo, haciendo especial hincapi
en los efectos que se pueden producir si se muestrea una seal con la frecuencia incorrecta.
1.62.- se desea generar 2 periodos de una sinusoide analgica de amplitud 1 y frecuencia 200 Hz,
muestreada a 1Khz.
Sabemos que una sinusoide continua de frecuencia queda definida por la siguiente expresin:
() = acos(2 + )
Donde y son, respectivamente, la amplitud y la fase del sistema. Si muestreamos a una
frecuencia obtenemos:
[] () = (2 + ) = (2
+ )
Sustituyendo, en nuestro caso tendramos:
[] = cos (2200
1000) = cos(0.4)
De forma inmediata se comprueba que si el periodo de la seal discreta es de 5 muestras, como nos
piden dos perodos el nmero de muestras a generar es de 10.
Las instrucciones de MATLAB para generar y dibujar la seal son:
Con estas instrucciones se obtiene la figura 1.34:
n=0:9;
Fm=1000;
Fa=200;
x=cos(2*pi*Fa*n/Fm);
stem(n,x)
xlabel('n')
ylabel('x(n)')
Figura 1.34 Diez primeras muestras de una sinusoide analgica de frecuencia 200 Hz muestreada a
1KHz
1.64. Superponga sobre la grfica obtenida en el Apartado 1.63 los puntos obtenidos en el 1.62. Qu
ocurre?, qu consecuencias se pueden sacer de la grficas?
Con el siguiente cdigo podemos superponer ambas grficas, donde, en lugar de emplear la
instruccin hold on hemos utilizado la opcin de plot para superponer mltiples grficas (Figura 1.36):
plot(n,x,'o',n,xx,'+')
legend('Fa=200Hz','Fa=1200Hz')
xlabel('n')
ylabel('x(n)')
Figura 1.36. Superposicin de las muestras de las figuras 1.34 y 1.35.
Se observa que los puntos de las dos seales coinciden. La razn que la segunda seal (la componente
de 1.2kHz) no cumple el teorema de muestreo. Mediante la relacin siguiente podemos determinar
la frecuencia obtenida tras en muestreo.
=
Siendo una frecuencia en el intervalo [/2, /2] , y la frecuencia original. Si consideramos nuestros valores ( = 200 = 1200 ) con frecuencia de muestren igual a 1
kHz, la primera seal no produce solapamiento y la segunda se apreciar como una frecuencia de 200
Hz (considerando k = 1).
Podemos ver el efecto del solapamiento en el dominio temporal si superponemos las dos seales
continuas. Lo manera de simular estas seales es considerar un perodo de muestren "muy pequeo" 3. Es una aproximacin pero, a nivel grfico, es bastante ilustrativa.
El siguiente programa muestra este proceso:
n=0:9;
t=0:0.01:9;
Fa1=200;
Fa2=1200;
Fs=1000;
xt1=cos(2*pi*Fa1*t/Fs); %Seal continua Fa1=200Hz
xt2=cos(2*pi*Fa2*t/Fs); %Seal continua Fa2=1200Hz
x1=cos(2*pi*Fa1*n/Fs); %Seal discreta Fa1=200Hz
x2=cos(2*pi*Fa2*n/Fs); %Seal discreta Fa2=1200Hz
plot(t,xt1,k-,t,xt2,k:,n,x1,ko,n,x2,k+)
xlabel(n)
La grfica obtenida se muestra en la Figura 1.37, en la que se aprecia claramente que para la seal de
1200 Hz no llegamos a tener al menos dos puntos por periodo producindose aliasing.
Figura 1.37. Superposicin de las seales continuas de 200 Hz y 1200 Hz, y los 10 primeros valores obtenidos cuando se muestrean a 1 kHz.
1.65.- En este apartado vamos a estudiar el efecto del muestreo sobre el espectro de la seal. Genere la
serie obtenida al muestrear una sinusoide de 100 Hz y amplitud unidad con un periodo de muestreo
de 1ms durante un segundo. Represente el espectro de la seal usando la instruccin abs(fft(y)).
Comente el resultado.
Sabemos que una seal continua peridica puede escribirse como una suma ponderada de
exponenciales complejas, esto es fcil de ver si consideramos seales sinusoidales, ya que la frmula
de Euler ( = cos() + ()) nos permite escribir seno y coseno como suma de
exponenciales complejas, cada una de ellas con una amplitud mitad de la que tiene la seal original.
La representacin de la contribucin de cada sinusoide constituye el espectro de la seal. Se puede
hacer un razonamiento similar para seales discretas. Si bien, en temas posteriores se analizar con
todo detalle el espectro de una seal discreta y cmo calcularlo, vamos a considerar que la instruccin
fft de MATLAB nos permite representar el espectro de una seal discreta.
La instruccin fft es una de las ms utilizadas al estudiar procesamiento digital de seales con
MATLAB. Esta operacin descompone la seal como una serie ponderada de exponenciales
complejas.
=
, = 0,1, ,
Donde N es el nmero de muestras consideradas.
Tenemos que muestrear durante un segundo con un periodo de muestreo de 1ms lo que supone que
tenemos que tomar 1000 muestras. El programa en MATLAB que implementa lo que nos pide es:
N=1000;
n=0:N-1;
fa=100;
fm=1000;
x=cos(2*pi*fa*n/fm);
plot(-N/2:N/2-1,abs(fftshift(fft(x))));
xlabel('Frecuencia (Hz)')
Dado que el nmero de puntos utilizado para la fft es de 1000 y la frecuencia de muestreo tambin
es 1000, cada punto de la fft obtenido se corresponder con un armnico de 1 Hz.
Sabemos que cuando muestreamos con una frecuencia de 1000Hz, las frecuencias analgicas que
verifican el teorema del muestreo se encuentran en el intervalo [
2,
2]. Para desplazar el resultado
de la FFT, de manera que la frecuencia de continua se encuentre en el centro, hemos empleado la
funcin fftshift. El resultado son dos picos, a las frecuencias de 100 Hz (suma de 2 exponenciales
complejas). La grafica obtenida se muestra en la figura 1.38.
Figura 1.38 espectro de la seal obtenido al muestrear con una frecuencia de 1000Hz
1.66. Repita el apartado anterior pero ahora la seal a muestrear es la suma de cuatro sinusoides de
amplitud uno y frecuencias 100,200 y 600 y 2100hz. Utilice seales de tipo coseno. Comente los
resultados.
El siguiente cdigo me permite calcular las secuencias y representar el espectro de la suma. En lugar
de utilizar un bucle para calcular cada una de las secuencias hemos utilizado las propiedades de
MATLAB para trabajar con matrices de datos y la funcin sum que al ser aplicada sobre una matriz
suma sus elementos por columnas.
N=1000;
n=0:N-1;
fa=[100,200,600,2100];%tenemos un vector de frecuencias
fm=1000;
x=cos(2*pi*fa*n/fm); %calculamos todas las sinusoides
x=sum(x); %sumamos las sinusoides
plot(-N/2:N/2-1,abs(fftshift(fft(x))));
xlabel('frecuencia')
La grafica obtenida se muestra en la figura. Interpretemos esta grafica. Las frecuencias analgicas de
600hz y 2100hz no verifican el teorema de muestreo por lo que aplicando la ecuacin obtenemos que
las frecuencias aparentes correspondientes son:
600 400
2100 100
Independientemente de que se trate de frecuencias positivas o negativas, cada una de estas seales
esta representada en el espectro por dos picos. Por lo que observamos picos en frecuencias 100,200
y 400, sin embargo la amplitud para frecuencia 100 es el doble. Esto es debido a que para esta
frecuencia contribuyen las frecuencias analgicas de 100 hz y 2100hz, que por efecto del aliasing se corresponden con la misma frecuencia aparente.
Figura 1.39 Espectro de la seal suma de cuatro sinusoides
1.68.- Genere una seal cuadrada de 1000 puntos con frecuencia de 150 Hz y muestreada a 1000 Hz.
Represente el espectro de la seal y explique el resultado
Sabemos que una seal cuadrada analgica est formada por una suma infinita de armnicos impares
de la frecuencia fundamental. La amplitud de dichos armnicos decrece a medida que aumenta la
frecuencia del mismo.
Nuestra seal contendr armnicos a las frecuencias: 150, 450, 750, 1050, 1350, 1650, 1950 Hz,
Como la frecuencia de muestreo es de 1 KHz para que no se produzca aliasing, las frecuencias
analgicas debern estar comprendidas en el intervalo [-500,,500Hz]. En nuestra seal cuadrada
esto no se verifica a partir de la frecuencia de 750 Hz. Veamos cuales sern las frecuencias aparentes
obtenidas por cada uno de estos armnicos.
Frecuencia original Frecuencia aparente
150 Hz 150 Hz, No produce aliasing
450 Hz 450 Hz, No produce aliasing
750 Hz -250 Hz
1050 Hz 50 Hz
1350 Hz 350 Hz
1650 Hz -450 Hz
1950 Hz -50 Hz
Tabla 1.8 Representacin de las frecuencias original y aparente
El siguiente cdigo nos permite ilustrar grficamente este resultado:
N=1000;
n=0:N-1;
f=150;
fm=1000;
x=square(2*pi*f*n/fm);
subplot (211)
stem(n(1:50),x(1:50))
xlabel('n')
ylabel('x(n)')
title('(a)')
subplot(212)
plot(-N/2:N/2-1,abs(fftshift(fft(x))));
xlabel('Frecuencia')
title('(b)')
En la figura 1.41 se aprecian componentes que, en principio, no deberan aparecer. Entre ellas
destacan, por su valor, las componentes de 50 y 250 Hz resultantes del aliasing como hemos
comentado anteriormente:
Figura 1.41 (a) Primeras muestras de la seal cuadrada. (b) Espectro de la seal cuadrada de este
apartado.