Estimate first order transfer function from Phase at Frequency

1 次查看(过去 30 天)
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...

回答(1 个)

Paul
Paul 2022-3-23
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.
  2 个评论
John
John 2022-3-23
Apologies, I'll clarify: this is for arbitrary N-order TF, since the 1st-O example is simple (as you pointed out).
I'm looking for a more general programmatic way to find what TF(s) could fit, with a defined phase/freq point.
Paul
Paul 2022-3-23
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.

请先登录,再进行评论。

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by