Submit manuscript...
International Journal of
eISSN: 2573-2838

Biosensors & Bioelectronics

Research Article Volume 4 Issue 3

Analysis of human biosignal information with developed application software for ECG, EMG, EEG and speech signals

Ajani Adegbenro Sunday,1 Olusope Micheal Alade,2 Oluwatayo Sandra Ajani,3 Oladosu Jamiu Alabi4

1Department of Physics and Material Sciences, Kwara State University, Nigeria
2Department of Pure and Applied Physics, Ladoke Akintola University of Technology, Nigeria
3Ladoke Akintola University of Technology Teaching Hospital, Nigeria
4Osun State College of technology, Nigeria

Correspondence: Ajani Adegbenro Sunday, Department of Physics and Material Sciences, Kwara State University, Malete, Ilorin, Nigeria

Received: April 27, 2018 | Published: June 6, 2018

Citation: Sunday AA, Ogunbode OA, Ajani OS, et al. Analysis of human biosignal information with developed application software for ECG, EMG, EEG and speech signals. Int J Biosen Bioelectron. 2018;4(3):130137. DOI: 10.15406/ijbsbe.2018.04.00112

Download PDF

Abstract

This paper repots the development of a flexible, robust and user friendly application software for the analysis of human biosignal information. Biosignals are time-varying electrical signals observed in living beings, which can be continually monitored for clinical diagnoses with suitable software. For this research, application softwares for biosignal information were developed with C programming language on MPLAB 4000 ICE. Codes for the analysis and graphical interface session were written using MATLAB 2013a. The programmes were compiled; the system encased and tested successfully with 10 patients per hospital, at five University Teaching Hospitals in South Western Nigeria and development of robust and flexible application software for the analysis of biosignal data was also achieved.

Keywords: software, biosignal, programming, medical

Abbreviations

ECG, electrocardiogram; EEG, electroencephalogram; EMG, electromyogram; EOG, electrooculogram; ERG, electroretinogram; COM 1, communication port one; BPM, beat per minute; FFT, Fast Fourier Transform

Introduction

Biosignals are biomedical signals which represent collective electrical and mechanical signals obtained from organs in human body to represent different physical variables of interest. The signals exist as time functions and are describable in terms of their amplitudes, frequencies and phases. These complex biosignals are generally controlled by the nervous system which is responsible for the transfer, sending and reception of generated micro- information or less from different body parts to the brain for processing.1,2 Few organs among many that generate biomedical signals include the following;

Biosignals are biomedical signals which represent collective electrical and mechanical signals obtained from organs in human body to represent different physical variables of interest. The signals exist as time functions and are describable in terms of their amplitudes, frequencies and phases. These complex biosignals are generally controlled by the nervous system which is responsible for the transfer, sending and reception of generated micro- information or less from different body parts to the brain for processing.1,2 Few organs among many that generate biomedical signals include the following;

  1. The heart which generates electrocardiogram (ECG);
  2. The brain which produces electroencephalogram (EEG);
  3. The activity of the muscles that produces electromyogram (EMG);
  4. The movement of the eyes generates electrooculogram (EOG); and
  5. The retina produces electroretinogram (ERG).

Among these physiological signals, EMG, ECG and EEG are the most important to be monitored because detailed measurement and analysis of the various electric signals produced by the body can supply vital medical predictions as to normal or pathological functions of the organs.3 Abnormal heartbeats can be readily diagnosed through electrocardiography. Electroencephalogram signals are interpreted by Neurologists to spot epileptic seizure episodes in patients. Signals from the muscles activities can be helpful in assessing neuromuscular disorders through electromyography, and irregular movement of the eyes can be diagnosed using electrooculography.4 The processes required in the analysis of biomedical signals mostly consist of at least four stages:

  1. Signals acquisition;
  2. Signals Conditioning;
  3. Computation of signal parameters that are diagnostically significant; and
  4. Interpretation or classification of the acquired signals

The research development approach

Development stages of the Firmware

Development of firmware is one the most involving task in this research. Figure 1 gives the full description of all the stages involved and procedure taken in the design of the firmware. Different algorithms and flowcharts were written, drawn, and these include flowchart for firmware development and data capturing, as described in (Figure 2) (Figure 3). The procedure followed in writing application software is called cycle development. During this stage, codes were written, tested, corrected or modified to ascertain accurate performance of the design. Two integrated development environment were used in this research for the control of microcontroller and interface analysis. MPLAB was employed for the development of firmware and coded with C-programming language, while MATLAB was used to simulate the interface.

Software development and microcontroller coding

Code writing for a complex system like biosignal analysis for basic biomedical parameters entails not a little task. Knowledge of high programming languages and, or even Neural networking, such as Linear discriminate analysis (LDA), has to come into play. The prototype task for coding an embedded microcontroller application includes; creation of high grade design, compiling, assembling and linking. Testing of the code was finally done before the code was burn into device. Each of the biomedical signal are tested separately before they were fused.

Create the high grade design

Selection of appropriate microcontroller is pertinent in this stage. Pins and other peripherals to be used were determined then hardware and firmware control were written. A language tool such as an assembler, which can be translated directly to a machine code, should be used .5 A complier that allows many languages was used for this stage of the work with C programming language, for writing and editing of codes. The compiler makes the code readable, allows label functions to identify code sub-routines with variable identification and code maintenance.

Testing and burning of codes

Complex program such as this is not expected to work perfectly until bugs are removed from the design to obtain a better result. Debugger permits the program to see zeros and ones (0 and 1) related to the source codes that were written. It gives function names and symbols for the program. Codes burn into PIC118F4450 and verifications in the finished application was executed. Once the codes have been built, they can be controlled and optimized for speed and size by the compiler and the program information and variables were programmed into the device. At some points where there is a malfunction language tool during application building, the offending line is displayed and when double clicked, moves straight to the affected source code file for editing. This process was repeated several times until all editing’s were ascertained, then a built button is clicked. Debuggers were used as free software simulator to test the codes. This enabled the programs to be run and tested before the hardware component was finally built. MPLAB ICE 4000 in-circuit debugger emulator was used at this stage, giving room for a very efficient coding for the control of PIC to be achieved. MATLAB 2013a (8.1.0.604, 64-bit license number: 724504) was finally used for the development of graphical user interface, for data acquisition and analysis. The details of the procedure, step by step for analysis of data are described in Figure 4.

Figure 1 Stages followed during Firmware Development.

Figure 2 Flowchart for Firmware Development.

Figure 3 Flowchart for Data Capturing.

Figure 4 Flowchart for data Analysis.

Results and discussion

Biosignal system application software

One of the worthwhile tasks of this research is to develop application software to acquire, process, analyse, display and interpret four distinct biosignals under investigation. The software was tested to handle the analysis of EMG, ECG, EEG and Speech signal parameters of any subject. The programs were written with C programming language and MATLAB 2013 was used to develop the graphical user interfaces. This software runs well on windows Vista, widow x, windows 7 to 10 operating systems and any operating system configured to run MATLAB.

Operational interface

There are two interfaces designed for biosignal measurements on the MATLAB. One takes care of biosignal data capturing, while other handles data analysis.

Biosignal capturing interface

The biosignal capturing user interface is initiated by launching the MATLAB programme through shortcuts. An alternative way to launch the program is to go through the program file. The programme command is then typed on the displayed MATLAB interface, already endowed with HOME, PLOTS and APPS menu as shown in Figure 5, or copied to the interface from biosignal stored file in the drive C as ‘‘Biosignals_Capture’’. This will bring out the biosignal components user interface. Figure 6 shows biosignal component user interface. The interface has different features, coded under four main dialog boxes as listed below:

New subject dialog box: This box consists of New Session, Electrocardiography (ECG) check, Electromyography (EMG) check, Electroencephalography (EEG) check, Speech signal check, Acquire command and Stop command. Signal or multiple of signals to be acquired are selected by checking the respective signal(s). The Stop command is then clicked once the selected signals have been acquired. Checking a New Session Command will bring columns for patient registration details having them as ‘‘Your name’’, Date and Index. Once the patient details are entered, a command coded as ‘‘Create a Patient File’’ is checked to register the details into the data base at drive C of the computer memory.

No of bytes received: This session is programmed to display the number of bytes received from the transmitter for any of the recorded signal being transmitted. The bytes are sent in packets for speed. This session was deemed essential so as to ascertain whether all the signal packets transmitted are completely received.

Communication port box: This box consists of the communication port to be used with the receiver line driver; communication port one (COM 1) is used in this research, but it can be modified at will for flexibility of the system. The CONNECT button is the command to be clicked to link the transmitter to the receiver. The Free Serial Port is used to reset and refresh the interface to a new session.

ADS1299 channels settings: This section contains seven channels programmed in the ADS1299 amplifier labelled as Channel 1, Channel 2, Channel 3, Channel 4, Channel 5, Channel 6, Channel 7; and a reference channel labelled as Channel 8. Each of the first seven channels can be set to pick any of the ECG, EMG or EEG signal at a time.

Signal analysis: This is the box where the signal to be analysed is selected. The commands of the four signals are located in this box and they are labelled as ECG Analysis, EMG Analysis, EEG Analysis and Speech Analysis. The interface of the desired signal for analysis is designed to pop up immediately the analysis is checked. Figures 7-10 display the interface for the respective signal analysis. Each interface contains subsection commands as given below:

  1. ECG data analyser: This is the interface where the analysis of ECG data is being performed and processed. The interface comprises the following:
    1. Select channel: This command is used to choose which channel is to be used at a time. Any channel selected should tally with the one selected on the main biosignal interface. There are seven channels located under this command and any one of the seven can be checked at a time.
    2. Export data: ECG data can be exported here either as a portion of the window or as the whole window.
    3. Import data: This command imports data stored from the drive C of the system and makes it available for analysis. The modality for data importation is made in interval of hundred
    4. Previous: This command takes the window back step wisely.
    5. Next: Clicking on Next icon will take the window forward step wisely
    6. Run: Clicking on Run will make the window to start displaying the analysed data from the beginning to the last packet.
    7. Frequency domain analysis: Frequency domain analysis can be done by checking Fast Fourier Transform, wavelet transform approximate or wavelet transform detailed. Expression of these analyses will be discussed deeply in the later part of this chapter.
    8. Beat detection: Beat is detected by checking the peak detection.
    9. Window parameters: This consists of the window size which is of order 2n, minimum, maximum and RMS values for both the main channel and the reference channel. Window parameters also include the statistical tools, Kurtosis and Skweness.
    10. BPM: This command gives the values for beat per minute of the human heart.
  2. EMG data analyser: This is the interface where the analysis of EMG data is being performed and processed. The interface comprises the following:
    1. Select channel: This command is used to choose which channel is to be used at a time. Any channel selected should tally with the one in selected on the main biosignal interface. There are seven channels located under this command and any one of the seven can be checked at a time.
    2. Export data: EMG data can be exported here either as a portion of the window or as the whole window.
    3. Import data: This command imports data stored from the drive C of the system and makes it available for analysis. The modality for data importation is made in interval of hundred
    4. Previous: This command takes the window back step wisely.
    5. Next: Clicking on Next icon will take the window forward step wisely
    6. Run: Clicking on Run will make the window to start displaying the analysed data from the beginning to the last packet.
    7. Frequency domain analysis: Frequency domain analysis can be done by checking Fast Fourier Transform, wavelet transform approximate or wavelet transform detailed.
    8. Window parameters: This consists of the window size which is of order 2n, minimum, maximum and RMS values for both the main channel and the reference channel. Window parameters also include the statistical tools, Kurtosis and Skweness.
  3. EEG data analyser: This is the interface where the analysis of EEG data is being performed and processed. The interface comprises the following:
    1. Select channel: This command is used to choose which channel is to be used at a time. Any channel selected should tally with the one in selected on the main biosignal interface. There are seven channels located under this command and any one of the seven can be checked at a time.
    2. Export data: EMG data can be exported here either as a portion of the window or as the whole window.
    3. Import data: This command imports data stored from the drive C of the system and makes it available for analysis. The modality for data importation is made in interval of hundred
    4. Previous: This command takes the window back step wisely.
    5. Next: Clicking on Next icon will take the window forward step wisely
    6. Run: Clicking on Run will make the window to start displaying the analysed data from the beginning to the last packet.
    7. Frequency domain analysis: Frequency domain analysis can be done by checking Fast Fourier Transform, wavelet transform approximate or wavelet transform detailed.
    8. Window parameters: This consists of the window size which is of order 2n, minimum, maximum and RMS values for both the main channel and the reference channel. Window parameters also include the statistical tools, Kurtosis and Skweness.
  4. Speech data analyser: This is the interface where the analysis of Speech data is being performed and processed. The interface comprises the following:
    1. Select channel: This command is used to choose which channel is to be used at a time. Any channel selected should tally with the one in selected on the main biosignal interface. There are seven channels located under this command and any one of the seven can be checked at a time.
    2. Export data: Speech data can be exported here either as a portion of the window or as the whole window.
    3. Import data: This command imports data stored from the drive C of the system and makes it available for analysis. The modality for data importation is made in interval of hundred
    4. Previous: This command takes the window back step wisely.
    5. Next: Clicking on Next icon will take the window forward step wisely
    6. Run: clicking on Run will make the window to start displaying the analysed data from the beginning to the last packet.
    7. Frequency domain analysis: Frequency domain analysis can be done by checking Fast Fourier Transform, Linear Prediction coefficients and Cepstral Coefficients.
    8. Window parameters: This consists of the window size which is of order 2n, minimum, maximum and RMS values for both the main channel and the reference channel. Window parameters also include the statistical tools, Kurtosis and Skweness.
    9. Play: This command play the imported speech data from drive C.

Figure 5 Programme interface of MATLAB 2013.

Figure 6 Biosignal component user Interface.

Figure 7 Interface for ECG Analysis Command.

Figure 8 Interface for EMG Analysis Command.

Figure 9 Interface for EEG Analysis Command.

Figure 10 Interface for Speech Analysis Command.

Presentation of results

The results obtained from patients in the teaching hospitals are presented in this section. The analyses are grouped into four signal types under each biosignal. Fast Fourier Transform Frequency Domain Analysis for ECG, EMG, EEG signals are given in Figures 11-13. In Figure 14, the samples of result obtained using Fast Fourier Transform Frequency Domain Analysis for Speech Signals are also presented. The Result of Wavelets Transform Approximate Frequency Domain Analysis for ECG, EMG, EEG Signal are shown in Figure 15-17. Samples of result obtained using Wavelets Transform Detailed Frequency Domain Analysis for EEG, EMG, EEG Signals are given in Figure 18-20. Sample of result obtained using Linear Prediction Coefficients Frequency Domain Analysis for Speech Signals is shown in Figure 21. Sample of result obtained using Cepstral Coefficients Frequency Domain Analysis for Speech Signals is given in Figure 22.

 Discussion of experimental result obtained and interpretation

The software developed was coded in a manner that all the values obtained were made conspicuous on the interface. Designated channel of the electrodes corresponding to each biosignal were calibrated, and respective wave form for different signals can be read in time domain or frequency domain. Signals in time domain were represented at different windows giving the minimum, maximum, average and root mean square values. The colour for the wave form at time domain analysis is laced with red while that of the frequency domain is coded in green.     In frequency domain, signals were expressed and interpreted using Fast Fourier Transform (FFT), Wavelet Transform Approximate and Wavelet Transform Detailed. FFT handles fundamental frequency, first harmonics and second harmonics, with beat per minute (BPM) configured only for ECG. Also values for minimum, maximum and RMS were configured for both wavelets approximate and wavelets detailed. The speech signal is interpreted with linear prediction and Cepstral coefficients. All the signals are equally analysed with kurtosis and their Skweness values are duly expressed. Codes that implement the analyses and interpretations were stored. Window sizes considered are 128, 256, 512, 1024 and 2048 packets.

Figure 11 Fast Fourier Transform Frequency domain Analysis for ECG at 512 WS.

Figure 12 Fast Fourier Transform Frequency Domain Analysis for EMG 1024 WS.

Figure 13 Fast Fourier Transform Frequency Domain Analysis for EEG 512 WS.

Figure 14 Fast Fourier Transform Frequency Domain Analysis for Speech Signal at 128 WS.

Figure 15 Wavelets Transform Approximate Frequency Analysis for ECG Signal at 1024 WS Frequency. .

Figure 16 Wavelets Transform Approximate Domain Analysis for EMG Signal at 256 WS.

Figure 17 Wavelets Transform Approximate Frequency Analysis for EEG Signal at 1024 WS.

Figure 18 Wavelets Transform Approximate Frequency Analysis for EEG Signal at 1024 WS.

Figure 19 Wavelets Transform Detailed Frequency Analysis for EMG Signal at 1024 WS.

Figure 20 Wavelets Transform Detailed Frequency Domain Analysis for EEG Signal at 256 WS.

Figure 21 Linear Prediction Coefficients Frequency Domain Analysis for Speech Signal at 128 WS.

Figure 22 Cepstral Coefficients Frequency Domain Analysis for Speech Signal at 256 WS.

Conclusion

The development of a flexible, robust and user friendly application software for the analysis of human biosignal measurement was also achieved, with high speed data processing for storage compartment. This research has been able to develop software that can handle biosignals, the software was tested to handle the analysis of EMG, ECG, EEG and Speech signal parameters of any subject.6–18

Acknowledgements

None.

Conflict of interest

Author declares that there is no conflict of interest.

References

  1. Euno OT, Chan FHY, Yang YS, et al. Fuzzy EMG classification for prosthesis control. IEEE Transactions Rehabilitation Engineering. 2012;8(3):305–311.
  2. Jim Blascovich, Mark D Seery, Carrie A Mugridge, et al. Predicting athletic performance from cardiovascular indexes of challenge and threat. Journal of Experimental Social Psychology. 2004;40(5):683–688.
  3. Ampornaramveth V, Hasanuzzaman M, Zhang T, et al. Gesture based human–robot interaction using a frame based software platform. IEEE Int Conf Man Cybernet. 2004;3:2883–2888.
  4. Sheida N. 2D Channel Identification, Equalization and Detection for Holographic Data  Storage Systems. Carnegie Mellon University; 2005.
  5. Alade MO, Ajani AS. Performance evaluation of UHF wireless digital gait monitoring instrumentation for long range data transmission. International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering. 2013;2(1):696–704.
  6. Barkhaus P. EMG Evaluation of the Motor Unit Electrophysiologic Biopsy. 2012.
  7. Gardner RM, Shabot MM. Patient Monitoring Systems, Biomedical Informatics. 3rd ed.New York: Computer Applications in Health Care and Biomedicine, Springer; 2006.
  8. Hodgins D. Human Motion Analysis, Medical Device Technology. Codicote, UK: European Technology for Business Ltd;2008.
  9. Plevin E, Zazula D. Decomposition of surface EMG signals using non-linear LMS optimisation of higher order cumulants. Proceedings of the 15th IEEE Symposium on Computer-Based Medical System; 2002. p. 149–154.
  10. Ping Z, Rymer WZ. Motor unit action potential number estimation in the surface electromyogram: wavelet matching method and its performance boundary. Proceedings of the 1st International IEEE EMBS Conference on Neural Engineering; 2003. p. 336–339.
  11. Premaratne P. ISAR ship classification: an alternative approach. Australia, CSSIP-DSTO   Internal Publication; 2003.
  12. Kaplanis PA, Pattichis CS, Hadjileontiadis LJ, et al. Bispectral analysis of surface EMG. 10th Mediterranean Electrotechnical Conference. 2000;2:770–773.
  13. Shouldice R, Heneghan C, Nolan P, et al. PR and PP ECG intervals as indicators of autonomic nervous innervation of the cardiac sinoatrial and atrioventricular nodes. In Proceedings of 1st Int. Conference on Neural Eng; 2003. p. 261–264.
  14. Trägårdh, E, Claesson M, Wagner GS, et al. Reduced highfrequency QRS components in electrocardiogram leads facing an area of the heart with intraventricular conduction delay due to bundle branch block. Journal of Electrocardiology. 2007;40(2):127–132.
  15. Ue H, Masuda I, Yoshitake Y, et al. Assessment of cardiac autonomic nervous      activities by means of ECG RRinterval power spectral analysis and cardiac depolarization-repolarization process. Annals of Noninvasive Electrocardiology. 2000;5(4):336–345.
  16. Van Bemmel J, Musen M. Handbook of medical informatics. 2nd ed. Houten: Springer, 1997. p. 336–345.
  17. Virtanen R, Jula A, Salminen J, et al. Anxiety and hostility are associated with reduced baroreflex sensitivity and increased  beat-to-beat blood pressure variability. Psychosomatic Medicine. 2003;65:751–756.
  18. Wasmund W, Westerholm E, Watenpaugh D, et al. Interactive effects of mental and physical stress on cardiovascular control. J Appl Physiol. 2002;92:1828–1834.
Creative Commons Attribution License

©2018 Sunday, et al. This is an open access article distributed under the terms of the, which permits unrestricted use, distribution, and build upon your work non-commercially.