Java based Control GUI for Wireless Robotic Exo-skeletons
This project was a part of another NIH funded project for the Locomotor System Control Laboratory which aimed to control the various modes of ambulation assisting the subject to change to the following modes - passive, quasi-stiffness,manual and body-weight support, according to their need and comfort level. The GUI sends and receives acknowledgment from the TI C2000 micro-controller over the bluetooth, which in turn has all the motor control and torque requirements programmed on it in C. The scope of this project includes developing effective serial communication strategies and making the Bluetooth-interfaced control module robust enough to send command and receive acknowledgments from the exo-skeleton. Tools used:C, Java, Code Composure Studio, Elmo StudioII, KiCAD
FPGA based wearable Heart-beat detector and Arrhythmia classifier
Fitness trackers use photoplethysmography (PPG) to measure heart rates, but to be highly accurate, ECG heart monitoring is highly recommended which which not only help to monitor the proper functioning of the heart but also prevent arrhythmia conditions like Pre-ventricular or Articular Contractions from causing severe damage to the heart. The MATLAB based-modification of the Pan-Tompkins algorithm is converted to VHDL to be implemented on the SPARTAN-6 to analyze hardware utilization and efficiency in real-world noisy environments which gave an accuracy of 99.69%.Then using real-time input data from patients using ECG sensors and streaming it wirelessly into an watch or wearable device having a ASIC chip where the beat-classifier algorithm is loaded, to give the subject instantaneous reading of the subject's heart rate along with any abnormal behavior of the heart. Tools used:MATLAB, VHDL, HDL Coder, System Generator, Xilinx ISE, Cadence
Testing various Serial Communication strategies for efficient transfer of data on the MSP432 and ST-F303K8 ARM Cortex
This is a general theme of several of my projects that I prepared as a Teaching assistant for the undergraduate students in the course- Introduction to Electrical Engineering II. The spectrum of the projects revolved around analyzing the efficiency rates of UART, SPI and I2C strategies of serial communication and implement each in the best possible way according to requirements and capabilities on the system needing them. Tools used:C++, Energia, Code Composure Studio, Keil
Design and Implementation of Application Specific Integrated Circuit for Hearing Aids
This project involved programming for a design and application specific Mini Stereo Digital Audio Processor in C as well as in Verilog, by converting the given algorithm into code language, creating finite state machines for step wise execution of the algorithm and finally comparing the output with desired results, to get accurate deliverables else debugging by root-cause analysis. Tools used:C, Verilog, ModelSIM, Testing and Verification,Low-level Circuit Design
Building a mutually exclusive distributed system over a socket cluster network
The project scope comprised of development and implementation of the Raymond's mutually exclusive algorithm, imposing a logical structure (a K-ary tee) on the distributed resources using SCTP sockets over the UTD network cluster, consisting of 45 machines. The distributed system was modeled using greedy and non-greedy variants of the algorithm with respect to message complexity, response time and system throughput followed by a mechanism to test the correctness of our implementation, ascertaining that at most one process is in critical section at any given point of time. Tools used:Eclipse, Java, Linux, Socket programming, TCP-IP/SCTP networks
Optimizing cache design choices of the CPU
This project is aimed at generating an optimal cache design by making sensible trade-offs between cost and performance of the CPU, by comparing the L1 and L2 cache through a data of 5 SPEC CPU benchmarks. Tools used:Perl scripting, Linux, data-logging, Excel