Sunday, August 30, 2009

Fingerprint Recognition System

What led me to start to discover the field of Digital Image Processing? I think, strictly speaking, since undergraduate subject started. I was been thinking that many basic courses I studied like Advanced Engineering Mathematics, Signal and Linear SystemLinear Algebra, Elements of Engineering Probability & Statistics, Communication System and Engineering Electromagnetics. What do those used for? What important role do they apply to? I was wondering, so tried to search which field I would involve in among them. When the first semester went over, Jaskey talked me we can ask Dr. Lo for subject consultation. Dr. Lo proposed many fields we can take consideration. So we chose this and every thing just happened smoothly. And I realized those courses are the base. Each of them cannot be lacked.

I hope use this subject to be as a milestone to remember those teachers Ph.D. Rong-Chin Lo, Ph.D. Shing-Chern You and so on. Hope this can explore my discovery travel.

This subject concludes previous courses which play different roles as follow: 
SoftwareSectorization, Normalization, Gabor Filterization, Variance CalculationMatching 
TheoryFeature Extraction, Matching, Statistics 
DSP2D ConvolutionGabor Filters, Variance(Statistics)
MatlabFor proof of concept before implementation.
You can easily know this tech. I may keep updating this if have time. 
Basically I posted this is to let anybody who wants to know the gabor filter implemented to computer science, so this is just am example for fingerprint recognition
If you google the key words "cheng long adam wang fingerprint recognition system", you will find a lot of this, I posted this on the google for link firstly in the end of 2002, now there's a lot of people use it, I thought I got those knowledge from internet, then did a GUI program on Matlab; so just feedback to internet again. Someone has developed to a new one and based on my first version of GUI program and started to sell it couples years ago; I really don't like such a way. I hope here even if someone you want to get the source codes for your project, but please just respect all the contribution of spreading computer science conceipts not business thinking. Because one day you can find the truth back in the internet.

Saturday, August 29, 2009




很意外, 我沒想到經過幾年後, 為了一些事情結果要開始再畫畫囉!!! 這個南方四賤客, 是志鴻提供的很好範例, 經過腦力激盪, 想法越來越具體. 我要多看一下這種東西. 好興奮喔. 這裡是原來的官方網南方四賤客

Friday, August 28, 2009


還記得國中生時期, 學校總是會分班: 天啊!以成績分班!!! 雖然我國中那時一直成績表現很平庸, 真是~悲慘喔~那時的教育環境. 至今我已來至 0.65 個甲子. 快入土為安嚕~~~趕緊周遊列國去啊~

話說列子一日夢遊北市伯朗咖啡, 再與老相好相會; 忽覺人生已至此, 便立即神遊邀約六位絕頂聰明同學齊赴世界寰宇一周, 綜觀古今中外, 一探就境.


* 列子 老師: 周遊列國
* 搞不懂 同學:
* 話不停 同學:
* 教不會 同學:
* 玩不完 同學:
* 懶惰蟲 同學:
* 講不聽 同學:

Wednesday, August 19, 2009

COB, Chip On Board

I've worked on COB knowledge in this two weeks. I temporarely wrote some things here and let it reminded me to describe more introduction in details later. But this process is more info about wire bonding. You can take a quick look on it. Also can check it here in Chinese. Basically I visited three alumin wire COB vendors and one gold wire bonding ability vendor in Taiwan. Here's the fingers for that die.
After pcb is back, like this.

Because there are two sides of smt mounting; so firstly mount this side but using foil to block to prevent pollution from smt process like solder balls print and reflow. Must keep the paste pad clean for cob bonding.

After bonding wires, here is the pictures I took. [1] You can quickly check, it's amazing of them!!!


Saturday, August 15, 2009


工作之餘, 需要找個好地方放鬆一下身心. 這裡是我常去的地方. 台北縣裡有非常多的泳池, 反而離家最近的真的是最好的. 很慶幸啦.

Sunday, August 9, 2009

Donald Kwan Movies : 戲仍能看: 《極速緋聞 Scandal Makers》: 太可愛太好笑的三代同堂

Donald Kwan Movies : 戲仍能看: 《極速緋聞 Scandal Makers》: 太可愛太好笑的三代同堂

今晚看了這部戲, 我從頭笑到尾, 好久沒這麼痛快了, ㄏㄏ; 最近迷上了電影, 網路上發現這個 Blog 超喜歡, 推薦給大家囉, 戲真如人生, 有很多觀後感在裡面; 當然囉, 自己的感覺是最重要的.

我非常喜歡他的 Blog 抬頭 "人生要快樂... 40%來自與生俱來, 40%由自己去選擇, 餘下20%就是不斷有好電影可看... "......哈哈哈

Saturday, August 8, 2009

How to Design a Circuit with USB Host and Device Function

Before designing a circuit with usb host and device function, you may need to know your CPU's features about that if it supports OTG or two channels came with one channel is for Host controller and the other is for usb device (slave). In this article I assume that I am at second situation and also don't use a standard A type receptacle to get more space on pcba. So your device will have two receptacles(female) connectors. For which type we should use. Please check "Universal Serial Bus". But somehow it hard to completely understand especially on the eletrical features about host and device side.

So let's first see the most USB devices (slave) they come with mini-B receptacle(5 pins). Let's check their schematic mostly like below,

Figure 1. USB Mini-B receptacle

The pin 4 is marked as NC but it can be equal to as "ID" pin, any device can be served as USB slave device when this pin is pull down to "GND". And also many chargers they use Mini-B plug insertting this Mini-B receptacle to do bettary charge using pin 1.

Let's also see the most USB host devices they are designed with Standard A receptacle(4 pins) as following,
Figure 2. Standard A Type receptacle

So there's no ID pin on the standard A Type receptacle, this design is also popularly used at laptop or PC. This means any cable coming with standard A plug in one side inserts standard A Type receptacle will get VBUS +5V power from host source to the other end of cable. For example, see following cable;

Figure 3. A cable Mini-B/M to Standard A/M

This means that there's no connection(floating) from pin4 on Mini-B plug to Standard A plug inside of this cable.

How does OTG work
The USB On-The-Go standard introduces a new plug receptacle called micro-AB. It can accept either a micro-A plug or a micro-B plug. Micro-A Adapters allow for connection to standard-A plug type USB cables, as used on standard USB 2.0 Devices.
The OTG cable has a micro-A plug on one side, and a micro-B plug on the other (it cannot have two plugs of the same type). OTG adds a fifth pin to the standard USB connector, called the ID-pin; the micro-A plug has the ID pin grounded, while the ID in the micro-B plug is floating. The device that has a micro-A plugged in becomes an OTG A-device, and the one that has micro-B plugged becomes a B-device (see OTG). The type of the plug inserted is detected by the state of the pin ID .
Can USB OTG devices go backward compliant with USB2.0? Yes!

So let's see an example of Micro-AB receptacle circuit which is based on OTG design below;

Figure 4. Example for OTG design

Using a P-MOSFET to be as switch +5V for open and close operation. So if a micro-A plug has the ID pin grounded connected to the Micro-AB receptacle will let P-MOSFET turned on and +5V will go to VBUS; See as following,

Figure 5. An OTG A-device

Contrary to above, if a micro-B plug has ID pin floating, the P-MOSFET will turn off; so the output of P-MOSFET will have no voltage. But the net of VBUS will have +5V around from external host inserted. Also see as following,

Figure 6. An OTG B-device

If some chargers they use a Micro-B plug cable and try to charge an OTG B-device, it won't damage that device; because ID pin is floating inside of that cable. The operation is illustrated in figure 7.

Figure 7. External Power is Blocked

If A device with CPU doesn't support OTG but using two physical D-/D+ channels, 1 USB1.1 host controller and 1 USB 2.0 device. Thanks to OTG's backward compatibilty, we can use figure 1 for USB2.0 device design and use figure 6 for USB1.1 host design.

Currently varied adapters were produced for OTG applications;

Figure 8. Adapters

Designing this USB host or On-The-Go hosting applications, need to add one current limitation 5V at 500mA DC/DC Converter which fulfills to USB standard specifications. It's in front of switch.

Durability is the one of most important property, the Micro-USB receptacle are designed to allow up to 10,000 cycles of insertion and removal between the receptacle and plug, compared to 500 for the standard USB and Mini-USB receptacle.