3

I am trying to find a transfer function from frequency response data using invfreqs in octave. In principle it works, the problem is that the resulting transfer function is always fitting the highest frequencies, low frequencies are badly matched.

Trying to weight the fit-errors versus frequency doesn't work. Am I doing something wrong?

Hg = 10.^(mg/20).*exp(i*pg*pi/180);
wt(fgrps>1500) = 0;
m = 44;
n = 52;
[Bg,Ag] = invfreqs(Hg,fgrps,m,n,wt);

This is the result I get:

enter image description here

The result is more or less the same for different orders of the numerator and denominator polynomials. High frequencies are matched good, low frequencies are matched bad.

What can I do about this?

Thank you very much in advance!

Kind regards Stefan

4

1 回答 1

0

我的第一个赌注是,因为频域(为方便起见)最常以对数比例显示(并且从你的图中也为你)。因此,如果您适合,则该功能不会像您“想象的”那样适合,而是按比例缩放然后适合。在对数刻度上,更高的值更频繁地表示 -> 你的拟合度更好。

所以你应该做的是:找出应用了什么缩放,并尝试线性频率缩放。请记住,这也不是一个“好”的主意。所以试着找到一个频率向量,你需要接近并适应它。

于 2014-06-24T11:32:43.220 回答