Está en la página 1de 26

PROGRAMACIÓN DE FUNCIONES

Estudiantes:
Jhon Erwin L. J. Contreras Márquez
Lizkey J. Melo Vital
Moisés Iván Guerra Ruiz
Nicolás Alfredo Guerra Ruiz

Docente:
Jhon Jairo Anaya

Control II
OBJETIVOS
General
Discretizar y programar funciones de transferencia de tiempo discreto,
mediante el uso de la transformada Z

Específico
► Crear un script en varios entornos de desarrollo que genere una señal
sinusoidal.
► Discretizar funciones de transferencia de tiempo discreto, mediante el uso
de transformada Z
► Desarrollar scripts en lenguajes de programación de control de funciones de
transferencia de tiempo discreto
► Comparar los resultados Analiticamente con el scrip desarrollado
INTRODUCCIÓN

Cuando vemos los sistemas continuos y discretos desde la perspectiva


analitica es necesario manejar equivalencias entre ellas, es decir, las
tablas de transformadas de tiempo continuo y discreto junto con las
propiedades que las gobiernan, ya que eso ayudará de manera metódica
al análisis por medio de herramientas computacionales de los sistemas
antes mencionados, añadiendo mucha practicidad en el manejo de
variables y las respuestas computacionales de una manera gráfica.
El desarrollo del presente laboratorio está basado en el análisis y la
construcción de un sistema en tiempo discreto que se comporte
aproximadamente igual a un sistema en tiempo continuo dado.
DESARROLLO
1. 1. Cree un script (Matlab, Scilab y Octave) que genere una señal
sinusoidal de una determinada frecuencia, siendo ésta la señal original o
de entrada, grafique dicha señal;
2. Para realizar las respectivas simulaciones tomamos:
3. A=5V T=1/(f);
w=2*pi*f
4. f=1 Hz phase=angle*pi/180;
5. Fase=90° t=0:T/1000:2*T;
x=A*sin(w*t+phase);
6. fs1=20 Hz plot(t,x)
7. fs2=40 Hz
8. nBit1=8
9. nBit2=3

Figura 1.1. Señal de entrada. Fuente: Autores, Matlab.


Ahora la señal de entrada debe ser muestreada a dos frecuencias de muestreo
diferentes, los cuales deberán ser ingresadas por teclado; represéntalas como
una señal muestreada en un subplot.
Ts1=1/fs1; % Periodo de muestreo
n1=0:Ts1:2*T; % número de muestras
xs1=A*sin(w*n1+phase);
figure(1)
subplot(2,3,2)
hold on
plot(t,x,'--')

Figura 1.2. Señal muestreada.


Fuente: Autores, Matlab.
cuantifique las señales a un número de bits de resolución especificado por el
usuario; a estas se les llamarán señales cuantificadas (señales de salida).

for i=1:2*nx1+1
for a=1:levels
if (yin1(i))<(vQ(2))
yo1(i)=0;
end
if yin1(i) >= (finalvQ)
yo1(i)=2*A;
end

if(yin1(i)>=(vQ(a)-Qm))&&(yin1(i)<(vQ(a)+Qm))
yo1(i)=vQ(a);
end
end

end
offset=linspace(A,A,2*nx1+1);
yo1;
yo1=minus(yo1,offset);
Figura 1.3. Señal cuantificada. Fuente: Autores, Matlab.
El programa debe pedir la frecuencia de la señal original sinusoidal, además de
su amplitud y fase, dos frecuencias de muestreo diferentes y los bits de
cuantificación de la señal digital de cada una de las señales muestreadas (el
algoritmo generado debe validar todos los datos suministrados). Todas las
gráficas de las señales deben mostrar su título o legenda, además el número de
muestras en un ciclo deA=input('Ingrese
oscilación y los bits de cuantificación
Amplitud por ciclo.
de Senal Inicial(Voltios): ');
f=input('Ingrese Frecuencia de la Señal: ');
angle=input('Ingrese Angulo de Fase(Grados): ');
%Datos de Muestreo y cuantizacion
fs1=input('frecuencia de Muestreo #1: ');
fs2=input('frecuencia de Muestreo #2: ');
nbit1=input('Bits de Cuantificación #1: ');
nbit2=input('Bits de Cuantificación #2: ');
El resultado deben ser cuatro gráficas en un solo subplot y además la
señal de entrada. Adicional debe representar todas las gráficas con solo
dos periodos de oscilación de cada señal.

Figura 1.3. Señal original, muestreada y cuantificada. Fuente: Autores, Matlab.


Figura 1.3. Señal original, muestreada y cuantificada. Fuente: Autores, Octave
2. Teniendo en cuenta las siguientes funciones de transferencia,
obtenga los 15 primeros valores de las funciones de transferencia G(z)
analíticamente , compárelas con los 15 primeros valores de dichas
funciones obtenidas con Scilab y Octave. Grafíquelas en un subplot
para cada lenguaje.
Tomando la función de transferencia G1(s) con un T=0.4seg.

De acuerdo a la tabla de la transformada Z la número 17..

Donde se asocia el valor de a=0.5 y w=0.5


Ahora aplicando un artificio matemático para que la función
satisafaga completamente su equivalencia en la tabla de la
transformada.

Aquí vemos que es posible que una sola función pueda ser
representada en tiempo continuo por dos expresiones equivalentes en
la tabla de transformadas Z.
Ahora que ya tenemos una representación que satisface una
transformada discreta en la tabla de transformada, la sustituimos y
luego evaluamos para los primeros 15 valores con un T=0.4

Donde la función de transferencia en términos de Z es igual


Ahora para comparar los resultados lo haremos primero con el software
de desarrollo Octave.
Ahora para comparar los resultados con tablas.

Figura 2.1. Comparación método computacional Vs método analitico en


Octave. Fuente: Autores.
Ahora para comparar los resultados lo haremos primero con el software
de desarrollo Scilab.
Ahora para comparar los resultados con tablas.

Figura 2.2. Comparación método computacional Vs método analitico en


Scilab. Fuente: Autores.
Tomando la función de transferencia G2(s) con un T=0.1seg.

De acuerdo a la tabla de la transformada Z la número 17.

Donde se asocia el valor de a=5 y w=8.66.


Ahora aplicando un artificio matemático para que la función se
satisafaga completamente con su equivalencia en la tabla de la
transformada.

Aquí vemos que es posible que una sola función pueda ser
representada en tiempo continuo por dos expresiones equivalentes en
la tabla de transformadas Z.
Ahora que ya tenemos una representación que satisface una
transformada discreta en la tabla de transformada, la sustituimos y
luego evaluamos para los primeros 15 valores con un T=0.1

Donde la función de transferencia en términos de Z es igual


Ahora para comparar los resultados lo haremos primero con el software
de desarrollo Octave.
Ahora para comparar los resultados con gráficas.

Figura 2.3. Comparación método computacional Vs método analitico en


Octave. Fuente: Autores.
Ahora para comparar los resultados lo haremos primero con el software
de desarrollo Scilab.
Ahora para comparar los resultados con gráficas.

Figura 2.4. Comparación método computacional Vs método analitico en


Scilab. Fuente: Autores.
OBSERVACIONES
● A la hora de diseñar un circuito cuantizador se deben tener en cuenta los
criterios para establecer los rangos en los cuales se va a trabajar,
específicamente los niveles de cuantización y los límites en los cuales se
cambia de un nivel a otro.

● Cuando se trabaja en varios entornos de programación existe un rango


de discrepancia en la sintaxis de las librerías que maneja cada software,
por tal motivo es necesario verificar los códigos para poder asociar las
las funciones que sean compatibles dentro de los softwares señalados
anteriormente en la guía.
CONCLUSIONES
● Dentro del desarrollo de esta guía de laboratorio se hizo nuevamente uso
del teorema de Nyquist, representando la cuantificación y el muestreo de
una manera gráfica con resoluciones tales que el usuario desee.

● La transformada z, en el estudio de sistemas en tiempo discreto, es un


método muy poderoso ya que nos permite obtener, por medio de una
función de transferencia de la variable z, la respuesta transitoria de un
sistema muestreado.

● Gracias a las herramientas computacionales se pudo corroborar que las


funciones de transferencia en tiempo discreto analiticamente, tenían
muchísima similitud con los datos obtenidos a través de tales
herramientas, por lo tanto, se podría decir que se logró llegar a la
solución tanto analiticamente como por medio de los diferentes softwares
utilizados.

También podría gustarte