Academic Projects


Go back to top of the page

Detecting Arrhythmia in Heart Operation, Receiving and processing heart signals in order to detect arrhythmia and sending alert message to patient and the doctor

I completed this project as my Bachelor thesis and I won the second-best prize in senior design project showcase in Electrical Engineering Department of the Sharif University of Technology.

Introduction

Nowadays, heart disease is one of the major causes of death in modern societies. The main goal of this project is to develop a real-time processing system for heart signals that records ECG signals and detect Tachycardic and Bradycardic patterns in the heart signal waveform. The heart signals are recorded and after digitization, are ready for processing. In order to detect irregularities in heart operation, we have implemented several algorithms on the recorded digitized data and extract dominant features of the data using an ARM-based costume board. The outcome of data processing is transferred to a data center and the doctor’s cell phone by using a GSM module. A block diagram of the system is shown below.

BL

 

Arrhythmia (Irregular Heartbeat) Detection

Arrhythmia is a condition that heartbeat is irregular. Depending on the heartbeat rate, it may be classified as Tachycardia or Bradycardia. A Tachycardic heart rate is higher than 100 beats per minutes in a resting condition for adults while a Bradycardic heart rate is less than 60 beats per minute. An arrhythmia may have serious consequences such as cardiac death and stroke. The following videos (from watchlearnlive.heart.org/) show the normal, Tachycardia and bradycardia heart waveform.

Normal Heart Beat- 60 beats per minute

Ventricular Tachycardia

Bradycardia

In this project, we have demonstrated a real-time heart signal processing system that processes ECG signals using an ARM-based processing and detects Bradycardic or Tachycardic patterns in the recorded heart waveform. The technique which is used for detecting the irregularities in heart waveform is based on detecting the R-peaks in the recorded signal. Measuring the time interval between successive R-peaks results in Arrhythmia detection in heartbeat waveform. A typical heartbeat waveform is a periodic signal and it has a repetitive pattern over the time. One period of a heartbeat signal shown below and it is mainly composed of three sections. The maximum of the waveform is known as R-peakSinusRhythmLabels.svg

We have chosen frequency domain analysis to detect the R-peaks and implemented Discrete Haar wavelet transform function on an ARM processor. Although the Haar wavelet transform is not the best transform function in case of precision, but it is very simple to implement and the precision is acceptable.

1817_MEDAfter processing the data and extracting required information such as the type of irregularity, and the number of irregular patterns, the system send the information to a data center to be recorded in patients history and doctor’s cell phone. We used a GPRS/GSM SIM900 module for this purpose. The SIM900 module is used as a peripheral with the ARM processor.

Result

In order to test the performance of detection algorithm, we used MIT-BIH Arrhythmia Database that are actual recorded data from patients who suffer from Arrhythmia. The data is converted to a text file using WFDB and Cygwin software provided on Physionet website . A MATLAB code was developed and the outcome of implemented Haar wavelet transform from the ARM processor was compared with MATLAB code performance. It shows that the ARM processor system can detect 90% of R-peaks in the waveform when the window size is 10.

SIM900 module is connected to the ARM processor with a serial connection link. ARM processor configures SIM 900 module y sending AT commands to the SIM 900 module and it sends an SMS to the doctor’s cell phone which contains the patient name, time and type of irregularity in heart operation. We also developed a TCP listener program written with C# to receive the data from SIM 900 module and record them on a PC.

Go back to top of the page


 

Study and Simulation of Basic Antenna Design Parameter Analysis

This project is done as part of Antenna Engineering course instructed by Prof.Stuart Long. It is mainly divided into two main parts. In the first part, the characteristics of a finite length dipole antenna such as radiation pattern, nulls, and maxima in radiation pattern, half power beamwidth, directivity and input impedance are analyzed as a function of dipole antenna wavelength.

In the second part, we have studied antenna arrays and linear configuration is studied in details. We have developed a MATLAB code for plotting the magnitude of the array factor and calculating the half power beamwidth and sidelobe level for an N-element array with an arbitrary magnitude and phase distribution. Using the developed code for calculating array factor, we have calculated and plotted the pattern, beam width, and sidelobe level for a Hansen-Woodyard end-fire array. and compared with similar standard uniform arrays. We have Investigated how the beamwidth and sidelobe level is affected by other phase shift choices that are either larger or smaller than the Hansen-Woodyard choice.

You can find report of these projects here

Project 1- Part 1 —-Project 1- Part 2

Project 2- Part 1 —-Project 2- Part 2

Go back to top of the page


 

Implementation of a Factor-Analysis Methods for Higher-Performance Neural Prostheses

This is the final project for ELEC 548 course in Rice University Instructed by Prof. Caleb Kemere. We studied supervised and unsupervised learning algorithms useful for biomedical applications. For the final project, I have chosen “Factor-Analysis Method for Higher-Performance Neural Prostheses” for implementation and performed two different Factor Analysis (FA) algorithms on data set “ReachData.mat”. Decoding Accuracy with the new version of FA algorithm described in the paper is about 70% while it is about 90% using modified version of FA algorithm.

Reference: actor-Analysis Methods for Higher-Performance Neural ProsthesesGopal Santhanam, Byron M. Yu, Vikash Gilja, Stephen I. Ryu, AfsheenAfshar, Maneesh Sahani, Krishna V. Shenoy 

ELEC 548 Final Project Report

Go back to top of the page


An Area-Efficient FFT, Implementing an Area-Efficient 16 Point FFT on Xilinx Spartan 3AN

The aim of this project was to design a 16 point Discrete Time Fourier Transform (DFT) on  FPGA (Xilinx SPARTAN XC3s500E on Starter Kit). The specific application was to get the signal in floating point format in a block of 16 points (each point is 32 bit) and calculate the Fourier Transform to obtain the most significant energy domain(which frequency has the most part of the signal’s energy). Meanwhile, the goal is to have this operation Fast and Area-Efficient to  use the minimum possible area on the FPGA. So we used FFT to get the speed and we designed our own Finite State Machine (FSM) to reach the both goals.

ELEC 427 Final Project

Go back to top of the page