Beruflich Dokumente
Kultur Dokumente
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:
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:
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:
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:
1
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II
Ejemplo 1
Representar el vector 𝒙(𝒏) = [𝟐, 𝟏, −𝟏, 𝟎, 𝟏, 𝟒, 𝟑, 𝟕].
Ejemplo 2
Graficar la señal generada 𝒙(𝒏) en el ejemplo 1.
2
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II
Secuencias digitales
a) Secuencia impulso unitario
la secuencia impulso unitario está definida como:
1 𝑛=0
𝛿(𝑛) = { 𝑝𝑎𝑟𝑎 𝑛 = 0, ±1, ±2 …
0 𝑛≠0
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.4 Llamada de la función impulso unitario desde la ventana de comandos de Octave
4
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II
1 𝑛≥0
𝑢(𝑛) = { 𝑝𝑎𝑟𝑎 𝑛 = 0, ±1, ±2 …
0 𝑛<0
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.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
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.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
𝑎 = 𝑟𝑒 + 𝑖𝑚 𝑗 = 𝑟𝑒 𝑗𝜃
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:
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.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
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:
i. 𝒂 = 𝟏𝒆𝒋𝝅
11
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II
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. 𝑨 = 𝟏𝟎, 𝝎 = 𝟏, 𝑻𝒔 = 𝟏𝒔, 𝝓 = 𝟎
ii. 𝑨 = 𝟑, 𝝎 = 𝟏, 𝑻𝒔 = 𝟎. 𝟓𝒔, 𝝓 = 𝝅
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 𝑨 = 𝟓, 𝝎 = 𝟏, 𝑻𝒔 = 𝟎. 𝟏𝒔, 𝝓 =
𝟐
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 𝑨 = 𝟏, 𝝎 = 𝟐𝝅, 𝑻𝒔 = 𝟎. 𝟓𝒔, 𝝓 = 𝟐
22
Práctica 2: Señales Digitales
Laboratorio De Ingeniería De Control II
v. 𝑨 = 𝟏, 𝝎 = 𝟐𝝅, 𝑻𝒔 = 𝟎. 𝟓𝒔, 𝝓 = 𝟎
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