Hello! Welcome to my portfolio page!
Hello! Welcome to my portfolio page!
OpenCV moving object detection
Hi, this is a little program to detect moving objects from a webcam.
Automatic injector. With battery protection circuitry, battery indicator, and C-charging port (Programmed on Arduino). The frame was designed in SolidWorks and 3D printed.
Li-po-charger with 5V boost converter Schemetics
This boost converter charger is capable to charge one cell of Li-po battery and boost the battery output from 3.7V to 5V as the output voltage.
Li-po-charger with 5V boost converter PCB layout
Buck-convter PCB layout
This buck converter is capable of converting a 12V-5V DC voltage to 5V DC voltage.
Multiple FPGA lab projects of RTL Hardware Designs;
-- Target Devices: Spartan 6 xc6slx9-3tqg144
-- Tool versions: Xilinx ISE Design Suite - 14.7
Music Player(Demo with sound!)
In this project, I will generate sine waves using a look-up table containing sine wave samples, an accumulator to index the lookup table, and a DAC to convert the samples to analog voltages. In this demo, I will output sine waves also, but with controllable volume and duration. You will test your code with a Matlab script that plays “Jingle Bells.”
Oscilloscope using Memory and ADC microcontroller
In this Two-part project, I will interface an Analog to Digital Converter (ADC) to your FPGA. In the first part, you will create a simple voltmeter by sampling the ADC output and displaying the result in Matlab. In the second part, you will sample the ADC output into buffers to be displayed in Matlab. This will serve as the basis for an oscilloscope.
Frequency Counter
Your frequency counter will display the frequency of an unknown input signal in a Matlab GUI, using the appropriate scale indicators (e.g. Hz, kHz, MHz, etc). The basic procedure is to count the number of edges in the input signal over a known interval of time,
RS-232, SPI, and I2C serial communication
This demowill use FPGA finite state machines (FSM) to send and receive data serially in three different formats: RS-232, SPI and I2C. Each PIC microcontroller contains three data translation tables, one for each protocol. Although the contents of these tables are intended to be secret (to prevent bypassing the PIC altogether), the table in the demo video shows the values returned by the PIC for select inputs:
Prime Factorization
This is the demo for Lab prime Factorization: The objective of this lab project is to implement unsigned division and use it to find prime factors of an input integer. The upper box of the GUI is a 48bit number and the lower box is the smallest prime number. The FPGA is in processing when the LED turns on. 101 is a prime number, therefore, the answer for 101 is 101. 1001's smallest prime number is 7. Therefore, the answer box shows 7 when the input is 1001
logic analyzer
In this lab, we will turn our FPGA board into a logic analyzer, and use it to examine the test signals from a microcontroller. The output of the microcontroller is square waves. Our logic analyzer will record 16 digital channels simultaneously and allow the recording to be transferred to the host computer (via Matlab GUI or function calls)
Driving Buttons with FPGA on Matlab interface
Using FPGA to drive simple Matlab interface
Driving Stopwatch with1FPGA
Using FPGA internal clock to dirve a stop watch
Driving Clock with FPGA
Using cascaded counter to drive a clock
In this project, we designed a Bio-Gaming system that allows the below-elbow amputee to play PC games. The system is developed with different bio sensors integrated with Arduino
Our system is theBest in the whole class!!
Bio-Gaming Controller using Accelerometer, Strain Gauge, Puff & Sip Sensors
Simple EKG monitor. The EKG monitor uses an instrumentation amplifier to monitor your heartbeat!
Project Report
Project power point
In this project, I explored serveral Approachs for Text to Speech translation. The final fine tuned model is able to produce Speech "Speech and Auditory Processing by Humans and Machines is a fun class." from 19 different speakers." The following are the results from state of art models and my implementation.
Click Play Icon to play sound !!
The following are results implemented with Multi-speaker TTS. Here I am only showing 4 samples, you can generate as many as 19 voices by differnet speakers:
Target voice: Speech and Auditory Processing by Humans and Machines is a fun class.
Speaker 1
Speaker 2
Speaker 3
Speaker 4
Click Play Icon to play sound !!
The following are results implemented with old approaches
Target voice: Speech and Auditory Processing by Humans and Machines is a fun class.
Concatenative TTS
Rule-Based Formant Synthesis TTS
WaveNet
Tacotron 2
Presentation and reports
Multi-Speaker TTS Presentation
Multi-Speaker TTS Report
Abstract: In this project, we propose two music generation model using the frameworks under generative adversarial networks(GANs). The first model is implemented with bi-LSTM generator and bi-LSTM discriminator. The second model is implemented with CNN generator and bi-LSTM discriminator. We train the proposed models on Lakh Pianoroll Dataset of over one hundred thousand bars of rock music. The final generated music is a single-track piano roll formatted piano track. The dataset is acquired from Dong. H.W et al., [2] We show our trained model can generate realistic, coherent, and aesthetic music with no need for data or hand-crafted features. Though the generate music quality fall short compares with human composition, future work will be done to add music tracks and improves the naturalness of generated music. The audio results are as following:
Simple GAN
GAN(CNN + LSTM) model
GAN(LSTM+ LSTM) model
Music Generation Presentation
Music Generation Report
This DNN-HMM model has an accrucy rate of 95.5% on a small database. For the code, please visit Github Repository
Recognition Results
Laser Ablation Presentation
Laser Ablation Report
Project Report
An 8-bit single-cycle processor which includes Instruction memory, Program Counter, Register file, Data Memory, Arithmetic and Logic Unit (ALU), and control unit, using Verilog HDL
8bit CPU Frame Work
Undergraduate Capston project, Website Fileter for WLAN
Poseter
Presentation Video
Undergraduate Capston project, Website Fileter for WLAN Report
DOUBLE FLYING CAPACITOR MULTICELL CONVERTER MATLAB SIMULATION
Multilevel converters are very interesting alternatives for medium and high-power applications. The main reason is the increase in the number of output voltage levels and its apparent frequency. This design presents a new configuration of flying capacitor multicell (FCM) converter. The main advantages of the proposed converter, in comparison with FCM and stacked multicell converters, are doubling the rms and the number of output voltage levels, improving the output voltage frequency spectrum, and canceling the midpoint of dc source.
As you can see on the right side of the picture, we have a smooth AC output signal