Phase shift between data and identified model using tfest

Hi, I'm struggling with the tfest function for model estimation. I'm usinf tfest to get a precise model from frequency data. When the phase is wrapped, my model is perfect in amplitude and phase for reasonably low order, by using a weighting vector and a moving average filter to smooth the response in high frequencies. But by plotting my Preprocessed data, my model and my raw data, I have a phase offset between my models. I know I can artificially remove it after the estimation or using the properties editor of the bode function and so on, but I need my model to be really accurate on the phase. My question is, is there a way to force the tfest estimation to fit the absolute value of the phase ?
Phase_offset_identification_raw_data_processed.PNG
On the figure, the phase of the raw data (orange), the phase of the preprocessed data (yellow) and the phase of the model (blue).

1 Comment

This phase shift seems to be created by the "bode" function. Almost each time I'm using it, I have a different absolute phase value. Is there any way to get the absolute phase value of a sys ? So I could use it to automatically correct the phase when exported with:
[mag,pha,~]=bode(sys,2*pi*f_ax);

Sign in to comment.

Answers (1)

Hi Romain,
did you already solve the problem? I'm having troubles with the same issue.

Asked:

on 5 Apr 2019

Answered:

on 7 Aug 2019

Community Treasure Hunt

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

Start Hunting!