![]() |
![]() |
| Projects usually begin with an investigation
phase, sometimes merging with prototyping.
This involves researching the problem, current solutions and areas of likely difficulty. If necessary this extends to simulations of systems and even, at times, mathematical modelling. The figure on the right shows the distribution of line spectral pair data, and comes from work conducted with Simoco Telecommuncations (who claim to the worlds largest private mobile radio company). This work was quite succesful - yielding a number of patents with Simoco concerning LSPs (such as international patent PCT\GB98\01936, or UK patent number 9814279.8 July 1997 "Method and Apparatus for Speech Enhancement in a Speech Communications System"). |
![]() |
![]() |
Further discussions with the client begin with a presentation of the
results of the investigative phase. Sometimes the initial phases
are funded seperately, and now discussions can continue on the cost of
the remaining development goals.
Plans of action and detailed timescales are agreeded. A close liaison with the customer ensures that the developed product meets the (often not fully revealed) requirements. Some customers require frequent project updates, usually associated with time-based payment. Other customers are happy to wait until delivery and product signoff. |
| Past projects have taken a number of forms from 100% software to 90%
hardware. Although not usually totally in hardware,
an exception is when using PLD or FPGA technology. One example is
the design on the right which implements the audio analysis and synthesis
filters from the MPEG layer 1 audio stanadard into Xilinx FPGA through
the medium of VHDL (this work was funded by Singapore Govmt AcRF no RG47/98).
For high-reliability or miliary projects I would normally recommend the use of Actel High Reliability (for space RadHard or Rad Tolerant) devices. For simple low cost designs, Altera or Lattice devices, and Xilinx for large complex designs. |
![]() |
![]() |
For fastest time-to-market, it is undoubtedly better to rely upon pre-designed
hardware and a stable OS. Once such combination is linux running
on something like the DIMM-PC from JUMP-tec (shown left).
This is a 66MHz AMD 486-based fully-fledged PC with (currently) up to 16MBytes of RAM and 16MBytes of flash-based hard disc. The image is approximately the real size. One problem is the lack of a floating-point unit. For one project, we developed an integer-only MP3 algorithm for a portable MP3 player, initially using linux on the DIMM-PC, but later to run on custom ARM hardware. |
| The image to the right is the top layer of a 6-layer PCB designed to
accomodate a 200MHz StrongARM CPU along with 4MBits of Atmel flash PEROM
memory and 4MBytes of zero-wait state DRAM.
This PCB has been designed with 3 totally different uses in mind; 1) as an on-board computer for Singapore's first locally-made satellite. 2) as a prototype audio detector for deaf users and 3) as a portable MP3 player and audio recorder. For the satellite, a zero-wait state FPGA implemented EDAC helps to alleviate SEE errors. Since the design carries with it no IPR constraints except those that we choose to impose, it can be slightly modified and reused in this way for different clients. |
![]() |
![]() |
Left shows an example protoype system from a project which we managed. This was publicised in the November 2000 issue of "Embedded Linux Journal". |
| With extensive experience in speech computation, We're at home with audio sytems - both software and hardware. The graph at the right shows the waveform of a simple speech utterance. From such information you can infer the speakers age, language, sex, speech disabilities. Of course you could also implement speech recognition or speaker recognition (see the speech processing investigation screenshot below). | ![]() |