In depth analysis of cardiac signals using new equipment and software
- (0) Download
https://www.eduzhai.net American Journal of Biomedical En gineer in g 2013, 3(4): 85-90 DOI: 10.5923/j.ajbe.20130304.01 In-depth Analysis of Cardiac Signals Using Novel Equipment and Software John Antonopoulos1, Konstantinos Kalovrektis2, Theodore Ganetsos3,*, N. Y. A. Shammas1, Laskaris Nikolaos3 1Staffordshire University, Faculty of Computing, Engineering & Technology, UK 2University of Piraeus, Informatics Department, Piraeus, Greece 3Electronics Department, T.E.I. of Lamia, Lamia, Greece Abstract An electrocard iogram (ECG) is a b ioelectrical signal wh ich records the heart’s electrical activ ity versus time. It is an important diagnostic tool for assessing heart functions. The interpretation of ECG signal is an application of pattern recognition. The techniques used in this pattern recognition comprise: signal pre-processing, QRS detection, creation of variables and signal classification. In this paper, signal processing and programs implementation are based in Matlab environment. The processed simu lated signal source came fro m the SIMULA IDS® interactive ECG simu lator™ device and the actual heart signals came fro m actual patients that suffer fro m various heart disorders, as well as healthy persons that hadn’t recorded any form of heart condition in the past.Matlab was used to develop a program that could further examine, analyze and study the ECG samples. Keywords Index Terms, Electrocard iogram, Mat lab, Signal pre-processing 1. Introduction The analysis of the electrocardiogram as a diagnostic tool is a relatively old field and it is therefore often assumed that the ECG is a simple signal that has been fully explo red. However, there remain difficult problems in this field that are being incrementally solved with advances in techniques fro m the fields of filtering, pattern recognition, and classification, together with the leaps in co mputational power and memory capacity that have occurred over the last couple of decades. While the ECG is routinely used to diagnose arrhythmias, it reflects an integrated signal and cannot provide information on the micro-spatial scales of cells and ionic channels. For this reason, the field of computational cardiac modeling and simulation has grown over the last decade. The aim of this paper is by using a novel system to develop methods to analyse and detect small changes in ECG waves and complexes that indicate cardiac diseases and disorders. ECGs are normally displayed with 25 mm on the horizontal axis representing one second, or 40 ms/ mm. The vertical axis is usually 10 mm per mVo lt. This means that a 1 mm square on the plot represents 0.04 s in time and 0.1 mV in voltage. There are conventions for labeling certain characteristic * Corresponding author: firstname.lastname@example.org (Theodore Ganetsos) Published online at https://www.eduzhai.net Copyright © 2013 Scientific & Academic Publishing. All Rights Reserved points on the ECG curve with letters. The distance fro m one of the prominent ‘R’ peaks to the next represents exactly the time between t wo heartbeats: this lets us readily determine the pulse rate (figure 1). This rate, exp ressed in beats per minute (or BPM) is displayed by the computer, and the pulse itself can optionally be output as an audio signal.[1,3] Figure 1. The interval between two consecutive points marked ‘R’ in the ECG trace gives the time between heartbeats 2. Technique Definition An ECG classification application typically aims to assign a given ECG record ing to a physiological outcome, condition, or category based on a set of descriptive measurements. A typical co mputerized ECG classification process consists of several stages that are illustrated in Figure 1. Measuring an ECG using a co mputer requires demanding real-t ime processing, most of wh ich is carried out 86 John Antonopoulos et al.: In-depth Analysis of Cardiac Signals Using Novel Equipment and Software in software. The hardware takes the form (Figure 3) of an instrumentation amp lifier and has the job of amplify ing the weak signal fro m the sensor (which has an amplitude of approximately 1 mV) by a factor of around 1,000, and attenuating DC, co mmon -mode, and high-frequency components. To obtain an (at least relat ively) clean ECG signal it is necessary carefully to filter out any interference. This was done in software using a biquad infinite impulse response filter. The filter can be configured for any of the required responses: low-pass, high-pass, band-pass and notch. A 50-Hz rejection filter removes interference originating fro m the mains, and other interference is attenuated using a further high-pass filter. Since the signal is obtained fro m electrodes on the skin it is possible that there will be a slowly-varying offset voltage: this is removed using a DC blocking filter. The main pulse of the ECG could be extracted using a band-pass filter, giving a signal fro m which it is straightforward to measure the pulse rate. The Java program allows display of either the original signal or the filtered version. The various filter functions can be selected and configured by the user, and the effect on the processed signal can be clearly seen. The pulse rate is calculated from its autocorrelation function, determin ing the period by comparing the signal against itself with a time offset. Figure 2. ECG Classification process Figure 3. Block Diagram of system 3. Methodology The circuit (Figure 4) can be divided into two blocks: the instrumentation amplifier itself at the input and the optocoupler isolation amplifier at the output. The signal is amp lified biquad operational amplifier IC1, type TL084 (or the lower-noise TL074). IC1.A and IC1.B are non-inverting amp lifiers, feeding the inputs of differential amp lifier IC1.C. This arrangement is known as an ‘instrumentation amp lifier’. P1 allo ws adjustment to obtain best common - mode rejection. Coupling capacitor C3 at the input to the next stage, built around IC1.D, blocks the DC co mponent of the output of the instrumentation amp lifier. To minimize the effect on low-frequency signals the time constant of the RC network formed by C3 and R10 is more than three seconds. This means that it will ta ke at least this long for the voltage across the capacitor to stabilize when power is applied: this delay can be avoided by pressing reset button S1. Optocoupler IC3 is driven by IC2. The type TS921 used is a ‘rail to rail’ opamp, wh ich means that it can be driven to either extreme of its supply voltage range. Its output can deliver up to 80 mA, although only approximately 2.2 mA is needed to drive the transmit LED in the optocoupler. American Journal of Biomedical Engineer ing 2013, 3(4): 85-90 87 Figure 4. Circuit of the instrumentation amplifier Figure 5. The populated prototype board explained The current through the transmit LED is controlled using feedback fro m one of the receiver diodes in the optocoupler fed in to the inverting input of the operational a mplifier. The result is that the voltage across R16 (the bias resistor for the second receiver diode) is equal to that across R14 and hence to the voltage at the non-inverting input to IC2. In other words, the voltage at the output of IC1.D appears across R16, but with galvanic isolation. C11 p revents high-frequency oscillation of the driver. The final opamp at the output of the circuit acts as a buffer amplifier. This makes for a low-impedance output, which is also short-circuit proof thanks to the 100 Ω resistors R17 and R18, forming a low-pass filter at the output in comb ination with C9. The complete galvanic isolation between input and output of the 88 John Antonopoulos et al.: In-depth Analysis of Cardiac Signals Using Novel Equipment and Software circuit provides for ext ra safety. The instrumentation 0.5 amp lifier and the output stage should be powered from separate batteries. 0.4 3.1. Components and Constructi on For resistors R3, R4 and R5 lo w-noise metal film types were used. C10 provides DC decoupling for the input amp lifiers, which p revents weak muscle signals fro m swamping the signal fro m the heart. Instead of the tube, disposable self-adhesive ECG electrodes can be used. In order to do so, the capacitor would be replaced by a wire link. If the TS921 should prove hard to obtain, a type TL071 can be substituted at the cost of reducing the dynamic range of the circuit somewhat. The 43 kΩ resistor (value fro m the E24 series) can also be replaced by a different value, adjustment of P1 co mpensating for the difference. IC3 is supplied with its pins bent at a right angle. To fit the circu it board they needed be bent apart (Figure 5): this was necessary in order to guarantee the necessary isolation gap. P1 can be adjusted for best common mode rejection. For best results a connection of the inputs of the instrumentation amp lifier and adjustment of P1 to minimize the amp litude at the output of the 50 Hz signal picked up by the circuit was necessary. This measurement can be done using the Matlab program as will be seen later on. The heart signal sensor used for the tests consists of two adapters that can grab naked cables or metallic tips of patches like the ones used for measuring ECG signals onto humans. Th is is mo re convenient and makes the device portable with minimu m loss of signal and minimu m input of undesired noise that could jam the measurements. The same grabbers were used to connect the audio cable that connects the PC to the audio line (or microphone input). Most computers use a 3.5 mm stereo jack. 3.2. New Functi ons Created for this Research (to read files ECG of ECG hardware) 0.3 0.2 0.1 0 -0.1 -0.2 -0.3 -0.4 0 2 4 6 8 10 12 x 104 Figure 6. Output of an SNR As seen in figure 7, in 10 seconds the simulated heart gave 12 beats. If the measurement is expanded in 60 seconds, the simu lator would give 72 heartbeats, which is confirmed fro m the user manual of the simu lator. 0.5 0.4 0.3 0.2 0.1 0 -0.1 The first program created to Matlab was about the need to read the signals that are leaded from the output of the construction, to the input of the sound card. This program is consisted from the fo llo wing lines: Fs =11 0 25; Sig n al=wav reco rd ( 1 0* Fs ,Fs ); These lines are used to read a healthy cardiac signal fro m the simulator (Rate: 72Bp m) and the output is shown in figure 42. The variab le Fs is the waveform rate (11025 KHz) and the 10*Fs are the seconds measured, which are 10 (figure 6). -0.2 -0.3 -0.4 0 1 2 3 4 5 6 7 8 9 10 Figure 7. The 110250 spots are divided with the waveform rate which was 11.025 KHz and the graphical now is in seconds This is the basic co mmand that will be used in the program in the graphical interface, so checking and reading of the board is made. American Journal of Biomedical Engineer ing 2013, 3(4): 85-90 89 Figure 8. The starting page of the program in which only the drawing output and the box where the insertion of the seconds measured are shown. The “ run” button performs the original routine Figure 9. Figure 6 as shown in the graphical interface of the program Next step on the analysis and process of the heart signals is the calculation or the heart rate. In order to do so, a measurement of how many t imes a higher state in the signal in 10 seconds time is seen, had to be done. Then an escalation of it to 60 seconds is followed. Fro m figure 6 it became obvious that in 10 seconds time the construction measured 12heart beats, thus 72 heart beats per minute (hbpm). For the needs of a fast measure of the heart rate a program that is consisted from the fo llowing lines was created: clc clear a % to clear a clear b % to clear b clear n 1 % to clear n 1 clear x1 % to clear x1 clear n % to clear n1 clear x % to clear x1 john=0; x=signal; % x equals our signal xx= x/ max(x); % normalizing amp litude by divide signal with its maximu m value nn=[1:length(xx)]'/11025; % axis x is the length divided by the waveform rate b=0; % we equal b to zero a=ime xtendedma x( xx, 1); for i=2:length(a)-1 if a(i)==1 & a(i-1)==0 & a(i+1)==1 a min=( i); end if a(i)==1 & a(i-1)==1 & a(i+1)==0 % a ma x=( i); v (i)=max(xx(amin :amax)>0.85); % we record the max variab le of the temporary xx wh ich corresponds to the top states end end n1=nn(a); x1=xx(a); plot(nn,xx,n1,x1,'r.') % we plot our signal and the top states it calculated peaksno=sum(v~=0); % we calcu late all of the peaks Rhythm=(peaksno*60)/ length(nn) % we calcu late the rate, based on the minutes it recorded. With the above program calculat ion of the heart rate and the coding works is made as fo llows. At first all the variants equals to zero. Then the variable x is stated as the signal and that variable xx is the normalized signal. Next, nn are the numbers of the horizontal axis that define time, in seconds because earlier all of the numbers were divided to 11025 which is the waveform rate (Hz). 1 Hz is 1 circle per second, so 11025Hz a re 11025 c irc les per second, so since the signal has measured 110250 spots, it has counted 10 seconds. Then with command imextended max(xx,1); the program equals 1 with all the values that are around the top. In this way, a board (board a) that is consisted by 1 and 0 is created. With commands “for” and “if”, isolation of the entire areas one by one and search the max xx for each one follows. Th is way “board V” which is consisted by “xx” and “0” is created (where there is not a tag due to non existence of peak, 0 is inserted). Next with co mmand sum(v~=0) all the max values are measured. With Rhythm=(peaksno*60)/length(nn) all the max values fro m the seconds which the construction measured in 60 in order to define the rate per minutes are escalated. This code was installed to the program in figure 45 along with the capability of the manual calculation of the heart rate. Th is function was installed due to some cases the heart disorder is so great that the earlier and standard thresholds couldn’t help. Also this capability to manually 90 John Antonopoulos et al.: In-depth Analysis of Cardiac Signals Using Novel Equipment and Software calculate the heart rhythm in case someone would want to double check the output of the program (figure 10). fro m various heart disorders, as well as healthy persons that hadn’t recorded any form of heart condition in the pas t. For the creation of the database in this research, 5 types of ECG waveform were selected fro m the ECG simu lator device. These are normal sinus rhythm (NSR), ventricular tachycardia (VT poly ), ventricu lar fibrillation (VF), Atrial fibrillat ion (A FIB) and supra ventricular tachycardia (SVT). An essential part of this research was the development of a portable high resolution ECG dev ice, capable of connecting with, either an ECG simu lator device, or recording real human data. This device is able to produce higher resolution than norma l ECG devices and high values of Signal to Noise Ratio (SNR). REFERENCES Figure 10. The program 4. Conclusions In this research, signal processing and programs implementation are based in Matlab environment. The processed simu lated signal source came fro m the SIMULA IDS® interactive ECG simu lator™ device and the actual heart signals came fro m actual patients that suffer  Caroubalos C, Perche C, M etaxaki-Kossionides C, Sangriotis E, M aroulis D.(1988). “Method for an automatic analysis of the ECG.” J Biomed Eng  Ι. Antonopoulos, N.Y.A. Shammas, S. Grainger, I. Taylor, Th. Ganetsos, N. Laskaris and A. Karatradou, “New Methods for analyzing Cardio Signals”, Proceedings of 21st Intern. M edicine Conference, 23-26 November 2006, Thessalonica, Greece, pp. 372.  Jane, R., Laguna, P., Thakor, N. V., & Caminal, P. (1992). Adaptive baseline wander removal in the ECG: Comparative analysis with cubic spline technique (pp. 143-146).
... pages left unread,continue reading
Free reading is over, click to pay to read the rest ... pages
0 dollars，0 people have bought.
Reading is over. You can download the document and read it offline
0people have downloaded it