Sie sind auf Seite 1von 25

UNIVERSIDAD AUTÓNOMA DE SAN LUIS POTOSÍ

FACULTAD DE INGENIERÍA
ÁREA MECÁNICA ELÉCTRICA

Laboratorio de

INGENIERIA DE CONTROL II

Práctica #2.
“Señales digitales”
Nombre: Antonio Sanjuanero Herrera
Carrera: Ingeniería en Electricidad y Automatización
Instructor: Cristian Ortiz
Fecha de entrega: viernes 23 de febrero de 2018
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II

Objetivo
Entender el concepto de señal, mediante el uso de Octave entender el concepto de digitalización de una señal y conocer
las señales digitales más comunes.

Introducción
Generalmente, las señales de entrada de un sistema de control están en tiempo continuo. Es decir, para cada instante de
tiempo se tiene un valor de la señal bien definido. En sistemas de tiempo discreto esto no es apropiado para el controlador,
ya que éste acepta solo una señal en tiempo discreto, por lo tanto, se debe discretizar la señal de entrada. Para ello, es
necesario procesar la señal a través de:

• 𝐴𝐷𝐶 Convierte la señal analógica en una señal digital


• 𝑆𝑖𝑠𝑡𝑒𝑚𝑎 𝑑𝑒 𝑚𝑢𝑒𝑠𝑡𝑟𝑒𝑜 𝑦 𝑟𝑒𝑡𝑒𝑛𝑐𝑖ó𝑛 Toma muestras y las mantiene en un valor cte.

Posterior a esto, la señal pasa al controlador digital el cual generará la señal de control en tiempo discreto. Dicha señal
habrá que volverla al tiempo continuo mediante un DAC (Digital/Analog Converter) para que, finalmente, sea recibida por
el actuador.

Para esta práctica, la digitalización de señales se realizará en Octave mediante archivos .m, en los cuales se programará
cada una de las secuencias que representan a las señales digitales básicas:

• Impulso unitario 𝛿(𝑛)


• Escalón unitario 𝑢(𝑛)
• Rampa unitaria 𝑢𝑟 (𝑛)
• Exponencial compleja 𝑥(𝑛) = 𝑎𝑛

Desarrollo
Scripts en Octave
Un script es un conjunto de comandos o funciones almacenados en in documento de texto plano, usualmente guardado
con la extensión .mp. Para llamar un script, se debe tener guardado el archivo .m en la misma carpeta de trabajo y,
desde la ventada de comandos de Octave:

• Escribir el nombre del script


• Ejecutando el script directamente desde su ventana haciendo clic en el icono de correr (también presionando
F5)

Funciones en Octave
Una función es también un archivo .m, solo que en este se tienen parámetros de entrada y salida. El nombre del script
debe coincidir con el nombre de la función. La función puede ser ejecutada:

• Escribiendo su nombre en la ventana de comandos de Octave, incluyendo los parámetros de entrada.


• Escribiéndose como parte de un script, incluyendo los parámetros de entrada.

Funciones digitales en Octave


Para representar una secuencia es necesario crear primero el vector de ordenadas 𝑛, y posteriormente, el vector de
abscisas 𝑥.

1
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II

Ejemplo 1
Representar el vector 𝒙(𝒏) = [𝟐, 𝟏, −𝟏, 𝟎, 𝟏, 𝟒, 𝟑, 𝟕].

Se define el vector Se cargan al inicio los paquetes


n, comenzando en de control y señales para poder
-3, con paso de 1 y trabajar con los comandos de
finalizando en 4. control y simulación lineal.

Para el vector “x”


se introducen los
elementos
separados con una
coma o un espacio.

Fig. 2.0 Introducción de los vectores de secuencia en Octave

Ejemplo 2
Graficar la señal generada 𝒙(𝒏) en el ejemplo 1.

Fig. 2.1 Gráfica de x(n)

2
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II

Se utiliza “stem(abs,ord)” ya que éste


comando realiza una gráfica en tiempo
discreto , a diferencia de “plot(abs,ord)” que
lo hace en tiempo contínuo.

Fig. 2.2 Comando para graficar x(n)

Secuencias digitales
a) Secuencia impulso unitario
la secuencia impulso unitario está definida como:

1 𝑛=0
𝛿(𝑛) = { 𝑝𝑎𝑟𝑎 𝑛 = 0, ±1, ±2 …
0 𝑛≠0

La secuencia impulso unitario desplazada se define como:

1 𝑛 = 𝑛0
𝛿(𝑛 − 𝑛0 ) = { 𝑝𝑎𝑟𝑎 𝑛 = 0, ±1, ±2 …
0 𝑛 ≠ 𝑛0

Ejemplo 3
Crear una función que genere la función impulso unitario (devuelva como resultado los vectores 𝒏 y 𝒙) a partir de los
parámetros de entrada desplazamiento. (𝒏𝟎 ), el valor inicial del vector 𝒏(𝒏𝒊 ) y valor final del vector 𝒏(𝒏𝒇 ).

function[x,n]=impseq(n0,ni,nf)
%------------------------------------------------
-----
%Genera x[n]=delta(n-n0);
-
%Con datos de entrada:
-
%n0=posicion de la muestra 0,
-
%n1,n2= cota minima y maxima de la longitud de n.
-
%Se consideran las siguientes restricciones
n0>ni>nf -
%------------------------------------------------
-----
if ((n0<ni)||(n0>nf)||(ni>nf))
error ('Los argumentos no satisfacen a ni <= n0
<=nf')
end
n=[ni:nf]; x=[(n-n0) ==0];
end

Fig. 2.3 Código para la secuencia impulso unitario 3


Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II

Fig. 2.4 Llamada de la función impulso unitario desde la ventana de comandos de Octave

Fig. 2.5 Gráfica de la función impulso unitario

4
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II

b) Secuencia escalón unitario


la secuencia escalón unitario está definida como:

1 𝑛≥0
𝑢(𝑛) = { 𝑝𝑎𝑟𝑎 𝑛 = 0, ±1, ±2 …
0 𝑛<0

La secuencia escalón unitario desplazada se define como:

1 𝑛 ≥ 𝑛0
𝑢(𝑛 − 𝑛0 ) = { 𝑝𝑎𝑟𝑎 𝑛 = 0, ±1, ±2 …
0 𝑛 < 𝑛0

Ejemplo 4
Crear una función que genere la función escalón unitario (devuelva como resultado los vectores 𝒏 y 𝒙) a partir de los
parámetros de entrada desplazamiento (𝒏𝟎 ), valor inicial del vector 𝒏(𝒏𝒊 ) y valor final del vector 𝒏(𝒏𝒇 ).

function[x,n]=escseq(n0,ni,nf)
%------------------------------------------------
-----
%Genera x[n]=delta(n-n0);
-
%Con datos de entrada:
-
%n0=posicion de la muestra 0,
-
%n1,n2= cota minima y maxima de la longitud de n.
-
%Se consideran las siguientes restricciones
n0>ni>nf -
%------------------------------------------------
-----
if ((n0<ni)||(n0>nf)||(ni>nf))
error('Los argumentos no satisfacen a ni <= n0
<=nf')
end
n=[ni:nf]; x=[(n-n0)>=0];
end

Fig. 2.6 Código para la secuencia escalón unitario

Fig. 2.7 Llamada de la función escalón unitario desde la ventana de comandos de Octave
5
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II

Fig. 2.8 Gráfica de la función escalón unitario

c) Secuencia rampa unitaria

La secuencia rampa unitaria está definida como:


𝑛 𝑛≥0
𝑢𝑟 (𝑛) = { 𝑝𝑎𝑟𝑎 𝑛 = 0, ±1, ±2 …
0 𝑛<0
La secuencia rampa unitaria desplazada se define como:
𝑛 − 𝑛0 𝑛 ≥ 𝑛0
𝑢𝑟 (𝑛 − 𝑛0 ) = { 𝑝𝑎𝑟𝑎 𝑛 = 0, ±1, ±2 …
0 𝑛 < 𝑛0

Ejemplo 5
Crear una función que genere la función escalón unitario (devuelva como resultado los vectores 𝒏 y 𝒙) a partir de los
parámetros de entrada desplazamiento (𝒏𝟎 ), valor inicial del vector 𝒏(𝒏𝒊 ) y valor final del vector 𝒏(𝒏𝒇 ).

6
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II

function[x,n]=escseq(n0,ni,nf)
%------------------------------------------------
-----
%Genera x[n]=delta(n-n0);
-
%Con datos de entrada:
-
%n0=posicion de la muestra 0,
-
%n1,n2= cota minima y maxima de la longitud de n.
-
%Se consideran las siguientes restricciones
n0>ni>nf -
%------------------------------------------------
-----
if ((n0<ni)||(n0>nf)||(ni>nf))
error('Los argumentos no satisfacen a ni <= n0
<=nf')
end
n=[ni:nf]; x=[(n-n0)>=0];
end

Fig. 2.9 Código para la secuencia rampa unitaria

Fig. 2.10 Llamada de la función rampa unitaria desde la ventana de comandos de Octave

7
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II

Fig. 2.11 Gráfica de la función rampa unitaria

d) Secuencia exponencial compleja


la secuencia exponencial de una variable 𝑎 se define como:

𝑥(𝑛) = 𝑎𝑛 𝑝𝑎𝑟𝑎 𝑛 = 0, ±1, ±2 …

Si el parámetro 𝑎 es un número complejo se define como:

𝑎 = 𝑟𝑒 + 𝑖𝑚 𝑗 = 𝑟𝑒 𝑗𝜃

Donde 𝑟𝑒 es la parte real, 𝑖𝑚 es la parte imaginaria, 𝑗 es el elemento imaginario (√−1), 𝑟 es el módulo de la


señal (√𝑟𝑒 2 + 𝑖𝑚2 ) y 𝜃 es la fase de la señal.

De manera que se puede escribir de forma alternativa.

𝑥(𝑛) = 𝑟 𝑛 (cos(𝜃𝑛) + 𝑗𝑠𝑒𝑛(𝜃𝑛))

8
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II

Ejemplo 6
Crear una función llamada expcomseq.m que calcule la exponencial compleja, la cual debe devolver como salida 3
vectores:

• El de las ordenadas (𝒏)


• El de las abscisas de valores reales (𝒙𝒓𝒆)
• El de las abscisas de valores imaginarios (𝒙𝒊𝒎)

A partir de los valores de entrada:

• Valor de inicio (𝒏𝒊 )


• Valor de fin
• Valor de módulo
• Valor del ángulo

function[xre,xim,n]=expcomseq(r,theta,ni,nf)
if(ni>nf)
error('Cotas incoherentes ni>nf')
end
n=[ni:nf];
xre=(r.^n).*cos(theta*n);
xim=(r.*n).*sin(theta*n);
end

Fig. 2.12 Código para la secuencia exponencial compleja

Fig. 2.13 Llamada de la función exponencial compleja desde la ventana de comandos de Octave

9
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II

Fig. 2.14 Gráfica de la función exponencial compleja imaginaria

Fig. 2.15 Gráfica de la función exponencial compleja real

10
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II

Actividades
a) Desarrolle un script de Octave para graficar la señal exponencial compleja, en la que se muestre la parte real
de 𝒙(𝒏) en una gráfica y la parte imaginaria de 𝒙(𝒏) en otra. El script debe contener:

• Llamados a la función expcomseq.m


• Líneas de código para crear gráficas para los siguientes valores de a:
i. 𝒂 = 𝟏𝒆𝒋𝝅
𝝅
ii. 𝒂 = 𝟎. 𝟓𝒆𝒋𝟑
𝟐𝝅
iii. 𝒂 = −𝟎. 𝟓𝒆𝒋 𝟔
𝟓𝝅
iv. 𝒂 = 𝟏. 𝟖𝒆𝒋 𝟑
En un intervalo de −𝟏𝟎 < 𝒏 < 𝟏𝟎 para todos los casos.

Comente los resultados.

i. 𝒂 = 𝟏𝒆𝒋𝝅

Fig. 2.15.1 Gráfica de la función exponencial compleja 𝒂 = 𝟏𝒆𝒋𝝅 parte real

11
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II

Fig. 2.15.2 Gráfica de la función exponencial compleja 𝒂 = 𝟏𝒆𝒋𝝅 parte imaginaria

Fig. 2.15.3 Comando para graficar la función 𝒂 = 𝟏𝒆𝒋𝝅

12
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II
𝝅
ii. 𝒂 = 𝟎. 𝟓𝒆𝒋𝟑

𝝅
Fig. 2.16.1 Gráfica de la función exponencial compleja 𝒂 = 𝟎. 𝟓𝒆𝒋𝟑 parte real

13
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II

𝝅
Fig. 2.16.2 Gráfica de la función exponencial compleja 𝒂 = 𝟎. 𝟓𝒆𝒋𝟑 parte imaginaria

𝝅
Fig. 2.16.3 Comando para graficar la función 𝒂 = 𝟎. 𝟓𝒆𝒋𝟑

14
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II

𝟐𝝅
iii. 𝒂 = −𝟎. 𝟓𝒆𝒋 𝟔

𝟐𝝅
Fig. 2.17.1 Gráfica de la función exponencial compleja 𝒂 = −𝟎. 𝟓𝒆𝒋 𝟔 parte real

15
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II

𝟐𝝅
Fig. 2.17.2 Gráfica de la función exponencial compleja 𝒂 = −𝟎. 𝟓𝒆𝒋 𝟔 parte imaginaria

𝟐𝝅
Fig. 2.17.3 Comando para graficar la función 𝒂 = −𝟎. 𝟓𝒆𝒋 𝟔

16
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II

𝟓𝝅
iv. 𝒂 = 𝟏. 𝟖𝒆𝒋 𝟑

𝟓𝝅
Fig. 2.18.1 Gráfica de la función exponencial compleja 𝒂 = 𝟏. 𝟖𝒆𝒋 𝟑 parte real

17
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II

𝟓𝝅
Fig. 2.18.2 Gráfica de la función exponencial compleja 𝒂 = 𝟏. 𝟖𝒆𝒋 𝟑 parte imaginaria

𝟓𝝅
Fig. 2.18.3 Comando para graficar la función 𝒂 = 𝟏. 𝟖𝒆𝒋 𝟑

18
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II

b) Genere un script en donde se grafique el proceso de digitalización de una función sinusoidal continua, de la
forma 𝒚(𝒕) = 𝑨𝒔𝒆𝒏(𝝎𝒕 + 𝝓) empleando las operaciones de la figura. Grafique dos ciclos completos para
cada uno de los siguientes casos:
i. 𝑨 = 𝟏𝟎, 𝝎 = 𝟏, 𝑻𝒔 = 𝟏𝒔, 𝝓 = 𝟎
ii. 𝑨 = 𝟑, 𝝎 = 𝟏, 𝑻𝒔 = 𝟎. 𝟓𝒔, 𝝓 = 𝝅
𝝅
iii. 𝑨 = 𝟓, 𝝎 = 𝟏, 𝑻𝒔 = 𝟎. 𝟏𝒔, 𝝓 = 𝟐
𝝅
iv. 𝑨 = 𝟏, 𝝎 = 𝟐𝝅, 𝑻𝒔 = 𝟎. 𝟓𝒔, 𝝓 =
𝟐
v. 𝑨 = 𝟏, 𝝎 = 𝟐𝝅, 𝑻𝒔 = 𝟎. 𝟓𝒔, 𝝓 = 𝟎

i. 𝑨 = 𝟏𝟎, 𝝎 = 𝟏, 𝑻𝒔 = 𝟏𝒔, 𝝓 = 𝟎

Fig. 2.19.1 Proceso de digitalización de la función para 𝑨 = 𝟏𝟎, 𝝎 = 𝟏, 𝑻𝒔 = 𝟏𝒔, 𝝓 = 𝟎

Fig. 2.19.2 Comando para graficar la función 19


Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II

ii. 𝑨 = 𝟑, 𝝎 = 𝟏, 𝑻𝒔 = 𝟎. 𝟓𝒔, 𝝓 = 𝝅

Fig. 2.20.1 Proceso de digitalización de la función para 𝑨 = 𝟑, 𝝎 = 𝟏, 𝑻𝒔 = 𝟎. 𝟓𝒔, 𝝓 = 𝝅

Fig. 2.20.2 Comando para graficar la función

20
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II

𝝅
iii. 𝑨 = 𝟓, 𝝎 = 𝟏, 𝑻𝒔 = 𝟎. 𝟏𝒔, 𝝓 =
𝟐

𝝅
Fig. 2.21.1 Proceso de digitalización de la función para 𝑨 = 𝟓, 𝝎 = 𝟏, 𝑻𝒔 = 𝟎. 𝟏𝒔, 𝝓 =
𝟐

Fig. 2.21.2 Comando para graficar la función

21
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II
𝝅
iv. 𝑨 = 𝟏, 𝝎 = 𝟐𝝅, 𝑻𝒔 = 𝟎. 𝟓𝒔, 𝝓 = 𝟐

𝝅
Fig. 2.22.1 Proceso de digitalización de la función para 𝑨 = 𝟏, 𝝎 = 𝟐𝝅, 𝑻𝒔 = 𝟎. 𝟓𝒔, 𝝓 = 𝟐

Fig. 2.22.2 Comando para graficar la función

22
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II

v. 𝑨 = 𝟏, 𝝎 = 𝟐𝝅, 𝑻𝒔 = 𝟎. 𝟓𝒔, 𝝓 = 𝟎

Fig. 2.23.1 Proceso de digitalización de la función para 𝑨 = 𝟏, 𝝎 = 𝟐𝝅, 𝑻𝒔 = 𝟎. 𝟓𝒔, 𝝓 = 𝟎

Fig. 2.23.2 Comando para graficar la función

23
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II

Conclusión
En ingeniería de control discreto es necesario trabajar con señales digitales; el inconveniente con esto es que todas las
señales físicas, o la gran mayoría de ellas, se encuentran en tiempo continuo (analógicas) y no pueden ser procesadas de
esta forma por los controladores digitales. Para lograr un correcto procesamiento de la señal de entrada, cualquiera que
sea (voltaje, corriente, presión, temperatura, etc.) es necesario muestrear dicha señal. Es por esto que en la práctica se
vio la manera en que se realiza el proceso de digitalización de las entradas más usualmente utilizadas.

Como se vio al inicio de la práctica, en un script se pueden programar las secuencias de cada una de las entradas. Esto es
útil al momento de digitalizar las señales, debido a que basta con llamar el script que contenga la secuencia requerida y
de esta forma se podrá graficar la señal digitalizada, en lugar de tener que escribir las líneas de código tantas veces como
se requiera de la secuencia.

Por último, un parámetro muy importante que considerar es el periodo de muestro, dado que, si se tiene un periodo de
muestreo muy pequeño con respecto del periodo de la señal, de igual manera se podrá reconstruir la señal de entrada,
pero en comparación con ésta, la señal de salida tendrá una forma muy distante.

24

Das könnte Ihnen auch gefallen