You are on page 1of 51

PROCESAMIENTO DIGITAL

DE SEALES
Manual de prcticas LabVIEW

Facultad de Ciencias
Benemrita Universidad Autnoma de San Luis Potos

Dr. Daniel Ulises Campos Delgado


ducd@fciencias.uaslp.mx
NDICE

I. Introduccin........................................................................................................................... 2
I. Caractersticas Generales de un Programa en LabView ............................................... 3
Estructura de un VI .................................................................................................................... 3
Programacin de un VI............................................................................................................ 6
Ejecucin de un VI .................................................................................................................... 7
1
II. Manual de Prcticas en LabVIEW ...................................................................................... 9
Prctica #1. Promedidador .................................................................................................... 9
Prctica #2. Nmeros Aleatorios .......................................................................................... 11
Prctica #3. Visualizacin de Seales ................................................................................. 13
Prctica #4. Uso de Case Structure ..................................................................................... 15
Prctica #5. Medicin de Temperatura ............................................................................. 18
Prctica #6. Efecto de Traslape ........................................................................................... 28
Prctica #7. Lazo ADC-DAC Traslape ................................................................................. 32
Prctica #8. Filtro de Hendidura FIR e IIR ............................................................................ 36
Prctica #9. Filtro Pasa Bajos FIR e IIR .................................................................................. 40
III. Anexos............................................................................................................................... 44
Tarjeta NI-USB 6009.................................................................................................................. 44
Sensor LM35 ............................................................................................................................. 48
Atajos de Teclado en LabVIEW ............................................................................................ 49
IV. Bibliografa ........................................................................................................................ 50
I. INTRODUCCIN

LabVIEW es una plataforma de programacin grafica en la que se pueden disear


aplicaciones que involucren la adquisicin, control, anlisis y presentacin de datos [1].
Es similar a los sistemas de desarrollo que utilizan lenguajes de programacin como C o
Java, sin embargo tienen una gran diferencia, en tanto que dichos lenguajes utilizan
lneas de texto para crear el cdigo fuente de un programa, LabVIEW emplea la
programacin grfica o lenguaje G para crear programas basados en diagramas de
bloques. Los programas desarrollados con LabVIEW se llaman Instrumentos Virtuales o Vis.

National Instruments creo LabVIEW para funcionar sobre sistemas operativos MAC, sin 2
embargo fue lanzado por primera vez en 1986 [1] y ahora se encuentra disponible para
las plataformas Windows,UNIX,Mac y Linux [2].

Para el empleo de LabVIEW no se requiere gran experiencia en programacin, ya que


se emplean conos, trminos e ideas familiares a cientficos e ingenieros, y se apoya
sobre smbolos grficos en lugar de lenguaje escrito para construir las aplicaciones. Por
ello resulta mucho ms intuitivo que el resto de lenguajes de programacin
convencionales [3].

Las ventajas que proporciona el empleo de LabVIEW se resumen en las siguientes:

El tiempo de desarrollo de las aplicaciones se reduce al menos de 4 a 10 veces.


Dota de gran flexibilidad al sistema, permitiendo cambios y actualizaciones tanto
del hardware como del software.
Da la posibilidad a los usuarios de crear soluciones completas y complejas.
Con un nico sistema de desarrollo se integran las funciones de adquisicin,
anlisis y presentacin de datos.
El sistema est dotado de un compilador grfico para lograr la mxima
velocidad de ejecucin posible.
Ofrece la posibilidad de incorporar aplicaciones escritas en otros lenguajes.
II. CARACTERSTICAS GENERALES DE UN PROGRAMA EN LABVIEW

ESTRUCTURA DE UN VI

Los programas desarrollados mediante LabVIEW, como se mencion anteriormente, se


denominan Instrumentos Virtuales (Vis, por sus siglas en ingles), porque su apariencia y
funcionamiento imitan los de un instrumento real.

Los VIs tienen una parte interactiva con el usuario y otra parte de cdigo fuente, y
aceptan parmetros procedentes de otros VIs. Todos los VIs tienen un panel frontal y un
diagrama de bloques. Las paletas contienen las opciones que se emplean para crear y 3
modificar los VIs.

Panel Frontal: El Panel Frontal es la interfaz con el usuario, la cual es utilizada para
interactuar con el usuario cuando el programa se est ejecutando. Los usuarios
pueden observar los datos del programa actualizados en tiempo real. El panel frontal
est formado por una serie de botones, pulsadores, potencimetros, grficos, etc.
Cada uno de ellos puede estar definido como un control o un indicador, los primeros
sirven para introducir parmetros al VI, mientras que los indicadores se emplean para
mostrar los resultados producidos, ya sean datos adquiridos o resultados de alguna
operacin. La figura 2.1 muestra el panel frontal de un VI.

Indicador
Controles

Figura 2.1. Panel frontal de LabVIEW que muestra los controles e indicadores de un VI.
Diagrama de Bloques: es el programa propiamente dicho y constituye el cdigo
fuente del VI. El diagrama de bloques es donde se realiza la implementacin del
programa del VI para controlar o realizar cualquier procesado de las entradas y
salidas que se crearon en el panel frontal (Figura 2.2). El diagrama de bloques incluye
funciones y estructuras integradas en las libreras que incorpora LabVIEW. En el
lenguaje G las funciones y las estructuras son nodos elementales, son anlogas a los
operadores o libreras de funciones de los lenguajes convencionales. Los controles e
4
indicadores que se colocaron previamente en el Panel Frontal, se materializan en el
diagrama de bloques mediante las terminales.

El diagrama de bloques se construye conectando los distintos objetos entre s, como


si de un circuito se tratara. Los cables unen terminales de entrada y salida con los
objetos correspondientes, y por ellos fluyen los datos.

Figura 2.2. Diagrama de bloques de un VI.

Paletas: Las paletas de LabVIEW proporcionan las herramientas que se requieren


para crear y modificar tanto el panel frontal como el diagrama de bloques.
Existen las siguientes paletas:

1. Paleta de herramientas (Tools palette). Se emplea tanto en el panel frontal


como en diagrama de bloques. Contiene las herramientas necesarias para
editar y depurar los objetos tanto del panel frontal como del diagrama de
bloques (Figura 2.3).
Figura 2.3. Paleta de herramientas de LabVIEW.

5
2. Paleta de controles (Controls palette). Se utiliza nicamente en el panel frontal.
Contiene todos los controles e indicadores que se emplearn para crear la
interfaz del VI con el usuario (Figura 2.4).

Figura 2.4. Paleta de controles de LabVIEW.

3. Paleta de funciones (functions palette). Se utiliza solo en el diagrama de


bloques y se emplea en el diseo del diagrama de bloques. La paleta de
funciones contiene todos los objetos que se emplean en la implementacin
del VI, ya sean funciones aritmticas, entrada/salida de seales,
entrada/salidad de datos a fichero, adquisicin de seales, temporizacin de
la ejecucin del programa (Figura 2.5).
6

Figura 2.5. Paleta de funciones de LabVIEW.

PROGRAMACIN DE UN VI

Con el entorno grfico de programacin de LabVIEW se comienza a programar a partir


del panel frontal. En primer lugar se definirn y seleccionarn de la paleta de controles
todos los controles (entradas que dar el usuario) e indicadores (salidas que presentar
en pantalla el VI) que se emplearn para introducir los datos por parte del usuario y
presentar en pantalla los resultados.

Una vez colocados en la ventana correspondiente al panel frontal todos los objetos
necesarios, debe pasarse a la ventana Diagram, que es donde se realiza la
programacin propiamente dicha (diagrama de bloques). Al abrir esta ventana, en ella
se encuentran las terminales correspondientes a los objetos situados en el panel frontal,
dispuestas automticamente por LabVIEW. Se deben ir situando las funciones,
estructuras, etc. que se requieran para el desarrollo del programa, las cuales se unen a
las terminales mediante cables. Para facilitar la tarea de conexin de todos los
terminales, en el men Help puede elegirse la opcin Show Help, con lo que al
colocar el cursor del ratn sobre un elemento aparece una ventana con informacin
relativa a ste (parmetros de entrada y salida). Adems, si se tiene seleccionado el
cursor de cableado, al situar ste sobre un elemento se muestran los terminales de forma
intermitente.
EJECUCIN DE UN VI

Una vez se ha concluido la programacin del VI se debe proceder a su ejecucin. Para


ello la ventana activa debe ser el panel frontal.Una vez situados en el panel frontal, se
pulsar el botn de Run, situado en la barra de herramientas (Figura 2.6).

7
Run

Figura 2.6. Botn de Run en un VI

Una vez pulsado el botn de Run, el programa comenzar a ejecutarse. Mientras dura
la ejecucin del mismo, la apariencia del botn de Run es la que se muestra en la Figura
2.7.

Figura 2.7. Botn de run durante la ejecucin de un VI

De este modo el programa se ejecutar una sola vez. Si se desea una ejecucin
continua, se pulsar el botn situado a la derecha del de Run (Continuous Run). Si
durante el funcionamiento continuo del programa se vuelve a pulsar el citado botn, se
finalizar la ltima ejecucin del mismo, tras lo cual el programa se detendr (Figura 2.8).

Figura 2.8. Botn de continuous run en un VI.


Para finalizar la ejecucin de un programa se puede operar de dos formas. La primera,
y la ms aconsejable, es emplear un botn en el panel frontal del VI, cuya pulsacin
produzca la interrupcin del bucle de ejecucin de la aplicacin. La segunda forma de
detener la ejecucin del VI es pulsando el botn de pausa o el de stop. La diferencia
entre ambos es que si se pulsa stop, la ejecucin del programa finaliza inmediatamente,
mientras que si se pulsa pausa, se produce una detencin en el funcionamiento del
programa, retomndose su ejecucin una vez se vuelve a pulsar el mismo botn (Figura
2.9).
8

Stop Pausa

Figura 2.9. Botones de Stop y Pausa.


III. MANUAL DE PRCTICAS EN LABVIEW

PRCTICA #1. PROMEDIDADOR

OBJETIVO. DISEAR UN VI QUE TOME 3 CANTIDADES Y GENERE SU PROMEDIO,


MNIMO Y MXIMO.

Actividades
9
Realizar un programa en LabVIEW, que tome tres nmeros, que el usuario
introducir, para generar su promedio y adems muestre su mximo y mnimo.

La sugerencia de programa se ilustra en la Figura 3.1

Figura 3.1. Sugerencia del programa de la prctica 1.

Notas

Dado que es un programa que no necesita mayor interaccin con la interfaz, se


pude omitir poner el cdigo en alguna estructura de programacin.
Bloques a utilizar

Numeric Control, Numeric Display, Build Array, Add, Divide, Numeric Constant,
Array Max & Min.

Resultados

En la Figura 3.1.2 se observa claramente que el promedio, el nmero mximo y mnimo


son los correctos.

10

Figura 3.1.2. Resultados de la prctica 1.


PRCTICA #2. NMEROS ALEATORIOS

OBJETIVO. REALIZAR UN PROGRAMA DONDE SE GENEREN 1000 NMEROS


ALEATORIOS, Y CALCULE SU PROMEDIO Y VARI ANZA.

Actividades

Disear un programa en LabVIEW que genere 1000 nmeros aleatorios, y calcule


su promedio y varianza, adems graficar la seal resultante. 11

La sugerencia de programa se encuentra en la Figura 3.2.1.

Figura 3.2.1. Sugerencia de programa para la prctica 2.

Notas

En este caso es usado un waveform chart, ya que permite visualizar el nmero de


muestra y no la escala de tiempo como el waveform graph.

Bloques a Utilizar

Numeric Display, Waveform Chart, For Loop, Add Array Elements, Random
Number (0-1), Substract, Divide, Square, Numeric Constant.
Resultados

En la Figura 3.2.2 se observa claramente que el promedio, y la varianza son los correctos

12

Figura 3.2.2. Resultados de la prctica 2.


PRCTICA #3. VISUALIZACIN DE SEALES

OBJETIVO. USO DE CICLOS WHILE Y VISUALIZACIN DE SEALES POR MEDIO DE


GRFICAS

Actividades

Disear un VI que grafiqu de manera continua una seal senoidal a una


frecuencia 3.5 Hz con una amplitud 10V a la que se le aadir ruido blanco. La 13
grfica debe visualizar la seal original con y sin ruido, adems de tener un botn
de paro.

La sugerencia de programa se encuentra en la Figura 3.3.1.

Figura 3.3.1. Sugerencia de programa para la prctica 3.

Notas

Los parmetros de frecuencia y amplitud pueden ser modulados por medio de


controles independientes
Bloques a utilizar

Sine Waveform, Numeric Constant, Gaussian White Noise Waveform, Add,


Waveform Chart, While Loop, Stop Button.

Resultados

En la Figura 3.3.2, se puede observar claramente las dos seales dentro de la


waveform chart donde la seal original esta en color blanco, mientras que la
seal con ruido blanco se muestra en color rojo.
14

Figura 3.3.2. Resultados de la prctica 3.


PRCTICA #4. USO DE CASE STRUCTURE

OBJETIVO. UTILIZAR L A EVALUACION CASE PARA VISUALIZAR UNA SEAL POR


MEDIO DE UNA WAVEFORM CHART

Actividades.

Disear un programa en LabVIEW que grafique dos seales senoidales donde la


frecuencia y amplitud (frecuencia de 0 a 10 Hz, y amplitud de 0 a 10) son variadas 15
por controles independientes.
De acuerdo a un botn de seleccin, se podr relizar la suma o multiplicacin de
las seales, mostrando primero las 2 seales originales y en otra grfica la seal
procesada.
El programa debe de contener un botn de paro general.
La sugerencia del programa se observa en las Figuras 3.4.1 y 3.4.2.

Figura 3.4.1. Sugerencia de programa para la prctica 4, en el caso que el case este
en False.
16

Figura 3.4.2. Sugerencia de programa para la prctica 4, en el caso que el case este
en True.

Notas

Para el caso donde el case es verdadero, se realizar la suma de las seales.

Cuando el case es falso, se realiza la multiplicacin de las seales.

Bloques a utilizar

Dial, Push Button, Vertical Pointer Slider, Horizontal Toggle Switch, Waveform Chart,
Sine Waveform, Build Array, Case Structure, Multiply, Add.

Resultados

En la Figura 3.4.3, se muestra cuando el case esta en verdadero (true) y por lo


tanto la seal procesada muestra la suma de las seales.
17

Figura 3.4.3. Panel frontal cuando el Case est en True.

En la Figura 3.4.4, se muestra cuando el case esta en falso (false) y por lo tanto la
seal procesada muestra la multiplicacin de las seales.

Figura 3.4.4. Panel frontal cuando el Case est en False.


PRCTICA #5. MEDICIN DE TEMPERATURA

OBJETIVO. REALIZAR UNA MEDICIN DE TEMPERATURA A TRAVS DE UNA


ENTRADA ANALGICA DE LA TARJETA NI USB-6009

Material

1 tarjeta NI-USB 6009


1 sensor de temperatura LM35 18
3 resistencias de 220
1 led rojo
1 led verde

Actividades

Implementar el diagrama de conexiones de la Figura 3.5.1.


Implementar un programa, utilizando el bloque de LabVIEW DAQ Assistant de
la tarjeta NI-USB 6009, donde se muestre la temperatura obtenida a travs del
sensor LM35, adems el programa deber activar/desactivar dos leds
dependiendo del rango de temperatura a la que se encuentre sometido el
termistor LM35.
El led verde deber activarse cuando la temperatura este por debajo de los 31C
y desactivarse cuando esta sea excedida, mientras que el led rojo deber
activarse cuando la temperatura exceda los 31C y estar desactivado mientras
no rebase el rango establecido.
Acondicionar la seal del sensor LM35 en el programa para desplegar la
temperatura en C.

Descripcin del programa

El programa consiste en leer una entrada analgica proveniente del sensor de


temperatura LM35. La seal recibida debe ser acondicionada para realizar la
conversin a C y as mostrarla en forma numrica, en un termmetro y una
Waveform Graph dentro de la plataforma de LabVIEW (ver anexos para el
datasheet del sensor LM35).
19

Figura 3.5.1. Diagrama de conexiones para la prctica 4.

Notas:

En el caso del led verde, la configuracin ser la misma, solo debe seleccionarse
a01 para la salida de voltaje.
El datasheet del LM35 puede ser consultado en la seccin de anexos de este
mismo manual.

Bloques a utilizar

Daq Assistant, Waveform Graph, Boolean, Multiply, Less?,Greater o Equal?, Select,


Thermometer, Numeric, Stop.
Programa

20

Figura 3.5.2. Sugerencia de programa para la prctica 4.


Configuracin de los DAQs

Para el DAQ 1.

1. Para obtener el bloque DAQ Assistant, hacer un click derecho sobre Block
Diagram, seleccionar Express, dar click sobre el icono Input y seleccionar el
bloque DAQ Assistant, tal como se observa en la Figura 3.5.3.

21

Figura 3.5.3. Icono de DAQ ASSISTANT.

2. Para inicializar el bloque, dar click sobre Acquire Signal, seleccionar Analog
Inputs y Voltage, por medio de esto se obtendrn los datos de la seal
analgica de temperatura. Esto se observa en la figura 3.5.4.
.

22

Figura 3.5.4. Inicializar el bloque DAQ ASSISTANT.

3. Seleccionar el puerto a utilizar, en este caso, seleccionar ai0.

Figura 3.5.5. Seleccionar el puerto a utilizar del DAQ ASSISTANT.

4. Al finalizar se debe ver el bloque tal como en la Figura 3.5.6.


23

Figura 3.5.6. Bloque DAQ ASSISTANT ya finalizado.

5. Cambiar el parmetro de Terminal Configuration a RSE y dar click en Ok, tal


como lo muestra la Figura 3.5.7.

Figura 3.5.7. Seleccin de Terminal Configuracin.


Para el DAQ 2 Y 3

1. Para obtener el bloque DAQ Assistant, dar click derecho sobre Block Diagram,
seleccionar Express, hacer click sobre el icono Output y seleccionar el bloque
DAQ Assistant, tal como se observa en la Figura 3.5.8.

24

Figura 3.5.8. Seleccionar el icono de DAQ ASSITANT 2.

2. Para inicializar el bloque, dar click sobre Generate signals, seleccionar Analog
Outputs y Voltage, por medio de esto se generaran las seales que
activaran/desactivaran los leds correspondientes al rango de temperatura. Esto
se observa en la Figura 3.5.9.

Figura 3.5.9. Inicializacin del DAQ ASSITANT 2.


3. Seleccionar el puerto a utilizar, en este caso, se configurar primeramente el led
rojo, por lo tanto seleccionar ao0. Esto se muestra en la Figura 3.5.10.

25

Figura 3.5.10. Seleccin del puerto del DAQ ASSISTANT 2.

4. Terminar la configuracin poniendo rangos de 0 a 4 volts, tal como lo muestra la


Figura 3.5.11. Dar click en OK.

Figura 3.5.11. Configuracin de los rangos de voltaje del DAQ ASSITANT 2.


Resultados

Al someter el sensor LM35 a una temperatura menor de 31, dentro del programa
de LabVIEW se observa cmo se prende el led verde, de igual manera dentro del
circuito implementado el led verde se ilumina.

Esto se observa en las Figuras 3.5.12. y 3.5.13.

26

Figura 3.5.12. Resultados en el VI, cuando la temperatura es menor de 31C.

Figura 3.5.13. Resultados en el circuito, cuando la temperatura es menor de 31C.


Al someter el sensor LM35 a una temperatura mayor de 31, dentro del programa
de LabVIEW se observa cmo se prende el led rojo, de igual manera dentro del
circuito implementado el led rojo se ilumina.

Esto se observa en las Figuras 3.5.14. y 3.5.15.

27

Figura 3.5.14. Resultados en el VI, cuando la temperatura es mayor de 31C.

Figura 3.5.15. Resultados en el circuito, cuando la temperatura es mayor de 31C.


PRCTICA #6. EFECTO DE TRASLAPE

OBJETIVO. CREAR UN PROGRAMA EN LABVIEW DONDE SE PUEDA OBSERVAR EL


FENMENO DE TRASLAPE (ALIASING) AL MODULAR LA FRECUENCIA DE
MUESTREO DE UNA SEAL ANALGICA POR DEBAJO DE LA FRECUENCIA DE
MUESTREO DE NYQUIST.

Actividades
28
Implementar un programa, como el sugerido de la Figura 5.6.1, donde se muestre
la seal senoidal de entrada () = 3 sin(10 2) , y donde dicha seal sea
muestreada y reconstruida.
Modificar la frecuencia de muestreo para observar el efecto de traslape (alising)
en la seal muestreada.

Figura 5.6.1. Programa sugerido para la prtica de aliasing.


Notas:

La frecuencia de Nyquist de la seal establecida es de = 20 .

Un muestreo demasiado lento da lugar al aliasing, que es una mala


representacin de la seal analgica [4].

Un bajo muestreo causa que la seal aparezca como si tuviera una frecuencia
diferente a la real.
29
Para evitar el aliasing, hay que muestrear varias veces ms rpido que la
frecuencia de la seal de entrada.

La configuracin de la seal de entrada puede ser modificada para observar


con otros paramentos el efecto de alising.

Bloques a utilizar

Sine Waveform, Resample Waveforms, Waveform Graph, Reciprocal, Stop.

Descripcin del programa

Se toma la seal () = 3 sin(10 2 ) de entrada y es muestreada a una


frecuencia por debajo de la de Nyquist para ser reconstruida, al tener un bajo
muestreo se puede observar el fenmeno de aliasing.

Resultados

A una frecuencia de muestreo de 100 Hz se puede observar que la seal pierde


amplitud, sin embargo la informacin en frecuencia es la misma. Esto se observar
en la Figura 5.6.2.
30

Figura 5.6.2. Arriba seal original () = 3 sin(10 2 ) , abajo seal reconstruida


a una frecuencia de muestreo de 100 Hz

A la frecuencia de Nyquist (20 Hz), segn el teorema de Nyquist [4], es donde la


seal se puede representar unvocamente. Esto puede verse en la Figura 5.6.3.

Figura 5.6.3. Seal muestreada a la frecuencia de Nyquist (20Hz).


A una frecuencia de 9 Hz, podemos ver claramente el efecto de traslape o
aliasing, esto debido al bajo muestreo que se est tomando. La informacin en
frecuencia no es la misma, ya que la seal se comporta como si fuera de 1 Hz
cuando en realidad es de 10 Hz. Es decir la seal resultante muestreada
() = 3 sin(1 2 ) es un alias de la seal original () = 3 sin(10 2 ) .
Esto se observa en la Figura 5.6.4.

31

Figura 5.6.4. Seal muestreada a una frecuencia de 9 Hz, donde se observa el


efecto de aliasing.
PRCTICA #7. LAZO ADC-DAC TRASLAPE

OBJETIVO. CONFIGURAR LA RESOLUCIN DE LOS CONVERTIDORES


ANALGICO DIGITAL Y DIGITAL ANALGICO, Y OBSERVAR EL FENMENO
DE TRASLAPE (ALIASING) AL AUMENTAR LA FRECUENCIA DE LA SEAL DE
ENTRADA POR ENCIMA DE LA TAS A DE MUESTREO DE NYQUIST.

Material:
32
1 tarjeta NI USB 6009.
1 Generador de funciones.

Actividades:

Configurar el generador de funciones con una forma senoidal a una frecuencia


de 25 Hz y una amplitud de 4 volts pico-pico, como se muestra en la Figura 3.7.1

Elaborar un programa en LabVIEW, como el sugerido en la Figura 3.7.2, donde se


tome como entrada la seal analgica proveniente del generador de funciones,
por medio de una entrada analgica de la tarjeta NI USB 6009, dicha seal
pasarla a convertidores Analgico-Digital y Digital- Analgico, y visualizar la salida
de la seal reconstruida por medio de una Waveform Graph.

Aumentar la frecuencia de la seal de entrada y observar el efecto de aliasing.

Modificar la resolucin de los bloques ADC y DAC.

Figura 3.7.1. Generador de funciones configurado a la seal () = 4 sin( 25 ).


33

Figura 3.7.2. Programa sugerido para la prctica 7.

Notas:

La frecuencia de muestreo mnima necesaria para evitar el aliasing es de 50 Hz.

La amplitud de la seal de entrada no debe sobre pasar los 10 volts pico-pico,


esto por la configuracin interna de la tarjeta NI USB 6009 [5].

La configuracin del generador de funciones puede ser modificada para


observar con otros paramentos el efecto de alising.

La configuracin del DAQ ASSISTANT es la misma que la utilizada en la prctica 5.

Para fines ilustrativos en esta prctica se utilizaros dos bloques de conversin ADC-
DAC, ya que por si sola la tarjeta NI-USB 6009 al adquirir cualquier seal realiza
una conversin del tipo ADC.

Descripcin del programa

Se lee una seal, por el puerto de entrada analgica ai0, la cual es enviada al
bloque Convert Analog to Digital con una resolucin inicial de 8 bits, que se
modificara posteriormente.La seal es enviada al bloque Convert Digital to
Analog donde ser muestreada a una frecuencia variable y por ltimo la seal
reconstruida ser mostrada en una Waveform Graph.

Bloques a utilizar
DAQ Assistant, Analog to Digital, Digital to Analog, Resampled Signal, Waveform
Graph, Reciprocal, Stop.

Resultados

A una seal de entrada con frecuencia de 25 Hz y una frecuencia de muestreo


de 150 Hz, se puede observar claramente, en la Figura 3.7.3., que la seal es
reconstruida sin ningun problema, ya que se esta cumpliendo el teorema de 34
muestreo de Nyquist [4].

Figura 3.7.3. De Arriba hacia abajo, seal de entrada a una frecuencia de 25 Hz, seal
digitalizada y seal reconstruida.

Si se aumenta la frecuencia de entrada a 55 Hz; es decir se tiene una seal de


entrada () = 4 sin(155 ) ,el teorema de muestreo de Nyquist no se cumple,
por lo tanto la seal es recosntruida como una seal de baja frecuencia, es decir
se presenta el fenomeno de aliasing,como se observa en la Figura 3.7.3.2.
35

Figura 3.7.4. (De arriba hacia abajo) seal de entrada a una frecuencia de 55 Hz, seal
digitalizada y seal reconstruida.
PRCTICA #8. FILTRO DE HENDIDUR A FIR E IIR

OBJETIVO. IMPLEMENTAR UN FILTRO DIGITAL DE HENDIDURA SINTONIZADO PARA


RECHAZAR UNA FRECUENCIA DE 60 HZ.
Se quiere disear un filtro digital de hendidura FIR e IIR de segundo orden que rechace
una frecuencia de 60Hz y una frecuencia de muestreo de 1000 Hz.

La funcin de transferencia y ecuacin en diferencias que caracterizan el filtro FIR son

() = 7.120 13.240 1 + 7.120 2 36


[] = 7.120[] 13.240[ 1] + 7.120[ 2]

La funcin de transferencia y ecuacin en diferencias que caracterizan el filtro IIR son

0.9678 1.079967 1 + 0.9678 2


() =
1 1.76657 1 + 0.9025 2

[] = 1.7665[ 1] 0.9025[ 2] + 0.9678 1.79967[ 1] + 0.9618[ 2]

Actividades

Implementar un programa en LabVIEW donde se tome una seal de entrada de


tipo senoidal de frecuencia y amplitud variables, para posteriormente filtrarla, por
medio de los bloques FIR e IIR, y posteriormente mostrar la salida de los filtros en
una grfica.

Por medio del bloque de la transformada de Fourier, tambin deber visualizarse


el espectro en frecuencia.

La sugerencia de programa se observa en la Figura 3.8.1.


37

Figura 3.8.1. Programa de filtro de Hendidura FIIR e IIR.

Notas

La frecuencia a eliminar es de 60 Hz, por lo tanto se debe ir variando la frecuencia,


comenzando de una pequea hasta dicha frecuencia.

Los coeficientes del filtro IIR son los correspondientes a los de la funcin de
transferencia, donde los Foward coefficients se toman del numerador de dicha
funcin de transferencia, mientras que los Reverse coefficients son tomados del
denominador.

Si se desea que el filtro rechace otra frecuencia diferente de 60 Hz, se debe realizar
el anlisis correspondiente a dicha frecuencia y cambiar los coeficientes de los
filtros FIR e IIR.

Bloques a utilizar

Sine Waveform, IIR Filter, FIR Filter, FFT, Waveform Graph, Reciprocal, Bundle, Stop,
Build Array, Absolute Value, Square.
Resultados

A una frecuencia de entrada de 17 Hz, se observa que no existe cambio en la


entrada y salida de la seal a filtrar, justo como se muestra en la Figura 3.8.2.

38

Figura 3.8.2. Salida del filtro con una seal de entrada de 17 Hz.

Conforme se va aumentando la frecuencia y se acerca a 60 Hz se observa una


disminucin en la amplitud tanto en la seal filtrada como en el espectro de
frecuencia. La Figura 3.8.3., muestra cmo se comporta el programa a una
frecuencia de 50 Hz.

Figura 3.8.3. Salida del filtro con una seal de entrada de 50 Hz.
A 60 Hz se ve como la seal ha sido filtrada y no se tiene seal de salida, tambin
se observa que la respuesta del filtro FIR en el espectro de frecuencia ha
desaparecido. Esto se observa en la Figura 3.8.4.

39

Figura 3.8.4. Salida del filtro con una seal de entrada de 60 Hz.

Cuando se tiene una seal de entrada con una frecuencia mayor a 60 Hz, la seal
resultante no se ve afectada por el filtro de hendidura; sin embargo, cuando se tienen
frecuencias mucho mayores a 60 Hz el filtro FIR presenta un incremento en la amplitud
en comparacin con la amplitud de entrada. Lo anterior se muestra en la Figura 3.8.5.

Figura 3.8.5. Salida del filtro con una seal de entrada de 104 Hz.
PRCTICA #9. FILTRO PASA BAJOS FIR E IIR

OBJETIVO. IMPLEMENTAR UN FILTRO DIGITAL PASA BAJOS SINTONIZADO A UNA


FRECUENCIA DE CORTE DE 30 HZ.
Se quiere disear un filtro digital pasa bajos FIR e IIR de segundo orden a una frecuencia
de corte de 30 Hz y una frecuencia de muestreo de 500 Hz.

La funcin de transferencia y ecuacin en diferencias que caracterizan el filtro IIR son,


respectivamente
40

0.0279 + 0.0557 1 + 0.0279 2


() =
1 1.4755 1 + 0.5869 2

[] = 1.4755[ 1] + 0.5869[ 2] + 0.0279 + 0.0557[ 1] + 0.0279[ 2]

La funcin de transferencia y ecuacin en diferencias que caracterizan el filtro FIR son

() = 0.238473 + 0.523056 1 + 0.238473 2

[] = 0.238473[] + 0.523056[ 1] + 0.238473[ 2]

Actividades

Implementar un programa en LabVIEW donde se tome una seal de entrada de


tipo senoidal de frecuencia y amplitud variables, para posteriormente filtrarla, por
medio de los bloques FIR e IIR, y despus mostrar la salida de los filtros en una
grfica.

Por medio del bloque de la transformada de Fourier, deber visualizarse el


espectro en frecuencia.

La sugerencia de programa se observa en la Figura 3.9.1.


41

Figura 3.9.1. Programa de filtro pasa bajos FIIR e IIR.

Notas

La frecuencia de corte es de 30 Hz, por lo tanto se debe ir variando la frecuencia,


comenzando de una pequea hasta alcanzar la frecuencia antes mencionada.

Los coeficientes del filtro IIR se toman de la funcin de transferencia, donde los
Foward coefficients corresponden al numerador de dicha funcin de
transferencia, mientras que los Reverse coefficients son tomados del denominador.

Si se desea que el filtro rechace otra frecuencia diferente de 30 Hz, se debe realizar
el anlisis correspondiente a dicha frecuencia y cambiar los coeficientes de los
filtros FIR e IIR.

Se puede obtener la funcin de transferencia del filtro por medio del software
MATLAB utilizando el Filter Design & Analysis Tool.

El filtro FIR fue diseado considerando una ventana Hamming, mientras que el filtro
IIR fue diseado de tipo Butterworth.

Bloques a utilizar

Sine Waveform, IIR Filter, FIR Filter, FFT, Waveform Graph, Reciprocal, Bundle, Stop,
Build Array, Absolute Value, Square.
Resultados

A una frecuencia de entrada de 10 Hz, se observa que no existe cambio en la


entrada y salida de la seal a filtrar, justo como se muestra en la Figura 3.9.2.

42

Figura 3.9.2. Salida del filtro pasa bajos a una seal de entrada con frecuencia de
10Hz.

A la frecuencia de corte de 30 Hz, la seal ya ha sido atenuada por el filtro IIR, sin
embargo el filtro FIR no ha filtrado la seal, como se observa en la figura 3.9.3.

Figura 3.9.3. Salida del filtro pasa bajos a una seal de entrada con frecuencia
de 30Hz.
A una frecuencia de 60 Hz, se observa que el filtro IIR ha atenuado drsticamente
la amplitud de la seal, esto se observa en la figura 3.9.4.

43

Figura 3.9.4. Salida del filtro pasa bajos a una seal de entrada con frecuencia de
60Hz.

El filtro FIR se observa que atena la seal a una frecuencia mucho mayor que la
necesaria para el filtro IIR, esto sucede porque los filtros FIR necesitan ser de un
orden mayor que los IIR para cumplir de manera ptima con las especificaciones
dadas [7]. Lo anterior se observa en la figura 3.9.5.

Figura 3.9.5. Salida del filtro pasa bajos a una seal de entrada con frecuencia de 110
HZ.
ANEXOS

TARJETA NI-USB 6009

La tarjeta NI USB 6009 proporciona ocho entradas analgicas de una sola terminal ( AI) ,
dos canales de salida analgica (AO), 12 canales DIO, y un contador de 32 bits con una
Interfaz USB de alta velocidad [5] . En la Figura 4.1 se muestra el diagrama a bloques de
la tarjeta NI-USB 6009
44

Figura 4.1. Diagrama de bloques de la tarjeta NI-USB 6009 [5].

La Figura 4.2, muestra la asignacin de pines de la NI USB 6009, y enseguida en la Tabla


1, se muestran los detalles de cada pin.
45

Figura 4.2. Pinout de la tarjeta NI-USB 6009 [5].

Tabla 1. Detalles de cada uno de los pines de la tarjeta NI-USB 6009.

Signal Name Reference Direction Description


Ground
The reference point for the
single-ended
analog input measurements,
analog output voltages,
digital signals, +5 VDC supply,
GND - - and +2.5 VDC at
the I/O connector, and the
bias current return point
for differential mode
measurements.

Analog Input Channels 0 to 7


For single-ended
measurements, each signal is
an analog input voltage
channel. For differential
measurements, AI 0 and AI 4
AI <0,7> Varies Input
are the positive and negative
inputs of differential analog
input channel 0. The following
signal pairs also form
differential input channels: AI
<1, 5>, AI <2, 6>, and AI <3, 7>
AO <0,1> GND Output Analog Output Channels 0 and
1 Supplies the voltage output
of AO channel 0 or AO
channel 1.

P0<0,7> GND Input or Output Port 0 Digital I/O Channels 0 to


7You can individually
configure each signal as an
input or output.

46
PFI 0 GND Input PFI 0 This pin is configurable
as either a digital trigger or an
event counter input.

+2.5 V GND Output +2.5 V External Reference


Provides a reference for
wrap-back testing

+5V GND Output +5 V Power Source


Provides +5 V power up to
200 mA.
Entradas Anlogas de la tarjeta NI-USB 6009

En cuanto a la toma de medidas diferenciales, se debe tomar como referencia la Figura


4.3, donde se muestra el modo en que debe ser conectada la tarjeta NI-USB 6009.

Figura 4.3. Conexin de la tarjeta NI-USB 6009 a una entrada analgica de voltaje
diferencial.
El modo de entrada diferencial puede medir seales en el rango de 20 V. Sin embargo,
la tensin mxima en cualquiera de los pines es de 10 V con respecto a GND. Por
ejemplo, si AI 1 es 10 V y AI 5 es de -10 V, entonces la medicin que regresa el dispositivo
es 20 V (Figura 4.4).

47

Figura 4.4. Ejemplo de una medida diferencial de 20V.

La conexin de una seal superior a 10 V en cualquiera de los pines resulta en una


salida recortada (Figura 4.5).

Figura 4.5. Exceder el rango de 10 V resulta en una salida recortada.

Para ms informacin acerca de la tarjeta NI-USB 6009 leer la hoja de especificaciones


[5].
Sensor LM35

48

Figura 4.6. Disposicin de los pines del sensor LM35 [6]


ATAJOS DE TECLADO EN LABVIEW

Tabla 2. Atajos de teclado en LabVIEW [1].

Ctrl+B Remueve cables rotos


Ctrl+C Copia objeto
Ctrl+E Cambio entre el panel frontal/diagrama
de bloques
49
Ctrl+H Activa/Desactiva la ventana de ayuda
Ctrl+N Crea un nuevo VI
Ctrl+O Abre VI
Ctrl+Q Cierra Labview
Ctrl+R Corre el VI
Ctrl+S Guarda el VI
Ctrl+V Pega objetos
Ctrl+W Cierra el VI
Ctrl+X Corta objetos
Ctrl+Z Deshace la ltima accin
Ctrl+Click Clona un objeto
Shift+Click Arrastra un objeto a una direccin
Right+Click Activa el men Pup-Up
Spacebar Alterna entre dos herramientas ms
comunes
Shift+Tab Alterna entre las dos herramientas ms
comunes
Tab Desplazarse por las herramientas , si la
seleccin automtica de la herramienta
est desactivada
BIBLIOGRAFA

[1] Essick, J. (2013). Hands-On Introduccion to LabVIEW. New York: Oxford University
Press.

[2] Vizcano, J. R. (2011). LabVIEW. Entorno grfico de programacin. Barcelona : 50


Marcombo.

[3] Intruments, N. (n.d.). National Intruments . Retrieved from National Instruments :


http://sine.ni.com/nips/cds/view/p/lang/es/nid/201987

[4] Proakis, J. G., & Manolakis , G. D. (2007). Tratamiento Digital de Seales. Madrid:
Pearson Prentince Hall.

[5] Intruments, N. (2004, 15 July). USER GUIDE NI-USB 6008/6009. Retrieved from NI :
http://www.ni.com/pdf/manuals/371303n.pdf

[6]Instruments, T. (2016, January). LM35 Precision. Retrieved from LM35 Precision:


http://www.ti.com/lit/ds/symlink/lm35.pdf

[7] MathWorks. (12 de julio de 2013). Mathworks. Obtenido de Mathworks:


https://www.mathworks.com/help/signal/ug/iir-filter-design.html