Forums

Code Composer Studio Code for A Law MU Law implementation

Started by anup_navy April 18, 2011
Dear ALL
        I would be thankful to all if anyone can kindly guide me with the
coding of A Law and MU Law compander for TMS320C5510 in Code Composer
Studio. I have been stuck on this with quite a few days. Also if anyone can
please let me know whether some MATLAB code exists for DOA estimation using
Acoustic Vector Sensor where the inputs are pressure and particle velocity
from 3 axes.
Thanks and Regards
Anup


On Mon, 18 Apr 2011 06:45:26 -0500, anup_navy wrote:

> Dear ALL > I would be thankful to all if anyone can kindly guide me with > the > coding of A Law and MU Law compander for TMS320C5510 in Code Composer > Studio. I have been stuck on this with quite a few days. Also if anyone > can please let me know whether some MATLAB code exists for DOA > estimation using Acoustic Vector Sensor where the inputs are pressure > and particle velocity from 3 axes. > Thanks and Regards > Anup
I wouldn't know the best way to do this (other than 'google mu law and do what's sensible'). Have you checked the TI site for app notes? This seems like a pretty likely task for a DSP, and one that I would expect that would be app-noted. IIRC one of the Analog Devices 21xx parts had a mu-law and an A-law table burned into ROM for the user's convenience. -- http://www.wescottdesign.com

>> I would be thankful to all if anyone can kindly guide me with >> the >> coding of A Law and MU Law compander for TMS320C5510 in Code Composer >> Studio. I have been stuck on this with quite a few days. Also if anyone >> can please let me know whether some MATLAB code exists for DOA >> estimation using Acoustic Vector Sensor where the inputs are pressure >> and particle velocity from 3 axes.
> > IIRC one of the Analog Devices 21xx parts had a mu-law and an A-law table > burned into ROM for the user's convenience. >
The same also applies to TMS320C5510. Its serial port (McBSP) has built-in hardware support for mu-law and A-law companding, which is enabled by writing certain bits in Receive and Transmit Control registers. See more here http://focus.ti.com/lit/ug/spru592e/spru592e.pdf. -- Alexander
>Hi Alexander
The problem with McBSP configuration of the compander is that it works only when input stream is 8 bits. However i wish to pass a sign wave and do the companding and see the results. If you can guide me thru it then it wud be grt. Thanks and regards Anup
On 26.04.2011 9:39, anup_navy wrote:
> The problem with McBSP configuration of the compander is that > it works only when input stream is 8 bits.
8 bits is the size of the compressor output (and the expander input), which complies with A- and u-law definitions. See http://en.wikipedia.org/wiki/A-law_algorithm http://en.wikipedia.org/wiki/%CE%9C-law_algorithm http://en.wikipedia.org/wiki/Companding The width of the comperessor input data stream can be different, but the best results are obtained if it is 16 bits. The bit stream at the expander output is 14- or 13-bit left-justified within a 16-bit word, depending on the selected companding law.
> However i wish to pass a sign > wave and do the companding and see the results.
Did you mean a sine wave? My experience with companding is very limited, but AFAIK it is best suited for audio signals. What are you going to use companding for and what do you expect from it?
> If you can guide me thru it then it wud be grt.
Two of the links in the wikipedia article on u-law point to TI application notes describing both software and hardware implementations of companding in TMS processors. -- Alexander