Some projects I have led, or been involved in over the past few years
Digital linking project – multichannel highly spectral efficient MIMO wireless system
The STAR platform – 12x12 MIMO research platform
The X-Sat project – computation in Singapore's first satellite(?)
The PPU – parallel processing unit, a high reliability Linux cluster computer for space
The intelligibility of Chinese speech (and other languages)
ZION Mainframe: multiprocessing Octave –Beowulf Cluster
IEE Innovation in Engineering Award 2005
I was Principal Engineer of a group consisting of 12 engineering researchers, tasked with building a spectrally efficient narrowband wireless digital linking product. In fact we achieved an amazing 17 bits/second/Hz over 30km distances. Amazing because the system does not need to be line-of-sight (officially it is near-line-of-sight) and is in licensed spectrum with 1 Watt transmit power. This is a testament to the skills and dedication of my colleagues in Group Research at that time: Doug McConnell, Adrian Busch, Tom Scott, Andrew Jones, Kishore Mehrotra, Howie Shyh-hao Kuo, James Dowle, Dave Spalding, Prabath Kamalasena, Paul Holmberg, Iain Pow.
The drawing on the left shows the product concept. The system currently deployed with selected customers has a similar arrangement (but might not look quite so cool). My own view is that this should be used to provide remote connectivity to poor island communities in the South Pacific, and for setting up rapid-deployment communications links in the aftermath of a disaster.
The project was partly funded by NZ Government seed money, and undertaken in Group Research, the research arm of Tait Electronics Ltd (the largest electronics R&D company in the Southern Hemisphere), Christchurch, New Zealand.
The 12-channel arbitrary Tx/Rx communications platform built to test novel wireless configurations, with FPGA processing for STAR (Space-Time Array Research)
My role in this project, also conceived and run in Tait Electronics Ltd Group Research (and again partially funded by the NZ Government) was to be in charge of the digital processing on the platform.
At the time work on this platform was begun, Alamouti (STBC) space-time-block-coding was becoming popular, and the Bell Labs BLAST system had just been released. We had decided that we would like to investigate various types of STBC and MIMO (multi-in, multi-out) processing, however there was no test equipment available anywhere in the world at any price to do what we wanted... so in typical Kiwi innovative fashion we decided to build our own world-beating technology.
Worse was that we had no idea of the processing complexity of most of the algorithms we wished to implement, so we had estimates, but no upper bound, on the processing requirements of the platform. The solution was to slap down the worlds fastest DSP chip and the words most powerful FPGA on the platform and, just in case that wasn't enough, build in two 4-bit 2.1GHz communications interfaces so that digital processing boards could be daisy-chained ad-infinitum. The communications links were fast enough to convey almost full sample rate down-converted RF...
In a 2-year programme we taught ourselves VHDL, VLSI DSP programming, dual down conversion technology and advanced synthesiser and RF techniques and built this system. Some engineers spent the time reading over 500 papers on MIMO and STBC – in fact every published paper of repute in those fields.
When the hardware was ready, we were ready with algorithms too:
1. Time-Reversal Space-Time Block Coding (TR-STBS): we were the first to implement this time-based variant of the Alamouti technique (and still have 75% of published papers in this field to our name).
2. Single-Carrier Adaptive Multi-Variate Decision Feedback Equalized MIMO (SC-AMV-DFE-MIMO): again we were first to implement this excellent technique. There is no space here to talk about the results, but they were really quite cool.
3. OFDM-MIMO: OK we weren't first here, but we did have 107Mbits/second over air in non-line of sight at 2.45GHz 17MHz analogue channel in a 4x4 configuration.
Taking a glance at my publications, almost all of the wireless papers follow on from the work done on the STAR platform (and both Dr Kishore Mehrotra and Hawoie Shyh-Hao Kuo, my colleagues, also have other papers apart from those they co-author with me).
We also built a really cool time-slotted Aloha-style local-area digital mobile communications system which we demonstrated on the Tait Electronics Ltd campus – across maybe 1/2km distances. Unfortunately we ultimately failed to attract sufficient venture capital funding to commercialise it. Still we got 2 good patents out of this work.
The X-Sat (intended to be Singapore's first satellite, launched in around 2005)
My role in this project, began in about 1999 and ended in 2006. Originally I was a simple team member working on on-board computation, but later my involvement spiralled until I became the team leader for the OBC (on board computer), RAMDISK and PPU (parallel processing unit, described in the next section). When I left NTU in 2001 to emigrate to New Zealand, I took a one year break from the project before being called back in 2002 as a consultant. In all, from 2002-2006 I was hired 5 or 6 times by NTU School of Electronic and Electrical Engineering to travel back to Singapore and manage, contribute to, audit or discuss the satellite.
In 2006 the hardware component of the OBC was complete and working, controlling a flat satellite of components spread throughout the lab (connected with CAN bus), the RAMDISK hardware was complete but the software needed finishing, and the PPU (below) was proven in prototype form. With a change in project management, I therefore 'retired' from involvement in the project, but have been very happy to contribute time and expertise to them on an ad-hoc basis ever since.
The delay in launch from 2005 to approximately 2009 was/is due to issues involved when one of the government defence departments was 'linked in' to the project, and eventually took over control from the NTU team who built the satellite (led by Associate Professor Tan Soon Hie, who also designed Singapore's first satellite payload, The Merlion, which flew in 1999 and is still the director of the university centre which controls the satellite, but is effectively excluded from day-to-day involvement). The takeover was complete by 2006, at which point I left.
Still despite the poor ending, this work has been one of the things I am most proud of. I have played my part in the internal configuration of the satellite, the early orbit modes and failure checking mechanisms are my ideas, as are some of the operating modes. The OBC OS design using VxWorks and the software architecture were dreamed up by Deepak Mohan working with me, and the PPU is essentially all my work.
Still not launched yet, this is nevertheless an impressive piece of engineering, testament to the hard work of people such as A/P Tan Soon Hie, A/P Kandiah Arichandran, A/P Naga, A/P Chua Tai Wei, Sharon Lim, Bharath Ramesh, Deepak Mohan, Prakash, Shantanu Shukla, Vipul Gupta, Amod, Madhu, Mohit and others. Many of my publications have come from the extensive work I've put in on this project.
The PPU (Parallel Processing Unit)
This innovative computing system was first envisaged in discussions between myself and Professor Heiko Schroeder (now of RMIT Computer Science school). Sketching many designs out on the whiteboard in our offices, we finally hit on this configuration in 1999 and proposed it as the digital processing computer for the X-Sat satellite. Quite quickly I constructed a prototype processing node (PN). Acutally I have some web pages devoted to the original PN design here.
The idea was to plug in 20 of these PNs to a backplane and use FPGAs to arbitrate data communications between the various CPUs. The method of reliability through redundancy is used to ensure that even through the individual PNs themselves are not radiation hardened, there are so many of them that some will remain operational at the end of the design lifetime (3 years in space).
In fact, using reliability data in radioactive environments (to model the cosmic rays of space), we can calculate the probability of system survivability, and it is similar to a fully radiation hardened space computer. Except ours is 1/20 of the cost, weighs slightly less, uses ? of the peak power consumption and at launch has around 1000 times the processing power!
In 2005 the main 20-node prototype was designed and laid out by Stefan Lendnal in New Zealand, and constructed in Singapore. I then flew over and was contracted to get the system working by booting several PNs and demonstrating node-to-node communications.
This was difficult to say the least. There was no boot flash, so the FPGA had to provide boot code to up to 20 CPUs simultaneously requesting boot code, to also had to arbitrate communications between 20 asynchronous processors... a crossbar switch was ruled out due to the asynchronous nature. A very fast 16-bit interface between PNs and FPGAs was constructed (using a novel data/command discriminator on a 17th bit).
After working hard to solve the communications problems I built something called the time-slotted global backplane (TGB), which I published in a conference in 2006 as a token-ring style communications network between nodes. This is in effect a string-shaped parallel multiprocessing system, which is efficient for the type of image processing the the system needs to perform.
Of course I had to learn quite a lot of VHDL skills to do this.
Then, I ported Linux to the system and built both local boot code, and Linux applications to demonstrate the lower-level multiprocessing abilities of the hardware. Unfortunately that was the end for me: I passed the working Linux system on to Sharon Lim, who had helped with the development part-time (since she also had several other responsibilities) for the past few years. She has now had a second generation board also designed and laid out by Stefan Lendnal. This board looks really great- much better than the first prototype shown below.
I would also like to acknowledge Dr Timo Bretscheider who was co-team leader of this project with me for probably most of the last 3 years. His responsibility was the image processing software (and he had some great stuff ported to the architecture for image compression, segmentation and scene interpretation).
My PhD and preceding three years industrial work were in areas related to audio and speech coding. Since then I have never worked full-time in speech, but it has never been far from my interests and activities. As an academic, most of my papers have been in other fields, but I still maintain a few speech projects each year.
In 1999 I co-developed the worlds first speech intelligibility test for Chinese (since I had come across the English language DRT about 8 years previously and used it during my PhD which only considered English speech). Since then I have worked on developing and refining the intelligibility test materials and methodology for Chinese speech.
The table to the left from my latest published paper in IEEE Transactions on Audio Speech and Language Processing (January 2008), shows the raw test material for the Chinese language intelligibility test tonal component (there is another one for non-tonal phonemes). The paper includes all of the methodology and simple analysis involved in the testing.
There is a presentation here you can download that described the background experimentation that went into this. The presentation also makes clear that with a potential market size of 1 billion, it certainly pays telecommunications companies to think about how their products and systems impact Chinese speakers!
One day, when I was working in industry, my boss said to me "You researchers are doing lots of
MATLAB simulations that sometimes take days to complete. How can we make these quicker?"
So the end result was that I built a Beowulf cluster, with fast ethernet, a RAID-5 disk array for storage, built a custom kernel with MPI (message passing interface) support, compiled Octave with MPI support and had a very fast Octave solution running across a cluster computer. Later I built a web interface so that windows users who were not happy teletting into a UNIX machine, could upload, download their jobs, plot their graphs, schedule, edit and control their multiprocessing simulations. My name for this monster was the ZION mainframe. Yes, I built it just after The Matrix came out!
The diagram on the left was drawn for a Linux Journal article describing how I used the ZION
Amazingly I built another Beowulf cluster after that. This was the PPU (see above). Just Google for "Ian McLoughlin Beowulf" and you can see something on this.