I am working with the SHARC 21364 EZ-Lite Kit and I am developing some audio fixed-point algorithms.
I am building on the Block Based Talkthru example. In this example, the input in the blockProcess function is an array of unsigned integers. Of course, since this is the output of the ADC, I suppose this is not really the case, but a representation convention since time-domain audio has both positive and negative values.
Searching in the forums I came across this post that suggests that the unsigned integers are actually two's complement (the sign is assumed in the representation and hence the unsigned C type). So I supposed the output of the ADC is a fixed-point number with 32-bits, no fractional bits and represented in two's complement? Is this the standard convention used by the compiler?
If I transform these numbers into sign-magnitude representation and also allocate some fractional bits and perform my calculations, I am somehow slowing down the processor? Is there an inherent support for two's complement only? Or is the performance of the equivalent assembly code after compiling irrespective of the representation I assume during programming?
Thank you for your time,