本文介绍了如何利用MATLAB中的tfe函数进行系统辨识的应用方法,通过实例阐述了该工具在分析与建模过程中的便捷性和准确性。
MATLAB函数工具箱提供了tfe函数来实现基于经典谱估计的系统辨识功能。调用此函数的方式如下:
1. Txy=tfe(x,y,NFFT,Fs,window) 使用Welch平均周期图法,根据输入变量x和输出变量y来估计系统的传递函数。参数NFFT用来指定在进行快速傅里叶变换(FFT)时所采用的点数。如果x和y都是实信号且NFFT为偶数,则Txy的长度为NFFT/2+1;若它们是实信号而NFFT为奇数,那么Txy的长度就是(NFFT+1)/2;当x或y中至少有一个复信号时,Txy的长度则等于NFFT。参数window用于指定所采用的具体窗函数类型。需要注意的是,窗函数的长度必须与向量x相同。
2. [Txy,f]=tfe(x,y,NFFT,Fs,window,noverlap) 此调用方式除了提供传递函数估计之外,还会返回一个同样大小且一一对应的线性频率f数组。参数noverlap用于指定数据段之间重叠的样本数。
3. tfe(x,y,...dflag) 参数dflag指定了对输入变量x和y进行预处理的方式,其可选值包括:linear(去除加窗后的最佳直线拟合)、mean(移除加窗后信号中的平均值)以及none(不做任何额外的处理)。
4. tfe(…) 在没有输出参数的情况下调用此函数会在当前图形窗口中绘制传递函数估计的结果图。
以上提到的所有参数默认设置如下:NFFT=256;Fs=2;noverlap=0;window=hanning(NFFT);dflag=none。