Está en la página 1de 51

PROCESAMIENTO DIGITAL

DE SEÑALES
Manual de prácticas LabVIEW

Facultad de Ciencias
Benemérita Universidad Autónoma de San Luis Potosí

Dr. Daniel Ulises Campos Delgado


ducd@fciencias.uaslp.mx
ÍNDICE

I. Introducción........................................................................................................................... 2
I. Características Generales de un Programa en LabView ............................................... 3
Estructura de un VI .................................................................................................................... 3
Programación de un VI............................................................................................................ 6
Ejecución de un VI .................................................................................................................... 7
1
II. Manual de Prácticas en LabVIEW ...................................................................................... 9
Práctica #1. Promedidador .................................................................................................... 9
Práctica #2. Números Aleatorios .......................................................................................... 11
Práctica #3. Visualización de Señales ................................................................................. 13
Práctica #4. Uso de Case Structure ..................................................................................... 15
Práctica #5. Medición de Temperatura ............................................................................. 18
Práctica #6. Efecto de Traslape ........................................................................................... 28
Práctica #7. Lazo ADC-DAC Traslape ................................................................................. 32
Práctica #8. Filtro de Hendidura FIR e IIR ............................................................................ 36
Práctica #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. Bibliografía ........................................................................................................................ 50
I. INTRODUCCIÓN

LabVIEW es una plataforma de programación grafica en la que se pueden diseñar


aplicaciones que involucren la adquisición, control, análisis y presentación de datos [1].
Es similar a los sistemas de desarrollo que utilizan lenguajes de programación como C o
Java, sin embargo tienen una gran diferencia, en tanto que dichos lenguajes utilizan
líneas de texto para crear el código fuente de un programa, LabVIEW emplea la
programación gráfica 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 programación, ya que


se emplean íconos, términos e ideas familiares a científicos e ingenieros, y se apoya
sobre símbolos gráficos en lugar de lenguaje escrito para construir las aplicaciones. Por
ello resulta mucho más intuitivo que el resto de lenguajes de programación
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 adquisición,
análisis y presentación de datos.
 El sistema está dotado de un compilador gráfico para lograr la máxima
velocidad de ejecución posible.
 Ofrece la posibilidad de incorporar aplicaciones escritas en otros lenguajes.
II. CARACTERÍSTICAS 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 código fuente, y
aceptan parámetros 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, potenciómetros, gráficos, etc.
Cada uno de ellos puede estar definido como un control o un indicador, los primeros
sirven para introducir parámetros al VI, mientras que los indicadores se emplean para
mostrar los resultados producidos, ya sean datos adquiridos o resultados de alguna
operación. 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 código
fuente del VI. El diagrama de bloques es donde se realiza la implementación 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 librerías que incorpora LabVIEW. En el
lenguaje G las funciones y las estructuras son nodos elementales, son análogas a los
operadores o librerías 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 emplearán 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 diseño del diagrama de bloques. La paleta de
funciones contiene todos los objetos que se emplean en la implementación
del VI, ya sean funciones aritméticas, entrada/salida de señales,
entrada/salidad de datos a fichero, adquisición de señales, temporización de
la ejecución del programa (Figura 2.5).
6

Figura 2.5. Paleta de funciones de LabVIEW.

PROGRAMACIÓN DE UN VI

Con el entorno gráfico de programación de LabVIEW se comienza a programar a partir


del panel frontal. En primer lugar se definirán y seleccionarán de la paleta de controles
todos los controles (entradas que dará el usuario) e indicadores (salidas que presentará
en pantalla el VI) que se emplearán 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
programación 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 automáticamente 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 conexión de todos los
terminales, en el menú “Help” puede elegirse la opción “Show Help”, con lo que al
colocar el cursor del ratón sobre un elemento aparece una ventana con información
relativa a éste (parámetros de entrada y salida). Además, si se tiene seleccionado el
cursor de cableado, al situar éste sobre un elemento se muestran los terminales de forma
intermitente.
EJECUCIÓN DE UN VI

Una vez se ha concluido la programación del VI se debe proceder a su ejecución. Para


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

7
Run

Figura 2.6. Botón de Run en un VI

Una vez pulsado el botón de Run, el programa comenzará a ejecutarse. Mientras dura
la ejecución del mismo, la apariencia del botón de Run es la que se muestra en la Figura
2.7.

Figura 2.7. Botón de run durante la ejecución de un VI

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

Figura 2.8. Botón de continuous run en un VI.


Para finalizar la ejecución de un programa se puede operar de dos formas. La primera,
y la más aconsejable, es emplear un botón en el panel frontal del VI, cuya pulsación
produzca la interrupción del bucle de ejecución de la aplicación. La segunda forma de
detener la ejecución del VI es pulsando el botón de pausa o el de stop. La diferencia
entre ambos es que si se pulsa stop, la ejecución del programa finaliza inmediatamente,
mientras que si se pulsa pausa, se produce una detención en el funcionamiento del
programa, retomándose su ejecución una vez se vuelve a pulsar el mismo botón (Figura
2.9).
8

Stop Pausa

Figura 2.9. Botones de Stop y Pausa.


III. MANUAL DE PRÁCTICAS EN LABVIEW

PRÁCTICA #1. PROMEDIDADOR

OBJETIVO. DISEÑAR UN VI QUE TOME 3 CANTIDADES Y GENERE SU PROMEDIO,


MÍNIMO Y MÁXIMO.

Actividades
9
 Realizar un programa en LabVIEW, que tome tres números, que el usuario
introducirá, para generar su promedio y además muestre su máximo y mínimo.

 La sugerencia de programa se ilustra en la Figura 3.1

Figura 3.1. Sugerencia del programa de la práctica 1.

Notas

 Dado que es un programa que no necesita mayor interacción con la interfaz, se


pude omitir poner el código en alguna estructura de programación.
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 número máximo y mínimo


son los correctos.

10

Figura 3.1.2. Resultados de la práctica 1.


PRÁCTICA #2. NÚMEROS ALEATORIOS

OBJETIVO. REALIZAR UN PROGRAMA DONDE SE GENEREN 1000 NÚMEROS


ALEATORIOS, Y CALCULE SU PROMEDIO Y VARI ANZA.

Actividades

 Diseñar un programa en LabVIEW que genere 1000 números aleatorios, y calcule


su promedio y varianza, además graficar la señal resultante. 11

 La sugerencia de programa se encuentra en la Figura 3.2.1.

Figura 3.2.1. Sugerencia de programa para la práctica 2.

Notas

 En este caso es usado un waveform chart, ya que permite visualizar el número 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 práctica 2.


PRÁCTICA #3. VISUALIZACIÓN DE SEÑALES

OBJETIVO. USO DE CICLOS WHILE Y VISUALIZACIÓN DE SEÑALES POR MEDIO DE


GRÁFICAS

Actividades

 Diseñar un VI que grafiqué de manera continua una señal senoidal a una


frecuencia 3.5 Hz con una amplitud 10V a la que se le añadirá ruido blanco. La 13
gráfica debe visualizar la señal original con y sin ruido, además de tener un botón
de paro.

 La sugerencia de programa se encuentra en la Figura 3.3.1.

Figura 3.3.1. Sugerencia de programa para la práctica 3.

Notas

 Los parámetros 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 señales dentro de la


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

Figura 3.3.2. Resultados de la práctica 3.


PRÁCTICA #4. USO DE CASE STRUCTURE

OBJETIVO. UTILIZAR L A EVALUACION CASE PARA VISUALIZAR UNA SEÑAL POR


MEDIO DE UNA WAVEFORM CHART

Actividades.

 Diseñar un programa en LabVIEW que grafique dos señales 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 botón de selección, se podrá relizar la suma o multiplicación de
las señales, mostrando primero las 2 señales originales y en otra gráfica la señal
procesada.
 El programa debe de contener un botón 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 práctica 4, en el caso que el case este
en False.
16

Figura 3.4.2. Sugerencia de programa para la práctica 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 señales.

 Cuando el case es falso, se realiza la multiplicación de las señales.

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 señal procesada muestra la suma de las señales.
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
señal procesada muestra la multiplicación de las señales.

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


PRÁCTICA #5. MEDICIÓN DE TEMPERATURA

OBJETIVO. REALIZAR UNA MEDICIÓN DE TEMPERATURA A TRAVÉS DE UNA


ENTRADA ANALÓGICA 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 través del
sensor LM35, además 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 31°C
y desactivarse cuando esta sea excedida, mientras que el led rojo deberá
activarse cuando la temperatura exceda los 31°C y estar desactivado mientras
no rebase el rango establecido.
 Acondicionar la señal del sensor LM35 en el programa para desplegar la
temperatura en °C.

Descripción del programa

 El programa consiste en leer una entrada analógica proveniente del sensor de


temperatura LM35. La señal recibida debe ser acondicionada para realizar la
conversión a °C y así mostrarla en forma numérica, en un termómetro 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 práctica 4.

Notas:

 En el caso del led verde, la configuración será la misma, solo debe seleccionarse
a01 para la salida de voltaje.
 El datasheet del LM35 puede ser consultado en la sección 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 práctica 4.


Configuración 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 obtendrán los datos de la señal
analógica 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 parámetro de “Terminal Configuration” a “RSE” y dar click en Ok, tal


como lo muestra la Figura 3.5.7.

Figura 3.5.7. Selección de Terminal Configuración.


 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 señales que
activaran/desactivaran los leds correspondientes al rango de temperatura. Esto
se observa en la Figura 3.5.9.

Figura 3.5.9. Inicialización 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. Selección del puerto del DAQ ASSISTANT 2.

4. Terminar la configuración poniendo rangos de 0 a 4 volts, tal como lo muestra la


Figura 3.5.11. Dar click en OK.

Figura 3.5.11. Configuración 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 cómo 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 31°C.

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


 Al someter el sensor LM35 a una temperatura mayor de 31°, dentro del programa
de LabVIEW se observa cómo 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 31°C.

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


PRÁCTICA #6. EFECTO DE TRASLAPE

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


FENÓMENO DE TRASLAPE (ALIASING) AL MODULAR LA FRECUENCIA DE
MUESTREO DE UNA SEÑAL ANALÓGICA 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 señal senoidal de entrada 𝑓(𝑡) = 3 sin(10 ∗ 2𝜋)𝑡 , y donde dicha señal sea
muestreada y reconstruida.
 Modificar la frecuencia de muestreo para observar el efecto de traslape (alising)
en la señal muestreada.

Figura 5.6.1. Programa sugerido para la prática de aliasing.


Notas:

 La frecuencia de Nyquist de la señal establecida es de 𝑓𝑁 = 20 𝐻𝑧.

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


representación de la señal analógica [4].

 Un bajo muestreo causa que la señal aparezca como si tuviera una frecuencia
diferente a la real.
29
 Para evitar el aliasing, hay que muestrear varias veces más rápido que la
frecuencia de la señal de entrada.

 La configuración de la señal 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.

Descripción del programa

 Se toma la señal 𝑓(𝑡) = 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 fenómeno de aliasing.

Resultados

 A una frecuencia de muestreo de 100 Hz se puede observar que la señal pierde


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

Figura 5.6.2. Arriba señal original 𝑓(𝑡) = 3 sin(10 ∗ 2 ∗ 𝜋) 𝑡, abajo señal reconstruida
a una frecuencia de muestreo de 100 Hz

 A la frecuencia de Nyquist (20 Hz), según el teorema de Nyquist [4], es donde la


señal se puede representar unívocamente. Esto puede verse en la Figura 5.6.3.

Figura 5.6.3. Señal 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 información en
frecuencia no es la misma, ya que la señal se comporta como si fuera de 1 Hz
cuando en realidad es de 10 Hz. Es decir la señal resultante muestreada
𝑓(𝑡) = 3 sin(1 ∗ 2 ∗ 𝜋)𝑡 es un alias de la señal original 𝑓(𝑡) = 3 sin(10 ∗ 2 ∗ 𝜋)𝑡 .
Esto se observa en la Figura 5.6.4.

31

Figura 5.6.4. Señal muestreada a una frecuencia de 9 Hz, donde se observa el


efecto de aliasing.
PRÁCTICA #7. LAZO ADC-DAC TRASLAPE

OBJETIVO. CONFIGURAR LA RESOLUCIÓN DE LOS CONVERTIDORES


ANALÓGICO – DIGITAL Y DIGITAL – ANALÓGICO, Y OBSERVAR EL FENÓMENO
DE TRASLAPE (ALIASING) AL AUMENTAR LA FRECUENCIA DE LA SEÑAL 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 señal analógica proveniente del generador de funciones,
por medio de una entrada analógica de la tarjeta NI USB 6009, dicha señal
pasarla a convertidores Analógico-Digital y Digital- Analógico, y visualizar la salida
de la señal reconstruida por medio de una Waveform Graph.

 Aumentar la frecuencia de la señal de entrada y observar el efecto de “aliasing”.

 Modificar la resolución de los bloques ADC y DAC.

Figura 3.7.1. Generador de funciones configurado a la señal 𝑓(𝑡) = 4 ∗ sin( 25 ∗ 𝑡).


33

Figura 3.7.2. Programa sugerido para la práctica 7.

Notas:

 La frecuencia de muestreo mínima necesaria para evitar el aliasing es de 50 Hz.

 La amplitud de la señal de entrada no debe sobre pasar los 10 volts pico-pico,


esto por la configuración interna de la tarjeta NI USB 6009 [5].

 La configuración del generador de funciones puede ser modificada para


observar con otros paramentos el efecto de “alising”.

 La configuración del DAQ ASSISTANT es la misma que la utilizada en la práctica 5.

 Para fines ilustrativos en esta práctica se utilizaros dos bloques de conversión ADC-
DAC, ya que por si sola la tarjeta NI-USB 6009 al adquirir cualquier señal realiza
una conversión del tipo ADC.

Descripción del programa

 Se lee una señal, por el puerto de entrada analógica ai0, la cual es enviada al
bloque “Convert Analog to Digital” con una resolución inicial de 8 bits, que se
modificara posteriormente.La señal es enviada al bloque “Convert Digital to
Analog” donde será muestreada a una frecuencia variable y por último la señal
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 señal 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 señal 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, señal de entrada a una frecuencia de 25 Hz, señal
digitalizada y señal reconstruida.

 Si se aumenta la frecuencia de entrada a 55 Hz; es decir se tiene una señal de


entrada 𝑓(𝑡) = 4 ∗ sin(155 ∗ 𝑡) ,el teorema de muestreo de Nyquist no se cumple,
por lo tanto la señal es recosntruida como una señal 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) señal de entrada a una frecuencia de 55 Hz, señal
digitalizada y señal reconstruida.
PRÁCTICA #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 diseñar 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 función de transferencia y ecuación 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 función de transferencia y ecuación 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 señal 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 gráfica.

 Por medio del bloque de la transformada de Fourier, también 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 pequeña hasta dicha frecuencia.

 Los coeficientes del filtro IIR son los correspondientes a los de la función de
transferencia, donde los Foward coefficients se toman del numerador de dicha
función 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 análisis 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 señal a filtrar, justo como se muestra en la Figura 3.8.2.

38

Figura 3.8.2. Salida del filtro con una señal de entrada de 17 Hz.

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


disminución en la amplitud tanto en la señal filtrada como en el espectro de
frecuencia. La Figura 3.8.3., muestra cómo se comporta el programa a una
frecuencia de 50 Hz.

Figura 3.8.3. Salida del filtro con una señal de entrada de 50 Hz.
 A 60 Hz se ve como la señal ha sido filtrada y no se tiene señal de salida, también
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 señal de entrada de 60 Hz.

Cuando se tiene una señal de entrada con una frecuencia mayor a 60 Hz, la señal
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 comparación con la amplitud de entrada. Lo anterior se muestra en la Figura 3.8.5.

Figura 3.8.5. Salida del filtro con una señal de entrada de 104 Hz.
PRÁCTICA #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 diseñar 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 función de transferencia y ecuación 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 función de transferencia y ecuación 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 señal de entrada de


tipo senoidal de frecuencia y amplitud variables, para posteriormente filtrarla, por
medio de los bloques FIR e IIR, y después mostrar la salida de los filtros en una
gráfica.

 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 pequeña hasta alcanzar la frecuencia antes mencionada.

 Los coeficientes del filtro IIR se toman de la función de transferencia, donde los
Foward coefficients corresponden al numerador de dicha función 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 análisis correspondiente a dicha frecuencia y cambiar los coeficientes de los
filtros FIR e IIR.

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

 El filtro FIR fue diseñado considerando una ventana Hamming, mientras que el filtro
IIR fue diseñado 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 señal a filtrar, justo como se muestra en la Figura 3.9.2.

42

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

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

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

43

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

 El filtro FIR se observa que atenúa la señal 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 señal de entrada con frecuencia de 110
HZ.
ANEXOS

TARJETA NI-USB 6009

La tarjeta NI USB 6009 proporciona ocho entradas analógicas de una sola terminal ( AI) ,
dos canales de salida analógica (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 asignación 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


7—You 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 Análogas 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. Conexión de la tarjeta NI-USB 6009 a una entrada analógica de voltaje
diferencial.
El modo de entrada diferencial puede medir señales en el rango de ± 20 V. Sin embargo,
la tensión máxima 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 medición que regresa el dispositivo
es 20 V (Figura 4.4).

47

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

La conexión de una señal 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 más información acerca de la tarjeta NI-USB 6009 leer la hoja de especificaciones
[5].
Sensor LM35

48

Figura 4.6. Disposición 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 acción
Ctrl+Click Clona un objeto
Shift+Click Arrastra un objeto a una dirección
Right+Click Activa el menú Pup-Up
Spacebar Alterna entre dos herramientas más
comunes
Shift+Tab Alterna entre las dos herramientas más
comunes
Tab Desplazarse por las herramientas , si la
selección automática de la herramienta
está desactivada
 BIBLIOGRAFÍA

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

[2] Vizcaíno, J. R. (2011). LabVIEW. Entorno gráfico de programación. 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 Señales. 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

También podría gustarte