Where can I find information about how to implement IIR filters on micro-controllers? I am trying to implement an IIR filter on a LPC1769 (I don't know if it's relevant). I already have the H(z) so all the design part is prety much solved. What I am looking for is information about:


How to select an appropiate word lenght for the coefficients, acummulator, etc. 
How to select the most appropiate structure (parallel,cascade, direct forms, indirect forms....) (or some guidance at least)
Some understanding on how to avoid overflow (scalling the coefficients or signal)
A deeper explanation of the fdatool parameters than the one given in real-time digital signal processing.
etc....


I've been using the fdatool of matlab to play around with the quatization of the filter. But I don't know the implications of these or what they actually mean.

I've also been reading a few chapters of this book: real-time digital signal processing : implementations and applications sen m. kuo, but I am looking for more detail in these implementation aspects. So could you tell me of some book, application note, paper or whatever that explains these issues?

I am triying to implement an A-weighting filter (the transfer function is in the link). The application is mainly taking data from the adc, perform the A-weighting and taking the RMS value of this signal.
Here are 3 points that you must consider : 

1 - What is the minimal latency you can tolerate? This is important, as it's important to know whether to need process every sample as fast as possible or if you can perform batch processing which is typically more efficient but creates latency .

2 - No matter if you implement the IIR in fixed-point or floating-point, it is always a good idea to split the filter in sub-filters. This minimizes quantization issues that can occur even if you use double-precision arithmetic. One effective strategy is to cascade the filter in second-order sub-filters. Check out https://www.mathworks.com/help/signal/ref/sosfilt.html

3 - If you implement in fixed-point, it is a good idea to create a fixed-point model in Matlab/Python/Scilab/tool of your choice and compare it to the "ideal" floating-point filter before implementing it in your microcontroller.