主要内容

规模

缩放二阶截面

描述

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

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

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

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

使用最严格的缩放,“l1”,该滤波器最不容易发生溢出,但信噪比也最差。线性缩放是实践中最常用的缩放方法。

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

例子

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

例子

全部折叠

演示双二次型SOS滤波器的linf范数缩放规模函数。

Fs = 8000;Fcutoff = 2000;[z,p,k] = butter(10,Fcutoff/(Fs/2));[sosMatrix, scalevalvalues] = zp2sos(z,p,k);sosFilt = dsp。SOSFilter(Structure=“直接形式I”分子= sosMatrix(: 1:3),分母= sosMatrix (: 4:6),HasScaleValues = true, ScaleValues = ScaleValues)
sosFilt = dsp。SOSFilterwith properties: Structure: 'Direct form I' CoefficientSource: 'Property' Numerator: [5x3 double] Denominator: [5x3 double] HasScaleValues: true ScaleValues: [0.0029 1 1 1 1 1] Show all properties
规模(sosFilt“linf”scalevalueconstraint =“没有”maxscalevalue = 2)

输入参数

全部折叠

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

例子:Biquad = dsp。BiquadFilter('Structure', 'Direct form 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设置为没有一个

例子:Opts = scaleopts(biquad)

名称-值参数

指定可选的参数对为Name1 = Value1,…,以=家,在那里名字是参数名和吗价值是对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来名字在报价。

例子:[z,p,k] = butter(10,2000/(8000/2));[s,g] = zp2sos(z,p,k);Biquad = dsp。BiquadFilter('Structure','Direct form I','SOSMatrix',s,'ScaleValues',g); scale(biquad,'linf','scalevalueconstraint','none','maxscalevalue',2)

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

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

  • “汽车”

  • “没有”

  • “了”

  • “下来”

  • 低通滤波器的

  • “高反差保留”

  • “带通”

  • “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中引入