Estimate first order transfer function from Phase at Frequency

6 Ansichten (letzte 30 Tage)
John
John am 22 Mär. 2022
Kommentiert: Paul am 23 Mär. 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...

Antworten (1)

Paul
Paul am 23 Mär. 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.
  2 Kommentare
John
John am 23 Mär. 2022
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 am 23 Mär. 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.

Melden Sie sich an, um zu kommentieren.

Produkte


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by