필터 지우기
필터 지우기

Fitting transfer function to amplitude phase data

조회 수: 9 (최근 30일)
Hari
Hari 2015년 3월 17일
댓글: Star Strider 2015년 3월 17일
Hello,
I have amplitude-phase (Bode) data from my experiment, which I have obtained by sweeping a range of frequencies. My system has the delay term exp(-Tau*s). I am looking to fit transfer function models of the form exp(-Tau*s)*(N(s)/(D(s)) to my data with the lowest possible order. Any help would be greatly appreciated!
Thanks and Regards, Hari

답변 (2개)

Star Strider
Star Strider 2015년 3월 17일
You are fitting a matrix (amplitude and phase) with your model, so the most appropriate function to use is the Optimization Toolbox function lsqcurvefit. Your objective function will have to produce two outputs (amplitude and phase) to match your data.
  댓글 수: 2
Hari
Hari 2015년 3월 17일
Hi Star Strider, Thanks for your answer. I will look into this.
Star Strider
Star Strider 2015년 3월 17일
My pleasure.
I hope it works for you.

댓글을 달려면 로그인하십시오.


Arkadiy Turevskiy
Arkadiy Turevskiy 2015년 3월 17일
편집: Arkadiy Turevskiy 2015년 3월 17일
Actually the function specifically created for this task is tfest from System Identification Toolbox. Take a look at the doc page and look at the section "Examples". For the lowest possible order, specify the number of poles =1, and number of zeros =0. If you do not get a good fit, try to increase the number of poles and zeros.
tfest takes your data as an input argument. Data has to be in the idfrd format. You will need to convert your mag-phase data to complex-valued response with something like this:
>>response=mag.*exp(i*phase);
  댓글 수: 2
Hari
Hari 2015년 3월 17일
편집: Hari 2015년 3월 17일
Thanks for your answer. I have tried 'tfest' by taking known transfer function models. But tfest really struggles to fit when the order is higher with big polynomial coeffiecients. I am expecting an order of 10 with big polynomial coeffiecients .
I tried 'fitfrd' which is slightly better, but still has problems at higher orders.
Hari
Hari 2015년 3월 17일
Now I am thinking of some sort of optimisation for best polyfit after specifying the order.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Transfer Function Models에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by