ing. guillermo murcia [email protected] ing. jorge ... · •funciones de algebra lineal,...

30
Ing. Guillermo Murcia [email protected] Ing. Jorge Luis Strack [email protected]

Upload: others

Post on 06-Aug-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 2: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

• Ejercicio Integrador:

Implementación de un Algoritmo recursivo para calcular RMS mediante MathScript

Contenido de esta clase

2

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Todas estas estructuras sirven para incorporar código en formato de texto a

nuestra aplicación en LabVIEW.

• Expression Node

• Formula Node

• MathScript

• MATLAB Script

Page 3: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

Expression Node

3

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Se utiliza para operaciones “simples”

Page 4: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

Formula Node

4

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Un Formula Node es un cuadro que puede

ser redimensionado, donde se alojan

fórmulas matemáticas y lógicas para su

evaluación.

Page 5: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

Formula Node

5

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Los terminales de entrada y salida son variables numéricas que se

generan adicionándolas desde el menú de la estructura.

También pueden trabajar con Arrays

Page 6: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

Formula Node: Sintaxis

6

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Asignación =

Condición ? :

Relacional == != > < >= <=

Aritméticas: + - * / **

La estructura Formula Node acepta :

If

Case

While

For

Page 7: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

7

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

12 xxy

Formula Node: Sintaxis

Ejemplos…

Page 8: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

8

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Formula Node: Sintaxis

Ejemplos: una estructura IF de la forma…:If (x>0) then

……

Else

……

End ifSe puede programar así:

Page 9: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

9

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Formula Node: Sintaxis

Ejemplos: una estructura IF de la forma…: If (x>0) then

……

Else

……

End if

Condición .T.OperadorCondicional

Condición .F.

? : …………

Expresión.

……

También se puede programar así:

Page 10: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

10

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

¿Cuando las fórmulas son máscomplicadas?

•Llamar a MathScript

(se necesita instalar el complemento “MathScriptRT”)

• Llamar a MATLAB Script

(se necesita instalar “Matlab”

Page 11: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

MathScript

11

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

•MathScript es un lenguaje de programación de alto nivel que incluye más de800 funciones.

•Funciones de algebra lineal, filtros digitales, funciones para resolverecuaciones diferenciales, probabilidad, estadísticas, etc.

•Se pueden crear funciones del usuario.

•Los scripts son interpretados secuencialmente por líneas.

•Los scripts son archivos de texto que pueden ser editados por cualquier editorde textos. Deben ser grabados con extensión “.m”

•Permite visualizar datos en plots.

•Permite correr un gran número de comandos y funciones de un archivo

•Los comandos de MathScript son similares a los de Matlab (algunos comandospuede que no estén implementados)

Page 12: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

MathScript

12

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

MathScript puede ser usado de dos maneras;

-En una ventana MathScript como una herramienta matemática totalmenteindependiente de LabVIEW.

-En un “Nodo MathScript”, en el cual aparece como un cuadro dentro deldiagrama de bloques de un VI (disponible enFunctions/Mathematics/Scripts&Formulas palette).

Page 13: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

13

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

MathScript como una ventana independiente

Page 14: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

14

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

MathScript como una ventana independiente

Page 15: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

15

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

En caso de duda escribir primero “help” seguido de la función o comando. Los

comandos conocidos por lo general incluyen un ejemplo.

>>help plot

MathScript como una ventana independiente

Page 16: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

16

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

MathScript como una ventana independiente

códigoEjecuta el código

Ejemplo: Plotear

una onda seno

Resultado

Page 17: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

17

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Aparece como un cuadro dentro del diagrama de bloques de un VI

Se puede usar la herramienta MathScript desde el

diagrama de bloque mediante el Nodo MathScript

Page 18: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

18

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

t=[0:.1:100];y1=sin(0.2*t);y2=sin(0.6*t);y=y1+y2;plot(t,y1,'r',t,y2,'b',t,y,'g')

Nodo MathScriptEjemplo:

Page 19: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

19

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Nodo MathScriptEjemplo:

Page 20: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

20

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Nodo MATLAB script

Permite ejecutar comandos de MATLAB corriendo este programa en segundo plano. Para ello, MATLAB debe estar previamente instalado en la PC.

Page 21: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

21

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Nodo MATLAB scriptSi bien el código se ejecuta en segundo plano, se abrirá una ventana de comando, que facilitará la depuración del mismo.

Page 22: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

22

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Nodo MATLAB script

En esta ventana se pueden ejecutar comandos antes de volcarlos a la ventana de MATLAB script en LabVIEW.

Para acceder a la ayuda ejecutar el comando help, o help + el nombre del comando.

Para información más detallada, escribir doc + el nombre del comando.

Page 23: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

23

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Nodo MATLAB script

Para intercambiar datos entre el script y eldiagrama de bloques, la ventana MATLAB script, aligual que Mathscript y Formula Node, permiteañadir entradas (INPUTS) y salidas (OUTPUTS).

Page 24: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

Guía de

Ejercicios

N° 10

24

Page 25: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,
Page 26: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

El algoritmo RMS recursivo permite calcular el valor eficaz de unaseñal a partir de una ventana de “N” muestras, actualizándose en cadanueva muestra con mínimo esfuerzo computacional:

M. H. J Bollen, I. Y. H. Gu, “Signal processing of power quality disturbances”,

Algoritmo RMS recursivo

26

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Page 27: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

n : número de muestra.

N: cantidad de muestras de la ventana de integración (ventana deslizante)

u[n]: muestra de la señal en el instante “n”

R[n]: término sumatorio en el instante “n”

URMS [n]: valor eficaz estimado

M. H. J Bollen, I. Y. H. Gu, “Signal processing of power qualitydisturbances”,

Algoritmo RMS recursivo

27

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Page 28: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

Código:

N=40;

rms0_max = 0;

for n = 1 : size(ch0,2)

if (n==1)

r0(n) = ch0(n)^2;

else if (n<=N)

r0(n) = ch0(n)^2 + r0(n-1);

else

r0(n) = ch0(n)^2 - ch0(n-N)^2 + r0(n-1);

end

end

rms0(n) = sqrt(r0(n)/N);

end

Algoritmo RMS recursivo

28

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Page 29: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

La frecuencia de una señal periódica se puede obtener

contando la cantidad de veces por segundo que la señal cruza en forma ascendente a un nivel

de “disparo”

m: número de muestra.

ntrg: nivel de disparo.

ch(n): muestra de la señal en el instante “n”

dt: intervalo de tiempo entre muestras

frec: frecuencia estimada

Algoritmo para determinar Frecuencia

29

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

primer_cruce=1;ultimo_cruce=1;primero = false;ciclos = 0;

for m = 2:size(ch,2)if (ch(m-1)<ntrg) && (ch(m)>ntrg)

if (primero0 == false)primer_cruce = m; primero= true;

elseultimo_cruce = m;ciclos = ciclos+ 1;

endend

endif (primero == true)

frec = ciclos/(dt*(ultimo_cruce - primer_cruce)); end

Page 30: Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ... · •Funciones de algebra lineal, filtros digitales, funciones para resolver ecuaciones diferenciales, probabilidad, estadísticas,

Se aplica a señales de tiempo discreto periódicas.

La DFT de una secuencia finita de longitud N es:

Valor eficaz de la

componente k-ésima del

espectro frecuencial

Tratamiento de señales en tiempo discreto. Alan V. Oppenheim

DFT: Transformada Discreta de Fourier

30

INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata