Estimate first order transfer function from Phase at Frequency

1 view (last 30 days)
John on 22 Mar 2022
Commented: Paul on 23 Mar 2022
What command would I use to estimate a first order transfer function (TF), from a known Phase at Frequency?
The TF is known order (first-order), known gain of 1 at DC, and monotically decreasing phase (ie only passes through a phase value once).
Let's say the given data point is a phase P at freq F (say, -45 deg at 100 Hz).
How would I programatically find the TF that includes this datapoint?
The TF should be unique, once the TF order, DC gain, monotically decreasing phase is assumed, and P&F are defined.
I looked at tfest using iddata, and other similar commands, but non are exactly what I'm looking for...

Answers (1)

Paul on 23 Mar 2022
Based on the problem statement can you write the symbolic form of a first order transfer function, H(s)? How many free parameters does H(s) have? Given that angle(H(1j*(2*pi*100)) = -45*pi/180 (example data from the Question), can you solve for the free parameter(s)? Don't make the problem more complicated than it needs to be.
Paul on 23 Mar 2022
Oh, well that's a bit different. Specifying the phase at a single frequency is not enough information to uniquely specify the parameters of an arbitrary n-th order TF, even with the stated constraints. The problem will require additional constraints or some cost that to be optimized among all TFs that satisfy the stated constraints. Additionally, I think it could be very tricky to define the constraints on the TF to enforce the monotonically decreasing phase for a general TF.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!