Sie sind auf Seite 1von 6

Discrete-time Signals and Systems

Victoria Nicole Yánez Garzón


Departamento de Eléctrica y Electrónica, Universidad de las Fuerzas Armadas ESPE
Sangolquı́ - Ecuador
vnyanez@espe.edu.ec

Resumen—En el presente informe de laboratorio se desarrolla II. M ÉTODOS Y M ATERIALES


un banco de ejercicios orientados a la aplicación de señales y
sistemas en tiempo discreto. En esta práctica se ha hecho uso
de la herramienta computacional matemática MATLAB, la cual Computador con software Matlab instalado.
es utilizada constantemente en la carrera y cuyo manejo es Uso de MATLAB R2013a
fundamental para permitirnos realizar y comprobar conceptos
adquiridos por teorı́a de señales y sistemas.
Abstract—In this laboratory report develops a Bank of ex-
ercises aimed at the application of signals and systems in III. S ISTEMAS R ECURSIVOS
discrete time. This practice has been using the computational
mathematical MATLAB, which is used constantly in the race
and whose operation is essential to enable us to make and test Ejemplo. Encontrar la respuesta al impulso del sistema
concepts acquired by theory of signals and systems.
y[n] − α1 y[n − 1]0x[n] suponga que inicialmente está relajado.

I. I NTRODUCCI ÓN Una solución numérica para este problema puede ser
I-A. Objetivos determinada, para α = 1,15 y 0 ≤ n ≤ 30, usando los
Familiarizar al estudiante con el tratamiento de señales siguientes comandos de Matlab:
discretas en Matlab. alpha = 1.15; N = 30;
x = [1 zeros(1,N)];
Entender la funcionalidad de los diversos comandos y = filter(1,[1 -1/alpha],x);
existentes en Matlab para el procesamiento de señales stem(y);
discretas.

I-B. Fundamento Teórico


* Señales y sistemas en tiempo discreto
• Las señales discretas se representan con una secuen-
cia de números denominados muestras.
• Una muestra de una señal o secuencia se denota por
x[n] siendo n entero en el intervalo −∞ < n < ∞
(x[n] = x[nT ])
• x[n] está definida únicamente para valores enteros
de n.
• Una señal en tiempo discreto se representa como
x[n] [1]
En muchas aplicaciones la secuencia discreta se obtiene
muestreando una señal continua xa (t) a intervalos de
tiempo regulares:
Fig 1. Muestreo de una señal analógica
x[n] = xa (t) = xa (nTs ) (1)
* Muestreo
Esta es la conversión de una señal en tiempo continuo a IV. M UESTREO
una señal en tiempo discreto obtenida tomando muestras
de la señal en tiempo continuo en instantes de tiempo
discreto. Ası́ xa (t) es la entrada al muestreador, la salida Por ejemplo, teniendo una función f1 (t) = cos 2π3t de
es xa (nT ) ≡ x(n), donde T se denomina el intervalo de 3 Hz muestreada a fs = 10 muestras por segundo para un
muestreo. intervalo de 1seg de tiempo, se tiene:
Fig 4. Señal filtrada para N = 6 (MATLAB)

Fig 2. Función en coseno en el tiempo y su muestreo (MATLAB)

Un ejemplo muy similar, con la misma frecuencia de


muestreo e intervalo de tiempo, desde una función coseno de
7 Hz dada por f2 = cos 2π7t

Fig 5. Señal filtrada para N = 20 (MATLAB)

En este caso, el valor más grande de N , tiene una mejor


oportunidad de remover la componente de ruido.

VI. E JERCICIOS Y R ESULTADOS


VI-A. Ejercicio 1
Calcular la suma de convolución del siguiente par de
frecuencias usando el comando conv de MatLab.

Fig 3. Función en coseno en el tiempo y su muestreo (MATLAB)  1, 0 ≤ n ≤ 2

0, 3 ≤ n ≤ 6

Para eliminar la ambigüedad mostrada en este ejemplo, se x[n] =
debe usar el teorema del muestreo. El resultado indica que  1, 7 ≤ n ≤ 8

0, otherwise

a 7Hz la función coseno no debe ser muestreada con fs =
10 Hz, ya que en este caso, la frecuencia mı́nima de muestreo y 
debe estar por encima de fs = 14 Hz. n, 1≤n≤4
h[n] =
0, otherwise
Código:
n=0:10;
x=[1:11];
V. R UIDO Y F ILTRAJE h=[1:11];
for k=1:11
if(k>=1 && k<=5)
Suponiendo la señal x(t) = 5 cos(2π5t) + 2 cos(2π50t), x(k) = 1;
muestreada con fs = 1000 muestras por segundo, es corrom- else
pida por una pequeña cantidad de ruido. Para eliminar esto, x(k) = 0;
especificando el valor de N y usando los comandos de Matlab: end
b = ones(1,N); end
y = filter(b,1,x_noisy); a=3;
Si se grafica las figuras para N = 3, N = 6, N = 10 y for j=1:11
N = 20, se observó que la técnica es efectiva al reducir el if(j>=1 && j<=8)
ruido de una señal corrompida. h(j) = aĵ;
else subplot(211),stem(n,x,’c’)
h(j) = 0; title ’x(n)’,xlabel ’n’
end subplot(212),stem(y,’r’)
end title ’y(n)’,xlabel ’n’
res=conv(x,h);
subplot(221),stem(n,x,’m’)
title ’x(n)’,xlabel ’n’
subplot(222),stem(n,h,’g’)
title ’h(n)’,xlabel ’n’
subplot(212),stem(res,’r’)
title ’conv(x,h)’,xlabel ’n’

Fig 7. Respuesta convolución (MATLAB)

Conclusión. En la resolución de este ejercicio se aplican


propiedades de convolución, las mismas que nos facilitan el
aprendizaje y la comprensión de este artificio matemático.

VI-C. Ejercicio 3
Fig 6. Respuesta convolución (MATLAB)
Escriba un programa en Matlab para graficar las muestras
Conclusión. Se puede observar la suma de convolución para de las soluciones de las siguientes ecuaciones de diferencias
dos pares de secuencias, las mismas que producen una tercera desde n = 0 a n = 20:
señal. Este artificio matemático representado por una función,
de forma lineal o continua, transforma una señal de entrada a) y[n] + 2y[n − 1] + y[n − 2] = x[n], y[0] = 1 and y[1] = 0
en una nueva señal de salida. Código:
n=0:20;
VI-B. Ejercicio 2 y=[1:21];
y(1)=1;
Calcular y[n] = x[n] ∗ x[n] ∗ x[n] ∗ x[n], usando la función y(2)=0;
conv de Matlab para la siquiente secuencia: for k=3:21

n; 0≤n≤1 y(k)=-2*y(k-1)-y(k-2);
x[n] = end
0; casocontrario
stem(n,y,’y’),title ’y(n)’,xlabel ’n’
Código:
n=0:10;
x=[1:11];
for k=1:11
if(k>=1 && k<=2)
x(k) = 1;
end
if(k>=3 && k<=11)
x(k) = 0;
end
end
x1=conv(x,x);
x2=conv(x,x);
y=conv(x1,x2) Fig 7. Respuesta a ecuación de diferencias (MATLAB)
b) 4y[n] + y[n − 1] + 3y[n − 2] = x[n] + x[n − 4], y[0] = else
1 and y[1] = 0 x(k) = 0;
Código: n=0:20; end
y=[1:22]; end
y(1)=1; for j=1:21
y(2)=1; if(j>=1 && j<=10)
for k=3:22 y(j) = 0;
y(k)=-y(k-1)-2*y(k-2); else
end y(j) = x(j)-y(j-1)-y(j-2);
stem(n,y(2:22),’m’) end
title ’y(n)’,xlabel ’n’ end
stem(n,x,’r’),hold on,
stem(n,y,’g’),hold off,title
’Respuesta al Impulso y(n)’

Fig 8. Respuesta a ecuación de diferencias (MATLAB)


Conclusión. La gráfica de este ejercicio representa la so-
lución a una ecuación de diferencias, la misma que es una
secuencia de valores discretos que se la visualiza en la gráfica Fig 9. Respuesta a ecuación de diferencias (MATLAB)
para 0¡n¡20.
b) 4y[n] + y[n − 1] + 3y[n − 2] = x[n] + x[n − 4]
Código:
VI-D. Ejercicio 4 n=-10:10;
Escriba un programa Matlab para calcular las respuestas x=[1:21];
de impulso de los sistemas descritos siguiendo ecuaciones de y=[1:21];
diferencias: for k=1:21
a) y[n] + y[n − 1] + y[n − 2] = x[n] if(k == 11)
x(k) = 1;
En este ejercicio se debe tener en cuenta la propiedad else
de la distribución para la convolución. Generamos los x(k) = 0;
vectores, en este caso será el mismo pero utilizado end
en dos procesos de convolución, al tener ya las dos end
convoluciones hacemos una tercera convolución esta for j=1:21
sera la salida denuestro sistema y[n] que se observa en if(j>=1 && j<=10)
la figura. y(j) = 0;
else
Código: y(j) = (x(j)-x(j-4)-y(j-1)-3*y(j-2))/4;
n=-10:10; end
x=[1:21]; end
y=[1:21]; stem(n,x,’r’),hold on,
for k=1:21 stem(n,y,’m’),hold off,title
if(k == 11) ’Respuesta al Impulso y(n)’
x(k) = 1;
Fig 11. Respuesta a ecuación de diferencias (MATLAB) con
ω = π/3 y ω = π
1
b) y[n] − y[n − 1] = x[n]
2

Fig 10. Respuesta a ecuación de diferencias (MATLAB)


Conclusión. En las gráficas se muestra como un sistema Fig 12. Respuesta a ecuación de diferencias (MATLAB) con
ω = π/3 y ω = π
tiene una respuesta a una entrada determinada en este caso es
una entrada sinusoidal, por lo tanto la respuesta del sistema c) y[n] = x[n − 2] + 2x[n − 1] + x[n]
en ocasiones puede ser lineal.

V-E. Ejercicio 5
Escriba un programa en Matlab para graficar la respuesta
en estado estable para la entrada x[n] = sin (ωn)µ[n] de
los filtros descritos por las siguientes tres ecuaciones de
diferencias. Con un ω = π/3 y ω = π:
a) y[n] + y[n − 1] + y[n − 2] = x[n]

Código:
N=20;
for i=1:N Fig 13. Respuesta a ecuación de diferencias (MATLAB) con
x_a(i)=sin(pi/3 * (i-1)); ω = π/3 y ω = π
end
for i=1:N V-F. Ejercicio 6
x_b(i)=sin(pi*(i-1));
end Escribir un programa en Matlab que realice una simulación
y_a=filter([1 1 1],1, x_a); para la solución del siguiente ejercicio: Supongamos que
y_b=filter([1 1 1],1, x_b); queremos procesar la señal en tiempo continuo
subplot(2,1,1);stem(0:19,y_a,’b’);
subplot(2,1,2);stem(0:19,y_b,’b’); xa (t) = 3 cos(2π1000t) + 7 sin(2π1100t)
Usando un sistema de tiempo discreto. La frecuencia de
muestreo utilizada es de 4000 muestras por segundo. El
procesamiento en tiempo discreto llevó a cabo en las muestras
de la señal x(n) se describe por la siguiente ecuación en
diferencias.
y(n) = x(n) + x(n − 2)
Código:
na=0:10000;
xa=3*cos(2*pi*0.0025*na)+7*sin(2*pi*0.00275*na);
x=xa(1:100:length(xa));
y=filter([1 0 1],1,x);
n=0:100:length(na);
h=sinc(-10:.01:10);
for i=1:length(n), yaux(i,100*i-99:100*i-100 compresión de los mismos.
+length(h))=h*y(i);
end; Matlab la herramienta fundamental para el desarrollo y
yc=sum(yaux) entendimiento de esta asignatura pues mediante este se
ya=yc(1001:length(yc)-1000); puede comprar fenómenos como el proceso y la condicio-
figure(1); nes de la frecuencia de Nyquist además de comprender
subplot(2,1,1), stem(x); como se visualiza las señales de ruido y como funciona
subplot(2,1,2), stem(y); un filtro.
Ta=1/400000;
figure(2); R EFERENCIAS
subplot(2,1,1), plot(na*Ta,xa); [1] Martı́nez Sober, M., Serrano López, A. J., & Gómez Sanchis, J. (2009).
subplot(2,1,2), plot(na*Ta,ya); Introducción al procesado digital de señales. Obtenido de Universidad
de Valencia: http://ocw.uv.es/ingenieria-y-arquitectura/1-1/tema3.pdf

Fig 14. Secuencias x[n] e y[n] respectivamente (MATLAB)

Fig 15. Secuencias x[n] e y[n] respectivamente (MATLAB)

Conclusión. En este ejercicio se puede ver claramente cómo


se puede muestrear una señal continua y reproducirla tiempo
después debido a que la frecuencia de muestreo es la adecuada
para la toma de datos de la señal original.

C ONCLUSIONES
El utilizar la herramienta de cálculo Matlab permite
realizar procesos de muestreo, y trabajar con las señales
en tiempo continuo y discreto de dichas muestras de
una forma que me permite apreciar el funcionamiento
de los procesos digitales, dando mayor facilidad a la

Das könnte Ihnen auch gefallen