1

我想使用tfestimateinvfreqz确定二阶线性系统中的系数。

理想情况下,它看起来像这样:

Nsamp = 2^16;  
t = linspace(0,100,Nsamp);  
x = square(t/30) + .1*randn(1,Nsamp);  

Num = 1;  
Den = [20 2 10];  
sys = tf(Num, Den);  

y = lsim(sys,x,t);  

[txy, phi] = tfestimate(x,y);  
[b, a] = invfreqz(txy,phi,2,0);  

通过这种方式,我希望 中的值b是对 中使用的原始值的良好估计Den
但是,我的价值观完全不同。如果我绘制系统的波德和tfestimate,我发现它们根本不接近。我试过摆弄tfestimate窗口类型和大小、采样频率、nfft 等中的所有设置,但我似乎无法得到准确的答案。
我不确定我对tfestimate频谱分析的了解是否足以正确调整它。或者,也许有更好的办法完全做到这一点,我没有意识到。

此外,我无权访问系统 ID 工具箱,因此我无法使用其中的任何内容。

4

0 回答 0