You are on page 1of 8

UNIVERSIDAD AUTÓNOMA DE SAN LUIS POTOSÍ

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

Laboratorio de

INGENIERIA DE CONTROL II

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

Objetivo
Implementar operaciones entre secuencias utilizando Octave.6

Introducción
En sistemas de control en tiempo discreto (así como en los de tiempo continuo) se tienen diversas señales que afectan
directa o indirectamente al sistema. Para manejar estas señales es necesario aplicarles operaciones tales como suma,
resta y multiplicación, con el fin de obtener una señal resultante que satisfaga las necesidades particulares de la parte del
sistema a la cual se aplicará dicha señal.

Para lograr esto, se hace uso del software Octave y de los scripts generados en prácticas anteriores, además de nuevos
scripts, correspondientes a las operaciones antes mencionadas.

Desarrollo
Procesamiento digital de señales
Al conjunto de operaciones aplicadas a las señales, o entre señales, se le conoce como procesamiento digital de señales.
Este procesamiento es realizado por una computadora digital (microcontrolador, FPGA, PAL, GAL, PC, PLC, etc) a una señal
analógica de entrada, que primeramente debe ser digitalizada.

Operaciones básicas de secuencias digitales

Suma de secuencias digitales

{𝑥1 (𝑛)} + {𝑥2 (𝑛)} = {𝑥1 (𝑛) + 𝑥2 (𝑛)}

function [y,n]=sumasenales(x1,n1,x2,n2)
%implememta y[n]=x1[n]+x2[n]
%---------------------------
%y=suma de las secuencias sobre n,que incluye a n1 y n2
%x1=primer secuencia con vecores de ordenadas n2
%(n2 puede ser diferente de n1)
%---------------------------
n=min(min(n1),min(n2)):max(max(n1),max(n2)); %longitud de y(n)
y1=zeros(1,length(n));y2=y1; %inicializacion
y1(find((n>=min(n1))&(n<=max(n1))==1))=x1; %x1 con longitud de y
y2(find((n>=min(n2))&(n<=max(n2))==1))=x2; %x2 con longitud de y
y=y1+y2;
end

Fig. 3.0 Script para sumar dos secuencias

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

Producto de secuencias (producto punto de vectores)

{𝑥1 (𝑛)} ∙ {𝑥2 (𝑛)} = {𝑥1 (𝑛) ∙ 𝑥2 (𝑛)}

function [y,n]=multsenales(x1,n1,x2,n2)
%implememta y[n]=x1[n]*x2[n]
%---------------------------
%y=productos de las secuencias sobre n,que incluye a n1 y n2
%x1=primer secuencia con vecores de ordenadas n2 (n2 puede ser
diferente de n1)
%
n=min(min(n1),min(n2)):max(max(n1),max(n2)); %longitud de y(n)
y1=zeros(1,length(n));y2=y1; %inicializacion
y1(find((n>=min(n1))&(n<=max(n1))==1))=x1; %x1 con longitud de y
y2(find((n>=min(n2))&(n<=max(n2))==1))=x2; %x2 con longitud de y
y=y1.*y2;
end
Fig. 3.1 Script para multiplicar secuencias

Producto escalar

𝑎{𝑥(𝑛)} = {[𝑎𝑥1 (𝑛) 𝑎𝑥2 (𝑛) 𝑎𝑥3 (𝑛) … ]}

Se logra directamente usando el operador “*” sobre el vector de las abscisas, independientemente del vector de
ordenadas.

Desplazamiento en el tiempo

𝑦(𝑛) = {𝑥(𝑛 − 𝑘)}

function[y,n]=despsec(x,m,n0)
%implementa y[n]=x(n-n0)
%-----------------------
[y,n]=despsec(x,m,n0)
n=m+n0;y=x;
end

Fig. 3.2 Script para desplazar secuencias


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

Reflexión de secuencias

𝑦(𝑛) = {𝑥(−𝑛)}

function[y,n]=reflexsec(x,n)
%implementa y(n)=x(-n)
%-----------------------
n0=0;
[y,n]=despsec (x,n,n0)
y=fliplr(x); n=-fliplr(n);
end
Fig. 3.3 Script para reflexión de secuencias

Actividades

a) Genere y grafique cada una de las siguientes secuencias sobre el intervalo indicado
i. 𝒙𝟏 (𝒏) = 𝟐𝜹(𝒏 + 𝟐) − 𝜹(𝒏 − 𝟒) −𝟓 ≤ 𝒏 ≤ 𝟓
ii. 𝒙𝟐 (𝒏) = 𝒖(𝒏) − 𝒖(𝒏 − 𝟏𝟎) + 𝟏𝟎𝒆−𝟎.𝟑(𝒏−𝟏𝟎) ∙ [𝒖(𝒏 − 𝟏𝟎) − 𝒖(𝒏 − 𝟐𝟎)] 𝟎 ≤ 𝒏 ≤ 𝟐𝟎
iii. 𝒙𝟑 (𝒏) = [𝟏, 𝟐, 𝟑, 𝟒, 𝟓, 𝟔, 𝟕, 𝟔, 𝟓, 𝟒, 𝟑, 𝟐, 𝟏] −𝟐 ≤ 𝒏 ≤ 𝟏𝟎
𝝅
iv. 𝒙𝟒 (𝒏) = 𝑫𝒊𝒈𝒊𝒕𝒂𝒍𝒊𝒛𝒂𝒄𝒊𝒐𝒏 𝒅𝒆 𝟒𝒔𝒆𝒏(𝟓𝒕 − ) 𝟎 ≤ 𝒕 ≤ 𝟑 𝑻𝒔 = 𝟎. 𝟐
𝟐
v. 𝒙𝟓 (𝒏) = (𝒙𝟏 (𝒏) + 𝒙𝟐 (𝒏)) ∙ 𝒙𝟒 (𝒏)
vi. 𝒙𝟔 (𝒏) = 𝒙𝟒 (𝒏) + 𝟐𝒙𝟑 (𝒏) − 𝟑𝒙𝟐 (𝒏)

i. 𝒙𝟏 (𝒏) = 𝟐𝜹(𝒏 + 𝟐) − 𝜹(𝒏 − 𝟒)

Fig. 3.4 Procesamiento de señales: 𝒙𝟏 (𝒏) = 𝟐𝜹(𝒏 + 𝟐) − 𝜹(𝒏 − 𝟒)


3
Práctica 3: Operaciones Con Señales Digitales
Laboratorio De Ingeniería De Control II

Fig. 3.5 Comandos para la Fig. 3.4

ii. 𝒙𝟐 (𝒏) = 𝒖(𝒏) − 𝒖(𝒏 − 𝟏𝟎) + 𝟏𝟎𝒆−𝟎.𝟑(𝒏−𝟏𝟎) ∙ [𝒖(𝒏 − 𝟏𝟎) − 𝒖(𝒏 − 𝟐𝟎)]

Fig. 3.6 Procesamiento de señales 𝒙𝟐 (𝒏) = 𝒖(𝒏) − 𝒖(𝒏 − 𝟏𝟎) + 𝟏𝟎𝒆−𝟎.𝟑(𝒏−𝟏𝟎) ∙ [𝒖(𝒏 − 𝟏𝟎) − 𝒖(𝒏 − 𝟐𝟎)]
4
Práctica 3: Operaciones Con Señales Digitales
Laboratorio De Ingeniería De Control II

Fig. 3.7 Comandos para la Fig. 3.6

5
Práctica 3: Operaciones Con Señales Digitales
Laboratorio De Ingeniería De Control II

iii. 𝒙𝟑 (𝒏) = [𝟏, 𝟐, 𝟑, 𝟒, 𝟓, 𝟔, 𝟕, 𝟔, 𝟓, 𝟒, 𝟑, 𝟐, 𝟏]

Fig. 3.8 Procesamiento de señal 𝒙𝟑 (𝒏) = [𝟏, 𝟐, 𝟑, 𝟒, 𝟓, 𝟔, 𝟕, 𝟔, 𝟓, 𝟒, 𝟑, 𝟐, 𝟏]

Fig. 3.9 Comandos para la Fig. 3.9

6
Práctica 3: Operaciones Con Señales Digitales
Laboratorio De Ingeniería De Control II
𝝅
iv. 𝒙𝟒 (𝒏) = 𝑫𝒊𝒈𝒊𝒕𝒂𝒍𝒊𝒛𝒂𝒄𝒊𝒐𝒏 𝒅𝒆 𝟒𝒔𝒆𝒏(𝟓𝒕 − 𝟐 )

𝝅
Fig. 3.10 Digitalización de 𝒙𝟒 (𝒏) = 𝟒𝒔𝒆𝒏(𝟓𝒕 − 𝟐 )

Conclusión
Al trabajar con controladores digitales, del tipo que sean, es posible manipular conjuntos de señales con el fin de generar
una nueva señal que cumpla con las características deseadas para su posterior implementación en alguna parte del
sistema de control. Como se observó, en la práctica se trabajó con pares de señales a las cuales se les aplicó la suma,
multiplicación y reflexión, obteniendo como resultado una señal procesada en tiempo discreto.

Los scripts generados funcionan para dos señales, pero eso no es limitante para procesar mas de dos señales, ya que es
posible guardar en una variable la señal procesada proveniente de un par de señales. Haciendo esto, es posible procesar
cualquier cantidad de señales.

De igual manera que en practicas pasadas, se trabajó con las señales de entrada más comunes: impulso unitario, escalón
unitario y onda senoidal, todas en tiempo discreto.

You might also like