MATLAB Answers

Estimating Models Using Frequency-Domain Data

3 views (last 30 days)
Mohammad Tauquir Iqbal
Mohammad Tauquir Iqbal on 14 Feb 2020
Commented: Star Strider on 14 Feb 2020
i have got frequency domain dta from the experiment in dB and phase. when i used ystem identifcation tool box it is not accurate .
can anyone suggest how to prceoeed.

  0 Comments

Sign in to comment.

Answers (1)

Star Strider
Star Strider on 14 Feb 2020
Do not use dB.
If you are starting with the idfrd function, note that the documentation states:
The 'ResponseData' property stores the frequency response data as a 3-D array of complex numbers.
Amplitudes in decibels are not complex numbers.
If you are using the iddata function, see the documentation section on Frequency-Domain Data . Note that for it ‘...the data, which consists of the complex-valued input-output frequency-domain data U and Y, frequency vector W, and sample time Ts.’
Again, amplitudes in decibels are not complex numbers.

  6 Comments

Show 3 older comments
Star Strider
Star Strider on 14 Feb 2020
Experiment with different numbers of poles and zeros. The data and the process that created them should give you some idea of what those should be.
A reliable way of estimating the number of poles in a signal is to plot the imaginary part of the Fourier transform of it as a function of frequency. It should produce as series of curves that closely resemble tangent functions. Every one of those (that is not due to noise, so only the more significant ones) is a pole.
Mohammad Tauquir Iqbal
Mohammad Tauquir Iqbal on 14 Feb 2020
is this code right ?
i tried with increased number of pole as well
Star Strider
Star Strider on 14 Feb 2020
It appears to be correct. I cannot tell from here.
Note that plotting the imaginary part of the Fourier transform will also let you estimate the number of zeros. Those are (obviously) the zero-crossings of that plot.
It is possible to have a pole or zero at the origin, and a pole or zero at infinity as well. You need to examine that plot carefully to be certain to detect them, and then include them if they exist.
Pole-zero cancellations should not exist in an estimated system. You can use the minreal function on the estimated system to be certain that they do not.

Sign in to comment.

Sign in to answer this question.


Translated by