主要内容

invfreqs

从频率响应数据中识别连续时间滤波器参数

描述

例子

b一个] = invfreqs(hwn返回分子和分母的实系数向量b而且一个传递函数的h

b一个] = invfreqs(hwnwt加权拟合误差与使用频率的关系wt

例子

b一个] = invfreqs(___iter提供了一种算法,通过使用数值迭代方案搜索最佳拟合来保证结果线性系统的稳定性。此语法可以包括来自前一语法的输入参数的任何组合。

b一个] = invfreqs(___托尔使用托尔确定迭代算法的收敛性。

b一个] = invfreqs(___“跟踪”)显示迭代的文本进度报告。

b一个] = invfreqs(hw“复杂”,n___创建一个复杂的过滤器。在这种情况下,不强制对称,频率以-之间的弧度指定π而且π

例子

全部折叠

将一个简单的传递函数转换为频率响应数据,然后再转换回原始滤波器系数。

A = [1 2 3 2 1 4];B = [1 2 3 2 3];[h,w] = freqs(b,a,64);[bb,aa] = invfreqs(h,w,4,5)
bb =1×51.0000 2.000 3.0000 2.000 3.0000
aa =1×61.0000 2.0000 3.0000 2.0000 1.0000 4.0000

bb而且aa都相当于b而且一个,分别。但是,系统不稳定是因为aa具有实部为正的极点。查看两极bb而且aa

zplane (bb, aa)

图中包含一个轴对象。标题为Pole-Zero Plot的axis对象包含3个类型为line的对象。

的迭代算法invfreqs找到系统的稳定近似。

[bbb,aaa] = invfreqs(h,w,4,5,[],30)
bbb =1×50.6816 2.1015 2.6694 0.9113 -0.1218
aaa =1×61.0000 3.4676 7.4060 6.2102 2.5413 0.0001

通过绘制新的极点来验证系统是稳定的。

zplane (bbb, aaa)

图中包含一个轴对象。标题为Pole-Zero Plot的axis对象包含3个类型为line的对象。

生成两个向量,玛格而且阶段,模拟从实验室收集的星等和相位数据。同时生成一个向量,w,表示频率。

rng (“默认”) fs = 1000;T = 0:1/fs:2;杂志=周期图(罪(2 *π* 100 * t) + randn(大小(t)) / 10, [], [], fs);Phase = randn(size(mag))/10;W = linspace(0,fs/2,length(mag))';

使用invfreqs将数据转换为连续时间传递函数。画出结果。

[b,a] = invfreqs(mag.*exp(1j*phase),w,2,2,[],4);频率(b)

图中包含2个轴对象。Axes对象1包含一个line类型的对象。坐标轴对象2包含一个line类型的对象。

输入参数

全部折叠

频率响应,用矢量表示。

角频率h计算,指定为向量。

分子和分母多项式的期望顺序,指定为正整数标量。

数据类型:|

加权因子,指定为向量。wt权重因子向量的长度是否等于w

数据类型:|

搜索算法中的迭代次数,指定为正实标量。的iter参数告诉invfreqs在算法收敛到某个解时或之后结束迭代iter迭代,以先发生的为准。

公差,指定为标量。invfreqs将收敛定义为当(修改的)梯度向量的范数小于托尔

要获得所有1的权重向量,使用

invfreqs (h, w, n, m, [], iter, tol)

输出参数

全部折叠

传递函数系数,作为向量返回。将传递函数表示为b而且一个作为

H 年代 B 年代 一个 年代 b 1 年代 n + b 2 年代 n 1 + + b n + 1 一个 1 年代 + 一个 2 年代 1 + + 一个 + 1

例子:B = [1 3 3 1]/6而且A = [3 0 1 0]/3指定一个三阶巴特沃斯滤波器,归一化3db频率0.5πrad /样品。

数据类型:|
复数支持:金宝app是的

提示

在使用高频率构建高阶模型时,重要的是缩放频率,除以一个因子,例如中存在的最高频率的一半w,从而得到的良好条件值一个而且b.这对应于时间的缩放。

算法

默认情况下,invfreqs采用方程误差法从数据中确定最佳模型。这个发现b而且一个

最小值 b 一个 k 1 n w t k | h k 一个 w k B w k | 2

通过创建一个线性方程组并用MATLAB求解®操作符。在这里一个wk)),Bwk)为多项式的傅里叶变换一个而且b,分别在频率处wk),n频率点的个数(长度h而且w).该算法是基于Levi的[1].文献中已经提出了几种变体,其中加权函数wt较少关注高频。

高级(“输出误差”)算法使用阻尼迭代搜索的高斯牛顿方法[2],以第一个算法的输出作为初始估计。这解决了将实际频率响应点与期望频率响应点之间的平方误差加权和最小化的直接问题。

最小值 b 一个 k 1 n w t k | h k B w k 一个 w k | 2

参考文献

[1] Levi, e.c.“复杂曲线拟合”。愤怒的反式。有关自动控制.卷AC-4, 1959,第37-44页。

[2]丹尼斯,J. E., Jr.和R. B.施纳贝尔。无约束优化与非线性方程的数值方法。恩格尔伍德悬崖,新泽西州:Prentice-Hall, 1983。

版本历史

R2006a之前介绍