Hello Saurabh,<br><br>2008/6/16 saurabh gupta &lt;<a href="mailto:saurabhgupta1403@gmail.com">saurabhgupta1403@gmail.com</a>&gt;:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
So, I have written fixed point codes in which all calculations are handled through fixed point. I have used the 16:16 notation for fixed point and used 32 bit integer to represent a fixed point.</blockquote><div><br>FWIW, when I wrote an embedded speech recognition engine, I used 16 bits for most of the data in the models etc. If you could manage to store values in 16 bits rather than 32, then I your memory requirements could be halved, and probably performance increase significantly, since the cpu to memory bandwidth would be lower, and I think that might be a performance bottleneck. However, it required careful tracking of what range of values were actually required in various stages of the algorithm.<br>
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> Multiplication and division procedures for fixed point are implemented through macros. As the project progresses, the stress will be given to optimize the codes <br>


more.</blockquote><div><br>I hope you won&#39;t have to do much if any division because division is quite slow. If there are variables you need to divide by, try storing 1/x instead of x, and then doing multiplication instead of division if you can manage that.<br>
<br>Good luck,<br><br>Erland<br><br></div></div><br>