Estimating Models Using Frequency-Domain Data
显示 更早的评论
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.
采纳的回答
Do not use dB.
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 个评论
i am using system identification app to generate the tranfer fucntion.
what i meant is i have experiemntal bode plot. i want to get tranfer fuction from these.
the bode data will always will be in dB and phase.
i am more interested in have accurate phase not amplitude.
changed accordingly still not accurate.
gain=10.^(Channel2MagnitudedB/20);
response = gain.*exp(1i*Channel2Phasedeg*pi/180);
Ts = 0.1; % your sampling time
w=FrequencyHz.*2*pi; %convert Hz to rad/sec
gfr = idfrd(response,w,Ts);
sys=tfest(gfr,2);
tf(sys)
[mag,ph]=bode(sys,w);
magdb=20*log10(mag);
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.
is this code right ?
i tried with increased number of pole as well
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.
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Filter Analysis 的更多信息
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
