Estimating Models Using Frequency-Domain Data

1 view (last 30 days)
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.

Accepted Answer

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
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.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!