The TransistoriZed logo should be here! But... curses! Your browser does not support SVG!

homelist of postsdocs about & FAQ

Photons hit Electrons!

New year, new initiatives! We (me, Desi and Lukasz) have started a new initiative, Photons hit Electrons.

We will try to maintain a post rate of ~ 6,7 posts/week blogging about various electronics/photonoics fundamentals we ususally face every day. Let's see how it goes :)

Date:Tue Jan 06 20:46:21 EET 2015


Injecting noise is not always a bad thing after all!

Back to basics Sunday with me desperately twisting my tongue while trying to show a demo of additive dither.

A large credit goes to Oscar, who helped me with the camerawork. We had to do this in three rounds, first roung my old PC passed out, the second round we managed squeeze-out a recording but the microphone was not on, finally the last round went somewhat better :)

Date:Tue Dec 14 22:07:23 GMT 2014


Mahler's first symphony truncated to 8-bits :)

Last weekend I went to an organized "Geek Out" event by the History of Science Museum. There was a classical music performance by an unusual orchestra. Yes, a set of 20ish Spectrum ZX 8-bit computers! Here is a video and pictures worth a million words:

A picture gallery of the orchestra follows. Here is the place to mention that I am trying out a new gallery generator script written in perl. :)


Date:Tue Dec 14 21:47:54 GMT 2014


OxHACK 2014

Last weekend I went to my first hackathon - OxHACK. I can honestly say that I have never been surrounded by so many computer scientists for a long time. It spent some 30ish pleasant hacking hours in a company of a three kind students.

For the given 24 hours of coding time we decided to create a tool which searches through academic papers in *.pdf format, extracts their introduction and conclusion sections. After extracting this data in ASCII, some natural language processing algorithms are applied to compress the sections in just a few sentences giving a smart summary of the work. We used an existing OCR reader written in python "texttopdf", some shell/sed processing (regexp deletion stuff) to clean up the converted ASCII text and the python Alchemy library for natural language processing for section compression. The engine was nicely wrapped into a webpage using Flask, and we also managed to use Mendeley's API to fetch pdf papers for processing from a Mendeley account.

Here is a short description of the project. It should soon be hosted on and we also plan on developing the engine further during our spare time, if any...

Picture from left to right, Josh, Rebecca, me and Keller.

Here is a picture of the team, we also got into the top 10 best projects at this hackathon! Here is the place to once again say, it was a pleasure to work with you guys!

Date:Tue Dec 1 22:35:21 GMT 2014


TDI CCD and TDI CMOS Signal-to-Noise Ratio and Dynamic Range

I was skimming through this paper from IEEE Transactions on VLSI Systems. In Section II A, the authors give a brief introduction on TDI CMOS image sensors and the basic SNR and DR dependence on the number of TDI stages $N$. What stoke me was their claim that the dynamic range of a CMOS TDI sensor decreases with the number of stages. While this holds for a CCD TDI image sensor, things stand completely different for a CMOS imager. This wrong statement is also my main motivation for this post.

1. SNR and Dynamic Range (DR) for a TDI CCD Image Sensor

In a CCD TDI imager, the pixel has to have a large full well capacitance in order to be able to hold the final accumulated output signal. Therefore, the CCD's full well has to be maximized in as to increase the dynamic range and avoid saturation/blooming problems.

Intuitively the signal-to-noise ratio would be equivalent to: $$SNR = 20log\Bigg(\frac{\sqrt{N}(i_{ph}t_{s})}{\sigma_{total}}\Bigg)$$ and the dynamic range of a CCD TDI sensor would be: $$ DR = 20log\Bigg(\frac{q_{fwmax}-(N i_{dc}t_{s})}{\sqrt{N}\sigma_{total}}\Bigg) $$ Therefore the DR would be limited by the charge handling capacity of the output CCD channel, which means that with a CCD we would like to have as large full well as possivle. One might observe that in the case of CCDs, the dynamic range would indeed be reduced with the increase of the number of stages due to the total noise addition at each stage. This however is not the case with a CMOS image sensor as we shall see soon.

2. SNR and Dynamic Range (DR) for a TDI CMOS Image Sensor

In a TDI CMOS sensor unlike CCDs, the pixel has to be designed only to handle the maximum full well capacity needed for the expected operating integration time per line.

As the integration time is low, the FW capacity can be low and the pixel constructed with high conversion gain. This also reduces noise (maximizes signal swing) and in some sense is relaxing the readout noise requirement, bar the fact that TDI in CMOS imposes tough (very low) noise requirements on the readout as the readout noise adds with the square root of the number time delay integration stages.

The signal to noise ratio as well as the dynamic range for a CMOS TDI sensor would therefore be: $$ SNR = 20log\Bigg(\frac{\sqrt{N}(i_{ph}t_{s})}{\sigma_{total}}\Bigg) $$ $$ DR = 20log\Bigg(\frac{N q_{fwmax}-(N i_{dc}t_{s})}{\sqrt{N}\sigma_{total}}\Bigg) $$ The total full well capacity equals to the sum of the separate pixel full wells $FW_{tot} = \sum\limits_{i=1}^n FW_{pix_n}$, so the total full well is practically only limited by the accummulators, which can be either implemented in the analog or digital domain. With digital accummulators the total FW can in general have no limits.

Date:Tue Nov 7 16:14:33 GMT 2014