Vous êtes sur la page 1sur 14

Herramientas de Software y Hardware para Trabajar

con Señales y Sistemas


Christian David Aguilar Junca Julian Andres Iguavita Cruz
Facultad de Ingeniería Facultad de Ingeniería
Programa de Ingeniería Electrónica extensión Tunja Programa de Ingeniería Electrónica extensión Tunja
Universidad Pedagógica y Tecnológica de Colombia Universidad Pedagógica y Tecnológica de Colombia
Tunja, Boyacá - Colombia Tunja, Boyacá - Colombia
Christian.aguilar@uptc.edu.co Julian.iguavita@uptc.edu.co

Abstract— The signals allow us to analyze the behavior of a


phenomenon or a system, so in this report aims to study, analyze
and work on signals and systems through its design and
implementation with the use of software tools specialized in
engineering such as matlab, labview, orcad, proteus, among
others; In the same way, the implementation of circuits that
allow the generation of signals under pre-established design
conditions is carried out. finally the conclusions of the practice
and of the knowledge acquired throughout it are obtained.

I. DESARROLLO DE LA PRACTICA

PRIMERA PARTE

1. Declaración de matrices Figura 2. Comando sum.

3. Traspuesta de una matriz

Figura 1. Declaración de una matriz

2. La suma de las columnas de una matriz, es definido


expresando la matriz que se va a operar y el comando que
efectúa la operación es sum (Nombre matriz)

Figura 3. Traspuesta de una matriz.


4. Diagonal de una matriz 7. Producto cruz entre vectores

Figura 4. Diagonal de una matriz.

5. Matriz de números aleatorios

Figura 7. Producto cruz de dos vectores.

8. Producto punto entre vectores

Figura 5. Matriz de números aleatorios.

6. Representación de un vector

Figura 8. Producto punto de dos vectores.

9. Ordenar un vector de manera ascendente

Figura 6. Representación de un vector.

Figura 9. Ordenar un vector.


10. Generar vectores desde A hasta B con el número C de
elementos linspace (A, B, C) El comando que ejecuta la respuesta al escalón para esta
sección es stepplot(H).

Figura 10. Generación de vectores con linspace.

SEGUNDA PARTE Figura 12. Respuesta al escalón del sistema.


Parte A
El sistema representa un modelo amortiguado masa-resorte y
su respuesta al escalón muestra que este se estabiliza luego de
presentar oscilaciones hasta los 20 segundos que es el tiempo
de asentamiento del sistema, y alcanza su punto pico en 7.5
Al realizar la transformada de Laplace a la ecuación
segundos con un tiempo de retardo de 2.5 segundos.
diferencial se obtiene que:

Parte B
Para representar la función de transferencia en MATLAB se
Figura 13. Diagrama de bloques en LABVIEW para
definen dos vectores que representan e numerador y el
función de transferencia.
denominador de la función de transferencia, seguido del
comando tf(numerador, denominador), que tomará dichos
vectores como las partes de una función de transferencia;
teniendo en cuenta los valores de M = 1.5Kg, k = 0.3Nw/M y
B = 0.6Nws/M.

Figura 14. Instrumento virtual LABVIEW.

Parte C

Modelando el sistema discreto con ayuda de bloques


integradores y de función de transferencia en Simulink se usan
Figura 11. Función de transferencia en MATLAB. tres valores diferentes de masa (M) y se deja constante el
coeficiente de rozamiento viscoso (B) y la constante de
elasticidad del resorte (K).

Figura 18. Respuesta de Simulink coeficiente de


rozamiento viscoso variable.

Modelando el sistema discreto con ayuda de bloques


integradores y de función de transferencia en Simulink se usan
tres valores diferentes constante de elasticidad del resorte (K)
y se deja constante la masa (M) y coeficiente de rozamiento
Figura 15. Esquemático de Simulink Masa Variable.
viscoso (B).

Figura 16. Respuesta de Simulink Masa Variable.

Modelando el sistema discreto con ayuda de bloques


integradores y de función de transferencia en Simulink se usan
tres valores diferentes del coeficiente de rozamiento viscoso
(B) y se deja constante la masa (M) y la constante de
elasticidad del resorte (K).
Figura 19. Esquemático de Simulink constante de
elasticidad de resorte variable.

Figura 20. Respuesta de Simulink constante de elasticidad


Figura 17. Esquemático de Simulink coeficiente de de resorte variable.
rozamiento viscoso variable.
A continuación, con ayuda de bloques integradores y función
de transferencia se implementa en LabVIEW con sus
respectivas variables, Masa (M), coeficiente de rozamiento
viscoso (B) y constante de elasticidad de resorte (K) de
manera que si se desea realizar una modificación se puede
realizar directamente sobre el programa diseñado.

Figura 21. Diagrama de bloques LabVIEW.

Figura 21. Respuesta sistema modelado en LabVIEW.

Parte D
Figura 22. Implementación comandos ZP2TF, TF2ZP,
Cuando tenemos la masa variable en el sistema y las otras dos
TF2SS, SS2TF.
variables de viscosidad y contante de resorte son contantes se
nota que la amplitud de la respuesta del sistema es mayor a
ZP2TF: Teniendo los polos y ceros se puede hallar la función
mayor masa y se logra una estabilidad más rápida del sistema
de transferencia.
con una masa mas baja. Por otro lado, cuando el coeficiente de
viscosidad es mas bajo la amplitud del sistema es mayor, pero
TF2ZP: Teniendo la función de transferencia se pueden
a mayor viscosidad se logra una mayor estabilidad del sistema
encontrar los polos y ceros.
de manera más rápida. Finalmente, con la constante de
elasticidad más baja la amplitud del sistema es mayor pero en
TF2SS: Teniendo la función de transferencia se pueden
este caso se logra una estabilidad del sistema muy similar en
encontrar los espacios de estado.
las tres variaciones de esta variable.
TERCERA PARTE SS2TF: teniendo los espacios de estados se puede encontrar la
función de transferencia.
Implementación de comandos en Matlab para el cálculo polos
y ceros de un sistema.
diseñador obtener la función de transferencia de lazo cerrado
directamente de la función de transferencia de lazo abierto.

Figura 23. Polos y ceros del sistema.


Figura 26. Implementación comandos bode y nyquist.

Figura 24. Diagrama de bloques LABVIEW para el


espacio de estados.

Figura 27. Diagrama Raíces.

Figura 25. Instrumento virtual.

CUARTA PARTE
Figura 28. Diagrama de Bode LABVIEW.
En Matlab se pueden implementar varios comandos que
facilitan visualizar diagramas de manera mas sencilla en este
caso se muestra como se define la función de transferencia en
MatlLAB y seguido de esto su implementación para el
diagrama de BODE y el diagrama de NYQUIST. El diagrama
de Nichols muestra 20 log_10⁡ 〖 (|G(s)|) 〗 . Versus
arg(G(s)). Lugares geométricos de constante 20 log_10⁡〖
(|M(s)|) 〗 y arg(M(s)) son superpuestos para permitir al
Figura 29. Diagrama de Bode.

Figura 33. Funciones en el dominio del tiempo de dos


dimensiones en forma simultánea.

SEXTA PARTE
De igual manera se implementan las funciones del punto
anterior, pero en este caso en la interfaz de LabVIEW.

Figura 30. Diagrama Nyquist LABVIEW.

Figura 34. Diagrama de bloques LABVIEW.

Figura 31. Diagrama Nyquist.

QUINTA PARTE
Se realiza la implementación de las señales expuestas en la
guía, donde se realizan variaciones de amplitud, frecuencia y
fase descritas en la interfaz de MatLAB a continuación.

Figura 35. Funciones de dos dimensiones en el dominio del


tiempo en LABVIEW.
SEPTIMA PARTE
Se desea simplificar el sistema de bloques mostrado en la guía
para esto se debe implementar primero que todo cada uno de
los bloques que conforman al sistema , seguido de esto usando
funciones de MatLAB como lo son : series (realiza la unión
serial de dos bloques o funciones), parallel (realiza la unión
paralela de dos bloques o funciones), feedback( realiza la
retroalimentación de un bloque hasta un punto determinado
Figura 32. Comandos plot, subplot, title, xlabel, ylabel del sistema, uniendo todos estos comando se puede obtener la
para el gráfico de funciones. función de transferencia del sistema simplificado.
Figura 38. Diagrama de bloques sistema dinámico a
simplificar y su respectiva función de transferencia
simplificada.

Figura 39. Respuesta a diagrama de bloques sistema


dinámico a simplificar y su respectiva función de
transferencia simplificada.

La línea azul representa el diagrama de bloques del sistema


discreto por otro lado la línea naranja representa la
Figura 36. Código para simplificación del sistema simplificación del sistema discreto dada en la función de la
dinámico. figura 37, se puede observar que ambas tienen el mismo
comportamiento puesto que una es sencillamente la
La respuesta a la simplificación del sistema dinámico simplificación de la otra.
realizada en MatLAB nos da como resultado.
OCTAVA PARTE
Se realiza un código con el cual se determina el tamaño de las
matrices, dependiendo el tamaño de las matrices se piden los
números que darán relleno a cada una de las matrices, ya
almacenados datos en las matrices se realizan operaciones
como lo son el producto entre matrices y la inversa de la
matriz resultan de dicho producto

Figura 37. Simplificación del sistema dinámico.

Para comprobar la simplificación del sistema se hace uso de


Simulink con ayuda de los bloques integradores y de función
de transferencia tenemos que
<50 que genera pulsos con un ciclo de trabajo menos al 50%,
y su modo astable >50 que genera pulsos cuadrados con
pulsos mayores al 50% de ciclo de trabajo útil. La figura 42
muestra las resistencias necesarias para lograr una frecuencia
de 2KHz con un ciclo útil del 50% .

Figura 42. 555 timer free con frecuencia 2Khz y ciclo útil
de 50%.
A la salida del 555 tendremos un pulso con la frecuencia
Figura 40. Script en MATLAB para producto entre deseada hasta este punto se tiene la señal cuadrada, para poder
matrices. sacar la señal triangular y la señal sinusoidal se debe integrar
NOVENA PARTE esta señal una vez para la señal triangular y dos veces para la
señal sinusoidal.
Se realiza la implementación de un circuito que sea capaz de
generar la una señal sinusoidal, una señal cuadrada, y una
señal triangular con una frecuencia de 2Khz, para ello se hace
uso del circuito integrado 555 en su modo astable con un ciclo
útil de trabajo de 50%, la configuración usada para esta
aplicación esta especificada en el datasheet.

Figura 43. Simulación generador de señales Proteus.

Figura 41. Modo astable recuperado de:


www.ti.com/lit/ds/symlink/lm555.pdf

Para calcular el valor de las resistencias y condensadores


necesarios para que el circuito genere la señal cuadrada en su
salida se hace uso de la aplicación para ordenador 555 timer
free la cual brinda la posibilidad de generar las resistencias
necesarias para dar con la frecuencia pedida , también tiene
otras opciones como lo son generar el circuito pertinente para Figura 44. Salidas osciloscopio Proteus.
el modo monoestable que genera un pulso, el modo astable
Se realiza el montaje para la implementación del generador de
señales cuadradas triangulares y sinusoidales dando como
DECIMA PARTE
resultado lo siguiente.

Con la ecuación de frecuencia angular en términos de


inductancia y capacitancia se pueden obtener los valores de
estos mismos al tener un valor de frecuencia y asumir un valor
ya sea para el capacitor o para el inductor.

En este caso se asume un valor capacitivo de 100nF, y


teniendo una frecuencia de 2KHz, es posible calcular el valor
del inductor.

Figura 45. Salidas osciloscopio Señal cuadrara.


L= 63.32mH

El valor de la Resistencia para un factor de calidad igual a 10


se puede calcular de la siguiente manera:

Al despejar R se obtiene un valor de 159.14Ω.

Figura 46. Salidas osciloscopio Señal triangular.

Figura 48. Circuito tanque en serie.

Figura 47. Salidas osciloscopio Señal sinusoidal.


otro lado en el capcitor (rojo) aumenta el valor de corrinete
que pasa por este a medida que aumenta la frecuencia. La
correinte eléctrica en el capacitor y en el inductor es la misma
cuando se alcanza la frecuencia de resonancia.
DECIMO PRIMERA PARTE
La señal para desarrollar esta plasmada en la figura 53, la cual
se implementó por medio de la FPGA pese a que de manera
análoga se presentaron problemas tales como lo son la
asincronía de las señales que se debían sumar al momento de
recrear la señal, el código usado para generar las posibles
Figura 49. Barrido en frecuencia circuito tanque serie. combinaciones se muestra el código VHDL a continuacion

Se puede observar que el voltaje máximo alcanzado por los


elementos pasivos del circuito se da en la frecuencia de
resonancia requerida por el diseño, que es de 2kHz, siendo el
voltaje alcanzado por la resistencia igual al suministrado por
la fuente (5V), mientras que el capacitor y el inductor alanzan
5 veces la caída de tensión de la fuente (25V).

Figura 53. Señal propuesta.

-------------------------CODIGO VHDL----------------------------

library ieee;
Figura 50. Circuito tanque paralelo. use ieee.std_logic_1164.all;

entity SENAL_SS is
port(clk_50MHz,reset: in std_logic;
salida: out std_logic_vector (3 downto 0)
);
end SENAL_SS;

architecture BH of SENAL_SS is

type estados is (S0,S1,S2,S3,S4,S5,S6,S7);


Figura 51. Barrido en frecuencia circuito tanque paralelo.
signal estado_actual,estado_siguiente: estados;
signal clk: std_logic;
De igual manera que en el circuito tanque en serie, la máxima
diferencia de potencial se observa en la frecuencia de
begin
resonancia que es de 2KHz.
--divisor de frecuancia

divisor_1kHz: process(clk_50MHz)
variable contador: integer range 0 to 1800;
begin
Figura 52. Respuesta del circuito tanque con respecto a la
corriente eléctrica. if(rising_edge(clk_50MHz)) then
contador:= contador+1;
Como se puede observar, la resistencia (verde) alcanza su if(contador=1800) then
máximo valor de corriente en la frecuencia de resonancia, clk<= not(clk);
mientras que la bobina (azul) comienza en su valor máximo y
a mediad que aumenta la frecuencia su valor tiende a cero; por end if;
end if; when S3=>
end process divisor_1kHz; salida<="0111";
when S4=>
--registro de estados salida<="1111";
when S5=>
process(clk) salida<="0111";
begin when S6=>
salida<="0011";
if reset='0' then when S7=>
estado_actual<=S0; salida<="0001";
elsif rising_edge (clk) then
estado_actual<=estado_siguiente; end case;
end if; end process;

end process;
end BH;
--logica del estado siguiente
----------------------------FIN CODIGO VHDL-------------------
process (estado_actual)
begin El código esta fundamentado en dos cosas la primera un
contador y la segunda una maquina de estado finito, el
case estado_actual is contador garantiza la frecuencia deseada que es este caso es de
1KHZ, por otro lado este contador esta anclado directamente
when S0=> con la maquina de estado finito que a la salida puede
estado_siguiente<=S1; entregarnos 8 posibles salidas, estas salidas deben ir a un
when S1=> amplificador operacional en modo sumador el cual se encarga
estado_siguiente<=S2; de sumar las señales de salida de la FPGA así se reflejara la
when S2=> señal deseada que se muestra a continuación.
estado_siguiente<=S3;
when S3=>
estado_siguiente<=S4;
when S4=>
estado_siguiente<=S5;
when S5=>
estado_siguiente<=S6;
when S6=>
estado_siguiente<=S7;
when S7=>
estado_siguiente<=S0;

end case;

end process;

--logica de salida
Figura 54. Señal propuesta implementada.
process (estado_actual)
begin ANALISIS DE DATOS
case estado_actual is PREGUNTAS:

when S0=> 1. ¿Qué es el entorno guide matlab y para que se


salida<="0000"; utiliza?
when S1=>
salida<="0001"; Las GUI (también conocidas como interfaces gráficas de
when S2=> usuario o interfaces de usuario) permiten un control sencillo
salida<="0011"; (con uso de ratón) de las aplicaciones de software, lo cual
elimina la necesidad de aprender un lenguaje y escribir
comandos a fin de ejecutar una aplicación.
Las apps de MATLAB son programas autónomos de
MATLAB con un frontal gráfico de usuario GUI que
automatizan una tarea o un cálculo. Por lo general, la GUI
incluye controles tales como menús, barras de herramientas,
botones y controles deslizantes. Muchos productos de
MATLAB, como Curve Fitting Toolbox, Signal Processing Figura 57. Solucion EDO con Dsolve.
Toolbox y Control System Toolbox, incluyen apps con
interfaces de usuario personalizadas. También es posible crear • Circuitos integrados electrónicos para generar ondas
apps personalizadas propias, incluidas las interfaces de usuario cuadradas, triangulares, integradores, diferenciadores
correspondientes, para que otras personas las utilicen.[1] y modulaciones pwm.

2. ¿Que es la herramienta syms de matlab, cuando se ICL8038 Generador de ondas


puede utilizar y cuál es el formato de los comandos
heaviside y dirac? explique con un ejemplo?
Características:
Crea funciones y variables simbólicas pese a que es más
sencillo realizar cálculos con estas, que realizar cálculos El circuito integrado ICL8038 es un generador de onda capaz
con valores numéricos. de producir una señal senoidal, cuadrada, triangular, así como
La función Heaviside representa al escalón unitario. La pulsos de anchura variable. Todo esto es posible con un
función Dirac representa al impulso unitario. mínimo de componentes externos. Este integrado es un
oscilador controlado por voltaje (VCO), Produce las señales
de baja distorsión y alta linealidad que varían desde 0.01Hz
hasta 300Khz

XR2206 Generador de funciones

Figura 55. Funcion Heaviside MatLAB


Características:

Aplicaciones como generación de ondas, generación AM/FM,


FSK, Phase-Locked Loops (VCO), Puede generar onda
senoidal, cuadrada, triangular, rampa y pulsos de alta
estabilidad, La frecuencia de operación puede ser seleccionada
de manera externa y de un rango de 0.01Hz hasta 1Mhz, Muy
Figura 56. Funcion Dirac MatLAB utilizado en circuitos de comunicación, instrumentación y
aplicaciones de generador. [2]
3. ¿Que es el toolkit system identification de labview y
para que se utiliza? CONCLUSIONES
Herraientas enfocadas en la adquiscion de datos para su Matlab es una herramienta que proporciona facilidad para el
posteriror modelado y manipulacion de señales en la vida modelado de señales y sistemas , describir variables con
real, con posibilidades de simulacion, dichos modelos valores constantes , variables e forma de vectores y matrices
pueden ser representados en estado de planta , funcion de con las cuales se pueden desarrollar operaciones matemáticas,
tranferencia y polos y ceros. Matlab tiene variedad de maneras para describir estas
variables matrices y vectores esto con el fin de hacerlo mas
INVESTIGACION: intuitivo, cuenta con programas complementarios como lo es
el simulink el cual por medio de diagramas de bloques deja
• ¿Como resolver ecuaciones diferenciales con el modelar los sistemas en este caso se hace uno de los bloques
comando dsolve del toolbox syms? integradores y los bloques de función de transferencia con el
fin de observar la señal de salida del mismo realizando
Para poder resolver ecuaciones diferenciales en variaciones en las variables y mirando su diferentes
MATLAB se usa el comando Dsolve. La ecuación comportamientos, de esta manera se puede decir que se puede
diferencial de primer orden y’+9y=15 con estado inicial analizar gráficamente el comportamiento de un sistemas.
y(0)=1. Matlab cuenta con comandos los cuales permiten graficar los
polos y ceros de un sistema, al igual que sus espacios de El circuito integrado 555 es fundamental a la hora de generar
estados y la función de transferencia, de igual manera señales, con ciclos de trabajo y frecuencias especificas todo
visualizar funciones y realizar operaciones entre ellas es muy gracias a su flexibilidad de conexiones. La salida del 555 es
factible en Matlab, pudiendo visualizarlas de acuerdo con la netamente cuadrada, pero con ayuda de integrados y por
información suministrada con su herramienta de plot, donde se medio de la carga y descarga de condensadores se logran las
pueden suministrar cualidades como nombre en los ejes títulos señales triangular y sinusoidal a la frecuencia deseada.
y cuadricula o grilla, entre otros. Otra de las aplicaciones que
se pueden dar al Matlab es la simplificación de sistemas para Con ayuda de la FPGA se pudo realizar la señal propuesta esto
observar la función de transferencia de manera mas abreviada con la ayuda de la teoría de maquinas de estado finitos y
y sin tantos bloques. LabVIEW tiene cualidades con Matlab a contadores mas la ayuda de un amplificador operacional que
diferencia de que la manera de representar un sistema en este cumplió la función de sumar las señales de salida de la GP0 de
es netamente por medio de bloques y cero códigos. la FPGA, el motivo de realizar la señal con un circuito digital
es la asincronía de las señales necesarias para la construcción
El circuito tanque RLC tiene una gran diversidad de de la misma de manera análoga.
aplicaciones en la electrónica, como el tratamiento y
procesamiento de señales analógicas en osciladores, aparatos REFERENCIAS
de radio o televisión y en las comunicaciones en general. Su [1]. Tomado de: https://es.mathworks.com/discovery/matlab-gui.html
diseño e implementación es relativamente poco complejo, [2] tomado de: https://www.abcelectronica.net/productos/circuitos-
permitiendo obtener de una manera sencilla la frecuencia de integrados/generadores/
resonancia deseada y los demás aspectos y cálculos del
circuito en general. Se pudo observar el funcionamiento de un
circuito tanque y las relaciones de reactancia inductiva y
capacita en la frecuencia de resonancia del circuito.

Vous aimerez peut-être aussi