ing. guillermo murcia gjmurcia@fi.mdp.edu.ar ing. jorge ... · •funciones de algebra lineal,...

Post on 06-Aug-2020

12 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

• 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

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”

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.

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

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

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…

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í:

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í:

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”

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)

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).

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

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

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

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

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

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:

19

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

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

Nodo MathScriptEjemplo:

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.

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.

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.

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).

Guía de

Ejercicios

N° 10

24

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

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

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

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

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

top related