Incorporado sistema de adquisición de datos de ECG (11 / 14 paso)

Paso 11: Con los filtros de HLS o el compilador de abeto

Ya tenía experiencia previa con la construcción de filtros en C/C++, elegí el programa HLS Vivado a aplicar los filtros.

La función de filtro debe tener un encabezado como sigue:

Primero echemos un vistazo a los argumentos de la función. ¿Qué tipo de datos debe nosotros elegir? Si esto sería parte de un programa de PC, tipos de datos no sería mucha de una preocupación (podríamos elegir doble o flotador), pero queremos sintetizar al hardware, por lo que la anchura de los datos es una preocupación. La hoja de datos de ADS1299 especifica el tipo de datos exacto: firmado datos 24b (2s complemento), por lo que sería un desperdicio utilizar 64 o 32b flotante punto de datos.

Afortunadamente HLS tiene un encabezado para este trabajo: "ap_int.h" contiene entero ancho personalizado y fijo de punto los tipos de datos.

Ahora a la última parte, los coeficientes. Los coeficientes se obtuvieron en Matlab y se utilizará en HLS. Si los coeficientes se especifican solamente una vez, podemos especificarlo como constantes en el comienzo de la función. Si queremos cambiar los coeficientes podemos dejar en las discusiones, pero el almacenamiento debe ser un tipo de ROM/RAM de doble puerto, puesto que la optimización requiere.

El primer filtro digital será un filtro FIR de 65 puntos.

El tipo de fir_t se utilizará para el tipo de datos de punto fijo. Necesitamos un registro de almacenamiento para los datos de entrada, un registro temporal y un registro de almacenamiento de información para la suma de productos.

El registro de la suma debe tener un tamaño que puede manejar 24b 65 * 24b valores sumed.

Necesitamos definir los coeficientes del filtro como (los valores pueden ser copiados de Matlab):

En un bucle infinito almacenar los valores de entrada, convertirlos y proceder a la operación de MAC.

Último pero no menos importante tenemos que convertir el valor de punto fijo en el bucle de entero con signo.

Ahora es el momento para C síntesis. Podemos ver (Figura 1) que fue utilizada sólo una pequeña cantidad de los recursos y el tiempo estimado es de 15.33ns. Podemos optimizar el filtro por canalización el almacenamiento y loops MAC con

Del mismo modo, se puede hacer el filtro IIR.

Esta vez el proceso es el siguiente:

  1. Cambiar los registros de entrada y almacenar el valor siguiente.
  2. Escriba las operaciones de MAC (para los registros de entrada y salidas).
  3. cambiar el registro de salida y almacenar el resultado.
  4. volver a la salida.

La última imagen muestra la estructura de synthesiyed después de la canalización del filtro.

Artículos Relacionados

Sensor de temperatura/humedad + Arduino + adquisición de datos LabVIEW

Sensor de temperatura/humedad + Arduino + adquisición de datos LabVIEW

Este tutorial explicare paso a paso sobre cómo configurar su SHT15 sensor (temperatura y humedad) para adquisición de datos utilizando Arduino. El tutorial más explica cómo LabVIEW utilizará para recopilar los datos detectados para proporcionar la re
Arduino a la GUI de MATLAB - adquisición de datos en vivo (y trazado) de posiciones de Stick transmisor RC

Arduino a la GUI de MATLAB - adquisición de datos en vivo (y trazado) de posiciones de Stick transmisor RC

He creado un programa, utilizando un Arduino, vivir de adquisición de datos y trazar directamente en MATLAB. Creo que esto es muy útil y puede ayudar a mucha gente preguntando como interfaz Arduino y MATLAB, por lo que estoy publicando aquí en Instru
NRF2L401 inalámbrico sistema de transmisión de datos de PC con Arduino

NRF2L401 inalámbrico sistema de transmisión de datos de PC con Arduino

ICStation equipo presentarles cómo hacer este NRF2L401 Wireless PC datos de sistema de transmisión basado en el UNO ICStation y el ICStation mega2560 Compatible con Arduino.El sistema de transmisión de datos de NRF2L401 Wireless PC funciona bajo volt
NRF24L01 teclado inalámbrico sistema de transmisión de datos basado en Arduino

NRF24L01 teclado inalámbrico sistema de transmisión de datos basado en Arduino

ICStation Equipo es introducir este sistema de transmisión sin hilos basado en ICStation Mega 2560 y R3 UNO compatible con Arduino. Utiliza voltaje de funcionamiento de DC5V. Cuando hay alguien presionando las teclas, el sistema de envío enviará el v
2.4 sistema de intercalación de datos G Wireless basado en Arduino RF Uart

2.4 sistema de intercalación de datos G Wireless basado en Arduino RF Uart

Moderna casa inteligente puede fácilmente conectar entre sí todos los equipos eléctricos, pero casi todos los terminales dependen de la fuente de alimentación siempre energía, así que tenemos que hacer un poder de tamaño más pequeño, INHAOS AC-5000 p
Fresado CNC, impresión 3D, adquisición de datos. La introducción, la innovación personal C3 trayendo a casa todo el mundo con una máquina híbrida calidad profesional de impresión 3D y Fresadoras CNC!

Fresado CNC, impresión 3D, adquisición de datos. La introducción, la innovación personal C3 trayendo a casa todo el mundo con una máquina híbrida calidad profesional de impresión 3D y Fresadoras CNC!

http://www.youtube.com/watch?v=eLcYgvIIbBMSí esto no es un 'instructivo' persay. Aunque he sido un miembro en esta cita para un par de años conozco y sé que esta comunidad le da lo que tengo que ofrecer.Innovaciones personalizadas está lanzando el C-
Sistema de control de temperatura usando Labview (Atmega32)

Sistema de control de temperatura usando Labview (Atmega32)

RESUMENEste trabajo describe un marco de encendido, sistemas de control de temperatura proporcional y lineal. El diseño e implementación de este proceso se realiza utilizando LABVIEW, el software de banco de trabajo virtual. El proyecto incluye la ad
Alta velocidad de encargo sistema DAQ con FPGA

Alta velocidad de encargo sistema DAQ con FPGA

Este tutorial describe un método muy eficiente de la construcción de una tarjeta de adquisición de datos de alta velocidad. Este proyecto representa una solución muy barata de la construcción de un osciloscopio digital, así como una manera de medir a
Avión RC

Avión RC

Somos un equipo de 12 personas, interesadas en el campo de la aeronáutica, solicitar el concurso de SAE Aero, teniendo lugar cada año en Estados Unidos.Para este instructable necesita conocimientos básicos de:ANSYS: Las descargas anlaysis, utilizado
Para Wellness System - concurso de diseño de Digilent 2016

Para Wellness System - concurso de diseño de Digilent 2016

El propósito del proyecto es supervisar el esfuerzo, estrés, pánico o precursor miocardio momentos basan en impedancia de la piel. Que la impedancia de la piel podemos interpretar la variación de ésta en el tiempo. Sabemos que la impedancia de la pie
Detector de movimiento PIR con Arduino: Funciona en el modo de consumo de energía más bajo

Detector de movimiento PIR con Arduino: Funciona en el modo de consumo de energía más bajo

Este video demuestra rápido y acercamiento fácil de reducir el consumo de energía de ATMEGA 328p basado en placas Arduino en torno al 70-75% mediante sensores PIR o PID para detección de movimiento.Este proyecto introduce a raíz de las cosas-1) inter
GREENBIT - hacerlo crecer (INTEL IOT)

GREENBIT - hacerlo crecer (INTEL IOT)

IntroducciónNuestro objetivo es una innovadora tecnología inteligente que elimina la molestia de jardinería como la conocemos y permite a cualquier persona a cultivar sus propios alimentos y plantas de su móvil e interfaz web remotamente interior lo
Pasos para el análisis de propiedades de un Material de su curva tensión/deformación

Pasos para el análisis de propiedades de un Material de su curva tensión/deformación

Intro:"Este material particularmente comportamiento?" ¿Es frágil? ¿O es dúctil? ¿Y en qué grado? "¿Qué cargas puede que soportar antes de que se rompe?" Todas estas preguntas y más pueden ser contestadas por el análisis de la curva ten
Recuperación económica con la transmisión de agua

Recuperación económica con la transmisión de agua

esto es más de una de las paredes idea en lugar de un instructable. He tenido esta idea por un tiempo y fue basándose en la experiencia de los miembros de instructables para comentar sobre el mérito o la caída de esa idea. La idea es simplemente comp