Sei sulla pagina 1di 8

Seales y Sistemas Discretos, Gua 3 Facultad: Ingeniera Escuela: Electrnica Asignatura: Seales y Sistemas Discretos

Tema: Seales y Sistemas Discretos en el tiempo


Contenidos

Generacin de una seal en MATLAB Discretizacin de una seal en MATLAB Adquisicin de una seal por medio de la tarjeta de sonido de la PC.

Objetivos Especficos
1234Conocer que es un sistema de tiempo discreto. Digitalizar seales usando la tarjeta de sonido de la PC. Poder representar cualquier seal discreta real en sus componentes par e impar Generar seales discretas en MATLAB.

Material y Equipo
1 Computadora con sistema operativo Windows y MATLAB. 1 Micrfono para PC

Introduccion Teorica
Un sistema de tiempo discreto es uno que transforma una secuencia de nmeros de entrada, {x(k)} en una secuencia de nmeros de salida {y(k)} de acuerdo a alguna frmula de recursin que representa la solucin a la ecuacin diferencia que describe al sistema. Para un sistema fsico, la ecuacin diferencia expresa las caractersticas del que es frecuentemente llamado un filtro digital o procesador de seales. Podemos representar los sistemas discretos en una forma similar a la representacin de los sistemas continuos. Un sistema discreto simple se muestra en la figura 1.1. El sistema en la figura 1.1b, un divisor, tiene una salida que es independiente de la entrada anterior; por lo tanto no tiene memoria. Segn lo anterior, es llamado sistema sin memoria. El sistema discreto mostrado en la figura 1.1c tiene memoria. El sistema de la figura 1.1d es un diferenciador ya que y(k) = x(k) x(k-1). Un sistema discreto es causal si la salida en cualquier tiempo depende de los valores presentes y pasados de la entrada. Por ejemplo, el sistema definido por y(k) = y(k-1) + x(k) es causal, pero el sistema definido por y(k) = y(k+1) + x(k-1) es no causal.

Seales y Sistemas Discretos, Gua 3

Los sistemas discretos lineales se caracterizan por el principio de superposicin. Por ejemplo si una entrada x1(k) a un sistema discreto produce una salida y1(k) y la entrada x2(k) produce una salida y2(k), entonces para un sistema lineal, la entrada x1(k)+ x2(k) produce la salida y1(k) + y2(k). Un sistema se llama homogneo si la entrada ax1(k)+bx2(k) produce la salida ay1(k) +b y2(k). La estabilidad es otra propiedad importante de los sistemas discretos. Un sistema discreto estable se caracteriza porque sus salidas disminuyen cuando el tiempo progresa. Si su salida aumenta sin lmite en el tiempo, el sistema es inestable. Por ejemplo, el sistema con la salida y(k)=ak, k0, es inestable si a>1 y es estable si a<1. Otra propiedad importante de los sistemas discretos es la invariabilidad con el tiempo. Un sistema es invariable con el tiempo cuando las entradas x(k) y x(k k0) producen las salidas y(k) e y(k) y(k K0) respectivamente. El sistema y(k) = 2kx(k) es no invariable con el tiempo porque la salida para x(k K0) es y(k) = 2kx(k k0). Esto es muy diferente de introducir un desplazamiento de tiempo de k k0 en el sistema el cual da como resultado una salida y(k) = 2(k k0)x(k k0).
S is te m a d is c re to E n tra d a d e la s e a l d is c r e t a x (k )

k
(a )

S a lid a d e la s e a l d is c r e ta

y (k )

x (k )

k=
(b )

1 a

y (k ) =

1 x (k ) a

x (k )

U n id a d d e re tra so

y (k ) = x (k -1 )

(c ) x (k ) x (k )
6 4 2

y (k )

+ U n id a d de re tra s o

y (k )

... k
1 2 3 4 5

.. . k
1 2 3 4 5

Figura 1.1. Sistemas Discretos. 1.2 ECUACIONES DIFERENCIA LINEALES Suponga que el sistema de tiempo discreto o procesador de seal que transforma una secuencia de entrada de nmeros { x( k )} en una secuencia de nmeros de salida { y ( k )} se expresa por la ecuacin diferencia
y ( k ) = x( k ) + 3 x( k 1) + x( k 2 )

(1.1)

Esta expresin especfica que el k-simo miembro de la secuencia de salida est formado

Seales y Sistemas Discretos, Gua 3

por la suma de los siguientes trminos: la presente (o k-sima) entrada x( k ) , tres veces el valor de la entrada previa o retrasada x( k 1) , y el segundo valor retrasado de la entrada. En particular, si la secuencia de entrada a este sistema con k = 0 es el conjunto de nmeros {1, 2, 0, 3, 1, 5, 0, ...}, la salida correspondiente ser la secuencia de nmeros {1, 5, 7, 5, 10, 11, 16, ...}. Un proceso de tiempo discreto familiar a muchas personas es el asociado con una cuenta de ahorros en un banco. Considere una cuenta de ahorros que capitaliza un inters de r% por ao calculado n veces por ao (n = 4 correspondera a cuatro capitalizaciones). El inters se calcula a la razn de r / n % en cada periodo de capitalizacin. Asumiremos que los depsitos en cualquier periodo no ganan inters sino hasta el prximo periodo. Definimos lo siguiente:
y ( k ) = balance total de la cuenta del banco al final del k-simo periodo de capitalizacin. x( k ) = total de depsitos durante el k-simo periodo de capitalizacin

Claramente, a la conclusin de cualquier periodo de capitalizacin, el balance total de la cuenta del banco es igual a la suma de lo siguiente: el balance de la cuenta del banco al inicio del periodo de capitalizacin, el inters acumulado de este balance, y los depsitos hechos durante este periodo. Este resultado puede expresarse matemticamente por la expresin
y ( k ) = y ( k 1) + r r y ( k 1) + x( k ) = 1 + y ( k 1) + x( k ) n n

(1.2)

Esta es una ecuacin diferencia de primer orden, ya que k y k - 1 en la variable desconocida (la salida) difieren por una unidad. La solucin a tales ecuaciones puede realizarse numricamente a mano o por mquina, puede realizarse analticamente, y puede encontrarse usando el mtodo de la transformada-Z. Resolver esta ecuacin a mano o con mquina requiere que se guarden los valores inicial y ( 0 ) y la secuencia de entrada x( k ) , k =1, 2, 3, ..., es decir estn en los registros de almacenaje de una computadora. La cantidad 1 + r / n debe evaluarse, y luego multiplicarse por y ( k 1) . Este resultado se guarda en el acumulador; se combina con el apropiado x( k ) y se deduce el y ( k ) actualizado. Durante el prximo periodo, el y ( k ) presente se convierte en el depsito inicial y ( k 1) y el proceso se repite. As para un inters conocido r, un depsito inicial y ( 0 ) , y una secuencia de depsitos especificada, se resuelve la ecuacin diferencia para establecer todos los valores sucesivos. Note que se hace una distincin notacional entre los sistemas que generan ecuaciones diferencia de la forma dada en (3.1) en los cuales y ( k ) depende solo de x( k ) y los valores pasados de la entrada y los sistemas que generan ecuaciones diferencia tales como el (3.2), el cual especifica el valor de y ( k ) en trminos de los valores pasados de y ( k ) , los valores presentes de x( k ) , as como tambin los valores pasados de x( k ) . El primer tipo se llama no recursivo, transversal, o respuesta al impulso de duracin finita (FIR, finite impulse response). El segundo tipo se llama un sistema recursivo, o de respuesta al impulso infinita (IIR, infinite impulse response). Especficamente, un sistema IIR se describe

Seales y Sistemas Discretos, Gua 3

matemticamente por una ecuacin diferencia de N-simo orden de la forma


y ( k ) = a1 y ( k 1) + + a N y ( k N ) + b0 x( k ) + b1 x( k 1) + + bM x( k M )

(1.3)

la cual puede escribirse en forma compacta como y ( k ) = a n y ( k n ) + bn x( k n )


n =0 n =0 N M

(1.4)

Si todos los valores a n = 0 , el sistema se describe por y ( k ) = bn x( k n )


n =0 M

(1.5)

Esta es la descripcin general de un sistema FIR. En contraste con los sistemas continuos, cuya operacin se describe o modela por un conjunto de ecuaciones diferenciales, los sistemas de tiempo discreto son aquellos cuya operacin se describe por un conjunto de ecuaciones diferencia.

Procedimiento
Parte I. Generacin de una seal en MATLAB (Tutora)

1. Genere y grafique la siguiente seal impulso. En cada caso el eje horizontal (n) se debe extender el rango indicado y se debe presentar su escala en forma correcta. Cada secuencia se debe presentar como seal de tiempo discreto usando el comando stem. La funcin a implementar es la siguiente:
x( n ) = 0.9 ( n 5)
L = 20; imp = zeros(L,l); imp(5)=0.9; stem(imp)

1 n 20

La solucin al problema anterior es:

2. Pruebe las siguientes lneas para crear una seal repetitiva en el vector x.
x= [0;1;1;0;0;0;0]*ones(1,7); x=x(:); size(x) % <----- devuelve la longitud de la seal

3. Estudie la siguiente funcin para ver como se genera en MATLAB una seal exponencial de tiempo discreto. Seguidamente utilice la funcin para representar grficamente la exponencial x[ n ] = ( 0.9 ) n , en el intervalo n = 0, 1, 2, 3, ..., 20.
function y = genexp(b, n0, L) %GENEXP genera una seal exponencial: b ^ n

Seales y Sistemas Discretos, Gua 3


% Uso: %B % N0 %L %Y if (L <= Y = genexp (B, N0, L) entrada escalar que da la razn entre trminos instante de comienzo (entero) longitud de la seal generada seal de salida Y(1:L) 0)

error ( GENEXP: longitud no positiva) end nn=n0+[1:L]-1; % ----- vector de ndices y=b.^ nn;

4. Escriba un programa que calcule y exprese la secuencia simtrica par e impar de una secuencia cualquiera y prubelo con la siguiente secuencia.
%programa que calcula la simetra par e impar de una secuencia %x(n)=u(n)-u(n-10) figure('numbertitle','off','name','Visualizacin de la parte par e impar de una secuencia'); n=[0: 10]; x=stepseq(0,0,10)-stepseq(10,0,10); [xp,xi,m]=evenodd(x,n); subplot(2,1,1); stem(n,x); title('Pulso Rectangular') xlabel('n'); ylabel('x(n)'); axis([-10,10,0,1.2]) subplot(2,2,3); stem(m,xp); title('Parte Par') xlabel('n'); ylabel('xp(n)'); axis([-10,10,0,1.2]) subplot(2,2,4); stem(m,xi); title('Parte Impar') xlabel('n'); ylabel('xi(n)'); axis([-10,10,-0.6,0.6])

Luego cree tambin la siguiente funcin:


function[x,n] = stepseq(n0,n1,n2) %Se genera x(n)=u(n-n0); nl <= n2, n0 >= n1 % ------------------------%[x,n] = stepseq(n0,nl,n2) % if ((n0<n1)|(n0>n2)) error('los argumentos no satisfacen n1<=n0<=n2') end n=[n1:n2]; x=[zeros(1,(n0-n1)),ones(1,(n2-n0+1))];

y esta otra:
function [xe,xo,m] = evenodd(x,n) % Descomposicin de una seal Real en sus partes pares e impares % -----------------------% [xe,xo,m] = evenodd(x,n) % if any(imag(x~=0)) error('x no es una secuencia real') end m=-fliplr(n); m1 =min([m,n]); m2=max([m,n]); m=m1:m2; nm=n(1)-m(1); n1=1:length(n); x1=zeros(1,length(m)); x1(n1+nm)=x; x=x1; xe=0.5*(x+fliplr(x)); xo=0.5*(x-fliplr(x));

Seales y Sistemas Discretos, Gua 3

Parte II. Discretizacin de una seal en MATLAB. (Tutora) Considere la frmula para una seal sinusoidal de tiempo continuo: x( t ) = sen ( 2f 0 t + )

Podemos muestrear x(t ) a una razn f S =1 / TS para obtener la seal de tiempo discreto
f x[ n] = x( t ) t =nT = x( t ) t =n / f = sen 2 0 n + S S fS

1. Elabore una grfica simple de la onda seno muestreada. Asigne una frecuencia de la seal senoidal de 300Hz, y tome muestras en un intervalo de 10ms, con una frecuencia de muestreo de 8kHz. Considere la fase = 45. Grafique el resultado de la seal en tiempo discreto usando stem. Solucin: Sabemos que
t n = nT

Por lo tanto t n = n n = tn f S T Para este caso f S = 8000 Hz y t = 0.01 s, por lo tanto, n = 0.01 8000. Entonces, n = 80. Los comandos a implementar en MATLAB para desarrollar este ejemplo son los siguientes:
n=1:80; x=sin(2*pi*(300/8000)*n+pi/4); stem(n,x)

2. Repita el numeral anterior con una frecuencia de muestreo de 4kHz y una de 1KHz Parte III. Adquisicin de una seal por medio de la tarjeta de sonido de la PC. 1. Escriba el siguiente archivo de guin en MATLAB
ai=analoginput('winsound') addchannel(ai,1); ai.SampleRate=8000; ai.SamplesPerTrigger=40000; ai.TriggerType='Immediate'; start(ai) [d,t]=getdata(ai); disp(Hable al micrfono por 5 s.) pause(5); figure plot(t,d);

2. Salga de los programas, apague todo el equipo y desconecte los circuitos.

Seales y Sistemas Discretos, Gua 3

Anlisis de Resultados
1. Cul es la diferencia entre los comandos plot y stem de MATLAB? 2. Es la suma de las componentes par e impar de la seal escaln de la parte I igual a la seal original? Explique. 3. En la Parte II Se sigue obteniendo una seal discretizada correcta al cambiar las frecuencias de muestreo a 4KHz y 1 KHz? Explique. 4. Cmo puede cambiarse el tiempo total de muestreo de la seal capturada por la tarjeta de sonido? 5. Presente las grficas obtenidas en la prctica con sus respectivos nombres y ttulos.

Investigacin Complementaria
1. Investigue como puede reproducir los datos de funciones generadas en MATLAB en la 2.
tarjeta de sonido. Generar y muestrear una seal senoidal de 3.5KHz utilizando SCILAB

Bibliografa

The MathWorks Inc. Manual del usuario de MATLAB. SCILAB

Seales y Sistemas Discretos, Gua 3


Hoja de cotejo: 3

Gua 3: Seales y Sistemas Discretos en el tiempo.


Alumno: Docente: Maquina No: GL: Fecha:

EVALUACION % CONOCIMIENTO
25%

1-4
Conocimiento deficiente de los fundamentos tericos

5-7
Conocimiento y explicacin incompleta de los fundamentos tericos Realiza bien los procedimientos, pero los explica parcialmente

8-10
Conocimiento completo y explicacin clara de los fundamentos tericos Realiza correctamente los procedimientos y sabe explicar los cdigos correctamente.

Nota

APLICACIN DEL CONOCIMIENTO

70%

No realiza bien los procedimientos y no explica los script: 1- uso de Genexp 20%) 2- Secuencia par e impar (20%) 3- Generacin de seal en MATLAB (20%) 4- Script de captura de audio (10%)

ACTITUD

2.5%

Es un observador pasivo.

Participa ocasionalmente o lo hace constantemente pero sin coordinarse con su compaero. Hace un uso adecuado de los recursos, respeta las pautas de seguridad; pero es desordenado.

Participa propositiva e integralmente en toda la prctica. Hace un manejo responsable y adecuado de los recursos conforme a pautas de seguridad e higiene.

2.5%

Es ordenado; pero no hace un uso adecuado de los recursos

TOTAL

100%

Potrebbero piacerti anche