UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor algarcia
Visitor
2,783 Views
Registered: ‎04-25-2012

Using audio codec on ML506

Hi guys!

I'm trying to use the audio codec given in the Xilinx virtex 5 - ML506 board, which works with samples of 20 bits length. The problem is as follows:

 

My samples are 8 bits length so I have tried to play them by setting them on the more significant bits of the codec input (that's codec_input <= my_sample & "000000000000" ). But as result it plays the audio which It was supposed to play (in a understandable way) plus a significant noise.

 

I have read somewhere that the codec input should be filled with the sample, so I tried it by doing codec_input <= my_sample * "111111111111", but it worked in the same way.

 

The codec is working properly, i proved it playing samples of 20 bits length, but I need it to reproduce 8 bit length ones.

 

So maybe the question would be... Which is the best way to resample from 8 bit length to 20 bit?

 

If some of you have some advice or any suggestion... I would thank you very much.

 

cheers!

0 Kudos
1 Reply
Historian
Historian
2,775 Views
Registered: ‎02-25-2008

Re: Using audio codec on ML506


@algarcia wrote:

Hi guys!

I'm trying to use the audio codec given in the Xilinx virtex 5 - ML506 board, which works with samples of 20 bits length. The problem is as follows:

 

My samples are 8 bits length so I have tried to play them by setting them on the more significant bits of the codec input (that's codec_input <= my_sample & "000000000000" ). But as result it plays the audio which It was supposed to play (in a understandable way) plus a significant noise.

 

I have read somewhere that the codec input should be filled with the sample, so I tried it by doing codec_input <= my_sample * "111111111111", but it worked in the same way.

 

The codec is working properly, i proved it playing samples of 20 bits length, but I need it to reproduce 8 bit length ones.

 

So maybe the question would be... Which is the best way to resample from 8 bit length to 20 bit?

 

If some of you have some advice or any suggestion... I would thank you very much.

 

cheers!


Using your 8-bit data as the most-significant bits and padding the remaining bits to zero should work.

 

Things to check:

a) your 8-bit data needs to be signed (2's complement), not unsigned.

b) make sure you've got the time-slot assignments correct.

 

8-bit audio should be discernable and a bit noisy but not intolerably so.

 

----------------------------Yes, I do this for a living.
0 Kudos