主要内容

规模

标度二阶截面

描述

量表(sysobj缩放双二次系统对象™,sysobj,使用峰值幅度响应缩放(l -∞,“Linf”).当过滤器对象在定点算术模式下操作时,这种缩放减少了溢出的可能性。

sysobjnew=规模(sysobj生成一个新的过滤系统对象,sysobjnew,用缩放的二阶截面。原始的过滤系统对象,sysobj,是不变的。

量表(sysobjpnorm指定用于缩放筛选器的规范。的变量pnorm可以是离散时域范数,也可以是频域范数。有效的时域规范为“l1”“外语”,“linf”.有效的频域规范为“L1”“外语”,“Linf”.注意l2范数等于l2范数(Parseval定理),但其他范数则不成立。

不同的规范可以按照严格程度排序如下:'l1' >= 'Linf' >= 'L2' = 'L2' >= 'l1' >= 'Linf'

使用最严格的缩放,“l1”时,滤波器最不容易溢出,但信噪比也最差。Linf-scaling是实践中最常用的缩放方法。

量表(sysobjpnorm选择使用选项对象指定可选伸缩参数,而不是指定参数-值对。的选择对象可以使用scaleopts功能:Opts = scaleopts(sysobj)

例子

量表(sysobjpnorm名称,值指定一个或多个可选的缩放参数名称,值对参数。

例子

全部折叠

方法演示双方滤波器的linf范数缩放规模函数。

Fs = 8000;Fcutoff = 2000;[z,p,k] =黄油(10,Fcutoff/(Fs/2));[s,g] = zp2sos(z,p,k);Biquad = dsp。BiquadFilter (“结构”直接形式I...“SOSMatrix”年代,“ScaleValues”g);规模(biquad“linf”“scalevalueconstraint”“没有”“maxscalevalue”, 2)

输入参数

全部折叠

输入筛选器,指定为以下系统对象之一:

例子:Biquad = dsp。BiquadFilter (“结构”,直接形式I,...'SOSMatrix', s,'ScaleValues', g);

的有效时域范数pnorm“l1”“外语”,“linf”.有效的频域范数为“L1”“外语”,“Linf”.的“外语”Norm等于“外语”范数(根据Parseval定理),但这种等价性并不适用于其他范数-“l1”不一样吗“L1”而且“Linf”不一样吗“linf”

过滤规范可以按照严格程度排序,从最严格到最不严格如下:“l1”“Linf”“外语”(l2)“linf”.使用“l1”最严格的缩放,产生的滤波器溢出的可能性最小,但具有最差的信噪比性能。默认缩放“Linf”(默认)是最常用的缩放规范。

您可以创建fdopts.sosscaling对象,选择,使用scaleopts函数。

的属性下表所示选择

参数

默认的

描述及有效值

sosReorder

“汽车”

在缩放之前重新排序部分。

有效选项为“汽车”(默认),“没有”“了”“下来”低通滤波器的“高反差保留”“带通”,“bandstop”

MaxNumerator

2

分子系数的最大值。

NumeratorConstraint

“没有”

指定是否以及如何约束分子系数值。选项是“没有”(默认),“单位”“正常化”,“警察乙”

OverflowMode

“包装”

设置过滤器在缩放期间处理算术溢出情况的方式。有效选项为“包装”(默认),“饱和”,“satall”

ScaleValueConstraint

“单位”

指定是否约束筛选器比例值,以及如何约束它们。有效选项为“单位”(默认),“没有”,“警察乙”

MaxScaleValue

“不习惯”

允许的最大刻度值。过滤器应用MaxScaleValue仅在您设置时限制ScaleValueConstraint到一个值以外单位.设置MaxScaleValue值自动更改ScaleValueConstraint设置为没有一个

例子:选项= scaleopts(双头)

名称-值参数

的可选逗号分隔对名称,值参数。的名字参数名称和价值对应的值。的名字必须出现在引号内。您可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:[z,p,k] =黄油(10,2000/(8000/2));[s,g] = zp2sos(z,p,k);Biquad = dsp。BiquadFilter (“结构”,直接形式I,“SOSMatrix”,s,'ScaleValues',g); scale(biquad,'linf','scalevalueconstraint','none','maxscalevalue',2)

在分析时使用的算术类型,指定为之一“双”“单一”,或“固定”.当算术输入未指定且过滤器System对象处于未锁定状态时,scale方法假设使用双精度过滤器。如果System对象被锁定,则该函数根据锁定的输入数据类型执行分析。如果“算术”“双”“单一”属性的输入时,默认值将用于所有未指定的伸缩选项规模函数。如果“算术”“固定”,用于伸缩选项的值根据过滤器System对象中的设置设置。但是,如果指定的伸缩选项与sysobj,此选项用于缩放目的,但不会更改其中的设置sysobj.例如,如果没有指定“OverflowMode”缩放选项,规模方法假设“OverflowMode”等于OverflowAction过滤器对象的属性。如果指定了“OverflowMode”缩放选项,然后规模方法中的值都使用此溢出模式值OverflowActionSystem对象的属性。

在应用缩放之前,重新排序过滤器部分。可能的选项:

  • “汽车”

  • “没有”

  • “了”

  • “下来”

  • 低通滤波器的

  • “高反差保留”

  • “带通”

  • “bandstop”

自动重新排序生效时sysobj是由设计使用得到的结果fdesign.这些部分将根据设计的响应类型自动重新排序。

分子系数的最大允许值,指定为正标量。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

约束分子系数值的方法,指定为下列之一:

  • “没有”

  • “归一化”

  • “警察乙”

  • “单位”

设置过滤器在缩放期间处理算术溢出情况的方式。如果您的设备没有可用的保护位,并且您正在使用饱和算法进行过滤,请使用“satall”而不是“饱和”.默认为“包装”

指定是否约束筛选器比例值,以及如何约束它们。选择“单位”的约束禁用MaxScaleValue属性设置。“警察乙”将比例值限制为2的幂,而“没有”移除对比例值的任何约束。“单位”为默认值。

允许的最大刻度值。过滤器应用MaxScaleValue仅在您设置时限制ScaleValueConstraint到一个值以外单位(默认设置)。设置MaxScaleValue为任何数值自动更改ScaleValueConstraint设置为没有一个

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

输出参数

全部折叠

缩放双二次过滤器对象,作为以下系统对象之一返回:

返回的对象包含按比例缩放的二阶部分。

参考文献

[1] Dehner, G.F.“噪声优化数字滤波器设计:教程和一些新方面”。信号处理.卷83,第8期,2003年,第1565-1582页。

在R2011a中引入