文档

invfreqs

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

语法

[b,a] = invfreqs(h,w,n,m)
[b,a] = invfreqs(h,w,n,m,wt)
[b,a] = invfreqs(h,w,n,m,wt,iter)
[b,a] = invfreqs(h,w,n,m,wt,iter,tol)
[b,a] = invfreqs(h,w,n,m,wt,iter,tol,'trace')
[b,a] = invfreqs(h,w,'complex',n,m,…)

描述

invfreqs逆运算频率.它找到了一个连续时间传递函数,对应于给定的复频率响应。从实验室分析的角度来看,invfreqs在将幅度和相位数据转换为传递函数时很有用。

[b,a] = invfreqs(h,w,n,m)返回分子和分母的实系数向量b而且一个传递函数的

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

谁的复频率响应是矢量形式给出的h在向量中指定的频率点上w.标量n而且指定分子和分母多项式的期望阶数。

的长度h一定和的长度一样winvfreqs使用连词(h)- w以确保适当的频域对称的实滤波器。

[b,a] = invfreqs(h,w,n,m,wt)对拟合误差与频率进行加权,其中wt一个加权因子向量的长度是否等于w

[b,a] = invfreqs(h,w,n,m,wt,iter)而且

[b,a] = invfreqs(h,w,n,m,wt,iter,tol)提供一种优越的算法,保证结果线性系统的稳定性,并使用数值迭代方案搜索最佳拟合。的iter参数告诉invfreqs在解收敛时或收敛后结束迭代iter迭代,无论哪个先出现。invfreqs将收敛定义为当(修改的)梯度向量的范数小于托尔,在那里托尔是可选参数,默认为0.01。要获得所有1的权重向量,使用

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

[b,a] = invfreqs(h,w,n,m,wt,iter,tol,'trace')显示迭代的文本进度报告。

[b,a] = invfreqs(h,w,'complex',n,m,…)创建一个复杂的过滤器。在这种情况下,不强制对称,频率以之间的弧度指定- - - - - -π而且π

例子

全部折叠

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

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)

的迭代算法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)

生成两个向量,玛格而且阶段,模拟从实验室收集的星等和相位数据。同时生成一个向量,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)

提示

在使用高频率构建高阶模型时,重要的是缩放频率,除以一个因子,例如中存在的最高频率的一半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之前介绍