multiplying 16 bits words

Started by seba...@seareka.com April 9, 2008

I'm facing the following problem: (i use the C5416 which is not float)

I have to multiply two signed 16 bits words (let's say a and b).
So, 2^(-15)< a < 2^(15), 2^(-15)< b < 2^(15) result will be
2^(-30)< ab < 2^(30).
Thus, the result (axb) will be a double. The thing is that i would like a signed 16 bits because i'm doing a rifft of the result and because i'm working with 16 bits words.
So, I thought to normalize the result by dividing by 2^15. But it gives me a bad result after ifft.

Is there a simple way to do it?
Am i doing something wrong?