ΣSigmaStudio Ask AI Русский Log in

Split one 32bit channel into two?

SigmaDSP & SigmaStudio chmed Jan 18, 2018 00:00 3 replies Original on forum ↗
Subscribe
chmed Question
Jan 18, 2018 00:00

I've an idea and I'm looking for some quick feedback on how feasible it is on SigmaDSP. I would like to feed a 32 bit signal into an input port. The deceptive part of this is that this "channel" would actually be carrying a 20bit signal and a separate 12 bit signal. Once in the DSP I want to split these apart and process them. Then I want to put them back together and send them out another port. Is there a straightforward way to do this?

12-bit

32 bit

DaveThib Reply
Jan 18, 2018 00:00

Hello chmed,

Which SigmaDSP are you using?

The Sigma300 and Sigma350 will be able to do this but it will take a little bit of bit-banging to do it. We do have cells to take a 32 bit word that contains two 16 bit packed words and split them up and another cell to pack them together but you will obviously not be able to use them.

Now I had worked out a way to split two 12 bit words using an ADAU1701. This will give you an idea of how it needs to be done. The good thing is that it will be a lot simpler on the Sigma300 since there is a cell to shift data left or right avoiding the need to multiply by 4 a bunch of times. Here is the post:

https://ez.analog.com/message/309973-re-multiplexed-12-bit-audio?commentID=309973#comment-309973

Now one thing to note is that you will have to change a setting in the input and output cells. The default is to accept 24 bit data and to run it through a circuit that truncates and extends the sign bit so you have to bypass that to get the raw 32 bit data.

So you right click on the input cell and select the data format. Then you will have a choice to select the 32 bit mode.

You will have to do the same for every output cell as well.

Dave T

2185.6d669bede44ba9d49316564346d883d4.jpg
2185.6d669bede44ba9d49316564346d883d4.jpg
2185.6d669bede44ba9d49316564346d883d4.jpg-279x363.jpg
2185.6d669bede44ba9d49316564346d883d4.jpg-279x363.jpg
chmed Reply
Jan 20, 2018 00:00

This would use either the 1452 or 1467. There's still a lot of other concepts that have to be worked out before looking at the DSP part of it. What kind of latency would this process incur? How about 24 of them at once?

Thanks,

DaveThib Reply
Jan 22, 2018 00:00

Hello chmed,

Processing 24bit audio through the core in the standard way will be no different then taking in the 32 bit packed word, unpacking it and then repacking it to send out. There will be no additional latency to do this. All of the processing completes during the current sample period. There still will be the couple of sample period delays for taking the sample from the input shift registers and sending it to the core and then from the core into the output shift registers. This does not count any delays in the DSP program itself of course. Delay lines, filters etc.

Dave T