I'm currently working in a project in which I use the coefficients of a IIR Elliptical digital filter (9th order) and the voice signal from a recording of my cellphone but I'm having issues finding the best Q format to work its implemenation, any suggestions? Till now I've been analysing which are the maximum and minimum values of those two sources in orden to determine which would be the biggest or smallest result from their product, is this a good approach to solve this problem? How can anyone determine the best Q format to work in a system?


You need to calculate the transfer function from your input to each individual state variable.

This depends A LOT on how you implement your filter: I strongly recommend splitting it in second order sections and using either Direct Form I or transposed Form II for each section. Section order and pole/zero pairing can also make a big differences. Unless you have a REALLY good reason not to, follow this recipe: https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.zpk2sos.html

Once you have your filter topology sorted out you need to calculate all the transfer functions from the input to the state variables and look at the frequency responses. At this point you can also play around with the individual section gains to make this as smooth as possible and manage outliers and peak frequencies.

Then you can pick the Q based on the maximum gain over all frequencies in each transfer function. Add another 3 dB of headroom for transients (sine waves are NOT the worst case signal).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.