# How to determine number of poles or zeros in prony's method?

I would like to use Prony's method for signal modelling. I want to design a filter such that its impulse response is equal to the message signal. I use the function prony in MATLAB to calculate the filter coefficients whose unit sample response is equal to the message signal. Inputs of that function are number of poles and zeros and the message signal.

My aim is to send filter coefficients instead of message signal such that the signal can be reconstructed by using that coefficients in the receiver side. However, I am not sure about how to determine number of poles or zeros for that message signal.

• I think this is an interesting topic, but could you maybe actually ask a question? That would make it a lot easier to help you – by answering that question. You could, for example, explain what you've tried, and where you had problems, and then, we could help you with that! – Marcus Müller Jan 21 '17 at 15:32
• I expect to get less errors as I increase the number of zeros or poles. However,results are not as expected. It would be helpful if you could explain how it is expected to change according to the number of zeros or poles. – stine Jan 21 '17 at 17:18
• I can't really claim I fully understand your system so far – could you edit your question and add how you calculate the things you transmit, based on the "message signal", if possible, mathematically/algorithmically? – Marcus Müller Jan 21 '17 at 17:49
• I hope that gives you an idea – stine Jan 21 '17 at 21:07
• Slightly off topic but if you get time you might read "Time-Domain Synthesis of Linear Networks" which covers similar topics. As to your problem: you need to specify the frequencies, input and sampling, and the amount of error you are allowing for. These are essential for structuring a solution. I have always had success with Prony's method (with some fidgeting and matrix decompositions), but there is a lot of discussion on the web about other techniques for identifying poles/zeros and responses. My usage was always targeting poles/zeros on the real axis. – rrogers Jan 25 '17 at 14:49