You are on page 1of 4

La generacin de seales peridicas tales como ondas cuadradas y triangulares es una actividad muy fcil de realizar en MATLAB.

1) SEAL CUADRADA Consideremos primero la generacin de una onda cuadrada de amplitud A, frecuencia fundamental w (medida en radianes por segundo) y ciclo til rho. Recordemos que el ciclo til es la fraccin de cada periodo en donde la seal es positiva.

Para generar dicha seal se pueden escribir lo siguiente en la linea de comandos:

>> A = 1; >> w = 10 * pi; >> rho = 0.5; >> t = 0:0.001:1; >> sq = A*square(w*t+rho); >> plot(t,sq); En la segunda lnea de este ejemplo, pi es una funcin interna de Matlab que calcula el nmero ms cercano a la constante PI en formato de coma flotante. El ltimo comando es usado para vizualizar la seal generada. El comando plot dibuja lneas conectando los valores sucesivos de la seal y as da la apariencia de una seal en tiempo continuo. 2) SEAL TRINGULAR

Consideremos ahora la generacin de una onda triangular de amplitud A, frecuencia fundamental w y ancho Wdt . El periodo de la onda triangular ser T con el mximo valor de la seal ocurriendo en t = WT . El comando bsico para generar esta seal es: A * sawtooth(w * t + Wdt) El resultado se puede observar en la grfica a la izquierda

3) SEAL ESCALN En Matlab, el comando ones(M, N) genera una matriz de unos de tamao MxN, y el comando zeros(M, N) es una matriz de ceros del mismo tamao. Se puede hacer uso de estas dos matrices para generar dos seales comnmente usadas: la seal escaln y la seal impulso. Una seal paso de amplitud uno, puede ser generada con el siguiente comando.

U = [zeros(1, 10), ones(1, 11)];

Para la versin continua creamos un vector que represente el tiempo el cual tenga muestras de un intervalo separados por valores muy pequeos. Los comandos y los resultados se muestran a continuacin: >> u=[zeros(1,10),ones(1,11); >> t=-1:0.1:1; >> plot(t,u)

Como se menciono anteriormente, una seal generada en Matlab es inherentemente de naturaleza discreta. Para visualizar una seal en tiempo discreto se puede hacer uso del comando stem. Especficamente stem(n, x), bosqueja los datos contenidos en el vector x como una seal de tiempo discreto con los valores de tiempo definidos por el vector n. Los vectores n y x deben tener dimensiones compatibles, es decir deben tener el mismo nmero de elementos. As, para este caso para obtener la representacin de esta seal en tiempo discreto creamos un vector-tiempo el cual debe tener valores separados por una unidad. >> u=[zeros(1,10), ones(1,11)]; >> n=-10:10; >> stem(n,u) Recuerde que para poder usar las funciones plot y stem, es requisito que los vectores (t y u) (n y u) tengan iguales dimensiones. Por esta razn el vector u se forma como una composicin

de diez ceros y 11 unos, debido a que los arreglos t y n, tienen dimensin 21 dado que incluyen un elemento central el cual es el nmero cero. Para probar este hecho, se puede hacer uso de la funcin Matlab llamada size que devuelve como resultado un vector con las dimensiones de la matriz que se le pasa como parmetro. 4) SEAL IMPULSO:

La versin discreta de la seal impulso se puede tambin generar con ayuda de las funciones zeros y ones, realizando una composicin como sigue:

>> delta = [ zeros( 1 ,10 ), 1 , zeros( 1 ,10 ) ]; >> n = -10:10; >> stem(n,delta);

5) SEAL RAMPA Para generar la seal rampa, tan solo es necesario recordar que esta funcin puede ser creada, como la composicin de una recta Y(x) = x a partir de cero y de la recta Y(x) = 0 para valores de x menores de cero, as la versin discreta se muestra a continuacin:

>> t1=0:0.1:10; >> rampa1=t1; >> rampa=[zeros(1,101),rampa1]; >> t2=-10:0.1:0; >> t=[t2,t1]; >> plot(t,rampa) Ejercicios:

1) Desarrollar un conjunto de comandos Matlab para aproximar las siguientes seales peridicas en tiempo continuo, dibujando 5 ciclos de cada una: a) Onda Cuadrada, de amplitud 5 Volts, frecuencia fundamental 20 Hz y ciclo til del 60%. b) Seal diente de sierra, amplitud 5 Volts y frecuencia fundamental 20Hz

You might also like