Personal Projects

Ellipse Visualizer

I created an Ellipse Visualizer using MATLAB App Designer. To read more about it, check out here:

Ellipses and Eclipses

Note: due to security issues, I cannot directly embed the above MATLAB App onto the web page. Instead, please feel free to download the application onto a Windows machine. No MATLAB installation is required. You may directly download the EllipseVisualizerApp.zip if you have MATLAB R2024a Runtime installed, or download the EllipseVisualizerInstall.zip if you require MATLAB Runtime, as the installation will automatically install the runtime along with the application.

Alternatively, please use this link to open the app install file on MATLAB Online (free of charge). Once opened, click on the ".mlappinstall" file to install and see the Ellipse Visualizer on the "Apps" tab!

Ellipse Visualizer in MATLAB Online

Binary Entropy Calculator

Formula Used:

\begin{equation} H(X) = -p\log_2(p) - (1 - p)\log_2(1-p) \end{equation}

Notes on limits:

\begin{equation} \lim_{p \to 0} p \log_2(p) = 0 \end{equation}

Click here to use app

Convolutional Code Decoder

I created a simple Convolutional Code decoder using the Viterbi Algorithm (essentially breadth-first search on minimal-cost path) implemented using Java through Object-Oriented Programming.

Github Source Code

Reference: Convolutional Code

High School STEM Outreach: Signal Processing

I was an ambassador for University of Toronto's High School Outreach Event in May 2016. I presented to aspiring high school students about our communication and signal processing lab at the university. I created a demo using MATLAB to illustrate how signal processing helps to make modern communication possible.

Details overview: Using a matched filter to process the signal to decrease bit-error rate while decoding a 4-PAM signal. The transmitted signal shown is subject to SNR = 10dB.

Pulse Amplitude Modulation--MATLAB code Zip File Here

Apps for experimenting with human ergonomics

In October 2015, I assisted Prof. Paul Milgram of Ergonomics in Teleoperation and Control (ETC) Lab at University of Toronto's Department of Mechanical and Industrial Engineering in creating three MATLAB Applications for one of his human ergonomics courses. The purpose of those applications was for students to conduct experiments documenting human behavior given specific sets of visual cues. You may find the inner-workings of those apps in my Github, as listed below.