Winnye and Fan
Thank you for your visit!

We are a Christian couple engaging in electronic engineering and education respectively. We built this site to share some of our experiences and researches related to our jobs, mainly on embedded systems, computer science and teaching English as a second language.

Besides, we share some materials of bible study and our interests. You are welcomed to raise any of your ideas about this site by e-mail.


The following research results are free to use as long as this web site ( is cited.

Fast Logarithm Converter for Fixed-point Numbers without Look-up Table
A fast algorithm computes the logarithm value to base 2 of any fixed-point numbers. The input value must be positive while the output value is a signed fixed-point number. Unlike the commonly used methods, look-up table is not required to reduce ROM size. It is suitable for being implemented by hardware in integrated circuits, or, by software in DSP or different kinds of MCU in which the ROM size is limited.

Midpoint Ellipse Algorithm
Midpoint ellipse algorithm is a method for drawing ellipses in computer graphics. This method is modified from Bresenham's algorithm. The advantage of this modified method is that only addition operations are required in the program loops. This leads to simple and fast implementation in all processors.

Solution to Saturn Puzzler
Saturn Puzzler is a 3-D puzzle produced by Mag-Nif. Here is the solution.

Data Compression Algorithm for Hand-held PDA
This paper presents a lossless data compression technique for the personal digital assistant (PDA). The requirements of compression method for PDA are mainly high compression performance and fast decompression speed. A new compression algorithm named statistical Lempel-Ziv (SLZ) is proposed. This compression algorithm may be viewed as a variant of LZ77 in conjunction with statistical method. In addition, a prefix entropy coding scheme is designed in order to eliminate the look-up table for decoding.

An Experiment on Transmission Line Effect
It is an experiment suitable for electronic engineering undergraduates. The aim is to investigate the characteristics of a low-loss transmission line. The characteristic impedance of the transmission line under test is obtained by the experiment. The capacitance and inductance per unit length can also be found. The students are required to understand the physical meanings of voltage reflection coefficient, voltage standing wave ratio, etc.

Freeware Download

Calendar with holidays
It is a general calendar that supports Julian calendar from 1-Mar-4 A.D to 4-Oct-1582 and Gregorian calendar from 15-Oct-1582 to 31-Mar-4000 A.D. It is so interesting that 10 days from 5 to 14 in October 1582 were missing. It was the month of change over from Julian calendar to Gregorian calendar in order to cancel the 10-day error due to Julian calendar.
This calendar also displays the holidays in the days that they fall on. A special feature of this calendar is that it can show the date of Easter in each year.

Coil Calculator version 1.2
This program is used to design wire wound inductors working at radio frequencies. The coil parameters are basically calculated by the well-known theoretical equation: L = µAN2 / l. This equation is valid when the coil is infinitely long. In practical cases, the inductance of a coil with finite length may be obtained by applying a correction factor to the equation. This has been done by Nagaoka in 1909. This program makes use of an approximation to the Nagaoka inductance given by Lundin in 1985 and calculates the inductance to less than 1% error. This program also gives you the values of resonant capacitance and Q factor. They are useful for designing tank circuits in radio applications.
1. Lundin, R., "A Handbook Formula for the Inductance of a Single-Layer Circular Coil," Proc. IEEE, Vol. 73, Issue 9, pp. 1428-1429, Sept. 1985.
2. Nagaoka, H., "The Inductance Coefficients of Solenoids," J. Coll. Sci., vol. 27, pp. 18-33, 1909.

Grandate version 1.0
Conversion from Gregorian date to Chinese date
It is a simple utility program to do date conversion from Gregorian date to Chinese date. For example, the Gregorian date of "8 Apr 2001" is input, the program will give you the equivalent Chinese date "15th day of the 3rd month in the year of Xin Si". The 15th day represents that the moon is full on that night. The year of "Xin Si" implies the year of Snake. The program supports the dates ranging from 3-Feb-1840 to 31-Dec-2050.
This program can also be downloaded from Simtel or Driver Guide

Master Mind version 1.0
Do you remember the era of 8088 computer platform running MS-DOS? This game was developed in that era. The game itself is nothing special. I just want to show how efficient assembly programming is. This program was written fully in assembly language. The program size was only 4 kilobytes.

香港中學文憑考試 @ 大考 (

We focus on the public examinations of Hong Kong and provide a platform for the candidates, teachers and parents to obtain useful information. The Hong Kong Diploma of Secondary Education Examination (HKDSE) is of paramount concern to secondary school students.

The following pages are in Chinese only.




Publication & Invention

Kwong, S. & Ho, Y.F., "A statistical Lempel-Ziv compression algorithm for personal digital assistant (PDA)"
IEEE Transactions on Consumer Electronics, Vol. 47, Issue 1, pp. 154-162, Feb 2001

Dictionary-based compression of melody data and compressor/decompressor for the same
U.S. patent: 7,507,897

Lambert M. Surhone, Mariam T. Tennoe, Susan F. Henssonow, "Statistical Lempel Ziv", Betascript Publishing, 7 Oct 2010. ISBN: 978-613-3-26036-8

Copyright (c) 1995-2012 Winnye and Fan. All rights reserved.