Está en la página 1de 7

INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

PROCESAMIENTO DIGITAL DE SEÑALES

REPORTE DE PRÁCTICAS

TITULO: DIFERENCIACION NUMÉRICA

ALUMNO: HECTOR ORDAZ VELÁZQUEZ

PROFESOR: DR. FERMÍN MARTÍNEZ SOLÍS

FECHA: 06/03/17

1
Contenido

INTRODUCCION .................................................................................................... 2
METODOLOGÍA...................................................................................................... 3
SOLUCIÓN DE ERRORES: ................................................................................. 4
RESULTADOS ........................................................................................................ 5
CONCLUSIÓNES.................................................................................................... 7

INTRODUCCION

En esta práctica se pidió realizar la diferenciación de la función seno utilizando el


software “LabVIEW”.
Para realizar operaciones matemáticas complejas por medio de software, las
matemáticas ofrecen una solución llamada métodos numéricos. Que consisten en
el cálculo aproximado de ciertas operaciones haciendo uso de algoritmos que
realizan cálculos puramente aritméticos y lógicos.
En éste caso, para encontrar la derivada de una función, se utilizó una fórmula
obtenida mediante la aproximación de Taylor. Ésta es llamada fórmula de
diferencias de dos puntos:
f  k   f  k  1
f '( x)  lim
h o h
Y cuando h es muy pequeño, la derivada de la función es aproximadamente la
siguiente:
f  k   f  k  1
f '( x) 
h
Ésta última fórmula es la que se utilizará para el cálculo de la derivada de la función.
Y para la segunda derivada se utilizará la siguiente:
f  k   2 f  k  1  f (k  2)
f ''( x) 
h2
No se explica el funcionamiento del software LabVIEW porque se da por hecho que
se conoce su uso.

2
METODOLOGÍA

Para realizar la práctica, se utilizó un “Timed loop” para obtener iteraciones


temporizadas, dentro de éste realizó todo el sistema, se temporizó para que las
iteraciones se hicieran cada 1ms.
Se creó un arreglo para almacenar el vector “tiempo”, utilizando el elemento “Insert
Into Array”, al que se le colocó un indicador (Tiempo) que muestra los datos del
arreglo en el panel frontal, para obtener el valor del tiempo, en la entrada “index” se
le conectó el número de iteración “i” se multiplica el número de iteración por la
constante “0.001”, éste valor también se tomó como la variable (in) de la que
depende la función “seno” , que se obtiene mediante el uso de un “Formula Node”,
el cual es un bloque que evalúa funciones matemáticas expresadas mediante
sentencias similares al lenguaje C, el bloque mencionado, en su salida (Out),
entrega una función seno, con amplitud unitaria, su programación es la siguiente:
out=sin(50*pi*in);
Estos datos, se almacenaron en un vector llamado (Función Seno (k1)) al cual se le
conectó en la entrada “index” el número de iteración, y también se creó un indicador
para éste vector.
Se crearon dos vectores más para almacenar los datos de (k-1) y (k-1) y sus
indicadores. Las entradas “index” de estos arreglos se conectaron también al
número de iteración. Para lograr que se almacenaran en el vector “k-1” los mismos
datos del vector “función seno” pero recorridos una casilla se utilizó el elemento
“Index Array” en el que el índice se le conectó el número de iteraciones, pero
haciéndolo pasar por la función “decremento” lo que hace que se guarde en el vector
“k-1” el valor anterior del vector “Función seno”.
Lo mismo se hizo para guardar los datos en el vector “k-2”, solo que a la entrada
“index” de éste, se hizo pasar dos veces el número de iteraciones por la función
“decremento”, lo que hace que se guarde en el vector “k-2” el valor de dos
iteraciones atrás del vector “Función seno”. Ésta red se muestra a continuación:

Función
Seno
No. de
iteración

Figura 1 Red para desplazar los datos para los vectores k-1 y k-2

3
Para hacer el cálculo de la primera y segunda derivada, se utilizó un “Formula
Node”, que contiene las fórmulas mencionadas en la introducción. Que tiene las
siguientes entradas:
in1: Vector “Función seno”.
in2: Vector “k-1”.
in3: Vector “k-2”.
h: Valor del tiempo de muestreo entre iteraciones.
Y las salidas out1 y out2 para la primera y segunda derivada, respectivamente.
Para llevar los valores de los vectores al bloque “Formula Node”, se utilizó un “Index
Node” para cada vector. La entrada “Index” de estos, se conectaron a el número de
iteraciones.
El “Formula Node” utilizado para la evaluación de las fórmulas contiene lo siguiente:
out1=(in1-in2)/h;
out2=(in1-(2*in2)+in3)/(h*h);
Los datos obtenidos de out1 y out2 se almacenaron en dos vectores (dx/dt y d2x/dt).
Después se graficaron, la función seno, la primera derivada, y la segunda en el
mismo bloque “XY Graph” en el panel frontal.

SOLUCIÓN DE ERRORES:

Al utilizar el valor del tiempo de muestreo de 0.001 para la variable h, el valor


máximo de las derivadas era muy alto, por lo que se decidió dividir el resultado por
el valor máximo de la ésta.
Con la función seno una frecuencia de 25Hz, el valor máximo de la primera derivada
es: 0.156434, entonces la fórmula quedo de la siguiente manera:

f  k   f  k  1
f '( x)  h  0.156434
(h)(0.156434)

Se hizo el mismo procedimiento para la segunda derivada, solo que en este caso el
valor máximo es: 24623.3 y la fórmula resultó así:

f  k   2 f  k  1  f (k  2)
f ''( x)  h  0.156434
(h2 )(24623.3)

4
RESULTADOS

A continuación se muestra el diagrama de bloques del programa en “LabVIEW”:

Figura 2 Diagrama de bloques

Los resultados se graficaron en un solo bloque, que se muestra abajo: En la imagen


se muestra a que función corresponde cada curva

Figura 3 Gráficas resultantes

5
En la gráfica anterior puede notarse que la primera derivada (color rojo) es la función
cos(50*pi*in), y la segunda derivada (color verde) es una función -sin(50*pi*in),
como se esperaba.
Se muestra que los primeros valores de las derivadas, no siguen el patrón
sinusoidal, pero esto es normal al ser derivación numérica, pues al inicio “k-1” no
tiene ningún valor.

Los 6 vectores se muestran en el panel frontal, arriba de cada uno está su


identificador:

Figura 4 Vectores de los resultados

6
CONCLUSIÓNES

En ésta práctica aplicamos lo aprendido en la asignatura “Métodos Numéricos”, al


realizar la diferenciación numérica, utilizando el software LabVIEW.
Esto nos da una opción para el procesamiento de señales, al aplicarse por ejemplo,
para cuando tengamos la variable posición en algún proyecto, y queramos saber su
velocidad o aceleración, derivaríamos la posición, y con esto obtendríamos estos
valores.
Surgieron algunos problemas como cuando las gráficas se sobrescribían al correr
el programa, se solucionó con un “invoke node”, el programa se fue desarrollando
en las clases, y el profesor respondía nuestras dudas.
El software me parece intuitivo y fácil de utilizar, a parte al manejarse con bloques
es más fácil
Para hacer el trabajo, utilizamos varios recursos y elementos del software, así como
también desarrollamos habilidades para solucionar problemas con el uso de estos,
y seguramente estos conocimientos y habilidades nos servirán en un futuro para la
realización de nuevos proyectos.

REFERENCIAS

https://sites.google.com/site/ittgmetodosnumericos/unidad-5-derivacion-e-
integracion-numerica

También podría gustarte