Article: A Flexible Microcontroller-Based Data Acquisition Device
by Darko Hercog and Bojan Gergi
Sensors 2014, 14(6), 9755-9775; doi:10.3390/s140609755 Received: 25 March 2014; in revised form: 23 May 2014 / Accepted: 27 May 2014 / Published: 2 June 2014 Show/Hide Abstract | PDF Full-text (2027 KB) | HTML Full-text | XML Full-text (This article belongs to the Section Physical Sensors)
Nader Bagherzadeh, Siu Kit Cheng, Paulo Leong, Vanessa Herrera Advisor: Dr. Jeff Omens UCSD Bioengineering senior design project group 8 Abstract Introduction Design Alternatives Decision Matrix Design Solution Prototype Results Discussion Contributions References The testing of the proposed ECG filtering program consisted of gathering the ECG data using a bio amplifier (AD630) and with the use of an analog of digital convertor to transfer the ECG signals to Labview where different filtering could be performed using Matlab code. In order to create a prototype that could be used to test the efficiency of the program, all parts of the proposed design were individually tested. First Labview 8.2 was installed on a laptop, and proper drivers were installed for the Analog to digital convertor. Next using a signal generator, the ADC was tested and working in Labview. Next the matlab code was created and tested. For p rototype testing, only the filtering programs were tested.
To assess the performance of the matlab code, several 3-lead ECG were recorded and saved in text files. The recorded text files were useful in testing the filtering because in order to optimize and create a high performaning program, it is important to be able to manipulate the data, therefore testing the matlab program in real-time would have been a limitation. After testing these matlab files, the filtering programs can be inserted in Labview and used in real time. Results from testing and discussion
20 different ECG measurements were recorded and analyzed. It can be seen that the SNR in the filtered data is much greater compared to the original ECG measurement. This indicates that the filtering decreased noise levels while not attenuating the amplitude of raw signal. Graph 1 consists of the overlapping signals of the filtered and not filtered data, and it can be seen how the filtered ECG signal has a lower error amplitude which consists of high frequency fluctuations. The noise amplitude was taken at the isoelectric region of the ECG measurements, where by theory the amplitude of the isoelectric line is considered to have an amplitude of zero. [http://mauvila.com/ECG/ecg_fundamentals.htm] Then the amplitude of the QRS segment was taken to be the amplitude of the signal ratio after subtracting the error amplitude of it. The SNR was calculated as SNR = 20log10(signal/noise). A t-test was going to be performed by comparing the results of the filtered ECG signal using our program compared to that of commercial grade products. The golden standard device, the humbug, was unable to filter out any of the signal and did not properly work with the AD630 bioamplifier. This could result from the ECG data containing a great amount of noise that it could not differentiate between the noise and the raw signal.
Figure XX displays the power spectrum graph, in which random noises at different frequency was filtered. A peak at 400Hz causes the high fluctuation of the data, a higher resolution ECG could be obtained after removing the 400Hz noise.
Also, the amplitude at 60 Hz decrease but not completely filtered. That is because the ECG contains important information at that frequency. If a notch filter is applied, and the signal at 60Hz is completely filtered, the data would be distorted. At 15 and 30 Hz, the amplitude of the power spectrum are the same after filtering, this is because ECG has its own waveform and frequency, P wave is around 10-15Hz, where QRS complex has the frequency between 10 to 50Hz. An unpaired t-test was analyzed to if the data sets of the filtered and unfiltered measurements were statistically different. The P value of the two tailed equaled 0.001. The difference between the data is considered to be very statistically significant. [http://www.graphpad.com/quickcalcs/ttest2/] The t value was calculated to be 4.4 while the df was calculated to be 11. The 95% confidence interval of the difference of the mean is between 9.964 and 29.833. This statistical testing helps us state that the filtered data was in fact different than the noisy data, which from comparing the power spectrum density, it can be seen that the noise is filtered. Limitations The number of ECGs selected was based on the time availability of obtaining ECG measurements. Biosignals usually have a great amount of variability between different testing subjects, and it could have been seen with the data. The Signal to noise ratio (dB) measured in the noisy ECG had standard deviation of 4.9222. This resulted from the contrasting signal amplitudes of the raw signal. This was the same case for the filtered ECG. The standard deviation of the SNR for the filtered ecg data was much lower 10.50000, due to the proportional signal to noise ratio after filtering the data. Another limitation in the prototype testing was not being able to compare the result to a high performing device. A device called Humbug is designed in laboratory to eliminate the noise. It was original planned to compare the SNR to our data, but it was malfunctioning. Therefore, there is no standard value to compare our result with. During the testing phase, many modifications were made on the matlab programs. We were unable to use the filtering parameters that was first planned, i.e using the traditional band pass, low pass and high pass filters due to the distortion of the data. Make a free website at Webs.com
https://www.youtube.com/watch?v=Z8_4aP39K5Y Live ECG Acquisition with Arduino and Labview : INA 114 IA with Arduino based Filtering
rupam rupam Published on Jul 2, 2014 INA-114 based Amplifier. Rg=1K Left lead= Pin 2 with 470Ohm. 10K from 2 to ground as Pull down resistor Right lead= Pin 3 with 470Ohm. 10K from 2 to ground as Pull down resistor. Output passed to Arduino Pin A0 with 1uF capacitor
The Whole filter is implemented in Arduino http://jeroendoggen.github.io/Arduino... And Smooth function. Sampling Rate: 300
To make analogRead more stable: analogRead; delayMicroseconds 500; analogRead 0;
It compensates for ADC error. In LabView side: Visa is used to continually acquire data.
However interpretation is there is no substitution for hardware filters. When you remove the leads, floating noise still exists even with pull down resistor.