P. 1
señales

señales

|Views: 2.856|Likes:

More info:

Categories:Topics, Art & Design
Published by: July Andrea Gomez Camperos on Sep 08, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

08/16/2013

pdf

text

original

INGENIERÍA ELECTROMECÁNICA TÓPICOS DE CONTROL DIGITAL O DISCRETO I.

SEÑALES EN SISTEMAS DE CONTROL

Los sistemas de control se caracterizan por la ecuación que rige la ley de su dinámica, para conocer la respuesta del sistema a una entrada particular, se utilizan las señales eléctricas, las cuales sirven de excitación o entrada del sistema. A continuación se definen algunas de las señales más utilizadas en sistemas de control análogo. 1. Impulso unitario: La función impulso es más un concepto matemático que una función, que se define de la siguiente manera: 1

δ (t) τ )
0

δ (tt

τ • La función es cero para cualquier valor de t, excepto cero. • Cuando la t tiende a cero por la derecha o por la izquierda su valor tiende a infinito • Por definición el área de esta función es igual a uno.
La función impulso posee algunas propiedades que pueden resultar útiles.

También es importante para posteriores desarrollos la propiedad de desplazamiento o corrimiento.

Físicamente existen efectos en la naturaleza a los que se puede asociar esta función como por ejemplo la fuerza aplicada en un lapso muy corto, como cuando un martillo golpea un clavo, o la presencia de un voltaje por un instante muy corto que en términos de esta función como:

2. Escalón Unitario: La función escalón unitario se define como la integral de la función impulso desde el infinito negativo hasta el tiempo t, la integral de la función impulso es 0 si el tiempo t es menor que 0, y 1 si el tiempo t es mayor que 0. El escalón unitario se define exactamente como: u(t) 1 t El tipo de escalón unitario corresponde a una salida. El valor de la función en t=0, es indefinido. Otros textos lo pueden definir como 1 o 0. Así pues ésta función representa la corriente continua disipada en un dispositivo. En el caso de la función escalón, físicamente representa un cambio instantáneo que se produce en t = 0, es una suposición el hecho de representar una función con tiempos negativos (lo cual no existe), en cambio sirve para representar el caso de un interruptor que permanece abierto hasta que en un instante se cierra, estableciendo el máximo voltaje a una carga. 3. Pulso Rectangular: Es una función muy útil en sistemas de control, existe para un intervalo de tiempo, siendo cero en cualquier otro caso, se concibe como una señal compuesta, ya que se deriva de la suma algebraica de dos escalones; uno en 0 y otro retrasado un tiempo t = τ . A continuación se muestra la conformación de la señal pulso rectangular. u(t) 1 t -1 pulso = 1 +

τ
-u(tτ )

t

Pulso = u(t) – u(t - τ )

τ

t

4. Rampa Unitaria: La función rampa es la integral de la función escalón. Si se considera la suma de toda el área bajo la función escalón hasta un tiempo t. Si t < 0 (cero), el valor de la integral será 0 (cero). Si t > 0 (cero) , entonces el valor será igual a la integral de 1 desde el tiempo 0 hasta el tiempo t, la cual también tiene el valor t, es decir:

r(t) 1 1 t

La rampa unitaria tiene una pendiente igual a 1 (uno).

5. Pulso Triangular: La señal pulso triangular, al igual que el pulso rectangular, también es una señal compuesta, ya que se genera a partir de una serie de sumas algebraicas de rampas unitarias. En la siguiente gráfica se muestra como se conforma una señal pulso triangular a partir de señales tipo rampa.

, sean:
f(t)
1 1

tripulso

r(t+1)

r(t-1)

t
-1 1

t
-1 1

=

2r(t)

-2

6. Exponencial: Como su nombre lo indica, las señales exponenciales crecen o decrecen de manera exponencial, se tomará como elemento de partida la siguiente expresión:

De la cual se derivan los siguientes casos:

10 • Señales exponenciales reales:

si a es positiva entonces

conforme t se incrementa x(t) es una exponencial creciente. Si a es negativa, entonces x(t) es una exponencial decreciente. 6

2

a<0

-2

a>0

Ejemplos: A =1, a = 0.3,

b=0

-0.3,

b=0

A =1, a =

-8

-4

4

8

• Señales exponenciales complejas:

Esta señal, muy

usada para describir muchos procesos físicos, es periódica con periodo Usando la relación de Euler se puede escribir en términos de señales senoidales así:

La siguiente figura, obtenida en Matlab a través del script mostrado, representa la señal exponencial para las condiciones dadas.

% Señal exponencial compleja t=0:0.01:10; b=2; x=cos(b*t)+j*sin(b*t); x1=real(x); x2=imag(x); subplot(2,1,2) plot(t, x2, 'b') title('Parte imaginaria') subplot(2,1,1); plot(t, x1, 'r') title('Parte real')

• Señales exponenciales generales:

El caso más general

de una exponencial compleja; si a > 0, x(t) corresponde a senoidales multiplicadas por exponenciales crecientes; si a < 0, x(t) corresponde a senoidales multiplicadas por exponenciales decrecientes. Usando la relación de Euler se puede escribir: .

A continuación se muestra la gráfica para: {A = 1; a = -0,3 y b = 5}

% Exponenciales generales t=0:0.01:10; a=-0.3; b=5; x=(cos(b*t)+j*sin(b*t)).*exp(a*t); x1=real(x); x2=imag(x); subplot(2,1,2) plot(t, x2, 'b') title('Parte imaginaria') subplot(2,1,1); plot(t, x1, 'r') title('Parte real')

II. CARACTERIZACIÓN DE LAS SEÑALES USANDO MATLAB

El objeto básico usado en MATLAB es una matriz numérica con la posibilidad de almacenar números complejos. Los datos encontrados en el estudio de señales y sistemas son siempre, muy bien representados en forma de matrices. En esta sección se usará MATLAB para la generación de señales elementales como lo son las señales exponenciales, senoidales, etc.

El ToolBox de procesamiento de señales de MATLAB posee una larga variedad de funciones para la generación de señales, estas señales requieren de una representación vectorial de la variable tiempo, de manera continua o discreta. Para realizar una simulación de un intervalo continuo, se usa un vector de valores discretos con un intervalo de muestreo muy pequeño.

El siguiente comando genera un vector llamado t de valores que representan la variable tiempo, con un intervalo de muestreo de 1ms entre 0 y 1seg.

t = 0:0.001:1;

Para generar un vector llamado n de valores que representan la variable tiempo para una señal discreta en el intervalo de 0 a 1000, se puede usar el siguiente comando.

n = 0:1000;

Después de creado el vector que representa la variable tiempo, es posible iniciar el desarrollo de alguna señal de interés.

En MATLAB una señal discreta en el tiempo se representa exactamente, porque los valores de la señal son representados como los elementos de un vector. Sin embargo las señales de tiempo continuo en MATLAB son tan solo aproximaciones. La aproximación consiste de un vector cuyos elementos son muestras de la verdadera señal de tiempo continuo. Cuando se usa esta técnica para la representación de señales continuas es importante escoger el intervalo de muestreo lo suficientemente pequeño para asegurar que las muestras capturan todos los detalles de la señal.

SEÑALES PERIODICAS

La generación de señales periódicas tales como ondas cuadradas y triangulares es una actividad muy fácil de realizar en MATLAB. Consideremos primero la generación 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 fracción de cada periodo en donde la señal es positiva.

Para generar dicha señal se puede usar el siguiente conjunto de comandos:

A = 1; w = 10 * pi; rho = 0.5; t = 0:0.001:1; sq = A*square(w*t+rho);

plot(t,sq);

El resultado se puede observar en la siguiente gráfica:

En la segunda línea, pi es una función interna de matlab que calcula el número más cercano a la constante PI en formato de coma flotante. El último comando es usado para ver la señal generada. El comando plot dibuja líneas conectando los valores sucesivos de la señal y así da la apariencia de una señal en tiempo continuo.

Consideremos ahora la generación de una onda triangular de amplitud A, frecuencia fundamental w y ancho Wdt. El periodo de la onda triangular será T con el máximo valor de la señal ocurriendo en t = WT. El comando básico para generar esta señal es:

A * sawtooth(w*t + Wdt)

El listado completo de comandos sería:

A = 1; w = 10 * pi; Wdt = 0.5;

t = 0:0.001:1; tri = A*sawtooth(w*t + Wdt); plot(t,tri);

El resultado se puede visualizar en la gráfica del lado derecho.

Como se mencionó anteriormente, una señal generada en MATLAB es inherentemente de naturaleza discreta. Para visualizar una señal en tiempo discreto se puede hacer uso del comando stem. Específicamente stem(n, x), bosqueja los datos contenidos en el vector x como una señal 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 número de elementos. El siguiente ejemplo genera una señal cuadrada en tiempo discreto de amplitud igual a la unidad, ciclo útil igual a 50% y una frecuencia angular igual a:

El resultado se puede ver en la siguiente gráfica:

A = 1; omega = pi/4; rho = 0.5; n = -10:10; x = A*square(omega*n + rho); stem(n,x);

SEÑALES EXPONENCIALES

Las señales exponenciales se pueden clasificar según su comportamiento en decrecientes y crecientes. El comando en MATLAB para generar una señal exponencial decreciente es:

B*exp(-a*t);

Para generar una señal exponencial creciente se usa el comando:

B*exp(a*t);

En ambos casos el parámetro a es positivo. El siguiente ejemplo muestra la generación de una señal exponencial decreciente:

B = 5; a = 6; t = 0:0.001:1; x = B*exp(-a*t); % señal exponencial decreciente. plot(t, x);

Siendo el resultado como sigue:

Para la generación de una señal exponencial creciente se puede usar el siguiente ejemplo:

B = 1; a = 5; t = 0:0.001:1; x = B * exp( a * t ); plot( t, x ) ;

Existen casos particulares en los que la base de la operación de exponenciación no es el número irracional e, puede ser cualquier otro número. Para estos casos se usa una notación diferente la cual está basada en la utilización del símbolo ^. Observando el ejemplo que sigue se nota que r es un número mientras que n es un vector, por lo tanto se usa una combinación

del símbolo exponenciación con el carácter “.” Lo cual significa que a cada valor del vector le será aplicada la función.

El siguiente ejemplo genera la señal:

B = 1; r = 0.85; n = -10:10; x = B*r.^n; stem(n, x);

SEÑALES SINUSOIDALES.

MATLAB también contiene funciones trigonométricas que pueden ser usadas para generar señales sinusoidales. Una señal coseno de amplitud A, frecuencia w0 (medida en radianes por segundo) y ángulo de fase phi (en radianes) se obtiene usando el comando:

A*cos(w0*t + phi);

Alternativamente se puede usar la función seno para generar una señal sinusoidal usando el siguiente comando:
A*sin (w0*t + phi);

En seguida se muestran ejemplos para cada uno de las señales respectivamente:

A = 4; w0= 20 * pi; phi = pi/6; t = 0:0.001:1; coseno = A*cos(w0*t + phi); plot(t, coseno) ;

A = 0.5; w0 = 20*pi; phi = pi/2; t = 0:0.001:1; seno = A*sin(w0*t + phi); plot(t,seno);

SEÑALES SINUSOIDALES CON AMORTIGUACIÓN EXPONENCIAL.

En todos los comandos de generación de señales descritos anteriormente, se ha generado la amplitud deseada de las señales, realizando una multiplicación por un escalar A. Esta operación se describe usando el símbolo asterisco “*”. Supongamos que se desea multiplicar una señal sinusoidal por una señal exponencial para producir como resultado una señal con amortiguación exponencial. La siguiente ecuación describe mejor el supuesto caso:

Debido a que tanto la componente sinusoidal de la señal como la exponencial son vectores, el procedimiento para la generación de la señal final requiere de una multiplicación de dos vectores elemento por elemento. En MATLAB este tipo de multiplicación se representa usando el símbolo punto (.) seguido por el símbolo asterisco (*). Así el comando para generar la ecuación anterior sería;

A*sin(w0*t + phi).*exp(-a*t);

Y un ejemplo completo sería:

A = 60; w0 = 20*pi; phi = 0; a = 6; expsen = A*sin(w0*t + phi).*exp(-a*t); plot(t, expsen);

Dando como resultado la siguiente gráfica:

La versión discreta de la misma señal se puede obtener haciendo uso de los comandos mostrados anteriormente de la siguiente manera:

A = 10; a = -0.1; w0 = 2 * pi / 12; phi = 0; n = -10 : 10; x = A * sin( w0 * n + phi); y = exp(a*n); z = x .* y; stem(n, z)

SEÑALES IMPULSO, PASO Y RAMPA.

En MATLAB, el comando ones(M, N) genera una matriz de unos de tamaño M x N, y el comando zeros(M, N) es una matriz de ceros del mismo tamaño. Se puede hacer uso de estas dos matrices para generar dos señales comúnmente usadas.

• Señal Paso: Una señal paso de amplitud uno, puede ser generada con el siguiente comando.
U = [zeros(1, 10), ones(1, 11)];

Para la versión continua creamos un vector que represente el tiempo el cual tenga muestras de un intervalo separados por valores muy pequeños mientras que para la representación de esta señal en tiempo discreto creamos un vector que represente el tiempo el cual debe tener valores separados por una unidad.

Los comandos y los resultados para ambos tipos de señal se muestran a continuación:

u=[zeros(1,10), ones(1,11); t = -1 : 0.1 : 1; plot(t, u)

U = [zeros(1,10), ones(1,11)]; n = -10 : 10; stem(n, u)

De los comandos anteriores es de notar 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 razón el vector u se forma como una composición de diez ceros y 11 unos, debido a que los arreglos t y n, tienen dimensión 21 dado que incluyen un elemento central el cual es el número cero. Para probar este hecho, se puede hacer uso de otra función de MATLAB llamada size() que devuelve como resultado un vector con las dimensiones de la matriz que se le pasa como parámetro así:

>> size(n)

>> size(u)

>> size(t)

ans =

ans =

ans =

1

21

1

21

1

21

Señal Impulso: La versión discreta de la señal impulso se puede también generar con ayuda de las funciones zeros() y ones(), realizando una composición como sigue:

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

Una versión continua podría evidentemente generarse usando la misma técnica que se usó en el apartado anterior, sin embargo es necesario aumentar el número de muestras a fin de maximizar la pendiente de la señal, en seguida se verán dos ejemplos con diferentes número de muestras en el mismo intervalo de tiempo, como se puede ver la correspondencia entre las dimensiones de los vectores se mantienen así que al aumentar el tamaño de muestras del vector que representa el tiempo es necesario aumentar el valor de ceros y de unos con el cual se esta creando la señal.

En el ejemplo se puede ver que a mayor numero de muestras, la pendiente de la señal se hace mayor y la aproximación a la señal verdadera es más cercana.

delta = [zeros(1,10), 1, zeros(1,10)]; t = -1 : 0.1 : 1; plot(t, delta)

delta=[zeros(1, 1000), 1, zeros(1, 1000)]; t = -1 : 0.001 : 1; plot(t, delta)

Señal Rampa: Para generar la señal rampa, tan solo es necesario recordar que esta función puede ser creada, como la composición 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 versión discreta y continua se muestran a continuación:

rampa1 = n1; n1 = 0 : 30; rampa1 = n1; rampa = [zeros(1,29),rampa1]; stem(n, rampa)

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

HOMEWORK

1. Desarrollar un conjunto de comandos MATLAB para aproximar las siguientes señales periódicas en tiempo continuo, dibujando 5 ciclos de cada una: a. 60%. b. Señal diente de sierra, amplitud 5 Volts y frecuencia fundamental 20Hz Onda Cuadrada, de amplitud 5 Volts, frecuencia fundamental 20 Hz y ciclo útil del

2.

La solución a una ecuación diferencial esta dada por la siguiente expresión:

Usando MATLAB, grafique la solución de la ecuación en el siguiente intervalo [0, 5] con una frecuencia de muestreo de 100 Hz.

3.

Repita el problema número dos para la siguiente expresión:

4.

Una señal sinusoidal con amortiguación exponencial está definida por la siguiente expresión:

Donde el parámetro a es variable y toma valores sobre el siguiente conjunto: 500, 750, 1000. Usando MATLAB, investigar el efecto de variar dicho parámetro en la señal en el intervalo [-2, 2].

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->