Forum Discussion
Altera_Forum
Honored Contributor
17 years agoHi all,
Seems we are one step left. I did some playing on my Matlab code(posted earlier) and arrived at this conclusion: If Reciever I & Q are unitary(swinging +1) then the recovered symbols swing in the range .2 ~ .4 If Reciever I & Q are scaled as in hardware(swinging +32767) then the recovered symbols swing in the range .15 ~ .56(sort of). The conclusion is this: The information is in the remainder of division only and not in the quotient, the quotient is always zero. Thus this post should be about "How to recover information from remainder?" and not about rounding per se. I have two suggestions, I hope somebody will help by any contribution: 1) either read the remainder only and scale it to 16 bits. Ignore the quotient except watching for zero-crossing(due to noise ...etc) then saturate the remainder. or 2) scale the numerator by shifting n bits towards MSB inserting zeros. Then take the quotient and ignore the remainder and the rounding(adding 1 is trivial for 16 bit full representation). There is still the issue of "automatic scaling" as mentioned in the first document. Do they really mean it "automatic and variable" or do they just mean "scaling"