Projects

Research directions, open-source software, and course work — newest and most substantial first.

Research

3 directions
C++Star

FLAMES

Flexible Linear Algebra with Matrix-Empowered Synthesis

FLAMES is a template-based header-only C++ library for Vitis HLS (high-level synthesis). This library is fully open source on GitHub.

Using modern C++ features, FLAMES provides template-based classes and matrix operations, which are optimized for hardware implementation efficiency.

The design and implementation of FLAMES are detailed in the paper Flexible High-Level Synthesis Library for Linear Transformations published at IEEE TCAS-II.

C++Star

mmCEsim

Millimeter wave channel estimation simulator

This is a millimeter wave (mmWave) channel estimation (CE) simulator for both experts and learners. The simulator features compressed sensing (CS) algorithms and reconfigurable intelligent surface (RIS).

Written in C++, mmCEsim exports user configurations of channel estimation schemes and ALG library into C++ code with the Armadillo library. The generated code can then be auto compiled and executed, and the results are automatically collected and analyzed, generating a simulation report.

A programming language ALG is designed in this project, for general algorithm definitions.

C++ · QtStar

Fractal Designer

Fractal video making software

This is a fractal video making software with a graphical user interface (GUI), written using C++ with Qt, and FFmpeg is bundled for video encoding.

A custom language FRD is designed, which is used to describe the fractal video configuration. Custom math functions can be defined in the language, enabling the user to create their own fractal formulae and video effects in a programmable way.

This is the final project for the freshman course 'Algorithm and Program Design (in C++)' (full marks), and is then further enhanced in 'Comprehensive Course Design of Computer Science' (A, highest rank).

C++ · QtStar

Dice Simulation

Dice physical simulator with a scripting language

Dice Simulation is a dice physical simulator, based on Qt, ReactPhysics3D and AStyle.

The DS script is developed to support customized simulation, which can be exported as a standard C++ script for simulation.

This was the 1st-place project of Physics II of Southeast University, the only project getting 4.5 out of 5 in the year!

PythonStar

PDF2PPT

PDF slides to PowerPoint, one vector graphic per page

Convert PDF slides to PowerPoint presentations (PPT). LaTeX users can easily convert the beamer slides in PDF to (non-editable) PPT. Each page of PDF is exported and then inserted to the PPT file as a vector graph.

LaTeX Templates

2 templates
LaTeXStar

SEU-ML-Assign

On CTAN since 2022

This is a LaTeX template for the Southeast University Machine Learning Assignment that can be easily adapted to other usages. This template features a colorful theme that makes it look elegant and attractive.

This template (defined as the seu-ml-assign.cls class file) is available on CTAN (Comprehensive TeX Archive Network), meaning it has been included in the official TeX distribution since 2022!

Love online editing and collaboration on Overleaf? Check out the template on Overleaf!

LaTeXStar

seuthesis2024b

SEU bachelor thesis template, class of 2024

This is the (unofficial) LaTeX template of Southeast University thesis for class of 2024 bachelors. It is crafted anew using LaTeX3, and follows the latest official guidelines and MS Word template in January 2024.

I also made a talk about the use of LaTeX in thesis writing, and the template was well received by the students.

Hardware

Bionic Manipulator Controlled by Sensor Gloves

IEEE CASS Student Design Competition winner, Region 10

The bionic manipulator system can be easily controlled via a sensor glove. The system consists of three modules: sensor glove module, bionic manipulator module and remote monitor module. The sensor glove module collects the information of user's finger state and gesture. After being processed, the information is sent out to the bionic manipulator module so that the bionic manipulator can move under the user's control. Moreover, an assistant device, remote monitor module can enable the user to control the manipulator remotely.

This is the winning project of 2021-2022 IEEE Circuits and Systems Society (CASS) Student Design Competition in Region 10 (Asia Pacific), and we make a live demo at the 2022 IEEE International Symposium on Circuits and Systems (ISCAS 2022).

VerilogStar

Dual-Mode PSK Transceiver on SDR With FPGA

Software-Defined Radio Experiment Course, 2023 Fall

This is a project for Southeast University Software-Defined Radio Experiment Course (2023 Fall), featuring BPSK/QPSK modulation and coherent demodulation.

There is also carrier synchronization (with a Costas loop), symbol timing synchronization (with a Gardner loop).

A packet-based communication with dynamic modulation configuration is also implemented.

VerilogStar

ARM Lite

Digital Logic and Computer Architecture, 98/100

It is a Verilog implementation of pipelined CPU extending ARM-LEGv8 (which is pipelined with hazard detection and forwarding).

This is the course project for 'Digital Logic and Computer Architecture' of Southeast University, which gets 98 out of 100.

SPICEStar

NGSPICE Simulation of CMOS Circuits

Fundamentals of VLSI Design, 2023 Spring

This is the course project for Southeast University Fundamentals of VLSI Design (2023 Spring), featuring the simulation of logic gates and SR latch using NGSPICE.

Comparisons of 8-input NAND gate with three distinct designs are investigated, and the clock controlled SR latch is also simulated to design appropriate MOS parameters.

The teacher prepared documents for us to use HSPICE. However, I ultimately chose NGSPICE, as it is open-source and cross-platform. I could do simulation with command line on my MacBook!

wqzhao.org

Yes, this website is also a project by me! The index page is modified based on React JS Resume Website Template. Now it has been heavily modified and customized, with the help from Claude Code.

Other Information

Check out my GitHub for additional open-source projects!

My favorite open-source license is the MIT License, which is permissive, as I want to make my software as accessible as possible, even for a commercial use. However, I also advocate the use of GPL, to extend the community of open-source software.