 <p>the answer is YES and NO. it depends on the processed data dynamic range</p> <ul> <li>if you are processing numbers/signal in specified range then YES</li> <li>but if the numbers/signal has very high dynamic range then NO</li> </ul> <p>you should use more fixed point formats for different stage of signal processing</p> <ul> <li>for example ADC gives you values in exact defined range</li> <li>so you have to use fixed format such that does not loss precision and have not many unused bits</li> <li>after that you apply some filter or what ever the range changes</li> <li>so you need to get bound of possible number ranges per stage and use the best suited fixed point format you have at disposal</li> </ul> <p>This means you need some number of fixed point formats</p> <ul> <li>and also the operations between them</li> <li>you can have fixed number of bits and just change the position of decimal point...</li> </ul> <p>To be more specific then you need add the block diagram of your processing pipeline</p> <ul> <li>with the number ranges included</li> <li>and list of used operations</li> <li>matrix operations and integrals/sums are tricky because they can change the dynamic range considerably</li> </ul> <p>The real question always stays if such implementation is faster then floating point ...</p> <ul> <li>because sometimes the transition between different fixed point stages can be slower then direct floating point implementation ...</li> </ul>