【问题标题】:How to fit low frequencies in octave using invfreqs?如何使用 invfreqs 在八度音阶中拟合低频?
【发布时间】:2013-10-30 10:41:15
【问题描述】:

我正在尝试使用八度音阶中的 invfreqs 从频率响应数据中找到传递函数。 原则上它是可行的,问题是得到的传递函数总是拟合最高频率,而低频率则匹配得很差。

尝试对拟合误差与频率进行加权是行不通的。我是不是做错了什么?

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);

这是我得到的结果:

对于分子和分母多项式的不同阶数,结果或多或少是相同的。高频匹配好,低频匹配不好。

对此我能做些什么?

非常感谢您!

亲切的问候 斯蒂芬

【问题讨论】:

  • 您是否尝试过将频率矢量限制在较低频率(例如小于 1,500 Hz)以进行拟合,然后检查它在整个频谱中的表现如何?

标签: matlab octave


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-22
    • 1970-01-01
    • 2014-11-06
    • 1970-01-01
    • 1970-01-01
    • 2020-12-31
    • 1970-01-01
    • 2014-01-14
    相关资源
    最近更新 更多