# freqresp
网格频率响应
# 语法
[H,wout] = freqresp(sys)
H = freqresp(sys,w)
H = freqresp(sys,w,units)
[H,wout,covH] = freqresp(idsys,...)
# 说明
[H,wout] = freqresp(sys) 返回动态系统模型在 frequencies 处的频率响应。该命令根据 syswoutfreqrespsys 的动态自动确定频率。
H = freqresp(sys,w) 返回由向量 w 指定的实数频率网格上的频率响应 。
H = freqresp(sys,w,units) 显式指定 w 的频率单位。
[H,wout,covH] = freqresp(idsys, ...) 还返回已识别模型的频率响应的协方差 covH。
# 输入参数
sys
w
units
输入频率向量 w 中的频率单位,指定为以下值之一:
- 'rad/TimeUnit' - sys TimeUnit 属性中指定的每个时间单位的弧度
- 'cycles/TimeUnit' - 在 TimeUnitsys 的属性中指定的每个时间单位的周期数
- 'rad/s'
- 'Hz'
- 'kHz'
- 'MHz'
- 'GHz'
- 'rpm'
默认值: 'rad/TimeUnit'
idsys
任何已识别的模型
# 输出参数
H - 包含频率响应值的数组
如果 sys 是一个具有 Ny 个输出、Nu 个输入的单个动态系统模型,则 H 是一个 Ny * Nu * Nw的三维数组,其中 Nw 是频率点的数量,因此 H(:, :, k) 是 w(k) 或 wout(k) 的响应。
如果 sys 是一个大小为 [Ny Nu S1 ... Sn] 的模型数组,则 H 是 Ny * Nu * Nw * S1 * ... * Sn 的数组
如果 sys 是一个频率响应数据模型(如frd、genfrd或idfrd),对于落在 sys.frequency 定义的频率区间之外的 w 值,freqresp(sys, w) 将计算为 NaN 。freqresp 命令可以在 sys.frequency 中的频率之间进行插值。然而,freqresp无法在 sys.frequency 定义的频率区间之外进行外推。
wout - 对应于 H 中频率响应值的频率向量
对应于 H 中频率响应值的频率向量。如果你在 freqresp 的输入中省略 w ,命令会根据系统动态自动确定 wout 的频率。如果你指定 w,则 wout=w。
covH - 响应 H 的协方差
响应 H 的协方差。协方差是一个5维数组,其中 covH(i, j, k, :, :)包含从第 i 个输入到第 j 个输出在频率 w(k) 处的 2x2 响应协方差矩阵。这个 2x2 矩阵的 (1,1) 元素是响应实部的方差。(2,2) 元素是响应虚部的方差。(1,2) 和 (2,1) 元素是响应实部和虚部之间的协方差。
# 示例
计算系统频率响应
创建以下 2 输入 2 输出系统:
sys11 = 0;
sys22 = 1;
sys12 = tf(1, [1 1]);
sys21 = tf([1 -1], [1 2]);
sys = [sys11, sys12; sys21, sys22];
计算系统的频率响应。
[H, wout] = freqresp(sys);
H 是一个 2×2×109 的数组。每个条目是一个 2×2 的矩阵,表示在相应频率下的所有输入输出对的复频率响应。109 个频率是根据 H 的动态特性自动选择的。H(:, :, k) 表示在频率 wout(k) 下的 sys 的复频率响应。
在指定的频率网格上计算频率响应
创建以下 2 输入 2 输出系统:
sys11 = 0;
sys22 = 1;
sys12 = tf(1, [1 1]);
sys21 = tf([1 -1], [1 2]);
sys = [sys11, sys12; sys21, sys22];
在 10 到 100 弧度/秒之间创建 200 个对数等间距的频率点网格。
w = logspace(1, 2, 200);
在指定的频率网格上计算系统的频率响应。
H = freqresp(sys, w);
H 是一个 2×2×200 的数组。其中的每个元素是一个 2×2 的复数频率响应矩阵,H(:, :, k) 表示sys在相应频率 w(k) 下所有输入-输出对的频率响应。
# 更多内容
频率响应
在连续时间中,频率响应在频率 ω 处是传递函数在 s = jω 处的值。对于状态空间模型,该值由下式给出
在离散时间中,频率响应是评估在与实频率对应的单位圆上的点的传递函数。使用变换 freqrespw(1)w(N)
# 算法
对于传递函数或零极点增益模型,在指定的频率点上评估分子和分母。对于连续时间状态空间模型(A, B, C, D),频率响应为 freqresp
为了提高效率,A 矩阵被转换为上哈斯 enberg 形式,并在每个频率点上通过利用哈斯 enberg 结构来求解线性方程
# 替代方案
使用 evalfr 可以在个别频率或少量频率上评估频率响应。 freqresp 适用于中等到大量频率的向量。
# 参考文献
[1] Laub, A.J., "Efficient Multivariable Frequency Response Computations," IEEE® Transactions on Automatic Control, AC-26 (1981), pp. 407-408.