Archive for the ‘Kalimba’ Category

Multi-Purpose Macros for BC3 / BC5 Kalimba Processor

Tuesday, January 8th, 2008

I have been developing Bluetooth software for some time. Currently, I am using CSR (Cambridge Silicon Radio) chipsets which are BC3 (Kalimba) and the BC5 (elvis). They are coded in C and with fairly easy sample apps for common BT profiles. These chips also incorporate a powerful DSP that can be used to decode or encode MP3, AAC or SBC or any audio processing use.

As of this moment, there is no C compiler yet for these DSP chips so I have been programming all in assembly. Tough! But DSP instruction set is algebraic and fairly easy to understand. But as the code gets longer, it is difficult to read and debug. So I have made these Multi-Purpose Macros for BC3 / BC5 Kalimba Processor. I posted it here so everybody can use it and may help others.

Noise Cancelling DSP Algorithm using SCILAB

Friday, December 28th, 2007

Noise Cancelling DSP Algorithm using SCILAB Output GraphMost engineers/geeks should already know about MATLAB. It used for numerical analysis and processing. Poor Cebuano geeks, like me, cannot afford for a legal license to use it. I am into DSP (Digital Signal Processing) and I need it to test my algorithms first before burning it into the actual hardware to shorten the debug-cycle time. So I have choosen SCILAB, a free open-source MATLAB alternative. There are other alternatives such as OCTAVE but only works in CYGWIN or LINUX. I settle for SCILAB because I like its editor and GUI viewer. I am already proficient in MATLAB so moving to SCILAB is a breeze. SCILAB has few quirks but a quick google solved these.

So, I have developed this Noise Cancelling DSP Algorithm using SCILAB. This algorithm was used on a DSP add-on to a CSR BC3 Multimedia Bluetooth Processor for handsfree car kit application. This uses spectral subtraction to cancel the noise.

The process starts by getting 256 samples of the input signal and overlapping every 64 samples at a time. This is about 31ms for 8000 kHz sampling. The samples are then passed through a Hanning Window to …

Read more…